CN101465755A - 一种逆向求解的多维哈希表方法 - Google Patents
一种逆向求解的多维哈希表方法 Download PDFInfo
- Publication number
- CN101465755A CN101465755A CNA2008102323543A CN200810232354A CN101465755A CN 101465755 A CN101465755 A CN 101465755A CN A2008102323543 A CNA2008102323543 A CN A2008102323543A CN 200810232354 A CN200810232354 A CN 200810232354A CN 101465755 A CN101465755 A CN 101465755A
- Authority
- CN
- China
- Prior art keywords
- hash table
- key assignments
- centerdot
- multidimensional
- key
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种逆向求解的多维哈希表方法,在大规模网络的实时测量与监控中有着非常广泛的应用。但是由于目前的多维哈希表技术是不可逆向求解的,所以当通过多维哈希表发现存在网络流量异常时,仅知道异常在多维哈希表中对应的位置,而无法快速的将该异常准确的定位到相应的网络流上,这给多维哈希表技术在大规模网络流量实时监控领域的应用带来了很大的障碍。本发明通过多维哈希表的关键部分哈希函数组,解决了这一逆向求解问题。相应的逆向求解过程简单高效,结果准确。
Description
技术领域
本发明属于数据流分析处理领域的大规模网络流量异常的检测与定位方法,具体涉及一种逆向求解的多维哈希表方法。
背景技术
随着计算机网络技术的发展和应用,网络带宽和网络流量快速增长,海量的网络流量数据给大规模网络的实时有效测量和监控带来了巨大挑战。网络的实时有效测量对网络管理、流量规划、网络计费有重要意义,例如网络运营商需要统计网络带宽的使用情况或者流量的统计信息来进行计费,网络管理者需要根据流量统计信息更新路由器的路由表,以及通过对网络流量的有效分析来及时发现和处理网络异常事件。为此大规模网络流量的实时测量和监控系统在性能上需要满足下面三个基本的要求:
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多维哈希表发现存在网络流量异常时,无法快速的将该网络流量异常准确的定位到相应的某条网络流上。
下面形式化的描述多维哈希表逆向求解问题,其定义如下:
输出:输出集合中的元素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)多维哈希表逆向求解,其定义如下:
输出:输出集合中的元素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的键值满足:
本发明的哈希函数组可以通过一个简单的式子来解决前面所述的多维哈希表逆向求解问题,从而实现了多维哈希表可逆向求解的特性。且多维哈希表的逆向求解过程高效简单,结果准确。
附图说明
图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可得:
利用孙子定理可以求解出:
Claims (1)
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)多维哈希表逆向求解,其定义如下:
输出:输出集合中的元素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的键值满足:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102323543A CN101465755A (zh) | 2008-11-20 | 2008-11-20 | 一种逆向求解的多维哈希表方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008102323543A CN101465755A (zh) | 2008-11-20 | 2008-11-20 | 一种逆向求解的多维哈希表方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101465755A true CN101465755A (zh) | 2009-06-24 |
Family
ID=40806130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008102323543A Pending CN101465755A (zh) | 2008-11-20 | 2008-11-20 | 一种逆向求解的多维哈希表方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101465755A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031567A (zh) * | 2020-01-14 | 2020-04-17 | 南通先进通信技术研究院有限公司 | 一种核心网设备的流量统计方法 |
CN114389964A (zh) * | 2021-12-29 | 2022-04-22 | 鹏城实验室 | 一种流量监测方法、装置、终端及存储介质 |
-
2008
- 2008-11-20 CN CNA2008102323543A patent/CN101465755A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111031567A (zh) * | 2020-01-14 | 2020-04-17 | 南通先进通信技术研究院有限公司 | 一种核心网设备的流量统计方法 |
CN111031567B (zh) * | 2020-01-14 | 2022-06-24 | 南通先进通信技术研究院有限公司 | 一种核心网设备的流量统计方法 |
CN114389964A (zh) * | 2021-12-29 | 2022-04-22 | 鹏城实验室 | 一种流量监测方法、装置、终端及存储介质 |
CN114389964B (zh) * | 2021-12-29 | 2023-08-22 | 鹏城实验室 | 一种流量监测方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657038B (zh) | 一种基于对称度Sketch的网络流量异常检测与定位方法 | |
CN110909811B (zh) | 一种基于ocsvm的电网异常行为检测、分析方法与系统 | |
Wang et al. | A data streaming method for monitoring host connection degrees of high-speed links | |
JP6184270B2 (ja) | 将来のネットワーク攻撃を検知及び予測するために、様々な指標と過去の攻撃事例を相関させ、攻撃に関する指標のプロファイルを作成するシステム及び方法 | |
EP2337266A2 (en) | Detecting and classifying anomalies in communication networks | |
CN110519290A (zh) | 异常流量检测方法、装置及电子设备 | |
CN109600363A (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
CN101686235A (zh) | 网络异常流量分析设备和方法 | |
CN113114694B (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
CN107566192B (zh) | 一种异常流量处理方法及网管设备 | |
EP3282643A1 (en) | Method and apparatus of estimating conversation in a distributed netflow environment | |
CN110071934B (zh) | 用于网络异常检测的局部敏感性计数摘要方法及系统 | |
CN113660209B (zh) | 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 | |
Callegari et al. | When randomness improves the anomaly detection performance | |
Xu et al. | [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN | |
CN101465755A (zh) | 一种逆向求解的多维哈希表方法 | |
CN111181969B (zh) | 一种基于自发流量的物联网设备识别方法 | |
CN110430133B (zh) | 一种基于置信区间的域间路径标识前缀获取方法 | |
CN111200542A (zh) | 一种基于确定性替换策略的网络流量管理方法及系统 | |
Zhao et al. | Finding key nodes in complex networks: An edge and local partition approach | |
Wang et al. | Virtual indexing based methods for estimating node connection degrees | |
CN103345605B (zh) | 一种恶意代码感染主机规模估计系统和方法 | |
CN109361658A (zh) | 基于工控行业的异常流量信息存储方法、装置及电子设备 | |
Guan et al. | A new data streaming method for locating hosts with large connection degree | |
Gogoi et al. | Network anomaly detection using unsupervised model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090624 |