CN104980367A - 一种令牌桶限速方法和装置 - Google Patents
一种令牌桶限速方法和装置 Download PDFInfo
- Publication number
- CN104980367A CN104980367A CN201410134335.2A CN201410134335A CN104980367A CN 104980367 A CN104980367 A CN 104980367A CN 201410134335 A CN201410134335 A CN 201410134335A CN 104980367 A CN104980367 A CN 104980367A
- Authority
- CN
- China
- Prior art keywords
- token
- current
- message
- token bucket
- bucket
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种令牌桶限速方法,该方法包括:网络节点设备根据报文的属性获取令牌桶参数,再根据时间阈值和所述令牌桶参数得到当前的令牌数量,比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
Description
技术领域
本发明涉及数据网络的服务质量(QoS,Quality of Service)领域,尤其涉及一种令牌桶限速方法和装置。
背景技术
在现有的数据网络中,由于报文流量的突发性,常常会导致网络拥塞。避免网络拥塞的一种方法是:在接收端对报文进行限速,如果报文的速率低于规定的速率,则正常接收报文;如果报文的速率超过规定的速率,则丢弃报文。
现有采用的方法是利用令牌桶对报文进行限速,令牌桶算法的标准有RFC2697和RFC2698,即单速率三色双桶和双速率三色双桶;现有的令牌桶限速示意图如图1所示;当一个报文到来时,系统确定当前报文与上一报文的时间差,然后将时间差乘以令牌桶令牌的添加速率得到当前令牌桶的填充令牌数量,最后将填充令牌加上原令牌即可得到当前令牌桶令牌数量,直到当前令牌桶满为止。
但是在实际应用中,由于报文速率往往大于令牌的添加速率,所以令牌桶长期处于即将“耗空”的状态,如此,令牌桶中残存的令牌往往只能满足短包的通过,而长包则被丢弃;因此,长包的限速质量得不到保证。
发明内容
为了解决现有存在的问题,本发明主要提供一种令牌桶限速方法和装置,使报文长包和短包具有均等的令牌服务机会,提高了长包的服务质量。
本发明的技术方案是这样实现的:
本发明实施例提供一种令牌桶限速方法,该方法包括:
网络节点设备根据报文的属性获取令牌桶参数;再根据时间阈值和所述令 牌桶参数得到当前的令牌数量;比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
上述方案中,所述网络节点设备根据报文的属性获取令牌桶参数为:网络节点设备通过报文数据包的索引查找到报文数据包中所携带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率、上一个报文到达时刻、令牌桶对上一个报文限速运算后的令牌数量以及令牌桶容量。
上述方案中,所述根据时间阈值和令牌桶参数得到当前的令牌数量包括:网络节点设备根据所述令牌桶参数中的上一个报文到达时刻确定时间差;根据时间阈值、所述时间差和令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量;再根据所述当前报文到达时刻令牌的添加量和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量。
上述方案中,所述网络节点设备确定时间差为:将当前报文到达时刻减去所述上一个报文到达时刻得到时间差。
上述方案中,所述根据时间阈值和时间差得到当前报文到达时刻令牌的添加量为:比较时间阈值和时间差的大小,当所述时间差大于所述时间阈值时,当前报文到达时刻令牌的添加量等于时间差与所述令牌添加速率的乘积;当所述时间差小于或等于所述时间阈值时,当前报文到达时刻令牌的添加量等于零。
上述方案中,所述根据所述当前报文到达时刻令牌的添加量得到当前的令牌数量为:当前的令牌数量等于所述令牌桶对上一个报文限速运算后的令牌数量与所述当前报文到达时刻令牌的添加量的和,且所述当前的令牌数量的最大值为令牌桶参数中的令牌桶容量。
上述方案中,所述比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理为:比较所述当前的令牌数量与当前报文长度,当所述当前的令牌数量大于或等于当前报文长度时,转发当前报文,令牌桶中当前的令牌数量减少与当前报文长度相等的数目;当所述当前的令牌数量小于当前报文长度时,丢弃报文,令牌桶中当前的令牌数量不变。
本发明实施例还提供了一种令牌桶限速装置,该装置包括:参数获取模块、确定模块和报文处理模块;其中,
参数获取模块,用于根据报文的属性获取令牌桶参数;
确定模块,用于根据时间阈值和所述令牌桶参数确定当前的令牌数量;
报文处理模块,用于比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
上述方案中,所述参数获取模块具体用于通过报文数据包的索引查找报文数据包中所携带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率、上一个报文到达时刻、令牌桶对上一个报文限速运算后的令牌数量以及令牌桶容量。
上述方案中,所述确定模块包括:时间差确定模块、令牌添加量确定模块和令牌数量确定模块;其中,
时间差确定模块,用于根据令牌桶参数中的上一个报文到达时刻确定时间差;
令牌添加量确定模块,用于根据时间阈值、所述时间差和令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量;
令牌数量确定模块,用于根据所述当前报文到达时刻令牌的添加量和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量。
上述方案中,所述时间差确定模块,具体用于将当前报文到达时刻减去所述上一个报文到达时刻得到时间差。
上述方案中,所述令牌添加量确定模块,具体用于比较时间阈值与时间差的大小,当所述时间差大于所述时间阈值时,将时间差与令牌添加速率相乘得到当前报文到达时刻令牌的添加量;当所述时间差小于或等于所述时间阈值时,当前报文到达时刻令牌的添加量等于零。
上述方案中,所述令牌数量确定模块,具体用于将所述令牌桶对上一个报文限速运算后的令牌数量与所述当前报文到达时刻令牌的添加量相加得到当前的令牌数量,且所述当前的令牌数量的最大值为令牌桶参数中的令牌桶容量。
上述方案中,所述报文处理模块,具体用于比较所述当前的令牌数量与当前报文长度,当所述当前的令牌数量大于或等于当前报文长度时,转发当前报文,并将令牌桶中的令牌数量减少与当前报文长度相等的数目;当所述当前的令牌数量小于当前报文长度时,丢弃报文,维持令牌桶中的令牌数量不变。
本发明实施例提供的一种令牌桶限速方法和装置,网络节点设备根据报文的属性获取令牌桶参数,再根据预先设置的时间阈值和所述令牌桶参数得到当前的令牌数量,比较当前的令牌数量与当前报文长度,根据比较结果对报文进行处理;如此,能够使令牌桶克服长期处于即将“耗空”状态的问题,使报文长包和短包获得均等的令牌服务机会,提高长包的服务质量。
附图说明
图1为现有的线性令牌桶限速示意图;
图2为本发明实施例提供的令牌桶限速方法的流程示意图;
图3为本发明实施例提供的令牌桶限速示意图;
图4为本发明实施例提供的令牌桶限速装置的结构示意图;
图5为本发明实施例提供的确定模块的结构示意图。
具体实施方式
本发明实施例中,网络节点设备根据报文的属性获取令牌桶参数;再根据设置的时间阈值和所述令牌桶参数得到当前的令牌数量;比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明实施例提供的令牌桶限速方法的流程如图1所示,该方法主要包括以下步骤:
步骤201:网络节点设备根据报文的属性获取令牌桶参数;
具体的,网络节点设备通过报文数据包的索引查找到报文数据包中所携带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率token_rate、上一个报文到达时刻time_last、令牌桶对上一个报文限速运算后的令牌数量token_last以及令牌桶容量bucket_size;
所述令牌桶容量bucket_size,用于限定令牌桶中的总令牌量;例如,一个令牌桶的容量bucket_size为100Mbit,则表示该令牌桶中最多容纳100Mbit的令牌,超出的令牌则会溢出令牌桶。
步骤202:网络节点设备根据时间阈值time_threshhold和所述令牌桶参数得到当前的令牌数量;
具体的,网络节点设备根据令牌桶参数中的上一个报文到达时刻确定时间差delta_time;根据时间阈值time_threshhold、所述时间差delta_time以及令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量delta_token;再根据所述当前报文到达时刻令牌的添加量delta_token和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量token_current;其中,
所述网络节点设备根据令牌桶参数中的上一个报文到达时刻确定时间差delta_time具体为:将当前报文到达时刻time_now减去所述上一个报文到达时刻time_last得到时间差delta_time,即:delta_time=time_now-time_last;
例如,从0时刻开始计时,当前报文到达时刻time_now为10ms,上一个报文到达时刻time_last为6ms,由上述算法可以得到时间差delta_time等于4ms;
所述根据时间阈值time_threshhold、时间差delta_time以及令牌桶参数中的令牌添加速率得到当前报文到达时刻令牌的添加量delta_token具体为:比较时间阈值time_threshhold与时间差delta_time的大小,当所述时间差delta_time大于所述时间阈值time_threshhold时,当前报文到达时刻令牌的添加量delta_token等于时间差delta_time与所述令牌添加速率token_rate的乘积,即delta_token=delta_time*token_rate;当所述时间差delta_time小于或等于所述时间阈值time_threshhold时,当前报文到达时刻令牌的添加量delta_token等于零,即delta_token=0;
之所以采用上述方法,是因为时间阈值time_threshhold可以将令牌桶令牌 的添加划分为随机块状添加,即隔一段时间(这段时间大于时间阈值)往令牌桶中添加令牌,每次令牌的添加数量都会比较大,因此,每次添加后令牌桶中的令牌总量会一直维持一个比较大的数量,这样,不管当前到达的报文是长包还是短包,令牌总量足够服务于当前报文,使长包获得与短包一样的令牌服务机会;
所述时间阈值time_threshhold可以为预先设置好的一个阈值;时间阈值time_threshhold的设置不能过大,过大会引起令牌桶中令牌溢出,导致限速带宽的损失,也不能过小,过小则起不到改善长包限速服务质量的作用;根据报文的发送速率和令牌桶的令牌添加速率设置大小合适的时间阈值time_threshhold;
例如,报文数据包中携带的令牌桶参数分别如下:令牌添加速率token_rate=8000bit/s,上一个报文到达时刻time_last=6ms、令牌桶对上一个报文限速运算后的令牌数量token_last=5000bit,当前报文到达时刻为10ms,事先设置的time_threshhold=3ms;根据上述方法可得:
delta_time=4ms;4ms大于时间阈值3ms;因此,
delta_token=delta_time*token_rate=0.004s*8000bit/s=32bit;
所述根据所述当前报文到达时刻令牌的添加量delta_token得到当前的令牌数量token_current具体为:当前的令牌数量token_current等于所述令牌桶对上一个报文限速运算后的令牌数量token_last与所述当前报文到达时刻令牌的添加量delta_token的和,即token_current=token_last+delta_token;且当前的令牌数量token_current的最大值为令牌桶容量bucket_size值,即token_current=<bucket_size;由于网络管理人员会根据实际情况设置时间阈值time_threshhold,因此,当前的令牌数量token_current的值一般不会超过令牌桶容量bucket_size值,当超过时,使token_current=bucket_size;
例如,在上述示例中,token_current=5000+32=5032bit。
步骤203:网络节点设备比较当前的令牌数量与当前报文长度,根据比较结果对报文进行相应处理;
具体的,比较所述当前的令牌数量token_current与当前报文长度,当所述当前的令牌数量token_current大于或等于当前报文长度时,转发当前报文,令牌桶中的令牌数量token_current减少与当前报文长度相等的数目;当所述当前的令牌数量token_current小于当前报文长度时,丢弃报文,令牌桶中的令牌数量不变;
例如,在上述示例中,当前的令牌数量token_curren为5032bit,如果当前报文长度为100字节,即800bit时,报文长度小于token_curren,表示令牌桶中的令牌足够服务于该报文,令牌桶转发该报文,且令牌桶中的令牌数量减少800bit,当前令牌桶中的令牌数量为4232bit;如果当前报文长度为1000字节,即8000bit时,报文长度大于token_curren,表示令牌桶中的令牌不足,无法服务于该报文,则丢弃该报文,令牌桶中的令牌数量仍然为5032bit。
图3所示为本发明实施例提供的令牌桶限速示意图;如图所示,在往令牌桶中添加令牌时,首先要判断时间差delta_time是否大于时间阈值time_threshhold,当大于所述时间阈值time_threshhold时,往令牌桶中添加令牌,否则不添加令牌;
上述时间差delta_time为当前报文到达时刻time_now与上一个报文到达时刻time_last的时间差;时间阈值time_threshhold为预先设置好的一个阈值,用于使令牌的添加呈随机块状添加,而不是线性添加;
令牌桶中添加了令牌之后,令牌桶中的当前的令牌数量token_current为此次的令牌添加量delta_token与上一个报文限速运算后的令牌数量token_last之和;而且,当前的令牌数量token_current最大为令牌桶的总容量bucket_size,即当此次的令牌添加量delta_token与上一个报文限速运算后的令牌数量token_last之和超过令牌桶的总容量bucket_size时,令牌会溢出桶外;
对当前报文的处理为:比较当前报文长度与当前的令牌数量token_current的大小,当前的令牌数量token_current大于或等于当前报文长度时,表明此时令牌桶中的令牌足够,可以服务于当前报文,转发报文,并将令牌桶中的令牌数目减少与报文长度相等的数目;当前的令牌数量token_current小于当前报文 长度时,表明此时令牌桶中的令牌不足,无法服务于当前报文,丢弃报文,令牌桶中的令牌数量保持不变;
通过上述设置的时间阈值time_threshhold,使得令牌的添加变成非连续的块状添加,由于这种块状添加方法每次添加的令牌数量比较多,报文长包和短包都面临相等的转发机会,解决了现有令牌限速方法中短包通过机会远大于长包的问题;
例如,令牌桶的容量为1500字节,初始时令牌桶满,对一组长短参差不齐的报文进行令牌桶限速,两种报文60字节和1000字节的报文混合发送,报文发送速率120字节/s,令牌桶令牌添加速率100字节/s时,如果按照现有的线性令牌桶限速方式,则过若干时间后,令牌桶就会处于即将“耗空”的状态,令牌桶中具有的令牌只足够服务于60字节的报文,1000字节的报文则长期难以得到令牌服务,因此,1000字节的报文服务质量将会受到很大影响,只在报文开始发送初期,可以通过令牌桶得到转发,后期则无法得到令牌服务,60字节报文的通过机会远大于1000字节的报文;然而,利用本发明提供的方案,就会避免上述问题;假如,设置时间阈值time_threshhold为6s,当报文的发送间隔大于6s时添加令牌,否则不添加;这种随机的块状添加方式的好处在于,每一次都可以添加数量较大的令牌,添加量大于600字节,令牌桶中的令牌数量在每次添加后都会维持一个较大的基数,不会因为报文的发送速率大于令牌添加速率而使令牌桶消耗殆尽,令牌桶中的令牌数量足够服务于1000字节的长包和60字节的短包,而且,长包和短包获得令牌服务的机会是均等的。
图4所示为本发明实施例提供的令牌桶限速装置的结构示意图,该装置包括:参数获取模块40、确定模块41和报文处理模块42;其中,
参数获取模块40,用于根据报文的属性获取令牌桶参数;
确定模块41,用于根据时间阈值和所述令牌桶参数确定当前的令牌数量;
报文处理模块42,用于比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行相应处理;
参数获取模块40具体用于通过报文数据包的索引查找报文数据包中所携 带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率token_rate、上一个报文到达时刻time_last、令牌桶对上一个报文限速运算后的令牌数量token_last以及令牌桶容量bucket_size;
所述令牌桶容量bucket_size,用于限定令牌桶中的总令牌量;
所述确定模块41的结构如图5所示,具体包括:时间差确定模块50、令牌添加量确定模块51和令牌数量确定模块52;其中,
时间差确定模块50,用于根据令牌桶参数中的上一个报文到达时刻确定时间差delta_time;
令牌添加量确定模块51,用于根据时间阈值time_threshhold、所述时间差delta_time以及令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量delta_token;
令牌数量确定模块52,用于根据所述当前报文到达时刻令牌的添加量delta_token和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量token_current;
所述时间差确定模块50,具体用于将当前报文到达时刻time_now减去所述上一个报文到达时刻time_last得到时间差delta_time,即delta_time=time_now-time_last;
所述令牌添加量确定模块51,具体用于比较时间阈值time_threshhold与时间差delta_time的大小,当所述时间差delta_time大于所述时间阈值time_threshhold时,将时间差delta_time与令牌添加速率token_rate相乘得到当前报文到达时刻令牌的添加量delta_token,即delta_token=delta_time*token_rate;当所述时间差delta_time小于或等于所述时间阈值time_threshhold时,当前报文到达时刻令牌的添加量delta_token等于零,即delta_token=0;
所述时间阈值time_threshhold为预先设置好的一个阈值;
所述令牌数量确定模块52,具体用于将所述令牌桶对上一个报文限速运算后的令牌数量token_last与所述当前报文到达时刻令牌的添加量delta_token相 加得到当前的令牌数量token_current,即token_current=token_last+delta_token;且当前的令牌数量token_current的最大值且令牌桶容量bucket_size值,即token_current=<bucket_size;
所述报文处理模块42,具体用于比较所述当前的令牌数量token_current与当前报文长度,当所述当前的令牌数量token_current大于或等于当前报文长度时,转发当前报文,并将令牌桶中当前的令牌数量token_current减少与当前报文长度相等的数目;当所述当前的令牌数量token_current小于当前报文长度时,丢弃报文,维持令牌桶中的令牌数量不变;
上述参数获取模块40、确定模块41和报文处理模块42都可以由网络节点设备中的CPU或主芯片来实现;所述网络节点设备包括:如路由器、交换机等设备。
本发明实施例所述令牌桶限速方法如果以软件的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式,所述存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁盘存储器、CD-ROM、光学存储器等。
本发明实施例中公开的网络节点设备根据报文的属性获取令牌桶参数,再根据时间阈值和所述令牌桶参数得到当前的令牌数量,比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行相应处理,从而使报文长包和短包具有均等的令牌服务机会,提高报文长包的服务质量,弥补了现有令牌桶限速方法的缺陷。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种令牌桶限速方法,其特征在于,该方法包括:
网络节点设备根据报文的属性获取令牌桶参数;再根据时间阈值和所述令牌桶参数得到当前的令牌数量;比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述网络节点设备根据报文的属性获取令牌桶参数为:网络节点设备通过报文数据包的索引查找到报文数据包中所携带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率、上一个报文到达时刻、令牌桶对上一个报文限速运算后的令牌数量以及令牌桶容量。
3.根据权利要求1所述的方法,其特征在于,所述根据时间阈值和令牌桶参数得到当前的令牌数量包括:网络节点设备根据所述令牌桶参数中的上一个报文到达时刻确定时间差;根据时间阈值、所述时间差和令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量;再根据所述当前报文到达时刻令牌的添加量和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量。
4.根据权利要求3所述的方法,其特征在于,所述网络节点设备确定时间差为:将当前报文到达时刻减去所述上一个报文到达时刻得到时间差。
5.根据权利要求4所述的方法,其特征在于,所述根据时间阈值和时间差得到当前报文到达时刻令牌的添加量为:比较时间阈值和时间差的大小,当所述时间差大于所述时间阈值时,当前报文到达时刻令牌的添加量等于时间差与所述令牌添加速率的乘积;当所述时间差小于或等于所述时间阈值时,当前报文到达时刻令牌的添加量等于零。
6.根据权利要求5所述的方法,其特征在于,所述根据所述当前报文到达时刻令牌的添加量得到当前的令牌数量为:当前的令牌数量等于所述令牌桶对上一个报文限速运算后的令牌数量与所述当前报文到达时刻令牌的添加量的 和,且所述当前的令牌数量的最大值为令牌桶参数中的令牌桶容量。
7.根据权利要求1至6任一所述的方法,其特征在于,所述比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理为:比较所述当前的令牌数量与当前报文长度,当所述当前的令牌数量大于或等于当前报文长度时,转发当前报文,令牌桶中当前的令牌数量减少与当前报文长度相等的数目;当所述当前的令牌数量小于当前报文长度时,丢弃报文,令牌桶中当前的令牌数量不变。
8.一种令牌桶限速装置,其特征在于,该装置包括:参数获取模块、确定模块和报文处理模块;其中,
参数获取模块,用于根据报文的属性获取令牌桶参数;
确定模块,用于根据时间阈值和所述令牌桶参数确定当前的令牌数量;
报文处理模块,用于比较所述当前的令牌数量与当前报文长度,根据比较结果对报文进行处理。
9.根据权利要求8所述的装置,其特征在于,所述参数获取模块具体用于通过报文数据包的索引查找报文数据包中所携带的令牌桶参数;其中,
所述令牌桶参数包括:令牌添加速率、上一个报文到达时刻、令牌桶对上一个报文限速运算后的令牌数量以及令牌桶容量。
10.根据权利要求8所述的装置,其特征在于,所述确定模块包括:时间差确定模块、令牌添加量确定模块和令牌数量确定模块;其中,
时间差确定模块,用于根据令牌桶参数中的上一个报文到达时刻确定时间差;
令牌添加量确定模块,用于根据时间阈值、所述时间差和令牌桶参数中的令牌添加速率确定当前报文到达时刻令牌的添加量;
令牌数量确定模块,用于根据所述当前报文到达时刻令牌的添加量和令牌桶参数中的上一个报文限速运算后的令牌数量确定当前的令牌数量。
11.根据权利要求10所述的装置,其特征在于,所述时间差确定模块,具体用于将当前报文到达时刻减去所述上一个报文到达时刻得到时间差。
12.根据权利要求11所述的装置,其特征在于,所述令牌添加量确定模块,具体用于比较时间阈值与时间差的大小,当所述时间差大于所述时间阈值时,将时间差与令牌添加速率相乘得到当前报文到达时刻令牌的添加量;当所述时间差小于或等于所述时间阈值时,当前报文到达时刻令牌的添加量等于零。
13.根据权利要求12所述的装置,其特征在于,所述令牌数量确定模块,具体用于将所述令牌桶对上一个报文限速运算后的令牌数量与所述当前报文到达时刻令牌的添加量相加得到当前的令牌数量,且所述当前的令牌数量的最大值为令牌桶参数中的令牌桶容量。
14.根据权利要求8至13任一所述的装置,其特征在于,所述报文处理模块,具体用于比较所述当前的令牌数量与当前报文长度,当所述当前的令牌数量大于或等于当前报文长度时,转发当前报文,并将令牌桶中的令牌数量减少与当前报文长度相等的数目;当所述当前的令牌数量小于当前报文长度时,丢弃报文,维持令牌桶中的令牌数量不变。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410134335.2A CN104980367B (zh) | 2014-04-03 | 2014-04-03 | 一种令牌桶限速方法和装置 |
DK14887743.4T DK3128704T3 (da) | 2014-04-03 | 2014-09-22 | Metode og apparat til hastighedsbegrænsning ved hjælp af token-bucket og computerlagringsmedium |
EP14887743.4A EP3128704B1 (en) | 2014-04-03 | 2014-09-22 | Method and apparatus for limiting rate by means of token bucket, and computer storage medium |
US15/301,323 US10135740B2 (en) | 2014-04-03 | 2014-09-22 | Method and apparatus for limiting rate by means of token bucket, and computer storage medium |
PCT/CN2014/087112 WO2015149488A1 (zh) | 2014-04-03 | 2014-09-22 | 一种令牌桶限速方法、装置及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410134335.2A CN104980367B (zh) | 2014-04-03 | 2014-04-03 | 一种令牌桶限速方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104980367A true CN104980367A (zh) | 2015-10-14 |
CN104980367B CN104980367B (zh) | 2019-04-30 |
Family
ID=54239362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410134335.2A Active CN104980367B (zh) | 2014-04-03 | 2014-04-03 | 一种令牌桶限速方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10135740B2 (zh) |
EP (1) | EP3128704B1 (zh) |
CN (1) | CN104980367B (zh) |
DK (1) | DK3128704T3 (zh) |
WO (1) | WO2015149488A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376175A (zh) * | 2015-12-03 | 2016-03-02 | 北京浩瀚深度信息技术股份有限公司 | 具有带宽保障功能的级联令牌桶实现方法 |
CN105635145A (zh) * | 2015-12-31 | 2016-06-01 | 盛科网络(苏州)有限公司 | Capwap dtls隧道的芯片级安全防护方法 |
CN106302211A (zh) * | 2016-07-18 | 2017-01-04 | 网易无尾熊(杭州)科技有限公司 | 一种网络资源的请求量控制方法和装置 |
CN106656849A (zh) * | 2016-11-01 | 2017-05-10 | 杭州迪普科技股份有限公司 | 报文限速方法及装置 |
CN106936734A (zh) * | 2015-12-30 | 2017-07-07 | 深圳市中兴微电子技术有限公司 | 信息上报方法及装置 |
CN107181699A (zh) * | 2017-05-27 | 2017-09-19 | 西南交通大学 | 列车控制与服务网络的流量监管和入队管理方法 |
CN107465629A (zh) * | 2016-06-06 | 2017-12-12 | 中兴通讯股份有限公司 | 限速方法及装置 |
CN107623641A (zh) * | 2017-11-03 | 2018-01-23 | 湖南天冠电子信息技术有限公司 | 限速方法及装置 |
CN107682279A (zh) * | 2017-11-03 | 2018-02-09 | 东软集团股份有限公司 | 一种时延控制方法、装置及存储介质、程序产品 |
CN108259377A (zh) * | 2018-02-13 | 2018-07-06 | 中国联合网络通信集团有限公司 | 队列分配方法及装置 |
CN108989239A (zh) * | 2017-06-02 | 2018-12-11 | 中兴通讯股份有限公司 | 过载保护方法及装置、控制器及存储介质 |
CN109525500A (zh) * | 2018-12-27 | 2019-03-26 | 北京天融信网络安全技术有限公司 | 一种自调整阈值的信息处理方法及信息处理装置 |
WO2020015356A1 (en) * | 2018-07-18 | 2020-01-23 | Huawei Technologies Co., Ltd. | Method and system for cluster rate limiting in a cloud computing system |
CN114641033A (zh) * | 2022-05-09 | 2022-06-17 | 上海大汉三通通信股份有限公司 | 5g消息推送速度控制方法、装置、设备及介质 |
CN114745333A (zh) * | 2022-03-03 | 2022-07-12 | 珠海高凌信息科技股份有限公司 | 一种ims系统自适应流量控制方法 |
CN114915596A (zh) * | 2022-05-10 | 2022-08-16 | 北京奇艺世纪科技有限公司 | 数据发送方法、装置、设备及存储介质 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10524278B2 (en) * | 2015-11-20 | 2019-12-31 | Qualcomm Incorporated | Scheduling and token bucket for communication co-existence |
US10044751B2 (en) * | 2015-12-28 | 2018-08-07 | Arbor Networks, Inc. | Using recurrent neural networks to defeat DNS denial of service attacks |
CN106411773B (zh) * | 2016-08-29 | 2018-10-23 | 武汉微创光电股份有限公司 | 基于令牌桶的视频传输中的流量整形方法及系统 |
US11777785B2 (en) * | 2018-01-21 | 2023-10-03 | Cisco Technology, Inc. | Alert throttling |
US11243977B2 (en) * | 2019-03-01 | 2022-02-08 | Intel Corporation | SGX based flow control for distributed ledgers |
US10771392B1 (en) * | 2019-06-12 | 2020-09-08 | International Business Machines Corporation | Increasing efficiency to rate limiting |
CN112328613B (zh) * | 2020-11-04 | 2022-07-22 | 迈普通信技术股份有限公司 | 联机分析处理方法、装置、电子设备及存储介质 |
CN113518017B (zh) * | 2021-06-29 | 2023-04-18 | 新华三信息安全技术有限公司 | 一种网络状态分析方法、装置、设备及机器可读存储介质 |
CN113422737B (zh) * | 2021-08-25 | 2022-01-11 | 阿里云计算有限公司 | 一种流量控制方法、设备及存储介质 |
US11977513B2 (en) | 2022-01-26 | 2024-05-07 | Microsoft Technology Licensing, Llc. | Data flow control in distributed computing systems |
CN114598658A (zh) * | 2022-03-07 | 2022-06-07 | 浪潮云信息技术股份公司 | 一种流量限制方法及装置 |
US11863675B2 (en) * | 2022-04-06 | 2024-01-02 | Microsoft Technology Licensing, Llc | Data flow control in distributed computing systems |
CN114969670A (zh) * | 2022-04-19 | 2022-08-30 | 北京月新时代科技股份有限公司 | 一种软件许可资源的管理方法、系统及计算机设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133279A1 (en) * | 2004-12-21 | 2006-06-22 | Cisco Technology, Inc. | Hierarchical multi-rate multi-precedence policer |
CN101741603A (zh) * | 2008-11-11 | 2010-06-16 | 中兴通讯股份有限公司 | 一种基于令牌桶的流量监管方法及设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1672436B1 (fr) | 2004-12-20 | 2008-03-19 | Rolex S.A. | Cadran pour pièce d'horlogerie et procédés de fabrication de ce cadran |
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN101478491B (zh) | 2009-02-10 | 2012-07-04 | 中兴通讯股份有限公司 | 一种实现分组业务区分服务的方法及装置 |
-
2014
- 2014-04-03 CN CN201410134335.2A patent/CN104980367B/zh active Active
- 2014-09-22 DK DK14887743.4T patent/DK3128704T3/da active
- 2014-09-22 EP EP14887743.4A patent/EP3128704B1/en active Active
- 2014-09-22 WO PCT/CN2014/087112 patent/WO2015149488A1/zh active Application Filing
- 2014-09-22 US US15/301,323 patent/US10135740B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060133279A1 (en) * | 2004-12-21 | 2006-06-22 | Cisco Technology, Inc. | Hierarchical multi-rate multi-precedence policer |
CN101741603A (zh) * | 2008-11-11 | 2010-06-16 | 中兴通讯股份有限公司 | 一种基于令牌桶的流量监管方法及设备 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376175A (zh) * | 2015-12-03 | 2016-03-02 | 北京浩瀚深度信息技术股份有限公司 | 具有带宽保障功能的级联令牌桶实现方法 |
CN106936734A (zh) * | 2015-12-30 | 2017-07-07 | 深圳市中兴微电子技术有限公司 | 信息上报方法及装置 |
CN106936734B (zh) * | 2015-12-30 | 2020-04-24 | 深圳市中兴微电子技术有限公司 | 信息上报方法及装置 |
CN105635145B (zh) * | 2015-12-31 | 2019-01-04 | 盛科网络(苏州)有限公司 | Capwap dtls隧道的芯片级安全防护方法 |
CN105635145A (zh) * | 2015-12-31 | 2016-06-01 | 盛科网络(苏州)有限公司 | Capwap dtls隧道的芯片级安全防护方法 |
CN107465629A (zh) * | 2016-06-06 | 2017-12-12 | 中兴通讯股份有限公司 | 限速方法及装置 |
CN106302211A (zh) * | 2016-07-18 | 2017-01-04 | 网易无尾熊(杭州)科技有限公司 | 一种网络资源的请求量控制方法和装置 |
CN106656849A (zh) * | 2016-11-01 | 2017-05-10 | 杭州迪普科技股份有限公司 | 报文限速方法及装置 |
CN106656849B (zh) * | 2016-11-01 | 2019-09-06 | 杭州迪普科技股份有限公司 | 报文限速方法及装置 |
CN107181699A (zh) * | 2017-05-27 | 2017-09-19 | 西南交通大学 | 列车控制与服务网络的流量监管和入队管理方法 |
CN107181699B (zh) * | 2017-05-27 | 2019-10-01 | 西南交通大学 | 列车控制与服务网络的流量监管和入队管理方法 |
CN108989239B (zh) * | 2017-06-02 | 2023-10-13 | 中兴通讯股份有限公司 | 过载保护方法及装置、控制器及存储介质 |
CN108989239A (zh) * | 2017-06-02 | 2018-12-11 | 中兴通讯股份有限公司 | 过载保护方法及装置、控制器及存储介质 |
CN107682279A (zh) * | 2017-11-03 | 2018-02-09 | 东软集团股份有限公司 | 一种时延控制方法、装置及存储介质、程序产品 |
CN107623641B (zh) * | 2017-11-03 | 2019-11-19 | 湖南天冠电子信息技术有限公司 | 限速方法及装置 |
CN107623641A (zh) * | 2017-11-03 | 2018-01-23 | 湖南天冠电子信息技术有限公司 | 限速方法及装置 |
CN108259377A (zh) * | 2018-02-13 | 2018-07-06 | 中国联合网络通信集团有限公司 | 队列分配方法及装置 |
US10951532B2 (en) | 2018-07-18 | 2021-03-16 | Huawei Technologies Co., Ltd. | Method and system for cluster rate limiting in a cloud computing system |
WO2020015356A1 (en) * | 2018-07-18 | 2020-01-23 | Huawei Technologies Co., Ltd. | Method and system for cluster rate limiting in a cloud computing system |
CN109525500B (zh) * | 2018-12-27 | 2021-08-24 | 北京天融信网络安全技术有限公司 | 一种自调整阈值的信息处理方法及信息处理装置 |
CN109525500A (zh) * | 2018-12-27 | 2019-03-26 | 北京天融信网络安全技术有限公司 | 一种自调整阈值的信息处理方法及信息处理装置 |
CN114745333A (zh) * | 2022-03-03 | 2022-07-12 | 珠海高凌信息科技股份有限公司 | 一种ims系统自适应流量控制方法 |
CN114745333B (zh) * | 2022-03-03 | 2023-05-30 | 珠海高凌信息科技股份有限公司 | 一种ims系统自适应流量控制方法 |
CN114641033A (zh) * | 2022-05-09 | 2022-06-17 | 上海大汉三通通信股份有限公司 | 5g消息推送速度控制方法、装置、设备及介质 |
CN114641033B (zh) * | 2022-05-09 | 2022-08-30 | 上海大汉三通通信股份有限公司 | 5g消息推送速度控制方法、装置、设备及介质 |
CN114915596A (zh) * | 2022-05-10 | 2022-08-16 | 北京奇艺世纪科技有限公司 | 数据发送方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10135740B2 (en) | 2018-11-20 |
EP3128704A1 (en) | 2017-02-08 |
EP3128704A4 (en) | 2017-05-03 |
EP3128704B1 (en) | 2020-01-01 |
CN104980367B (zh) | 2019-04-30 |
US20170026295A1 (en) | 2017-01-26 |
WO2015149488A1 (zh) | 2015-10-08 |
DK3128704T3 (da) | 2020-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104980367A (zh) | 一种令牌桶限速方法和装置 | |
US11616723B2 (en) | Techniques to reduce network congestion | |
CN103281252A (zh) | 一种基于多路径传输的报文流量控制方法和装置 | |
CN105099938B (zh) | 网络中拥塞窗口的确定方法和装置 | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
CN103929366A (zh) | 流量控制方法、装置及设备 | |
US9432999B1 (en) | Optimization of airtime among Wi-Fi clients connected to an access point | |
CN104301248A (zh) | 报文限速方法和装置 | |
CN113225253B (zh) | 一种报文转发方法及装置 | |
CN105898388A (zh) | 一种节点下载调度方法和装置 | |
US11621918B2 (en) | Techniques to manage data transmissions | |
CN109245959A (zh) | 统计活跃流数目的方法、网络设备和系统 | |
US8879571B2 (en) | Delays based on packet sizes | |
CN102625140A (zh) | 流媒体服务器以帧为粒度实时下载播放的方法 | |
CN110474845A (zh) | 流表项淘汰方法及相关装置 | |
WO2016197458A1 (zh) | 一种流量控制的方法及装置 | |
CN103797841A (zh) | 一种准入控制方法和装置 | |
CN106911740A (zh) | 一种缓存管理的方法和装置 | |
CN102811152A (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
CN103874133A (zh) | 一种带宽控制的方法、装置及接入点设备 | |
CN107465629A (zh) | 限速方法及装置 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
CN102739531B (zh) | 流量整形方法和流量整形设备 | |
CN112688798A (zh) | 一种流量转发设备的链路聚合方法及流量转发设备 | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20151014 Assignee: Xi'an Chris Semiconductor Technology Co. Ltd. Assignor: SHENZHEN ZTE MICROELECTRONICS TECHNOLOGY CO., LTD. Contract record no.: 2019440020036 Denomination of invention: Token bucket limiting speed method and apparatus Granted publication date: 20190430 License type: Common License Record date: 20190619 |