基于关联规则的日志分析系统的设计与实现

合集下载

基于Spark的日志分析系统设计与实现

基于Spark的日志分析系统设计与实现

基于Spark的日志分析系统设计与实现日志是现代计算机系统中常见且重要的数据之一,因为它是追踪和监测系统行为、性能和问题的必要工具。

而随着大数据技术的迅猛发展,如何高效地处理和分析海量的日志数据成为了一个重要的挑战。

本文将介绍基于Spark的日志分析系统的设计与实现。

1. 系统架构设计Spark作为大数据处理框架之一,其高效、易于使用和可扩展性等特点使其成为处理海量数据的有力工具。

基于Spark的日志分析系统主要由以下几个部分组成:1.1 日志采集模块日志采集模块负责从各个系统中采集日志数据,并将其发送到Kafka等消息队列中。

为了保证采集到的日志数据的完整性和正确性,此模块需要对日志数据进行格式化、过滤和校验等处理。

1.2 消息队列消息队列用于存储日志数据,在接收到日志数据后,它将数据存储在队列中,以供后续处理。

这里使用Kafka作为消息队列,它能够很好地处理海量数据,同时可提供高可用性和低延迟的服务。

1.3 Spark Streaming处理Spark Streaming被用来处理从消息队列中读取的日志数据。

在Spark运行的过程中,Spark Streaming将连续的实时数据流划分为一系列批处理任务,这些任务可以在预定义的时间间隔内异步处理,以实现对实时大数据的高效处理。

1.4 数据存储模块使用Spark处理后得到的结果可以通过多种方式进行存储,例如HDFS、HBase、ES等。

本系统中使用ElasticSearch作为数据存储模块,它是一个分布式的搜索和分析引擎,灵活、稳定、可扩展。

1.5 数据可视化模块数据可视化模块将处理后的数据通过可视化方式展示出来,方便用户可视化展示数据分析结果。

在本系统中,我们使用Kibana作为数据可视化模块,它是一个用于ElasticSearch数据分析和可视化的开源工具。

2. 系统实现在系统的实现中,我们将以Java语言为主,使用Spark Streaming对消息队列中的日志数据进行实时处理,并将结果存储在ElasticSearch中。

日志系统的设计与实现

日志系统的设计与实现

Ke y wo r d s :T i m e ma n a g e m e n t ; P r o j e c t ma n a g e me n t ; L o g s y s t e m; . N E T p l a t f o r m
1 引言
富 兰 克 林 曾 说 过 ,光 阴 乃 是 构 成 生 命 的 要 素 【 l 1 。 在 当今 信 息高 度发 达的商 业社会 ,时间对 于任何人 来说 都 至关 重要 。
1 9世纪意大利 经济学家帕累托 ( P A R E T O 1发现的 “ 8 0 %一
2 0 %原 则 ” 说 明 “ 人 如果 利 用 最 高 效 的 时 间 .只要 2 0 %的 投 入
就能产生 8 0 %的 效 率 ” 目 。 而 时 间 管 理 更 是 企 业 管 理 中 的 一 个
( 4 ) 提 升员 工 和 企 业 管 理 者 的 时 间管 理 成 本 意 识 。
能 提 升 项 目的 效 率 和 成 功 率 。 然 而 目前 的 软 件 厂 商 极 少 在 产 品 中 融 入 时 间 管 理 理念 ,专 门 为 此 设 计 的 软 件 更 是 稀 缺 。这 也是 企业 的信 息 化 工 具 面 临 的 一个 重 大 任 务 和 挑 战 。
真 正 从 实 践 中 受 益 。 好 的 时 问 管 理 不 仅 能 节 省 人 力 成 本 ,更
沟 通 目的不 明确 等 ,造 成 的 沟通 成本 昂贵 。 ( 3 )让 管 理 者 对 整体 有 宏 观 的 把 握 ,最 大 限度 地 保 证项 目 或 组 织 目标 的进 度 ,有 效 率 地 按 期达 成 目标 ,降 低 延期 概 率 。
s y s t e m。 I t i s a p r a c t i c a l r e s e a r c h a b o u t I n f o r ma t i o n t o o l u s e d i n e n t e r p r i s e t i me ma n a g e me n t .

课程设计-日志分析管理系统设计与实现

课程设计-日志分析管理系统设计与实现

论文题目:日志分析管理系统设计与实现论文内容:运行日志是反映Web应用运行状态的主要数据,对于应用运行的监控、用户行为的追踪分析、故障排查等都有重要的意义。

本题目要求设计并实现一个针对Log4j格式日志文件完成采集、汇总、归纳、分析、报警等功能的系统,并根据实现的程序撰写毕业论文。

毕业论文的内容要求按照科技论文的行文方式将日志分析管理系统设计与实现描述出来。

科技论文的行文方式就是要求既有实际工程过程的叙述,又要有相关理论知识的说明。

除了说明采用的具体技术之外,还要写出为什么要采用这项技术;与此类似的技术有哪些;采用这项技术的优点在哪里。

论文重点应放在分析问题、解决问题上。

可按照软件工程的步骤,以“需求分析”、“概要设计”、“详细设计”、“系统实现”、“系统测试”的流程来撰写论文。

论文要求:✧基本要求:程序部分:(1)实现原始日志文件的自动采集、汇总(2)实现基本的日志管理功能功能:查询、增、删、改(3)实现基本的日志统计功能:可按照时间段、IP等单一条件计算出统计值。

(4)程序可以运行。

论文部分:中心明确、条理比较清晰、语言较为通顺、引用材料较为丰富、无错别字。

论文格式符合《北京大学毕业论文格式》要求。

✧较高要求:程序部分:(1)实现基本要求中的各项要求(2)实现多项条件的复合查询功能(3)实现可视化展示。

提供多种可视化展示方式:柱状图、饼图、折线图等。

(4)实现报警功能,报警阈值可以修改。

(5)实现多种报警通知功能:屏幕显示、声音提示、电子邮件、短信等(任选其一)。

论文部分:中心明确、结构合理、条理清晰、分析问题到位、图例表格表达清楚、语言通顺、引用材料丰富、无错别字、有较深的个人体会。

论文格式符合《北京大学毕业论文格式》要求。

论文指导:一、论文可选用软件平台:编程语言:Java网页语言:HTML、JSP、Javasctipt运行平台:Tomcat、Resin、Jetty 任选一个数据库:MySQL、PostgreSQL、Berkeley DB任选一个日志文件:Apache、Tomcat 运行日志任选一种编程框架(可选):Struts、Spring MVC二、论文写作框架(参考):1、首页2、论文评定页3、个人声明页4、中英文摘要及关键字字数250-300,主要写论文做了什么工作,这些工作有什么特点。

日志分析系统的架构设计

日志分析系统的架构设计

日志分析系统的架构设计1.系统架构图示```---- 数据收集器(Log Collectors数据源(Application Servers)----,---------- 存储和分析引擎(Storage and Analytics Engine```2.组件说明-数据收集器:负责从数据源中收集日志数据,并将其发送给实时处理引擎和存储和分析引擎。

数据收集器可以是一个轻量级的代理程序,可以通过文件传输,网络传输或消息传递等方式与数据源通信。

- 实时处理引擎:接收来自数据收集器的日志数据,并进行实时处理和分析。

实时处理引擎可以使用流处理引擎(如Apache Kafka、Apache Flink)来接收和处理日志流。

在这里,可以进行一些简单的处理,如过滤、转化和聚合等。

- 存储和分析引擎:接收来自实时处理引擎的数据,并进行存储和分析。

存储和分析引擎可以是分布式存储系统(如Hadoop HDFS)和分析引擎(如Apache Hive、Apache Spark)。

可以将日志数据存储在分布式文件系统中,以便后续的离线分析和查询。

分析引擎可以对数据进行离线的批处理分析和查询。

3.数据流-数据源生成日志数据,将其发送给数据收集器。

-数据收集器将收集到的日志数据发送给实时处理引擎和存储和分析引擎。

-实时处理引擎接收到日志数据后,进行实时处理和分析,并将处理后的结果发送给存储和分析引擎。

-存储和分析引擎接收到处理后的数据,并进行存储和分析。

分析引擎可以执行离线的批处理分析和查询,提供数据查询和可视化结果。

4.架构设计要点-可伸缩性:系统应该具有良好的伸缩性,能够适应数据量和负载的增长。

可以通过增加数据收集器、实时处理引擎和存储和分析引擎的数量来实现系统的伸缩性。

-容错性:系统应该具有高可用性和容错性,这是考虑到日志数据的重要性。

可以使用分布式存储系统和分析引擎来实现数据的冗余存储,并通过主从复制和数据备份来保证数据的可靠性。

基于关联规则的Web日志挖掘研究与应用的开题报告

基于关联规则的Web日志挖掘研究与应用的开题报告

基于关联规则的Web日志挖掘研究与应用的开题报告一、选题背景近年来,随着互联网的不断发展,Web日志数据量呈现爆炸式增长,如何挖掘这些海量数据的价值成为业界和学术界关注的热点问题。

Web日志挖掘可以帮助我们了解用户行为和需求,从而优化网站架构、改进用户体验,提高网站的流量和收益。

关联规则挖掘是Web日志挖掘的一种重要方法。

关联规则挖掘可以帮助我们发现不同页面之间的关联关系,从而为网站推荐系统提供依据,也可以探索访问用户的行为规律,对网站运营和优化提供指导意见。

因此,基于关联规则的Web日志挖掘的研究具有重要的理论和实践意义。

二、研究目的和意义本研究的目标是基于关联规则的Web日志挖掘算法及其应用。

通过对Web日志数据的研究和分析,发现其中的规律和模式,构建关联规则模型,并将其应用于网站推荐系统和网站优化中,以提高网站的流量和收益。

三、研究内容和方法本研究将基于关联规则挖掘算法,对Web日志数据进行分析,建立关联规则模型,并将其应用于网站推荐系统和网站优化中。

具体研究内容包括:1. Web日志数据的预处理,包括数据清洗、格式转换、特征提取等;2. 关联规则挖掘算法的研究,包括Apriori算法、FP-growth算法等;3. 建立适用于Web日志数据的关联规则模型,并分析其优缺点;4. 将关联规则应用于网站推荐系统和网站优化中,提高网站的流量和收益;5. 对研究结果进行总结和评估。

研究方法主要包括文献调研、实验研究和案例分析。

通过查阅相关文献,了解关联规则挖掘算法的基本原理和应用场景。

在此基础上,利用Python等工具,对Web日志数据进行预处理和挖掘,构建关联规则模型并应用于实际网站上。

四、研究的创新点本研究的创新点主要有以下几个方面:1. 结合关联规则挖掘算法和Web日志数据进行研究,探索其在网站推荐系统和网站优化中的应用;2. 对关联规则挖掘算法进行改进和优化,提高算法的效率和准确性;3. 对关联规则模型进行深入分析和评估,探索其适用范围和限制;4. 在实际网站上应用关联规则模型,对其效果进行评价和分析。

基于关联规则的Web日志数据分析系统

基于关联规则的Web日志数据分析系统
பைடு நூலகம்
f m e l gTh n we tk d v na e o ei e f h r r ag r h n i u ss lrAp o g r h W h c utb e f rds r o W b o . e a e a a a tg f d a o eAp i i l o i msa d ds s i a r r a o t m ih i s i l i h t t o t c mi iil i s a o -
维普资讯

数 据 库 与 信 息 管 理 ・ ・ ・ ・・ ・
本 目任 辑闻 军 栏 责编 :翔
基 于关 联规 则 的 W e 日志 数据 分 析 系统 b
胡 芳 静
( 德镇 陶 瓷学 院 信 息 工 程 学 院 , 景 江西 景 德 镇 3 3 0 ) 3 4 3
a o r l n o t e nig nd r prs n e usrta  ̄a t i he f m fas eai n r l Th i o ie e e vstpa m i t n u e it heW b mi n a e ee tt e ve l pah t or o so ito u e h r n e am i t d sov rt ii s h  ̄e
HuJ g f g n —a i n
(c o l f n r t nE g e r g ig eh nCea cIs i tJn d Z e 3 4 3C ia S h o f ma o n i e n Jn d z e r it e ig eh n3 3 0 , hn ) o Io i n i mi n t u
c v r i g u e c esPat r o e y n sr a e s ten I nal , e dein e l g a ay i y tm . i nay i y tm on ito r e f to m ond e: aa n f l w sg a W b o l sss se i y n Ths a l sss se c ss ft e unc n s h i l u sD t p e oc si o l I elg nta ay i M odue nd Bai ay i M o l . r pr esng M due、ntlie n ss l la a sc An ss l du e

基于关联规则的日志分析系统的研究与设计

基于关联规则的日志分析系统的研究与设计
记录中的相互关系等。 目前用于 日志挖掘的关联算法有 F P
个模块 。 日志解析模块将不 同类型的 日志文件进行解析 , 生 成统一格式 的文件 ; 日志预处理模 块对 统一格式的 日志文件 中的数据进行提取 、 分解 、 合并转换为适合数据 挖掘的数据 格式 ; 日志挖掘模块采用 改进 的 A r r算法进行数据挖掘 ; pi i o 知识转化模块将数据挖掘得 到的频繁项集 , 转化为相关的强 关联 规则。 管理 员可 以根据相关的强关联规则得到蕴含在 日 志中的知识,便于更好地控制相应的系统 。 该系统的运行过
D tTme e ae i S p
开发 应用
微型 电 应用 脑
20 第 2 09年 5卷第 3期
与 Da Tme r t i Mak一起 表示 时间 列在 一条 日志 中 的位置 ,该 参数 用来 表示 区分 时 间列的 字符 。 e
D t i Mak ae me r T E t Mak nr r v Sp n e eManr
以及 S NMP 协议收集的网络设备 日志的基 础上,提 出了一
种 日志解析配置文件 的格式 。 一种 日志文件 ,都应 有一个 每 符合该格式 的配置文件 , 根据该配置文件可以对 指定的 日志
文件进行解析 , 将此 日志文件转换为一个统一格式的 日志文 件。 该配置文件各个参数 的意义如表 1 :
文件
日处 志 叫 器 预



嚣 文时 置件l ( 文 件 临 )
图 1系统运 行 过程
本系统在分析 了操作系统 日志 ,应用软件的标准 日志 ,
2 日志 的解析
由于取 得的 日志 文件 都是原始 的 日志, 即文本文件 的日

基于日志的安全事件管理系统的研究与实现

基于日志的安全事件管理系统的研究与实现

其 中,通过 日志获取 网络系统情况是 网络安全管理 的一个重 要分支。复杂 网络系统 由种类 繁多的安全设备、网络设备、
主机系统及其应 用等组成 ,每天产 生大量 日志信息 ,如何对 之进行统一管理 ,通过对它们分析及时了解 系统状况 ,发现
潜在威胁和攻击 ,并在第一 时间对异常事件作 出快速响应 , 是 网络与系统管理亟待解决 的问题 ,也是提 高网络系统整体 安全性能的关键 。基于 日志 的安全事件 管理 系统就是为达到 这一 目标而诞 生的智能反馈部件 ,其连接了评估 、检测、防 护、响应、恢复这些关键 的安全过程,把海量 的 日志数据转
a ay i g s o ito u e f l g d s o i o .An c o d n O t e c r c e si s o o ,i o t z s l g d t n n l Or hm— — Ap i r n l z n a s ai n r ls o o i p st n c i d a c r i g t h ha a tr tc f l g t p i i mi e o a a mi i g ag i t rO i a g rt m t h c n o y o a a mi i g wh c mp o e h n e a t , e u t n e l i e p n i i t ft e s se l o ih wi t e t h olg fd t n n , h e i h i r v s t e i t rc i on s c r y a d r a — me r s o sb l y o y t m I lo p o e n o i t i h t s r b si t a t e e e t n e a to a e n t e r s l o a d i g l g h v n t r ci n b s d o h e u t fh n l o . i n
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第44卷 增刊厦门大学学报(自然科学版)Vo l.44 Sup. 2005年6月Journal of Xiam en U niversity (Natural Science)Jun.2005基于关联规则的日志分析系统的设计与实现收稿日期:2005 01 21基金项目:福建省自然基金项目(A0310008),福建省高新技术研究开放计划重点项目(2003H 043),厦门大学中央行动计划院士基金项目(X01122)资助作者简介:文娟(1982-),女,硕士研究生.文 娟,薛永生,段江娇,王劲波(厦门大学计算机科学系,福建厦门361005)摘要:网上广告势必成为中国广告业不可取代的部分,广告人总是期望广告能获得最好的效果.为此,本文设计并实现了一个基于关联规则数据挖掘的日志分析系统,数据挖掘引擎在实现过程中针对挖掘数据的特点对A prior i 算法进行了改进,并通过仿真数据库对挖掘结果进行了验证,日志分析系统获得的 知识 可以直接用于改善Web 的信息服务.关键词:日志分析系统;数据挖掘;关联规则中图分类号:T P 311 文献标识码:A 文章编号:0438 0479(2005)Sup0258 04 数据挖掘技术在科学发现、商业应用、市场营销、金融投资等领域都有广阔的应用前景.目前,大型数据挖掘系统有Intelligent Miner,SPSS,DBM iner 等,国内也有研究[1,2],但是,这些大型的数据挖掘系统功能布局相对不合理,并且价格昂贵,当实现某些行业的某些特定目的的数据挖掘时,没有突出的特色.网上广告已经成为广告业中不可忽视的部分,这涉及如何从网站上丰富的数据中提取有效信息的问题.W eb 日志挖掘可以发现用户的浏览模式,用于改进Web 服务器的设计以方便用户使用和提高Web 服务器的性能,增加个性化服务和在电子商务中发现潜在的客户群等.目前用于Web 日志挖掘的关联规则算法有FP [3],Tv p [4],Apriori [5]等.本文以邮政网络的日志分析为例,实现了基于Aprior i 算法的关联规则的分析系统,对网站日志进行挖掘分析,得到网页组相应的最大频繁项集,即商家决策者所感兴趣的 黄金网页组合 ,据此改善Web 的信息服务,有效地提高网站的效益,同时在实现过程中针对挖掘数据的特点对Apri o ri 算法做了一些改进,并通过仿真数据库对挖掘结果进行了验证.1 日志分析系统的基本模块本文基于关联规则的日志分析系统是专门为邮政部门优化网络系统开发的.该系统分为数据预处理,数据挖掘和知识转化3个模块.数据预处理模块将原始日志文件先导入数据库管理系统SQL Ser ver 2000中,然后数据过滤得到用户会话文件,即数据库的表,最后生成布尔型事务数据库,事务数据存于文本文件中;数据挖掘引擎采用关联规则中的经典算法Apriori 算法实现,并针对挖掘数据的特点对Apiro ri 算法进行了改进;知识转化模块将挖掘得到最大频繁项集及相关信息转化成知识,生成强关联规则,网站设计者可根据这些强关联规则改善信息服务.整个系统的模块结构如图1所示.图1 日志分析系统的模块结构F ig.1 M odule structur e of W eblog analysis system2 日志分析系统的具体实现2.1 数据预处理数据预处理一般根据具体源数据的数据要求进行再加工,如检查数据的完整性及数据的一致性,对丢失的数据进行填补,消除 脏 数据等.常见的预处理方法有:数据清理、数据集成、数据变换和数据归约.该系统的数据预处理不仅面临数据清理问题,还需要将数据转化成数据挖掘引擎需要的数据形式,即如何将源数据转换成事务数据库的问题,所以,预处理分为数据导入,数据清理和生成布尔型事务数据库三步来实现.2.1.1数据导入和清理挖掘的原始日志数据如下,且保存在文本文档中.例:2003 03 3100:00:16211.147.212.111 192.168.0.2 80G ET/pubser v/scr ipt s/yo uchu/pos.asp 200M o zilla/4.0+ (compatible;+M SIE+5.5;+W indow s+N T+5.0)+Fetch+ AP I+Request我们使用SQL Server2000作为数据库管理系统,它的集成工具数据转换服务DT S可实现数据库迁移.DTS能合并SQL Serv er2000、ORACLE、DB2、文本文件、EXCEL、ACCESS、PARA DOX等各种不同数据源的数据,并且可以在迁移的同时实现对数据的过滤和清理.利用DTS的导入向导将邮政网络所提供的日志数据源先全部导入数据库dw的表t_dw_log中,其实,还可以编写导入的DT S包或者存储结构,都有一次编写、多次使用的优点.分析数据库dw中数据源表t_dw_log中的各属性,只留下对日志挖掘有贡献的属性域c_date、c_ tim e、c_ip和cs_uri_stem.可以直接通过SQ L语言实现对数据源表t_dw_log的清理,过滤掉对挖掘没有意义的属性列,也可以编写DT S包过滤源数据,利用DT S提供的工具 执行SQ L任务 ,执行DTS包,得到数据清理后的表t_w eblog.该DT S包可重复使用. 2.1.2生成布尔性事务数据库根据邮政部门的实际需求,在将数据库dw中的表t_w eblog转化成布尔型事务数据库时,处理方法为:(1)从表t_w eblog中选择出访问率高于给定支持度的的网页作为研究对象.(2)将访问记录整合成事务,整合规则:如果同一个ip的相邻的log记录时间相差不到半个小时,那就可认为是同一个事务.将访问记录整合成事务还可以采用其他的方法,如Rough Set.(3)最后,将每个事务对属于研究对象的网页的访问情况记录下来,生成布尔型事务数据库.整个数据预处理模块构造在数据库关系系统SQ L Ser ver2000上,用Delphi实现.该可执行程序中通过ADOConnectio n控件建立与数据库的连接,通过ADOQuery控件进行对数据库的SQL操作,可移植性强.程序运行生成布尔型事务数据库,同时,还将生成数据挖掘算法的入口参数文件,以及访问率高于给定支持度的网页网址的文本文件.2.2 数据挖掘数据挖掘模块中要实现关联规则的找寻,即找到相应的频繁集.数据挖掘引擎采用关联规则中的经典算法Apriori算法,并针对挖掘数据的特点对Apiror i 算法进行了改进,为了提高数据挖掘工具的效率和可移植性,整个数据挖掘引擎用Jav a实现.2.2.1Apriori算法Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集算法.它使用一种逐层搜索的迭代方法,利用k 项集探索(k+1) 项集.首先,找出频繁1 项集的集合.该集合记作L1.L1用于找频繁2 项集的集合L2,而L2用于找L3,如此下去,直到不能找到频繁k 项集为止.为了提高逐层产生频繁项集的效率,可用Apriori性质压缩搜索空间,即:频繁项集的所有非空子集都必须也是频繁的.将Apriori性质用于算法中,由频繁项目集L k-1生成候选项目集C k分成两步进行:第一步:连接步.为找L k,通过任意两个满足条件的L k-1连接产生候选k 项集集合,记作C k.不妨设l1和l2分别是两个不同L k-1中的项集.记号l i[j]表示l i 的第j项.为方便计,假定事务或项集中的项按字典次序排序.如果该两个不同L k-1的前(k-2)个项都相同,则说明该两个频繁项目集L k-1是可连接的,执行连接L k-1 L k-1(其中L k-1的元素是可连接的).即两个不同的L k-1对应的项集l1和l2满足条件:(l1[1]=l2[1]) (l1[2]=l2[2]) (l1[k-2]=l2[k-2]) (l1[k-1] l2[k-1])连接L k-1 L k-1产生的结果项集是:l1[1]l1[2] l1[k-2]l1[k-1]l2[k-1].第二步:剪枝步.扫描数据库,确定C k中的每个候选项集的计数,从而确定L k.然而,当C k中的候选项集的数目很多时,涉及的计算量就很大.为了提高效率,可用A priori性质压缩C k,即任何非频繁的 项集都不可能是频繁(k-1) 项集的子集,可得:如果一个候选k 项集的(k-1) 子集不在L k-1中,则该候选项集也不可能是频繁项集,便可将它从C k中删除.这种子集测试可使用所有频繁项集的散列树快速完成.2.2.2Apriori算法的改进及实现定义1 超集,如果存在有序集合{X1,X2, , X n},它的任意子集{X j, ,X k}(其中k j),那么该子集对应的超集为{X j, ,X k,X k+1},{X j, ,X k, X k+2}, ,{X j, ,X k,X n}.例:有序集合{1,3,4,6,7}的子集{1,4},对应的超集为{1,4,6}和{1,4,7}.定义2 T扫描数据库,为找C k扫描数据库时,当事务数据库中某条事务的代数和小于k时,跳过该条数据,这种扫描方式就称为T扫描数据库.这样,第k+ 1次扫描事物数据库D时需要扫描的事务数相对第k 次一般是减少的,而且k越大,扫描事务数据库的效率也提高得更明显.例如:为找3 项集时,扫描数据库时遇到事务{010010},由0+1+0+0+1+0=2<3,跳过该事务往下处理其他事务,为找4 项集时,就不需要再扫描该事务了.259增刊 文 娟等:基于关联规则的日志分析系统的设计与实现针对挖掘的数据库的特点,对原A priori 算法作了改进,由频繁项目集L k-1生成候选项目集C k 分成如下三步进行:第一步:生成超集.为频繁项集L k-1中的每一个频繁项生成对应的超集,这些超集的构成的集合即为初步的候选项目集C k ;第二步:运用Apr io ri 性质对第1步所得到初步候选项目集进行剪枝.第三步:T 扫描数据库D.计算出候选项目集C k 中的每一个候选项集的支持数counter,根据counter minsup*总事务数,进行剪枝得到k 频繁项集(minsup 表示最小支持度);为了提高基于Apriori 算法数据挖掘引擎的可移植性,采用Java 实现算法.算法1:改进过的Apriori 算法.输入:事务数据库D ,相关参数(项目数,事务数,最小支持度).输出:D 中频繁项集和和对应的支持度.[1]L 1=hashtr eer oo t; //找出1 itemset(D )[2]fo r {k =1;L k -1 ;k ++[3]tr ansatr ahashtree(ro ot); //T 扫描事务数据库[4]checkcount er(roo t);//较检htn.counter >=minsup*总事务数,剪枝[5]C k =checkhashtree(roo t); //生成候选项目集[6]checkcount edall(roo t); //确认itemset 已经被co unt [7]}[8]printhashtree(r oo t);//输出hashtr ee 上的所有频繁项集合项集的支持度[9][10]checkhashtree(roo t){[11]gensuperset(itemset); //为项集生成超集,实现连接[12]gensubset(itemset); //生成子集[13]circlefo und(r oot); //根据Apr ior i 性质,剪枝 }在算法中采用hash tree 存放候选集,树的叶子节点存放项集的列表和支持度,内部节点是一个hash 表.若图2所示事务数据库D ,且其支持度为50%,则改进后的Apriori 算法运作情况的示例如图2.程序运行时,将布尔型事务数据库生成程序所得到的事务数据库D 和相关的参数以tr anbool.tx t 和outparam.txt 的文本的形式装入,运行结束后,在控制台上将显示结果.2.2.3对数据挖掘引擎的检验我们对数据挖掘引擎进行检验.首先,使用仿真数据库对本文所实现的数据挖掘引擎的挖掘算法的正确性进行检验.将图2所示的事务数据库D (支持度为50%)存入sampletran.txt 中,相应的数据挖掘参数存图2 改进后的Aprior i 算法运作情况的示例 F ig.2 Run instance o f adv anced Apr ior i alg o rithms入sampleconf.tx t 中,放于编译通过的class 文件夹下,执行后得到的各频繁项集以及各项集的支持数,和手工计算得到的结果是一致的.同样,对其他的仿真数据库也做同样的检验,都得到一致的结果.这说明了优化后的Apriori 算法的正确性.其次,对数据挖掘引擎的挖掘效率进行测试.鉴于商业数据的不便公开,只取邮政网络服务器3天的日志数据作为实验公开数据,将3天的日志数据分成第1天(391条事务记录)、前2天(812条事务日志)和3天(1287条事务日志),并分别对应着图3横坐标中的1、2和3.基于相同的硬件环境及软件环境对Apriori 算法和优化后的算法进行挖掘效率的测试,测试结果如图3.从图3中可以看出,随着数据库的增大,优化后的算法在速度上体现的优势也逐渐增大,这跟理论的分析结果是一致的.2.3 知识转化知识转化模块将数据挖掘引擎对日志数据进行挖掘得到的频繁项集及其支持数,转化成 知识 ,产生强关联规则,供网站设计者改善Web 的信息服务时使用.置信度由以下公式(1)计算而得,其中条件概率用260 厦门大学学报(自然科学版) 2005年图3 两种算法的速度对比测试Fig.3 T he speed test betw een tw o algo rithms项集支持度计数表示,公式中的suppout_count (A B)是包含项集A B 的事务数,suppout_count (A )是包含项集A 的事务数.confidence (A B)=(P )(A |B )suppo ut_count(A B )suppo ut_count (A )(1)根据(1)式,关联规则可以产生如下:对于每个频繁项集l,产生l 的所有的非空子集.对于l 的每个非空子集s,如果P (l |s) m in _conf ,则输出规则 s (l |s) .其中,min_conf 是最小置信度值.Weblog Analysis System Implemented on Association RuleWEN Juan,XU E Yong sheng,DU AN Jiang jiao,WA NG Jin bo(Department of Computer Science,Xiamen U niver sity,Xiamen 361005,China)Abstract:In t he market o f china adver tising,there is no do ubt that advert isements by internet will play an indispensable ro ll in thenear future.Adver tisers all focus o n how to g ain the g reatest eff iciency.In t his paper a W eblog analysis system was implemented mainly based on associatio n rule,and the Apr ior i alg or ithms was impr oved.I t w as t ested by a manual database.T he know ledge pro vided by the sy stem can be used dir ect ly to impr ove the infor matio n serv ices of web.Key words:Weblog analy sis sy stem;data mining;asso ciation r ule频繁项集连同它们的支持数预先存放在散列表中,执行挖掘后便可一同输出.对邮政网络服务器的日志数据挖掘后得到的频繁项集l ={4,6,7},它的非空子集有{4,6},{4,7},{6,7},{4},{6},{7}.结合散类表中提供的支持数,可以得到的关联规则以及它们的置信度如下:Ⅰ4 6 7,co nfidence=265/307=86.3%Ⅱ4 7 6,co nfidence=265/285=93.0%Ⅲ6 7 4,co nfidence=265/272=97.4%Ⅳ4 6 7,co nfidence=265/334=79.3%Ⅴ6 4 7,co nfidence=265/333=79.5%Ⅵ7 4 6,co nfidence=265/391=67.8%由于规则是由频繁项集产生的,每个规则都自动的满足最小支持度.现在它们的置信度如上,再综合1~10所代表的网页进行分析,如式Ⅰ说明了同时访问4,6和7网页的用户占全部用户的20%以上,访问了4和6网页的用户有86.3%的可能会访问7网页.这些规则代表了用户的浏览模式,网站设计者可以利用这些知识优化网站结构以方便用户使用和提高Web 服务器的性能,增加个性化服务和在电子商务中发现潜在的客户群等功能.广告商家则可以利用这些黄金网页组合 使广告达到最好的效果,带来更大的经济收益.3 结束语本文实现的日志分析系统是根据邮政部门的数据专门设计的,具有很好的可移植性.数据挖掘引擎部分采用Apr io ri 算法,在实现过程中有所改进,并从理论和实验两方面对其检验,引擎用Java 实现,所以还可单独将数据挖掘引擎嵌入网页中使用.日志分析系统课题还可以应用数据挖掘方法中包括挖掘关联规则、对数据进行聚类分析等其它数据挖掘技术结合,形成完整的工具.其次是对递增计算的处理,随着数据频繁地增加,实现增量式计算是今后研究的一部分;最后智能化调整也是有待于研究的问题,如阙值、算法的智能化选择.参考文献:[1] 朱扬勇,周欣,施伯乐.规则型数据采掘工具集A M IN ER[J].高技术通讯,2000,10(3):19-22.[2] 陈栋,徐洁磐.Knig ht:一个通用知识挖掘工具[J].计算机研究与发展,1998,35(4):338-343.[3] Han J W,Pei J,Y in Y W.M ining frequent pat terns witho ut candidate generation:A frequent patt ern t ree appro ach [EB/O L ].htt p://ww w.sce.car leton.ca/facult y/ajila/5703/Database M ining/F tr ee m ining.pdf.2000.[4] Chen M S,Par k J S,Yu P S.Efficient data mining fo r path trav ersal patter ns [J].K no wledg e and Data Eng ineering ,1998,10(2):209-221.[5] Ag r awal R,Sr ikant R.Fast algo rithms for mining associat ion r ules [EB/O L ].http://w ww.almaden.ibm.co m/so ftw are/quest/Publicatio ns/papers/vldb94.pdf.1994.261 增刊 文 娟等:基于关联规则的日志分析系统的设计与实现。

相关文档
最新文档