,欢迎光临!
加入收藏设为首页请您留言
您当前位置:网站首页 >> 华中地区 >> 基于过滤器的Web访问模式挖掘-上海联兵环保免费电话:400-600-5030

基于过滤器的Web访问模式挖掘-上海联兵环保免费电话:400-600-5030

2011-09-13 15:11:40 来源:中国过滤器网 浏览:1

摘要:针对传统Web访问模式挖掘系统中用户识别和会话识别的复杂性和不准确性,该文提出了基于过滤器的Web访问模式挖掘系统。
它能够准确地识别用户和会话,为挖掘算法提供优质的数据。给出了日志过滤器的实现和部署,提出了Web访问模式的挖掘算法。目前该方法已经广泛地应用于科学数据库系统中。
关键词:数据挖掘;Web日志;访问模式;频集
1 概述
随着Internet的飞速发展,企业级的Web应用已经变得非常普遍。各种B2B、B2C和C2C站点使得企业可以在网络上采购世界各地厂商生产的产品,个人可以足不出户进行网上购物,也可以在网上开设自己的店铺。Web应用无处不在,它改变了人们生活的方方面面。在竞争日益激烈的网络经济中,只有赢得用户才能赢得竞争的优势。客户行为的电子化,使得收集每个用户的每个行为的数据、深入研究用户的行为成为可能。同时,数据挖掘技术的研究发展为分析和挖掘这些数据提供了理论基础[1]。Web应用服务器的日志记录了用户每次访问Web应用的信息,传统的做法是把Web日志经过用户识别和会话识别,使用相应的挖掘算法获得用户访问模式,然后对这些模式进行分析。分析的结果对企业具有重要的现实意义。
Web访问模式挖掘的一个主要任务就是获得用户浏览网页的模式,通过它可以了解用户在网站上的行为。传统的做法是:首先收集原始的Web日志,并对收集到的Web日志做数据预处理,然后应用挖掘算法来发现用户的浏览模式[2,3]。
数据预处理分数据净化、用户识别和会话识别几个步骤。由于网络的复杂性和用户访问的随机性,因此用户识别和会话识别是非常困难的。例如多个用户可能使用同一个代理服务器或者透明网关,这样服务器看到这些用户的地址都将是同一个IP地址;如果一个用户下线之后另外一个用户获得了这个用户的IP地址,并且也访问同一个站点,那么就很难区分这2个用户。一个会话是一个用户在Web站点上持续活动的一段时间,如何准确地把一个用户在Web站点上的活动分成不同的有意义的会话,也是非常困难的。通常会话是靠超时来控制的,用户超时之后认为是下一个会话,但是也有例外的情况,例如一个用户登录站点之后立即退出,然后再登录,这就应该看成是2次会话,而不是简单地根据超时看成一次会话。可见,传统的预处理方法很难为模式挖掘算法提供准确的数据。
本文提出了一种基于过滤器的用来发现Web访问模式的方法。这种方法利用Servlet规范提供的过滤器功能,在用户访问一个网页的时候截获用户请求,并获取用户和会话信息,然后写入数据库生成自定义日志。这种方法在用户访问的时候准确地记录了用户信息和会话信息,避免了传统方法用户识别和会话识别的不准确性,能够为访问模式挖掘算法提供准确的数据。挖掘算法可以根据实际需要从自定义日志数据库里面发现感兴趣的模式。
2基于过滤器的Web访问模式挖掘系统
2.1过滤器的概念
Servlet 2.3技术规范引入一种新的Web应用程序组件——过滤器[4]。过滤器位于用户和基层的Web应用程序之间,用于检查和修改二者之间流过的请求和响应。过滤器作为一种Web应用程序组件,可以传输或者修改用户请求与Servlet响应。它可以在用户请求到达Servlet之前对请求进行处理,也可以在响应离开Servlet之后修改响应信息。一次请求可能经过多个过滤器,这些过滤器形成了一个“过滤器链”,过滤器链的实现与维护工作是由Servlet容器生产厂商负责实现的。过滤器链中不同过滤器的先后顺序是在部署文件Web.xml中设定的。最先截获客户请求的过滤器最后才能截获Servlet响应信息。利用过滤器的这种特性,可以实现以前很难或者实现起来很复杂的功能。
在基于过滤器的Web访问模式挖掘系统中,可以利用过滤器的这种性质,截获用户的请求并从中获取用户信息,包括IP地址、用户的会话ID、请求的时间、请求的URL和请求参数等。
2.2系统结构
过滤器位于用户和基层的Web应用程序之间,可以截获用户的请求和响应信息。利用过滤器的这种性质,本文提出的基于过滤器的Web访问模式挖掘系统的结构如图1所示。在Web应用的过滤器链中,部署一个日志过滤器。这个日志过滤器用来获取IP地址、会话ID、请求时间、请求的URL和请求参数等用于挖掘的信息。日志过滤器把获取的用户信息保存到自定义日志数据库中。
由于在采集用户信息的时候就已经获得了用户会话信息,因此避免了直接挖掘传统日志所需要用户识别和会话识别的不准确性。挖掘算法可以直接作用于自定义日志数据库里面的表或者视图。
挖掘算法得到的模式经过进一步的模式分析最终得到合理模式。Web站点管理者可以参考挖掘到的合理模式,分析用户的行为,提出对Web站点的改进意见。

2.3过滤器的实现
过滤器类LogFilter继承了LogDatabase类,实现了Filter接口。LogDatabase类实现了数据库的连接、SQL语句执行和插入记录等方法,LogFilter类可以通过LogDatabase类提供的方法向数据库写入自定义日志。LogFilter类实现了Filter接口定义的doFilter()方法来获取用户信息,包括用户会话ID、用户IP地址、请求时间、用户请求的URL和请求参数等信息。通过调用LogDatabase提供的方法把这些信息作为自定义日志写入自定义日志数据库。过滤器的实现过程如下:

获得用户请求参数
获得其它需要记录的信息
调用LogDatabase类的方法把自定义日志信息写到数据库里面
转到过滤器链中的下一级过滤器}}
2.4部署过滤器
在创建了过滤器之后必须将它添加到部署描述符Web.xml中,这样容器才会将过滤器部署到Web应用中。首先是声明过滤器,它将过滤器的名字和对应的实现类进行映射,还可以通过设置初始化参数向过滤器传递一些初始化信息。然后使用filter-mapping标记将过滤器映射到一个URL模式。LogFilter的部署如下:

3 挖掘算法
Web访问模式挖掘的主要任务就是获得用户在网站上浏览的模式,通过它可以了解用户在网上的行为,这可以包括很多方面的内容。例如统计用户频繁访问的网页或者频繁提交的请求参数就可以知道用户对网站的哪些内容更感兴趣;挖掘用户频繁访问的网页的集合可以知道哪些网页同时被用户访问,这可以利用Agrawal等提出的关联规则挖掘算法Apriori5]来实现;挖掘频繁的用户浏览路径可以参考Srikant等提出的序列模式挖掘算法AprioriAll和AprioriSome[6],下面主要讨论如何从自定义日志数据库中发现频繁的用户浏览路径。
3.1基本定义
自定义日志数据库里面已经记录了用户会话的信息。日志数据库里面的一条记录包括:sessionID,IP地址,访问时间,请求的URL和请求参数等信息。sessionID相同的记录对应的是用户的一次会话,即用户在一次会话内所访问的URL的序列。下面给出这些信息的形式化定义:

持该序列的用户会话数和总用户会话数之比。
定义5给定一个自定义日志数据库,用户访问模式挖掘问题就是对于一个给定的最小支持度,在日志数据库中发现最大的序列,每一个这种最大的序列代表一个序列模式。所谓最大序列s就是不存在一个序列t,使得s是t的子序列。
3.2用户访问模式挖掘算法
序列的长度是序列中所含访问记录的条数,一个长度为k的序列称为k序列。由2个序列x和y拼接起来所形成的序列定义为x,y。将序列模式发现问题分解成以下几个步骤:
(1)排序:利用会话标识sessionID作为主关键词及用户请求的时间作为次关键词对自定义日志数据库进行排序。
(2)计算频繁记录集:所谓频繁记录集就是用户频繁访问的URL和请求参数的集合。首先给出一个最小支持度s,这一步发现所有支持度大于最小支持度的记录的集合。
(3)生成频繁序列:利用第(2)步计算出来频繁记录集,计算所有的频繁序列。一个频繁记录可以认为是一个长度为1的频繁序列,然后利用它来产生长度为2的频繁序列,再利用长度为2的频繁序列产生长度为3的频繁序列,直到不存在长度为k的频繁序列为止。这里利用了频繁序列的一个重要性质:如果一个序列是频繁的,那么它的子序列必然是频繁的。用于生成频繁序列的算法如下:L1=长度为L的频繁序列,即频繁记录的集合

4 结论与应用
Web访问模式挖掘是通过对用户访问Web站点的访问日志进行分析和挖掘,从中发现用户访问模式的过程。发现用户的访问模式对Web站点的经营者和管理者具有重要的现实意义。Web访问模式挖掘一般分为预处理阶段、挖掘算法实施阶段和模式分析阶段。其中预处理是整个过程第一个阶段,预处理的好坏直接影响到挖掘结果的好坏。预处理中最重要的环节是用户识别和会话识别。由于网络的复杂性和用户访问的随机性,因此判断不同的请求是否是一个用户在一次会话中的请求是很困难的。过滤器位于客户和基层Web应用程序之间,用于检查和修改二者之间流过的请求和响应。本文通过在过滤器链中部署一个过滤器用来截获用户的请求,获取会话信息,然后把挖掘需要的信息存到数据库中。这种方法能够准确地识别用户和会话,为运用挖掘算法获得更准确的挖掘结果创造了极好的前提条件。挖掘算法可以根据实际需要从自定义日志数据库里面发现感兴趣的模式。
科学数据库是中国科学院从1983年开始建设的一个大型综合性数据库群,是国内信息量最大、学科专业最广、服务层次最高、综合性最强的科技信息服务系统。本文提出的基于过滤器的Web访问模式挖掘系统已经广泛地应用于科学数据系统中,实际应用效果明显优于以前直接挖掘Web日志。

 

上海联兵环保科技有限公司
地址:上海市松江区工业区茸北分区茸阳路69号
总机:021-51691929
传真:021-57784244
免费电话:400-600-5030
技术支持:13641659499
E-mail:zhanglianbing@126.com
http://www.shlbhb.com

发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
赞助商链接
关于我们 - 联系我们 - 咨询联兵