CN105376175A - 具有带宽保障功能的级联令牌桶实现方法 - Google Patents
具有带宽保障功能的级联令牌桶实现方法 Download PDFInfo
- Publication number
- CN105376175A CN105376175A CN201510883271.0A CN201510883271A CN105376175A CN 105376175 A CN105376175 A CN 105376175A CN 201510883271 A CN201510883271 A CN 201510883271A CN 105376175 A CN105376175 A CN 105376175A
- Authority
- CN
- China
- Prior art keywords
- token
- message
- token bucket
- byte number
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及通信领域,具体提供一种具有带宽保障功能的级联令牌桶实现方法,旨在解决现有令牌桶技术无法解决多维度复杂策略下的流量控制的问题。为此目的,本发明的方法包括下列步骤:以第一恒定速率向第一令牌桶中存放令牌;使用所述第一令牌桶中的令牌发送第一报文;其特征在于,所述方法还包括:将所述第一令牌桶中的剩余令牌注入到第二令牌桶中;以及使用所述第二令牌桶中的令牌发送第二报文。本领域技术人员容易理解的是,与传统的令牌桶技术相比,本发明的方法使独立的令牌桶彼此互联,从而能够共享流控带宽,尤其在某些令牌桶的令牌数不足的情况下,能够明显提高流控策略应用的灵活性。
Description
技术领域
本发明涉及通信领域,具体提供一种具有带宽保障功能的级联令牌桶实现方法。
背景技术
在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶技术是网络流量整形(TrafficShaping)和速率限制(RateLimiting)中最常用的一种技术。典型情况下,令牌桶技术用来控制发送到网络上的数据的数目,并允许突发数据的发送。令牌以恒定的速率源源不断地被送入大小固定的令牌桶,该速率通常称为流控速率。如果令牌不被消耗或者被消耗的速度小于流控速率,令牌就会不断增多,直到把桶填满。后面再送入的令牌就会从桶中溢出,最后桶中可以保存的最大令牌数永远不会超过桶的大小。传送到令牌桶的报文需要消耗令牌。不同大小的报文消耗的令牌数量不一样。令牌桶的这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。如果令牌桶中存在令牌,则允许发送流量;如果令牌桶中不存在令牌,则不允许发送流量。
然而,现有的令牌桶技术存在明显的缺点。具体而言,令牌桶本身没有优先级策略,并且每个令牌桶相互独立、没有级联,因此无法解决多维度复杂策略下的流量控制问题。
发明内容
为了解决前述问题,即为了解决现有令牌桶技术无法解决多维度复杂策略下的流量控制的问题,本发明提供一种具有带宽保障功能的级联令牌桶实现方法。该方法包括下列步骤:以第一恒定速率向第一令牌桶中存放令牌;使用所述第一令牌桶中的令牌发送第一报文;其特征在于,所述方法还包括:将所述第一令牌桶中的剩余令牌注入到第二令牌桶中;以及使用所述第二令牌桶中的令牌发送第二报文。
在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,所述方法还包括:在将所述第一令牌桶中的剩余令牌注入到第二令牌桶中之前或同时,以第二恒定速率向第二令牌桶中存放令牌;在使用所述第二令牌桶中的令牌发送第二报文之后,将所述第二令牌桶中的剩余令牌注入到所述第一令牌桶中;以及使用所述第一令牌桶中的令牌发送第三报文。
在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第一报文的预期报文字节数大于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一令牌桶中的令牌字节数。应当指出的是,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第一报文的预期报文速率大于所述第一恒定速率(即流控速率)时,所述第一报文的实际报文速率就等于所述第一恒定速率(即流控速率)。
在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第一报文的预期报文字节数小于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一报文的预期报文字节数。类似地,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第一报文的预期报文速率小于所述第一恒定速率(即流控速率)时,所述第一报文的实际报文速率就等于所述第一报文的预期报文速率。
在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第二报文的预期报文字节数大于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二令牌桶中的令牌字节数。应当指出的是,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第二报文的预期报文速率大于所述第二恒定速率(即流控速率)时,所述第二报文的实际报文速率就等于所述第二恒定速率(即流控速率)。
在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第二报文的预期报文字节数小于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二报文的预期报文字节数。类似地,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第二报文的预期报文速率小于所述第二恒定速率(即流控速率)时,所述第二报文的实际报文速率就等于所述第二报文的预期报文速率。
本领域技术人员容易理解的是,与传统的令牌桶技术相比,本发明的方法使独立的令牌桶彼此互联,从而能够共享流控带宽,尤其在某些令牌桶的令牌数不足的情况下,能够明显提高流控策略应用的灵活性。
附图说明
图1是根据本发明的级联令牌桶实现方法的第一实施方式的流程图。
图2是根据本发明的级联令牌桶实现方法的第二实施方式的流程图。
图3是根据本发明的级联令牌桶实现方法的总流程图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。例如,尽管本申请是结合两个令牌桶来描述的,但是本领域技术人员能够理解的是,本发明的技术方案显然可以应用于两个以上的令牌桶,从而实现一个令牌桶与其他多个令牌桶的级联或者实现多个令牌桶与其他多个令牌桶的级联。这种改变并没有超出本发明的基本原理,因此也将落入本发明的保护范围之内。
首先参阅图1,该图是根据本发明的级联令牌桶实现方法的第一实施方式的流程图。如图1的左侧所示,在第一实施方式中,本发明的级联令牌桶实现方法包括下列步骤:以恒定速率(即,规定速度或流控速率)向A令牌桶中存放令牌;然后使用A令牌桶中的令牌发送A报文。本发明的方法的特征在于还包括:将A令牌桶中的多余令牌注入到B令牌桶中以及使用B令牌桶中的令牌发送B报文。
如A令牌桶的下方所示,当A报文的预期报文字节数大于A令牌桶中的令牌字节数时,则A报文的实际报文字节数等于A令牌桶中的令牌字节数,多余报文被丢弃。如A令牌桶的右侧所示,当A报文的预期报文字节数小于A令牌桶中的令牌字节数时,A报文的实际报文字节数等于A报文的预期报文字节数,即A报文的N个字节全部通过并且A报文桶中删除N个令牌。
类似地,如B令牌桶的下方所示,当B报文的预期报文字节数大于B令牌桶中的令牌字节数时,B报文的实际报文字节数等于B令牌桶中的令牌字节数,多余报文被丢弃。如B令牌桶的右侧所示,当B报文的预期报文字节数小于B令牌桶中的令牌字节数时,B报文的实际报文字节数等于B报文的预期报文字节数,即B报文的N个字节全部通过并且B报文桶中删除N个令牌。
下面参阅图2,该图是根据本发明的级联令牌桶实现方法的第二实施方式的流程图。与图1的优先级级联方式不同,图2示出的是加权排队级联方式。具体而言,与第一实施方式相同,本发明的第二实施方式的方法也包括下列步骤:以恒定速率(即,规定速度或流控速率)向A令牌桶中存放令牌;使用A令牌桶中的令牌发送A报文;将A令牌桶中的多余令牌注入到B令牌桶中以及使用B令牌桶中的令牌发送B报文。然而,与第一实施方式不同的是,在第二实施方式中,本发明的方法还额外地包括:在将A令牌桶中的剩余令牌注入到B令牌桶中之前或同时,以另一恒定速率向B令牌桶中存放令牌;在使用B令牌桶中的令牌发送第二报文之后,将B令牌桶中的剩余令牌注入到A令牌桶中;以及可选地使用A令牌桶中的令牌发送第三报文。
同样与第一实施方式相同,在第二实施方式中,当A报文的预期报文字节数大于A令牌桶中的令牌字节数时,A报文的实际报文字节数等于A令牌桶中的令牌字节数,多余报文被丢弃。当A报文的预期报文字节数小于A令牌桶中的令牌字节数时,A报文的实际报文字节数等于A报文的预期报文字节数,即A报文的N个字节全部通过并且A报文桶中删除N个令牌。类似地,当B报文的预期报文字节数大于B令牌桶中的令牌字节数时,B报文的实际报文字节数等于B令牌桶中的令牌字节数,多余报文被丢弃。当B报文的预期报文字节数小于B令牌桶中的令牌字节数时,B报文的实际报文字节数等于B报文的预期报文字节数,即B报文的N个字节全部通过并且B报文桶中删除N个令牌。
最后参阅图3,该图是根据本发明的级联令牌桶实现方法的总流程图,综合性地示出了第一和第二实施方式。如图3所示,本发明的级联令牌桶实现方法开始于步骤S10。在步骤S10中,以第一恒定速率向第一令牌桶中存放令牌。在步骤S20中,使用第一令牌桶中的令牌发送第一报文。然后在步骤S30中,以第二恒定速率向第二令牌桶中存放令牌。接着在步骤S40中,将第一令牌桶中的剩余令牌注入到第二令牌桶中。之后在步骤S50中,使用第二令牌桶中的令牌发送第二报文。然后在步骤S60中,将第二令牌桶中的剩余令牌注入到第一令牌桶中。最后,在步骤S70中,使用第一令牌桶中的令牌发送额外的第三报文,所述方法由重新回到步骤S10和步骤S20,如此循环。
关于上述方法,需要特别指出的是,在单一循环中,步骤S30既可以在步骤S40之前执行,也与步骤S40同时执行,这种调整并不背离本发明的原理,因此也没有超出本发明的保护范围。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。例如,上文虽然按照特定的顺序描述了本发明的操作步骤,但是,在不偏离本发明的基本原理-即将独立的令牌桶相互级联的前提下,本领域技术人员可以根据需要采用任何特定的顺序、或者删除已有步骤或增加额外的步骤,调整之后的技术方案仍将落入本发明的保护范围。
Claims (6)
1.一种具有带宽保障功能的级联令牌桶实现方法,包括下列步骤:
以第一恒定速率向第一令牌桶中存放令牌;
使用所述第一令牌桶中的令牌发送第一报文;
其特征在于,所述方法还包括:
将所述第一令牌桶中的剩余令牌注入到第二令牌桶中;以及
使用所述第二令牌桶中的令牌发送第二报文。
2.根据权利要求1所述的具有带宽保障功能的级联令牌桶实现方法,其特征在于,所述方法还包括:
在将所述第一令牌桶中的剩余令牌注入到第二令牌桶中之前或同时,以第二恒定速率向第二令牌桶中存放令牌;
在使用所述第二令牌桶中的令牌发送第二报文之后,将所述第二令牌桶中的剩余令牌注入到所述第一令牌桶中;以及
使用所述第一令牌桶中的令牌发送第三报文。
3.根据权利要求1或2所述的具有带宽保障功能的级联令牌桶实现方法,其特征在于,当所述第一报文的预期报文字节数大于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一令牌桶中的令牌字节数。
4.根据权利要求1至3中任一项所述的具有带宽保障功能的级联令牌桶实现方法,其特征在于,当所述第一报文的预期报文字节数小于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一报文的预期报文字节数。
5.根据权利要求1至4中任一项所述的具有带宽保障功能的级联令牌桶实现方法,其特征在于,当所述第二报文的预期报文字节数大于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二令牌桶中的令牌字节数。
6.根据权利要求1至5中任一项所述的具有带宽保障功能的级联令牌桶实现方法,其特征在于,当所述第二报文的预期报文字节数小于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二报文的预期报文字节数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883271.0A CN105376175B (zh) | 2015-12-03 | 2015-12-03 | 具有带宽保障功能的级联令牌桶实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510883271.0A CN105376175B (zh) | 2015-12-03 | 2015-12-03 | 具有带宽保障功能的级联令牌桶实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105376175A true CN105376175A (zh) | 2016-03-02 |
CN105376175B CN105376175B (zh) | 2019-01-25 |
Family
ID=55377992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510883271.0A Active CN105376175B (zh) | 2015-12-03 | 2015-12-03 | 具有带宽保障功能的级联令牌桶实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105376175B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822119A (zh) * | 2020-12-31 | 2021-05-18 | 北京浩瀚深度信息技术股份有限公司 | 一种基于反向令牌桶的流量控制方法、设备及存储介质 |
CN113411267A (zh) * | 2021-06-16 | 2021-09-17 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN113949668A (zh) * | 2021-08-31 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN114070798A (zh) * | 2022-01-06 | 2022-02-18 | 阿里巴巴(中国)有限公司 | 一种报文传输方法、装置及设备 |
CN114765592A (zh) * | 2021-01-15 | 2022-07-19 | 阿里巴巴集团控股有限公司 | 流量控制方法、装置、存储介质、服务设备和服务集群 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008625A1 (en) * | 2002-04-24 | 2004-01-15 | Jae-Hwoon Lee | Method for monitoring traffic in packet switched network |
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN101834790A (zh) * | 2010-04-22 | 2010-09-15 | 上海华为技术有限公司 | 一种基于多核处理器的流量控制方法和多核处理器 |
CN104980367A (zh) * | 2014-04-03 | 2015-10-14 | 深圳市中兴微电子技术有限公司 | 一种令牌桶限速方法和装置 |
-
2015
- 2015-12-03 CN CN201510883271.0A patent/CN105376175B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040008625A1 (en) * | 2002-04-24 | 2004-01-15 | Jae-Hwoon Lee | Method for monitoring traffic in packet switched network |
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN101227410A (zh) * | 2008-02-03 | 2008-07-23 | 杭州华三通信技术有限公司 | 流量监管方法及流量监管设备 |
CN101834790A (zh) * | 2010-04-22 | 2010-09-15 | 上海华为技术有限公司 | 一种基于多核处理器的流量控制方法和多核处理器 |
CN104980367A (zh) * | 2014-04-03 | 2015-10-14 | 深圳市中兴微电子技术有限公司 | 一种令牌桶限速方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112822119A (zh) * | 2020-12-31 | 2021-05-18 | 北京浩瀚深度信息技术股份有限公司 | 一种基于反向令牌桶的流量控制方法、设备及存储介质 |
CN112822119B (zh) * | 2020-12-31 | 2022-09-13 | 北京浩瀚深度信息技术股份有限公司 | 一种基于反向令牌桶的流量控制方法、设备及存储介质 |
CN114765592A (zh) * | 2021-01-15 | 2022-07-19 | 阿里巴巴集团控股有限公司 | 流量控制方法、装置、存储介质、服务设备和服务集群 |
CN113411267A (zh) * | 2021-06-16 | 2021-09-17 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN113949668A (zh) * | 2021-08-31 | 2022-01-18 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN113949668B (zh) * | 2021-08-31 | 2023-12-19 | 北京达佳互联信息技术有限公司 | 一种数据传输控制方法、装置、服务器及存储介质 |
CN114070798A (zh) * | 2022-01-06 | 2022-02-18 | 阿里巴巴(中国)有限公司 | 一种报文传输方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105376175B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105376175A (zh) | 具有带宽保障功能的级联令牌桶实现方法 | |
CN107508671B (zh) | 基于量子密钥分发的业务通信方法及装置 | |
US8310934B2 (en) | Method and device for controlling information channel flow | |
CN110650002B (zh) | 一种FlexE组中PHY的调整方法、相关设备及存储介质 | |
CN108540380B (zh) | 多子流网络传输方法及装置 | |
CN103442037A (zh) | 一种基于ftp协议实现超大文件多线程断点上传的方法 | |
CN109547357A (zh) | 一种存储系统中数据信息的传输方法、装置、设备及介质 | |
US9544237B1 (en) | Method and apparatus for inserting idle bytes in a data stream | |
KR100524737B1 (ko) | 이동통신 시스템에서 제어계층 레이어 상의 데이터 전송방법 | |
US8689049B2 (en) | Corrective actions based on probabilities | |
US10078607B2 (en) | Buffer management method and apparatus for universal serial bus communication in wireless environment | |
CN110035337B (zh) | 弹性光网络中基于指数划分频块的主动多流频谱分配方法 | |
US8761671B2 (en) | Data merging for bluetooth devices | |
US10911372B2 (en) | Distributed quality of service control for inter-cluster data transmission | |
US20120243413A1 (en) | Data Packet Priority Level Management | |
CN106027419B (zh) | 一种数据结构的管理方法和装置 | |
CN109995667A (zh) | 传输报文的方法和发送设备 | |
US7411969B2 (en) | Method, system, and apparatus for a credit based flow control in a computer system | |
CN106850456A (zh) | 令牌桶流速限制器 | |
CN103067302A (zh) | 一种实现双速率漏桶模型的方法及装置 | |
CN105306386A (zh) | 一种局域网中资源分配的方法和装置 | |
US20210058186A1 (en) | Service signal transmission method and apparatus | |
CN110831220A (zh) | 一种传输块tb调度方法及装置 | |
CN1901535B (zh) | 一种链路容量调整方案中增删成员的方法 | |
US10171365B2 (en) | Turbolink: method and apparatus for controlling input/output signaling speed |
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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 218, 2nd Floor, Building A, No. 119 West Fourth Ring North Road, Haidian District, Beijing, 100000 Patentee after: HAOHAN DATA TECHNOLOGY CO.,LTD. Address before: 100142 No. 14, No. 45, North dewa Road, Haidian District, Beijing, 102 Patentee before: HAOHAN DATA TECHNOLOGY CO.,LTD. |