论文部分内容阅读
伴随着分布式技术和网络技术的飞速发展,服务系统中每天都产生着大量的数据日志,随着数据量的与日俱增,基于海量数据的数据分析方法应运而生。在传统的CDN系统中,地域分布广、网络延迟高的特点下,传统的数据分析方法无法满足现有的需求。在这种巨大的转变之下,产生了分布式节点架构下的海量网络流量日志分析系统。本文综合分析了传统日志分析系统在CDN系统下的局限性,从而设计实现在分布式架构下的海量网络流量日志分析系统,这在一定的程度上解决了数据量剧增网络状况差的问题,因此,本文的研究更加具有实用意义。海量网络流量日志分析系统的设计与实现,日志源来自360直播云CDN日志。系统分为两个部分。实时统计分析部分:实时统计分析部分又下设五个模块,分别是日志文件监控模块、业务分析模块、数据发送模块、中心汇聚模块与持久化存储模块。日志文件监控模块负责监控单台服务器的日志文件,将日志文件中产生的内容同步给业务分析模块。业务分析模块负责具体的统计和分析工作,单个节点服务器的分析结果通过数据发送模块发送到中心汇总服务器,由中心汇聚模块进行汇聚,然后有持久化存储模块进行可持续化存储,将结果存储到中心服务器的数据库中,等待前端界面展示的时候调用。离线拆分合并部分:离线拆分合并部分又包括以下四个模块,分别是日志读取模块、切割分块模块、日志同步模块与中心汇总排序模块。日志读取模块将日志文件成块的读入内存,并拆分成行然后交给切割分块模块;切割分块模块将日志文件按照频道分类切割到不同文件中,并为每一个文件建立相应的索引文件;日志同步模块将生成完整的分块文件和索引文件定时同步到中心汇聚日志服务器;中心汇总排序模块将同步上来的日志文件与索引文件进行合并排序,并按照频道归档打包压缩,存放在服务器硬盘中等待用户下载。本文主要是通过以上的技术和原理将系统进行设计和实现,系统各模块都是单独编码和编译,复用率高,耦合性低。经过长时间的大量测试,对整个系统进行了功能性和性能性测试,并对测试结果进行分析,得出本系统具有较高的实用性和可行性特点。