|
职称论文发表 | 职称论文发表 专业提供:发表论文、论文发表、毕业论文、职称论... | |
住在汉口网 | 住在汉口网是一个专业提供汉口房产信息、车辆服务、生活服务、招... | |
职称论文网 | 职称论文网提供:发表论文、论文发表、毕业论文、职称论等服务。 | |
|
(淮北市有奖募捐委员会办公室 安徽 淮北 235000 )(安徽合肥工业大学工程硕士部 )
摘 要:本文研究了一种关于数据关联规则采集技术的用户个性化页面动态生成方案,此方案与当今网上已采用的一些方案相比,具有用户使用更加简单、细致的优点。
关键字:个性化 动态 ASP 点击 关联规则
近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是ASP和数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。整个个性化页面生成系统主要由使用Visual C++ 开发的关联规则采掘系统和利用ASP+IIS技术实现的个性化Web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户操作和根据关联规则表动态生成用户个性化Web页面。二者通过数据库服务器和Web服务器连接。
一. 技术综述
1、ASP与 IIS的结合
我们选择比较成熟的和先进的WinNT+IIS+ASP技术.它提供了强大的Web Computing功能和数据库操作功能。在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。现在我们利用IIS+ASP构成三层式Web结构(图略)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
2、利用ADO访问数据库。ADO是一种操作Microsoft所支持的数据库的新技术。在ASP中,ADO可以看作是一个服务器组件(Server Component),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。本文中个性化页面的实现便大量地用到了ADO技术。具体的操作步骤可以归纳为以下几步:①创建数据库源名(DSN); ②创建数据库链接(Connection);③创建数据对象;④操作数据库;⑤关闭数据对象和链接
二、个性化页面生成器系统的实现
作者在PC机上,WindowsNT环境下,利用IIS+ASP技术实现了个性化页面系统的Web服务器端各功能模块。具体ASP开发工具为Microsoft Visual InterDev 6.0,数据库采用Microsoft Access数据库。该服务器端生成器系统主要包括:用户注册/登陆;用户点击序列记录;根据用户规则表动态生成个性化页面。
1 、与数据库的链接。由于各模块频繁地与数据库打交道,如何与数据库链接就显得十分重要。前面我们已经提到,ASP采用ADO技术访问数据库,ADO允许多个访问共享一个链接,即仅需要一个Connection对象与数据库链接,就可重复不断地利用它访问一个数据库。本文仅用到一个数据库,名为WebcaipiaoDB,而且在第一个用户登陆时就要进行数据库操作,因此我们希望服务器开始便和数据库链接,所有对数据库的访问都使用这一链接,这样有利于提高服务器的效率。
2、页面的生成。个性化页面的动态生成是整个系统中最复杂的部分。其原理是,查找事先生成的用户关联规则表,若有关于当前TopicName的可用规则,则分离处理这些规则,得到需要显示的相关链接,利用它们组织生成一新的页面,该页面上的链接同样要具有记录用户点击并触发生成新的个性化页面的功能。这是一个类似递归的过程。如果关联规则表中没有当前可用信息,则返回事先存储于服务器上的缺省页面。当用户点击的主题被Record.asp记录下来以后,随即进入页面生成程序GenPage.asp,同时传递被点击主题TopicName。页面生成程序从用户Session中取回UserID,确定用户身份。然后根据该用户关联规则表,并结合主题层次树表决定需要显示的主题(链接),接下来组织生成页面。其中要处理的几个主要问题是:如何正确分解关联规则表达式?如何确定哪些主题需要被显示?如何组织页面?关联规则表达式的形状很不规整,但是我们发现其中有几个标志性的符号,如“==>” 、“{”和“,” ,它们可以看作各部分间的分隔符。这里采用了多个VBScript的字串处理函数对其进行分解。首先从关联规则表中找出所有“==>”左边含有当前被点击TopicName的表达式,然后逐一分离出“==>”右边的相关主题,由于并不是每一个与当前TopicName关联的主题都要被显示(我们只希望显示那些处于当前TopicName所处层次以后层次的相关主题),我们分离出一个马上判断其是否应该被显示,并自动记录下用户访问过的主题的层次结构信息。从“==>”右边分离出的主题有可能重复,比如当前TopicName为A,且存在关联规则表达式{A,B}==>{D}和{A,G}==>{D,E}则D会被分离出两次,若分离出立即显示则有可能将D显示两次,同一页面上出现两个相同的主题(链接)是我们不希望看到的,因此,这里将需要被显示的主题保存到一个用户临时表Temp中待处理。用户Temp表的命名规则为UserID+“_Temp” ,如1_Temp,该表只含一个属性,即TopicName。页面生成后,Temp表将被删除。接下来要做的是根据用户Temp表内容组织页面。这里采用如下方法取回待显示主题:sql="select distinct TopicName from " ;sql=sql+UserID ;sql=sql+"_temp" ;set rsList=Application("g_dbConnection").execute(sql) 。由于使用了distinct参数,取到数据对象rsList中的主题不存在重复。再利用html语言将rsList中的主题按每行一个的格式显示。每个显示主题的链接由语句href=“record.asp?TopicName=<%=rsList("TopicName")%>”确定,其中<%=rsList("TopicName")%>的值为该链接的TopicName字符串。这样,生成的个性化页面便也具有了记录用户点击和触发生成下一页面的功能,使“记录--动态生成页面”这一过程能够循环反复地进行。
到此,我们已生成了具有用户个性化的页面,但是我们不应该剥夺用户访问缺省页面的权利,于是,在页面中加入了指向该页大标题(即用户之前点击的TopicName)下的缺省页面的链接。做法是,从主题信息表TopicInfo中查找到该页大标题的缺省页面地址(URL),在先前生成的页面中添加“All contents”项,其链接由href=“<%=TopicURL%>”决定,其中<%=TopicURL%>的值即是该缺省页面地址。
影响个性化页面质量的一个重要因素是站点管理人员在采掘主题关联规则时输入的支持度阈值minSup和置信度阈值minConf。支持度阈值和置信度阈值越大,则用户关联规则表中规则越少,产生的主题链接点就可能少,当支持度阈值和置信度阈值取得过大时,就可能找不到有效规则,系统将给出缺省页面。因此,在实际应用中,站点管理人员应选择适当的支持度阈值和置信度阈值,以产生合理的关联规则表,从而生成令用户满意的个性化页面。
职称论文发表网http://www.issncn.com
职称论文发表网http://www.issncn.com
|
|
|
|