CN101026561A - 一种令牌桶填充速率配置方法及其装置 - Google Patents
一种令牌桶填充速率配置方法及其装置 Download PDFInfo
- Publication number
- CN101026561A CN101026561A CNA200710002900XA CN200710002900A CN101026561A CN 101026561 A CN101026561 A CN 101026561A CN A200710002900X A CNA200710002900X A CN A200710002900XA CN 200710002900 A CN200710002900 A CN 200710002900A CN 101026561 A CN101026561 A CN 101026561A
- Authority
- CN
- China
- Prior art keywords
- token
- filling
- filled
- register
- configuration register
- 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.)
- Pending
Links
Images
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)
- Communication Control (AREA)
Abstract
本发明提出一种令牌桶填充速率配置方法及其装置,填充控制模块读取填充间隔配置寄存器存放的填充时间间隔,距前一次令牌填充时间到达填充时间间隔时,读取单次填充令牌配置寄存器和填充令牌格式配置寄存器的存放值,计算获得本次应该填充的令牌数,输出令牌填充有效标志和填充令牌数。采用本发明所述的装置和方法,可以让用户对令牌桶填充时间间隔、单次填充的令牌数以及单次填充令牌数的格式进行配置。通过这种配置组合,可以利用多个参数的改变灵活的地改变填充速率的大小和精度。另外,本发明装置结构简单,易于实现。
Description
技术领域
本发明涉及数据传输领域,特别涉及一种令牌桶填充速率的配置方法及其装置。
背景技术
令牌桶流量控制机制在数据传输领域的使用相当普遍,其原理是以一定的填充速率往令牌桶填充令牌数,然后将需要通过的报文长度与令牌桶的令牌数进行比较,如果令牌桶中的令牌数大于或等于报文长度,则允许报文通过,否则禁止报文通过,从而达到限制流量的目的。
在目前的设备和芯片中,采用固定周期填充法,即在固定的时间间隔向令牌桶填充一定的令牌数。单次填充的令牌数由用户配置,这种配置方法的缺点在于只能通过改变单次填充令牌数来改变填充速率,而且单次填充令牌数的配置范围也是固定不变的,配置不够灵活,对令牌填充速率大小和精度的改变带来很大限制。
发明内容
本发明要解决的技术问题是提供一种令牌桶填充速率配置方法及其装置,能对填充速率的大小和精度灵活配置。
一种令牌桶填充速率配置方法,包含如下步骤:
(a)读取填充时间间隔;
(b)距前一次令牌填充的时间到达填充时间间隔时,读取单次填充的令牌数;
(c)输出令牌填充有效标志和单次填充的令牌数,返回步骤(a)。
所述填充时间间隔和单次填充的令牌数由用户配置。
所述单次填充的令牌数通过配置一固定长度的寄存器和该寄存器的小数部分长度或整数部分长度而得到,所述寄存器的整数部分和小数部分一起构成单次填充的令牌数。
所述步骤(b)中由一计时器计时,计时器计时到达填充时间间隔后,读取单次填充的令牌数,所述步骤(c)中在返回步骤(a)前将计时器清零。
一种令牌桶填充速率配置装置,包含填充间隔配置寄存器,单次填充令牌配置寄存器,填充令牌格式配置寄存器,填充控制模块,其中:
所述填充间隔配置寄存器,用来存放两次填充令牌的时间间隔,即填充时间间隔;
所述单次填充令牌配置寄存器,用来存放单次填充的令牌数,包含小数部分和整数部分,其组合格式由填充令牌格式配置寄存器决定;
所述填充令牌格式配置寄存器,用于存放单次填充令牌配置寄存器的整数部分和小数部分的组合格式;
所述填充控制模块,用于根据上述填充间隔配置寄存器、单次填充令牌配置寄存器和填充令牌格式配置寄存器的参数产生令牌填充有效标志和填充令牌数。
所述填充控制模块读取填充间隔配置寄存器存放的填充时间间隔,距前一次令牌填充时间到达填充时间间隔时,读取单次填充令牌配置寄存器和填充令牌格式配置寄存器的存放值,计算获得本次应该填充的令牌数,输出令牌填充有效标志和填充令牌数。
所述填充控制模块中包含一内部计时器,用于对两次令牌填充的间隔进行计时,初始时和进行令牌填充后清零,开始计时,直到下次令牌填充后再次清零。
所述填充间隔配置寄存器、单次填充令牌配置寄存器和填充令牌格式配置寄存器由用户进行配置。
所述填充间隔配置寄存器外接一时钟信号,其时钟周期为填充时间间隔的时间单位。
所述填充令牌格式配置寄存器,存放单次填充令牌配置寄存器的整数部分长度或小数部分长度。
本发明可以让用户对令牌桶填充时间间隔、单次填充的令牌数以及单次填充令牌数的格式进行配置。通过这种灵活的配置组合,可以利用多个参数的改变来改变填充速率的大小和精度,解决现有技术存在的问题,而且本发明装置结构简单,易实现。
附图说明
图1本发明令牌桶填充速率配置装置的结构框图;
图2本发明令牌填充速率配置方法流程图。
具体实施方式
下面通过附图和实施例进一步说明本发明。
填充速率实际上是由单位时间内填充次数和单次填充的令牌数共同决定的,通过改变填充时间间隔,可以改变单位时间内填充的次数,单位时间内填充的次数不同,则可以得到不同的填充速率,而且填充时间间隔越小,可以得到越高的速率控制精度。如果能够比较灵活的控制着两个参数,则可以解决现有技术的缺点。
图1所示是本发明令牌桶填充速率配置装置的结构框图。主要包含填充间隔配置寄存器110,单次填充令牌配置寄存器120,填充令牌格式配置寄存器130和填充控制模块140,其中:
填充间隔配置寄存器110,用来存放两次填充令牌的时间间隔,填充间隔越小,单位时间内填充的次数越多,则令牌添加越快,填充速率就越高。填充时间间隔一般用整型数来表示,该寄存器的值可以由用户配置。
单次填充令牌配置寄存器120,用来存放单次填充的令牌数。单次填充令牌数由整数部分和小数部分组成,寄存器的总长度是一定的,但是整数部分和小数部分可以通过填充令牌格式配置寄存器130来配置,整数部分越长,则配置的值就可以越大,可以获得更高的填充速率。小数部分越长,则对流量限制就可以更加精确。该寄存器的值可以由用户配置。
填充令牌格式配置寄存器130:用来存放单次填充令牌配置寄存器120的整数部分和小数部分的组合格式。该寄存器的值表示单次填充令牌配置寄存器小数部分的长度,当然也可以是整数部分的长度。在控制速率等级比较大的数据流时,可以适当减少小数部分的长度,增加整数部分的长度。该寄存器的值可以由用户配置。
填充控制模块140:与填充间隔配置寄存器110,单次填充令牌配置寄存器120,填充令牌格式配置寄存器130相连,根据上述三个寄存器的参数控制产生令牌填充有效标志和填充令牌数,输出至令牌加法器。
所述填充控制模块140中包含一内部计时器,用于对两次令牌填充的间隔进行计时,初始时和进行令牌填充后清零,开始计时,直到下次令牌填充后再次清零。
所述填充控制模块140外接一时钟信号,其时钟周期为填充时间间隔的时间单位。该时钟信号可以为系统时钟。
当令牌填充标志有效时,令牌加法器向令牌桶添加令牌。令牌加法器将原来令牌桶当前令牌数和本次添加的令牌数相加,判断相加之后的和是否超过桶深,如果超过,则添加令牌后总的令牌数等于桶深,不超过,则等于相加之后的和。
图2是本发明令牌填充速率配置方法流程图,包含下述步骤:
步骤210,填充控制模块读取填充间隔配置寄存器,获得填充时间间隔;
步骤220,当距上一次令牌填充的时间到达填充时间间隔时,填充控制模块读取单次填充令牌配置寄存器和填充令牌格式配置寄存器,获得本次应该填充的令牌数,这里采用一个计时器进行计时,该计时器为填充控制模块中的内部计时器,初始时计时器清零;
步骤230,填充控制模块输出令牌填充有效标志和填充令牌数;
步骤240,将填充控制模块内部计时器清零,然后转到步骤210准备进行下一次填充。
下面给出一个本发明的一个应用实例。
用系统时钟周期来表示时间间隔单位,令牌以字节为单位来表示。在100MHz时钟下,提供10比特宽度的寄存器来配置填充间隔,17比特宽度的寄存器来配置单次填充令牌数,27比特宽度的寄存器来配置令牌桶容量,3比特宽度的寄存器来配置填充令牌格式,同时提供一个33位的寄存器来保存令牌桶的当前令牌数。
结合上面的技术方案,各模块进一步说明如下:
填充间隔配置寄存器:10比特宽寄存器,配置范围为1-1023。所以可配置的填充间隔时间范围为1-1023个时钟周期。
单次填充令牌配置寄存器:17比特宽寄存器。用来表示单次填充时往令牌桶添加的字节数。小数部分的长度由填充令牌格式配置寄存器中配置的值决定,所以具体配置需要和填充令牌格式配置寄存器结合起来使用。小数部分越短,则配置的最大值可以越大。
填充令牌格式配置寄存器:3比特宽寄存器。用来指示单次填充令牌配置寄存器和令牌桶当前令牌数寄存器小数部分的长度。可以配置为0-7,0表示没有小数部分。
填充控制模块:根据填充间隔配置寄存器配置的时间间隔,控制产生令牌填充标志,同时计算出单次填充的令牌数。
根据上面的分析,由于我们采用系统时钟周期数来表示两次填充的间隔时间,用字节数来表示单次填充的令牌数,所以可以得出填充速率的计算公式如下:
填充速率(bps)=(时钟频率/间隔周期)*填充字节数*8
根据上面的公式,在100M时钟频率下,如果将填充间隔配置寄存器设置为391,将填充令牌格式配置寄存器设置为6,则单次填充令牌配置寄存器可设置的最小值为二进制的0.000001,最大值为二进制的11111111111.111111,根据公式则可以计算出可配置的填充速率范围如下:
最小填充速率约等于32Kbps;
最大填充速率约等于3.9Gbps。
上面的计算,如果其他参数不改变的情况下,将将填充间隔配置寄存器设置为原来的两倍,即782,则根据公式可以计算出最小填充速率约等于16Kbps,可以看出精度提高到原来的两倍。
通过上面的计算,如果我们将填充间隔配置寄存器和/或填充令牌格式配置寄存器的配置值改变,可以使用户可配置的填充速率范围发生较大的改变,从而满足用户的不同需求。
Claims (10)
1、一种令牌桶填充速率配置方法,包含如下步骤:
(a)读取填充时间间隔;
(b)距前一次令牌填充的时间到达填充时间间隔时,读取单次填充的令牌数;
(c)输出令牌填充有效标志和单次填充的令牌数,返回步骤(a)。
2、如权利要求1所述的方法,其特征在于:所述填充时间间隔和单次填充的令牌数由用户配置。
3、如权利要求1所述的方法,其特征在于:所述单次填充的令牌数通过配置一固定长度的寄存器和该寄存器的小数部分长度或整数部分长度而得到,所述寄存器的整数部分和小数部分一起构成单次填充的令牌数。
4、如权利要求1所述的方法,其特征在于:所述步骤(b)中由一计时器计时,计时器计时到达填充时间间隔后,读取单次填充的令牌数,所述步骤(c)中在返回步骤(a)前将计时器清零。
5、一种令牌桶填充速率配置装置,包含填充间隔配置寄存器,单次填充令牌配置寄存器,填充令牌格式配置寄存器,填充控制模块,其中:
所述填充间隔配置寄存器,用来存放两次填充令牌的时间间隔,即填充时间间隔;
所述单次填充令牌配置寄存器,用来存放单次填充的令牌数,包含小数部分和整数部分,其组合格式由填充令牌格式配置寄存器决定;
所述填充令牌格式配置寄存器,用于存放单次填充令牌配置寄存器的整数部分和小数部分的组合格式;
所述填充控制模块,用于根据上述填充间隔配置寄存器、单次填充令牌配置寄存器和填充令牌格式配置寄存器的参数产生令牌填充有效标志和填充令牌数。
6、如权利要求5所述的令牌桶填充速率装置,其特征在于:所述填充控制模块读取填充间隔配置寄存器存放的填充时间间隔,距前一次令牌填充时间到达填充时间间隔时,读取单次填充令牌配置寄存器和填充令牌格式配置寄存器的存放值,计算获得本次应该填充的令牌数,输出令牌填充有效标志和填充令牌数。
7、如权利要求5或6所述的令牌桶填充速率装置,其特征在于:所述填充控制模块中包含一内部计时器,用于对两次令牌填充的间隔进行计时,初始时和进行令牌填充后清零,开始计时,直到下次令牌填充后再次清零。
8、如权利要求5所述的令牌桶填充速率装置,其特征在于:所述填充间隔配置寄存器、单次填充令牌配置寄存器和填充令牌格式配置寄存器由用户进行配置。
9、如权利要求5所述的令牌桶填充速率装置,其特征在于:所述填充间隔配置寄存器外接一时钟信号,其时钟周期为填充时间间隔的时间单位。
10、如权利要求5所述的令牌桶填充速率装置,其特征在于:所述填充令牌格式配置寄存器,存放单次填充令牌配置寄存器的整数部分长度或小数部分长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200710002900XA CN101026561A (zh) | 2007-02-09 | 2007-02-09 | 一种令牌桶填充速率配置方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA200710002900XA CN101026561A (zh) | 2007-02-09 | 2007-02-09 | 一种令牌桶填充速率配置方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101026561A true CN101026561A (zh) | 2007-08-29 |
Family
ID=38744473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200710002900XA Pending CN101026561A (zh) | 2007-02-09 | 2007-02-09 | 一种令牌桶填充速率配置方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101026561A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082693A (zh) * | 2011-02-15 | 2011-06-01 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
CN101778043B (zh) * | 2010-01-19 | 2012-07-25 | 华为技术有限公司 | 基于令牌桶算法的填充速率区间的划分方法和装置 |
WO2014071636A1 (zh) * | 2012-11-12 | 2014-05-15 | 华为技术有限公司 | 一种发送报文的方法和设备 |
CN103929366A (zh) * | 2014-04-02 | 2014-07-16 | 华为技术有限公司 | 流量控制方法、装置及设备 |
CN104580004A (zh) * | 2014-12-24 | 2015-04-29 | 盛科网络(苏州)有限公司 | 采用非整数令牌实现流量整形的装置及方法 |
WO2017211265A1 (zh) * | 2016-06-06 | 2017-12-14 | 中兴通讯股份有限公司 | 限速方法及装置、存储介质 |
CN107948090A (zh) * | 2017-11-23 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种Ceph存储集群卷的带宽控制方法及装置 |
CN107959635A (zh) * | 2017-11-23 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种基于令牌桶算法的iops控制方法及装置 |
CN110955644A (zh) * | 2019-11-24 | 2020-04-03 | 浪潮电子信息产业股份有限公司 | 一种存储系统的io控制方法、装置、设备及存储介质 |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
-
2007
- 2007-02-09 CN CNA200710002900XA patent/CN101026561A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778043B (zh) * | 2010-01-19 | 2012-07-25 | 华为技术有限公司 | 基于令牌桶算法的填充速率区间的划分方法和装置 |
WO2012109911A1 (zh) * | 2011-02-15 | 2012-08-23 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
CN102082693A (zh) * | 2011-02-15 | 2011-06-01 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
CN102082693B (zh) * | 2011-02-15 | 2015-05-20 | 中兴通讯股份有限公司 | 网络流量监管方法及装置 |
WO2014071636A1 (zh) * | 2012-11-12 | 2014-05-15 | 华为技术有限公司 | 一种发送报文的方法和设备 |
CN103929366B (zh) * | 2014-04-02 | 2017-07-07 | 华为技术有限公司 | 流量控制方法、装置及设备 |
CN103929366A (zh) * | 2014-04-02 | 2014-07-16 | 华为技术有限公司 | 流量控制方法、装置及设备 |
CN104580004B (zh) * | 2014-12-24 | 2017-12-01 | 盛科网络(苏州)有限公司 | 采用非整数令牌实现流量整形的装置及方法 |
CN104580004A (zh) * | 2014-12-24 | 2015-04-29 | 盛科网络(苏州)有限公司 | 采用非整数令牌实现流量整形的装置及方法 |
WO2017211265A1 (zh) * | 2016-06-06 | 2017-12-14 | 中兴通讯股份有限公司 | 限速方法及装置、存储介质 |
CN107948090A (zh) * | 2017-11-23 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种Ceph存储集群卷的带宽控制方法及装置 |
CN107959635A (zh) * | 2017-11-23 | 2018-04-24 | 郑州云海信息技术有限公司 | 一种基于令牌桶算法的iops控制方法及装置 |
CN107948090B (zh) * | 2017-11-23 | 2021-04-30 | 郑州云海信息技术有限公司 | 一种Ceph存储集群卷的带宽控制方法及装置 |
CN107959635B (zh) * | 2017-11-23 | 2021-04-30 | 郑州云海信息技术有限公司 | 一种基于令牌桶算法的iops控制方法及装置 |
CN110955644A (zh) * | 2019-11-24 | 2020-04-03 | 浪潮电子信息产业股份有限公司 | 一种存储系统的io控制方法、装置、设备及存储介质 |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
CN111404836B (zh) * | 2020-03-30 | 2023-09-12 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101026561A (zh) | 一种令牌桶填充速率配置方法及其装置 | |
Muttersbach et al. | Practical design of globally-asynchronous locally-synchronous systems | |
CN101051300B (zh) | 数据接口校准 | |
CN102576303B (zh) | 伪同步时分复用 | |
WO2012109911A1 (zh) | 网络流量监管方法及装置 | |
CN107743099B (zh) | 数据流处理方法、装置以及存储介质 | |
US9933809B2 (en) | Automatic data rate matching | |
EP2432170A1 (en) | A token bucket based data packet traffic shapping device | |
WO2009078398A1 (ja) | トークンバケットを用いたバッファ装置及びその制御方法 | |
CN102387076A (zh) | 一种结合整形的分级式队列调度方法 | |
CN100380898C (zh) | 从sts/stm净荷数据部分将ds-3和/或e3信号去同步的方法和设备 | |
WO2020142867A1 (zh) | 一种流量整形方法及相关设备 | |
CN1614939A (zh) | 一种时延测试的实现方法 | |
CN107256200A (zh) | 一种多种edid数据选择性输出的系统及方法 | |
CN101136628B (zh) | 一种实现数据去抖动的数字电路装置 | |
CN101534186B (zh) | 实现从以太网信号中提取时钟的数字平滑电路及方法 | |
CN104158538B (zh) | 波特率生成方法、波特率发生器及通信设备 | |
CN104994034B (zh) | 一种合并单元点对点sv报文的收发方法 | |
CN104331266B (zh) | 一种实现任意数据位宽转换的方法和装置 | |
CN106850456A (zh) | 令牌桶流速限制器 | |
CN100512008C (zh) | 一种累加分频器 | |
CN100338902C (zh) | 分组网络中恢复定时信息的方法和设备 | |
CN104391817A (zh) | 与外围设备同步的电子系统 | |
CN105701055B (zh) | 电子装置及其数据传输方法 | |
CN101771606A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070829 |