具有带宽保障功能的级联令牌桶实现方法

文档序号:9618648阅读:500来源:国知局
具有带宽保障功能的级联令牌桶实现方法
【技术领域】
[0001]本发明涉及通信领域,具体提供一种具有带宽保障功能的级联令牌桶实现方法。
【背景技术】
[0002]在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送。令牌桶技术是网络流量整形(Traffic Shaping)和速率限制(RateLimiting)中最常用的一种技术。典型情况下,令牌桶技术用来控制发送到网络上的数据的数目,并允许突发数据的发送。令牌以恒定的速率源源不断地被送入大小固定的令牌桶,该速率通常称为流控速率。如果令牌不被消耗或者被消耗的速度小于流控速率,令牌就会不断增多,直到把桶填满。后面再送入的令牌就会从桶中溢出,最后桶中可以保存的最大令牌数永远不会超过桶的大小。传送到令牌桶的报文需要消耗令牌。不同大小的报文消耗的令牌数量不一样。令牌桶的这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。如果令牌桶中存在令牌,则允许发送流量;如果令牌桶中不存在令牌,则不允许发送流量。
[0003]然而,现有的令牌桶技术存在明显的缺点。具体而言,令牌桶本身没有优先级策略,并且每个令牌桶相互独立、没有级联,因此无法解决多维度复杂策略下的流量控制问题。

【发明内容】

[0004]为了解决前述问题,即为了解决现有令牌桶技术无法解决多维度复杂策略下的流量控制的问题,本发明提供一种具有带宽保障功能的级联令牌桶实现方法。该方法包括下列步骤:以第一恒定速率向第一令牌桶中存放令牌;使用所述第一令牌桶中的令牌发送第一报文;其特征在于,所述方法还包括:将所述第一令牌桶中的剩余令牌注入到第二令牌桶中;以及使用所述第二令牌桶中的令牌发送第二报文。
[0005]在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,所述方法还包括:在将所述第一令牌桶中的剩余令牌注入到第二令牌桶中之前或同时,以第二恒定速率向第二令牌桶中存放令牌;在使用所述第二令牌桶中的令牌发送第二报文之后,将所述第二令牌桶中的剩余令牌注入到所述第一令牌桶中;以及使用所述第一令牌桶中的令牌发送第三报文。
[0006]在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第一报文的预期报文字节数大于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一令牌桶中的令牌字节数。应当指出的是,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第一报文的预期报文速率大于所述第一恒定速率(即流控速率)时,所述第一报文的实际报文速率就等于所述第一恒定速率(即流控速率)。
[0007]在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第一报文的预期报文字节数小于所述第一令牌桶中的令牌字节数时,所述第一报文的实际报文字节数等于所述第一报文的预期报文字节数。类似地,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第一报文的预期报文速率小于所述第一恒定速率(即流控速率)时,所述第一报文的实际报文速率就等于所述第一报文的预期报文速率。
[0008]在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第二报文的预期报文字节数大于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二令牌桶中的令牌字节数。应当指出的是,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第二报文的预期报文速率大于所述第二恒定速率(即流控速率)时,所述第二报文的实际报文速率就等于所述第二恒定速率(即流控速率)。
[0009]在上述具有带宽保障功能的级联令牌桶实现方法的优选实施方式中,当所述第二报文的预期报文字节数小于所述第二令牌桶中的令牌字节数时,所述第二报文的实际报文字节数等于所述第二报文的预期报文字节数。类似地,尽管上面使用的术语是“报文字节数”和“令牌字节数”,但是在实际应用中,由于令牌桶本身容量有限,令牌桶中的存量令牌仅在非常短的时间内(例如零点几秒内)会起到蓄水池式的缓冲作用,在绝大多数时间里,上述报文字节数和令牌字节数等同于报文速率和流控速率。换句话说,当所述第二报文的预期报文速率小于所述第二恒定速率(即流控速率)时,所述第二报文的实际报文速率就等于所述第二报文的预期报文速率。
[0010]本领域技术人员容易理解的是,与传统的令牌桶技术相比,本发明的方法使独立的令牌桶彼此互联,从而能够共享流控带宽,尤其在某些令牌桶的令牌数不足的情况下,能够明显提高流控策略应用的灵活性。
【附图说明】
[0011]图1是根据本发明的级联令牌桶实现方法的第一实施方式的流程图。
[0012]图2是根据本发明的级联令牌桶实现方法的第二实施方式的流程图。
[0013]图3是根据本发明的级联令牌桶实现方法的总流程图。
【具体实施方式】
[0014]下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。例如,尽管本申请是结合两个令牌桶来描述的,但是本领域技术人员能够理解的是,本发明的技术方案显然可以应用于两个以上的令牌桶,从而实现一个令牌桶与其他多个令牌桶的级联或者实现多个令牌桶与其他多个令牌桶的级联。这种改变并没有超出本发明的基本原理,因此也将落入本发明的保护范围之内。
[0015]首先参阅图1,该图是根据本发明的级联令牌桶实现方法的第一实施方式的流程图。如图1的左侧所示,在第一实施方式中,本发明的级联令牌桶实现方法包括下列步骤:以恒定速率(即,规定速度或流控速率)向A令牌桶中存放令牌;然后使用A令牌桶中的令牌发送A报文。本发明的方法的特征在于还包括:将A令牌桶中的多余令牌注入到B令牌桶中以及使用B令牌桶中的令牌发送B报文。
[0016]如A令牌桶的下方所示,当A报文的预期报文字节数大于A令牌桶中的令牌字节数时,则A报文的实际报文字
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1