CN102223311A - 一种队列调度方法及装置 - Google Patents
一种队列调度方法及装置 Download PDFInfo
- Publication number
- CN102223311A CN102223311A CN201110195896XA CN201110195896A CN102223311A CN 102223311 A CN102223311 A CN 102223311A CN 201110195896X A CN201110195896X A CN 201110195896XA CN 201110195896 A CN201110195896 A CN 201110195896A CN 102223311 A CN102223311 A CN 102223311A
- Authority
- CN
- China
- Prior art keywords
- formation
- message
- outgoing interface
- queue
- corresponding physical
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种队列调度方法,包括:将第一报文的队列参数设定为第一队列;当第一队列的缓存超过阈值时,将第一报文的队列参数更新为第二队列;将第一报文从第二队列对应的物理出接口发送出去。此外,本发明实施例还提供了相应的队列调度装置。通过本发明实施例提出的队列调度方法及装置,可以提高报文的转发效率。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种队列调度方法及装置。
背景技术
网络设备对报文进行转发时广泛使用队列机制。队列机制可以实现策略管理。例如可以根据优先级从低到高的顺序,在网络设备的出接口设置8个队列,队列号分别是队列0至队列7。网络设备通过出接口将报文转发至下一跳网络设备前,先判断该报文的优先级,然后将该报文的对立参数设定为相应队列,进而将该报文存储在队列缓存中,等待出接口将其发送出去。
发明人发现现有技术存在如下问题:
队列缓存超过阈值将导致队列拥塞,进而降低报文转发的效率。
发明内容
本发明实施例提供一种队列调度方法及装置,可以提高报文的转发效率。
一方面,本发明实施例提供的一种队列调度方法,包括:
将第一报文的队列参数设定为第一队列;
当该第一队列的缓存超过阈值时,将该第一报文的队列参数更新为第二队列;
将该第一报文从该第二队列对应的物理出接口发送出去。
另一方面,本发明实施例提供的一种队列调度装置,包括:
第一分配单元,用于将第一报文的队列参数设定为第一队列;
第二分配单元,用于当该第一队列的缓存超过阈值时,将该第一报文的队列参数更新为第二队列;
发送器,用于将该第一报文从该第二队列对应的物理出接口发送出去。
可见,通过本发明实施例提供的队列调度方法及装置,可以提高报文的转发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供队列调度方法及装置应用于某一场景的组网结构图;
图2是本发明实施例提供的队列调度方法流程图;
图3是本发明实施例提供的队列调度装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种队列调度方法及装置,可以提高报文的转发效率。图1为本发明实施例某一应用场景的组网结构图。
图1的组网结构图包括四台路由器,分别是路由器(Router,R)1,R2,R3以及R4。R2收到R1转发的报文1后,解析该报文的目的因特网协议(Internet Protocol,IP)地址,得到报文1的目的IP地址R4。R2可通过物理链路1或者物理链路2将报文1转发至R4。其中,物理链路1对应物理出接口1,物理出接口1对应8个队列,队列号分别是队列0至队列7;物理链路2对应物理出接口2,物理出接口2对应8个队列,队列号分别是队列0至队列7。根据预先确定的规则,报文1的出接口确定为物理出接口1。物理出接口1的8个队列分别用于转发不同优先级的报文,R2根据报文1的优先级,将报文1的队列参数设定为队列3。由于队列3的缓存超过阈值,队列3已发生拥塞,R2无法及时转发报文1,报文1只能在发送缓存区等待。如果队列3的缓存达到最大值,后续进入队列3的报文将被丢弃。
实施例一:
本发明实施例提供了一种队列调度方法,可以用于图1所示的组网结构中,参见图2,图2是本发明实施例提供的队列调度方法流程图,该方法包括:
201:将第一报文的队列参数设定为第一队列;
具体实现时,将第一报文的队列参数设定为第一队列可以有多种实现方式,本发明不做具体的限定。例如网络设备收到第一报文后,根据第一报文的目的地址,确定第一报文对应的物理出接口,从而将第一报文进行转发出去。网络设备可以是路由器或者是交换机。第一报文的目的地址可以是IP地址,也可以是媒体访问控制(Media Access Control,MAC)地址。报文的队列参数用于指示报文将进入的队列。可以通过软件为报文设定或者更新队列参数。网络设备可以根据第一报文的优先级设定第一报文的队列参数,网络设备也可以不判断第一报文的优先级,随机设定第一报文的队列参数。
该第一报文可以是网络设备从上游收到的报文,也可以是网络设备生成的报文。
参见图1,网络设备可以是R2。R2收到第一报文后,将第一报文的出接口确定的物理出接口1,物理出接口1对应物理链路1。物理出接口1对应8个队列,队列号分别是队列0至队列7。R2将第一报文的队列参数设定为物理出接口1的队列3。物理出接口1的队列3为第一队列。
202:当该第一队列的缓存超过阈值时,将该第一报文的队列参数更新为第二队列;
进入第一队列并且尚未从物理出接口发出的报文构成第一队列的缓存。可以通过软件为第一队列的缓存设定阈值,该阈值可以是100K比特,也可以是其他值。当该第一队列的缓存的阈值为100K比特时,如果该第一队列的缓存大于100K比特,该第一队列的缓存超过阈值。
第二队列和第一队列可以属于同一物理出接口,也可以分别属于不同物理出接口。第二队列和第一队列的优先级可以相同,也可以不同。
参见图1,物理出接口1的队列3的缓存超过阈值,R2无法及时转发第一报文。R2将第一报文的队列参数更新为物理出接口2的队列4。物理出接口2对应8个队列,队列号分别是队列0至队列7。物理出接口2对应物理链路2,物理出接口2的队列4处于空闲状态。物理出接口2的队列4为第二队列。
203:将该第一报文从该第二队列对应的物理出接口发送出去。
参见图1,R2将第一报文从物理出接口2的队列4对应的物理出接口转发出去,物理出接口2对应物理链路2。由于物理链路2的队列4处于空闲状态,R2可以及时将第一报文转发出去,第一报文不需要在发送缓存区等待。
可见,通过本发明实施例提供的队列调度方法,可以提高报文的转发效率。
进一步的,还包括:
将第二报文的队列参数设定为该第二队列;
当该第二队列的缓存超过阈值时,将该第二报文的队列参数更新为该第一队列;
将该第二报文从该第一队列对应的物理出接口发送出去。
该方案的好处是,当第二队列的缓存超过阈值时,可以将报文从第一队列对应的物理出接口发送出去。也就是说,第一队列繁忙,第二队列空闲时,第二队列可以为第一队列进行负载分担;第一队列空闲,第二队列繁忙时,第一队列可以为第二队列进行负载分担。
进一步的,还包括:
当该第二队列的缓存超过阈值时,将该第一报文的队列参数更新为第三队列;
将该第一报文从该第三队列对应的物理出接口发送出去。
该方案的好处是,如果第二队列的缓存超过阈值,可以进一步将第一报文的队列参数更新为处于空闲状态的队列。
进一步的,还包括:
将第三报文的队列参数设定为第三队列;
当该第三队列的缓存超过阈值时,将该第三报文的队列参数更新为该第二队列;
将该第三报文从该第二队列对应的物理出接口发送出去。
该方案的好处是,第二队列不仅可以为第一队列进行负载分担,也可以为第三队列进行负载分担。第二队列可以为多个队列进行负载分担,提高了第二队列的利用效率。
进一步的,该第一队列对应的物理出接口和该第二队列对应的物理出接口属于同一物理出接口或者不同物理出接口。
进一步的,当该第一队列对应的物理出接口和该第二队列对应的物理出接口属于不同物理出接口时,该第一队列对应的物理出接口和该第二队列对应的物理出接口属于同一汇聚(trunk)口。
实施例二:
本发明实施例提供了一种队列调度装置,可以用于图1所示的组网结构中。该队列调度装置可以是图1中的R2。参见图3,图3是本发明实施例提供的队列调度装置示意图;该装置包括:
第一分配单元301,用于将第一报文的队列参数设定为第一队列;
具体实现时,将第一报文的队列参数设定为第一队列可以有多种实现方式,本发明不做具体的限定。例如网络设备收到第一报文后,根据第一报文的目的地址,确定第一报文对应的物理出接口,从而将第一报文进行转发出去。网络设备可以是路由器或者是交换机。第一报文的目的地址可以是IP地址,也可以是MAC地址。报文的队列参数用于指示报文将进入的队列。可以通过软件为报文设定或者更新队列参数。网络设备可以根据第一报文的优先级设定第一报文的队列参数,网络设备也可以不判断第一报文的优先级,随机设定第一报文的队列参数。
该第一报文可以是网络设备从上游收到的报文,也可以是网络设备生成的报文。
参见图1,网络设备可以是R2。R2收到第一报文后,将第一报文的出接口确定的物理出接口1,物理出接口1对应物理链路1。物理出接口1对应8个队列,队列号分别是队列0至队列7。R2将第一报文的队列参数设定为物理出接口1的队列3。物理出接口1的队列3为第一队列。
第二分配单元302,用于当该第一队列的缓存超过阈值时,将该第一报文的队列参数更新为第二队列;
进入第一队列并且尚未从物理出接口发出的报文构成第一队列的缓存。可以通过软件为第一队列的缓存设定阈值,该阈值可以是100K比特,也可以是其他值。当该第一队列的缓存的阈值为100K比特时,如果该第一队列的缓存大于100K比特,该第一队列的缓存超过阈值。
第二队列和第一队列可以属于同一物理出接口,也可以分别属于不同物理出接口。第二队列和第一队列的优先级可以相同,也可以不同。
参见图1,物理出接口1的队列3的缓存超过阈值,R2无法及时转发第一报文。R2将第一报文的队列参数更新为物理出接口2的队列4。物理出接口2对应8个队列,队列号分别是队列0至队列7。物理出接口2对应物理链路2,物理出接口2的队列4处于空闲状态。物理出接口2的队列4为第二队列。
发送器303,用于将该第一报文从该第二队列对应的物理出接口发送出去。
参见图1,R2将第一报文从物理出接口2的队列4对应的物理出接口转发出去,物理出接口2对应物理链路2。由于物理链路2的队列4处于空闲状态,R2可以及时将第一报文转发出去,第一报文不需要在发送缓存区等待。
可见,通过本发明实施例提供的队列调度装置,可以提高报文的转发效率。
进一步的,
该第二分配单元还用于将第二报文的队列参数设定为该第二队列;
该第一分配单元还用于当该第二队列的缓存超过阈值时,将该第二报文的队列参数更新为该第一队列;
该发送器还用于将该第二报文从该第一队列对应的物理出接口发送出去。
该方案的好处是,当第二队列的缓存超过阈值时,可以将报文从第一队列对应的物理出接口发送出去。也就是说,第一队列繁忙,第二队列空闲时,第二队列可以为第一队列进行负载分担;第一队列空闲,第二队列繁忙时,第一队列可以为第二队列进行负载分担。
进一步的,该装置还可以包括:
第三分配单元,用于当该第二队列的缓存超过阈值时,将该第一报文的队列参数更新为第三队列;
该发送器还用于将该第一报文从该第三队列对应的物理出接口发送出去。
该方案的好处是,如果第二队列的缓存超过阈值,可以进一步将第一报文的队列参数更新为处于空闲状态的队列。
进一步的,该装置还可以包括:
第三分配单元,用于将第三报文的队列参数设定为第三队列;
该第二分配单元还用于当该第三队列的缓存超过阈值时,将该第三报文的队列参数更新为该第二队列;
该发送器还用于将该第三报文从该第二队列对应的物理出接口发送出去。
该方案的好处是,第二队列不仅可以为第一队列进行负载分担,也可以为第三队列进行负载分担。第二队列可以为多个队列进行负载分担,提高了第二队列的利用效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种队列调度方法,其特征在于:
将第一报文的队列参数设定为第一队列;
当所述第一队列的缓存超过阈值时,将所述第一报文的队列参数更新为第二队列;
将所述第一报文从所述第二队列对应的物理出接口发送出去。
2.根据权利要求1所述方法,其特征在于:
将第二报文的队列参数设定为所述第二队列;
当所述第二队列的缓存超过阈值时,将所述第二报文的队列参数更新为所述第一队列;
将所述第二报文从所述第一队列对应的物理出接口发送出去。
3.根据权利要求2所述方法,其特征在于:
当所述第二队列的缓存超过阈值时,将所述第一报文的队列参数更新为第三队列;
将所述第一报文从所述第三队列对应的物理出接口发送出去。
4.根据权利要求2所述方法,其特征在于:
将第三报文的队列参数设定为第三队列;
当所述第三队列的缓存超过阈值时,将所述第三报文的队列参数更新为所述第二队列;
将所述第三报文从所述第二队列对应的物理出接口发送出去。
5.根据权利要求2所述方法,其特征在于:
所述第一队列对应的物理出接口和所述第二队列对应的物理出接口属于同一物理出接口或者不同物理出接口。
6.根据权利要求5所述方法,其特征在于:
当所述第一队列对应的物理出接口和所述第二队列对应的物理出接口属于不同物理出接口时,所述第一队列对应的物理出接口和所述第二队列对应的物理出接口属于同一汇聚trunk口。
7.一种队列调度装置,其特征在于,包括:
第一分配单元,用于将第一报文的队列参数设定为第一队列;
第二分配单元,用于当所述第一队列的缓存超过阈值时,将所述第一报文的队列参数更新为第二队列;
发送器,用于将所述第一报文从所述第二队列对应的物理出接口发送出去。
8.根据权利要求7所述装置,其特征在于:
所述第二分配单元还用于将第二报文的队列参数设定为所述第二队列;
所述第一分配单元还用于当所述第二队列的缓存超过阈值时,将所述第二报文的队列参数更新为所述第一队列;
所述发送器还用于将所述第二报文从所述第一队列对应的物理出接口发送出去。
9.根据权利要求8所述装置,其特征在于,包括:
第三分配单元,用于当所述第二队列的缓存超过阈值时,将所述第一报文的队列参数更新为第三队列;
所述发送器还用于将所述第一报文从所述第三队列对应的物理出接口发送出去。
10.根据权利要求8所述装置,其特征在于,包括:
第三分配单元,用于将第三报文的队列参数设定为第三队列;
所述第二分配单元还用于当所述第三队列的缓存超过阈值时,将所述第三报文的队列参数更新为所述第二队列;
所述发送器还用于将所述第三报文从所述第二队列对应的物理出接口发送出去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110195896XA CN102223311A (zh) | 2011-07-13 | 2011-07-13 | 一种队列调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110195896XA CN102223311A (zh) | 2011-07-13 | 2011-07-13 | 一种队列调度方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102223311A true CN102223311A (zh) | 2011-10-19 |
Family
ID=44779743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110195896XA Pending CN102223311A (zh) | 2011-07-13 | 2011-07-13 | 一种队列调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102223311A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739536A (zh) * | 2012-06-26 | 2012-10-17 | 华为技术有限公司 | 一种报文缓存方法及路由器 |
CN103838547A (zh) * | 2012-11-27 | 2014-06-04 | 中国电信股份有限公司 | 一种队列的管理方法和装置 |
CN107767236A (zh) * | 2017-11-14 | 2018-03-06 | 北京小度信息科技有限公司 | 一种订单推送方法、装置、服务器和计算机可读存储介质 |
CN109005128A (zh) * | 2018-08-21 | 2018-12-14 | 新华三技术有限公司 | 一种协议报文调度方法、装置及网络设备 |
CN109547352A (zh) * | 2018-11-07 | 2019-03-29 | 杭州迪普科技股份有限公司 | 报文缓存队列的动态分配方法和装置 |
WO2019232694A1 (zh) * | 2018-06-05 | 2019-12-12 | 华为技术有限公司 | 队列控制方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020136230A1 (en) * | 2000-12-15 | 2002-09-26 | Dell Martin S. | Scheduler for a packet routing and switching system |
CN101656674A (zh) * | 2009-09-23 | 2010-02-24 | 中国人民解放军信息工程大学 | 拥塞控制方法及网络节点 |
CN101984608A (zh) * | 2010-11-18 | 2011-03-09 | 中兴通讯股份有限公司 | 报文拥塞避免方法及系统 |
-
2011
- 2011-07-13 CN CN201110195896XA patent/CN102223311A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020136230A1 (en) * | 2000-12-15 | 2002-09-26 | Dell Martin S. | Scheduler for a packet routing and switching system |
CN101656674A (zh) * | 2009-09-23 | 2010-02-24 | 中国人民解放军信息工程大学 | 拥塞控制方法及网络节点 |
CN101984608A (zh) * | 2010-11-18 | 2011-03-09 | 中兴通讯股份有限公司 | 报文拥塞避免方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739536A (zh) * | 2012-06-26 | 2012-10-17 | 华为技术有限公司 | 一种报文缓存方法及路由器 |
CN103838547A (zh) * | 2012-11-27 | 2014-06-04 | 中国电信股份有限公司 | 一种队列的管理方法和装置 |
CN103838547B (zh) * | 2012-11-27 | 2018-05-11 | 中国电信股份有限公司 | 一种队列的管理方法和装置 |
CN107767236A (zh) * | 2017-11-14 | 2018-03-06 | 北京小度信息科技有限公司 | 一种订单推送方法、装置、服务器和计算机可读存储介质 |
WO2019232694A1 (zh) * | 2018-06-05 | 2019-12-12 | 华为技术有限公司 | 队列控制方法、装置及存储介质 |
CN109005128A (zh) * | 2018-08-21 | 2018-12-14 | 新华三技术有限公司 | 一种协议报文调度方法、装置及网络设备 |
CN109547352A (zh) * | 2018-11-07 | 2019-03-29 | 杭州迪普科技股份有限公司 | 报文缓存队列的动态分配方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102369688B (zh) | 资源动态调整方法和调度设备 | |
CN103476062B (zh) | 一种数据流调度的方法、设备和系统 | |
CN103493449B (zh) | 分组交换网络中的有效电路 | |
CN102843299A (zh) | 基于TCAM实现Openflow多级流表的方法及系统 | |
CN102223311A (zh) | 一种队列调度方法及装置 | |
CN104378308A (zh) | 报文发送速率检测方法及装置 | |
US20120099431A1 (en) | Method and device for controlling information channel flow | |
JP2011103614A (ja) | パケット振り分け機能を有する装置及びパケット振り分け方式 | |
CN106330742B (zh) | 一种流量控制的方法及网络控制器 | |
CN102195885A (zh) | 报文处理方法及装置 | |
CN103220219A (zh) | 一种报文转发方法和设备 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN108667746B (zh) | 一种在深空延时容忍网络中实现业务优先级的方法 | |
CN104836681A (zh) | 一种多链路绑定的数据分发方法及装置 | |
CN103236984A (zh) | 一种延迟容忍网络中高效的传染路由缓存管理策略 | |
CN111181873A (zh) | 数据发送方法、装置、存储介质和电子设备 | |
WO2012116540A1 (zh) | 流量管理的方法和管理装置 | |
CN105049368A (zh) | 一种混合网络下基于优先权的负载均衡算法 | |
CN103685061A (zh) | 缓存数据控制方法和装置 | |
CN102984081A (zh) | 网络设备中报文处理方法及系统 | |
Gran et al. | Exploring the scope of the InfiniBand congestion control mechanism | |
CN101808037B (zh) | 交换网中流量管理的方法和装置 | |
CN101917646A (zh) | 报文发送方法及装置 | |
CN102333026A (zh) | 报文转发方法及装置 | |
CN102255816A (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 | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing, Haidian District on the road, No. 3 Applicant after: Beijing Huawei Digital Technology Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road, No. 3 Applicant before: Huawei Digit Technology Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: HUAWEI DIGIT TECHNOLOGY CO., LTD. TO: BEIJING HUAWEI DIGITAL TECHNOLOGY CO., LTD. |
|
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20111019 |