当前位置:文档之家› 基于FTP日志的数据挖掘系统-数据预处理系统的设计与实现(毕业设计论文)

基于FTP日志的数据挖掘系统-数据预处理系统的设计与实现(毕业设计论文)

本科毕业设计

题目:基于FTP日志的数据挖掘系统

-数据预处理系统的设计与实现

摘要

计算机和互联网爆炸式发展的发展让我们看到信息时代到来的大潮,我们在网络上的行为也自然成为一种可挖掘的“财富”。国内外的高校或是科技企业也越来越多的投入到网络数据日志的数据挖掘挖掘中去,为的是帮助商业机构或是社会组织提供基于精准数据决策建议。校园教学FTP日志作为一种长期存在的数据也具有非常高的数据价值。

针对FTP的运行日志的数据挖掘系统是通过对校园教学FTP日志的定时提取、数据预处理、数据挖掘、结果可视化的方法实现信息的挖掘。运用eclipse软件开发相关平台;采用多线程处理的方法为我们提高处理的基础数据时的处理效率;利用分布式计算的方式组建可根据需要添加计算能力的计算机客户机、搭建Lucene搜索引擎式的全文搜素数据库为数据挖掘提供高速索引的角色、经过我们优化的关联算法进行数据挖掘后,利用JFreeChart2应用程序用图形化的方法显示数据的相关联性。

该系统实现了FTP日志数据的定期自动获得、并会对提供运算能力的客户机进行运算前的能力扫描、实现了主要服务器中的文件切割、建立了Lucene全文数据搜索引擎、实现结果信息图标可视化。关键词: FTP日志;数据挖掘;数据预处理;索引库

Abstract

The development of the explosive growth of computers and the Internet allows us to see the tide of the arrival of the information age, our behavior on the network has naturally become a mining wealth. Universities or technology enterprises at home and abroad, more and more into the network data log data mining, in order to help commercial organizations or social organizations to provide policy recommendations based on accurate data. Campus teaching FTP log also has a very high data value as a long-term data.

For a running log of the FTP data mining system is the timing of the campus teaching FTP log extraction, data preprocessing, data mining, mining results visualization information.Eclipse software development platform; multi-threaded processing method for us to improve the processing of data processing efficiency; using distributed computing to set up the computer client can add computing power, to build the full text of the Lucene search engine-Search prime database data mining role to provide high-speed index, we optimize association algorithm data mining using JFreeChart applications with graphical display data associated.

The system realizes the of regular FTP log data automatically get and will provide the computing power of the client the ability to scan before the operation, the main file server cutting Lucene full-text search engine result information icon visualization.

Keywords:FTP log; data mining; data preprocessing; indexing library

目录

第1章绪论 (7)

1.1 选题背景 (7)

1.2国内外研究现状 (7)

1.2.1 国外研究状况 (8)

1.2.2 国内研究状况 (8)

1.3 本文研究的内容和意义 (8)

第2章可行性分析和需求分析 (9)

2.1 可行性 (9)

2.1.1 实用性价值: (9)

2.1.2 技术可操作性 (9)

2.1.3 外部运行环境 (9)

2.1.4 日常管理 (10)

2.2 需求分析 (10)

2.2.1 软硬件环境需求 (10)

2.2.2 用户需求 (10)

2.2.3 功能需求 (11)

第3章FTP日志数据挖掘系统 (12)

3.1 系统设计的基本原理 (12)

3.2 系统构想模型 (13)

第4章数据挖掘中的预处理系统 (14)

4.1 数据处理预处理 (14)

4.2 文件获得与总述 (14)

4.3 文件分割器基本设计流程 (14)

4.4 文件分割的主要方式 (16)

4.4.1 逐行分割 (16)

4.4.2 逐块分割 (16)

4.5 检测器和分割器 (17)

4.5.1 检测器的原理 (17)

4.5.2 分割器个工作原理 (18)

第5章关于分布式索引数据库 (21)

5.1 索引库 (21)

5.1.1 索引的来源 (21)

5.1.2 建立索引的目的 (21)

5.2 lucene框架的索引库 (21)

5.3 lucene框架的搭建 (22)

5.3.1 建立的过程 (22)

第6章 (26)

6.1 前台数据控制 (26)

6.2 设计实现 (26)

6.2.1 登陆. (26)

6.2.2 运行界面设计 (27)

6.3 辅助管理 (29)

总结 (31)

参考文献 ............................................................. 错误!未定义书签。致谢 ................................................................. 错误!未定义书签。附录 (32)

附录一 (32)

第1章绪论

我们在这阐述的是选题的背景和研究的目的,以及国内外现时阶段关于课题的发展现状。

1.1选题背景

计算机的发展让你看到的是信息爆炸的能量,互联网财富的增长是以几何次方递进的。这些发展从我们打开浏览器那一刻起变得越来越不可思议,我们可以在互联网上挖掘任何信息,搜索类的门户网站为你打开了一扇扇你想像不到的大门。网上的绝大部分资源信息都是免费的、开放的,但是有多少确实是有用的、有益的。我们的每一次点击、键入字符,都会在网上留下使用的痕迹。这些不经意中流露的信息,蕴藏着让我们意想不到的财富。

数据挖掘通俗的说来就是通过我们留下的“痕迹”,发觉我们一些有趣的现象。并为挖掘者提供相应的分析意见。现在的大型国有企业、外资企业、私人企业都针对其所在的商业领域进行了相应的应用。特别是对于网络购物其实绝大多数时候你已经掉入了一个陷阱:你有意无意的一次在某购物网站浏览了特定的产品,但是你并真正的意愿要购买,但是事情往往不只是个开始。在你接下来不同的网页浏览中你会发现网页中嵌入的广告都是与你刚刚浏览的是相关,你在不自觉中慢慢的接受的催眠,发觉广告上的产品越来越吸引你,并最终点击广告最终买下某些产品。这就是我们今天研究课题数据挖掘中一种最简单的应用。

很长的一段时间以来,日志数据存储总是被人们忽略,觉得这些数据文件有时候实在很鸡肋,并且很占硬盘空间。其实在科技浪潮的迅猛的今天这无疑是一个非常好的机遇,在我们学校的FTP系统中也有大量的积累的日志数据,这些日志数据记录着:使用者的地址、访问时间、停留时间、操作动作、浏览的URL。如果我们针对这些日志文件设计出一套数据挖掘系统,通过结构化的处理从中发现学生和老师使用FTP的一些规律,并进一步针对这些规律提出人性化的教学建议。这无疑会给学生和老师很大的帮助。

1.2国内外研究现状

数据挖掘又称为知识发现(KDD)[1]。KDD一词于1989年举行的第十一届国

际联合人工智能学术会议上提出。在这之后,越来越多的专家学者或者是爱好者开始了大范围的讨论和实验,有关数据挖掘的专题讨论会和国际学术会议陆续召开,为数据挖掘的发展指明了方向。

1.2.1国外研究状况

从20世纪末期,计算机的全面普及以及各大高校与科研机构的的专家学者开始提出数据挖掘的可应用前景广大。越来越多的人投身到其中为了能够期望从海量的数据中发现我们有兴趣的规律和知识,以及最重要的用户使用模式。为的是提供数据量化信息给予那些支持研究的企业。促进商业上的兴旺。普遍采用的数据挖掘方式如:从上而下、从下而上、和混合法。并且很多时候通过关联规则、聚类分析、分类和预测等算法来实现结果的预测。更多时候用于商业的产品销售、金融业的数据交互、遗传基因学的发现研究和各种数据分析。

1.2.2国内研究状况

我国的数据挖掘因为受到的西方冲击较少,并且互联网和计算机普遍使用较晚。使得我们很大程度上对数据挖掘技术的研究晚于同期的国外。国内的高校也开始了一系列的实现项目,尝试运用我们本身的资源进行可应用的研发像清华大学、浙江大学、还有台湾方面的大学都开始为数据挖掘提升做出了贡献。目前越来越多的引进技术开始应用于实际,我们也开始出了研制出MSMiner(中科院-多策略通用数据挖掘平台),DMiner(上海复旦德门软件-数据挖掘系统)。

1.3本文研究的内容和意义

本文主要研究的内容是基于FTP日志的数据挖掘系统的预处理系统的设计和实现。为了能够使FTP日志的数据挖掘系统提高准确度和速度,预处理系统作为一个为数据挖掘铺路的系统需要对数据进行二次加工,并在这个基础上建立分布式计算框架,重新建立索引数据库。

第2章可行性分析和需求分析

2.1可行性

为了使基于FTP日志的护具挖掘系统能够重于尽量的贴合实际,通过可行性的分析来达到相应目标,分别从实用性价值,技术操作性,外部运行环境,日常管理进行分析评价:

2.1.1实用性价值:

实用性就是这项物品是否是能应用在生活中,并且能发挥它自身的价值的体现。通过使用存放在学校FTP的日志数据我们实现了数据的准确真实性和准确性的确定,通过一定时段的有目的使用行为我们确定了系统实用性的目标准则。为了体现实用的互动原则我们采取的抽样科目调查也证实数据结果的真实可靠。

2.1.2技术可操作性

这个系统是有我和另外一位同学联合设计和编写,采用了学校FTP站点的数据源,采用使用Java语言的开发平台;使用开源软件组织Apache软件联盟旗下Jakarta子项 lucene作为一个开发搭建关联规则的索引基础,并且借荐分布式计算的模式设计,还有一些关联规则的演算。另一方面在主要算法实现上改良了Apriori。以上的资源通过学校的图书馆查阅资料和国内外网站的发现,在我们已有知识的基础上进行了创新。并且多士可编写,可操作不会涉及侵权的技术研究。

2.1.3外部运行环境

提供前期研究服务主机主要是我们自己的计算机,但是为了能够提供更多的便利性我们可以把主要服务器架设在实验室,以便在我们离开之后系统还能继续运行服务。一般来说我们的运行环境只需要一台可以连入局域网的x86的计算机。但是由于FTP数据系统的数据量非常庞大我们提出多台闲置机器并联或者是用户协助的机制,在多台实验室的闲置计算机上安装我们的一个软件并借用其资源运算。

2.1.4日常管理

软件需要定期维护和垃圾的清扫为此我们需要一位业余的维护员,这是我们的不足之一。我们选择了在实验室学习的同学做为一名简单维护员,他需要在相应的时间里为软件进行相应的重启服务和数据库日志文件相应清理,当然我们也希望系统在我们走后有人了对其进行研究改善

2.2需求分析

2.2.1软硬件环境需求

软件环境:兼容当前主流操作系统 Windows XP/vista/win7等;开发工具eclipse3.6;数据库用MySql;

硬件环境:处理器奔腾II;内存512mb以上。

2.2.2用户需求

在这里我们目的是为了使用户使用的行为为我们的用户提供人性化的建议。这里主要考虑到学生、老师、和教学FTP的建设人员。如图2.1所示。

学生用户使用FTP下载教师的课件的行为产生的原因,哪些比较难的课程导致课程课件短时间进行大量下载,课程之间的相关联性(例如为了完成歌剧课程的了解大量同学回顾了古典历史课程相关课件),同学学习时间分布大量的下载量主要集中在什么时段,学生是否会在考试的前期才进行大量的下载突击学习。

老师用户想知道在自己课件上传后哪些的下载量最大,同学不懂的最多从而及时在课堂上进行回顾复习。课件的使用与一些别的科目有较大的关联性后,应该进行联合教学。

教学FTP的建设人员对教学FTP的修改主要应该在哪里。进行对应课程连接的页面应该增加更多的关联课程连接方便用户的使用。

图2.1 用户需求案列

2.2.3功能需求

在数据预处理阶段和建设索引框架时,要满足数据对FTP日志数据挖掘系统的提速与规范的要求:

数据来源的稳定和持续,教学FTP日志要容易获得且有很高研究价值,它满足用户和设计者之间的交流的可能性。

数据预处理要能够在比较快速的时间完成数据的整理;实现数据的切割数;要保证数据切割后便于数据的传递分发。

建立索引的过程是是进行数据加工算法运算的重要依据保证数据准确的同时也要兼顾空间和时间的最优选择。

数据的规范化是为了满足具体算法在进行相关针对的关联运算时必须要有一种规范化格式,涉及到了用户在接口引用时满足快捷的原则便

第3章FTP日志数据挖掘系统

3.1系统设计的基本原理

文件传输协议FTP(File Transfer Protocol)是现在众多小型办公网络或者区域网络中普遍使用。其主要功能是把我们需要的文件从一个主机的硬盘复制到另外一个主机上,我们所研究的校园教学FTP日志就是FTP服务器中的日志文件,这些日志文件是学生用户和教学老师的使用痕迹。如表3.1所示。

基于FTP日志的数据挖掘系统是为了能够更好的利用在FTP服务器中的日志文件中所包含的信息通过一定的方法挖找出一些描述和预测的信息这样有利于我们教学工作的改进。

表3.1 FTP日志记录

在我们研究中我们的主要目标就是找到其中的数据关联,关联有为简单关联(直接的一种联系)、时序关联(时间上的差异)、因果关联(存在和包含的原因)。这些数据的关联通常要同过分析数据中的关联可信度才能生成,通过寻找关联中最小的可信度,找出最高的可信度关联规则。例如:啤酒销售商对顾客买啤酒时对外包装的上颜色选择的调查中,我们发现外包装不同的同一产品也会影响人们的选购。各年龄层段的人们也有各自不同的看法,但是啤酒商如何选择呢?答案很明显一定会选那些购买产品最多的受众作为目标。

在我们对FTP日志信息中每天会有上万条的信息生成数据量很大,我们想要从中挖掘出对我们有用的信息比较困难,这些后就需要我们队数据进行分析:数据预处理;数据挖掘;结果可视化。

3.2系统构想模型

FTP的数据挖掘系统我们提出了最初的系统设想它包括了数据获得;数据预处理;建立分布式数据库;结果可视化。

数据获得:指通过网络获取远程的一台FTP日志的文件,由于日志文件每时每刻都在更新,我们可启动自动获取机制获取相关FTP日志数据文件。

数据预处理:是对元数据源数据中存在的哪些脏数据(不完整、重复、断裂的数据)进行初步的筛选整理。这样主要是为了提高算法的运行速度,并且提高数据挖掘结果的正确性。

FTP日志数据已经具有一定格式,在对格式的正确分析,通过模糊匹配方法找到我们主要使用的数据,对其它杂乱没有用的数据进行相应的剔除。

对基础数据经过标准化清理和重排后,用新数据建立一个全新数据结构的库文件。新的库文件是我们建立索引库的依据,这样才能在总体上方便我们的挖掘算法实现规范化的挖掘,使结果有很高的统一性和准确性。

数据挖掘:是在结构化的库文件的基础上,使用设计好的挖掘算法(主要是算法的关联规则)运算数据。并且得出课程相互间的关联性高低。

结果可视化:我们得出的结果只是数据表格,还需要通过可视化处理使得用户有比较直接的感官体验。

阳痿早泄这病要对症下药才能治好,有一个中医治这方面的效果很好,他的威信msdf003,我是硬度不够加轻度前列腺炎,他用中药给我治疗将近两个月,目前停药几个月了,现在吃辣椒和喝酒前列腺炎都不会复发了,硬度方面也一直都很好。

第4章数据挖掘中的预处理系统

4.1数据处理预处理

作为挖掘系统的优先处理部分数据预处理他关系到了数据业务在处理过程中是否合理;直接影响到处理的速度;最重要的是最终结果的生成数据的准确性。数据挖掘为的是发现数据间存在的直接或者间接的关联,并通过这些关联规则对我们的行为进行修改从而达到提高效率或者说是改善环境的目的。

数据的现状,我们要处理的数据是日志型文本状态的数据,由于数据最初设计时候并没有打算以后会有相关的数据发掘的用途,所以数据在很大程度上是一种无目标的简单存放,我们通过对日志的研究发现里面存在大量的无用数据(记录开关机;重复的日期时间;管理员查看行为的数据;用户重复点击同一数据多次记载的项)。

4.2文件获得与总述

由于FTP数据所在的计算机是特定的电脑,如果可以用它作为我们FTP 日志挖掘的服务器端肯定会比较便利的直接获得数据这种方法会拖慢这台校园服务器的运行速度,所以我们建立了一个固定获取端在每隔一定时间自动获取数据流到FTP日志的分析主机。如图4.1所示。

图 4.1文件的获得

4.3文件分割器基本设计流程

文件分割的目的很简单为了实现计算速度在分布式中的计算我们希望通过

多台协作的计算机来对一个巨大的数据包进行运算,但是我们不可能自由的传递小数据到这些计算机,所以在我们系统的主机上需要一个很重要的分割功能。具体说来就像我们要拷贝一个大型超清的电影,但是我们手上只有多个不同容量的较小的优盘。显然我们无法通过正常手段把电影通过优盘传送过去。我们希望通过把电影分割成多个部分,每个部分满足优盘的安全容量这样我们才有可能保存电影。这个过程需要计算每个优盘的容量并且准确的分割电影文件。当然在往后的组装中我们也需要一定的顺序实现数据的安全连接确保电影的完整性。如图4.2所示。

文件分割方式有很多种从早期对折序列,到用vc开发的自然代码分割我们看到人们迫切需要一种合理的又不会出现错误的分割出现到新一代pc阶段开始出现大量不同名目的分割器专门用于影视类文件Rmvb的分割器海啸分割器;以及Horse文本类的分割器;还有日常都会用到视频类处理软件Premier都有相应的功能。

图 4.2文件分割器工作流程

4.4文件分割的主要方式

文件的拆分中考虑的最多的应该是数据的完整性,在数据的分割过程因为数据会产生断裂的现象,这种现象称之为破坏数据。在一定程度上讲破坏数据,就是对数据的丢失(1:在网络的传输过程中丢失;2:系统存储时的丢失;3原数据的不完整)。以上因素是在数据获得前已经存在的数据问题。

在我们的处理过程中,所有数据都会在切割的被程序机械的分段这就是我们最客观的数据损坏的过程数据。主要的分割方式有逐行的分割和逐块的分割。如图4.3所示。

4.4.1逐行分割

优点:首先我们的数据是以一种行的方式记录的,每一条记录的的字段都是相同的不同的只是记录内容的不同。这样如果我们一行读取的方式进行切割只要区分头尾,并且按照遍历的一般要求就能进行准确的相对应的读取数据块的信息。并且保证了数据最大的完整性。

缺点:逐行读取分割是一个完备的方法,但是在现行的硬件基础上,它的可行性并不高。因为我们要在短时间内实现数据的切割和分发,这就要求我们的速度必须要快。但是在时间和空间的交换位置上,我们不可以两者兼得。我们想要达到最深层次的精确,这样会让时间丧失分割的部分过多,这样会造成用户使用上的不便,等待时间过长。

4.4.2逐块分割

优点:把大的数据块分成小的的数据块,在对数据分割过程中会有比较大的时间优势,因为块数的分割不需要对数据进行逐条遍历。这样大大缩短了时间,使用户的体验感必会因为时间的延迟而感到不耐烦。

缺点:按块来进行分割会使读取数据的电脑有比较大的内存压力,这种压力会体现在本机运行速度减慢,一定程度的读取更可能会造车计算产生死机的现象。另一方面在进行数据分割的过程中一条完整的数据很有可能会被拦腰折断,造成数据的不完整性,会对最后的结果产生影响。

在进行优缺点对比的同时,我们发现在现行的网络和用户体验中对速度的要求占了主要方面,所以我们也必须选速度较为快捷的而方法对数据进行处理,

我们以分割数据块为方法,同时我们为了能够使分割过程中的数据能最大限度减少出错的几率我们进行相应的而设计。

图 4.3文件分割方式

4.5检测器和分割器

为了把分割数据时的速度性和稳定性兼顾,还有就是对原数据尽量减少破坏,根据这些原理把数据块把分割器分为两部分:检测器和分割器。

4.5.1检测器的原理

检测器:检测每台机器能提供的Java虚拟机大小并返回。扫描目前可提供服务的计算机数,自定义Scaning类返回目前可提供服务的life-computer数量。返回0则无需考虑分机计算,直接根据主机Java虚拟机大小分割。返回数不为

0时则进一步获取虚拟机大小。为了保证为一台计算机提供的计算能力不会影响其自身的工作需要,我们通过Get(maxsize)得到这台计算机目前活动的Java 虚拟机的内存活动大小。并返回各台计算机n1,n2,n3……n+的实际能力。如图4.4所示。

图 4.4检测器工作流程

4.5.2分割器个工作原理

分割器:对已经获取的到的FTP日志文件进行标记保存。拆分主函数SeparatorFile获取可提供计算机数n+,并根据数量生成相应的拆分文件夹。并标记排列大小,单一主机不执行这一步。生成查分目录后对原数据块进行移动分割,通过Blocknum标记块数,开始进行数据块分割同时完成相应的数据打包压缩。循环写入硬盘,确保数据块完整检测。通过CreateTransferTask把拆分文件地址和大小以及顺序写入数据包头中。生辰如图4.5所示。

图4.5文件分割器工作流程

通过执行传输任务把相应的任务通过传输服务器传输分发。并确保返回是否收到以及大小确认,出现错误应答重新上传。

数据分析处理

因为既定的研究目标是课程之间的关联性在分割传输完毕后,我们需要对其中的数据进行特定筛选,只先选出课程名和和主机地址,登陆时间等。如图所示为主要数据处理所有过程。

图4.6数据分析处理主要流程

相关主题
文本预览
相关文档 最新文档