CN102387076B - 一种结合整形的分级式队列调度方法 - Google Patents

一种结合整形的分级式队列调度方法 Download PDF

Info

Publication number
CN102387076B
CN102387076B CN201110317454.8A CN201110317454A CN102387076B CN 102387076 B CN102387076 B CN 102387076B CN 201110317454 A CN201110317454 A CN 201110317454A CN 102387076 B CN102387076 B CN 102387076B
Authority
CN
China
Prior art keywords
queue
shaping
state
token
scheduling
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.)
Active
Application number
CN201110317454.8A
Other languages
English (en)
Other versions
CN102387076A (zh
Inventor
董志兵
娄非志
王颖伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan flying Microelectronics Technology Co., Ltd.
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201110317454.8A priority Critical patent/CN102387076B/zh
Publication of CN102387076A publication Critical patent/CN102387076A/zh
Application granted granted Critical
Publication of CN102387076B publication Critical patent/CN102387076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种结合整形的分级式队列调度方法,涉及数据通信技术领域,包括如下步骤:a.根据输入数据包的队列号,将数据包描述信息存放到相应的队列中;b.为每个队列配置整形参数;c.采用一个双令牌桶对每个队列的流量进行整形,确定该队列的流量整形状态;d.根据每个队列的整形状态、激活状态、配置的调度模式、配置权值,进行分级式的调度选择,选择进行调度的队列,并从选择的队列中读取一个数据包描述信息;e.根据所读取的数据包描述信息,将读取数据向下游发送。该方法可以提高数据包的调度效率,简化电路,并使每个队列的最小保证带宽得到保证。

Description

一种结合整形的分级式队列调度方法
技术领域
本发明涉及数据通信技术领域,具体来讲是一种结合整形的分级式队列调度方法。
背景技术
随着网络应用的飞速发展,各种新型业务不断出现,各种网络数据量也越来越大,网络拥塞极为常见。对网络的Qos(Quality ofService,服务质量)性能提出了更高的、更差异化的要求。队列调度和整形正是Qos技术的关键。数据通信设备使用队列调度用于保证高优先级的业务流能够被优先调用,低优先级的业务流后被调用,或者使用队列调度使各种业务流按照各种配置的权重来被调度转发。使用队列整形则对某种业务的流量进行速率限制,使该业务的流量不至于占用过多的网络资源从而使其他业务的流量得不到保证。
所述队列调度的关键技术一般是采用SP(strict priority,严格优先级队列)或WRR(weighted round robin,加权公平队列),或者是两者的结合。其中,SP是将优先级高的队列优先调度发送,优先级低的队列只有在优先级高的队列空才会被发送;WRR为每个队列配置一个权值,各个队列按照权值发送数据包,要求高的队列分配较多的权值,要求低的队列分配较少的权值,这样能保证每个队列都能得到服务;SP与WRR结合则是将某些队列设置为SP模式,其余队列设置为WRR模式,在调度是首先发送SP队列,只有SP队列空时对其余队列按照WRR模式进行调度发送。
所述队列整形的关键技术一般是对每个队列采用单令牌桶算法整形或者双令牌桶算法整形。其中,单令牌桶算法通过配置令牌桶的填充速率和令牌桶的深度,将该队列的流量速率限制在填充速率下;双令牌桶算法则是采用均值令牌桶和峰值令牌桶,分别配置不同的填充速率和令牌桶深度,均值令牌桶的填充速率为该队列提供的最小保证带宽,峰值令牌桶的填充速率则对该队列进行最大带宽限制。
目前,现有的技术是将队列调度和整形独立使用,其步骤如下:
1、对各个队列的调度模式和权值,以及整形令牌桶的填充速率和最大深度进行配置;
2、队列模块根据队列调度模式和权值进行队列的调度选择,并从队列模块读取相应的数据包;
3、整形模块根据数据包的长度进行判断,若包长度小于令牌桶的令牌数则允许发送;否则退回到队列中。
这种技术独立使用的缺点在于:
1、队列调度选择进行调度的队列,并从队列中读取的数据包,如果在整形模块的长度判断时,判决为不允许通过,则会退回到该队列中,降低了调度效率,并增加了电路处理的复杂性。
2、在流量拥塞的情况下,若优先级高的队列在SP模式或WRR模式下配置的权值过大,就会长期占用调度机会,使优先级低的队列得不到调度机会,无法得到最小保证带宽。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种结合整形的分级式队列调度方法,可以提高数据包的调度效率,简化电路,并使每个队列的最小保证带宽得到保证。
为达到以上目的,本发明采取的技术方案是:一种结合整形的分级式队列调度方法,包括如下步骤:a.根据输入数据包的队列号,将数据包描述信息存放到相应的队列中,若数据包描述信息不为空,则存放该数据包描述信息的队列为激活状态,即为激活队列;b.为每个队列配置整形参数,包括双令牌桶中均值令牌桶的填充速率和最大深度、峰值桶的填充速率和最大深度、调度模式以及相应的权值;c.采用一个双令牌桶对每个队列的流量进行整形,令牌桶根据配置的填充速率定时注入令牌,并在调度一个包描述信息时将减去相应令牌桶的令牌数,确定该队列的流量整形状态;d.根据每个队列的整形状态、激活状态、配置的调度模式、配置权值,进行分级式的调度选择,选择进行调度的队列,并从选择的队列中读取一个数据包描述信息;e.根据所读取的数据包描述信息,将读取数据向下游发送。
在上述技术方案的基础上,若一个队列均值令牌桶的令牌数为正,则该队列的整形状态为状态1,表示该队列的流量没有达到最小保证带宽;若一个队列均值令牌桶的令牌数为负而峰值桶的令牌数为正,则该队列的整形状态为状态2,表示该队列的流量达到了最小保证带宽但没有超过最大限制带宽;若一个队列均值令牌桶的令牌数和峰值令牌桶的令牌数均为负,则该队列的整形状态为状态3,表示该队列的流量超过了最大限制带宽。
在上述技术方案的基础上,所述均值令牌桶的令牌注入数量由配置的均值令牌桶的填充速率决定,峰值令牌桶的令牌注入数量由配置的峰值令牌桶的填充速率决定。
在上述技术方案的基础上,所述分级式的调度依据为每个队列的整形状态及激活状态;其包含三个调度级别:状态1的激活队列调度优先级最高,首先对这个调度级别的激活队列进行调度;状态2的激活队列调度优先级其次,没有状态1的激活队列情况下,才对此级别的激活队列进行调度选择;状态3或没有激活的队列优先级最低,不会对此级别的激活队列进行调度选择。
在上述技术方案的基础上,若该队列的整形状态为状态1,则将均值令牌桶和峰值令牌桶的令牌数都减去数据包的长度;若该队列的整形状态为状态2,则只将峰值令牌桶的令牌数减去数据包的长度。
在上述技术方案的基础上,所述令牌桶中的令牌数允许为负,当峰值令牌桶的令牌数为负时,不会在对此队列进行包描述信息的调度操作。
在上述技术方案的基础上,所述队列中只有存在着数据包描述信息,才会进行调度选择,所述数据包描述信息至少包括该数据包的长度和在数据缓存中的地址。
在上述技术方案的基础上,所述队列均为一个先入先出队列结构,当一个队列进行调度时,从相应队列读取一个数据包描述信息。
在上述技术方案的基础上,所述均值令牌桶的填充速率决定其队列的最小保证带宽,峰值令牌桶的填充速率决定其队列的最大限制带宽。
本发明的有益效果在于:
第一、本发明采用与整形相结合的多级队列调度方式,对多个队列进行调度选择;队列整形采用双令牌桶算法,为每个队列给出整形的状态,再根据整形状态进行队列的调度选择,未达到最小保证带宽的队列优先获得调度机会,从而保证了每个队列的最小保证带宽,避免了优先级高的队列长期占用带宽的情况。
第二、将队列整形的状态反馈后,再进行调度选择,对于不符合最大限制带宽和非激活的队列,不会进行调度处理,从而避免一次调度的空操作,提高了调度效率,简化了电路。
附图说明
图1为本发明结合整形的分级式队列调度方法实施例的流程图;
图2为本发明中分级式的调度选择的流程图。
具体实施方式
以下对本发明作进一步详细说明。
本发明结合整形的分级式队列调度方法,包括如下步骤:
a.根据输入数据包的队列号,将数据包描述信息存放到相应的队列中,若数据包描述信息不为空,则存放该数据包描述信息的队列为激活状态,即为激活队列。
b.为每个队列配置整形参数,包括双令牌桶中均值令牌桶的填充速率和最大深度、峰值桶的填充速率和最大深度、调度模式以及相应的权值。
c.采用一个双令牌桶对每个队列的流量进行整形,令牌桶根据配置的填充速率定时注入令牌,并在调度一个包描述信息时将减去相应令牌桶的令牌数,确定该队列的流量整形状态。
d.根据每个队列的整形状态、激活状态、配置的调度模式、配置权值,进行分级式的调度选择,选择进行调度的队列,并从选择的队列中读取一个数据包描述信息。
e.根据所读取的数据包描述信息,将读取数据向下游发送。
下面结合具体实施例对本发明作进一步详细说明。
如图1所示,本实施例中的电路结构主要涉及四个模块,包括队列模块、队列整形模块、队列调度模块和发送模块。其方式流程如下所示:
101.队列模块根据输入数据包的队列号,将数据包描述信息存放到相应的队列中。所述每个队列都为一个FIFO(First Input FirstOutput,先入先出队列)结构,当选择一个队列进行调度时,队列模块从相应的队列读取一个数据包描述信息。若数据包描述信息不为空,则存放该数据包描述信息的队列为激活状态,即为激活队列。队列模块提供每个队列的激活状态,只有队列中存在着数据包描述信息,才会进行调度选择,所述数据包描述信息是从数据包中提取的特征字段以及相应描述组成,至少包括该数据包的长度和在数据缓存中的地址。
102.在队列整形模块中,为每个队列配置整形参数,双令牌包括均值令牌桶和峰值令牌桶,配置均值令牌桶的填充速率和最大深度,峰值令牌桶的填充速率和最大深度。
103.队列整形模块为采用一个双令牌桶每个队列的流量进行整形,令牌桶根据配置的填充速率定时注入令牌,并在调度一个包描述信息时将减去相应令牌桶的令牌数,确定该队列的流量整形状态。所述均值令牌桶的填充速率决定其队列的最小保证带宽,峰值令牌桶的填充速率决定其队列的最大限制带宽。
其中,若一个队列均值令牌桶的令牌数为正,则该队列的整形状态为状态1,即本实施例中为MinNotMet,表示该队列的流量没有达到最小保证带宽。若一个队列均值令牌桶的令牌数为负而峰值桶的令牌数为正,则该队列的整形状态为状态2,即本实施例中为MaxNotMet,表示该队列的流量达到了最小保证带宽但没有超过最大限制带宽。若一个队列均值令牌桶的令牌数和峰值令牌桶的令牌数均为负,则该队列的整形状态为状态3,即本实施例中为MaxExceed,表示该队列的流量超过了最大限制带宽,将不允许对该队列进行调度。
所述队列整形令牌桶的令牌数的更新,是根据令牌桶的填充速率定时向令牌桶中注入令牌数,其中均值令牌桶的令牌注入数量由配置的均值令牌桶的填充速率决定,峰值令牌桶的令牌注入数量由配置的峰值令牌桶的填充速率决定。当调度出一个队列的数据包描述时,根据该队列的整形状态队列令牌桶的整形状态对令牌桶的令牌数进行更新:若该队列的整形状态为MinNotMet,则将均值令牌桶和峰值令牌桶的令牌数都减去数据包的长度;若队列的整形状态为MaxNotMet,则只将峰值令牌桶的令牌数减去数据包的长度。所述令牌桶中的令牌数允许为负,当峰值令牌桶的令牌数为负时,不会在对此队列进行包描述信息的调度操作,这种方式避免了一次调度的空操作,从而提高了调度效率。
104.队列调度模块根据调度出的包描述信息,对该队列的其权值进行更新;根据每个队列的整形状态、激活状态、配置的调度模式、配置权值,进行分级式的调度选择,选择进行调度的队列,并从选择的队列中读取一个数据包描述信息。队列调度模块和队列模块之间进行读取请求信号、激活队列指示信号的交流。
所述队列调度模块采用分级式调度的依据为:每个队列的整形状态及激活状态。队列调度模块根据各个队列的整形状态和激活状态,将各个队列划分成三个调度级别:整形状态为MinNotMet的激活队列调度优先级最高,队列调度模块首先对这个调度级别的队列进行调度;整形状态为MaxNotMet的激活队列优先级其次,只有不存在整形状态为MinNotMet的激活队列情况下,才会对此级别的队列进行调度选择;整形状态为MaxExceed或没激活的队列的优先级最低,队列调度模块根本不会对这种队列进行调度选择。
如图2所示,分级式的调度选择为:首先判断是否存在队列整形状态为MinNotMet的激活队列,如果是,根据配置的调度算法从整形状态为MinNotMet的激活队列中选择一个队列进行调度,结束;如果否,再判断是否存在队列整形状态为MaxNotMet的激活队列,如果是,则根据配置的调度算法从整形状态为MaxNotMet的激活队列中选择一个队列进行调度,结束;如果再判断是否存在队列整形状态为MaxNotMet的激活队列的时候为否,直接结束。
105.根据所读取的数据包描述信息,将读取数据向下游发送。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (7)

1.一种结合整形的分级式队列调度方法,包括如下步骤:
a.根据输入数据包的队列号,将数据包描述信息存放到相应的队列中,若数据包描述信息不为空,则存放该数据包描述信息的队列为激活状态,即为激活队列;
b.为每个队列配置整形参数,包括双令牌桶中均值令牌桶的填充速率和最大深度、峰值桶的填充速率和最大深度、调度模式以及相应的权值;
c.采用一个双令牌桶对每个队列的流量进行整形,令牌桶根据配置的填充速率定时注入令牌,并在调度一个包描述信息时将减去相应令牌桶的令牌数,确定该队列的流量整形状态;
d.根据每个队列的整形状态、激活状态、配置的调度模式、配置权值,进行分级式的调度选择,选择进行调度的队列,并从选择的队列中读取一个数据包描述信息;
e.根据所读取的数据包描述信息,将读取数据向下游发送;
其特征在于,若一个队列均值令牌桶的令牌数为正,则该队列的整形状态为状态1,表示该队列的流量没有达到最小保证带宽;若一个队列均值令牌桶的令牌数为负而峰值桶的令牌数为正,则该队列的整形状态为状态2,表示该队列的流量达到了最小保证带宽但没有超过最大限制带宽;若一个队列均值令牌桶的令牌数和峰值令牌桶的令牌数均为负,则该队列的整形状态为状态3,表示该队列的流量超过了最大限制带宽;若该队列的整形状态为状态1,则将均值令牌桶和峰值令牌桶的令牌数都减去数据包的长度;若该队列的整形状态为状态2,则只将峰值令牌桶的令牌数减去数据包的长度。
2.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述均值令牌桶的令牌注入数量由配置的均值令牌桶的填充速率决定,峰值令牌桶的令牌注入数量由配置的峰值令牌桶的填充速率决定。
3.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述分级式的调度依据为每个队列的整形状态及激活状态;其包含三个调度级别:状态1的激活队列调度优先级最高,首先对这个调度级别的激活队列进行调度;状态2的激活队列调度优先级其次,没有状态1的激活队列情况下,才对此级别的激活队列进行调度选择;状态3或没有激活的队列优先级最低,不会对此级别的激活队列进行调度选择。
4.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述令牌桶中的令牌数允许为负,当峰值令牌桶的令牌数为负时,不会在对此队列进行包描述信息的调度操作。
5.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述队列中只有存在着数据包描述信息,才会进行调度选择,所述数据包描述信息至少包括该数据包的长度和在数据缓存中的地址。
6.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述每个队列均为一个先入先出队列结构,当一个队列进行调度时,从相应队列读取一个数据包描述信息。
7.如权利要求1所述的结合整形的分级式队列调度方法,其特征在于:所述均值令牌桶的填充速率决定其队列的最小保证带宽,峰值令牌桶的填充速率决定其队列的最大限制带宽。
CN201110317454.8A 2011-10-19 2011-10-19 一种结合整形的分级式队列调度方法 Active CN102387076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110317454.8A CN102387076B (zh) 2011-10-19 2011-10-19 一种结合整形的分级式队列调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110317454.8A CN102387076B (zh) 2011-10-19 2011-10-19 一种结合整形的分级式队列调度方法

Publications (2)

Publication Number Publication Date
CN102387076A CN102387076A (zh) 2012-03-21
CN102387076B true CN102387076B (zh) 2014-07-02

Family

ID=45826072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110317454.8A Active CN102387076B (zh) 2011-10-19 2011-10-19 一种结合整形的分级式队列调度方法

Country Status (1)

Country Link
CN (1) CN102387076B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102811176B (zh) * 2012-08-28 2015-09-23 迈普通信技术股份有限公司 一种数据流量控制方法和装置
CN104079500B (zh) * 2013-03-29 2018-05-04 中兴通讯股份有限公司 一种队列调度方法和装置
CN104348751B (zh) 2013-07-31 2019-03-12 中兴通讯股份有限公司 虚拟输出队列授权管理方法及装置
CN105812283B (zh) * 2014-12-31 2019-05-14 中国电信股份有限公司 队列调度方法和装置
CN104980779B (zh) * 2015-04-10 2018-04-20 腾讯科技(成都)有限公司 视频数据的传输控制方法和装置
CN106302231B (zh) * 2015-05-12 2019-06-28 深圳市中兴微电子技术有限公司 数据流队列整形的方法及装置
CN107528789B (zh) * 2016-06-22 2020-02-11 新华三技术有限公司 报文调度方法及装置
CN109862069B (zh) * 2018-12-13 2020-06-09 百度在线网络技术(北京)有限公司 消息处理方法和装置
CN111093000B (zh) * 2019-11-28 2020-12-29 中国电子科技集团公司第三十研究所 一种基于g.shdsl的保证话音优先实时发送方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005453A (zh) * 2006-12-26 2007-07-25 华为技术有限公司 流量限制技术中刷新令牌桶的方法及装置
US7457313B2 (en) * 2000-09-25 2008-11-25 General Instrument Corporation Hierarchical prioritized round robin (HPRR) scheduling
CN101834786A (zh) * 2010-04-15 2010-09-15 华为技术有限公司 队列调度的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457313B2 (en) * 2000-09-25 2008-11-25 General Instrument Corporation Hierarchical prioritized round robin (HPRR) scheduling
CN101005453A (zh) * 2006-12-26 2007-07-25 华为技术有限公司 流量限制技术中刷新令牌桶的方法及装置
CN101834786A (zh) * 2010-04-15 2010-09-15 华为技术有限公司 队列调度的方法和装置

Also Published As

Publication number Publication date
CN102387076A (zh) 2012-03-21

Similar Documents

Publication Publication Date Title
CN102387076B (zh) 一种结合整形的分级式队列调度方法
TWI477109B (zh) 訊務管理器及用於訊務管理器之方法
CN104539440B (zh) 具有入口控制的业务量管理
CN1985482B (zh) 网络设备和业务量整形方法
CN102203766B (zh) 共享接入电缆网络中的绑定信道上的qos
CN102014052B (zh) 一种虚拟动态优先级分组调度方法
CN101179486B (zh) 一种计算机网络数据包转发的car队列管理方法
EP2302843A1 (en) Method and device for packet scheduling
US8339949B2 (en) Priority-aware hierarchical communication traffic scheduling
CN103718522A (zh) 在拥塞下采用基于业务负荷的缩放进行调度
EP3029898B1 (en) Virtual output queue authorization management method and device, and computer storage medium
CN101599905B (zh) 一种实现流量整形令牌添加的方法、装置及系统
CN103632209A (zh) 一种基于排队论的智能配用电业务数据传输带宽预测方法
CN101478527A (zh) 带宽分配方法和路由设备
CN106789716B (zh) Tdma自组网的mac层队列调度方法
CN104753809A (zh) 一种流量整形中添加令牌的方法及装置
CN115473855B (zh) 网络系统、数据传输方法
CN103888374A (zh) 综合传感网业务中间件及其实现业务传送的方法
CN100466593C (zh) 一种支持多业务的综合队列调度的实现方法
CN102098217B (zh) 一种基于概率的多优先级队列调度方法
CN101478486B (zh) 一种交换网数据调度方法、设备和系统
CN107896200A (zh) 一种兼容虚链路与分组交换机制的报文调度方法
CN104022965B (zh) 一种报文出队调度的方法和设备
CN103701721A (zh) 报文传输方法及装置
CN106487713A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170607

Address after: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Patentee after: Wuhan flying Microelectronics Technology Co., Ltd.

Address before: China Science and Technology Park Dongxin road East Lake Development Zone 430074 Hubei Province, Wuhan City, No. 5

Patentee before: Fenghuo Communication Science &. Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170804

Address after: 430000 East Lake high tech Development Zone, Hubei Province, No. 6, No., high and new technology development zone, No. four

Co-patentee after: Wuhan flying Microelectronics Technology Co., Ltd.

Patentee after: Fenghuo Communication Science &. Technology Co., Ltd.

Address before: 430074, Hubei Wuhan East Lake Development Zone, Kanto Industrial Park, beacon Road, optical communications building, industrial building, two floor

Patentee before: Wuhan flying Microelectronics Technology Co., Ltd.

TR01 Transfer of patent right