随着Web站点规模的增大,所涉及的应用服务种类越来越多。所谓网站(Website),就是指在网际网路(因特网)上,根据一定的规则,使用HTML等工具制作的用於展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的资讯(信息),或者利用网站来提供相关的网路服务(网络服务)。人们可以通过网页浏览器来访问网站,获取自己需要的资讯(信息)或者享受网路服务。站点的监控和统计分析已成为站点建设的一项重要内容。Web服务器的访问日志文件记录了客户端每次请求的细节,因此,对Web站点访问日志进行分析,已成为评估网站运行质量的一种常用方法。
大型Web站点的日志文件的重要特征是数据量巨大,每日几百兆甚至上千兆,并且随着时间推移不断增加。因此很多站点对日志文件进行按日分割(即每天产生1个文件),而这样就带来日志文件的离散性。传统日志分析系统过多关注日志分析的效率问题,而忽略了对离散文件进行连续分析的研究及对每次分析结果的结构化保存问题。随着数据挖掘技术逐渐由理论到实践以及人们对海量数据的利用越来越关注,进行持续分析以及对分析结果进行结构化存储甚至比效率显得更加重要。
现代关系数据库很重视原始数据的导入,一般都提供数据导入工具,本文就是通过在日志分析系统中嵌入SQL-SERVER的DTS,从而使系统既有较高的执行效率,又很好地解决了离散文件的连续性分析与存储问题。
1 DTS介绍
大多数组织都使用多种格式和多个位置来存储数据。为了支持决策、改善系统性能或对现有系统进行升级,经常必须将数据从一个数据存储位置移动到另一个存储位置。Microsoft SQL Server 2000 数据转换服务(DTS )提供一组工具,可以从不同的源将数据抽取、转换和合并到一个或多个目标位置。要利用SQL-SERVER的这一强大功能,首先要建立DTS包。DTS包是数据转换服务的可执行单元,每个包都包含1个或多个顺序或并行执行的程序步骤。当包执行时,首先连接到正确的数据源,然后复制数据和数据库对象,完成数据转换工作。每个软件包可包含一组已安排好的任务,它们定义要执行的工作、对数据和对象的转换、定义任务执行的工作流约束条件以及数据源和目标间的连接方式。DTS 软件包还提供一些服务,如记录软件包执行详细情况、控制事务和处理全局变量。
创建好DTS包后,便可在客户端通过DTS执行实用工具(如dtsrun)进行调用,这样就可将特定格式的数据从不同的数据源导入目的数据库中。由于DTS是系统提供的一种多线程数据迁移工具,因此具有很高的转换效率。详细的关于如何创建DTS包和dtsrun的调用方法请参考相关专着和SQL-SERVER联机帮助。
2 系统设计
通过上面的分析,本文认为运用DTS技术能够很好地解决日志系统运行效率与数据结构化存储之间的瓶颈问题。整个系统的架构。本设计基本实现了以下目标。
(1)适合日志文件的多样性
现有多种流行的Web服务器,如Apache、IIS等。不同服务器的访问日志文件所记录的内容大同小异,如请求资源、请求时间、客户IP、服务器IP、发送字节数和接收字节数等,然而记录格式却不尽相同。
由此可见,日志文件属于半结构化的文本文件。对于这样的文件DTS是不能够直接导入到数据库中的。因此,在原始日志文件到本地后,应该对文件进行规范化处理,这里称为日志文件的归一化处理,即将不同的日志格式转换成一种DTS可以直接操作的文件格式。
(2)离散非结构数据的结构化存储
日志文件在进行归一化处理后,便可使用DTS服务了。首先通过向导(Wizard)或数据转换服务中的工具定义一个DTS包,其中数据源是经过归一化处理的日志文件,导入目的库是系统使用的数据库。一切定义好之后,便可以将数据导入到数据库表中。
(3)进行远程离线统计
分析系统应该尽量做到对Web服务器的无干扰操作,否则会影响Web服务器的正常工作。为此,分析系统应该在物理上与Web服务器隔离,使之位于另一台服务器上,甚至另一个网络中。
(4)分析功能的定制性
功能定制也称为基于组件的软插拔技术,是现代软件所倡导的技术之一。因此,本系统的分析功能采用基于软组件的方法,实现了系统功能的配置与定制。数据在导入数据库系统之后,便可以利用关系数据库和编程语言的强大功能进行数据挖掘和分析处理。
(5)功能丰富的报表输出B/S方式
B/S方式已成为人机交互和信息表现的主流方式。本系统也是通过该方式显示分析结果,通过丰富的报表、统计图等直观的手段,为网站管理者和决策者提供有价值的信息。
3 系统实现
本系统由2部分组成,其中后台服务程序负责完成日志文件、归一化处理、DTS入库、分析等功能,根据需要可以设置为自动运行和手动运行。现已实现了访问统计功能、频道统计功能、热门页面(HotPage)排行和用户地域分析等功能。前台显示程序是基于B/S结构,通过统计表和统计图方式直观地展示分析结果。本系统采用Java语言开发,为系统移植和扩展提供了方便。
4 结束语
本文介绍了Web日志分析系统的特点和目前研究重点,并概要介绍了Microsoft SQL Server的DTS技术。在此基础上开发的Web日志分析系统,较好地解决了日志系统运行效率与数据结构化存储之间的瓶颈问题。该系统采用了主流的软件技术,架构清晰,可扩展性较好。该系统操作简单,功能实用,目前已在多个大型Web站点获得了成功的应用,为网站管理者和决策者提供了大量有价值的信息。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。