CN110830322A - 一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统 - Google Patents

一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统 Download PDF

Info

Publication number
CN110830322A
CN110830322A CN201910869952.XA CN201910869952A CN110830322A CN 110830322 A CN110830322 A CN 110830322A CN 201910869952 A CN201910869952 A CN 201910869952A CN 110830322 A CN110830322 A CN 110830322A
Authority
CN
China
Prior art keywords
sketch
array
data structure
information
counter
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.)
Granted
Application number
CN201910869952.XA
Other languages
English (en)
Other versions
CN110830322B (zh
Inventor
杨仝
李雨欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN201910869952.XA priority Critical patent/CN110830322B/zh
Publication of CN110830322A publication Critical patent/CN110830322A/zh
Application granted granted Critical
Publication of CN110830322B publication Critical patent/CN110830322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统。该方法设立用于存储小流信息的CM‑Sketch数据结构和用于存储标号的数据结构;在网络流量测量过程中更新表项时,首先更新CM‑Sketch,然后基于对CM‑Sketch的观察来对存储标号的数据结构进行更新。在插入一条新的流的信息时,同时在设计的用于存储标号的数据结构中保存其标号信息以及时间戳;而在需要复原流量信息时,可根据该数据结构中存储的标号,求解方程组,得到精确的流量信息。本发明在未使得算法时间复杂度有较明显提升的前提下,解决了Elastic Sketch针对小流信息查询准确性不足的缺陷,并且能够支持瞬时查询。

Description

一种基于近似零误差的概率测量数据结构Sketch的网络流量 测量方法和系统
技术领域
本发明涉及自然语言处理、压缩感知、网络数据流量分析、分布式数据集等多个重要领域,具体为一种基于Elastic Sketch的网络流量测量的改进方法和系统。
背景技术
目前,基于Sketch(略图)的网络测量方法是当下主流,有着广泛的应用和前景。而Count-Min(CM)Sketch(G.Cormode and S.Muthukrishnan.An improved data streamsummary:the count-min sketch and its applications.Journal of Algorithms,55(1):58–75,2005.),即计数-最小略图,是使用最多,性能最好,最普适于各种数据的一种Sketch。它可以在高速网络环境中,实时地存储流量特征信息,只占用较小的空间资源,并且具备在理论上可证明的估计精度与内存的平衡特性。
然而,在多变的环境下,测量的性能会受到很大的影响。SIGCOMM’18的ElasticSketch(Tong Yang,Jie Jiang,Peng Liu,Qun Huang,Junzhi Gong,Yang Zhou,Rui Miao,Xiaoming Li,Steve Uhlig.Elastic Sketch:Adaptive and Fast Network-wideMeasurements.ACM SIGCOMM,2018.)对此设计了一个可以根据环境动态调整的测量框架,保持测量的稳定性和准确率。然而,该方法在统计数据时采用了会对真实值产生高估的CM-Sketch,并且为了节约存储空间,舍弃了小流(mice flows)的标号,导致部分小流的频数信息无法被准确还原的同时,查询结果的准确性也无法得到确认。其中,“小流”是指网络链路中总字节数较少的流,即具有较低的到达频数,包含少于c个包,其中常数c可根据需求选取不同数值定义。
Counter Braids(Yi Lu,Andrea Montanari,Balaji Prabhakar,SarangDharmapurikar,Abdul Kabbani.Counter braids:a novel counter architecture forper-flow measurement.ACM SIGMETRICS,36(1):121-132,2008.)是一种基于逐流测量的计数器(counter)结构改进方法。该方法通过随机图编织分层的计数器,解决了流测量的计数器空间和流-计数器的关联问题。通过共享流间计数器,显著减少了存储空间;利用随机图避免了流-计数器关联的存储。同时,该方法设计了一种低复杂度信息传输解码算法,能够以零误差恢复流长,从而可以在硬件中实施。然而,其缺点在于不支持流长的瞬间查询,这也导致实际生产中鲜少应用。
发明内容
为了解决现有的Elastic Sketch算法对于light part中流的查询准确度不足的问题,并克服现有的Counter Braids方法不支持瞬时查询的缺陷,本发明提供一种能够存储light part中流标号的改进的Elastic Sketch算法,且处理速率相当,同时利用CounterBraids中提出的解码算法思想,可以近乎无错地还原统计信息。本发明将这种改进后的网络流量测量方法称为Error-Free Sketch。
本发明所基于的Elastic Sketch由两部分组成,分别是heavy part和lightpart,用于区别存储记录小流和大流。其中,heavy part是存储大流的数据结构;lightpart是存储小流的数据结构,具体为一个CM Sketch。
本发明解决其技术问题所采用的技术方案是针对Elastic Sketch算法中lightpart的操作进行改进。在插入一条新的流的信息时,同时在设计的用于存储标号的数据结构中保存其标号信息以及时间戳。而在需要复原light part中的流量信息时,可根据该数据结构中存储的标号,求解方程组,得到精确的流量信息。针对相应的数据结构的设计,本发明提出了两个版本(两个解决方案),下面详细介绍light part部分的改进设计。
版本一:多个一维数组
1.数据结构
light part部分的数据结构仍然是CM Sketch,用一个宽w高d的二维数组来表示,数组的每个元素Fi[j]都是一个被初始化为0的counter(计数器)。此外,CM Sketch需要有d个两两独立、均匀分布的哈希函数,每个哈希函数hi(.)与CM Sketch中对应的一行相关联。
除此之外,为了能够存储流的标号信息,数据结构使用了k个一维动态数组。根据查询得到的流出现次数,将其分别存储在不同的数组中。数组对应的次数由一组经验值得到,数组中每个元素F[j]都是一个流的标号,用k个指针分别记录数组尾部,用于指示下一步插入位置。进一步地,可以附加存储时间戳,每次向数组结构中插入流标号时,将其时间戳也记录在相邻的元素中。
关于k个数组对应的次数,本发明给出下列参考序列:
(1)线性探测序列,如1,5,10,15…;
(2)数列采样,本发明推荐按照“小值紧凑,大值稀疏”的原则进行设置,并给如下与之相符序列:①xa型,如12,22,32,42…k2,②ax型,如21,22,23,24…2k,其中x是与数组个数相关的变量,a是一个常数,可以为小数;③斐波那契数列及相应变形。
2.操作
当有新到达的流或被驱逐的流需要加入到light part中时,进行插入操作。假设要插入的元素是<f,v>,CM Sketch首先会计算d个哈希函数hi(f),然后对CM Sketch中被哈希函数映射到的d个counter(Fi[hi(f)%w])进行更新,也即增加v。其中,f表示流标号,v表示流的频数,w表示CM Sketch的宽。
在插入操作完成后,需要再进行一次查询操作,从d个counter中读出最小值作为该流的出现次数。由查询得到的出现次数,将该流的标号信息插入到相应一维数组结构的尾部。若是该流出现次数与所有一维数组所指示的次数都不匹配,则放弃该次标号插入。这解决了CM Skecth可能出现的查询值偏高于真实值的问题。
在查询操作时,若请求快速查询位于light part中某流的信息,则根据所给标号计算d个哈希函数,找到被映射到的d个counter,并选择其中记录的最小值作为结果返回。
若请求精确复原某一流量信息,则由多个一维数组中存储的流量标号,以及CMSketch中记录的信息,导出方程组并进行求解,返回计算得到的信息。具体过程如下:
对于所有记录下的标号fi,计算d个哈希函数hj(fi),定位该标号对应的流所映射到的d个桶。由此,可确定CM Sketch的每个桶中的counter数值是由哪些流的频数累加而得到的。根据这样的等式关系,以流的频数作未知量,以CM Sketch中counter的数值作常量,即导出w×d个多元一次方程。
本发明采用梯度下降法求解线性方程组。首先介绍几个符号,矩阵A={Ii,j,k}∈{0,1}i·j×k用于表示系统的系数矩阵;列向量x=(xi)∈Ri用于表示系统变量,列向量b=(counterj,k)∈Nj·k表示常数项。则线性方程组可表示为Ax-b=0。以传统的线性最小二乘法作为代价函数F(x)=||Ax-b||2,可计算其梯度得到:
Figure BDA0002202474360000031
(其中AT为矩阵A的转置矩阵)
考虑如下解序列:x0,x1,x2,…,x,…,有xi∈Ri
Figure BDA0002202474360000032
i≥0,其中γ∈R是一个非常小的数用于控制梯度下降的速率。从对解的一个猜测值x0开始,随着i的增大,代价函数F(x)会逐渐收敛到局部最小值,最终解得所求x。
3.优点和局限性
采用多个一维数组进行存储的方法,其优点在于能够存储绝大多数的小流标号,并且存储操作的时间复杂度是O(1),这使得附加了存储结构的sketch的处理速度和Elastic Sketch一样快。再者,在对数组结构进行插入操作时,需要根据CM-Sketch的查询结果判断是否插入并确定要插入的一维数组。而由于数组结构对应次数的增量式设置,当存在一些流是第一次被记录,但CM-Sketch中查询值偏高的情况时,该流的标号就有可能被记录在次数较高的数组中。同时,当存在一些流每次出现时的查询频数都与设置的数值匹配,该流的标号最多被记录k次,其中k为一维数组的数量。
然而,该方法最大的局限性在于,如果存在一些流它每一次到达后的查询值都不与设置的任一数值匹配,那么该流就会被漏记。而由于漏记的流的出现,在解码阶段,部分方程会出现少元,导致无法提供准确的频数信息。除此之外,由于哈希碰撞,存在两个或多个流映射到的所有桶都相同的情况,从而导致多解,提供不正确信息。
版本二:伪随机计数器
1.数据结构
在该版本中,利用伪随机的思想,设置了一个计数器,数据结构采用一维数组。该计数器用于对相同大小的流进行计数,数组的第i个元素对应于大小为i的流的数量。
因为采用计数器的伪随机方式,不再需要将探查到的当前流的频数与数组所对应的数值进行匹配,而是从相同大小的流到达序列中,伪随机选取流的标号进行存储。因此,保存流标号的数据结构可直接使用一个一维动态数组,用一个指针指向数组的尾部。
2.操作
当有新到达的流或被驱逐的流需要加入到light part中时,执行同版本一中的插入操作。根据从CM-Skecth查询的频数,执行计数器的更新操作。
假设该到达流的大小为i,那么相对应的计数器数组中的元素f(i)就需要进行更新,也即加1。更新后,需要检查该元素值,是否使得f(i)%it为0,其中t为一参数,用于调整漏失率,经过试验测试,选择t=0.5时可将漏失率降低至1%。若不是,则操作结束;若是,则需要进行流标号的插入操作。
本发明还提供一种基于感知流分布的采样法,对于计数器元素f(i)的更新操作同上,后续步骤稍作更改。用FlowCountSum表示插入流的总数,初始值为0,若f(i)=1,则对FlowCountSum加1;否则,f(i-1)=f(i-1)-1。然后,计算p0=f(i)/(FlowCountSum×c),作为该流标号被记录的概率,其中c是一个常数用于调整概率值。p是[0,1]之间的一个随机数,每次比较p0和p的大小,若p0≥p则记录该流的标号,否则操作结束。
当有流的标号需要被保存时,可直接将标号保存在指针所指向的数组元素中,同时需要将指针右移一位。若是希望能够保存时间戳,则将其保存在标号信息的相邻元素中,同时需要指针右移两位。
3.优点和局限性
采用伪随机计数器的方法,与前一版本相比的优点主要在于漏失率的可调控,通过对于参数k的调整,可以显著降低未保存的流标号数量。同时,对于计数器和标号存储数组的更新都是O(1)的,这使得附加了计数器和存储结构的sketch的处理速度和ElasticSketch一样快。再者,用伪随机的方法进行保存,标号保存的重复率平均为3,所占用的存储空间在O(n)。
具体来说,本发明采用的技术方案如下:
一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法,包括以下步骤:
设立用于存储小流信息的CM-Sketch数据结构和用于存储标号的数据结构;
在网络流量测量过程中更新表项时,首先更新CM-Sketch,然后基于对CM-Sketch的观察来对存储标号的数据结构进行更新。
进一步地,所述CM-Sketch包含d个数组,用Ai表示其中的第i个数组,每个数组含有w个桶,每个桶中都有一个计数器,用Ai[j]表示CM-Sketch中第i个数组的第j个桶,每个数组Ai都与一个均匀分布独立的哈希函数hi(.)相关联;所述存储标号的数据结构包含k个一维数组,用Bi表示其中的第i个数组,每个数组都对应于一个数值,用fi表示第i个数组Bi所对应的数值。
进一步地,该方法包含插入操作,所述插入操作的步骤如下:
在插入一个流的标号f时,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值
Figure BDA0002202474360000051
作为查询的结果;
将查询结果
Figure BDA0002202474360000052
与所述存储标号的数据结构中k个数组对应的数值进行匹配,若存在fi
Figure BDA0002202474360000053
匹配,则将标号f插入到数组Bi的尾部;若不存在,则放弃本次插入操作。
进一步地,若请求精确复原某一流量信息,则由多个一维数组中存储的流量标号,以及CM Sketch中记录的信息,导出方程组并进行求解,返回计算得到的信息。
进一步地,额外设立一个计数器,用于辅助流标号的插入操作,并对存储标号的数据结构进行删减,仅用一个数组B存储即可;所述计数器由一个一维数组组成,该数组中含有255个桶,每个桶含有一个计数器,用C表示该数组,用C[i]表示其中第i个桶的计数器。
进一步地,该方法包含插入操作,包含插入操作,所述插入操作的步骤如下:
在插入一个流的标号f时,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值作为查询的结果;
然后对数组C中的第个桶进行更新,也即对
Figure BDA0002202474360000056
加1;更新完成后,对该计数器
Figure BDA0002202474360000057
的值进行观察,若满足
Figure BDA0002202474360000058
则将流标号f插入到数组B的尾部;其中t为一参数,用于调整漏失率。优选地,t的取值为0.5。
进一步地,该方法包含采样操作,首先设置常数FlowCountSum用于统计标号被记录的流的数量,其初始值为0;所述采样操作的步骤如下:
对于每一个到达流f,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值
Figure BDA0002202474360000061
Figure BDA0002202474360000062
作为查询的结果;
然后对数组C中的第
Figure BDA0002202474360000063
个桶进行更新,也即对
Figure BDA0002202474360000064
加1;更新完成后,对该计数器
Figure BDA0002202474360000065
的值进行观察,若
Figure BDA0002202474360000066
则对FlowCountSum加1;否则,
Figure BDA0002202474360000067
然后,计算
Figure BDA0002202474360000068
其中c是一个常数;p是[0,1]之间的一个随机数,比较p0和p的大小,若p0≥p则记录该流的标号,否则操作结束。
基于同一发明构思,本发明还提供一种基于近似零误差的概率测量数据结构Sketch的网络流量测量系统,其包括控制器和至少一个交换机;所述交换机连接所述控制器,所述交换机中部署至少一个测量节点;所述控制节点接收网络流量测量任务并将其发送至所述交换机;所述交换机中的测量节点采集到达流的信息,采用上面所述方法进行网络流量测量。
进一步地,当网络流量测量任务发起一个查询请求,若为快速查询请求,则由所述测量节点从Elastic Sketch中返回结果;若该查询请求期待得到无错的查询结果,则由所述测量节点将保存的标号信息以及CM-Sketch中存储的信息交由控制器运算处理,并返回计算结果。
综上,本发明的有益效果是,在未使得算法时间复杂度有较明显提升的前提下,解决了Elastic Sketch针对小流信息查询准确性不足的缺陷,并且能够支持瞬时查询。
附图说明
图1是本发明针对light part中CM Sketch的改进示意图。该Sketch由d×w的二维数组构成,数组每一行都有一个与之相对应的哈希函数h(.)。其中,数组的每个元素都是一个桶,同时,在每个桶中都含有一个计数器(黑色方块)。该图中A1~Ad表示d个数组。
图2是版本一中用于存储标号的数据结构示意图。该数据结构由多个一维数组构成,每个数组都有一个与之对应的流出现频数,即图中的F。其中,每个数组的元素都是流的标号。
图3是版本二中计数器的数据结构示意图。该数据结构由一个一维数组构成,由于每一条流的大小最大为256,将该数组大小设置为256。其中,每个数组元素与一个流大小相对应。
图4是本发明实施例的网络流测量的具体框架结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
1.应用场景
本发明的Zero-Error Sketch数据结构,支持零误差恢复流长,能够在与ElasticSketch具有相同处理速度的基础上实现更高精确性。具体应用场景有很多,可在根据环境动态调整的测量框架下对网络流量进行测量时,高准确性地统计所有监控流的流量信息,例如在数据中心的交换机部署本发明的方法,对于网络结构中的流进行测量。
2.实施方式
使用Elastic Sketch维护所有到达的流的信息。该算法对于进入light part中的流,利用CM Sketch存储其流量信息,但是并未保存相应流的标号。因此只能通过查询获取流量,而无法高精度解码复原这部分流的信息。
这里可以使用本发明的版本一的Zero-Error Sketch来满足该方面的需求。当有流被插入light part后,需要做一次查询,得到不小于真实值的估计值。使用该估计值,与存储标号的多个数组所对应的值进行匹配。若匹配成功,则将标号直接加入到相应数组的尾部;若匹配失败,则有可能是由于其他流的散列值与该流发生碰撞,此时放弃保存该标号。
采用版本二的Zero-Error Sketch可以获得更高精度的查询。当有流被插入lightpart后,需要对计数器数组中对应相应流大小的元素进行更新,并根据更新值判断是否进行存储。使用该方法,不仅维持了原有的存储速度,并在此基础上提升了查询的准确度,额外的存储开销也在接收范围内。
下面提供具体的性能数据。
读入3M个包,用于存储标号的数组大小为1200KB。
<1>不使用解码算法下,采用本发明方法的正确率为78.65%,ARE(averagerelative error,平均相对误差)为22.87%,AAE(average absolute error,平均绝对误差)为43.15%。
<2>使用解码算法下,采用本发明方法的正确率为96.34%,ARE为2.36%,AAE为4.64%,存在1.07%的标号保存漏失率。
在本发明提供的算法下,平均每个标号被存储3次,总体的处理速度与不使用保存标号的算法相差不到5%。
3.具体实例
如图4,在数据中心,管理员可在交换机上部署多个测量节点,这些测量节点采集到达流的信息,将流量信息保存在本发明提出的相关数据结构中。当测量任务发起一个查询请求,若为快速查询请求,则由测量节点从Elastic Sketch中返回结果;若该请求期待得到无错的查询结果,则由测量节点将保存的标号信息以及CM-Sketch中存储的信息交由控制器运算处理,结束后以计算结果应答。
基于同一发明构思,本发明的另一个实施例提供一种计算机/服务器,其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一个实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法,其特征在于,包括以下步骤:
设立用于存储小流信息的CM-Sketch数据结构和用于存储标号的数据结构;
在网络流量测量过程中更新表项时,首先更新CM-Sketch,然后基于对CM-Sketch的观察来对存储标号的数据结构进行更新。
2.如权利要求1所述的方法,其特征在于,所述CM-Sketch包含d个数组,用Ai表示其中的第i个数组,每个数组含有w个桶,每个桶中都有一个计数器,用Ai[j]表示CM-Sketch中第i个数组的第j个桶,每个数组Ai都与一个均匀分布独立的哈希函数hi(.)相关联;所述存储标号的数据结构包含k个一维数组,用Bi表示其中的第i个数组,每个数组都对应于一个数值,用fi表示第i个数组Bi所对应的数值。
3.如权利要求2所述的方法,其特征在于,包含插入操作,所述插入操作的步骤如下:
在插入一个流的标号f时,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值
Figure FDA0002202474350000011
作为查询的结果;
将查询结果与所述存储标号的数据结构中k个数组对应的数值进行匹配,若存在fi
Figure FDA0002202474350000013
匹配,则将标号f插入到数组Bi的尾部;若不存在,则放弃本次插入操作。
4.如权利要求2或3所述的方法,其特征在于,若请求精确复原某一流量信息,则由多个一维数组中存储的流量标号,以及CM Sketch中记录的信息,导出方程组并进行求解,返回计算得到的信息。
5.如权利要求1或2所述的方法,其特征在于,额外设立一个计数器,用于辅助流标号的插入操作,并对存储标号的数据结构进行删减,仅用一个数组B存储即可;所述计数器由一个一维数组组成,该数组中含有255个桶,每个桶含有一个计数器,用C表示该数组,用C[i]表示其中第i个桶的计数器。
6.如权利要求5所述的方法,其特征在于,包含插入操作,所述插入操作的步骤如下:
在插入一个流的标号f时,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值
Figure FDA0002202474350000014
作为查询的结果;
然后对数组C中的第
Figure FDA0002202474350000015
个桶进行更新,也即对
Figure FDA0002202474350000016
加1;更新完成后,对该计数器
Figure FDA0002202474350000017
的值进行观察,若满足
Figure FDA0002202474350000018
则将流标号f插入到数组B的尾部;其中t为一参数,用于调整漏失率。
7.根据权利要求6所述的方法,其特征在于,t的取值为0.5。
8.如权利要求5所述的方法,其特征在于,包含采样操作,首先设置常数FlowCountSum用于统计标号被记录的流的数量,其初始值为0;所述采样操作的步骤如下:
对于每一个到达流f,首先对已经更新过的CM-Sketch进行一次查询,计算d个哈希函数h1(f),h2(f),...,hd(f)并且返回A1[h1(f)%w],A2[h2(f)%w],...,Ad[hd(f)%w]中最小的计数器值
Figure FDA0002202474350000021
作为查询的结果;
然后对数组C中的第
Figure FDA0002202474350000022
个桶进行更新,也即对
Figure FDA0002202474350000023
加1;更新完成后,对该计数器
Figure FDA0002202474350000024
的值进行观察,若则对FlowCountSum加1;否则,
Figure FDA0002202474350000026
Figure FDA0002202474350000027
然后,计算其中c是一个常数;p是[0,1]之间的一个随机数,比较p0和p的大小,若p0≥p则记录该流的标号,否则操作结束。
9.一种基于近似零误差的概率测量数据结构Sketch的网络流量测量系统,其特征在于,包括控制器和至少一个交换机;所述交换机连接所述控制器,所述交换机中部署至少一个测量节点;所述控制节点接收网络流量测量任务并将其发送至所述交换机;所述交换机中的测量节点采集到达流的信息,采用权利要求1~8中任一权利要求所述方法进行网络流量测量。
10.如权利要求9所述的系统,其特征在于,当网络流量测量任务发起一个查询请求,若为快速查询请求,则由所述测量节点从Elastic Sketch中返回结果;若该查询请求期待得到无错的查询结果,则由所述测量节点将保存的标号信息以及CM-Sketch中存储的信息交由控制器运算处理,并返回计算结果。
CN201910869952.XA 2019-09-16 2019-09-16 一种基于概率测量数据结构Sketch的网络流量测量方法和系统 Active CN110830322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910869952.XA CN110830322B (zh) 2019-09-16 2019-09-16 一种基于概率测量数据结构Sketch的网络流量测量方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910869952.XA CN110830322B (zh) 2019-09-16 2019-09-16 一种基于概率测量数据结构Sketch的网络流量测量方法和系统

Publications (2)

Publication Number Publication Date
CN110830322A true CN110830322A (zh) 2020-02-21
CN110830322B CN110830322B (zh) 2021-07-06

Family

ID=69548080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910869952.XA Active CN110830322B (zh) 2019-09-16 2019-09-16 一种基于概率测量数据结构Sketch的网络流量测量方法和系统

Country Status (1)

Country Link
CN (1) CN110830322B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422579A (zh) * 2020-11-30 2021-02-26 福州大学 一种基于拟态防御Sketch的执行体集构建方法
CN112787950A (zh) * 2021-01-28 2021-05-11 西安交通大学 一种公平网络流量管控方法及装置
CN113225227A (zh) * 2021-03-25 2021-08-06 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN113360532A (zh) * 2021-06-07 2021-09-07 东南大学 基于略图结构的网络流基数在线实时估算方法
CN113890840A (zh) * 2021-09-29 2022-01-04 深信服科技股份有限公司 流量异常检测方法、装置、电子设备和存储介质
WO2022111596A1 (zh) * 2020-11-30 2022-06-02 华为技术有限公司 数据流测量的方法和装置
CN114710444A (zh) * 2022-03-18 2022-07-05 北京大学 基于塔型摘要和可驱逐流表的数据中心流量统计方法和系统
CN117827851A (zh) * 2024-03-06 2024-04-05 苏州元澄科技股份有限公司 一种用于流基数测量的数据处理结构及其应用

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4186376A (en) * 1977-08-08 1980-01-29 Nissan Motor Company, Limited Illuminable safety and vehicle function display device
CN102129559A (zh) * 2011-04-22 2011-07-20 西安电子科技大学 基于Primal Sketch算法的SAR图像目标检测方法
US8082358B2 (en) * 2008-09-30 2011-12-20 Microsoft Corporation ISP-friendly rate allocation for P2P applications
CN102800129A (zh) * 2012-06-20 2012-11-28 浙江大学 一种基于单幅图像的头发建模和肖像编辑方法
CN104317751A (zh) * 2014-11-18 2015-01-28 浪潮电子信息产业股份有限公司 一种gpu上数据流处理系统及其数据流处理方法
CN105096249A (zh) * 2014-05-23 2015-11-25 北京大学 图像处理方法和装置
CN106230652A (zh) * 2016-07-19 2016-12-14 东北大学 基于OpenFlow协议的SDN网络性能测量方法
CN106657038A (zh) * 2016-12-08 2017-05-10 西安交通大学 一种基于对称度Sketch的网络流量异常检测与定位方法
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
CN108304404A (zh) * 2017-01-12 2018-07-20 北京大学 一种基于改进的Sketch结构的数据频率估计方法
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法
CN110011876A (zh) * 2019-04-19 2019-07-12 福州大学 一种基于强化学习的Sketch的网络测量方法
CN110019250A (zh) * 2019-03-06 2019-07-16 清华大学 基于哈希函数的网络测量方法和计算机可读存储介质
CN110049061A (zh) * 2019-04-29 2019-07-23 南京邮电大学 高速网络上轻量级DDoS攻击检测装置及检测方法
US10411978B1 (en) * 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4186376A (en) * 1977-08-08 1980-01-29 Nissan Motor Company, Limited Illuminable safety and vehicle function display device
US8082358B2 (en) * 2008-09-30 2011-12-20 Microsoft Corporation ISP-friendly rate allocation for P2P applications
CN102129559A (zh) * 2011-04-22 2011-07-20 西安电子科技大学 基于Primal Sketch算法的SAR图像目标检测方法
CN102800129A (zh) * 2012-06-20 2012-11-28 浙江大学 一种基于单幅图像的头发建模和肖像编辑方法
CN105096249A (zh) * 2014-05-23 2015-11-25 北京大学 图像处理方法和装置
CN104317751A (zh) * 2014-11-18 2015-01-28 浪潮电子信息产业股份有限公司 一种gpu上数据流处理系统及其数据流处理方法
CN106230652A (zh) * 2016-07-19 2016-12-14 东北大学 基于OpenFlow协议的SDN网络性能测量方法
CN106657038A (zh) * 2016-12-08 2017-05-10 西安交通大学 一种基于对称度Sketch的网络流量异常检测与定位方法
CN108304404A (zh) * 2017-01-12 2018-07-20 北京大学 一种基于改进的Sketch结构的数据频率估计方法
CN108304409A (zh) * 2017-01-13 2018-07-20 北京大学 一种基于进位的Sketch数据结构的数据频度估计方法
CN107566206A (zh) * 2017-08-04 2018-01-09 华为技术有限公司 一种流量测量方法、设备及系统
US10411978B1 (en) * 2018-08-09 2019-09-10 Extrahop Networks, Inc. Correlating causes and effects associated with network activity
CN109861881A (zh) * 2019-01-24 2019-06-07 大连理工大学 一种基于三层Sketch架构的大象流检测方法
CN110019250A (zh) * 2019-03-06 2019-07-16 清华大学 基于哈希函数的网络测量方法和计算机可读存储介质
CN110011876A (zh) * 2019-04-19 2019-07-12 福州大学 一种基于强化学习的Sketch的网络测量方法
CN110049061A (zh) * 2019-04-29 2019-07-23 南京邮电大学 高速网络上轻量级DDoS攻击检测装置及检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
方澄: "基于Sketch数据结构的海量网络流量实时排名系统", 《计算机应用》 *
杨仝: "Accurate per-flow measurement with bloom sketch", 《 IEEE INFOCOM 2018 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS (INFOCOM WKSHPS)》 *
罗玲: "基于sketch数据结构与正则性分布的骨干网流量异常分析与识别", 《系统科学与数学》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112422579B (zh) * 2020-11-30 2021-11-30 福州大学 一种基于拟态防御Sketch的执行体集构建方法
CN112422579A (zh) * 2020-11-30 2021-02-26 福州大学 一种基于拟态防御Sketch的执行体集构建方法
WO2022111596A1 (zh) * 2020-11-30 2022-06-02 华为技术有限公司 数据流测量的方法和装置
CN112787950A (zh) * 2021-01-28 2021-05-11 西安交通大学 一种公平网络流量管控方法及装置
CN113225227B (zh) * 2021-03-25 2023-01-17 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN113225227A (zh) * 2021-03-25 2021-08-06 北京大学 一种兼顾简单性与准确性的基于简图的网络测量方法和装置
CN113360532A (zh) * 2021-06-07 2021-09-07 东南大学 基于略图结构的网络流基数在线实时估算方法
CN113360532B (zh) * 2021-06-07 2022-11-15 东南大学 基于略图结构的网络流基数在线实时估算方法
CN113890840A (zh) * 2021-09-29 2022-01-04 深信服科技股份有限公司 流量异常检测方法、装置、电子设备和存储介质
CN114710444A (zh) * 2022-03-18 2022-07-05 北京大学 基于塔型摘要和可驱逐流表的数据中心流量统计方法和系统
CN114710444B (zh) * 2022-03-18 2023-11-07 北京大学 基于塔型摘要和可驱逐流表的数据中心流量统计方法和系统
CN117827851A (zh) * 2024-03-06 2024-04-05 苏州元澄科技股份有限公司 一种用于流基数测量的数据处理结构及其应用
CN117827851B (zh) * 2024-03-06 2024-05-10 苏州元澄科技股份有限公司 一种用于流基数测量的数据处理结构及其应用

Also Published As

Publication number Publication date
CN110830322B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN110830322B (zh) 一种基于概率测量数据结构Sketch的网络流量测量方法和系统
JP7039685B2 (ja) トラフィック測定方法、デバイス、およびシステム
CN104516894B (zh) 用于管理时间序列数据库的方法和装置
CN102915347B (zh) 一种分布式数据流聚类方法及系统
US7143396B2 (en) System and method for measuring code segment performance
CN111130842B (zh) 一种反映网络多维资源的动态网络图谱数据库构建方法
CN111884832B (zh) 一种获取无源网络拓扑信息的方法及相关设备
CN103259694A (zh) 用于网络设备的空间高效计数器
CN110414569A (zh) 聚类实现方法及装置
CN108763536A (zh) 数据库访问方法及装置
WO2021061090A1 (en) Time-series anomaly detection using an inverted index
CN111522811B (zh) 数据库的处理方法及装置、存储介质、终端
CN110109867A (zh) 改进在线模式检测的方法、装置和计算机程序产品
CN113010837A (zh) 基于tdoa定位的无线传感网络在非视线条件下传感器的选择方法及装置
CN109756381B (zh) 数据中心故障定位方法、装置、电子设备和介质
CN112269726A (zh) 一种数据处理方法及装置
CN114625805B (zh) 一种回测配置方法、装置、设备及介质
US11748255B1 (en) Method for searching free blocks in bitmap data, and related components
CN112988122B (zh) 基于功能特性与微服务关联度的单体应用分解工具及方法
CN115618286A (zh) 变压器局部放电类型识别方法、系统、设备、终端及应用
CN116089487A (zh) 查询流水线执行的调度
CN115085985A (zh) 一种用于网络安全监测的内存高效范围基数测量方法
CN113395762A (zh) 超宽带定位网络中位置校正方法及装置
CN113298115A (zh) 基于聚类的用户分组方法、装置、设备和存储介质
US11157382B2 (en) Obtaining of statistical performance of storage system

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