论文部分内容阅读
随着软件系统在现实生活中担当的角色越来越重要,大多数用户都已不仅仅满足于系统可运行,而是开始关注系统产生的各种各样的数据,从众多的数据中,分析、挖掘出了更多更有价值的信息。本文将这些系统运行时记录或产生的、业务范围外的数据统称为“日志”数据。日志数据范围广、种类多、内容杂,但是如今的存储设备已有足够大的容量,让人们可以随心所欲地记录任何关心的日志数据。相对的,找到处理这些数据的手段却成了难题。目前,公司的业务系统每天都会产生大量的日志文件,但没有合适的方法来处理。运维人员在日志数据采集、传输、维护上花费的精力很大,但是收效甚微。庞大的数据量,如果得不到充分的利用,只会白白地占用空间,维护成本却越来越大。现在急需一个集采集、集中、维护于一体的自动化日志系统,为大数据日志的处理提供有效手段。因此,本文给出了一个处理大数据日志的系统的设计与实现,将其与大数据的应用相结合,实现了基于MongoDB的日志系统。由原来低效、处理困难、难以利用的日志系统转变成较为高效、自动化程度高、可进一步分析利用的日志系统。最后,进行了性能测试,编写了简单的示例程序,证明该日志系统在解决大数据日志问题上的可行性。本系统利用maven构建,可以便利地管理项目生命周期的每一个阶段;使用MongoDB存储和管理日志数据,可以利用它的高性能和自带的数据处理工具,来对大数据量的日志进行处理;继承了开源项目log4j的相关类来记录日志,并将log4j集成到业务系统的配置中;使用Tomcat作为项目的服务器,轻便廉价;文档和代码等文件的版本,使用sVn工具来管理,显著降低了管理的难度。本文主要描述了系统需求、项目各模块分析与设计、各模块具体实现,最后给出了验证结果。这一部分描述了从大致框架到局部细节所做的工作。并给出相关图表辅助说明。本项目是使用非关系型数据库进行大数据日志处理的一次成功的尝试,本项目也会为其他同类项目提供重要的参考和借鉴价值。