System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于通用略图的高速网络逐流基数和分布函数的估算方法技术_技高网
当前位置: 首页 > 专利查询>东南大学专利>正文

基于通用略图的高速网络逐流基数和分布函数的估算方法技术

技术编号:39948599 阅读:5 留言:0更新日期:2024-01-08 23:07
本发明专利技术涉及一种基于通用略图的高速网络逐流基数和分布函数估算方法。该方法利用层次化的略图结构设计,在利用略图方法存储逐流基数指标的同时,为大基数的超点流分配独占的有状态流表空间,存储其对应的流标识与基数值,改善了逐流基数估算精度。在该层次化结构中,每层的子略图组合了一个确切数据结构和一个略图结构,引入了一套基于最小堆的在两者之间的换入、换出机制,并通过快照记录移入时刻的噪声大小,缓解了哈希碰撞。同时,该方法能够计算逐流基数的任意阶矩,并以此重构出逐流基数的分布函数。本发明专利技术在未使算法时间复杂度有较明显提升的前提下,实现了高速网络流量中的逐流基数值、流基数高阶矩和分布函数等相关统计指标的准确估计。

【技术实现步骤摘要】

本专利技术属于网络,涉及网络数据流量分析、分布式数据处理等多个重要领域的相关技术,具体为基于通用略图的高速网络逐流基数和分布函数的估算方法


技术介绍

1、随着网络用户和网络规模的爆炸性增长,对网络中的数据流进行实时且高效的统计值测量成为网络测量这一研究领域的热点话题。网络测量在人们的生产生活及科研工作中均具诸多实际应用价值,如网络流量检测、网络安全监测以及图流数据挖掘等。对于某一具体网络数据流而言,由于其具有多种可进行测量的统计值,而传统测量数据结构对于不同统计值须部署相应的不同测量数据结构,故亟待开发一种通用数据结构,从而使多种网络流量统计值可在单一数据结构中完成测量,进而极大减少部署成本。

2、目前通用的网络测量数据结构均基于略图(sketch)进行开发。研究以及工程人员可利用略图对原始网络流量进行全流量处理。略图是一种概率数据结构,它为每个携带共同id的数据包流提取有用的统计数据,而不会丢弃数据包。这里的id可以定义为源/目的ip地址,或是数据包头的其他字段,如协议、源/目的端口。略图通过散列算法将庞大的信息压缩到较小的存储空间内,并且保证相对精确的流量测度估计,因此可以高效地解决网络测量中面临的网络流数据信息统计问题,同时可以解决海量流量与交换机上有限的片上sram大小之间的矛盾。常见的略图算法包括count-min、bloom filter、hyperloglog、vhll和on-vhll等。

3、除略图技术外,采样法(sampling)亦是一种高速网络流量测量的解决方案。该方法对数据流中具有代表性的一部分数据流进行处理。采样法的共同策略是忽略小流:或大小有限的流量缓存中自动消除小流量的记录,或通过过滤技术忽略小流的数据包。其缺点是在高速网络流量环境下,在处理流量的过程中不可避免地会丢失很多重要的数据流,从而影响测量的准确性。同时,采样法必须保存被采样的大流的id,这会占据很大一部分内存空间。常见的基于采样的算法包括lossy counting、space saving、hash pipe和aroma等。

4、现有的这两类主流网络流量测量方法各有优劣,但尚无法实现网络测量中亟待解决的、采用通用略图技术、同时满足快、准、小(高速实时、估算精准、内存紧凑)要求的逐流基数相关统计值的估算。


技术实现思路

1、为解决上述问题,本专利技术针对可编程交换设备的数据面,提出一种具有层次化结构的通用略图数据结构,其对于逐流基数值具有近实时的查询效率、常数级别存储复杂度、高精度的逐流基数估计算法,克服了现有的on-vhll算法因哈希碰撞导致的精度大幅衰减问题,能够实现在数据面对每一条网络流进行近实时、高精度、内存开销极低的基数估算;同时其具备top-k大流识别、逐流基数矩估算以及逐流基数分布函数重构等功能,与其基本功能基数估算一并构成通用的略图数据结构。

2、为了达到上述目的,本专利技术提供如下技术方案:

3、基于通用略图结构的网络流基数相关统计值的估算方法,包括如下步骤:

4、步骤1,当一个流元组<flow id,element id>进入可编程交换设备,首先计算flowid的哈希值,并将其转换为二进制格式,通过计算采样层索引j*,确定该元组将交由层次化结构中的哪一层进行操作;计算方式如下:

5、

6、其中ones是flow id二进制哈希值中连续前导1的个数加1;ps是可设置的超参数,其表示渐进采样的采样率;l也是一个可设置的超参数,其为该通用略图的最大层数;

7、步骤2,将该元组交由j*层的sub-sketch进行基数值估算,包括如下子步骤:

8、步骤2.1,流元组首先进入预过滤器;每个预过滤器包括堆式索引部分和存储部分,其中堆式索引部分包含一个键数组k,一个索引位置数组x和一个基数估算缓存数组v,并以最小堆的顺序存储;其中存储部分包含一个寄存器矩阵w,一个增量更新单元数组φ和一个全局噪声快照数组η;

9、步骤2.2,如果步骤1.1中该key不存在,则流元组<key,value>进入支持在线基数估算的略图进行处理;略图包括一个寄存器矩阵m,一个增量更新单元数组q和一个全局增量更新单元n;

10、步骤2.3,如果预过滤器已满,则将更新后的基数值与预过滤器中最小的基数值进行比较;如果更新后的基数值小于预过滤器中最小的基数值,则直接返回该更新后的基数值;如果该平均数大于预过滤器中最小的基数值,则代表当前处于根节点位置的键已经不属于top-k范围内,需要被移出预过滤器、移入略图;而该更新后的基数值所对应的键需要被移出略图、移入预过滤器;

11、步骤2.4,如果预过滤器未满,则直接将key加入键数组k中空的一列;

12、步骤2.5,将略图中key所对应的寄存器矩阵m的列合并到预过滤器中key对应的寄存器矩阵w的列中,并根据增量更新单元数组q和全局增量更新单元n的值,相应地更新增量更新单元数组φ和全局噪声快照数组η;

13、步骤2.6,调整键数组k,索引位置数组x和基数估算缓存数组v内保存的值的位置,使得基数估算缓存数组v满足最小堆的性质,返回更新后的基数值;

14、步骤3,根据上述更新至j*层的元组,及其后经该层sub-sketch估计的基数值,将其flow id与测量的基数数组作为新的元组,从j*层至0层进行逐层更新:

15、步骤3.1,对于任意j∈{j*,…,0},若j层的小顶堆结构仍有空位,则直接更新;

16、步骤3.2,对于没有空位的情况,首先比较当前待更新的元组与小顶堆顶部的元组;若当前元组的基数值小于顶部元组,则停止整个逐层更新步骤,并丢弃该元组;否则将该元组取代当前顶部元组,并继续执行逐层更新步骤;

17、步骤4,采用迭代计算方式估算出整条数据流对应的k-阶矩,对于所有存储在各层的元组,抽取每对元组中的基数值,执行下述迭代基数矩计算操作:

18、

19、最终得到作为该数据流的k-阶矩估算结果,其中g(x)=xk为自定义的单调函数,ql为第l层的sub-sketch数据结构,为f的逐流基数估算值,hj为第j层的min-heap数据结构,hj+1(f)为用以判断f是否被采样至j+1层的指示函数,ps为渐进采样概率,f为一个数据流中的一个子流。

20、步骤5,按照步骤4所述方法,计算数据流的0-阶、1-阶直至高阶矩;

21、步骤6,采用矩方法以及最大熵原则来重构逐流基数分布函数。

22、进一步的,所述步骤2.1中,预过滤器中流元组的处理过程包括如下子步骤:

23、步骤2.1.1,当流元组进入预过滤器后,首先检验key是否存在于键数组k中;

24、步骤2.1.2,如果步骤1.1中该key存在,则在索引位置数组x中找到对应列,再对value进行哈希计算,选择对应的行,从而将流元组<key,v本文档来自技高网...

【技术保护点】

1.基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.1中,预过滤器中流元组的处理过程包括如下子步骤:

3.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.2中,略图中的流元组处理过程包括如下子步骤:

4.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.3中,移入略图的步骤如下:

5.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.5中使用TailCut尾切略图的合并算法进行合并。

6.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.5中,将略图中key所对应的寄存器矩阵M的列移入预过滤器中key对应的寄存器矩阵W的列中使用TailCut尾切略图的合并算法。

7.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤4包括如下子步骤:

8.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤5中,针对0-阶及1-阶矩,进行如下计算:

9.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤6中重构逐流基数分布函数的过程等价于求解下述最优化问题的p(cx)分布函数:

10.根据权利要求1-9中任意一项所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述预过滤器的存储部分和略图部分使用了TailCut尾切技术以压缩存储空间。

...

【技术特征摘要】

1.基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.1中,预过滤器中流元组的处理过程包括如下子步骤:

3.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.2中,略图中的流元组处理过程包括如下子步骤:

4.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.3中,移入略图的步骤如下:

5.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在于,所述步骤2.5中使用tailcut尾切略图的合并算法进行合并。

6.根据权利要求1所述的基于通用略图的高速网络逐流基数和分布函数的估算方法,其特征在...

【专利技术属性】
技术研发人员:肖卿俊张铨炜蔡月啸
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1