CN104009935B - 一种优先级调度方法及装置 - Google Patents
一种优先级调度方法及装置 Download PDFInfo
- Publication number
- CN104009935B CN104009935B CN201310057677.4A CN201310057677A CN104009935B CN 104009935 B CN104009935 B CN 104009935B CN 201310057677 A CN201310057677 A CN 201310057677A CN 104009935 B CN104009935 B CN 104009935B
- Authority
- CN
- China
- Prior art keywords
- collection
- buffering
- queue collection
- message
- buffering queue
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种优先级调度方法及装置,所述方法包括:在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集;分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集;当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。本发明能够在保证报文优先级的基础上,兼顾业务的时效性,合理的降低了业务的延时。
Description
技术领域
本发明涉及时分复用系统,特别涉及一种优先级调度方法及装置。
背景技术
在网络带宽一定的情况下,为了适应不同业务的服务质量需求,常用的方法就是对各种业务指定不同的优先级,通过严格优先级调度满足各种业务的服务质量,确保具有高优先级的业务流具有更小的延时和丢包可能性。
传统的严格优先级调度针对不同的优先级分配多个缓冲队列,不同优先级的业务流进入到不同的优先级队列,等待调度。在满足传输条件的情况下,网络工作站的调度单元按照优先级高低顺序依次将缓冲队列中的报文发送出去,其特征是调度过程中,只有高优先级缓冲队列中的报文发送完毕之后才会转而发送下一优先级缓冲队列中的报文,从而确保高优先级业务获得更好的服务质量。
但是,对于某些时分复用系统,工作站传输时隙被严格控制,存在一个有效的传输时隙不能将缓冲队列中的报文发送完毕的情况。此时如果高优先级业务源源不断地流入工作站,调度单元就会始终优先调度高优先级的业务,使得低优先级业务的报文难以得到调度,即使带宽条件满足,也会导致低优先级业务报文延时过大。
本发明涉及时分复用系统中严格优先级调度的改进技术。
发明内容
本发明的目的在于提供一种优先级调度方法及装置,能更好地解决传统严格优先级调度实现过程中过度强调优先级而忽略业务还具有时效的特性,特别是大流量的高优先级业务导致低优先级业务可能长时间得不到调度而延时过大的问题。
根据本发明的一个方面,提供了一种优先级调度方法,包括:
在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集;
分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集;
当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。
优选地,在第一缓冲队列集和第二缓冲队列集中分别分配多个缓冲队列,使不同优先级的报文分别存储在不同的缓冲队列中。
优选地,设置仲裁定时器,利用所述仲裁定时器的定时时间,使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集。
优选地,所述定时时间由预先分配给网络工作站的带宽确定。
优选地,若在所述定时时间内,作为主缓冲队列集的第一/第二缓冲队列集中所有缓冲队列的报文发送完毕,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
优选地,若在所述定时时间到达后,作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
优选地,将主缓冲队列集中未发送的报文删除。
根据本发明的另一方面,提供了一种优先级调度装置,包括:
设置模块,用于在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集;
调度模块,用于分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集,并当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。
优选地,所述调度模块包括:
仲裁定时器,用于设定定时时间;
切换子模块,用于在所述定时时间内作为主缓冲队列集的第一/第二缓冲队列集中的报文发送完毕时,或在所述定时时间到达后作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕时,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
优选地所述调度模块还包括:
删除子模块,用于在所述定时时间到达后,将主缓冲队列集中未发送的报文删除。
与现有技术相比较,本发明的有益效果在于:
本发明对严格优先级调度进行改进,在保证业务优先级的前提下,兼顾业务的时效性,合理的降低了业务的延时。
附图说明
图1是本发明提供的优先级调度方法原理框图;
图2是本发明实施例提供的带宽满足传输需求且高优先级业务流量大于低优先级业务流量时的报文调度示意图;
图3是本发明实施例提供的带宽受限且低优先级业务流量大于高优先级业务流量时的报文调度示意图;
图4是本发明提供的优先级调度装置框图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是本发明提供的优先级调度方法原理框图,如图1所示,包括:
步骤101、在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集,第一缓冲队列集和第二缓冲队列集中分别分配多个缓冲队列,使不同优先级的报文分别存储在不同的缓冲队列中。
步骤102、分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集。
在所述步骤102中,通过设置仲裁定时器,并利用所述仲裁定时器的定时时间,使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集。所述定时时间由预先分配给网络工作站的带宽确定。
步骤103、当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。
在所述步骤103中,在所述定时时间内作为主缓冲队列集的第一/第二缓冲队列集中所有缓冲队列的报文发送完毕时,或在所述定时时间到达后,作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕时,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。进一步地,当所述定时时间到达后,将主缓冲队列集中未发送的报文删除。
通过上述步骤101至步骤103可知,本发明对传统的严格优先级调度策略进行了如下改进:
1、引入两个缓冲队列集,各包含若干个不同优先级的缓冲队列,分别用于发送报文和接收报文,当主缓冲队列集发送报文时,备缓冲队列集用于接收报文;
2、主备缓冲队列集内部的各个缓冲队列之间采用严格优先级调度的方式,即调度时分别对缓冲队列集中的不同优先级队列按照严格优先级调度策略进行操作;
3、引入用于两个缓冲队列集进行主备切换的仲裁定时器,定时时间根据分配给网络工作站的带宽确定;
4、当所述仲裁定时器未超,而主缓冲队列集中所有报文被发送完毕时,作为主缓冲队列集的第一/第二缓冲队列集成为备缓冲队列集,用于接收报文;同时,原来作为备缓冲队列集的第二/第一缓冲队列集成为主缓冲队列集,对其中的报文进行发送,仲裁定时器重新计时。
5、如果仲裁定时器超时,而作为主缓冲队列集的第一/第二缓冲队列集中仍然有数据没有发送完毕,由仲裁定时器发起切换,作为主缓冲队列集的第一/第二缓冲队列集清空数据,并成为备缓冲队列集;原来作为备缓冲队列集的第二/第一缓冲队列集成为主缓冲队列集,对其中的报文进行发送。
以下结合图2和图3所示的两个具体实施例对本发明进行深入说明,附图中引入主备缓冲队列集的优先级调度的处理过程,为了简化说明,业务分为两个优先级,对应缓冲队列为Q1和Q0,并且为不同优先级的报文接收假定了顺序,时分复用系统为网络工作站时隙分配周期△t,在△t时间内能够满足工作站n Mb的传输能力。
图2是本发明实施例提供的带宽满足传输需求且高优先级业务流量大于低优先级业务流量时的报文调度示意图,如图2所示,包括A缓冲队列集和B缓冲队列集,网络工作站分配最大带宽等于3*n Mbps,网络工作站的高优先级流量为2*n Mbps,低优先级流量为1*nMbps。
在T时刻,网络工作站总共缓存了3*n Mb的数据,A缓冲队列集作为主缓冲队列集,对A(Q1)内的高优先级报文进行调度,此时接收到的报文根据业务优先级被存储到作为备缓冲队列集的B缓冲队列集的对应优先级的缓冲队列中。
在T+△t时刻,A(Q1)发送了nMb的P1报文;T~T+△t接收到的高优先级报文都缓存在作为备缓冲队列的B(Q1)。
在T+2*△t时刻,A(Q1)的2*nMb报文发送完毕,主缓冲队列集根据优先级进行切换,转而发送A(Q0)中的低优先级报文;接收到的高优先级报文依然缓存在作为备缓冲队列的B(Q1)。
在T+3*△t时刻,A(Q0)的nMb报文发送完毕,在备缓冲队列B(Q0)也存储了这段时间收到的低优先级报文;此时网络工作站进行调度切换,将A缓冲队列集设成备缓冲队列集,用于缓存之后接收到的报文,而B缓冲队列集设成主缓冲队列集,按照优先级对其中的各个队列进行调度。
图3是本发明实施例提供的带宽受限且低优先级业务流量大于高优先级业务流量时的报文调度示意图,包括A缓冲队列集和B缓冲队列集,网络工作站分配最大带宽等于2*nMbps,网络工作站的高优先级流量为n Mbps,低优先级流量为2*n Mbps。
在T时刻,网络工作站总共缓存了3*n Mb的数据,A缓冲队列集作为主缓冲队列集,对A(Q1)内的高优先级报文进行调度,此时接收到的报文根据业务优先级被存储到作为备缓冲队列的B缓冲队列集的对应优先级的缓冲队列中。
在T+△t时刻,A(Q1)发送了nMb的P1报文发送完毕;主缓冲队列集根据优先级进行切换,转而发送A(Q0)中的低优先级报文P0;接收报文依然缓存在作为备缓冲队列集的B缓冲队列集中。
在T+2*△t时刻,左图显示A(Q0)的低优先级报文发送完成nMb,还有nMb数据没有发送,但是此时仲裁定时器超时,发起切换——如T+2*△t时刻右图所示,A缓冲队列集清空队列,变成备缓冲队列集,用于缓存之后接收到的报文,而B缓冲队列集设成主缓冲队列集,按照优先级对其中的各个队列进行调度。
图4是本发明提供的优先级调度装置框图,如图4所示,包括用来在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集的设置模块,以及用于分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集、并使所述主缓冲队列集按照报文优先级顺序发送报文时所述备缓冲队列集接收并存储报文的调度模块。
进一步地,所述调度模块包括:
仲裁定时器,用于设定定时时间,所述定时时间根据分配给网络工作站的带宽确定;
切换子模块,用于在所述定时时间内作为主缓冲队列集的第一/第二缓冲队列集中的报文发送完毕时,或在所述定时时间到达后作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕时,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集;
删除子模块,用于在所述定时时间到达后,将主缓冲队列集中未发送的报文删除。
综上所述,本发明具有以下技术效果:
1、本发明通过引入主备缓冲队列的机制,对不同时刻的高低优先级业务进行区分,同时保证前一时刻低优先级业务比当前高优先级业务更容易获得调度机会,从而在确保高优先级业务的同时,也能兼顾到低优先级业务的调度,避免了传统的严格优先级调度策略,小流量低优先级在带宽条件满足的情况下也会延时过大的问题;
2、对同一优先级不同时刻的报文,通过两个缓冲队列集的切换和清空,能够保证在带宽受限的情况,业务的最新报文比过期的报文更容易得到调度,从而更具有实时性。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。
Claims (10)
1.一种优先级调度方法,其特征在于,包括:
在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集;
分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集;
当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。
2.根据权利要求1所述的方法,其特征在于,在第一缓冲队列集和第二缓冲队列集中分别分配多个缓冲队列,使不同优先级的报文分别存储在不同的缓冲队列中。
3.根据权利要求2所述的方法,其特征在于,设置仲裁定时器,利用所述仲裁定时器的定时时间,使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集。
4.根据权利要求3所述的方法,其特征在于,所述定时时间由预先分配给网络工作站的带宽确定。
5.根据权利要求4所述的方法,其特征在于,若在所述定时时间内,作为主缓冲队列集的第一/第二缓冲队列集中所有缓冲队列的报文发送完毕,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
6.根据权利要求4所述的方法,其特征在于,若在所述定时时间到达后,作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
7.根据权利要求6所述的方法,其特征在于,将主缓冲队列集中未发送的报文删除。
8.一种优先级调度装置,其特征在于,包括:
设置模块,用于在网络工作站中设置用于接收和发送报文的第一缓冲队列集和第二缓冲队列集;
调度模块,用于分别使所述第一缓冲队列集和第二缓冲队列集轮流作为主缓冲队列集和备缓冲队列集,并当所述主缓冲队列集按照报文优先级顺序发送报文时,所述备缓冲队列集接收并存储报文。
9.根据权利要求8所述的装置,其特征在于,所述调度模块包括:
仲裁定时器,用于设定定时时间;
切换子模块,用于在所述定时时间内作为主缓冲队列集的第一/第二缓冲队列集中的报文发送完毕时,或在所述定时时间到达后作为主缓冲队列集的第一/第二缓冲队列集中的报文未发送完毕时,将所述第二/第一缓冲队列集切换为主缓冲队列集,第一/第二缓冲队列集切换为备缓冲队列集。
10.根据权利要求9所述的装置,其特征在于,所述调度模块还包括:
删除子模块,用于在所述定时时间到达后,将主缓冲队列集中未发送的报文删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310057677.4A CN104009935B (zh) | 2013-02-22 | 2013-02-22 | 一种优先级调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310057677.4A CN104009935B (zh) | 2013-02-22 | 2013-02-22 | 一种优先级调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104009935A CN104009935A (zh) | 2014-08-27 |
CN104009935B true CN104009935B (zh) | 2018-01-09 |
Family
ID=51370430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310057677.4A Active CN104009935B (zh) | 2013-02-22 | 2013-02-22 | 一种优先级调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104009935B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899516B (zh) | 2017-02-28 | 2020-07-28 | 华为技术有限公司 | 一种队列清空方法以及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079811A (zh) * | 2007-04-28 | 2007-11-28 | 北京航空航天大学 | 飞机与地面系统数据传输方法及系统 |
CN101183961A (zh) * | 2006-12-26 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种实现多用户语音会话的方法及系统 |
CN101212417A (zh) * | 2007-12-25 | 2008-07-02 | 中国科学院软件研究所 | 一种基于时间粒度的互联网服务质量保证方法 |
CN101369967A (zh) * | 2007-08-14 | 2009-02-18 | 华为技术有限公司 | 发送及接收数据的方法、基站、终端 |
CN101453296A (zh) * | 2007-11-29 | 2009-06-10 | 中兴通讯股份有限公司 | 卷积Turbo码译码器的等待队列控制方法及装置 |
CN101478476A (zh) * | 2008-12-08 | 2009-07-08 | 华为技术有限公司 | 一种分组微波数据的传输处理方法、装置及系统 |
CN101699795A (zh) * | 2009-10-29 | 2010-04-28 | 中兴通讯股份有限公司 | 一种报文拥塞处理方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3730471B2 (ja) * | 2000-02-14 | 2006-01-05 | 富士通株式会社 | パケット転送装置 |
US7327674B2 (en) * | 2002-06-11 | 2008-02-05 | Sun Microsystems, Inc. | Prefetching techniques for network interfaces |
KR101203464B1 (ko) * | 2006-02-14 | 2012-11-21 | 삼성전자주식회사 | 무선 통신 시스템에서 하향 링크 프레임의 전송 지연을줄이는 방법 및 장치 |
US7876677B2 (en) * | 2007-05-22 | 2011-01-25 | Apple Inc. | Transmission control protocol queue sorting |
-
2013
- 2013-02-22 CN CN201310057677.4A patent/CN104009935B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183961A (zh) * | 2006-12-26 | 2008-05-21 | 腾讯科技(深圳)有限公司 | 一种实现多用户语音会话的方法及系统 |
CN101079811A (zh) * | 2007-04-28 | 2007-11-28 | 北京航空航天大学 | 飞机与地面系统数据传输方法及系统 |
CN101369967A (zh) * | 2007-08-14 | 2009-02-18 | 华为技术有限公司 | 发送及接收数据的方法、基站、终端 |
CN101453296A (zh) * | 2007-11-29 | 2009-06-10 | 中兴通讯股份有限公司 | 卷积Turbo码译码器的等待队列控制方法及装置 |
CN101212417A (zh) * | 2007-12-25 | 2008-07-02 | 中国科学院软件研究所 | 一种基于时间粒度的互联网服务质量保证方法 |
CN101478476A (zh) * | 2008-12-08 | 2009-07-08 | 华为技术有限公司 | 一种分组微波数据的传输处理方法、装置及系统 |
CN101699795A (zh) * | 2009-10-29 | 2010-04-28 | 中兴通讯股份有限公司 | 一种报文拥塞处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104009935A (zh) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079501B (zh) | 一种基于多优先级的队列调度方法 | |
CN105337883B (zh) | 一种支持多业务的网络交换装置及其实现方法 | |
JP4354711B2 (ja) | リアルタイムトラヒックに対する保証された帯域幅配達を備える遅延最小化システム | |
JP3618390B2 (ja) | Atmスイッチにおける帯域幅要求を処理する装置および方法 | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
Xie et al. | A dynamic bandwidth allocation scheme for differentiated services in EPONs | |
US8553708B2 (en) | Bandwith allocation method and routing device | |
CN102487494B (zh) | 短信流量控制方法和系统 | |
US8174987B2 (en) | Method and apparatus for implementing output queue-based flow control | |
US7933202B2 (en) | Bounded minimal latency for network resources without synchronization | |
CN113207048B (zh) | 50g-pon网络中基于神经网络预测的上行带宽分配方法 | |
US10911364B2 (en) | Packet processing method and router | |
CN109618375A (zh) | 基于业务优先级和信道中断概率的uav自组网时隙调度算法 | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
CN104767695A (zh) | 一种数据中心中的任务级别的流调度方法 | |
CN116634313B (zh) | 光前传网络中单帧多突发的分配方法、突发帧上行方法、分配装置及计算机可读存储介质 | |
US20040022188A1 (en) | Memory sharing mechanism based on priority elevation | |
CN102347877A (zh) | 总线调度方法及装置 | |
CN100525245C (zh) | 一种用于多业务分组数据调度的装置和方法 | |
CN114039934B (zh) | 一种基于双轮询机制的多业务共存tdm-pon系统的调度方法 | |
CN110809012B (zh) | 列车网络通信数据调度控制方法 | |
CN104009935B (zh) | 一种优先级调度方法及装置 | |
JP2013520896A (ja) | 衛星通信資源の最適化割り当て方法および関連通信システム | |
CN108495278A (zh) | 一种卫星网络中低时延资源控制的业务传输方法 | |
CN113014465A (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 |