论文部分内容阅读
互联网的快速发展深入影响着人们的日常生活。其中,微博作为近年来热门的实时信息分享平台,拥有众多的使用者;每天都会产生大量的微博数据。对微博数据进行有效的监控和管理是网络管理的一项重要内容。而海量的网络数据中存在多种类型的业务流,因此,准确高效地提取出微博业务流有重要的意义和应用价值。本文主要研究了网络数据捕获技术、微博业务流重组和解析技术,并在此基础上设计与实现了一个高性能的微博业务流解析及管理系统。本文所做的具体工作和创新之处列举如下:1.实现了基于PF_RING的网络数据捕获机制。该机制能够显著提高捕获效率,而且能够与基于Libpcap捕获数据的应用无缝集成,有良好的拓展性。2.改进了基于Libnids的TCP重组算法。原基于Libnids的TCP重组算法会重组捕获到的所有TCP报文,其时间和内存消耗巨大,无法满足本文的设计要求。鉴于此,本文结合微博报文识别字段改进了重组算法,在识别微博报文的基础上仅针对微博报文进行重组。由于网络中微博报文所占比例很小,因此,改进的重组算法显著降低了时空复杂性。3.本文研究了正则表达式、Aho-Corasick算法以及Wu-Manber算法解析微博业务流的性能,针对这些算法性能不佳的问题,结合微博业务流中待解析字段在TCP会话中的分布情况,提出了STLFilter算法;该算法对微博TCP会话中待解析的字段进行分区域解析,显著提高了微博业务流解析的效率。4.本文设计与实现的系统利用WebSocket协议,实现了微博解析数据的实时可视化,提供对微博数据的多种管理功能。实验验证表明:与本文研究的其他解析算法相比,本文提出的STLFilter算法解析一个微博会话的平均时间消耗减少了82.05%以上;与基于Libnids重组算法的系统相比,采用改进重组算法的系统其时间消耗、CPU占有率以及内存占有率分别减少了28.00%、41.48%和86.75%。通过对系统测试结果的分析,证明本文设计与实现的系统性能良好,达到预期的设计目的。