点击流数据仓库的构建与多维分析

时间:2022-03-25 02:25:38

点击流数据仓库的构建与多维分析

[摘要]介绍点击流数据仓库的多维建模技术,在此基础上以“平和网”的日志数据为例,利用SQL Server2008构建点击流数据仓库,并对其进行多维分析研究。

[关键词] 点击流 数据仓库 ETL 多维分析

1引言

随着互联网的飞速发展,采用网站的形式进行宣传和交流的企业越来越普遍,网站每天都产生大量的数据,访客点击网站产生这些数据被称作点击流数据。其中包含很多对企业非常有用的信息,例如,访客的来源、访客的行为、访客的兴趣等。对这些数据进行有效的分析,不但能够对网站的建设起到指导作用,增强网站的粘着度,而且也能够反映出企业各方面的状况。

随着数据库技术的应用和发展,人们尝试对数据库中的数据进行再加工,形成一个综合的面向分析的环境,以更好地支撑决策分析。在此过程的发展和完善中形成了支持决策的、特殊的数据存储,即数据仓库。数据仓库概念首次出现是由被称为“数据仓库之父”的W.H.Inmon提出的,即数据仓库是面向主题的、集成的、稳定的、不同时间的数据集合,用以支持经营管理中的决策制定过程[1]。

为点击流分析而建立起的数据仓库称为点击流数据仓库。点击流分析技术的初衷是通过对客户点击行为的分析,抽取出对企业非常有用的信息,如访客的来源、行为、兴趣等,然后对这些数据进行有效的分析,为网站企业提供服务,改善客户关系,提高网站企业服务质量。

本文采用“平和网”新闻媒体网站的日志记录数据,基于SQL Server 2008 构建点击流数据仓库,并进行多维数据分析,目的在于对新闻媒体网站的建设起到一定的辅助作用。

2点击流数据仓库的需要分析

网站每天产生大量的数据,对于一个门户网站,其日浏览量甚至可能达到上亿次,其中伴随着海量的点击流和大量的浏览信息,这些数据中包含了很多有价值的信息。用户与Web进行会话时留下来的行为记录,经过分析后可获取信息之间的关联度,从而指导网络的布局和内容,得出潜在的有价值的信息。

点击流数据仓库的数据源更丰富,它除了包含传统数据仓库的数据源外,还包含网站的日志文件;它包含的一些新的维,如页面(Page)、会话(Session)、参考(Referrer)是传统数据仓库所不具有的[2]。

“没有点击流数据仓库,就像乘坐的飞机没有窗户或驾驶舱内没有仪器工具一样,你会毫无方向地乱飞,最终是会坠机的”[2]。

对点击流数据仓库中的数据的有效分析,可以得出:访客来自哪些区域,停留多长时间;哪些页面是访客不感兴趣的,哪些形式的网页更加吸引访客;访客使用什么类型浏览器或操作系统等等。

综上所述,建立一个结构合理的点击流数据仓库是很有实际意义的。

3点击流数据仓库的多维建模

3.1 确立数据分析主题

数据仓库是面向主题的,首先要确定数据分析或前端展现的主题。不同的主题来源于数据仓库中的不同子集,称之为数据集市。数据集市体现了数据仓库某一方面的信息,数据仓库由多个数据集市构成。

根据既定的数据仓库建设目标和网站管理者、网站商务运营者对网站运行的了解需求,本文以“平和网”新闻媒体网站的“网站信息分析”为主题,内容包括:网站总页面流量,访问最集中时段,访问量最高月份,访问量最少的页面,页面平均驻留时间等。

3.2 确定度量值

通过SQL Server 2008来构建数据仓库时,度量值是数值型的,度量值是所分析的多维数据集的中心值,基于不同的度量值可以进行复杂关键性能指标等的设计和计算。例如,当度量值组中包括时间维度并且时间维度的默认粒度为每天,则度量值组中该维度的默认粒度也为每天。

3.3 确定维度和数据粒度

维度是指OLAP 中分析的不同角度。用户可能需要针对不同目的来定义不同粒度或专一性的事实数据表维度,在 SQL Server Analysis Services中,基于不同的维度,可以看到各度量值的汇总情况,也可以多个维度进行交叉分析。

在 SQL Server Analysis Services中,维度还要确定维度的层次和级别。例如:在时间维度上,可以按照“年―月―日”形成一个层次,其中“年”、“月”、“日”成为了这个层次的3 个级别。数据粒度则代表了数据汇总的层次或深度,在确定了度量值之后,要考虑到该度量值的汇总情况。

3.4 创建事实表

事实表是维度模型的基本表,存在大量的业务性能度量值或KPI指标。一个事实表代表一个业务度量,度量值的列表确定了事实表的粒度和度量值的取值范围。事实表中最有用的事实是数字类型和可加型事实。

日志数据仓库系统中存在特殊的维度表和事实表,来支持流量统计功能和将来的Web使用挖掘,获得更多支持个性化网站的信息[2]。

4点击流数据仓库的ETL设计

ETL 是数据仓库实施过程中的一个重要处理环节,E(Extract)是从源数据库(OLTP 系统)中抽取数据;T(Transform)则是对数据进行加工的过程,也就是将不同数据源的数据进行转换和整合,得出一致性的数据;L(Load)则是把转换过程得出的一致性数据加载到数据仓库的过程。

在数据仓库的构建中,ETL 贯穿于项目始终,包括了数据清洗、整合、转换、加载等各个环节。所以ETL 在整个数据仓库项目中起着十分关键的作用。

4.1 数据预处理

采用SQL Server 2008 里面的SQL Server Integration Services集成服务进行预处理。

4.1.1数据采集

采用SQL Server 2008 里面的SQL Server Integration Services集成服务将2009年10月16日“平和网”的Web日志文件(文本文件)导入SQL Server 2008数据库。

4.1.2数据清洗

数据清洗的任务就是删除那些和挖掘目的无关的数据, 避免无关数据对后续步骤的影响。①对于大多数挖掘任务来说, 网页上面的图形文件和页面样式文件, 比如扩展名为GIF、JPEG,JPG、gif、jpg、swf、css、js、cgi和map等文件, 在日志文件中是可以忽略的。②用户请求访问失败的记录, 比如返回代码为404、500 等, 也可以删除。③用户请求方法中不是GET的记录也可以删除。④清除网络机器人(robots)的浏览日志记录。删除这些记录可以减少后续步骤所要处理的数据量, 提高处理速度, 同时还可以减少无效数据对挖掘过程的影响。

4.1.3用户识别

用户识别方法主要有三种,第一,基于Cookie 技术[3]:在Web 日志文件中添加更多的附加信息,如用户机器名、内部IP 名来标识用户,从而能识别通过同一服务器上网的不同用户;第二,基于IP 地址的用户识别[4]:是指不同的IP 地址代表不同的用户;第三,基于网络拓扑结构的路径分析[5]:根据网络拓朴结构分析Web 日志文件中的用户请求,构造用户浏览网页的路径,通过一些启发式规则来识别用户。

采用IP+Agent机制,也就是基于IP地址和浏览器的方法进行用户识别,即不同的IP地址和浏览器类型代表不同的用户,并在数据仓库LogsDW的表LogClear中添加UserID列,用于存储进行识别后的用户标识。

4.1.4会话识别

用户会话是指在某用户访问一个站点时,一次访问行为中所访问的全部页面的序列集。对于服务器日志中一个较长时间的跨度,可以认为用户很有可能访问了Web站点一次以上。如果页面两次访问的时间间隔超过了一个限度,就认为用户又开始了一个新的会话,许多的实验使用30分钟为缺省的“超时”时间,即阈值。

在数据仓库LogsDW的表LogClear中添加SessionID列和SequenceID列,SessionID用于存储进行识别后的会话标识,SequenceID用于存储会话序列标识。

4.2 维度处理

维度表既为事实表提供了结构和上下文,也为数据仓库系统提供了度量标准。维度表要小于事实表的规模[6]。

根据需要,分为如下维度:DimDate日期维度、DimTime时间维度、DimRegion地区维度、DimPage页面维度、DimUrl来源维度、DimForm格式维度、DimChannel频道维度、DimClass栏目维度、DimArticle文章维度、DimSession会话维度等。以下为各维度表的基本信息:

表1日期维度表

字段 含义 字段 含义

Date_Key 日期编号 Date 日期

表2时间维度表

字段 含义 字段 含义

Time_Key 时间编号 Time_AP 是否工作时间

Time_Name 时间名称 Time_WN 午别

表3地区维度表

字段 含义 字段 含义

Region_Key 地区编号 S_Name 省份名称

AreaInfo 地区信息 C_Code 市区代码

AreaCode 地区代码 C_Name 市区名称

Gj_Code 国家代码 X_Code 县份代码

Gj_Name 国家名称 X_Name 县份名称

S_Code 省份代码

表4页面维度表

字段 含义 字段 含义

Page_Key 页面编号 Page_Name 页面

表5来源维度表

字段 含义 字段 含义

Url_key 来源编号 Url 来源

表6格式维度表

字段 含义 字段 含义

Form_Key 格式编号 Form 格式

表7频道维度表

字段 含义 字段 含义

Channel_Key 频道编号 ChannelName 频道

表8栏目维度表

字段 含义 字段 含义

Class_Key 栏目编号 ClassName 栏目

Channel_Key 频道编号

表9文章维度表

字段 含义 字段 含义

Info_Key 文章编号 Class_Key 栏目编号

Channel_Key 频道编号 Title 文章标题

表10会话维度表

字段 含义 字段 含义

SessionID 会话编号 IP IP地址

4.3事实处理

提取、合并事实数据,以及将事实数据加载到数据仓库中,大多数事实表都是事务粒度的表。事实表的处理过程建立Integration Services程序包。表11是点击流事实表。

表11点击流事实表

字段 含义 字段 含义

Key 点击记录编号 Date 日期

Date_Key 日期编号 Time 时间

Time_Key 时间编号 IP IP地址

Channel_Key 频道编号 UserID 用户编号

Class_Key 栏目编号 SessionID 会话编号

Info_Key 文章编号 SequenceID 序列编号

Region_Key 地区编号 Page 访问地址

Page_Key 页面编号 Url 来源地址

Url_Key 来源编号 Form 格式

Form_Key 格式编号 Channel 频道

5点击流数据仓库的多维分析

数据仓库架构就绪后,使用SQL Sever 2008 提供的功能强大的SSAS进行多维分析,利用前端分析工具来对建立的数据仓库做查询,除了用Excel,Performance Point Server 等工具做查询外,还可以用MDX函数直接对OLAP做查询。

下面通过以Excel作为查询工具查询各维度的分析结果:

按“日期”维度分析:以Date属性可得到某年某月某日访问“平和网”的点击数。

按“时间”维度分析:以Time_Name属性可得到各个时段访问“平和网”的点击数,以Time_AP属性可得到各午别访问“平和网”的点击数,以Time_WN属性可得到工作时间与非工作时间访问“平和网”的点击数。

按“地区”维度分析:以“Gj_Name”属性可得到各个国家访问“平和网”的点击数,以“S_Name”属性可得到各省访问“平和网”的点击数,以“C_Name”属性可得到各市访问“平和网”的点击数,以“X_Name”属性可得到各县访问“平和网”的点击数。

按“页面”维度分析:以Page_Name属性可得到各页面访问“平和网”的点击数。

按“来源”维度分析:以Url属性可得到不同来源访问“平和网”的情况。

按“格式”维度分析:以Form属性可得到不同浏览器访问“平和网”的情况。

按“频道”维度分析:以Page_Name属性可得到各频道的点击数。

按“栏目”维度分析:以ClassName属性可得到各栏目的点击数。

按“文章”维度分析:以Title属性可得到各文章的点击数。

按“会话”维度分析:以IP属性可得到不同IP地址访问“平和网”的情况。

此外,还可以多个维度进行交叉分析,在多维数据集中进行切块和切片,可得到各页面的访问量,平均加载时间,通过钻取分析得到按月统计访问量和按时间段统计访问量等等。

如图1可以看出2009年10月16日“平和网”的“新闻频道”的访问量最多,其次是综合频道等。

图1 2009年10月16日浏览“平和网”各频道基本情况

6结束语

以上介绍了利用Microsoft SQL Server 2008构建点击流数据仓库的基本流程,并在此基础上进行多维数据分析。在具体做项目的过程中,每一个细节都要综合考虑,才能够构建出满足多维分析需求的点击流数据仓库,为企业管理决策服务。

参考文献:

[1] Inmon W H.王志海,等译.数据仓库[M].北京:机械工业出版社,2003.

[2] Sweiger M, Madsen M R, Langston J et al.陆昌辉,等译.点击流数据仓库[M].北京:电子工业出版社,2004.

[3] Pitkow J. In Search of Reliable Usage Data on the WWW[A]. In: sixth International World Wide Web Conference[C].Santa Clara,CA:[s.n.],1997.451-463.

[4] Cooley R,Mobasher B,Srivasta J. Data Prepatation for mining world wide web browsing patterns[J]. Journal of Knowledge an Information System,1999,1(1):5-32.

[5] Pirolli P,Pitkow J,Rao R. Silk from a Sow’s Ear: Extracting Usable Structure from the Web[A]. In:Proceedings of CHI’96[C]. Vancouver BC:ACM Press,1996. 118-125.

[6] Raphl Kimball.数据仓库工具箱[M].北京:电子工业出版社,2003.

上一篇:大学生使用电脑的频率对睡眠的影响* 下一篇:高校物流人才培养模式的创新与实践