本文的意义及主要工作
在网络数据量快速增长的情况下,对Web服务器日志数据进行分析和处理,从中找出能够反映网络用户行为的有效信息具有重要意义。
本文重要通过数据挖掘技术对Web服务器的日志数据进行挖掘和分析。Web日志记录了用户对站点资源的访问,其中每一条记录一般包涵用户IP、访问时间、资源的URL等字段。大型网站的Web服务器每天可能会产生数百兆的Web访问日志。有效地对这些Web日志进行定量分析,揭示其中的关联关系、时序关系、页面类属关系、客户类属关系和频繁路径等,可以为优化网络和Web站点的组织结构提供参考。
本文的工作主要内容是:
(1)分析网络用户行为分析的步骤及体系框架,以及体系模型中各模块功能和相互之间的协作关系。
(2)对Web服务器的日志数据进行分析,从中找出有用信息。主要考虑数据的准确性和实时性。
(3)编写数据处理软件。
(4)对西南科技大学网络中心的Web服务器上的日志数据进行分析,提出一个基于用户行为的网络改革方案。
系统开发方法
数据处理系统的开发是在信息系统规划的指导下,分析、设计、实现的一个信息系统。信息系统开发的方法是指在信息系统开发中的指导思想、逻辑、途径以及工具等组合。管理信息系统面向的对象是数据和操作系统,在系统开发的3个阶段中(系统分析阶段,系统设计阶段,系统实现阶段)两者紧密而有效的结合使其更加有效的发挥效力。
管理信息系统开发的方法主要有3种[26]:
(1)结构化的系统开发方法(结构生命周期法)。
(2)原型化系统开发方法。
(3)面向对象的系统开发方法。
数据处理系统正是采用了面向对象的系统的开发方法。因为它具有下面的优点:首先面向对象方法对人而言是自然的或者是直观的,因为人们倾向于按照可感知的对象来思考世界。同时,由于面向对象方法包括对象的类,并且组织中的许多系统使用同样的对象,因此只要在需要的时候,这些类就可以一次次的地重复使用。面向对象的开发方法是非常适合数据处理系统的。
4.2 需求分析
4.2.1 功能和性能需求
根据此次设计中对软件的要求,该软件应该实现如下功能:
(1)根据此次设计对数据要求,能够对Web日志中导出的数据进行处理。
(2)能够查看数据的处理结果。
(3)能够对不同字段进行数据统计。
通过此软件,能够方便快捷地处理大量的数据,为网络数据分析提供有效的数据。
设计方案
数据处理系统以Windows操作系统为平台,使用SQL服务器作为后台,采用Visual C++作为开发工具,采用窗口式执行文件,操作实用、简易、方便、直观。本着高效、全面、安全的设计思想,实现如下的功能:
(1)数据处理:按照设计要求对Web日志文件中的访问字段进行处理。
(2)数据查询功能:对Web日志文件进行总体查询。
(3)统计查询:分别对分组、源IP地址、目的IP地址、访问内容等字段进行统计查询。
在技术上,主要采用了以下技术:
(1)软件编写采用了Visual C++(VC)技术。
VC主要有以下一些特点[9]:
第一,面向对象、可视化开发:提供了面向对象的应用程序框架MFC(Microsoft Foundation Class:微软基础类库),大大简化了程序员的编程工作,提高了模块的可重用性。Visual C++还提供了基于CASE技术的可视化软件自动生成和维护工具AppWizard、Class Wizard、Visual Studio、Wizard Bar等,帮助用户直观的、可视地设计程序的用户界面,可以方便的编写和管理各种类,维护程序源代码,从而提高了开发效率。用户可以简单而容易地使用C/C++编程。
第二,众多的开发商支持以及业已成为工业标准的MFC类库:MFC类库已经成为事实上的工业标准类库,得到了众多开发商和软件开发工具的支持;另外,由于众多的开发商都采用Visual C++进行软件开发,这样用Visual C++开发的程序就与别的应用软件有许多相似之处,易于学习和使用。
第三, Visual C++封装了Windows的API(应用程序接口)函数、USER、KERNEL、GDI函数,帮助我们弄清了许多函数的组织方法,隐去了创建、维护窗口的许多复杂的例行工作,简化了编程。
(2)数据库技术方面选用了SQL Server 2000数据库。
Microsoft SQL Server 2000是完整的资料库与分析解決方案,它可以快速地开发下一代具延展性的网络应用程式。SQL Server 2000身为.NET企业服务器(.NET Enterprise Servers)的核心元件,因此在提供需求最迫切的环境所需求的延展性时,它可以大大地減少我们将电子商务、企业运营及资料储存等应用程序推广到市场上所需的时间。SQL Server 2000包含了针对XML与HTTP的丰富支援;分割载入的效率与使用,以及确保持续运转;针对自动化例行工作的先进管理与调校功能;可降低整体拥有成本。
(3)数据库连接方面采用了ADO技术。
ADO(ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据,其使用简单且功能强大,目前有着广泛的应用。
ADO是建立在OLE DB之上的高层数据库访问技术,使用户能够编写应用程序以通过OLE DB提供者访问和操作数据库服务器中的数据。它的主要优点是易于使用,速度快,内存支出少和磁盘遗迹小。ADO支持用于建立客户端/服务器和基于Web的应用程序的关键功能。ADO同时具有远程数据服务(RDS)功能。使用RDS,可在一次往返过程中实现三步操作:将数据从服务器移动到客户端应用程序或Web页,在客户端对数据进行操作,然后将更新结果返回服务器。从 Microsoft Remote Data Service 1.5 开始,RDS已经与ADO编程模型合并,从而简化了客户端数据的远程操作。
ADO数据库访问技术的特点[10]:
第一,ADO技术是基于OLE DB的访问接口,提供面向对象的技术,属于高层接口,而OLE DB是Visual C++提供,是基于COM借口的底层接口技术。
第二,访问数据时,具有多种方法。
第三,ADO有着很高的效率。
第四,基于COM的特性,使ADO技术能应用于很多编程环境,只要该环境支持COM,例如:VC++,VJ++,VB等。
第五,简单易学。