一种基于反向令牌桶的流量控制方法、设备及存储介质技术

技术编号:28493240 阅读:18 留言:0更新日期:2021-05-19 22:20
本发明专利技术涉及网络流量管理和监控领域,具体地,涉及一种基于反向令牌桶的流量控制方法、装置、设备及存储介质。本发明专利技术的第一方面,提供了一种基于反向令牌桶的流量控制方法,包括以下步骤:接收流控目标值;接收实时流量;注入去除流控目标值的实时流量到令牌桶,基于反向令牌桶算法,控制通过的网络流量。本发明专利技术还提供了一种电子设备和一种存储介质。基于反向令牌桶算法,克服采样场景下令牌桶算法不能进行流控,或者克服采用软件流控对软件性能要求及计算资源的占用,提高流控可靠性、稳定性、精度值。值。值。

【技术实现步骤摘要】
一种基于反向令牌桶的流量控制方法、设备及存储介质


[0001]本专利技术涉及网络流量管理和监控领域,具体地,涉及一种基于反向令牌桶的流量控制方法、装置、设备及存储介质。

技术介绍

[0002]采样是网络流量分析与监控中常用到的一种方法,特别是当网络流量超过系统的处理能力时,采用采样的方法,可以大大的降低系统的处理负载,对经过采样后的流量进行识别统计,然后按比例进行恢复,做到准确地反映网络流量实际情况。
[0003]基于令牌桶算法为流控手段提供了简单,方便,精确的方法,取得了很好的效果,成为网络流量管理及监控领域网络流量控制的首选方法,但对经过采样的流量进行精确流控时却会遇到难以解决的问题。
[0004]例如实际网络中P2P流量为10Gb,系统进行采样比2:1的采样处理,被采样标记标记的P2P流量为5Gb。此时如果采用正常的令牌桶算法对P2P流量进行控制,当对P2P流量控制到9Gb的时候就出现了问题。由于经过采样后被实际识别的流量只有5Gb,利用普通的令牌桶算法配置9Gb的流控门限,会出现没有任何P2P流量被丢弃的结果,达不到流量控制到9G的目的;即使按实际识别的流量5Gb,将令牌桶的控制门限配置为4Gb,丢掉1Gb的P2P流量,但实际网络中的P2P流量是变化的,还是达不到将现网流量精准控制到9Gb的目的。如果要实现精确的流控,将现网流量控制到9Gb,软件必须的实时根据采样恢复流量与实际识别流量动态的调整流控的参数,需要消耗大量的软件CPU资源,在流量控制的稳定性、可靠性、实时性方面有巨大的缺陷。<br/>[0005]因此,本领域亟需一种基于反向令牌桶的流量控制方法、装置、设备及存储介质。
[0006]有鉴于此,提出本专利技术。

技术实现思路

[0007]有鉴于此,本专利技术的目的在于提供一种基于反向令牌桶的流量控制方法、装置、设备及存储介质,以解决现有技术中的至少一项技术问题。
[0008]具体地,本专利技术的第一方面,提供了一种基于反向令牌桶的流量控制方法,包括以下步骤:
[0009]接收流控目标值;
[0010]接收实时流量;
[0011]注入去除流控目标值的实时流量到令牌桶,基于反向令牌桶算法,控制通过的网络流量。
[0012]采用上述技术方案,基于反向令牌桶算法,克服采样场景下令牌桶算法不能进行流控,或者克服采用软件流控对软件性能要求及计算资源的占用,提高流控可靠性、稳定性、精度值。
[0013]进一步地,所述注入去除流控目标值的实时流量到令牌桶,基于反向令牌桶算法,
控制通过的网络流量包括以下步骤:
[0014]根据流控目标值设置令牌丢弃值;
[0015]将所述实时流量注入到第一令牌桶内;
[0016]将第一令牌桶内的令牌数减去所述令牌丢弃值后,转移到第二令牌桶内;
[0017]待通过流量长度值增加实时流量的长度值;
[0018]判断第二令牌桶内令牌数是否大于所述待通过流量的长度值:若是,则报文丢弃,第二令牌桶内减去对应令牌;若否,则报文通过。
[0019]具体实施过程中,所述令牌丢弃值与流控目标值相关,如流控目标值为9Gb/s,若每秒执行1次流控,则在单次流控下,令牌丢弃值为9Gb,若每秒执行10次流控,则在单次流控下,令牌丢弃值为0.9Gb;将长度值为2Gb的实时流量的注入到第一令牌桶内,则第一令牌桶内共有2Gb令牌,减去所述令牌丢弃值0.9Gb后,将剩余的令牌数2

0.9=1.1Gb转移到第二令牌桶内,此时第一令牌桶清空,等待下次的实时流量;第二令牌桶执行反向令牌桶规则,即判断第二令牌桶内令牌数是否大于所述待通过流量的长度值,若否,报文通过,通过的报文总长度值与令牌丢弃值相同,且第二令牌桶内令牌数不变;直至第二令牌桶内令牌数大于所述待通过流量的长度值,报文丢弃,第二令牌桶内减去对应令牌。
[0020]采用上述技术方案,通过两个令牌桶实现反向令牌桶规则,设定符合流控目标的令牌丢弃值,使得通过的流量符合流控目标,减少资源浪费,提高流控精确度;特别是在采样场景,克服令牌桶算法不能精准流控的问题,成功实现流量的精确控制。
[0021]进一步地,所述基于反向令牌桶的流量控制方法还包括以下步骤:
[0022]设置周期性流控参数。
[0023]采用上述技术方案,实现对周期性参数的控制,方便更改周期性参数。
[0024]进一步地,所述设置周期性流控参数包括以下步骤:
[0025]接收流控周期;
[0026]判断时间间隔是否达到流控周期:若是,重复步骤接收实时流量;若否,重复步骤判断第二令牌桶内令牌数是否大于所述待通过流量的长度值。
[0027]进一步地,若报文丢弃,第二令牌桶内减去对应令牌,则判断第二令牌桶是否为空:若是,重复步骤接收实时流量。
[0028]采用上述技术方案,当第二令牌桶为空时,上次接收的实时流量已经控流完毕,可进行下次接收实时流量或者等待接收下次实时流量,而不需再进行时间间隔是否达到流控周期的判断,减少计算步骤,减少计算资源浪费。
[0029]采用上述技术方案,在一个流控周期内,重复多次进行反向令牌桶计算,提高效率,减少资源消耗。
[0030]进一步地,所述根据流控目标值设置令牌丢弃值包括以下步骤:
[0031]所述令牌丢弃值=流控目标值*流控周期。
[0032]采用上述技术方案,将流控目标值划分多次小目标,使得流控更及时、准确。
[0033]在具体实施过程中,如流控周期为0.1s/次,流控目标值为9Gb/s,则单次的令牌丢弃值=9*0.1=0.9Gb。
[0034]进一步地,将第一令牌桶内的令牌数减去所述令牌丢弃值后,转移到第二令牌桶内包括以下步骤:
[0035]判断将第一令牌桶内的令牌数减去所述令牌丢弃值后,第一令牌桶内是否有剩余令牌,若是,将剩余令牌转移到第二令牌桶内。
[0036]进一步地,所述令牌桶支持负令牌。
[0037]采用上述技术方案,实现反向令牌桶流控方法的负令牌令牌保存方式,使得流控更精准。
[0038]进一步地,将第一令牌桶内的令牌数减去所述令牌丢弃值后,转移到第二令牌桶内包括以下步骤:
[0039]计算令牌差值=第一令牌桶内的令牌数

令牌丢弃值;
[0040]判断所述令牌差值是否为正数,若是,则将第一令牌桶内的令牌数减去所述令牌丢弃值后,转移到第二令牌桶内;若否,则舍弃第一令牌桶内令牌,并将第二令牌桶减去令牌差值的绝对值。
[0041]采用上述技术方案,实现反向令牌桶流控方法的负令牌令牌保存方式,使得流控更精准。
[0042]本专利技术第二方面提供了一种基于反向令牌桶的流量控制的设备,所述设备包括:
[0043]存储器及处理器,所述存储器上至少有一条指令,所述至少一条指令由所述处理器加载并执行,以实现上述方法。
[0044]本专利技术第三方面提供了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于反向令牌桶的流量控制方法,其特征在于,包括以下步骤:接收流控目标值;接收实时流量;注入去除流控目标值的实时流量到令牌桶,基于反向令牌桶算法,控制通过的网络流量。2.根据权利要求1所述的基于反向令牌桶的流量控制方法,其特征在于:所述注入去除流控目标值的实时流量到令牌桶,基于反向令牌桶算法,控制通过的网络流量包括以下步骤:根据流控目标值设置令牌丢弃值;将所述实时流量注入到第一令牌桶内;将第一令牌桶内的令牌数减去所述令牌丢弃值后,转移到第二令牌桶内;待通过流量长度值增加实时流量的长度值;判断第二令牌桶内令牌数是否大于所述待通过流量的长度值:若是,则报文丢弃,第二令牌桶内减去对应令牌;若否,则报文通过。3.根据权利要求2所述的基于反向令牌桶的流量控制方法,其特征在于:所述基于反向令牌桶的流量控制方法还包括以下步骤:设置周期性流控参数。4.根据权利要求3所述的基于反向令牌桶的流量控制方法,其特征在于:所述设置周期性流控参数包括以下步骤:接收流控周期;判断时间间隔是否达到流控周期:若是,重复步骤接收实时流量;若否,重复步骤判断第二令牌桶内令牌数是否大于所述待通过流量的长度值。5.根据权利要求4所述的基于反向令牌桶的流量控制方法,其特征在于:若报文丢弃,第二令牌桶内减去对应令牌,则判断第二令牌桶是否为空:若是,重复步骤接收实时流量。6.根据权利要求3

5任一项所述的基于反向令牌桶...

【专利技术属性】
技术研发人员:于华陈陆颖谢芸李张栋
申请(专利权)人:北京浩瀚深度信息技术股份有限公司
类型:发明
国别省市:

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

1