CN113452713B - 一种基于双重采样的专线环境下网络数据载体判重方法 - Google Patents
一种基于双重采样的专线环境下网络数据载体判重方法 Download PDFInfo
- Publication number
- CN113452713B CN113452713B CN202110727228.0A CN202110727228A CN113452713B CN 113452713 B CN113452713 B CN 113452713B CN 202110727228 A CN202110727228 A CN 202110727228A CN 113452713 B CN113452713 B CN 113452713B
- Authority
- CN
- China
- Prior art keywords
- data
- network data
- sampling
- file
- abstract
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于双重采样的专线环境下网络数据载体判重方法,包括实时数据采样处理、离线预处理、任务分组编排、采样摘要处理和判重分析处理五个步骤。本发明的基于双重采样的专线环境下网络数据载体判重方法,用于解决在分布式网络流量处理过程中,因为网络数据载体存在上下级或包含关系,导致的数据重复问题。利用双重采样机制,结合多线程技术、事件通知机制、相关数据分组、任务编排、摘要数据序列化及反序列化、Hash查找等算法,实现网络数据载体重复性的判断,同时计算出其重复关系的置信度。
Description
技术领域
本发明属于网络数据处理领域,特别涉及一种基于双重采样的专线环境下网络数据载体判重方法。
背景技术
在分布式、多节点网络流量采集处理业务领域,通常存在因为节点部署的位置存在上下级或包含关系,如市级和省级同时对流量进行采集处理,可能会出现相同的数据在系统中出现两次甚至多次的情况。出现这种情况的原因在于,承载网络数据的载体存在中继或延伸。这种情况对采集、处理资源来说是一种浪费,同时相同的数据在数据融合和关联分析场景下,会造成业务上的数据冗余和复杂度提升。
因此需要提出一套行之有效的基于双重采样的专线环境下网络数据载体判重方法,可以对这种重复采集的载体进行识别,对重复数据进行规避处理,既能节省处理资源,提升整体处理能力,又能有效屏蔽重复数据对后续挖掘分析任务造成的不利影响。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于双重采样的专线环境下网络数据载体判重方法,用于解决在分布式网络流量处理过程中,因为网络数据载体存在上下级或包含关系,导致的数据重复问题。利用双重采样机制,结合多线程技术、事件通知机制、相关数据分组、任务编排、摘要数据序列化及反序列化、Hash查找等算法,实现网络数据载体重复性的判断,同时计算出其重复关系的置信度。
本发明的目的是通过以下技术方案来实现的:一种基于双重采样的专线环境下网络数据载体判重方法,包括实时数据采样处理、离线预处理、任务分组编排、采样摘要处理和判重分析处理五个步骤。
进一步地,所述实时数据采样处理用于对海量实时数据进行解析处理,完成指定TTL数据的识别和离线存储,包括以下步骤:
S11、报文抓取:根据工程规范约定的协议格式对私有协议头进行解析和剥离;
S12、协议解析:按照标准TCP/IP协议对网络数据内容进行解析,提取出外层IP的TTL值;
S13、TTL检测:根据TTL值是否为255来判断是否是路由器发出的第一跳数据包,若是则执行步骤S14,否则返回步骤S11;
S14、离线PCAP文件生成:以同源同宿策略将网络数据包写入离线PCAP文件。
进一步地,所述离线预处理用于实现对离线PCAP文件的读取和解析处理,具体包括以下步骤:
S21、协议解析:从消息队列中获取文件信息,根据文件路径提取离线PCAP文件;
S22、抽取六元组:逐帧读取数据记录,按TCP/IP标准解析PCAP帧,提取出链路层、源IP、目的IP、源端口、目的端口、协议号六元组信息;
S23、会话管理:基于六元组计算出hashkey,作为一个会话的唯一标识;
S24、记录入库:以会话为单位将度信息写入数据库中;
进一步地,所述任务分组编排用于基于数据库中的hashkey字段进行网络流量载体分组,对同一个分组内的多个载体两两结合,进行任务编排;包括以下步骤:
S31、hashkey分组:对数据库中存储的会话数据信息,按hashkey进行分组,并计算每个hashkey对应的去重后的网络数据载体个数;
S32、任务分组编排:筛选出网络数据载体个数大于1的分组集合,对这些集合中的网络数据载体两两结合,编排成数据摘要处理任务参数,写入digest_task属性表中。
进一步地,所述采样摘要处理用于根据编排好的任务对两个网络流量载体对应的PCAP文件进行二次采样处理,形成满足要求的摘要信息,汇总至任务摘要记录表中;包括以下步骤:
S41、获取任务参数:从digest_task属性表中,取出未被处理的采样任务,根据任务参数中的文件路径获取PCAP文件的绝对路径;
S42、根据文件大小确定二次采样的采样比;
S43、读取PCAP文件,按照采样比例,抽取出特定帧,记录帧序号,并计算MD5值,作为该帧的摘要信息;
S44、遍历整个PCAP文件,最终形成帧序号、MD5摘要的集合,利用序列化方法进行序列化后写入任务摘要表中。
进一步地,所述二次采样具体操作为:
对于1000帧一下的文件,进行全采样;
对于1000~10000帧的文件,取IP层校验和末尾4bit为0x000F的数据帧;
对于10000~100000帧的文件,取IP层校验和末尾8bit为0x00FF的数据帧;
对于100000~1000000帧的文件,取IP层校验和末尾12bit为0x0FFF的数据帧;
对于1000000~10000000帧的文件,取IP层校验和末尾14bit为0x3FFF的数据帧;
对于10000000帧以上的文件,取IP层校验和末尾15bit为0x7FFF的数据帧。
进一步地,所述判重分析处理用于基于任务摘要记录,对摘要进行比对分析,判定两个网络数据载体是否重复及计算重复置信度;包括以下步骤:
S51、摘要反序列化:从digest属性表中,按任务ID读取同一任务对应网络数据载体的两条摘要记录,并进行反序列化处理;
S52、hash查找:从反序列化后的摘要数据中解析出MD5、网络数据载体名称、帧序号信息,以第一个文件对应摘要数据中的MD5为key建立hash表,使用第二个文件对应摘要数据中的MD5从hash表中查找有无相同MD5:如有相同则记录,否则查询下一个MD5值;
S53、置信度计算:分别计算出两个网络数据载体对应的采样帧数m和n,以及相同帧数k,计算出两个网络数据载体的重复置信度;
Conf=k*2/(m+n)
S54、结论输出:若重复置信度大于0即认为两个网络数据载体存在相似,输出相似性结论及重复置信度。
本发明的有益效果是:本发明的基于双重采样的专线环境下网络数据载体判重方法,用于解决在分布式网络流量处理过程中,因为网络数据载体存在上下级或包含关系,导致的数据重复问题。利用双重采样机制,结合多线程技术、事件通知机制、相关数据分组、任务编排、摘要数据序列化及反序列化、Hash查找等算法,实现网络数据载体重复性的判断,同时计算出其重复关系的置信度。
附图说明
图1为本发明的基于双重采样的专线环境下网络数据载体判重方法的流程图;
图2为本发明实时数据采样处理的流程图;
图3为本发明离线预处理的流程图;
图4为本发明任务分组编排的流程图;
图5为本发明采样摘要处理的流程图;
图6为本发明判重分析处理的流程图。
具体实施方式
本发明通过采集实时网络数据,分析网络数据的链路层、网络层信息,提取出TTL值,筛选出TTL值为255的数据,进行第一轮采样处理,过滤出路由器发出的第一跳数据,过滤掉其他设备产生的庞大数据,极大程度降低后续分析的数据量;本发明将TTL值为255的数据按指定格式落盘为PCAP文件,为后续离线分析提供有效样本数据,将实时数据无法有效验证的问题转换为离线可证问题;本发明通过对离线PCAP预处理,抽取六元组并计算出hashkey代表会话流,以会话流为单位将多维度信息写入会话属性表中,对大量原始数据进行特征抽样,降低了无关属性的干扰,聚焦于网络数据载体关系分析的关键字段;本发明通过以会话流中的hashkey进行分组,根据特定策略将分组数据形成任务属性表;本发明根据任务属性表中的记录信息对原始PCAP文件进行加载处理,并根据文件大小进行第二轮采样,形成文件摘要信息写入任务摘要表中,对动辄上G大小的文件进行第二轮采样,将摘要信息压缩至合理的、可接受的量级内,使关系分析和置信度计算成为可能;本发明通过对文件摘要表中的记录做反序列化操作和Hash查找,最终计算出两个网络数据载体重复关系的置信度。
下面结合附图进一步说明本发明的技术方案。
如图1所示,本发明的一种基于双重采样的专线环境下网络数据载体判重方法,包括实时数据采样处理、离线预处理、任务分组编排、采样摘要处理和判重分析处理五个步骤。
所述实时数据采样处理用于对海量实时数据进行解析处理,完成指定TTL数据的识别和离线存储,其流程如图2所示,包括以下步骤:
S11、报文抓取:通过网络流量实时抓取对实时的网络数据包进行采集,利用专用网卡SDK和DPDK进行海量数据的线速采集,为后续的分析处理环节做数据输入;然后根据工程规范约定的协议格式对采集数据的私有协议头进行解析和剥离;
S12、协议解析:按照标准TCP/IP协议对网络数据内容进行解析,提取出外层IP的TTL值;
S13、TTL检测:根据TTL值是否为255来判断是否是路由器发出的第一跳数据包,若是则执行步骤S14,否则返回步骤S11;
S14、离线PCAP文件生成:以同源同宿策略将网络数据包写入离线PCAP文件,同时以一定策略生成文件名,PCAP文件以网络数据载体名称、处理设备IP、创建时间戳、序号等命名。离线文件写入策略包括文件大小、超时时间等,即满足一定大小或写入最后一帧后到达超时时间没有新的数据包可写入,即切换写入另一个PCAP文件,同时将文件信息写入消息队列,由离线预处理线程读取并做后续处理。
如图3所示,所述离线预处理用于实现对离线PCAP文件的读取和解析处理,具体包括以下步骤:
S21、协议解析:从消息队列中获取文件信息,根据文件路径提取离线PCAP文件;
S22、抽取六元组:逐帧读取数据记录,按TCP/IP标准解析PCAP帧,提取出链路层、源IP、目的IP、源端口、目的端口、协议号(对于类似ICMP之类的协议,源端口、目的端口、协议号默认为0)六元组信息;
S23、会话管理:基于六元组调用Murmurhash算法计算出hashkey,该hashkey作为一个会话的唯一标识;
S24、记录入库:以会话为单位将度信息写入数据库中,将hashkey连同六元组信息、文件属性信息等写入frame属性表中。
所述任务分组编排线程周期性运行,其流程如图4所示,所述任务分组编排用于基于数据库中的hashkey字段进行网络流量载体分组,对同一个分组内的多个载体两两结合,进行任务编排;包括以下步骤:
S31、hashkey分组:对数据库中存储的会话数据信息,按hashkey进行分组,并计算每个hashkey对应的去重后的网络数据载体个数;
S32、任务分组编排:筛选出网络数据载体个数大于1的分组集合,对这些集合中的网络数据载体两两结合,编排成数据摘要处理任务参数,写入digest_task属性表中。
如图5所示,所述采样摘要处理用于根据编排好的任务对两个网络流量载体对应的PCAP文件进行二次采样处理,形成满足要求的摘要信息,汇总至任务摘要记录表中;包括以下步骤:
S41、获取任务参数:从digest_task属性表中,取出未被处理的采样任务,根据任务参数(包括PCAP文件路径、文件大小、帧数等)中的文件路径获取PCAP文件的绝对路径;
S42、根据文件大小确定二次采样的采样比;
S43、读取PCAP文件,按照采样比例,抽取出特定帧,记录帧序号,并计算MD5值,作为该帧的摘要信息;所述二次采样具体操作为:
所述二次采样方式如表1所示:根据帧数不同,设置不同的采样比,以确保采样后的数据在可接受和能处理的范围内。
表1二次采样比例设置表
对于1000帧一下的文件,进行全采样;
对于1000~10000帧的文件,取IP层校验和末尾4bit为0x000F的数据帧;具体操作方法如下:提取IP层checksum值,与0x000F进行逻辑与运算,判断计算结果是否为0x000F,以下采样方式雷同;
对于10000~100000帧的文件,取IP层校验和末尾8bit为0x00FF的数据帧;
对于100000~1000000帧的文件,取IP层校验和末尾12bit为0x0FFF的数据帧;
对于1000000~10000000帧的文件,取IP层校验和末尾14bit为0x3FFF的数据帧;
对于10000000帧以上的文件,取IP层校验和末尾15bit为0x7FFF的数据帧。
S44、遍历整个PCAP文件,最终形成帧序号、MD5摘要的集合,利用序列化方法进行序列化后写入任务摘要表中。
如图6所示,所述判重分析处理用于基于任务摘要记录,对摘要进行比对分析,判定两个网络数据载体是否重复及计算重复置信度;包括以下步骤:
S51、摘要反序列化:从digest属性表中,按任务ID读取同一任务对应网络数据载体的两条摘要记录,并进行反序列化处理;
S52、hash查找:从反序列化后的摘要数据中解析出MD5、网络数据载体名称、帧序号信息,以第一个文件对应摘要数据中的MD5为key建立hash表,使用第二个文件对应摘要数据中的MD5从hash表中查找有无相同MD5:如有相同则记录,否则查询下一个MD5值;
S53、置信度计算:分别计算出两个网络数据载体对应的采样帧数m和n,以及相同帧数k,计算出两个网络数据载体的重复置信度:
Conf=k*2/(m+n);
S54、结论输出:若重复置信度大于0即认为两个网络数据载体存在相似,输出相似性结论及重复置信度。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (2)
1.一种基于双重采样的专线环境下网络数据载体判重方法,其特征在于,包括实时数据采样处理、离线预处理、任务分组编排、采样摘要处理和判重分析处理五个步骤;
所述实时数据采样处理用于对海量实时数据进行解析处理,完成指定TTL数据的识别和离线存储,包括以下步骤:
S11、报文抓取:根据工程规范约定的协议格式对私有协议头进行解析和剥离;
S12、协议解析:按照标准TCP/IP协议对网络数据内容进行解析,提取出外层IP的TTL值;
S13、TTL检测:根据TTL值是否为255来判断是否是路由器发出的第一跳数据包,若是则执行步骤S14,否则返回步骤S11;
S14、离线PCAP文件生成:以同源同宿策略将网络数据包写入离线PCAP文件;
所述离线预处理用于实现对离线PCAP文件的读取和解析处理,具体包括以下步骤:
S21、协议解析:从消息队列中获取文件信息,根据文件路径提取离线PCAP文件;
S22、抽取六元组:逐帧读取数据记录,按TCP/IP标准解析PCAP帧,提取出链路层、源IP、目的IP、源端口、目的端口、协议号六元组信息;
S23、会话管理:基于六元组计算出hashkey,作为一个会话的唯一标识;
S24、记录入库:以会话为单位将多维度信息写入数据库中;
所述任务分组编排用于基于数据库中的hashkey字段进行网络流量载体分组,对同一个分组内的多个载体两两结合,进行任务编排;包括以下步骤:
S31、hashkey分组:对数据库中存储的会话数据信息,按hashkey进行分组,并计算每个hashkey对应的去重后的网络数据载体个数;
S32、任务分组编排:筛选出网络数据载体个数大于1的分组集合,对这些集合中的网络数据载体两两结合,编排成数据摘要处理任务参数,写入digest_task属性表中;
所述采样摘要处理用于根据编排好的任务对两个网络流量载体对应的PCAP文件进行二次采样处理,形成满足要求的摘要信息,汇总至任务摘要记录表中;包括以下步骤:
S41、获取任务参数:从digest_task属性表中,取出未被处理的采样任务,根据任务参数中的文件路径获取PCAP文件的绝对路径;
S42、根据文件大小确定二次采样的采样比;
S43、读取PCAP文件,按照采样比例,抽取出特定帧,记录帧序号,并计算MD5值,作为该帧的摘要信息;
S44、遍历整个PCAP文件,最终形成帧序号、MD5摘要的集合,利用序列化方法进行序列化后写入任务摘要记录表中;
所述判重分析处理用于基于任务摘要记录表,对摘要进行比对分析,判定两个网络数据载体是否重复及计算重复置信度;包括以下步骤:
S51、摘要反序列化:从digest属性表中,按任务ID读取同一任务对应网络数据载体的两条摘要记录,并进行反序列化处理;
S52、hash查找:从反序列化后的摘要数据中解析出MD5、网络数据载体名称、帧序号信息,以第一个文件对应摘要数据中的MD5为key建立hash表,使用第二个文件对应摘要数据中的MD5从hash表中查找有无相同MD5:如有相同则记录,否则查询下一个MD5值;
S53、置信度计算:分别计算出两个网络数据载体对应的采样帧数m和n,以及相同帧数k,计算出两个网络数据载体的重复置信度:
Conf=k*2/(m+n) ;
S54、结论输出:若重复置信度大于0即认为两个网络数据载体存在相似,输出相似性结论及重复置信度。
2.根据权利要求1所述的一种基于双重采样的专线环境下网络数据载体判重方法,其特征在于,所述二次采样具体操作为:
对于1000帧以下的文件,进行全采样;
对于1000~10000帧的文件,取IP层校验和末尾4bit为0x000F的数据帧;
对于10000~100000帧的文件,取IP层校验和末尾8bit为0x00FF的数据帧;
对于100000~1000000帧的文件,取IP层校验和末尾12bit为0x0FFF的数据帧;
对于1000000~10000000帧的文件,取IP层校验和末尾14bit为0x3FFF的数据帧;
对于10000000帧以上的文件,取IP层校验和末尾15bit为0x7FFF的数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110727228.0A CN113452713B (zh) | 2021-06-29 | 2021-06-29 | 一种基于双重采样的专线环境下网络数据载体判重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110727228.0A CN113452713B (zh) | 2021-06-29 | 2021-06-29 | 一种基于双重采样的专线环境下网络数据载体判重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452713A CN113452713A (zh) | 2021-09-28 |
CN113452713B true CN113452713B (zh) | 2022-04-19 |
Family
ID=77813890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110727228.0A Active CN113452713B (zh) | 2021-06-29 | 2021-06-29 | 一种基于双重采样的专线环境下网络数据载体判重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452713B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9426071B1 (en) * | 2013-08-22 | 2016-08-23 | Fireeye, Inc. | Storing network bidirectional flow data and metadata with efficient processing technique |
CN107463588A (zh) * | 2016-06-03 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 数据提交判重方法 |
CN111639253A (zh) * | 2020-05-22 | 2020-09-08 | 北京百度网讯科技有限公司 | 一种数据判重方法、装置、设备及存储介质 |
-
2021
- 2021-06-29 CN CN202110727228.0A patent/CN113452713B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9426071B1 (en) * | 2013-08-22 | 2016-08-23 | Fireeye, Inc. | Storing network bidirectional flow data and metadata with efficient processing technique |
CN107463588A (zh) * | 2016-06-03 | 2017-12-12 | 北京京东尚科信息技术有限公司 | 数据提交判重方法 |
CN111639253A (zh) * | 2020-05-22 | 2020-09-08 | 北京百度网讯科技有限公司 | 一种数据判重方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
多源地名地址数据融合更新技术方法研究;马春林;《经纬天地》;20200430;第/卷(第2期);第21-24页 * |
海量数据库中实时包的判重算法;张立芳;《计算机工程》;20081130;第34卷(第21期);第76-80页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113452713A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112085039B (zh) | 一种基于随机森林的icmp隐蔽通道检测方法 | |
US10404554B2 (en) | Transaction based network application signatures for text based protocols | |
CN111770023B (zh) | 基于fpga的报文去重方法、装置及fpga芯片 | |
US7944822B1 (en) | System and method for identifying network applications | |
US8577817B1 (en) | System and method for using network application signatures based on term transition state machine | |
CN110855493B (zh) | 用于混合环境的应用拓扑图绘制装置 | |
CN113590910B (zh) | 一种网络流量检索方法和装置 | |
CN112565338A (zh) | 一种以太网报文捕获、过滤、存储、实时解析方法及系统 | |
CN116800586A (zh) | 一种电信网络数据通信故障诊断方法 | |
CN115967673A (zh) | 一种基于p4可编程交换机的大流五元组的查询方法 | |
CN112486914A (zh) | 一种数据包存储与快查方法与系统 | |
CN114327833A (zh) | 一种基于软件定义复杂规则的高效流量处理方法 | |
CN113382039B (zh) | 一种基于5g移动网络流量分析的应用识别方法和系统 | |
CN113452713B (zh) | 一种基于双重采样的专线环境下网络数据载体判重方法 | |
CN110677327A (zh) | 一种基于芯片的rtp流量故障实时检测方法 | |
CN112688924A (zh) | 网络协议分析系统 | |
CN115567460B (zh) | 数据包处理方法及装置 | |
CN114095383B (zh) | 网络流量采样方法、系统和电子设备 | |
CN114553546B (zh) | 基于网络应用的报文抓取的方法和装置 | |
CN113037551B (zh) | 一种基于流量切片的涉敏业务快速识别定位方法 | |
Chen et al. | IPzip: A stream-aware IP compression algorithm | |
KR100429542B1 (ko) | 인터넷에서의 실시간 멀티미디어 패킷 분석 방법 | |
CN112769520A (zh) | 一种基于ip分片的完整数据包留存方法及系统 | |
CN116996392B (zh) | 一种基于加权有向图算法的流量路径重构方法及系统 | |
CN116112399B (zh) | 一种工控网络流量解析系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |