APP下载

基于高校图书馆Web日志挖掘的分析与研究*

2010-05-03程思祥雷

图书馆学刊 2010年5期
关键词:服务器端IP地址日志

程思祥雷 鸣

(1.长江大学图书馆;2.长江大学计算机科学学院,湖北 荆州 434023)

1 引言

随着Internet技术的发展,网络资源飞速增长,如何有效利用这些丰富的资源成为人们普遍关注的问题。数据挖掘技术和Internet应用研究的结合构成了当今比较活跃的一个研究领域——Web数据挖掘。要从海量的Web数据中获取有价值的潜在模式和隐含信息必须依靠Web数据挖掘技术。

与Web数据异质、分布、动态、无统一结构的特点不同,Web服务器日志结构比较完善,用户访问Web站点后会留下完整的记录。Web日志挖掘通过挖掘Web日志记录来发现用户访问Web页面的模式、挖掘有用模式和预测用户浏览行为[1]。

目前Web日志挖掘可分为两种方法[2]:①将Web服务器上的数据映射到关系数据库,选择合适的数据挖掘技术处理;②利用特殊的预处理技术直接处理日志数据,采用标准的数据挖掘技术来进行访问数据的挖掘。

2 W eb日志分析流程

2.1 数据选择

分析对象是长江大学图书馆的主页服务器日志数据,自2009年10月26日到2009年11月19日,日志文件共25个,大小为262M,共有1619085条记录。

Web服务器日志文件(Web Server Log File)记录了用户访问该站点时每个页面的请求信息。日志记录的格式主要分为两种[3]:通用型日志格式(Common Log Format,CLF)和扩展型日志格式(Extended Log Format,ELF)。笔者使用的数据属于W3C扩展日志格式,ELF日志文件包括两种记录类型:指令型记录(以“#”开头)和数据记录。

ELF确定的日志格式被定义为一个域的集合,而不是定义一种固定的格式。很多域前面需要加上前缀。下面列出W3C扩展日志格式的可用域前缀[4]:

c-:客户端;s-:服务器端;r-:远程服务器端;cs-:客户端到服务器端;sc-:服务器端到客户端;sr-:服务器端到远程服务器端;rs-:远程服务器端到服务器端;x-:应用。这些前缀与域指令行中的域标识符相结合,用于说明何种数据将写入日志。

表1 W eb日志记录的部分主要信息

下面是一个Web服务器日志文件ELF格式的例子:

#Software:Microsoft Internet Information Services 5.0

#Version:1.0

#Date:2009-10-26 00:00:49

#Fields:date time c-ip cs-username s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs(User-Agent)2009-10-26 00:00:49 10.10.90.29-10.203.1.13 80 GET/index.asp-200 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)

2.2 数据预处理

数据预处理是数据挖掘前期很重要的工作,其结果的好坏直接影响了挖掘结果。数据预处理的工作量占整个数据挖掘过程的50%左右[5]。Web日志预处理的目的是针对上一阶段产生的数据进行初步整理,剔除日志中对挖掘过程无用的属性和数据,并将Web日志中的数据转换为挖掘算法可识别的形式。

数据清理可采用以下3种方式:①根据日志文件的时间,如只需要对上周日志文件进行挖掘;②根据所访问的文件类型,如只需要对.asp文件进行挖掘;③根据使用者请求和算法类型选取属性列,如只需要对访问路径进行挖掘。

数据缩减可采用以下两种方式:纵向缩减(行缩减)和横向缩减(列缩减)。对于不同的挖掘需求可采用不同的缩减方式,如纵向缩减可通过URI资源的扩展名、用户动作、状态码进行缩减。进行流量分析时,可采用横向缩减的方式,如保留用户访问时间、用户请求的URI资源等字段,这里必须保留URL为图形文件的记录。进行聚类分析时,可保留用户访问时间、用户IP、用户请求访问的URL、用户所使用的代理等字段。纵向缩减可减少记录条数,横向缩减仅减少属性列,对记录条数无影响,这两种缩减方式都不会降低日志清理的精度。进行数据缩减可减少算法扫描日志的时间,提高挖掘效率。

目前较为有效的用户识别方法有:①基于用户浏览器和操作系统的差异。②基于引用页进行判断[6]。这里我们认为不同IP地址代表不同用户;若IP地址相同,用户浏览器或操作系统不同,也认为是相同的用户;若用户请求的某页面没有请求过也认为这是一个新的用户。

进行会话识别最简单的方法是使用时间戳(timeout),常用的是30分钟,L.Catledge和J.Pitkow由实验得出timeout值设为25.5分钟更好[3]。如果用户访问页面时间差超过了timeout,则认为用户开始了一个新的会话。

2.3 数据转换

根据挖掘目标和数据特征,选择合适的挖掘算法模型。Web日志数据挖掘中常用的技术有:统计分析、路径分析、关联规则挖掘、序列模式挖掘、聚类分析、分类学习等。

2.4 数据挖掘

根据应用的要求,选择合适的数据挖掘算法及模型参数,建立数据挖掘模型,从数据中提取所需的知识,并以一定的形式展现出来。如决策树结构、关联规则集等。

2.5 结果分析

对挖掘结果进行解释与评估。将挖掘的知识以用户可以理解的方式(如图表)呈现给用户,并对所得的结构进行解释,包括对知识的一致性检查,模型的验证,识别知识的真正有趣模式。进行Web站点流量统计,需要对源数据进行分析,统计网站响应状态、请求成功的IP地址、具体页面的访问流量、访问成功的页面、访问出错的页面等,可画出访问时间——访问人数折线图,初步了解用户访问的时间分布情况,按照用户访问方式统计,了解用户大多会进行什么操作。

3 结果分析

根据原始数据可统计出以下部分结果:

3.1 根据网站响应状态

分布图如图2所示。

3.2 根据用户访问方式

分布图如图3所示。

3.3 请求成功的IP地址统计

请求成功的记录数为1403516条,请求成功的IP地址数有10475条。图4中仅列出访问量前10位的请求成功的IP地址。

以纵向缩减为例,原始数据大小为262M,共有1619085条记录。

对.gif、.jpg、.jpeg、.ico、.cgi、.css、.js这 7 种扩展名筛选后,记录条数缩减为211146条。按GET请求记录缩减后,记录条数为210043条。将状态码为4和5开头的记录删除后,记录条数为185291条。按下载文件筛选后有1727条记录。

图5中仅列出访问量前10位的页面。

4 结语

以长江大学图书馆主页服务器Web日志文件为例,分析了Web日志挖掘中的关键步骤——数据预处理技术,并针对数据清理、数据缩减、用户识别进行阐述。Web日志分析可进行时段分析,统计出一天中哪些时段、每周哪天、每月哪天甚至每年哪个时段的访问人数及具体停留时间,进而分析出访问人群的上网习惯等相关信息;可进行来源统计,统计出用户到达目标网页所经过的路径,帮助管理者修改、缩短访问路径,提高访问效率;可进行客户端分析,网站设计者可根据统计出的访问群浏览器和操作系统使用情况,有针对性地对某种浏览器或操作系统进行开发;可进行受访页分析,统计第一个被访问的网页和最后离开网站的网页,分析通常访问者从哪个页面进入网站,从哪个页面退出网站,设计者可通过这些数据改善网站结构。

Web日志挖掘是Web挖掘领域一个重要的研究方向。它对于发现用户浏览网站的行为规律,改善页面之间的超链接结构,提高整个Web系统性能等方面都具有十分重要的意义。

[1] Pitkow J.Insearch of reliable usage data on the WWW[C].In:Proc of 6th Int’T WorldWideWeb Conf.SantaClara.California,1997.

[2] 王丽娜.Web日志挖掘的研究和实现[C].郑州大学,2005.

[3] 童恒庆,梅清.Web日志挖掘数据预处理研究.现代计算机:专业版,2004(3).

[4] 夏成文,韩坚华,梁乘铭.Web日志挖掘数据预处理研究.微型电脑应用,2007(10).

[5] Doru Tanasa,Brigitte Trousse.Advanced Data Preprocessing for Intersites Web Usage Mining[J].IEEE Intelligent Systems,March/April 2004:59-65.

[6] 赵红玲,宋瀚涛.Web日志挖掘中数据预处理的研究[J].计算机应用研究,2004.

猜你喜欢

服务器端IP地址日志
一名老党员的工作日志
Linux环境下基于Socket的数据传输软件设计
扶贫日志
铁路远动系统几种组网方式IP地址的申请和设置
雅皮的心情日志
IP地址切换器(IPCFG)
游学日志
基于SNMP的IP地址管理系统开发与应用
基于Qt的安全即时通讯软件服务器端设计
公安网络中IP地址智能管理的研究与思考