摘要:数据挖掘(Data Mining)是在大型数据存储库中,自动发现有用信息的过程。它用来探查大型数据库,查找有用数据,并预测未来观察的结果,其目的是在于如何善用数据。基于java的数据挖掘系统,包含了数据的解析、传递、处理、存储、显示。系统通过对计算机日志文件数据的解析实现点对点的计算机维护模式,通过收集各用户发送给小型服务器的数据文件的解析,获取客户的数据信息。经实际调试,实现了以字节为单位的解析、以端口和IP为连接的数据传递、以字节为单位的数据处理、以Oracle为基础的数据存储和jsp语言环境下的网页显示。
关键词:大数据;数据挖掘;维护
1 绪论
研究意义
数据挖掘技术在各个领域都有着极大前景。
在医学上,对于庞大的医疗信息记录,数据挖掘技术可以从中挖掘出有用的信息和规律,并将这些规律应用于医生的诊断过程、对潜在的高患人群进行排查和预防、以及帮助政府制定医疗政策、社区群体进行医疗防护等方面。
在司法政治领域,数据挖掘技术可以通过分析固定人群的信息数据,从而预测出人们的行为模式,从而更好的帮助升学、置业等重要决策,也可以帮助制定更能够惠于民的政治策略。
数据挖掘更常用的领域是现今的商业活动中,决策者往往需要通过既成数据和以往经验来做出决策判断。决策过程可通过商业智能来帮助决策者。商业智能通常被理解成企业中的现有数据,如企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据等,转换为只是,帮助企业做出明智的业务经营决策的一种解决方案。
伴随着信息化进程的深入,海量信息大量积聚,如何能从这些信息中获取有用的知识,并指导人们的日常工作生活,成为了一个至关重要的问题。可以说,把握了海量数据分析处理的方法,就把握了未来信息化社会里最重要的一种科技技术力量。
2 项目所需技术基础
项目所需技术基础是指要实现我的设计需要的技术知识,是完成这个设计最基本的要求。完成我这个设计应当掌握Myeclipse的使用,能熟练的在JVM中开发一个程序;需要懂得一些数据库语言(这里特质Oracle)的编程;并且会服务器这里特质Tomcat服务器)的搭建;能够使用javaScript语言对网页编程。
3 系统设计
3.1 客户端的设计
需要通给定格式获取指定位置的信息,因为各信息的位置已知,并且我们需要的信息并不是所有的信息,而是中间我们需要的一部分,所以我们可以建一个LogData类来描述,有了这个类后,在下面只要是用到获取相应信息,我们都可通过该类的get,set方法获取或改变相应的信息。而且,因为各个信息的名字已知,那么我们可以通过一个xml文件来设定其名称,当然直接在代码里面写也是一样,由于xml文件的直观性,我们通过xml文件有利于以后通过其他需求更改设置。对于xml文件里面的内容,没对数据由两部分组成name和value。由此,很容易想到通过map来调用。要通过java文件获取xml文件里面的内容要使用一个类saxreader,综合map的使用,可得到一个思路:通过saxreader读取返回一个map文件,map文件里面有前文提到的name和value,获取得到value之后便把他们赋值给最开始已经定义好的变量,留待下面使用,然后就可以读取信息了。
三个判断:要解析日志得先判断是否有日志可以解析,于是创建一个hasLogs方法,而要判断是否有日志可以解析,必须引入一个标志,在这里将这个标志命名为lastposition,只要总日志文件的大小减去lastposition的大小小于一条日志文件的长度那么表示已经读到最后一条日志文件。这里要读取一条文件大小要执行IO操作,后续的操作中有很多地方还要使用类似的操作,不妨将这些操作封装为方法,放在工具类中。这里用到了一个方法readLong,若是读取的是最后一条那么返回-1,为了防止抛出异常,还要判断要读取的文件是否存在,读取后保存的文件是否存在,因为只保存一次,那么如果存在,就是说已经保存完,再保存的话会出错。三个判断完成后可进行解析了。
期刊文章分类查询,尽在期刊图书馆
解析:解析的原则是我们知道每一个信息的具体位置,由此最好用到一个指针,使得可以读取指定位置的信息,对此用到了RandomAccessfile,这里用到了一个技巧,就是先读取一条数据的所有信息,然后循环。当然在循环里面得插入一个判断:是否读取到了最后一条数据。循环读取完后,将所有已读取的数据保存在本地,这里又要用到IO 操作,同样封装成方法----saveCollection放到IOUtil工具类中。
3.2 数据库连接类
该类是数据库管理类,负责驱动的加载,以及数据库的连接 所有需要使用的数据库的的房,都从当前类中获取Connection操作数据库即可这样的好处是,只有当前类关注驱动的加载以及数据库的连接,易维护。
静态块: 当类第一次被JVM加载时调用,通常用来初始化诸如静态属性等工作。读取配置文件:初始化静态属性properties文件,该文件是一个文本文件,常作配置文件使用与XML文件不同,properties文件没有复杂的嵌套结果,适合结构不复杂的数properties文件以行为单位,一行一条记录。每条记录的格式:name=value不要空格Properties类用于读取properties文件将每一行记录进行解析,在使用时我们只需要给定name就可以获取对应的value了。
3.3 数据库存储类
此类用于将服务端收到的数据存储到数据库。批操作 批操作可以一次缓存多条SQL语句,然后一次性发送给数据库服务器。这样可以减少网络IO的次数从而提高通讯的效率。首先通过DBUtil使服务端与数据库建立连接,然后写出sql语句通过preparstatement方法批量插入到数据库里面,这里为什么用prepareStatement而不用statement,是因为statement每发送一次数据就应该把所有代码发送过去,不管是否重复,而prepareStatement则是将所有重复代码第一次发送,而后只发送不重复的数据,可充分缓解数据库的压力。
3.4 数据对象类
此类的每一个实例用于表示wtmx文件的一条日志信息
1 定义常量
2 构造方法该构造方法会根据给定的字符串,将其转换为一个LogData实例。这个字符串的格式应当是当前类toString方法生成的。
3 按照","拆分字符串 ,对于所有变量定义其get set方法。
4 LogData的toString方法返回的字符串格式:user,pid,type,time,host。
3.5 配对好的日志
该类的每一个实例用于表示一组配对日志。一对配对好的日志是由Login和Logout两条数据组成,传入两条参数,然后通过toString方法直接连起来,最后再返回。
4 检验测试
4.1 数据的连接
先打开服务器,打开客户端,让客户端与服务器建立连接(通过电脑IP和端口),后客户端开始解析日志文件,获取数据后将起发送给服务器,服务器将数据存储在数据库里面。
4.2 数据的存储
当数据被发送给服务器之后,服务器的运行会自动连接数据库,并将从客户端发送过来的数据自动存储进数据库之中,
4.3 数据的显示
这是用来使jsp接收数据的过程。Jsp加载已设计好的is设计模板,通过程序员编写代码,最后能够使程序接受来自数据库的数据。
经过上一步的调试,通过程序的运行,输入相关网页地址后,打开页面可以清晰的显示数据库中的数据。
作者简介:陈浩(1992—)男,湖南岳阳人
论文作者:陈浩
论文发表刊物:《基层建设》2017年6期
论文发表时间:2017/6/27
标签:数据论文; 文件论文; 数据库论文; 信息论文; 方法论文; 服务器论文; 日志论文; 《基层建设》2017年6期论文;