一种QOS流量控制方法、系统、设备及存储介质技术方案

技术编号:26975905 阅读:12 留言:0更新日期:2021-01-06 00:12
本发明专利技术涉及一种QOS流量控制方法、系统、设备及存储介质,所述方法包括:接收待转发报文,计算处理所述报文需要消耗的时间令牌值;计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小;根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。本发明专利技术在进行报文接收时,根据已消耗时间令牌和时间令牌桶的大小情况,来确定是否转发报文,使时间令牌桶随着时间的增长逐渐被释放出来,进而可以避免TCP流量的滑动窗口变动频繁,避免速率抖动幅度过大并且达不到限速值,达到完全准确平滑的限速效果。

【技术实现步骤摘要】
一种QOS流量控制方法、系统、设备及存储介质
本专利技术涉及通信
,尤其涉及一种QOS流量控制方法、系统、设备及存储介质。
技术介绍
目前绝大多数的QOS(服务质量)流量限速是基于硬件实现的,但是有的硬件平台如Cavium硬件等不支持QOS流量限速,需要通过软件实现QOS流量限速。现有的软件实现的QOS流量限速主流方案是采用HTB令牌桶算法,都是在报文入队列前就直接根据令牌数丢包。HTB令牌桶算法的QOS每个IP限速实现是每秒更新一次令牌桶,相对tcp拥塞控制机制而言更新频率太慢,会出现每秒前期发送速率超过限速值,数据传输的TCP滑动窗口迅速张开,传输中的数据量变大的问题;而且当每秒的前期把令牌用光后期无令牌可用,会导致完全丢包,滑动窗口迅速收缩。因此,现有的QOS流量限速方法会导致TCP流量的滑动窗口变动频繁,使得速率抖动幅度大并且达不到限速值。
技术实现思路
有鉴于此,有必要提供一种QOS流量控制方法、系统、设备及存储介质,用以解决现有技术中TCP流量的滑动窗口变动频繁、速度抖动幅度大并且达不到限速值的问题。第一方面,本专利技术提供一种QOS流量控制方法,包括如下步骤:接收待转发报文,计算处理所述报文需要消耗的时间令牌值;计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小;根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。优选的,所述的QOS流量控制方法中,所述处理所述报文需要消耗的时间令牌值的计算方法为:Tp=L/B,其中,Tp为处理所述报文需要消耗的时间令牌值,L为所述报文的长度,B为带宽。优选的,所述的QOS流量控制方法中,每个周期的初始已消耗时间令牌的大小为周期初始系统时间。优选的,所述的QOS流量控制方法中,每个周期内任意时刻的时间令牌桶的大小为该时刻的系统时间。优选的,所述的QOS流量控制方法中,所述周期长度为1秒。优选的,所述的QOS流量控制方法中,所述根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌的步骤具体包括:当所述和值不超过当前周期下当前时刻的时间令牌桶时,转发报文,并更新当前周期内的已消耗时间令牌;当所述和值超过当前周期下当前时刻的时间令牌桶时,丢弃所述报文。优选的,所述的QOS流量控制方法中,当前周期内的已消耗时间令牌的更新方法为:以所述和值作为新的当前周期内的已消耗时间令牌。第二方面,本专利技术还提供一种QOS流量控制系统,包括:报文接收模块,用于接收待转发报文,计算处理所述报文需要消耗的时间令牌值;比较模块,用于计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小;报文转发判断模块,用于根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。第三方面,本专利技术还提供一种QOS流量控制设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上所述的QOS流量控制方法中的步骤。第四方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的QOS流量控制方法中的步骤。【有益效果】本专利技术提供的QOS流量控制方法、系统、设备及存储介质,通过设置时间令牌和时间令牌桶两个变量,在进行报文接收时,根据已消耗时间令牌和时间令牌桶的大小情况,来确定是否转发报文,使时间令牌桶随着时间的增长逐渐被释放出来,进而可以避免TCP流量的滑动窗口变动频繁,避免速率抖动幅度过大并且达不到限速值,达到完全准确平滑的限速效果。附图说明图1为本专利技术提供的QOS流量控制方法的一较佳实施例的流程图;图2为本专利技术提供的QOS流量控制系统的一较佳实施例的功能模块图;图3为本专利技术QOS流量控制程序的较佳实施例的运行环境示意图。具体实施方式下面结合附图来具体描述本专利技术的优选实施例,其中,附图构成本申请一部分,并与本专利技术的实施例一起用于阐释本专利技术的原理,并非用于限定本专利技术的范围。请参阅图1,本专利技术实施例提供的QOS流量控制方法,包括如下步骤:S100、接收待转发报文,计算处理所述报文需要消耗的时间令牌值。具体来说,现有技术中HTB令牌桶算法在进行QOS流量控制的具体原理为:交换机在接收每个帧时都将添加一个令牌到令牌桶中,但这个令牌桶底部有一个孔,不断地按指定作为平均通信速率(单位为b/s)的速度领出令牌(也就是从桶中删除令牌的意思)。在每次向令牌桶中添加新的令牌包时,交换机都会检查令牌桶中是否有足够容量,如果没有足够的空间,包将被标记为不符规定的包,这时在包上将发生指定监管器中规定的行为(丢弃或标记)。换而言之,现有的令牌桶算法在前期TCP滑动窗口迅速张开,传输中的数据量很大,甚至会出现每个周期前期的发送速率超过限速值的问题,而后期令牌桶中容量不够时,会迅速收缩滑动窗口,使得速度抖动的幅度很大并且达不到限速值。本实施例中,通过逐渐累加接收的报文消耗的时间令牌值来判断是否转发报文。换而言之,当接收到报文时,计算处理报文需要消耗的时间令牌值,而一个周期内的时间令牌桶的大小是逐渐变化的,当消耗的时间令牌值累加超过时间令牌桶的大小时,则不接收此报文。故由于每次都是按照固定的速率来计算消耗的时间令牌,所以可以使得一个报文在被转发时都是被限制在固定的速率下,可以避免速率抖动幅度过大并且达不到限速值,达到完全准确平滑的限速效果。优选的,所述处理所述报文需要消耗的时间令牌值的计算方法为:Tp=L/B,其中,Tp为处理所述报文需要消耗的时间令牌值,L为所述报文的长度,B为带宽。具体来说,在固定的带宽下,一个周期内可以通过的总的报文长度一定,反过来说,当速率稳定时,一个报文在固定的带宽下通过的时间一定,所以可通过判断累积时间是否超过该周期长度来决定是否转发报文,具体可以通过计算固定带宽下待转发报文消耗的时间令牌值,来进行累加决定是否转发报文。处理所述报文需要消耗的时间令牌值的计算方式如上所述。举例来说,1M带宽下1个512字节的报文消耗的时间为0.5Kbyte/1Mbyte*秒,计算出消耗的时间令牌为0.5ms。S200、计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小。S300、根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。本实施例中,通过累加当前周期内消耗的时间令牌值来判断是否转发报本文档来自技高网...

【技术保护点】
1.一种QOS流量控制方法,其特征在于,包括如下步骤:/n接收待转发报文,计算处理所述报文需要消耗的时间令牌值;/n计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小;/n根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。/n

【技术特征摘要】
1.一种QOS流量控制方法,其特征在于,包括如下步骤:
接收待转发报文,计算处理所述报文需要消耗的时间令牌值;
计算当前周期内的已消耗时间令牌和处理所述报文需要消耗的时间令牌值之和,并记做和值后,比较所述和值与当前周期下当前时刻的时间令牌桶的大小;
根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌。


2.根据权利要求1所述的QOS流量控制方法,其特征在于,所述处理所述报文需要消耗的时间令牌值的计算方法为:
Tp=L/B,
其中,Tp为处理所述报文需要消耗的时间令牌值,L为所述报文的长度,B为带宽。


3.根据权利要求1所述的QOS流量控制方法,其特征在于,每个周期的初始已消耗时间令牌的大小为周期初始系统时间。


4.根据权利要求3所述的QOS流量控制方法,其特征在于,每个周期内任意时刻的时间令牌桶的大小为该时刻的系统时间。


5.根据权利要求4所述的QOS流量控制方法,其特征在于,每个周期的周期长度为1秒。


6.根据权利要求1所述的QOS流量控制方法,其特征在于,所述根据比较结果判断是否转发报文,并在判断需要转发报文时更新当前周期内的已消耗时间令牌的步骤具体包括:
当所述和值不超过当前周期下当前时刻的时间...

【专利技术属性】
技术研发人员:吴佳袁慧
申请(专利权)人:武汉思普崚技术有限公司
类型:发明
国别省市:湖北;42

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

1