当前位置: 首页 > 专利查询>东南大学专利>正文

基于抽样和两级CBF的长流识别方法技术

技术编号:17783926 阅读:110 留言:0更新日期:2018-04-22 15:10
本发明专利技术提供了基于抽样和两级CBF的长流识别算法,包括:对报文进行周期抽样;设定长流阈值,配置两级CBF结构参数;对于被抽样报文,通过第二级CBF判断其是否属于已识别出的长流,若属于,则将其插入,若不属于,再通过第一级CBF判断其所属流是否为长流,若为长流,则记录其流标识,并更新其在两级CBF中的记录,若不为长流,则将其插入第一级CBF;重复上述过程直至处理完所有被抽样报文后,通过第二级CBF对所有未被抽样的报文进行查询,若属于已识别出的长流,则将其插入,否则不做处理。本发明专利技术能在有效节省空间和时间资源的基础上,既实现对长流的准确识别,又实现对流长度的高精度测量。

【技术实现步骤摘要】
基于抽样和两级CBF的长流识别方法
本专利技术属于网络流量测量
,涉及一种长流识别方法,更为具体的说,是涉及一种基于抽样和两级CountingBloomFilter的长流识别方法。
技术介绍
高速网络运行速度的日益加快和流量数据的急速增加,使得对网络流量的精确测量越来越困难。许多研究表明,网络流的统计呈现很强的重尾分布特性,由于少量的长流占据了网络流量的大部分,多数情况下掌握长流信息即可满足实际应用需求,因此对长流的识别显得尤其重要。目前已有的长流识别方法主要使用抽样技术、哈希技术以及BloomFilter技术。单独使用抽样技术识别长流时,需要在识别的过程中维护流标识信息,会产生很大的计算开销,减慢系统处理速度;而单独使用哈希技术或BloomFilter技术对链路上通过的所有报文进行处理时,会增大哈希冲突,影响测量结果的准确性。将抽样技术和哈希技术或BloomFilter技术相结合可以有效解决只使用一种技术的弊端。与哈希技术相比,BloomFilter通过维护多个独立的哈希函数可以明显降低哈希冲突,且大大降低了为每个流维护流标识而带来的存储开销,改进结构之一CountingBloomFilter更是可以对哈希到存储空间中的报文进行计数,当报文数超出阈值时即可将长流的流标识记录下来,因此将抽样技术和CountingBloomFilter相结合可以更高效地实现长流识别。现有的基于抽样和CountingBloomFilter(CBF)的长流识别方法都普遍使用简单线性估计来估计原始长流中包含的报文数,存在一定的流长度测量误差,不能满足较高精度需求。专利技术内容为解决上述问题,本专利技术提供了一种基于抽样和两级CountingBloomFilter的长流识别方法,基于报文抽样,并通过两级CountingBloomFilter识别属于长流的报文。为了达到上述目的,本专利技术提供如下技术方案:基于抽样和两级CBF的长流识别方法,包括如下步骤:步骤1,对观测时间内链路上通过的报文按抽样频率进行周期抽样;步骤2,设定长流的阈值T,同时配置两级CountingBloomFilter结构参数;步骤3,对于每个被抽样的报文,先通过第二级CountingBloomFilter判断其是否属于已识别出的长流,若属于已识别出的长流,则将其插入第二级CountingBloomFilter中,继续处理下一报文;若不属于已识别出的长流,则执行步骤4;步骤4,通过第一级CountingBloomFilter判断其所属流是否为长流,若为长流,则将该报文的流标识记录下来,并更新其在两级CountingBloomFilter中的记录,继续处理下一报文;若不为长流,则执行步骤5;步骤5,将报文插入第一级CountingBloomFilter中,继续处理下一报文;步骤6,重复步骤3-5完成对所有被抽样报文的处理后,通过第二级CountingBloomFilter对所有未被抽样的报文进行查询,若报文属于已识别出的长流,则将其插入第二级CountingBloomFilter,否则不做任何处理。进一步的,所述步骤1中抽取频率为每隔n个报文抽取一个。进一步的,当报文总数较大时,降低抽样频率,当报文总数较小时,提高抽样频率。进一步的,所述步骤2具体包括如下过程:设置长流阈值为T=N·m%,其中N为观测时间内链路上通过的报文总数,m为长流占据报文总数的百分比;使用抽样报文进行长流识别的阈值设置为T1=T/n;两级CountingBloomFilter选用相同的k个冲突小的哈希函数h(1),h(2),…,h(k);第一级CountingBloomFilter结构中Counter数组的长度m1设置为大于抽样报文总数N/n的2的幂次方,每个计数器分配的位数b1满足条件:第二级CountingBloomFilter结构中Counter数组的长度m2设置为大于报文总数N的2的幂次方,每个计数器分配的位数b2满足条件:进一步的,每个计数器分配的位数比满足条件中的数量多分配若干位。进一步的,所述步骤3具体包括如下过程:对于每个被抽样的报文,先通过k个哈希函数将其映射到第二级CountingBloomFilter的相应位置,若相应位置的k个计数器值均不为0,则判定该报文属于已识别出的长流,将其插入第二级CountingBloomFilter中,继续处理下一报文,若相应位置的k个计数器值中有任意一个为0,则判定该报文不属于已识别出的长流,执行步骤4。进一步的,所述步骤4具体包括如下过程:通过k个哈希函数将被抽样的报文映射到第一级CountingBloomFilter中,求取相应位置的k个计数器的最小值;若这k个计数器的最小值等于阈值T1,则判定其所属流为长流,记录下该报文的流标识,将这k个计数器值分别减去阈值T1,并将其映射到第二级CountingBloomFilter中,设置相应位置的k个计数器值为T1+1,继续处理下一报文;若这k个计数器的最小值不等于阈值T1,则判定其所属流不为长流,执行步骤5。进一步的,所述步骤5中将报文插入第一级CountingBloomFilter的过程包括:将第一级CountingBloomFilter中k个计数器值分别加1。进一步的,所述步骤3和步骤6中插入第二级CountingBloomFilter的过程包括:将第二级CountingBloomFilter中k个计数器值分别加1。进一步的,还包括步骤7,对所有未被抽样的报文处理完后,将记录的流标识映射到第二级CountingBloomFilter中。与现有技术相比,本专利技术具有如下优点和有益效果:本专利技术能够在有效节省空间和时间资源的基础上,既实现对长流的准确识别,又实现对原始流长度的高精度测量。本专利技术实时性好,可以很好地适应当前高速网络链路环境,对网络计费、带宽规划和安全检测等网络管理应用具有重大意义。附图说明图1为本专利技术方法步骤流程图,其中,处理好所有的①中被抽样的报文之后,再处理②中未被抽样的报文。图2为实施数据中具体长流信息。图3为基于实施数据得到的仿真结果。具体实施方式以下将结合具体实施例对本专利技术提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本专利技术而不用于限制本专利技术的范围。本专利技术提供的基于抽样和两级CountingBloomFilter的长流识别方法,整体流程如图1所示,包括如下步骤:步骤1,对观测时间内链路上通过的报文按每隔n个抽取一个的频率进行周期抽样。当报文总数较大时,可以适当选取相对较小的抽样频率以提高方法的处理速度,如每隔100个报文抽取一个;当报文总数较小时,可以适当选取相对较大的抽样频率以确保长流识别的准确性,如每隔10个报文抽取一个。步骤2,设定长流的阈值T,同时合理配置两级CountingBloomFilter结构参数:设观测时间内链路上通过的报文总数为N,若将占据报文总数m%以上的流定义为长流,则阈值设置为T=N·m%,使用抽样报文进行长流识别的阈值设置为T1=T/n;两级CountingBloomFilter选用相同的k个冲突小的哈希函数(冲突小的哈希函数这一概念和判断标准为本领域内普通技术人员公知)h(1),h(2),…,h(k),k一般取为1至本文档来自技高网...
基于抽样和两级CBF的长流识别方法

【技术保护点】
基于抽样和两级CBF的长流识别方法,其特征在于,包括如下步骤:步骤1,对观测时间内链路上通过的报文按抽样频率进行周期抽样;步骤2,设定长流的阈值T,同时配置两级Counting Bloom Filter结构参数;步骤3,对于每个被抽样的报文,先通过第二级Counting Bloom Filter判断其是否属于已识别出的长流,若属于已识别出的长流,则将其插入第二级Counting Bloom Filter中,继续处理下一报文;若不属于已识别出的长流,则执行步骤4;步骤4,通过第一级Counting Bloom Filter判断其所属流是否为长流,若为长流,则将该报文的流标识记录下来,并更新其在两级Counting Bloom Filter中的记录,继续处理下一报文;若不为长流,则执行步骤5;步骤5,将报文插入第一级Counting Bloom Filter中,继续处理下一报文;步骤6,重复步骤3‑5完成对所有被抽样报文的处理后,通过第二级Counting Bloom Filter对所有未被抽样的报文进行查询,若报文属于已识别出的长流,则将其插入第二级Counting Bloom Filter,否则不做任何处理。...

【技术特征摘要】
1.基于抽样和两级CBF的长流识别方法,其特征在于,包括如下步骤:步骤1,对观测时间内链路上通过的报文按抽样频率进行周期抽样;步骤2,设定长流的阈值T,同时配置两级CountingBloomFilter结构参数;步骤3,对于每个被抽样的报文,先通过第二级CountingBloomFilter判断其是否属于已识别出的长流,若属于已识别出的长流,则将其插入第二级CountingBloomFilter中,继续处理下一报文;若不属于已识别出的长流,则执行步骤4;步骤4,通过第一级CountingBloomFilter判断其所属流是否为长流,若为长流,则将该报文的流标识记录下来,并更新其在两级CountingBloomFilter中的记录,继续处理下一报文;若不为长流,则执行步骤5;步骤5,将报文插入第一级CountingBloomFilter中,继续处理下一报文;步骤6,重复步骤3-5完成对所有被抽样报文的处理后,通过第二级CountingBloomFilter对所有未被抽样的报文进行查询,若报文属于已识别出的长流,则将其插入第二级CountingBloomFilter,否则不做任何处理。2.根据权利要求1所述的基于抽样和两级CBF的长流识别方法,其特征在于,所述步骤1中抽取频率为每隔n个报文抽取一个。3.根据权利要求1所述的基于抽样和两级CBF的长流识别方法,其特征在于,当报文总数较大时,降低抽样频率,当报文总数较小时,提高抽样频率。4.根据权利要求1所述的基于抽样和两级CBF的长流识别方法,其特征在于,所述步骤2具体包括如下过程:设置长流阈值为T=N·m%,其中N为观测时间内链路上通过的报文总数,m为长流占据报文总数的百分比;使用抽样报文进行长流识别的阈值设置为T1=T/n;两级CountingBloomFilter选用相同的k个冲突小的哈希函数h(1),h(2),…,h(k);第一级CountingBloomFilter结构中Counter数组的长度m1设置为大于抽样报文总数N/n的2的幂次方,每个计数器分配的位数b1满足条件:第二级CountingBloomFilter结构...

【专利技术属性】
技术研发人员:秦文虎翟金凤孙立博鲁凯林学勇
申请(专利权)人:东南大学南京市计量监督检测院
类型:发明
国别省市:江苏,32

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

1