一种逆向求解的多维哈希表方法

文档序号:7928356阅读:212来源:国知局
专利名称:一种逆向求解的多维哈希表方法
技术领域
本发明属于数据流分析处理领域的大规模网络流量异常的检测与定位方法,具体涉及一种逆向求解的多维哈希表方法。

背景技术
随着计算机网络技术的发展和应用,网络带宽和网络流量快速增长,海量的网络流量数据给大规模网络的实时有效测量和监控带来了巨大挑战。网络的实时有效测量对网络管理、流量规划、网络计费有重要意义,例如网络运营商需要统计网络带宽的使用情况或者流量的统计信息来进行计费,网络管理者需要根据流量统计信息更新路由器的路由表,以及通过对网络流量的有效分析来及时发现和处理网络异常事件。为此大规模网络流量的实时测量和监控系统在性能上需要满足下面三个基本的要求 1)高效的处理速度,对于每个数据包的处理必须高效快速。
2)较小的内存需求。
3)快速而准确的数据查询。
网络流是网络流量测量和监控领域常用的处理技术,网络流通常的定义是具有相同五元组(协议类型,源IP,源端口,目的IP,目的端口)的所有网络数据包集合。对于基于网络流的网络流量测量和监控,如果精确的测量,则需要存储每条网络流的状态信息。对于大规模的网络流量而言,这需要巨大的内存空间,目前而言往往是无法实现的。目前硬件的处理速度已经跟不上网络流量的增长速度,同时随着网络带宽和网络流在逐年剧增,这一差距还在不断扩大。综上可知,对大规模网络特性实时精确的测量已经是遥不可及,目前许多处理大规模网络流量的技术方法都是采用概率估计的技术方法。
数据采样是一种常用的数据处理技术,在网络流量处理领域有着广泛的应用。有关采样技术国内外都有着广泛深入的研究,提出了数据包随机采样,网络流采样,智能采样等多种采样技术。其中一些技术已经应用于实际的生产实践中了,例如Cisco路由器上的Netflow数据流信息就是经过数据包采样后的结果。由于采样的技术仅仅处理并存储极少部分数据的信息,因此所需要的存储空间相对很小,处理的效率也很高。同时采样技术的缺陷是有很多的数据包以及网络数据流的丢失,尤其是网络数据包数较少的网络流。这将给网络的测量与监控带来一系列的问题,比如Dos和DDos攻击的有效检测。
多维哈希表是最近几年提出的一种数据结构,已经广泛应用于涉及海量数据处理的各个领域。多维哈希表处理的输入数据为形如(键值,更新值)的数据序列,例如在网络流量处理领域,处理的输入数据可以是网络数据包序列,每个数据包对应的键值可以是源IP、目的IP、源端口、目的端口或其相关的组合等。对应的更新值可以是该数据包的长度或者数据包数等所需统计量。对于数据序列的每个数据,多维哈希表将其更新值累加到其键值映射到的各个哈希函数空间中的计数器上。对于任意一键值,其对应数据更新值的总和可以通过该键值在各个哈希函数空间相应计数器的值估算求得,估算的结果可以确保在一定的误差范围内。相对存储原始数据而言,多维哈希表技术以牺牲一定程度准确度的代价来换取小的存储需求。在网络流量测量与监控流域,尤其是涉及大规模网络流量的处理,多维哈希表技术有着广泛的应用。比如统计网络流的大小分布特性,查找流量大小占网络总流量比较大的网络流,以及检测异常网络流量等。下面简单介绍用于大规模网络流量监控的k-ary多维哈希表技术。
(1)数据流模型 设输入数据流为I=a1,a2,…ai,数据项ai按照时间顺序依次到达。数据项ai=(ki,ui),其中键值ki∈{0,1,…,N-1},ui是相应的更新数值,ui值可正可负。
(2)数据结构 k-ary多维哈希表由H×K的计数数组T[i][j](1≤i≤H,0≤j<K)构成。数据结构T[i][j]可以看成H张哈希表,每一行T[i][·](1≤i≤H)是和哈希函数hi相对应的哈希表。其中每个哈希函数是从{0,1,…,N-1}到{0,1,…,K-1}的映射,其中N是键值空间的大小,K是每张哈希表的大小。各哈希函数之间是相互独立无关的。
(3)更新操作 当更新数据项ai=(ki,ui)到达后,将每一张哈希表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,即如下式所示 T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H (4)点估计操作 对于任意键值k∈{0,…,N-1},U[k]是键值k对应的所有数据项的数值总和,即 U[k]可以通过k-ary多维哈希表估计所得,其估算过程如下式所示 其中证明可得每一个

都是U[k]的无偏估计值。
由上可知k-ary多维哈希表所需的内存空间大小为H×K,处理每个数据包需要的操作数为H。网络管理者可以基于对k-ary多维哈希表分析,获取在k-ary多维哈希表每张数据表中的那些项产生了异常,从而实现对大规模网络流量实时有效监控。然而从上述k-ary多维哈希表的数据结构可以得知,其并没有存储键值的任何信息,导致很难通过k-ary多维哈希表中的异常项来逆向求解其对应的网流流。因此当通过k-ary多维哈希表发现存在网络流量异常时,无法快速的将该网络流量异常准确的定位到相应的某条网络流上。
下面形式化的描述多维哈希表逆向求解问题,其定义如下 输入整数t≥1,r≤H-1。多维哈希表的哈希函数为从{0,…,N-1}到{0,…,K-1}的映射

对于每一张哈希表j至多包含t个不同的标记项,其集合记做 输出输出集合中的元素x满足x∈{0,…,N-1},并且存在不少于H-r个j∈{0,…,H-1},使得hj(x)∈Rj。
对于网络流量异常检测方面的应用,上述问题中的标记项对应的就是异常项。目前解决这一问题主要有三种实现方法 (1)依次尝试键值空间的每一个键值,检测此键值是否映射到多维哈希表的至少H-r张哈希表的异常项中,如果是,则此键值为异常键值。由于这种方法需要尝试键值空间的所有键值,因此当键值空间较大时所需要的时间代价较高。
(2)当多维哈希表中的每张哈希表的异常项检测出来后,而是利用后续到来的数据项来确定该异常键值。对于后续到来的每一个数据项,除更新操作外,另外还需检测此数据项的键值是否映射到多维哈希表的至少H-r张哈希表的异常项中,如果是,则此数据项的键值为异常键值。这种方法的局限性是当有些异常键值无相应的数据项随后到来时,这些异常键值将被漏检。
(3)利用二次遍历的方式来寻找异常键值,这种方法需要将数据流全部捕获并存储下来。首先用数据流作为多维哈希表的输入,检测出多维哈希表中每张哈希表对应的异常项。然后对存储下来的数据流从头开始依次检测每一个数据项,判断此数据项的键值是否映射到多维哈希表的至少H-r张哈希表的异常项中,如果是,则此数据项的键值为异常键值。这种方法目前主要用于离线处理,无法在线应用。


发明内容
本发明的目的在于解决现有多维哈希表技术中存在的不可逆向求解的问题,提供了一种求解过程高效简单,结果准确的逆向求解的多维哈希表方法。
为达到上述目的,本发明采用的技术方案是 1)设输入数据流为I=a1,a2,…ai,数据项ai按照时间顺序依次到达,数据项ai=(ki,ui),其中键值ki∈{0,1,…,N-1},ui是键值ki相应的更新数值,ui值可正可负; 2)多维哈希表由H张哈希表T[j][·](1≤j≤H)构成,对应的哈希函数为hj(x)≡ajx+bjmodmj,1≤j≤H,其中m1,…,mH,a1,…,aH,b1,…,bH均为正整数,m1,…,mH两两互质,对于任意的1≤j≤H,aj和mj互质; 3)多维哈希表的点估计操作如下所述 对于任意键值k∈{0,…,N-1},U[k]是键值k对应的所有数据项的数值总和,即 U[k]通过多维哈希表估计所得,其估算过程如下式所示 其中 4)多维哈希表逆向求解,其定义如下 输入整数t≥1,r≤H-1,多维哈希表的哈希函数为从{0,…,N-1}到{0,…,K-1}的映射

对于每一张哈希表j至多包含t个不同的标记项,其集合记做 输出输出集合中的元素x满足x∈{0,…,N-1},并且存在不少于H-r个j∈{0,…,H-1},使得hj(x)∈Rj; 采取逐一处理多维哈希表中标记项的所有可能组合的方法来求解多维哈希表逆向求解,对于标记项的任一可能组合Bi(1≤i≤Z),其定义为任意不少于H-r个标记项的组合,其中每个标记项位于不同的哈希表中,求解可能组合Bi对应的键值集合为Keyi,最终求解所得的键值集合Key就是所有Keyi的并集; 求任一可能组合Bi(1≤i≤Z)键值的具体过程为 设可能组合Bi对应的标记项为c1,…,cH-v,其中H-v(v≤r)为Bi中标记项的数目,设标记项c1,…,cH-v分别位于编号为t1,…,tH-v的哈希表中,则同时映射到标记项c1,…,cH-v的键值满足
其中

由式求得,

是欧拉函数; 令



是求解所得键值中小于

的唯一键值,那么对应可能组合Bi的键值集合Keyi为 本发明的哈希函数组可以通过一个简单的式子来解决前面所述的多维哈希表逆向求解问题,从而实现了多维哈希表可逆向求解的特性。且多维哈希表的逆向求解过程高效简单,结果准确。



图1是多维哈希表更新过程操作图;
具体实施例方式 下面结合附图对本发明作进一步详细说明。
本发明提供的多维哈希表处理的数据流模型如下所述 设输入数据流为I=a1,a2,…ai,数据项ai按照时间顺序依次到达。数据项ai=(ki,ui),其中键值ki∈{0,1,…,N-1},ui是键值ki相应的更新数值,ui值可正可负。
本发明提供的多维哈希表的数据结构如下所述 本发明提供的多维哈希表由H张哈希表T[j][·](1≤j≤H)构成,对应的哈希函数如下所示 hj(x)≡ajx+bjmodmj,1≤j≤H 其中m1,…,mH,a1,…,aH,b1,…,bH均为正整数。m1,…,mH两两互质,对于任意的1≤j≤H,aj和mj互质。
多维哈希表每张哈希表T[j][·]的大小为mj,多维哈希表所需总的内存空间为 本发明提供的多维哈希表的更新操作如下所述 更新操作参照图1,当更新数据项ai=(ki,ui)到达后,将每一张哈希表j(1≤j≤H)相应的T[j][hj(ki)]项加上更新数值ui,即如下式所示 T[j][hj(ki)]=T[j][hj(ki)]+ui 1≤j≤H 本发明提供的多维哈希表的点估计操作如下所述 对于任意键值k∈{0,…,N-1},U[k]是键值k对应的所有数据项的数值总和,即 U[k]可以通过多维哈希表估计所得,其估算过程如下式所示 其中 多维哈希表逆向求解问题的定义如下 输入整数t≥1,r≤H-1。对于多维哈希表的每一张哈希表j至多包含t个不同的标记项,其集合记做 输出输出集合中的元素x满足x∈{0,…,N-1},并且存在不少于H-r个j∈{1,…,H},使得hj(x)∈Rj。
本发明采取逐一处理多维哈希表中标记项的所有可能组合的方法来求解多维哈希表逆向求解问题。对于标记项的任一可能组合Bi(1≤i≤Z),其定义为任意不少于H-r个标记项的组合,其中每个标记项位于不同的哈希表中。求解可能组合Bi对应的键值集合为Keyi,最终求解所得的键值集合Key就是所有Keyi的并集。
求任一可能组合Bi(1≤i≤Z)键值的具体过程为 设可能组合Bi对应的标记项为c1,…,cH-v,其中H-v(v≤r)为Bi中标记项的数目。设标记项c1,…,cH-v分别位于编号为t1,…,tH-v的哈希表中,则求解映射到标记项为c1,…,cH-v的键值,即求解下述问题。
为求解此问题下面先介绍求解过程中需要用到的两个定理 定理1对于任意的正整数b,r,一次同余方程 ax+b≡rmodm 的正整数解是
其中

是欧拉方程,其计算过程如下 设正整数n的质因数分解式如下所示 其中p1,…,pL是不同的素数,欧拉函数如下式所示
证明 ax+b≡rmodm ax≡r-bmodm

由费马小定理可以知

因此可得
孙子定理(中国剩余定理) 设m1,…,mk是两两互质的正整数,k≥2。令m=m1…mk,Mj=mj/m(1≤j≤k),那么,对于任意整数r1,r2,…,rk,一次同余方程组 的正整数解是 其中

是满足下式同余方程的解 对于(1)式的求解,首先利用定理1可得
利用孙子定理可以求解出
其中

可以由式求得,

是欧拉函数。




是求解所得键值中小于

的唯一键值。那么对应可能组合Bi的键值集合Keyi为
权利要求
1、一种逆向求解的多维哈希表方法,其特征在于
1)设输入数据流为I=a1,a2,…ai,数据项ai按照时间顺序依次到达,数据项ai=(ki,ui),其中键值ki∈{0,1,…,N-1},ui是键值ki相应的更新数值,ui值可正可负;
2)多维哈希表由H张哈希表T[j][·](1≤j≤H)构成,对应的哈希函数为hj(x)≡ajx+bjmodmj,1≤j≤H,其中m1,…,mH,a1,…,aH,b1,…,bH均为正整数,m1,…,mH两两互质,对于任意的1≤j≤H,aj和mj互质;
3)多维哈希表的点估计操作如下所述
对于任意键值k∈{0,…,N-1},U[k]是键值k对应的所有数据项的数值总和,即
U[k]通过多维哈希表估计所得,其估算过程如下式所示
其中
4)多维哈希表逆向求解,其定义如下
输入整数t≥1,r≤H-1,多维哈希表的哈希函数为从{0,…,N-1}到{0,…,K-1}的映射
对于每一张哈希表j至多包含t个不同的标记项,其集合记做
输出输出集合中的元素x满足x∈{0,…,N-1},并且存在不少于H-r个j∈{0,…,H-1},使得hj(x)∈Rj;
采取逐一处理多维哈希表中标记项的所有可能组合的方法来求解多维哈希表逆向求解,对于标记项的任一可能组合Bi(1≤i≤Z),其定义为任意不少于H-r个标记项的组合,其中每个标记项位于不同的哈希表中,求解可能组合Bi对应的键值集合为Keyi,最终求解所得的键值集合Key就是所有Keyi的并集;
求任一可能组合Bi(1≤i≤Z)键值的具体过程为
设可能组合Bi对应的标记项为c1,…,cH-v,其中H-v(v≤r)为Bi中标记项的数目,设标记项c1,…,cH-v分别位于编号为t1,…,tH-v的哈希表中,则同时映射到标记项c1,…,cH-v的键值满足
其中
由式求得,
是欧拉函数;


是求解所得键值中小于
的唯一键值,那么对应可能组合Bi的键值集合Keyi为
全文摘要
一种逆向求解的多维哈希表方法,在大规模网络的实时测量与监控中有着非常广泛的应用。但是由于目前的多维哈希表技术是不可逆向求解的,所以当通过多维哈希表发现存在网络流量异常时,仅知道异常在多维哈希表中对应的位置,而无法快速的将该异常准确的定位到相应的网络流上,这给多维哈希表技术在大规模网络流量实时监控领域的应用带来了很大的障碍。本发明通过多维哈希表的关键部分哈希函数组,解决了这一逆向求解问题。相应的逆向求解过程简单高效,结果准确。
文档编号H04L12/24GK101465755SQ20081023235
公开日2009年6月24日 申请日期2008年11月20日 优先权日2008年11月20日
发明者管晓宏, 王平辉, 涛 秦 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1