微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络业界新闻 > 数据仓库系统实现之挖掘Web日志

数据仓库系统实现之挖掘Web日志

时间:08-27 来源:IT专家网 点击:
引言

  目前已经有很多学者和研究机构意识到网站日志数据巨大的潜在价值,试图通过对Web日志的研究来改善网站设计,理解用户的兴趣和真正动机等。多数现有的Web分析工具提供了用户在服务器上的活动情况及各种形式的过滤数据,使用这类工具可以确定对某个服务器或单个文件的访问次数、访问时间以及用户的域名和URL。但是对于Web日志数据仓库系统进行总体设计上的研究并不多,而这项工作对于研究用户访问模式和提高挖掘的效率是很有意义的。本文以某网站Web日志文件为例,在JAVA平台上对其数据仓库的建构进行了研究。

  2、Web日志数据采集

  服务器日志的格式根据Web服务的应用及安装时的选项而有所不同,一般用两种格式存储:一种是普通日志文件格式;另一种是扩展日志文件格式。普通日志文件存储的是客户端IP、用户名、状态、服务器名、协议版本等客户连接的物理信息。扩展日志文件格式主要支持关于日志文件元信息的指令,如版本号、会话监控开始时间和浏览器类型等。下面是一条典型的日志及其各字段详细解释:

  2004-12-13 0:00:45 172.16.96.22 - 211.66.184.35

  80 GET /~janyst/chat/chatUsers.php - 200 Mozilla/4.0+ (compatible;+MSIE+6.0;+Windows+NT+5.1)

  ● Date and Time:请求的日期、时间;

  ● c_ip:访问用户的 IP 地址或者用户使用的代理服务器 IP 地址;

  ● userName:用户名,由于通常用户没有进行注册,故一般都为占位符所替代;

  ● s_ip:客户端访问网站的IP 地址;

  ● s_port:客户端访问网站的端口号;

  ● cs_method:访问者的请求命令,常见的方法有三种,分别是 GET、POST 和 HEAD;

  ● cs_uri_stem:访问者请求的资源,即相对于服务器上根目录的途径,上例中为/~janyst/chat/chatUsers.php;

  ● query:协议类型,上例中为HTTP/1.1;

  ● Status:服务器返回的状态代码。一般而言,以2开头的状态代码表示成功,以3开头表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头表示用户端存在某种错误,以5开头表示服务器遇到了某个错误;

  ● userAgent:附加信息,包括浏览器类型、操作系统等。

  3、Web日志管理系统架构

  Web日志管理系统功能是完成Web日志的预处理和存储,主要由数据采集模块、数据库创建模块、数据库清除模块和数据集生成模块等组成,图1为系统用户界面。

 图1 Web日志管理系统用户界面

  该系统是在Eclipse环境下搭建的,主要由四个模块组成,分别为数据库建立模块、数据采集模块、数据库清除模块和数据集生成模块组成。各模块功能介绍如下:

  ● 数据库生成模块:在已创建的空数据库里生成用于存储Web日志数据的各个二维表;

  ● 数据采集模块:功能主要是将Web日志导入已生成的数据库的各个表中。首先解析Web日志,即将文本格式的日志依次读入到数组中;其次对日志进行基本的预处理,具体的预处理过程会在下节中详细介绍;最后将预处理后的数据存储到数据库中;

  ● 数据库清除模块:可以清除数据库中已创建的各个表,数据库仍然保留;

  数据集生成模块:可将Web日志以文本形式导出。

  4、Web日志数据库

  4.1 Web日志数据库介绍

  Web日志数据仓库是基于Web日志数据库。根据分析需求,将数据库分为5个表,图2为其ER图,各表功能分别为:(1)IDTbl存储解析后日志的各个属性的 ID号;(2)UserTbl存储访问者的基本信息;(3)PathTbl存储访问路径的相关信息;(4)TimeTbl存储访问时间的相关信息;(5)ProtocolTbl:存储日志其它信息;

图2 Web日志数据库ER图

  4.2 Web日志预处理

  在将原始Web日志导入关系数据库之前必须进行清理、转换,计算一些必要的聚集信息。日志数据有其特殊性,它是一种半结构化的数据,因此预处理过程有其特殊性。本文在构建Web日志数据库时通过数据清洗、用户识别和会话识别这几个步骤。

  4.2.1 数据清洗

  Web日志的清洗工作很多文献都有讨论。当用户请求一个网页时,与这个网页有关的图片、音频等信息会自动下载,并记录在日志中。这些文件对于日志的分析是无用的,所以可以通过检查cs_uri_stem的后缀删除认为不相关的数据。同时无效记录还包括请求失败记录。本文在进行数据清洗时具体过程如图3所示:

图3 数据清洗流程图

  4.2.2 用户识别

用户识别是将用户和请求的页面相关联的过程。由于用户机器中缓存、防火墙、代理服务器的使用,使Web日志没有精确记录用户的浏览行为。因此从净化日志中识别用户工作相对比较复杂。主要的用户识别方法主要有三种,分别为基于cookie的技术、基于IP地址的用户识别以及基于网络拓扑结构的路径分析。方法一通过在Web日志文件中添加更

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top