CN104734989A - 基于令牌桶的数据传输流量调度方法及其系统 - Google Patents
基于令牌桶的数据传输流量调度方法及其系统 Download PDFInfo
- Publication number
- CN104734989A CN104734989A CN201310716789.6A CN201310716789A CN104734989A CN 104734989 A CN104734989 A CN 104734989A CN 201310716789 A CN201310716789 A CN 201310716789A CN 104734989 A CN104734989 A CN 104734989A
- Authority
- CN
- China
- Prior art keywords
- token
- bucket
- generic tokens
- generating rate
- shared
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于令牌桶的数据传输调度方法及其系统,对各个调度实体设置普通令牌桶,并设置各个调度实体共用的共享令牌桶。所述普通令牌桶记录分配给对应的调度实体的令牌数,当所述普通令牌桶空闲时,通过所述普通令牌桶和所述共享令牌桶的令牌生成速率的调整,将所述普通令牌桶的令牌生成速率转移到所述共享令牌桶的令牌生成速率中叠加;当所述普通令牌桶不空闲时,将转移到所述共享令牌桶的令牌生成速率再转回到所述普通令牌桶,不需要计算溢出的令牌数。因此所述共享令牌桶可以分配各个调度实体的空闲带宽资源,且不需要设置定时器来计算所述一般令牌桶溢出的令牌,大大减少了普通令牌桶设置定时器的计算量,降低对处理资源的消耗。
Description
技术领域
本发明涉及数据传输的技术领域,特别是涉及一种基于令牌桶的数据传输流量调度方法,以及一种基于令牌桶的数据传输流量调度系统。
背景技术
令牌桶算法是网络流量整形和速率限制中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目。
令牌桶这种控制机制基于令牌桶中是否存在令牌来指示什么时候可以发送流量。如果令牌桶中存在令牌,则允许发送流量;而如果令牌桶中不存在令牌,则不允许发送流量。
在多个调度单元共享带宽资源的情况下,使用令牌桶控制机制对每个调度单元进行限速可以改善隔离性,避免某个调度单元占用过多的资源而使其他单元的资源得不到保证。
但是当部分调度单元并没有用尽其对应的令牌配额,或者根本就空闲的情况下,分配给这些调度单元的令牌配额,并不能被其他调度单元所利用。从而造成一部分资源的闲置和资源利用率的低下。
为了既能在调度单元有需求的时候保证其令牌配额的使用,又能在某些调度单元的令牌配额有空闲时,能够分配给其他需要的单元使用,目前有两种方案实现。分别为:
分层令牌桶(Hierarchical Token Bucket,HTB),是在多个调度单元各自的令牌桶之上,还设置有一个速率为系统总带宽的根令牌桶。每个报文,既要消耗各调度单元自己令牌桶的令牌,还要消耗同样数量的根令牌桶的令牌。也就是说,每个报文即要穿个一个调度单元的令牌桶,还要穿过根令牌桶。如果根令牌桶令牌不足,则暂时不能让任何报文通过。如果根令牌桶有足够的令牌,则优先选择令牌充足的非空队列,然后选择令牌不足的非空队列。这时的效果,就是这些令牌不足的队列,在超额使用系统中空闲的资源。
而另一种方法是将调度实体的令牌桶满溢出的令牌,留存在一个共享令牌池,供需要超额占用空闲资源的调度实体使用。
其基本思想是:空闲或者流量不足其令牌配额的调度单元,其令牌桶消耗令牌的速率低于令牌生成速率,令牌桶中的令牌会超过令牌桶的深度而溢出。溢出的令牌,不是丢弃,而是留存起来供其他调度单元使用。为了防止无限累积溢出的令牌,这些溢出的令牌也是储存在一个具有固定深度的共享令牌桶(shared token bucket)中。
普通令牌桶算法,是在有报文需要通过令牌桶的时候,才去计算新生成的令牌。而在上述方法中,要将溢出的令牌储存在共享令牌桶,就需要通过定时器来定期计算每个空闲的令牌桶生产的令牌,并将其储存到共享令牌桶中。
定时器的目的是为了在指定的时间触发异步事件,执行指定的回调函数。比如对于一个令牌桶,产生令牌的速率是2000000/秒(20M),令牌桶的深度是2000(2k),那么就需要启动周期为0.1毫秒的定时器,每0.1毫秒去更新(或转移)一次令牌数量,也就是每秒触发1万次计算,这将消耗大量的处理资源。而且,这还只是一个令牌桶的情况,如果系统中有几十或者几百个令牌桶,那造成的处理资源的消耗将会大大增加。
发明内容
针对现有基于令牌桶的资源调度方法对处理资源的消耗大的问题,本发明提出一种基于令牌桶的数据传输调度方法,不需要对每个调度实体的令牌桶设置定时器来转移溢出的令牌,降低对处理资源的消耗。
一种基于令牌桶的数据传输调度方法,包括以下步骤:
对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;
如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一初始令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
本发明还提供一种降低对处理资源的消耗的基于令牌桶的数据传输调度系统。
一种基于令牌桶的数据传输调度系统,包括:
配置模块,用于对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
调度模块,用于如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一初始令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
本发明提供了一种基于令牌桶的数据传输调度方法及其系统,对各个调度实体设置普通令牌桶,并设置各个调度实体共用的共享令牌桶。所述普通令牌桶记录分配给对应的调度实体的令牌数,当所述普通令牌桶满足预设的空闲条件时,通过所述普通令牌桶和所述共享令牌桶的令牌生成速率的调整,将所述普通令牌桶的令牌生成速率转移到所述共享令牌桶的令牌生成速率中叠加;当所述普通令牌桶不空闲时,将转移到所述共享令牌桶的令牌生成速率再转回到所述普通令牌桶,恢复所述普通令牌桶的令牌生成速率。
因此所述共享令牌桶可以分配各个调度实体的空闲带宽资源,并且,因为所述一般令牌桶的令牌生成速率调整为0,所以不需要设置定时器来计算所述一般令牌桶溢出的令牌,只需要在需要使用共享令牌桶中的令牌时,根据所述共享令牌桶的令牌生成速率计算所述共享令牌桶的令牌数即可。大大减少了普通令牌桶设置定时器的计算量,降低对处理资源的消耗。
附图说明
图1是本发明基于令牌桶的数据传输调度方法的流程示意图;
图2是本发明基于令牌桶的数据传输调度方法处理带传输报文的流程示意图;
图3是本发明基于令牌桶的数据传输调度系统第一实施方式的结构示意图;
图4是本发明基于令牌桶的数据传输调度系统第二实施方式的结构示意图。
具体实施方式
请参阅图1,图1是本发明基于令牌桶的数据传输调度方法的流程示意图。
所述基于令牌桶的数据传输调度方法,包括以下步骤:
S102,对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
S104,如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;
S106,如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一初始令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
本发明提供了一种基于令牌桶的数据传输调度方法,对各个调度实体设置普通令牌桶,并设置各个调度实体共用的共享令牌桶。所述普通令牌桶记录分配给对应的调度实体的令牌数,当所述普通令牌桶满足预设的空闲条件时,通过所述普通令牌桶和所述共享令牌桶的令牌生成速率的调整,将所述普通令牌桶的令牌生成速率转移到所述共享令牌桶的令牌生成速率中叠加;当所述普通令牌桶不空闲时,将转移到所述共享令牌桶的令牌生成速率再转回到所述普通令牌桶,恢复所述普通令牌桶的令牌生成速率。
因此所述共享令牌桶可以分配各个调度实体的空闲带宽资源,并且,因为所述一般令牌桶的令牌生成速率调整为0,所以不需要设置定时器来计算所述一般令牌桶溢出的令牌,只需要在需要使用共享令牌桶中的令牌时,根据所述共享令牌桶的令牌生成速率计算所述共享令牌桶的令牌数即可。大大减少了普通令牌桶设置定时器的计算量,降低对处理资源的消耗。
其中,所述调度实体为系统中各个传输数据的实体,假设系统中有共享的总带宽资源R,和若干个调度实体(记为S1,S2,…Sn),为这些调度实体指定的保证带宽是BW1,BW2,…BWn。其中 是尚未分配的带宽,记为BWreserved。(BWreserved≥0)。
在步骤S102中,为每个调度实体Si创建普通令牌桶TBi,其具有第一初始令牌生成速率Ri=BWi,令牌桶深度为DEEPi(常数或通过计算得到,在该普通令牌桶生命周期内一般不再变化),所述普通令牌桶中的令牌数为TOKENi(初始化为零),所述普通令牌桶的更新时间为LASTi(初始化为当前时间)。
并且,创建一个令牌桶TP作为各个所述调度实体共用的共享令牌桶,其令牌生成速率Rp初始化为第二初始令牌生成速率BWreserved,所述共享令牌桶的令牌数为TOKENp,所述共享令牌桶的更新时间为LASTp。所述共享令牌桶存放普通令牌桶的令牌由所述共享令牌桶的令牌生成速率以及各个令牌生成速率说对应的持续时间计算得到,其最多存放的令牌数,由所述共享令牌桶TP的深度所限定。
然后,对各个所述普通令牌桶进行监控,判断各个所述普通令牌桶当前时刻处于空闲状态或者非空闲状态。其中,在空闲状态下,所述普通令牌桶满足预设的空闲条件;在非空闲状态下,所述普通令牌桶满足预设的非空闲条件。
所述空闲条件和所述非空闲条件可以根据调度需求设定,例如在一个实施方式中,可设置当所述普通令牌桶中的令牌数等于预设的令牌桶深度时,判断所述普通令牌桶满足预设的空闲条件。
为准确监控所述普通令牌桶中的令牌数等于预设的令牌桶深度的时间,可对每个新设置的普通令牌桶TBi,以及更新令牌数之后的普通令牌桶启动一个定时器TIMERi,所述定时器TIMERi到期的时间为:(DEEPi–TOKENi)/BWi,其中,所述DEEPi为所述普通令牌桶的令牌桶深度,TOKENi为所述普通令牌桶中的令牌数,BWi为所述第一初始令牌生成速率。亦即,在所述普通令牌桶中的令牌数等于其令牌桶深度时,所述定时器TIMERi到期,判断所述普通令牌桶满足预设的空闲条件。
在一个实施方式中,所述非空闲条件可以为所述普通令牌桶的令牌数小于其令牌桶深度。
在另一个实施方式中,可在接收到达所述调度实体的待传输数据时,判断所述普通令牌桶满足预设的非空闲条件。
在步骤S104中,如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,亦即,不再计算空闲的所述普通令牌桶生成的令牌数,无需设置定时器。并同时将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。相当于执行以下运算:Rp+=BWi;Ri=0。
通过上述方式,将当前时刻满足预设的空闲条件的所述普通令牌桶的令牌生成速率转移到所述共享令牌桶,可以在需要调用所述共享令牌桶的时候,根据所述共享令牌桶的令牌生成速率计算当前时刻的令牌数,然后根据需要调用。亦即,所述共享令牌桶同样无需通过定时器刷新其令牌数,可以大大减少定时器占用的处理资源。
在步骤S106中,如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率重新设置为所述第一令牌生成速率,所述普通令牌桶的令牌数以所述第一令牌生成速率生成积累。同时将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。相当于执行以下运算:Rp=Rp-BWi;Ri=BWi。
即将所述满足非空闲条件的所述普通令牌桶对应的第一初始令牌生成速率从所述共享令牌桶当前的令牌生成速率中减去,降低所述共享令牌桶的令牌生成速率。所述普通令牌桶和所述共享令牌桶产生的总令牌速率和总令牌数不变,不会超出系统总带宽,并提高总令牌数的利用率。
本发明相当于把普通令牌桶抽象为一个令牌生成器和一个令牌容器组成。当普通令牌桶满的时候,不需要启动定时器来定期将溢出的令牌转移到共享令牌桶,而是将该普通令牌桶的令牌生成器转移到共享令牌桶。当该普通令牌桶对应的队列不再空闲时,再把令牌生成器转移回来。所述共享令牌桶的令牌生成速率,就是其初始令牌生成速率和其所托管的令牌生成器的速率的总和。所述共享令牌桶也不需要定时器主动计算生产的令牌。而是在需要时(例如当某个普通令牌桶的令牌不足以转发当前数据报文,到共享令牌同获取令牌时),进行新增令牌数的计算。解决了空闲的普通令牌桶需要定时器不断更新令牌数的问题,有效降低了大量高频度重复定时器事件带来的计算资源消耗。
在一个实施方式中,在每一次所述共享令牌桶的令牌生成速率更新时,都更新所述共享令牌桶的令牌数。具体方法为:
获取更新之前所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;
将所述共享令牌桶的新增令牌数和所述共享令牌桶的令牌数上一次更新时的取值相加,获得所述共享令牌桶的令牌数。
例如所述共享令牌桶TP的令牌生成速率初始化为所述第二初始令牌生成速率,在T时刻,普通令牌桶TB1的定时器TIMER1到期,所述普通令牌桶TB1的令牌数TOKEN1等于其令牌桶深度DEEP1,所述普通令牌桶TB1满足预设的空闲条件,则将所述普通令牌桶TB1的令牌生成速率从所述第一初始令牌生成速率BW1调整为0,而所述共享令牌桶TP的令牌生成速率Rp更新为所述第一初始令牌生成速率BWi和所述第二初始令牌生成速率BWreserved之和。同时,将所述普通令牌桶的更新时间LASTp更新为当前时间。
并且,在所述共享令牌桶的令牌生成速率更新的当前时刻,对所述共享令牌桶的令牌数进行计算,计算方法为所述共享令牌的令牌数上一次更新时的取值,加上当前时刻与上一次更新的时刻之间的时间段内以所述第二初始令牌生成速率生成的新增令牌数。
请参阅图2,图2是本发明基于令牌桶的数据传输调度方法处理带传输报文的流程示意图。
所述基于令牌桶的数据传输调度方法处理带传输报文的流程包括:
S202,接收到达所述调度实体的待传输数据,获取与所述调度实体对应的普通令牌桶的令牌数,并判断所述普通令牌桶的令牌数是否足够传输所述待传输数据;
S204,如果足够,则使用所述普通令牌桶的令牌传输所述待传输数据;
S206,如果不足够,则计算所述共享令牌桶的令牌数,使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
通过上述方法,在接收到达所述调度实体的待传输数据时,首先调用与所述调度实体对应的普通令牌桶的令牌传输所述待传输数据,如果所述普通令牌桶的令牌数不足,则进一步计算所述共享令牌桶的令牌数,调用所述共享令牌桶的令牌处理所述待传输数据,可以方便地实现系统资源的最大调配,并且由于所述普通令牌桶不需要设置高频的定时器定时计算其溢出令牌数,所述共享令牌桶也无需设置定时器,只有在需要更新令牌数时才会根据对应的令牌生成速率计算令牌数,避免令牌桶
在上述步骤S202中,在接收到达所述调度实体的待传输数据时,首先获取所述调度实体对应的普通令牌桶的令牌数,具体可通过以下方式实现:
根据当前时刻所述普通令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述普通令牌桶的新增令牌数;
将所述普通令牌桶的新增令牌数和所述普通令牌桶的原有令牌数相加,获得所述普通令牌桶的令牌数。
即如果调度实体Si有报文到达,根据当前时间和所述普通令牌桶最后一次更新时间LASTi,以及所述调度实体Si的令牌生成速率,计算所述普通令牌桶的新增令牌数,然后将其与最后一次更新时间的原有令牌数相加:
TOKENi+=(当前时间-LASTi)*Ri;
如果所述普通令牌桶的令牌生成速率Ri为0,则所述新增令牌数为0,其令牌数等于最后一次更新时间的原有令牌数。
如果所述普通令牌桶的令牌生成速率Ri等于所述第一初始令牌生成速率BWi,则令牌数:TOKENi+=(当前时间-LASTi)*BWi。
同时,将所述普通令牌桶的更新时间更新为当前时间。
然后,判断所述普通令牌桶的令牌数是否足够传输所述待传输数据,如果足够则直接使用所述普通令牌桶的令牌处理所述待传输数据。
如果不足够,则需要触发计算所述共享令牌桶的令牌数。具体的计算方式类似,包括:
根据当前时刻所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;
将所述共享令牌桶的新增令牌数和所述共享令牌桶的原有令牌数相加,获得所述共享令牌桶的令牌数。
然后使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
在一种实施方式中,在使用所述普通令牌桶和所述共享令牌桶的令牌传输所述数据的步骤之前,可进一步判断所述普通令牌桶和所述共享令牌桶的令牌数之和是否足够传输所述待传输数据,如果足够,则使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据,否则,启动延时定时器,在所述延时定时器到期后再使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
使用所述普通令牌桶和/或所述共享令牌桶的令牌传输所述待传输数据的步骤包括:
将所述普通令牌桶和/或所述共享令牌桶的令牌数减去传输所述待传输数据消耗的令牌数,并执行所述待传输数据的传输。
在所述普通令牌桶的令牌数更新之后,将所述普通令牌桶的更新时间设置为当前时间,同时启动定时器TIMERi,所述定时器TIMERi到期的时间为:(DEEPi–TOKENi)/BWi,在所述定时器TIMERi到期时重新触发令牌生成速率的转移。
在一个实施方式中,在更新共享令牌桶的令牌数之后,判断所述共享令牌桶的令牌数是否超过其预设的令牌桶深度,如果超过,则将所述共享令牌桶的令牌数设置为等于所述预设的令牌桶深度,即实现所述共享令牌桶的令牌数对齐其令牌桶深度。
上述对齐令牌桶深度的操作可以在待传输数据到达后更新所述共享令牌的令牌数之后进行,也可以在待传输数据处理后,更新所述共享令牌的令牌数之后进行。
在实际应用场景中,共享带宽资源的调度实体,绝大部分都不会一直满负荷使用分配的带宽。而是繁忙和空闲交替出现。本发明的基于令牌桶的数据传输调度方法中,当一个调度实体空闲时,将其令牌生成速率转移到共享令牌桶,避免了在很长的空闲期间都需要通过高频度的定时器来反复计算和转移溢出的令牌,所有空闲调度实体的令牌生成速率,合并到共享令牌桶的令牌生成速率,统一在需要时进行令牌数量的计算,节约了计算资源。
请参阅图3,图3是本发明基于令牌桶的数据传输调度系统第一实施方式的结构示意图。
所述基于令牌桶的数据传输调度系统,包括:
配置模块10,用于对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
调度模块20,用于如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
本发明的基于令牌桶的数据传输调度系统,对各个调度实体设置普通令牌桶,并设置各个调度实体共用的共享令牌桶。所述普通令牌桶记录分配给对应的调度实体的令牌数,当所述普通令牌桶满足预设的空闲条件时,通过所述普通令牌桶和所述共享令牌桶的令牌生成速率的调整,将所述普通令牌桶的令牌生成速率转移到所述共享令牌桶的令牌生成速率中叠加;当所述普通令牌桶不空闲时,将转移到所述共享令牌桶的令牌生成速率再转回到所述普通令牌桶,恢复所述普通令牌桶的令牌生成速率。
因此所述共享令牌桶可以分配各个调度实体的空闲带宽资源,并且,因为所述一般令牌桶的令牌生成速率调整为0,所以不需要设置定时器来计算所述一般令牌桶溢出的令牌,只需要在需要使用共享令牌桶中的令牌时,根据所述共享令牌桶的令牌生成速率计算所述共享令牌桶的令牌数即可。大大减少了普通令牌桶设置定时器的计算量,降低对处理资源的消耗。
其中,所述调度实体为系统中各个传输数据的实体,假设系统中有共享的总带宽资源R,和若干个调度实体(记为S1,S2,…Sn),为这些调度实体指定的保证带宽是BW1,BW2,…BWn。其中 是尚未分配的带宽,记为BWreserved。(BWreserved≥0)。
所述配置模块10为每个调度实体Si创建普通令牌桶TBi,其具有第一初始令牌生成速率Ri=BWi,令牌桶深度为DEEPi(常数或通过计算得到,在该普通令牌桶生命周期内一般不再变化),所述普通令牌桶中的令牌数为TOKENi(初始化为零),所述普通令牌桶的更新时间为LASTi(初始化为当前时间)。
并且,所述配置模块10创建一个令牌桶TP作为各个所述调度实体共用的共享令牌桶,其令牌生成速率Rp初始化为第二初始令牌生成速率BWreserved,所述共享令牌桶的令牌数为TOKENp,所述共享令牌桶的更新时间为LASTp。所述共享令牌桶存放普通令牌桶的令牌由所述共享令牌桶的令牌生成速率以及各个令牌生成速率说对应的持续时间计算得到,其最多存放的令牌数,由所述共享令牌桶TP的深度所限定。
然后,所述调度模块20对各个所述普通令牌桶进行监控,判断各个所述普通令牌桶当前时刻处于空闲状态或者非空闲状态。其中,在空闲状态下,所述普通令牌桶满足预设的空闲条件;在非空闲状态下,所述普通令牌桶满足预设的非空闲条件。
所述空闲条件和所述非空闲条件可以根据调度需求设定,例如在一个实施方式中,可设置当所述普通令牌桶中的令牌数等于预设的令牌桶深度时,判断所述普通令牌桶满足预设的空闲条件。
为准确监控所述普通令牌桶中的令牌数等于预设的令牌桶深度的时间,所述调度模块20可对每个新设置的普通令牌桶TBi,以及更新令牌数之后的普通令牌桶启动一个定时器TIMERi,所述定时器TIMERi到期的时间为:(DEEPi–TOKENi)/BWi,其中,所述DEEPi为所述普通令牌桶的令牌桶深度,TOKENi为所述普通令牌桶中的令牌数,BWi为所述第一初始令牌生成速率。亦即,在所述普通令牌桶中的令牌数等于其令牌桶深度时,所述定时器TIMERi到期,判断所述普通令牌桶满足预设的空闲条件。
在一个实施方式中,所述非空闲条件可以为所述普通令牌桶的令牌数小于其令牌桶深度。
在另一个实施方式中,可所述调度模块20在接收到达所述调度实体的待传输数据时,判断所述普通令牌桶满足预设的非空闲条件。
如果所述普通令牌桶满足预设的空闲条件,则所述调度模块20将所述普通令牌桶的令牌生成速率设置为零,亦即,不再计算空闲的所述普通令牌桶生成的令牌数,无需设置定时器。并同时将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。相当于执行以下运算:Rp+=BWi;Ri=0。
通过上述方式,将当前时刻满足预设的空闲条件的所述普通令牌桶的令牌生成速率转移到所述共享令牌桶,可以在需要调用所述共享令牌桶的时候,根据所述共享令牌桶的令牌生成速率计算当前时刻的令牌数,然后根据需要调用。亦即,所述共享令牌桶同样无需通过定时器刷新其令牌数,可以大大减少定时器占用的处理资源。
如果所述普通令牌桶满足预设的非空闲条件,则所述调度模块20将所述普通令牌桶的令牌生成速率重新设置为所述第一令牌生成速率,所述普通令牌桶的令牌数以所述第一令牌生成速率生成积累。同时将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。相当于执行以下运算:Rp=Rp-BWi;Ri=BWi。
即将所述满足非空闲条件的所述普通令牌桶对应的第一初始令牌生成速率从所述共享令牌桶当前的令牌生成速率中减去,降低所述共享令牌桶的令牌生成速率。所述普通令牌桶和所述共享令牌桶产生的总令牌速率和总令牌数不变,不会超出系统总带宽,并提高总令牌数的利用率。
本发明相当于把普通令牌桶抽象为一个令牌生成器和一个令牌容器组成。当普通令牌桶满的时候,不需要启动定时器来定期将溢出的令牌转移到共享令牌桶,而是将该普通令牌桶的令牌生成器转移到共享令牌桶。当该普通令牌桶对应的队列不再空闲时,再把令牌生成器转移回来。所述共享令牌桶的令牌生成速率,就是其初始令牌生成速率和其所托管的令牌生成器的速率的总和。所述共享令牌桶也不需要定时器主动计算生产的令牌。而是在需要时(例如当某个普通令牌桶的令牌不足以转发当前数据报文,到共享令牌同获取令牌时),进行新增令牌数的计算。解决了空闲的普通令牌桶需要定时器不断更新令牌数的问题,有效降低了大量高频度重复定时器事件带来的计算资源消耗。
在一个实施方式中,所述调度模块20在每一次所述共享令牌桶的令牌生成速率更新时,都更新所述共享令牌桶的令牌数。
即,所述调度模块20还用于在所述共享令牌桶的令牌生成速率更新时,获取更新之前所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;将所述共享令牌桶的新增令牌数和所述共享令牌桶的令牌数上一次更新时的取值相加,获得所述共享令牌桶的令牌数。
例如所述共享令牌桶TP的令牌生成速率初始化为所述第二初始令牌生成速率,在T时刻,普通令牌桶TB1的定时器TIMER1到期,所述普通令牌桶TB1的令牌数TOKEN1等于其令牌桶深度DEEP1,所述普通令牌桶TB1满足预设的空闲条件,则将所述普通令牌桶TB1的令牌生成速率从所述第一初始令牌生成速率BW1调整为0,而所述共享令牌桶TP的令牌生成速率Rp更新为所述第一初始令牌生成速率BWi和所述第二初始令牌生成速率BWreserved之和。同时,将所述普通令牌桶的更新时间LASTp更新为当前时间。
并且,在所述共享令牌桶的令牌生成速率更新的当前时刻,对所述共享令牌桶的令牌数进行计算。
请参阅图4,图4是本发明基于令牌桶的数据传输调度系统的第二实施方式的结构示意图。
与第一实施方式相比,本实施方式的所述基于令牌桶的数据传输调度系统主要的区别在于还包括:
接收处理模块30,用于接收到达所述调度实体的待传输数据,获取与所述调度实体对应的普通令牌桶的令牌数,并判断所述普通令牌桶的令牌数是否足够传输所述待传输数据;
以及,传输处理模块40,用于如果足够,则使用所述普通令牌桶的令牌传输所述待传输数据;如果不足够,则计算所述共享令牌桶的令牌数,使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
本实施方式的基于令牌桶的数据传输调度系统在接收到达所述调度实体的待传输数据时,首先调用与所述调度实体对应的普通令牌桶的令牌传输所述待传输数据,如果所述普通令牌桶的令牌数不足,则进一步计算所述共享令牌桶的令牌数,调用所述共享令牌桶的令牌处理所述待传输数据,可以方便地实现系统资源的最大调配,并且由于所述普通令牌桶不需要设置高频的定时器定时计算其溢出令牌数,所述共享令牌桶也无需设置定时器,只有在需要更新令牌数时才会根据对应的令牌生成速率计算令牌数,避免令牌桶
所述接收处理模块30在接收到达所述调度实体的待传输数据时,首先获取所述调度实体对应的普通令牌桶的令牌数,具体地:
所述接收处理模块30根据当前时刻所述普通令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述普通令牌桶的新增令牌数;将所述普通令牌桶的新增令牌数和所述普通令牌桶的原有令牌数相加,获得所述普通令牌桶的令牌数。
即如果调度实体Si有报文到达,所述接收处理模块30根据当前时间和所述普通令牌桶最后一次更新时间LASTi,以及所述调度实体Si的令牌生成速率,计算所述普通令牌桶的新增令牌数,然后将其与最后一次更新时间的原有令牌数相加:
TOKENi+=(当前时间-LASTi)*Ri;
如果所述普通令牌桶的令牌生成速率Ri为0,则所述新增令牌数为0,其令牌数等于最后一次更新时间的原有令牌数。
如果所述普通令牌桶的令牌生成速率Ri等于所述第一初始令牌生成速率BWi,则令牌数:TOKENi+=(当前时间-LASTi)*BWi。
同时,将所述普通令牌桶的更新时间更新为当前时间。
然后,所述接收处理模块30判断所述普通令牌桶的令牌数是否足够传输所述待传输数据。
如果足够则所述传输处理模块40直接使用所述普通令牌桶的令牌处理所述待传输数据。
如果不足够,则需要所述传输处理模块40触发计算所述共享令牌桶的令牌数。所述传输处理模块40根据当前时刻所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;将所述共享令牌桶的新增令牌数和所述共享令牌桶的原有令牌数相加,获得所述共享令牌桶的令牌数,然后使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
在一种实施方式中,所述传输处理模块40在使用所述普通令牌桶和所述共享令牌桶的令牌传输所述数据之前,可进一步判断所述普通令牌桶和所述共享令牌桶的令牌数之和是否足够传输所述待传输数据,如果足够,则使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据,否则,启动延时定时器,在所述延时定时器到期后再使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
所述传输处理模块40在使用所述普通令牌桶和/或所述共享令牌桶的令牌传输所述待传输数据时,将所述普通令牌桶和/或所述共享令牌桶的令牌数减去传输所述待传输数据消耗的令牌数,并执行所述待传输数据的传输。
并且在所述普通令牌桶的令牌数更新之后,可将所述普通令牌桶的更新时间设置为当前时间,同时启动定时器TIMERi,所述定时器TIMERi到期的时间为:(DEEPi–TOKENi)/BWi,在所述定时器TIMERi到期时重新触发令牌生成速率的转移。
在一个实施方式中,所述传输处理模块40在更新共享令牌桶的令牌数之后,判断所述共享令牌桶的令牌数是否超过其预设的令牌桶深度,如果超过,则将所述共享令牌桶的令牌数设置为等于所述预设的令牌桶深度,即实现所述共享令牌桶的令牌数对齐其令牌桶深度。
上述对齐令牌桶深度的操作可以在待传输数据到达后更新所述共享令牌的令牌数之后进行,也可以在待传输数据处理后,更新所述共享令牌的令牌数之后进行。
在实际应用场景中,共享带宽资源的调度实体,绝大部分都不会一直满负荷使用分配的带宽。而是繁忙和空闲交替出现。本发明的基于令牌桶的数据传输调度方法中,当一个调度实体空闲时,将其令牌生成速率转移到共享令牌桶,避免了在很长的空闲期间都需要通过高频度的定时器来反复计算和转移溢出的令牌,所有空闲调度实体的令牌生成速率,合并到共享令牌桶的令牌生成速率,统一在需要时进行令牌数量的计算,节约了计算资源。
本领域普通技术人员可以理解实现上述实施方式中的全部或部分流程,以及对应的系统,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各实施方式的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (18)
1.一种基于令牌桶的数据传输调度方法,其特征在于,包括以下步骤:
对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;
如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
2.如权利要求1所述的基于令牌桶的数据传输调度方法,其特征在于,还包括以下步骤:
当所述普通令牌桶中的令牌数等于预设的令牌桶深度时,判断所述普通令牌桶满足预设的空闲条件。
3.如权利要求1所述的基于令牌桶的数据传输调度方法,其特征在于,还包括以下步骤:
在所述普通令牌桶的令牌数更新后,对所述普通令牌桶启动定时器,所述定时器到期的时间为:(DEEPi–TOKENi)/BWi,其中,所述DEEPi为所述普通令牌桶的令牌桶深度,TOKENi为所述普通令牌桶中的令牌数,BWi为所述第一初始令牌生成速率;
当所述定时器到期时,判断所述普通令牌桶满足预设的空闲条件。
4.如权利要求1所述的基于令牌桶的数据传输调度方法,其特征在于,还包括以下步骤:
在接收到达所述调度实体的待传输数据时,判断所述普通令牌桶满足预设的非空闲条件。
5.如权利要求1所述的基于令牌桶的数据传输调度方法,其特征在于,进一步包括以下步骤:
在所述共享令牌桶的令牌生成速率更新时,获取更新之前所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;
将所述共享令牌桶的新增令牌数和所述共享令牌桶的令牌数上一次更新时的取值相加,获得所述共享令牌桶的令牌数。
6.如权利要求1至5任意一项所述的基于令牌桶的数据传输调度方法,其特征在于,进一步包括以下步骤:
接收到达所述调度实体的待传输数据,获取与所述调度实体对应的普通令牌桶的令牌数,并判断所述普通令牌桶的令牌数是否足够传输所述待传输数据;
如果足够,则使用所述普通令牌桶的令牌传输所述待传输数据;
如果不足够,则计算所述共享令牌桶的令牌数,使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
7.如权利要求6所述的基于令牌桶的数据传输调度方法,其特征在于,获取所述调度实体对应的普通令牌桶的令牌数的步骤包括:
根据当前时刻所述普通令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述普通令牌桶的新增令牌数;
将所述普通令牌桶的新增令牌数和所述普通令牌桶的原有令牌数相加,获得所述普通令牌桶的令牌数。
8.如权利要求6所述的基于令牌桶的数据传输调度方法,其特征在于,计算所述共享令牌桶的令牌数的步骤包括:
根据当前时刻所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;
将所述共享令牌桶的新增令牌数和所述共享令牌桶的原有令牌数相加,获得所述共享令牌桶的令牌数。
9.如权利要求6所述的基于令牌桶的数据传输调度方法,其特征在于,在使用所述普通令牌桶和所述共享令牌桶的令牌传输所述数据的步骤之前,进一步判断所述普通令牌桶和所述共享令牌桶的令牌数之和是否足够传输所述待传输数据,如果足够,则使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据,否则,启动延时定时器,在所述延时定时器到期后再使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
10.一种基于令牌桶的数据传输调度系统,其特征在于,包括:
配置模块,用于对各个调度实体分别设置普通令牌桶,并设置共享令牌桶,其中,所述普通令牌桶具有第一初始令牌生成速率,所述共享令牌桶具有第二初始令牌生成速率;
调度模块,用于如果所述普通令牌桶满足预设的空闲条件,则将所述普通令牌桶的令牌生成速率设置为零,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和;如果所述普通令牌桶满足预设的非空闲条件,则将所述普通令牌桶的令牌生成速率设置为所述第一令牌生成速率,并将所述共享令牌桶的令牌生成速率更新为所述第二初始令牌生成速率与当前时刻各个空闲的普通令牌桶的第一初始令牌生成速率之和。
11.如权利要求10所述的基于令牌桶的数据传输调度系统,其特征在于,所述调度模块还用于当所述普通令牌桶中的令牌数等于预设的令牌桶深度时,判断所述普通令牌桶满足预设的空闲条件。
12.如权利要求10所述的基于令牌桶的数据传输调度系统,其特征在于,所述调度模块还用于在所述普通令牌桶的令牌数更新后,对所述普通令牌桶启动定时器,所述定时器到期的时间为:(DEEPi–TOKENi)/BWi,其中,所述DEEPi为所述普通令牌桶的令牌桶深度,TOKENi为所述普通令牌桶中的令牌数,BWi为所述第一初始令牌生成速率;当所述定时器到期时,判断所述普通令牌桶满足预设的空闲条件。
13.如权利要求10所述的基于令牌桶的数据传输调度系统,其特征在于,所述调度模块还用于在接收到达所述调度实体的待传输数据时,判断所述普通令牌桶满足预设的非空闲条件。
14.如权利要求10所述的基于令牌桶的数据传输调度系统,其特征在于,所述调度模块还用于在所述共享令牌桶的令牌生成速率更新时,获取更新之前所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;将所述共享令牌桶的新增令牌数和所述共享令牌桶的令牌数上一次更新时的取值相加,获得所述共享令牌桶的令牌数。
15.如权利要求10至14任意一项所述的基于令牌桶的数据传输调度系统,其特征在于,进一步包括:
接收处理模块,用于接收到达所述调度实体的待传输数据,获取与所述调度实体对应的普通令牌桶的令牌数,并判断所述普通令牌桶的令牌数是否足够传输所述待传输数据;
以及,传输处理模块,用于如果足够,则使用所述普通令牌桶的令牌传输所述待传输数据;如果不足够,则计算所述共享令牌桶的令牌数,使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
16.如权利要求15所述的基于令牌桶的数据传输调度系统,其特征在于,所述接收处理模块根据当前时刻所述普通令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述普通令牌桶的新增令牌数;将所述普通令牌桶的新增令牌数和所述普通令牌桶的原有令牌数相加,获得所述普通令牌桶的令牌数。
17.如权利要求15所述的基于令牌桶的数据传输调度系统,其特征在于,所述传输梳理模块用于根据当前时刻所述共享令牌桶的令牌生成速率以及所述令牌生成速率的持续时间,计算所述共享令牌桶的新增令牌数;将所述共享令牌桶的新增令牌数和所述共享令牌桶的原有令牌数相加,获得所述共享令牌桶的令牌数。
18.如权利要求15所述的基于令牌桶的数据传输调度系统,其特征在于,所述传输处理模块还用于判断所述普通令牌桶和所述共享令牌桶的令牌数之和是否足够传输所述待传输数据,如果足够,则使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据,否则,启动延时定时器,在所述延时定时器到期后再使用所述普通令牌桶和所述共享令牌桶的令牌传输所述待传输数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310716789.6A CN104734989B (zh) | 2013-12-23 | 2013-12-23 | 基于令牌桶的数据传输流量调度方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310716789.6A CN104734989B (zh) | 2013-12-23 | 2013-12-23 | 基于令牌桶的数据传输流量调度方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104734989A true CN104734989A (zh) | 2015-06-24 |
CN104734989B CN104734989B (zh) | 2018-09-14 |
Family
ID=53458436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310716789.6A Active CN104734989B (zh) | 2013-12-23 | 2013-12-23 | 基于令牌桶的数据传输流量调度方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104734989B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105764091A (zh) * | 2016-02-19 | 2016-07-13 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
CN105915470A (zh) * | 2016-01-27 | 2016-08-31 | 无锡华云数据技术服务有限公司 | 一种基于Linux流量控制的弹性带宽配置方法 |
CN106250386A (zh) * | 2016-07-08 | 2016-12-21 | 乐视控股(北京)有限公司 | 对象存储中删除对象的方法和装置 |
WO2017173601A1 (zh) * | 2016-04-06 | 2017-10-12 | 华为技术有限公司 | 软件定义网络sdn中流量控制方法和设备 |
CN107786460A (zh) * | 2017-09-08 | 2018-03-09 | 北京科东电力控制系统有限责任公司 | 一种基于令牌桶算法的电力交易系统请求管理与限流方法 |
CN108234495A (zh) * | 2018-01-04 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种基于自治系统多维属性的网络带宽分配方法 |
CN109194765A (zh) * | 2018-09-26 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 请求控制方法、装置、计算机设备和存储介质 |
CN109379302A (zh) * | 2017-08-08 | 2019-02-22 | 深圳市中兴微电子技术有限公司 | 一种实现令牌处理的方法及装置 |
CN110830296A (zh) * | 2019-11-04 | 2020-02-21 | 紫光云技术有限公司 | 一种基于令牌桶算法的系统QoS设置方法 |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
CN111835655A (zh) * | 2020-07-13 | 2020-10-27 | 北京轻网科技有限公司 | 共享带宽限速方法、装置及存储介质 |
CN112187661A (zh) * | 2020-09-14 | 2021-01-05 | 武汉思普崚技术有限公司 | 一种qos流量控制方法、系统、设备及存储介质 |
CN113938439A (zh) * | 2021-10-25 | 2022-01-14 | 深圳市风云实业有限公司 | 一种基于定时器的端口队列调度方法及电子设备 |
CN114095444A (zh) * | 2020-07-15 | 2022-02-25 | 中移物联网有限公司 | 限流方法、装置及电子设备 |
CN114785740A (zh) * | 2022-06-22 | 2022-07-22 | 北京轻网科技有限公司 | 令牌管理及信息转发方法、装置、设备、存储介质 |
CN114793216A (zh) * | 2022-06-22 | 2022-07-26 | 北京轻网科技有限公司 | 令牌管理及信息发送方法、装置、电子设备及存储介质 |
CN114860334A (zh) * | 2022-04-24 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 虚拟机启动风暴的处理方法、装置、设备及介质 |
CN116233010A (zh) * | 2023-03-09 | 2023-06-06 | 北京百度网讯科技有限公司 | 流量控制方法、装置、设备及存储介质 |
CN117579564A (zh) * | 2024-01-19 | 2024-02-20 | 成都智明达电子股份有限公司 | 一种基于fpga和令牌桶算法的多路流量调度系统及方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002021773A2 (en) * | 2000-09-08 | 2002-03-14 | Netscreen Technologies, Inc. | Guaranteed bandwidth sharing in a traffic shaping system |
US6970426B1 (en) * | 2003-05-14 | 2005-11-29 | Extreme Networks | Rate color marker |
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
US20080084824A1 (en) * | 2006-10-09 | 2008-04-10 | Agere Systems Inc. | Dual Leaky Bucket Flow Control Method and System |
CN101282305A (zh) * | 2008-05-22 | 2008-10-08 | 杭州华三通信技术有限公司 | 分布式系统中的带宽控制方法及业务板 |
CN101729386A (zh) * | 2008-11-03 | 2010-06-09 | 华为技术有限公司 | 一种基于令牌调度的流量控制方法及装置 |
CN102130823A (zh) * | 2009-10-28 | 2011-07-20 | 美国博通公司 | 用于数据通信的方法和网络设备 |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN102742217A (zh) * | 2009-08-21 | 2012-10-17 | 瑞典爱立信有限公司 | 动态带宽分配中软带宽限制的方法 |
CN103326953A (zh) * | 2013-03-28 | 2013-09-25 | 华为技术有限公司 | 一种基于令牌桶的流量限制方法和装置 |
-
2013
- 2013-12-23 CN CN201310716789.6A patent/CN104734989B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002021773A2 (en) * | 2000-09-08 | 2002-03-14 | Netscreen Technologies, Inc. | Guaranteed bandwidth sharing in a traffic shaping system |
US6970426B1 (en) * | 2003-05-14 | 2005-11-29 | Extreme Networks | Rate color marker |
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
US20080084824A1 (en) * | 2006-10-09 | 2008-04-10 | Agere Systems Inc. | Dual Leaky Bucket Flow Control Method and System |
CN101282305A (zh) * | 2008-05-22 | 2008-10-08 | 杭州华三通信技术有限公司 | 分布式系统中的带宽控制方法及业务板 |
CN101729386A (zh) * | 2008-11-03 | 2010-06-09 | 华为技术有限公司 | 一种基于令牌调度的流量控制方法及装置 |
CN102742217A (zh) * | 2009-08-21 | 2012-10-17 | 瑞典爱立信有限公司 | 动态带宽分配中软带宽限制的方法 |
CN102130823A (zh) * | 2009-10-28 | 2011-07-20 | 美国博通公司 | 用于数据通信的方法和网络设备 |
CN102413042A (zh) * | 2011-11-14 | 2012-04-11 | 盛科网络(苏州)有限公司 | 基于时戳更新令牌桶的流量监管的方法及系统 |
CN103326953A (zh) * | 2013-03-28 | 2013-09-25 | 华为技术有限公司 | 一种基于令牌桶的流量限制方法和装置 |
Non-Patent Citations (3)
Title |
---|
EUN-CHAN PARK,ET AL: ""Adaptive token bucket algorithm for fair bandwidth allocation in DiffServ networks"", 《 GLOBAL TELECOMMUNICATIONS CONFERENCE, 2003. GLOBECOM "03. IEEE》 * |
J. HEINANEN,ET AL: "《RFC2698》", 30 September 1999 * |
O. ABOUL-MAGD,ET AL: "《RFC4115》", 31 July 2005 * |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915470A (zh) * | 2016-01-27 | 2016-08-31 | 无锡华云数据技术服务有限公司 | 一种基于Linux流量控制的弹性带宽配置方法 |
CN105764091A (zh) * | 2016-02-19 | 2016-07-13 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
CN105764091B (zh) * | 2016-02-19 | 2019-02-01 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
WO2017173601A1 (zh) * | 2016-04-06 | 2017-10-12 | 华为技术有限公司 | 软件定义网络sdn中流量控制方法和设备 |
CN106250386A (zh) * | 2016-07-08 | 2016-12-21 | 乐视控股(北京)有限公司 | 对象存储中删除对象的方法和装置 |
CN109379302A (zh) * | 2017-08-08 | 2019-02-22 | 深圳市中兴微电子技术有限公司 | 一种实现令牌处理的方法及装置 |
CN107786460A (zh) * | 2017-09-08 | 2018-03-09 | 北京科东电力控制系统有限责任公司 | 一种基于令牌桶算法的电力交易系统请求管理与限流方法 |
CN108234495A (zh) * | 2018-01-04 | 2018-06-29 | 郑州云海信息技术有限公司 | 一种基于自治系统多维属性的网络带宽分配方法 |
CN108234495B (zh) * | 2018-01-04 | 2020-09-29 | 苏州浪潮智能科技有限公司 | 一种基于自治系统多维属性的网络带宽分配方法 |
CN109194765A (zh) * | 2018-09-26 | 2019-01-11 | 中国平安人寿保险股份有限公司 | 请求控制方法、装置、计算机设备和存储介质 |
CN109194765B (zh) * | 2018-09-26 | 2023-07-28 | 中国平安人寿保险股份有限公司 | 请求控制方法、装置、计算机设备和存储介质 |
CN110830296A (zh) * | 2019-11-04 | 2020-02-21 | 紫光云技术有限公司 | 一种基于令牌桶算法的系统QoS设置方法 |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
CN111404836B (zh) * | 2020-03-30 | 2023-09-12 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
CN111835655A (zh) * | 2020-07-13 | 2020-10-27 | 北京轻网科技有限公司 | 共享带宽限速方法、装置及存储介质 |
US11784885B2 (en) | 2020-07-13 | 2023-10-10 | Lightwan Corporation Limited | Shared bandwidth speed limiting method, device, and storage medium |
CN114095444A (zh) * | 2020-07-15 | 2022-02-25 | 中移物联网有限公司 | 限流方法、装置及电子设备 |
CN114095444B (zh) * | 2020-07-15 | 2023-11-10 | 中移物联网有限公司 | 限流方法、装置及电子设备 |
CN112187661A (zh) * | 2020-09-14 | 2021-01-05 | 武汉思普崚技术有限公司 | 一种qos流量控制方法、系统、设备及存储介质 |
CN112187661B (zh) * | 2020-09-14 | 2022-06-21 | 武汉思普崚技术有限公司 | 一种qos流量控制方法、系统、设备及存储介质 |
CN113938439A (zh) * | 2021-10-25 | 2022-01-14 | 深圳市风云实业有限公司 | 一种基于定时器的端口队列调度方法及电子设备 |
CN113938439B (zh) * | 2021-10-25 | 2023-12-15 | 深圳市风云实业有限公司 | 一种基于定时器的端口队列调度方法及电子设备 |
CN114860334A (zh) * | 2022-04-24 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 虚拟机启动风暴的处理方法、装置、设备及介质 |
CN114860334B (zh) * | 2022-04-24 | 2024-01-26 | 曙光信息产业(北京)有限公司 | 虚拟机启动风暴的处理方法、装置、设备及介质 |
CN114785740B (zh) * | 2022-06-22 | 2022-09-13 | 北京轻网科技有限公司 | 令牌管理及信息转发方法、装置、设备、存储介质 |
CN114793216A (zh) * | 2022-06-22 | 2022-07-26 | 北京轻网科技有限公司 | 令牌管理及信息发送方法、装置、电子设备及存储介质 |
CN114785740A (zh) * | 2022-06-22 | 2022-07-22 | 北京轻网科技有限公司 | 令牌管理及信息转发方法、装置、设备、存储介质 |
CN116233010A (zh) * | 2023-03-09 | 2023-06-06 | 北京百度网讯科技有限公司 | 流量控制方法、装置、设备及存储介质 |
CN117579564A (zh) * | 2024-01-19 | 2024-02-20 | 成都智明达电子股份有限公司 | 一种基于fpga和令牌桶算法的多路流量调度系统及方法 |
CN117579564B (zh) * | 2024-01-19 | 2024-05-24 | 成都智明达电子股份有限公司 | 一种基于fpga和令牌桶算法的多路流量调度系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104734989B (zh) | 2018-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104734989A (zh) | 基于令牌桶的数据传输流量调度方法及其系统 | |
CN100574278C (zh) | 流量限制技术中刷新令牌桶的方法及装置 | |
US9386086B2 (en) | Dynamic scaling for multi-tiered distributed systems using payoff optimization of application classes | |
CN107483981B (zh) | 直播资源计算监测分配方法、存储介质、电子设备及系统 | |
US8339949B2 (en) | Priority-aware hierarchical communication traffic scheduling | |
CN102104545B (zh) | 解决小包线速的credit调度方法、调度装置及旁路器 | |
CN103326953A (zh) | 一种基于令牌桶的流量限制方法和装置 | |
CN109697122A (zh) | 任务处理方法、设备及计算机存储介质 | |
CN113138860B (zh) | 消息队列的管理方法及装置 | |
EP3089413A1 (en) | Method and apparatus for adding token in traffic shaping | |
CN101834786A (zh) | 队列调度的方法和装置 | |
WO2016074759A1 (en) | Method and system for real-time resource consumption control in a distributed computing environment | |
CN106453127A (zh) | 一种令牌处理方法和装置 | |
CN112817753A (zh) | 任务的处理方法及装置、存储介质、电子装置 | |
CN105791371A (zh) | 一种云存储服务系统及方法 | |
CN103179570A (zh) | 应用在分散式分时多工系统的资源分配方法与系统 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN106407636A (zh) | 集成结果统计方法及装置 | |
CN106302239A (zh) | 一种单组播流量调度管理的方法及装置 | |
CN106534312A (zh) | 一种面向移动设备的服务请求选择与调度方法 | |
CN108076020A (zh) | 一种缓存空间的管理方法及装置 | |
WO2016000326A1 (zh) | 一种用户队列调度的方法、装置及计算机存储介质 | |
CN104796994A (zh) | 无线通信系统的资源调度方法 | |
CN117348983A (zh) | 一种对海量任务进行高效资源调度的方法与系统 | |
CN114793236A (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 |