基于hadoop的网络数据捕获与检测毕业论文
2021-04-01 21:16:11
摘 要
随着大数据的兴起,数据的重要性越来越突出。网络数据通常是人们进行数据分析和挖掘的原始数据,但是其数据格式通常是二进制数据,如PCAP和ERF等。对网络数据进行数据分析和挖掘的首要步骤便是对二进制数据的处理,即从原始数据中按照一定规则提取出需要的信息,以易读的文本或者表格的形式存储。在传统的网络数据的解析工作中,受制于数据存储空间和数据计算模式等方面的限制,大大制约了大批量网络数据的处理速度。由于网络数据处理系统所处理的数据是很庞大的,因而对数据处理的能力要求很高。作者的主要研究如下:
分布式数据库HBase中数据表的横向扩展和独特的KeyValue格式的数据存储形式为大数据提供了数据存储和快速数据查询能力。本文完成了ERF网络数据上传至分布式文件系统HDFS、根据对应的XML文件解析多种类型的网络数据、创建HBase数据库存储数据和HBase数据导入与数据查询、网页客户端web开发的优化等一系列网络数据处理工作。以本文的实验条件,10G的网络数据处理完只需十几分钟,数据处理的效率相对比较高。
本文提出了基于Hadoop的网络数据的捕获与检测解决方案。本文中的数据格式为ERF,数据量为每天1T左右。本文根据ERF数据的特点联合分布式框架平台Hadoop针对海量数据的计算优势,改进了对于网络数据的存储模式和解析模式。
本文创新性的提出了一种新的MapReduce对二进制数据解析的一套算法,并在论文中得以实现。实验证明,该方案有效的解决了MapReduce对二进制数据读取和解析的问题。在此基础上本文实现的海量网络数据的处理系统,在分布式架构下从数据存储和解析等角度,实现了一个系统自动化、稳定的处理系统,有良好的应用前景。
关键词:网络数据,MapReduce,HBase,web
Abstract
Network data is usually the raw data for data analysis and mining, but its data format is usually combined with network communication protocols to form binary data, such as PCAP and ERF. The first step of data analysis and mining of network data is the analysis of binary data, which is from the original data according to certain rules to extract the required information stored in readable text or table. In the traditional analysis of network data, it is limited by the data storage space and data computing mode, which greatly restricts the processing speed of large amount of network data. Because the data processed by the network data processing system is huge, the ability to process data is very high. The author's main research is as follows:
In the distributed NoSQL database HBase, the horizontal expansion of data tables and the unique form of data storage in KeyValue format provide data storage and fast data query capabilities for large data. This paper completed the ERF network data uploaded to the distributed file system HDFS, according to the network data and the corresponding XML file parsing of various types of network data, create HBase database for data storage and input the HBase data and the data query, web development web client optimization of a series of network data processing. In this paper the experimental conditions, 10G network data processing only about ten minutes, the data processing efficiency is relatively high.
This paper presents a solution of network data capture and detection based on Hadoop. The data format in this paper is ERF, and the amount of data is about 1T per day. According to the characteristics of ERF data, the joint distributed framework platform Hadoop has improved the storage mode and data analysis mode of network data for the advantages of massive data computing.
In this paper, a new algorithm for parsing binary data by MapReduce is proposed and implemented in this paper. Experimental results show that the proposed scheme effectively solves the problem of MapReduce reading and parsing binary data. This massive network data processing system based on the distributed architecture in data storage and analysis from the point of view, to achieve a stable system, automatic processing system, and has a good application prospect.
Keywords: network data, MapReduce, HBase, web
目 录
摘 要 I
Abstract II
1. 绪论 1
1.1 论文研究背景 1
1.2 数据处理模块的国内外研究现状 2
1.3 本文主要研究内容 3
1.4 论文组织结构 3
2. Hadoop之下各种技术概述 5
2.1 设计需求与技术选择 5
2.2 分布式框架Hadoop 6
2.3 Hadoop文件系统HDFS 7
2.4 并行计算框架MapReduce 10
2.5 分布式数据库HBase 12
2.5.1 非关系型数据库介绍 12
2.5.2 Hadoop之上的分布式数据库HBase 13
2.6 本章小结 16
3. 海量网络数据处理系统设计 17
3.1 方案设计原则 17
3.2 方案总体设计 17
3.2.1 功能模块介绍及实现目标 18
3.2.2 软件工作流程 19
3.3 本章小结 20
4. 海量网络数据处理系统的实现 21
4.1 数据捕获模块的设计与实现 21
4.2 网络数据解析需求介绍与分析 22
4.3 基于MapReduce的二进制文件解析策略及实现 23
4.3.1 InputFormat类和RecordReader类 23
4.3.2 网络数据文件读取和解析策略 25
4.4 HBase非关系型存储的设计与实现 27
4.4.1 HBase表的结构设计 27
4.4.2 HBase的性能优化 28
4.5 Web端实现 29
4.5.1 基于JSP与Servlet的Web端架构 29
4.5.2 Web端与HBase的交互 30
4.5.3 Web端的实现 31
4.6 本章小结 33
5. 海量网络数据处理系统的测试与分析 34
5.1 分布式处理平台搭建 34
5.1.1 硬件网络拓扑搭建 34
5.1.2 软件版本控制 35
5.2 数据捕获模块实现测试 35
5.3 MapReduce解析网络数据的效率 37
5.4 HBase优化前后导入和查询效率对比 41
5.4.1 HBase数据导入的效率 41
5.4.2 HBase数据查询的效率 42
6 总结及展望 44
6.1 总结 44
6.2 展望 44
参考文献 46
致谢 48
- 绪论
论文研究背景
随着网络构造日趋复杂 ,网络结点日益增多,网络数据的数目也发生显著增长。随着数据量的不断地上涨,泛起了一些制约数据挖掘模型的因素。首先是海量数据的数据存储问题,其次是数据解析。在这期间,数据解析技术的快速发展,人们按照内容得到的系统数据信息不断丰富,人们通过回归、聚类等具体数据解析方法对系统数据进行处理分析后根据需要得到的数据信息,这些信息可以反映出某些方面的信息,满足用户的相关需求。
数据量的增加对数据的捕获、处理、存储和检测提出了较高的要求。数据捕获根据应用场景不同采取的捕获方式不同,决定捕获方式的因素有很多,如系统运行环境、数据流量、数据源等。在数据量骤增、数据结构多样的现在,传统的数据处理和存储模式面临着巨大挑战。在数据存储方面,传统数据存储介质为关系型数据库SQL,常用的有MySQL,Oracle,SQL Server。这类数据库是由二维表及之间的关联所组成的一个数据模型。此类数据库的数据处理模式主要有以下几个瓶颈:对于大规模数据的读写效率较低:关系型数据库需要索引来进行查询,由于数据库的理念和结构的限制,压力越来越大[1],效率再难有提高。同时数据库将数据习惯上存放在不同表当中,导致时常需要各表联合查询,查询效率较低;扩展性不足,传统的数据处理模式是在单服务器的条件下运行的,面对不断增长的数据量,传统模式不能灵活的扩展,数据处理的效率会大受影响。