CN117827851B - 一种用于流基数测量的数据处理结构及其应用 - Google Patents
一种用于流基数测量的数据处理结构及其应用 Download PDFInfo
- Publication number
- CN117827851B CN117827851B CN202410252742.7A CN202410252742A CN117827851B CN 117827851 B CN117827851 B CN 117827851B CN 202410252742 A CN202410252742 A CN 202410252742A CN 117827851 B CN117827851 B CN 117827851B
- Authority
- CN
- China
- Prior art keywords
- stream
- flow
- data processing
- radix
- linked list
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 49
- 238000005259 measurement Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000013507 mapping Methods 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 4
- 230000037431 insertion Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 description 19
- 230000000052 comparative effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于流基数测量的数据处理结构及其应用,该数据处理结构包括:基数估计器,包括一个长度为M的位图;大流部分,用于记录基数大于设定阈值的流信息;小流部分,包括一个CM Sketch。本发明将多流的流式基数估计技术与通常运用在流频数测量中的大小流区分存储技术结合,做到了对大基数流的精确估计,对小基数流较为精确的估计,同时可以完成多种基数测量任务。并且为大流部分与小流部分设计了一个巧妙的交换过程,保证了大流部分的准确度,同时确保小流部分不会存储大基数流的基数信息,避免了小基数流与大基数流共享一个计数器时导致小基数的过高估计。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种用于流基数测量的数据处理结构及其应用。
背景技术
在高速网络中,针对大规模流数据的流量测量在提升网络性能、协助资源分配以及检测异常方面具有广泛的应用。其中一个基本的测量功能被称为流基数估计,其任务是统计每个网络流中不同元素的数量,这些流可以是TCP流、P2P流、HTTP流,或者根据数据包头部的一个或多个字段任意定义,而在测量中的元素也可以是数据包头部的地址/端口或数据包负载中的特定应用值。例如,所有来自相同源地址的数据包形成一个按源地址划分的流,我们可以测量每个源地址(即流标签)联系到的不同目标地址(即元素)的数量。流基数估算在扫描检测、蠕虫监测、代理缓存和内容访问分析等方面有着重要的应用。需要强调的是,基数估计与计算每个流中的数据包数量或识别大流是不同的。前者是计算不同元素的数量,需要过滤重复项,因此比后者更为复杂,后者只是简单地计算数据包的数量。
由于这些流数据的大规模和高速特性,在计算和内存资源有限的情况下统计所有的流信息是十分困难的。例如,网络路由器具有高速但非常小的内存,这导致它们的流量监测模块无法准确统计网络每一条流的基数。因此,开发快速且内存高效的算法以近似计算用户基数是非常重要的。目前一种可行的解决方案是借助草图(Sketch)技术。草图本质上是一类高效紧凑新数据结构。利用共享计数器单元的思想,草图仅消耗极少的内存空间就可以记录大量流信息,具有强压缩的特点;同时,草图对于数据的处理基于简单的哈希计算,保证了较低的计算开销。
然而,目前已有针对流基数估计的草图技术存在以下问题:
(1)使用过滤重复项草图和估计流频数草图的复合结构会导致较大误差:我们可以采用布隆过滤器来处理重复项,并利用类似Count-Min Sketch(CM Sketch)的频率估计方法来近似估计流基数,但这需要占用大量内存,并导致较大的估算误差。具体而言,布隆过滤器是一个长度为m的位图和k个独立的哈希函数组成的一维比特数组。对于每个传入的项,布隆过滤器使用k个哈希函数随机选择k个比特并将其置为1。然后,要检查项先前是否出现,布隆过滤器使用k个哈希函数获取项的k个对应比特。如果所有这k个对应的比特均为1,则将该项视为重复项,否则为新的项。布隆过滤器的关键特点是具有误报但没有漏报。布隆过滤器中存储的项的数量越多,误报率越大。因此,为了达到所需的误报率,需要为布隆过滤器分配较大的内存空间。此外,CM Sketch对错误识别的项的误报也会导致了复杂的估计误差,因为这些误报是事先未知的。另外,CM Sketch通常对流基数提供过高的估计,并且容易将基数较小的流误分类为基数较大的流,产生较大的估计偏差。
(2)针对流基数估计的草图的参数设置较为复杂,很难设定最优值:针对单流基数测量的常用方法有线性时间概率计数(LPC)和HyperLogLog(HLL)。一个LPC/HLL草图包含m个比特/寄存器,其中m是影响估算准确性的参数。由于网络数据集中流的基数事先未知并且随时间变化,为了保证每条流的估计精确度,需要设置较大的m值(例如,千位),因为流基数的变化范围较大。然而,这种方法浪费了大量内存,因为对于大多数基数较小的用户,不需要设置较大的m值。
为解决这一问题,已有许多研究开发了不同的虚拟草图方法,将每条流的LPC/HLL草图压缩成由所有用户共享的大型比特/寄存器数组。这些虚拟草图方法使用从大型位/寄存器数组中随机选择的m位/寄存器构建每个用户的虚拟LPC/HLL草图。这显著减少了内存使用,因为每个位/寄存器可能被多个用户使用。然而,一条流的虚拟LPC/HLL草图中的位/寄存器可能会受到其他流的污染。我们将这些位/寄存器称为“噪声”位/寄存器。在实际应用中,大多数用户的基数较小,他们的虚拟LPC/HLL草图往往包含许多“噪声”位/寄存器,导致较大的估算误差。
(3)目前的FreeBS/FreeRS没有设计流的基数统计结构,无法高效又精确地查询每流基数:与先前的位和寄存器共享方法相比,FreeBS/FreeRS是一种多流的流式基数估计技术,其利用比特/寄存器数组随时间变化的动态特性,显著提高了估算准确性。比特/寄存器数组的动态特性可概括为:①随着流基数增加,流使用的比特/寄存器数量动态增加,因此具有更大基数的流倾向于使用更多比特/寄存器;②比特数组中零比特的比例和寄存器数组中寄存器值的分数会随时间动态变化。FreeBS 和 FreeRS 根据每个新到达的数据包的更新比特/寄存器数组的概率,逐渐估算流基数,用更新概率的倒数作为流基数估计的增量。FreeBS/FreeRS没有设计高效的流的基数统计结构,FreeBS-SSD/FreeRS-SSD将FreeBS/FreeRS与无偏空间保存(Unbiased Space Saving)结构结合,追踪基数极大的异常流,实时检测超级传播者(superspreader)。然而FreeBS-SSD/FreeRS-SSD的流表由于频繁的更新和替换操作,其精确度和吞吐量并不高,且无法对基数中等或较小的流进行估计。
因此,一种用于流基数测量的数据处理结构及其应用亟待提出。
发明内容
为解决现有技术存在的缺陷,本发明提供一种用于流基数测量的数据处理结构及其应用。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提供一种用于流基数测量的数据处理结构,包括:
基数估计器,其包括一个长度为M的位图;
大流部分,用于记录基数大于设定阈值的流信息;
小流部分,包括一个CM Sketch,所述CM Sketch的基本结构是一个d行w列的二维寄存器数组C,每一个寄存器作为一个计数器,C[i][j]表示第i行第j列的计数器;所述CMSketch的每一行关联一个哈希函数h i ,1≤i≤d,h i 会将流f映射到第i行第h i (f)列的计数器;当向CM Sketch中插入一条大小为x的流f时,CM Sketch会将流f映射到每一行的计数器C[i][hi(f)]增加x;当查询流f的大小时,CM Sketch会报告流f映射到的d个计数器中值最小的那个计数器的值。
优选的,所述位图包括一个比特数组和一个哈希函数,所述位图的每个比特位对应于一个可能的项,所有的项通过同一个哈希函数映射到位图中不同的比特。
优选的,所述大流部分包括一个最大长度为l个节点的链表H,l表示节点个数,每个链表节点包括流标签和流的基数估计值,该链表H按流的基数估计值的大小从大到小排序。
本发明还提供一种用于流基数测量的数据处理结构的应用,包括插入操作和查询操作。
优选的,所述插入操作包括以下步骤:
S11、当一个数据包到达交换机后,交换机提取出数据包中的流标签和元素标签,得到一个标签对<f, e>,其中f为流标签,e为元素标签;
S12、数据处理结构首先进行一次哈希计算h * (f⊕e),h * 是一个哈希函数,将<f, e>映射到基数估计器的位图中对应的比特B[h * (f⊕e)],若B[h * (f⊕e)]为1,则对这个数据包的操作终止;若B[h * (f⊕e)]为0,此时位图B中0比特的数量记为m 0 ,位图的总长度为M,令q B 为位图B中0比特的数量占B总长度的比例,即q B ← ,数据处理结构将/>作为流f的基数估计增量,并对其进行后续插入操作;
S13、先将流f插入到大流部分,根据大流部分的链表H是否记录流f以及链表H是否已满将插入操作分为下面三种情况:
(1)流f已经在链表H中记录:对于fid为f的节点N f ,将N f .cnt增加;
(2)流f没有在链表H中记录且链表H未满:创建一个新节点N new ,N new .fid为f, N new .cnt为,将N new 插入到链表H中;
(3)流f没有在链表H中记录且链表H已满:将(f, )插入到小流部分的CMSketch中,并且在插入的同时查询f的值,令查询值为Q min ,大流部分链表H中的流的基数估计值最小的节点为N min ,若Q min 大于N min .cnt,则当前流f的基数估计值大于大流部分中最小流的基数估计值,因此踢出大流部分中最小流并将当前流f插入大流部分,即将CM Sketch中流f的查询值清除,同时将(N min .fid, N min .cnt)插入CM Sketch中,将N min 赋值为(f, Q min )。
优选的,在每次对大流部分的链表H进行更新后,都需要对更新的节点进行排序,使得H按节点流的基数估计值的大小从大到小排序。
优选的,所述查询操作包括以下步骤:向数据处理结构输入需要查询的流f后,首先在大流部分查询链表H中是否记录了流f,若链表H中记录了流f,则报告N f .cnt;否则,在小流部分的CM Sketch中查询流f的基数估计值,报告流f映射到的d个计数器中值最小的那个计数器的值。
本发明相较于现有技术,具有以下有益效果:
本发明将多流的流式基数估计技术与通常运用在流频数测量中的大小流区分存储技术结合,做到了对大基数流的精确估计,对小基数流较为精确的估计,同时可以完成多种基数测量任务。并且为大流部分与小流部分设计了一个巧妙的交换过程,保证了大流部分的准确度,同时确保小流部分不会存储大基数流的基数信息,避免了小基数流与大基数流共享一个计数器时导致小基数的过高估计。
附图说明
图1是本发明一种用于流基数测量的数据处理结构的结构示意图;
图2是本发明一种用于流基数测量的数据处理结构插入操作的流程图;
图3是本发明一种用于流基数测量的数据处理结构查询操作的流程图;
图4是本发明对比实验中PS-Sketch和FreeBS-SSD+CM片上空间100KB每流基数估计示意图;
图5是本发明对比实验中PS-Sketch和BF+CM片上空间100KB每流基数估计示意图;
图6是本发明对比实验中PS-Sketch和FreeBS-SSD+CM片上空间200KB每流基数估计示意图;
图7是本发明中PS-Sketch和BF+CM片上空间200KB每流基数估计示意图;
图8是本发明中PS-Sketch和FreeBS-SSD+CM片上空间300KB每流基数估计示意图;
图9是本发明中PS-Sketch和BF+CM片上空间300KB每流基数估计示意图;
图10是本发明在基数阈值50,在不同的片上空间下F1 Score对比示意图;
图11是本发明在基数阈值50,在不同的片上空间下ARE对比示意图;
图12是本发明在基数阈值200,在不同的片上空间下F1 Score对比示意图;
图13是本发明在基数阈值200,在不同的片上空间下ARE对比示意图;
图14是本发明TOP-K查询K值为100,在不同空间下F1 Score对比示意图;
图15是本发明TOP-K查询K值为100,在不同空间下ARE对比示意图;
图16是本发明TOP-K查询K值为400,在不同空间下F1 Score对比示意图;
图17是本发明TOP-K查询K值为400,在不同空间下ARE对比示意图;
图18是本发明对比实验的吞吐量示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示,本实施例提供一种用于流基数测量的数据处理结构(PS-Sketch),包括:
基数估计器,其包括一个长度为M的位图(Bitmap);该位图包括一个比特数组和一个哈希函数,所述位图的每个比特位对应于一个可能的项,所有的项通过同一个哈希函数映射到位图中不同的比特;
大流部分(Heavy Part),包括一个最大长度为l个节点的链表H,l表示节点个数,每个链表节点包括流标签(fid)和流的基数估计值(cnt),该链表H按流的基数估计值的大小从大到小排序;用于记录基数大于设定阈值的流信息;
小流部分(Light Part),包括一个CM Sketch,所述CM Sketch的基本结构是一个d行w列的二维寄存器数组C,每一个寄存器作为一个计数器,C[i][j]表示第i行第j列的计数器;所述CM Sketch的每一行关联一个哈希函数h i ,1≤i≤d,h i 会将流f映射到第i行第h i (f)列的计数器;当向CM Sketch中插入一条大小为x的流f时,CM Sketch会将流f映射到每一行的计数器C[i][hi(f)]增加x;当查询流f的大小时,CM Sketch会报告流f映射到的d个计数器中值最小的那个计数器的值;用于记录基数小于设定阈值的流信息。
如图2所示,本实施例还提供一种用于流基数测量的数据处理结构的应用,包括插入操作,具体包括以下步骤:
S11、当一个数据包到达交换机后,交换机提取出数据包中的流标签和元素标签,得到一个标签对<f, e>,其中f为流标签,e为元素标签;
S12、数据处理结构首先进行一次哈希计算h * (f⊕e),h * 是一个哈希函数,将<f, e>映射到基数估计器的位图中对应的比特B[h * (f⊕e)],若B[h * (f⊕e)]为1,则对这个数据包的操作终止;若B[h * (f⊕e)]为0,此时位图B中0比特的数量记为m 0 ,位图的总长度为M,令q B 为位图B中0比特的数量占B总长度的比例,即q B ← ,数据处理结构将/>作为流f的基数估计增量,并对其进行后续插入操作;
S13、先将流f插入到大流部分,根据大流部分的链表H是否记录流f以及链表H是否已满将插入操作分为下面三种情况:
(1)流f已经在链表H中记录:对于fid为f的节点N f ,将N f .cnt增加;
(2)流f没有在链表H中记录且链表H未满:创建一个新节点N new ,N new .fid为f, N new .cnt为,将N new 插入到链表H中;
(3)流f没有在链表H中记录且链表H已满:将(f, )插入到小流部分的CMSketch中,并且在插入的同时查询f的值,令查询值为Q min ,大流部分链表H中的流的基数估计值最小的节点为N min ,若Q min 大于N min .cnt,则当前流f的基数估计值大于大流部分中最小流的基数估计值,因此踢出大流部分中最小流并将当前流f插入大流部分,即将CM Sketch中流f的查询值清除,同时将(N min .fid, N min .cnt)插入CM Sketch中,将N min 赋值为(f, Q min )。
具体的,在每次对大流部分的链表H进行更新后,都需要对更新的节点进行排序,使得H按节点流的基数估计值的大小从大到小排序。
如图3所示,本实施例还提供一种用于流基数测量的数据处理结构的应用,包括查询操作,具体包括以下步骤:向数据处理结构输入需要查询的流f后,首先在大流部分查询链表H中是否记录了流f,若链表H中记录了流f,则报告N f .cnt;否则,在小流部分的CMSketch中查询流f的基数估计值,报告流f映射到的d个计数器中值最小的那个计数器的值。
为了对数据处理结构的效果进行验证,使用CAIDA2019的一千万个数据包进行实验,将数据包的源地址作为流标签,目的地址作为元素标签,一共有156057条数据流,基数最大的流的基数为59437。该数据集类似于偏斜1.0的Zipf分布。测量指标有两个:F1 Score和ARE。其中F1 Score是用于评估二元分类模型性能的度量标准,是精确度(Precision)和召回率(Recall)的调和平均值,它的取值范围在0到1之间,1表示最佳的F1 Score。计算公式如下:
ARE是平均相对误差,是所有超级传播者的估计误差的平均值,计算公式如下:
其中,n为超级传播者的数量,是第i个超级传播者的真实基数,/>是第i个超级传播者的估计基数。
目前没有满足基数相关的多任务测量结构,我们利用已有算法设计了两个对比算法:①FreeBS-SSD + CM Sketch:FreeBS-SSD记录大基数流的信息并且在测量结束时可以进行超级传播者检测和TOP-K查询,CM Sketch记录所有流通过FreeBS得到基数估计值,完成每流基数估计;②BloomFilter + CM Sketch:布隆过滤器对数据包进行去重,CM Sketch记录所有流的基数估计值,同时用一个链表来记录大流的信息。
下面,我们针对每流基数测量、超级传播者检测和TOP-K查询这三个不同的任务进行了三组实验:
(1)每流基数测量:图4-9为数据处理结构与对比实验在100KB、200KB和300KB的片上空间下每流基数测量的表现。表1-3显示了数据处理结构与对比实验在不同空间下对于基数在各个大小区间的平均相对误差对比。
表1:片上空间100KB每流基数估计。
表2:片上空间200KB每流基数估计。
表3:片上空间300KB每流基数估计。
可以看到,对于实际基数大于100的流,数据处理结构的估计精度要远远好于两个对比实验,其中对于真实基数在102至103的流,基数估计的平均相对误差平均降低了71.9%和77.8%;对于真实基数大于103的流,基数估计的平均相对误差平均降低了41.1%和93.7%;对于真实基数在101至102的流,数据处理结构的估计精度明显好于Free-BS+CM,与BF+CM的估计精度相当;对于真实基数小于101的流,数据处理结构与Free-BS+CM的估计精度相当,但不如BF+CM的估计精度,这是因为BF+CM的布隆过滤器在小空间时比特数组中的大部分比特会被置为1,这时即使是新的数据包也会大概率被当做重复数据包过滤掉,所以大部分流都会被低估(如图5、图7、图9),但是由于CM Sketch的高估特性,部分小流被过高估计,总体呈现效果是BF+CM对于真实基数小于101的流的估计效果好于另外两个算法。实际上,真实基数小于101的流在流量测量的应用中很少会被关注到,而且对于这些极小流,高估产生的估计误差通常会使得平均相对误差大于低估产生的估计误差。
(2)超级传播者检测:图10-13为数据处理结构与对比实验在不同空间下超级传播者检测的表现。超级传播者是指基数超过给定阈值的流,超级传播者检测任务要求在测量周期结束时汇报基数超过给定阈值的流的标签。我们实验中使用的CAIDA2019数据集中,基数阈值为50的超级传播者有836个,基数阈值为200的超级传播者有205个。我们设定不同的基数阈值(50和200),在不同的片上空间下比较了数据处理结构与两个对比实验的F1Score和ARE。从图10-13可以看到,数据处理结构对于超级传播者的检测准确度和估计误差都要远远好于两个对比实验,具体来说F1 Score平均提高了1.78倍和1.53倍,平均相对误差平均降低了76.2%和82.8%。
(3)TOP-K查询:图14-17为数据处理结构与对比实验在不同空间下TOP-K查询的表现。TOP-K查询是指在测量周期结束时汇报基数大小在前K个流的标签。我们实验中使用的CAIDA2019数据集中,将流按基数大小排序,第100高的流基数值为403,第400高的流基数为102。我们设定不同的K值(100和400),在不同的片上空间下比较了数据处理结构与两个对比实验的F1 Score和ARE。从图14-17可以看到,数据处理结构对于TOP-K查询的检测准确度和估计误差都要远远好于两个对比实验,具体来说F1 Score平均提高了22.6%和15.8%,平均相对误差平均降低了72.1%和83.4%。
最后,为了验证数据处理结构的实时性,我们对比了数据处理结构与两个对比实验的吞吐量,如图18所示,其中吞吐量的单位为Mips(百万次插入操作每秒)。数据处理结构的吞吐量要好于两个对比实验,具体而言吞吐量平均提高了72.8%和21.3%。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种用于流基数测量的数据处理结构的应用,其特征在于,所述数据处理结构包括:
基数估计器,包括一个长度为M的位图;
大流部分,用于记录基数大于设定阈值的流信息;
小流部分,包括一个CM Sketch,所述CM Sketch的基本结构是一个d行w列的二维寄存器数组C,每一个寄存器作为一个计数器,C[i][j]表示第i行第j列的计数器;所述CMSketch的每一行关联一个哈希函数h i ,1≤i≤d,h i 会将流f映射到第i行第h i (f)列的计数器;当向CM Sketch中插入一条大小为x的流f时,CM Sketch会将流f映射到每一行的计数器C[i][hi(f)]增加x;当查询流f的大小时,CM Sketch会报告流f映射到的d个计数器中值最小的那个计数器的值;
所述数据处理结构进行插入操作,包括以下步骤:
S11、当一个数据包到达交换机后,交换机提取出数据包中的流标签和元素标签,得到一个标签对<f, e>,其中f为流标签,e为元素标签;
S12、数据处理结构首先进行一次哈希计算h * (f⊕e),将<f, e>映射到基数估计器的位图中对应的比特B[h * (f⊕e)],若B[h * (f⊕e)]为1,则对这个数据包的操作终止;若B[h * (f⊕ e)]为0,此时位图B中0比特的数量记为m 0 ,位图的总长度为M,令q B 为位图B中0比特的数量占B总长度的比例,即q B ← ,数据处理结构将/>作为流f的基数估计增量,并对其进行后续插入操作;
S13、先将流f插入到大流部分,根据大流部分的链表H是否记录流f以及链表H是否已满将插入操作分为下面三种情况:
(1)流f已经在链表H中记录:对于fid为f的节点N f ,将N f .cnt增加;
(2)流f没有在链表H中记录且链表H未满:创建一个新节点N new ,N new .fid为f,N new .cnt为,将N new 插入到链表H中;
(3)流f没有在链表H中记录且链表H已满:将(f, )插入到小流部分的CM Sketch中,并且在插入的同时查询f的值,令查询值为Q min ,大流部分链表H中的流的基数估计值最小的节点为N min ,若Q min 大于N min .cnt,则当前流f的基数估计值大于大流部分中最小流的基数估计值,因此踢出大流部分中最小流并将当前流f插入大流部分,即将CM Sketch中流f的查询值清除,同时将(N min .fid, N min .cnt)插入CM Sketch中,将N min 赋值为(f, Q min )。
2.根据权利要求1所述的用于流基数测量的数据处理结构的应用,其特征在于,所述位图包括一个比特数组和一个哈希函数,所述位图的每个比特位对应于一个可能的项,所有的项通过同一个哈希函数映射到位图中不同的比特。
3.根据权利要求1所述的用于流基数测量的数据处理结构的应用,其特征在于,所述大流部分包括一个最大长度为l个节点的链表H,每个链表节点包括流标签和流的基数估计值,该链表H按流的基数估计值的大小从大到小排序。
4.根据权利要求1所述的用于流基数测量的数据处理结构的应用,其特征在于,在每次对大流部分的链表H进行更新后,都需要对更新的节点进行排序,使得H按节点流的基数估计值的大小从大到小排序。
5.根据权利要求1所述的用于流基数测量的数据处理结构的应用,其特征在于,所述数据处理结构进行查询操作,包括以下步骤:向数据处理结构输入需要查询的流f后,首先在大流部分查询链表H中是否记录了流f,若链表H中记录了流f,则报告N f .cnt;否则,在小流部分的CM Sketch中查询流f的基数估计值,报告流f映射到的d个计数器中值最小的那个计数器的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410252742.7A CN117827851B (zh) | 2024-03-06 | 2024-03-06 | 一种用于流基数测量的数据处理结构及其应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410252742.7A CN117827851B (zh) | 2024-03-06 | 2024-03-06 | 一种用于流基数测量的数据处理结构及其应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827851A CN117827851A (zh) | 2024-04-05 |
CN117827851B true CN117827851B (zh) | 2024-05-10 |
Family
ID=90517668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410252742.7A Active CN117827851B (zh) | 2024-03-06 | 2024-03-06 | 一种用于流基数测量的数据处理结构及其应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827851B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830322A (zh) * | 2019-09-16 | 2020-02-21 | 北京大学 | 一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统 |
CN113992541A (zh) * | 2021-09-11 | 2022-01-28 | 西安电子科技大学 | 网络流量测量方法、系统、计算机设备、存储介质及应用 |
CN116055362A (zh) * | 2023-01-10 | 2023-05-02 | 之江实验室 | 基于时间窗口的两级哈希-Sketch网络流量测量方法 |
CN116095029A (zh) * | 2022-11-30 | 2023-05-09 | 鹏城实验室 | 网络数据流测量方法、系统、终端及存储介质 |
CN116760728A (zh) * | 2023-07-19 | 2023-09-15 | 沈阳师范大学 | 一种面向高速数据流的通用流级过滤方法 |
CN117201368A (zh) * | 2023-08-25 | 2023-12-08 | 苏州大学 | 一种基于前置采样的网络流基数估计方法及系统 |
CN117336209A (zh) * | 2023-10-14 | 2024-01-02 | 东南大学 | 基于通用略图的高速网络逐流基数和分布函数的估算方法 |
CN117596010A (zh) * | 2023-10-10 | 2024-02-23 | 中国网络空间研究院 | 一种用于网络异常检测的高效高精度基数测量方法及系统 |
-
2024
- 2024-03-06 CN CN202410252742.7A patent/CN117827851B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830322A (zh) * | 2019-09-16 | 2020-02-21 | 北京大学 | 一种基于近似零误差的概率测量数据结构Sketch的网络流量测量方法和系统 |
CN113992541A (zh) * | 2021-09-11 | 2022-01-28 | 西安电子科技大学 | 网络流量测量方法、系统、计算机设备、存储介质及应用 |
CN116095029A (zh) * | 2022-11-30 | 2023-05-09 | 鹏城实验室 | 网络数据流测量方法、系统、终端及存储介质 |
CN116055362A (zh) * | 2023-01-10 | 2023-05-02 | 之江实验室 | 基于时间窗口的两级哈希-Sketch网络流量测量方法 |
CN116760728A (zh) * | 2023-07-19 | 2023-09-15 | 沈阳师范大学 | 一种面向高速数据流的通用流级过滤方法 |
CN117201368A (zh) * | 2023-08-25 | 2023-12-08 | 苏州大学 | 一种基于前置采样的网络流基数估计方法及系统 |
CN117596010A (zh) * | 2023-10-10 | 2024-02-23 | 中国网络空间研究院 | 一种用于网络异常检测的高效高精度基数测量方法及系统 |
CN117336209A (zh) * | 2023-10-14 | 2024-01-02 | 东南大学 | 基于通用略图的高速网络逐流基数和分布函数的估算方法 |
Non-Patent Citations (1)
Title |
---|
利用深度学习的高速网络流基数估计算法;杨东阳等;《小型微型计算机系统》;20230930;第44卷(第9期);第2068-2074页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117827851A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cormode et al. | Space efficient mining of multigraph streams | |
CN106452868B (zh) | 一种支持多维度聚合分类的网络流量统计实现方法 | |
Dimitropoulos et al. | Probabilistic lossy counting: An efficient algorithm for finding heavy hitters | |
Mahmood et al. | Critical infrastructure protection: Resource efficient sampling to improve detection of less frequent patterns in network traffic | |
Kirsch et al. | Hash-based techniques for high-speed packet processing | |
US20100150004A1 (en) | Methods and apparatus to bound network traffic estimation error for multistage measurement sampling and aggregation | |
CN103647670B (zh) | 一种基于sketch的数据中心网络流量分析方法 | |
EP3282643B1 (en) | Method and apparatus of estimating conversation in a distributed netflow environment | |
US20130103713A1 (en) | Computing correlated aggregates over a data stream | |
Hua et al. | A multi-attribute data structure with parallel bloom filters for network services | |
CN117336209A (zh) | 基于通用略图的高速网络逐流基数和分布函数的估算方法 | |
US8195710B2 (en) | Method for summarizing data in unaggregated data streams | |
Zhao et al. | Panakos: Chasing the tails for multidimensional data streams | |
CN117827851B (zh) | 一种用于流基数测量的数据处理结构及其应用 | |
He et al. | Histsketch: A compact data structure for accurate per-key distribution monitoring | |
Wang et al. | Utilizing dynamic properties of sharing bits and registers to estimate user cardinalities over time | |
CN115580543B (zh) | 一种基于哈希计数的网络系统活跃度评估方法 | |
CN113794653B (zh) | 一种基于抽样数据流的高速网络流量分类方法 | |
Fan et al. | Onesketch: A generic and accurate sketch for data streams | |
Zhu et al. | CBFSketch: A scalable sketch framework for high speed network | |
Xie et al. | Index–Trie: Efficient archival and retrieval of network traffic | |
Mahmood et al. | A scalable sampling scheme for clustering in network traffic analysis | |
Zhou et al. | Per-flow cardinality estimation based on virtual loglog sketching | |
Zheng et al. | Rethinking fine-grained measurement from software-defined perspective: A survey | |
Zhu et al. | OEBSA-Sketch: a Combination of Sketch and Hash Table for the Measurement of Stream Data |
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 |