基于后台数据库的个性化Web页面实现.docx
- 文档编号:7191592
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:26
- 大小:193.42KB
基于后台数据库的个性化Web页面实现.docx
《基于后台数据库的个性化Web页面实现.docx》由会员分享,可在线阅读,更多相关《基于后台数据库的个性化Web页面实现.docx(26页珍藏版)》请在冰豆网上搜索。
基于后台数据库的个性化Web页面实现
基于后台数据库的个性化Web页面实现
摘要
20世纪末,随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。
个性化已逐渐成为当今Web应用的潮流。
本文研究了一种基于数据关联规则采集技术的用户个性化页面动态生成方案,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、反映用户兴趣爱好更明显细致等优点。
本文中所做的主要工作如下:
(1)介绍了个性化页面的背景及WinNT+IIS+ASP系统的一般原理;
(2)阐述整个个性化页面生成系统的系统结构及工作原理;分析了系统实现中的特殊性、难点和重点。
(3)设计实现用户注册/登陆、用户数据采集、个性化页面动态生成-回显等程序模块;实现ASP和HTML页面45个。
(4)分析并解决实现中的若干技术问题;如。
。
。
。
(5)建立完整的实验网站,进行测试并分析结果。
关键字个性化动态ASP点击关联规则
Abstract
Attheendof20thcentury,Withthedevelopmentofcomputerscience,DatabasetechnologyiswidelyusedinInternetapplications.Thismakesnetworkuserscanenjoymoreconvenientandindividualservices.Personalizationisthetrendoftoday’sWebapplications.Inthiswork,westudythetechniquetoorganizethepersonalizedpagebasedonassociationrulemining.ComparedtosomecurrentlyexistentmethodontheInternet,ourmethodhasseveraladvantagessuchasgivingmoreconveniencetousersandreflectingusers’interestingmoreclearlyandprecisely.
Themainworkofthispaperare:
(1)IntroducesthebackgroundofthepersonalWebpageandthegeneralprincipleoftheplatformWinNT+IIS+ASP
(2)InvestigatesthesystemstructureandworkingprincipleofthegeneratingsystemforpersonalWebpage.
(3)Designsandimplementsthemodulesofpersonalpagegeneratingsystem,suchasregistermodule,loginmodule,userdatacollectingmodule,pageorganizinganddisplayingmodule.
(4)Analysesandresolvesthetechnicalproblemsinimplementation,suchas…..
(5)EstablishesatestWebsiteandanalysestheresultaftertestingonit.
KeyWordsIndividuationdynamicASPclickassociationrule
1.背景4
2.特殊技术困难7
3.ASP技术综述8
3.1ASP的产生8
3.2ASP与IIS9
3.2.1IIS简介9
3.2.2IIS与ASP的结合10
3.3ASP的内部特点11
3.3.1ASP内部6大对象11
3.3.2Global文件12
3.4利用ADO访问数据库13
3.5ASP与CGI的比较15
4个性化页面生成器系统的实现16
4.1与数据库的链接17
4.2用户注册/登陆系统18
4.3记录用户点击序列21
4.4页面的生成23
4.4.1关联规则表23
4.4.2页面生成24
5实验网站的建立及测试27
5.1DB&KESite站点的建立27
5.2性能测试29
6结束语32
致谢32
参考文献:
33
1.背景
Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。
作为Internet上一种先进的,易于被人们所接受的信息检索手段,WorldWideWeb(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。
据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。
近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。
我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。
这点启发了我们,如果能根据用户的喜好为不同的用户显示其个性化的页面,即着重显示该用户感兴趣的内容,将为用户节约大量的检索时间,而且这样的网页显然是更具有吸引力的。
一些站点已经在这方面作出了一定的尝试,通常采用的方法是,在用户登陆时为其提供一系列的选项,使用户能够对站点进行一些自主的设置。
这样做能够使站点呈现一定程度的个性化,但是对用户来讲,还是比较烦琐,而且在用户了解一个站点前让其对站点进行设置,其结果未免有些粗糙。
于是我们构想了这样一种方案,对用户登陆后的动作进行跟踪,分析,发掘用户点击的规律,即用户先后点击的关联规则,这样,在用户点击一个主题(链接)之后,系统能够自动生成一页面,其中包含了该主题下用户经常关注的内容(若干链接),这样便在无须用户作出任何额外工作的情况下实现了为用户量身订做的个性化页面。
(如图1.1所示)
图1.1个性化Web页面示意
要实现这样的功能,离不开后台数据库的支持。
用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。
本文中数据库服务器端采用了MicrosoftAccess数据库作为ODBC(OpenDataBaseConnectivity)数据源,并以先进的ADO(ActiveXDataObjects)技术进行数据库存取等操作,使Web与数据库紧密联系起来。
整个个性化页面生成系统主要由使用VisualC++6.0开发的关联规则采掘系统和利用IIS+ASP技术实现的个性化Web页面生成器两部分组成。
关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化Web页面。
二者通过数据库服务器和Web服务器连接。
整个系统结构如图1.2所示。
图1.2系统结构图
本文作者主要完成Web服务器端的用户注册/登陆系统、用户点击序列记录、各种用户信息表的动态生成、规则表的解析及个性化页面回显等功能模块的设计、实现与完善以及整个实验网站的组织建立和测试工作。
整个服务器端Web页面数为45,其中包括6个ASP功能页面,ASP处理程序经优化精简后约为500行。
2.特殊技术困难
我们已经提到,用户个性化页面是在用户登陆后浏览网页的过程中由服务器即时生成再返回给用户浏览器的,它事先并不存在于服务器。
显然单纯的HTML无法提供这种页面,必须使用具有运算功能的Web技术来实现。
在比较了现今几种动态页面开发技术后,我们选择了比较成熟和先进的WinNT+IIS+ASP技术。
它提供了强大的WebComputing功能和数据库操作功能(这将在第3部分详细介绍)。
在设计实现过程当中,还遇到一些特殊的技术困难,如何处理它们直接影响到生成页面的质量和服务器端的效率。
现将主要的技术困难及其解决思路介绍如下:
(1)采集用户信息。
用户访问的信息,即用户在站上的点击行为,是我们生成用户个性化页面的根据。
如何在不影响用户浏览的情况下记录下用户的每一点击呢,这里,我们使生成页面上的每一链点都链接到一个名为Record.asp的功能页面,并将该链点名称(亦即主题名,Topicname)作为参数传递,Record.asp只对该Topicname进行记录而不返回给用户浏览器任何内容,随即指向生成页面的程序,并同时传递Topicname。
第4部分将对此过程进行详细的叙述。
(2)链接数据库。
各功能模块中需要频繁的进行数据库操作,如果每遇到要使用数据库便建立一次链接将在一定程度上增大系统开销,我们这里有效利用了ASP的Global.asa文件,使服务器事先建立数据库链接对象,所有的数据操作都使用该链接,从而提高了服务器效率。
具体做法请参阅第3部分内容。
(3)可变的SQL语句
一个访问数据库的程序段,对于不同的用户以及一个用户的不同行为,要其执行的SQL语句是不同的,其不同主要表现在查询、插入或更新时的参数不同,于是我们将SQL语句定义为含变量的字符串,通过赋予变量不同的值便产生出适合的SQL语句串,再通过数据对象的相应方法来执行它,完成所需的数据操作。
这一方法的运用详见第4部分。
(3)对关联规则表进行解析
前面已提到,个性化页面的生成是基于用户关联规则表的,而该表的关联规则字段长度不一,项目个数也不定,必须找到一种有效的算法对其进行解析,分离出相关的Topicname。
这里,我们对关联规则的形式进行分析,组合使用脚本语言中各种字串处理函数,设计出高效的分解算法。
具体算法见第4部分。
(4)寻求合理的支持度阀值和置信度阀值
关联规则表的生成受支持度阀值minSup和置信度阈值minConf的控制,它们的取值是否合理将直接影响到生成页面的理想程度。
第5部分中对此进行了讨论。
由于在对大多数技术困难的解决中频繁用到了ASP技术的许多独特的性质和处理方法,这里有必要对ASP及相关技术的一些重要部分进行介绍,以便于对全文的理解。
3.ASP技术综述
3.1ASP的产生
近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推陈出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。
从HTML、ClientScript到CGI,从JAVA的诞生到ActiveX,Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了ActiveServerPages(ASP),一种用以取代CGI(CommonGatewayInterface,通用网关接口)的技术。
简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式Web服务器应用程序,如交互式的动态网页,包括使用HTML表单收集和处理信息,上传与下载等等。
更重要的是,ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。
使用ASP还有个好处,就在于ASP可利用ADO(ActiveDataObject,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本文选择ASP作为开发工具最重要的原因之一。
3.2ASP与IIS
3.2.1IIS简介
Wsb服务器是Web应用程序的心脏。
IIS(InternetInformationServer)是微软推出的WindowsNTOptionPack的主要成员,作为WindowsNT的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。
新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能。
3.2.2IIS与ASP的结合
在过去,客户机/服务器结构的设计与Web的相关技术几乎处于平行线上,两者相互独立并无法作出集成性的设计。
现在我们利用IIS+ASP构成三层式Web结构(如图2.1所示)的中间一层,将客户机/服务器结构与Web密切结合,完成前后端两者的集成输出功能,使得Web站点的开发更方便,实现的功能更强大。
利用IIS+ASP技术来集成Web前后端所带来的强大效益可归结为以下几个方面:
1.减少构建和维护成本
2.加快联机过程
3.应用软件集中在服务器端开发管理
4.前端可使用任何浏览器(IE、Netscape…..)
5.后端可存取任何数据库(SQL、Access…..)
6.可使用任何脚本语言开发(VBScript、JavaScript、PERL…..)
后端数据库
ActiveXServer元件
程序和计算逻辑
ActiveXServer元件
前端浏览器
图2.1三层式Web结构示意图
3.3ASP的内部特点
3.3.1ASP内部6大对象
ASP提供了6个功能强大的内部对象,每个对象具有各自的属性(Property)、方法(Method),有的还拥有数据集合(Collection)与事件(Event),它们共同完成Web中的一些重要工作。
这6个对象及其功能描述如表2.1所示。
对象名称
功能描述
Request
从客户端取得信息
Response
将信息送给客户端
Server
提供一些Web服务器工具
Session
储存在一个Session内的用户信息,该信息仅可被该用户访问
Application
在一个ASP-Application中让不同的客户端共享信息
ObjectContext
配合MicrosoftTransaction服务器进行分布式事务处理
表2.1ASP内部6大对象及其功能
合理地运用这些对象可以使原本复杂,烦琐的工作变得简捷而条理清晰。
我们可以用以下的语法直接使用这些对象:
对象.属性/方法/数据集合
3.3.2Global文件
每一个以ActiveServerPages为基础的应用程序都拥有一个Global.asa文件(ASA后缀名其实是ActiveServerApplication的缩写),它位于每一个应用程序的基点目录之下。
当ActiveServerPages做下面两个动作时,Server便会去读Global.asa文件:
1.WebServer启动之后,一个应用程序目录中任一个ASP文件被提出第一个HTTP请求(Request)时。
2.不具有任何Session的客户端向Server请求一个ASP文件时。
前面已经提到Application和Session这两个ASP的内部对象。
Application对象内的信息供所有正在执行该应用程序的用户分享,它创建于WebServer启动后一个应用程序中任一ASP文件被提出第一个HTTP请求时,结束于Server端停止运行。
而Session对象仅属于一位用户,维持一个用户端的信息,其他用户无法访问,它创建于一个不具有Session的用户向Server请求一个ASP文件时,结束于该Session到期(即用户端超过某时间段没有向Server提出要求或刷新Web页面)或Abandon语句的调用。
可见,Global.asa文件的调用与Application与Session这两个对象密切相关。
事实上我们通常在Global。
asa文件中写入以下内容:
1.Application或Session的开始事件(Start-event)。
2.Application或Session的结束事件(End-event)。
这样,在一个Application或Session对象被创建或结束时,系统会自动完成Global.asa文件中写入的相应事件。
值得注意的是,如果一个Application与一个Session同时开始,ActiveServerPages会先处理Application的开始事件,而如果一个Application与一个Session同时结束,ActiveServerPages则会先处理Session的结束事件。
3.4利用ADO访问数据库
ADO(ActiveXDataObjects)是一种操作Microsoft所支持的数据库的新技术。
在ASP中,ADO可以看作是一个服务器组件(ServerComponent),更简单点说,是一系列的对象,应用这些功能强大的对象,即可轻松完成对数据库复杂的操作。
本文中个性化页面的实现便大量地用到了ADO技术。
具体的操作步骤可以归纳为以下几步:
1.创建数据库源名(DSN)
2.创建数据库链接(Connection)
3.创建数据对象
4.操作数据库
5.关闭数据对象和链接
每一步的作法如下:
一、创建数据源名
DSN(DateSourceName)即数据源名称。
我们知道,ODBC是一种访问数据库的方法,只要系统中有相应的ODBC驱动程序,任何程序就可以通过ODBC操纵驱动程序的数据库。
比如我们系统中有Access的ODBC驱动程序,那么即使我们没有Access软件,也可以在我们的程序中对一个Access的MDB数据库加、删、改记录。
而且我们根本不用知道这个数据库是放在哪里的。
我们只要写出SQL语句,ODBC驱动程序就会帮我们做一切事情。
我们在给ODBC驱动程序传SQL指令时,即是用DSN来告诉它到底操作的是哪一个数据库。
如果数据库的平台变了,比如我们改用了SQLServer的数据库,只要其中表的结构没变,我们就不用改写我们的程序,只要重新在系统中配置DSN就行了。
由此可见,DSN是应用程序和数据库之间的桥梁。
二、创建数据库链接(Connection)
链接用以保持一些关于正在访问的数据的一些状态信息,以及链接者信息。
ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
setmConn=ServercreateObject(“ADOBDCONNECTION”)
这条语句创建了链接对象mConn,接下来:
mConn.Open“dsn1”,“vsername”,“password”
这条语句打开链接,用到了DSN,本例为“dsn1”。
其后的两个参数分别是访问数据库的用户名和口令,为可选参数。
以上两个步骤缺一不可,因为链接对象的创建与打开是两回事,只有打开了才真正可以使用。
三、创建数据对象(RecordSet)
ADO中的数据对象通常保存的是查询结果。
RecordSet是ADO中最复杂的对象,有许多属性和方法。
RecordSet保存的是一行行的记录,并标有一个当前记录。
以下是创建方法:
SetRecordSet=mConn.Execute(sqtStr)
这条语句创建并打开了对象RecordSet,其中mCon是先前创建的链接对象,sqtStr是一个字串,代表一条标准的SQL语句。
例如:
sqlStr=“SELECT*FROMtab1”
SetRecordSet=mConn.Execute(sqlStr)
这条语句执行后,对象RecordSet中就保存了表tab1中的所有记录。
四、操作数据库
我们通过调用链接对象的Execute方法来将查询结果返回给一个数据对象或进行插入、删除等操作。
例如:
sqlStr=“INSERTINTOtab1VALUES(1,2)”
mConn.Execute(sqlStr)
/执行插入操作
五、关闭数据对象和链接对象
在使用了ADO对象之后要关闭它,因为它使用了一定的服务器资源。
通过调用方法close实现关闭,然后再释放它。
RecordSet.close
SetRecordSet=Nothing
/关闭创建的数据对象
mConn.close
SetmConn=Nothing
/关闭创建的链接对象
3.5ASP与CGI的比较
CGI(CommonGatewayInterface,通用网关接口)也是Internet上一种功能强大的Web页面技术,其工作方式有别于ASP。
我们现对二者进行比较。
ActiveServerPages开发Web应用程序的特点:
1.完全嵌入HTML,与HTML、Script语言完美结合。
2.无须手动编译和链接程序。
3.面向对象,并可扩展ActiveXServer组件功能。
4.使用脚本语言(JavaScript、VBScript或PERL)编写。
5.存取数据库轻松容易(使用ADO组件)。
6.可使用任何语言编写自己的ActiveXServer组件。
7.无浏览器兼容问题。
8.程序代码隐藏,客户端仅能看到ASP输出的HTML文件。
9.缩短Web开发时间。
相比之下,使用CGI开发Web应用程序具有以下缺点:
1.不易与HTML文件集成。
2.须使用其他较复杂的语言来开发CGI程序。
3.程序开发时间较长。
4.存取数据库不容易。
5.每个CGI程序被不同用户执行时都得重新执行一次,并占去Server的一个端口(Port),降低Server效率。
可见,ASP在数据库访问、与HTML的集成、提高服务器的效率等诸多方面都优于CGI,更适应Web应用程序开发的需要,因此本文选择了ASP作为个性化页面生成器的开发工具。
4个性化页面生成器系统的实现
作者在PC机上,WindowsNT环境下,利用IIS+ASP技术实现了个性化页面系统的Web服务器端各功能模块。
具体ASP开发工具为MicrosoftVisualInterDev6.0,数据库采用MicrosoftAccess数据库。
该服务器端生成器系统主要包括:
1.用户注册/登陆
2.用户点击序列记录
3.根据用户规则表动态生成个性化页面
以下介绍了各功能模块的实现方法及一些特殊技术问题的解决。
4.1与数据库的链接
由于各模块频繁地与数据库打交道,如何与数据库链接就显得十分重要。
前面我们已经提到,ASP采用ADO技术访问数据库,ADO允许多个访问共享一个链接,即仅需要一个Connection对象与数据库链接,就可重复不断地利用它访问一个数据库。
本文仅用到一个数据库,名为WebsiteDB,而且在第一个用户登陆时就要进行数据库操作,因此我们希望服务器开始便和数据库链接,所有对数据库的访问都使用这一链接,这样有利于提高服务器的效率。
我们采用如下方法,首先在WinNT的控制面板的ODBC数据源选项中将We
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 后台数据库 个性化 Web 页面 实现