[发明专利]一种网络流数据重排序方法有效
申请号: | 201510033154.5 | 申请日: | 2015-01-22 |
公开(公告)号: | CN104618361B | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 董尚文;张广兴;付乔宾;贺泰华;彭群 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F17/30 |
代理公司: | 北京泛华伟业知识产权代理有限公司11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 数据 排序 方法 | ||
技术领域
本发明涉及计算机网络技术领域,具体地说,本发明涉及一种网络流数据重排序方法。
背景技术
随着互联网的高速发展,网络中每天都会有很多数据产生,由于现代网络不断高速化、复杂化,网络运营商越来越重视当前网络状况变化。为了处理好网络安全问题,需要进行网络数据分析、行为模式模拟预测等等,而这些都需要有海量数据支持,需要有长时间持续的流数据作为统计分析源头,所以流数据分析是发现安全问题,查找问题源,追溯事件发生原因的重要手段之一。
与其他普通数据不同,在网络流中,流数据总是具有时间局部性和空间局部性的。现有的网络流存储系统的主要流程为:重排序、分列、分块压缩、存储。其中,重排序正是利用了网络流量的特性,在内存中缓存一段时间内的数据,利用时间局部性和空间局部性将相似流数据整合到一起,以减小数据熵,提高压缩比。例如,oLSH算法是现有技术中一种典型的流数据重排序技术,它能够显著地提升流数据的压缩效果,同时减短流数据查询的时间。
oLSH算法中,利用p-stable算法将流数据的五元组看作一个个数值,从而把五元组从高维空间映射到一维空间中,然后再依据一维空间中的长度值在Hash表中对流数据进行排序。这种方案计算复杂度很低,能够适用于高速实时存储系统,然而,实践中发现其数据熵仍然相对较高,不利于提高压缩比。例如,依据oLSH算法,以下两个流数据(10.2.1.2,10.2.1.3)与(10.2.1.2,11.2.1.1)具有相似性,可能会被放在相邻位置。但实际上这两个数据根本不在同一网段,毫无关联性可言。也就是说,oLSH算法不能保证重排序后存储位置相邻的流数据都具备较高的相似性,因此基于oLSH算法的流数据存储方案数据熵仍然相对较高,其流数据的压缩效果还有待提高。
发明内容
本发明的目的是提供一种计算复杂度低,数据熵小的流数据重排序方法。
为实现上述发明目的,本发明提供了一种网络流数据重排序方法,包括下列步骤:
1)接收流数据,对于每个流数据,根据其源IP地址所属网段和目的IP地址所属网段计算索引值,并根据所计算的索引值找到Hash表中对应的Hash桶,其中Hash表是预先建立的用于缓存流数据的数据结构;
2)在Hash桶内,根据流数据五元组之间的差量对桶内的流数据进行分组,同组的流数据被排列到一起。
其中,所述网络流数据为基于IPv4的流数据,所述步骤1)中,对于任意一个流数据,根据该流数据源IP地址和目的IP地址所属的网段来计算所述索引值。
其中,所述步骤1)中,所述索引值为源IP地址与目的IP地址前16位之和对所述Hash表的Hash桶数目取余的值。
其中,所述步骤1)还包括,对于每个流数据,在根据所计算的索引值找到对应的Hash桶后,将源IP地址,目的IP地址前16位完全相同的流数据组成该Hash桶的一条冲突链。
其中,所述步骤2)中,五元组之间的差量包括:IP地址差量,端口差量和协议号差量。
其中,所述步骤2)中,所述IP地址差量是:将IP地址看做32位int型整数直接相减并取绝对值。
其中,所述步骤2)中,当两个流数据的端口号一致时,端口差量为零,当两个流数据的端口号不一致时,端口差量取为端口差量预设的固定值;当两个流数据的协议版本号一致时,协议号差量为零,当两个流数据的协议版本号不一致时,协议号差量取为协议号差量预设的固定值。
其中,所述步骤1)中,对于每个数据流,执行下列子步骤:
11)根据当前流数据的源IP地址和目的IP地址的前16位计算该流数据的Hash索引值;
12)根据Hash索引值找到对应的Hash桶,根据当前流数据的源IP地址和目的IP地址查找Hash桶内是否有匹配的冲突链,如果没有则新建一条冲突链,并把当前流数据作为该新建冲突链的首个数据,如果有,则直接将当前流数据插入到匹配的冲突链中。
其中,所述步骤2)中,对于每个冲突链,执行下列子步骤:
21)对于冲突链中第一个流数据,将其作为第一组的head;
22)对于后续每一个流数据,找到当前每组的head,与head数据计算所述五元组之间的数值差量,如果差量小于差量阈值T,则把这条流数据加到该head数据所在组的末尾;否则,重新添加一组,并把当前流数据作为该新建组的head。
其中,所述的网络流数据重排序方法还包括步骤:
3)将Hash表中的流数据导出;
所述步骤3)包括下列子步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510033154.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置