队列调度方法及装置的制作方法

文档序号:7888430阅读:213来源:国知局
专利名称:队列调度方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种队列调度方法及装置。
背景技术
当前网络发展日新月异,随着网络上新应用的不断出现,对网络的服务质量也提出了新的要求,例如VoIP等实时业务就对报文的传输延迟提出了较高的要求,如果报文传送延时太长,用户将不能接受(相对而言,E-Mail和FTP等业务对时间延迟并不敏感)。为了支持具有不同服务需求的语音,视频以及数据等业务,要求网络能够区分不同的通信,进而为之提供相应的服务,服务质量(Quality of Service,简称为QoS)技术的出现便致力于解决这个问题。队列调度是QoS —个重要的技术,根据需要不同的业务在交换芯片上面可以上不同的队列,当网络出现拥塞的时候需要使用队列调度技术决定报文的转发优先级,传统的队列调度技术有严格优先级(Strict Priority,简称为SP)和整形加权轮循(Shaped Deficit Weighted Round-Robin,简称为SDWRR)调度算法以及SP+SDWRR组合调度等算法, SP调度和SDWRR仅仅可以满足一些场景的需求,SP+SDWRR组合调度实现不够灵活,还存在一些技术缺陷,比如低队列的SP和高队列SDWRR之间调度存在问题,有些芯片实现低队列的SP优先高队列的SDWRR调度,有些芯片实现高队列的SDWRR优先低队列的SP调度,但是实际情况是不同的应用场景低队列的SP和高队列的SDWRR之间的调度需要灵活实现。虽然层次化QoS可以解决队列灵活调度的问题,但是层次化QoS会大大增加系统的复杂度和成本。针对相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题,本发明提供了一种队列调度方法及装置,以至少解决上述问题。根据本发明的一个方面,提供了一种队列调度方法,包括根据交换芯片端口的调度方式确定将要调度的队列组;按照所述队列组的调度方式对所述队列组内的队列进行调度。优选地,根据所述交换芯片端口的调度方式确定将要调度的队列组之前,该方法还包括设置所述交换芯片各个出端口的调度方式,其中,所述出端口的调度方式用于队列组之间的调度;设置所述交换芯片各个出端口的各个队列组的调度方式,其中,所述各个队列组的调度方式用于所述各个队列组内的队列之间的调度。优选地,所述按照所述队列组的调度方式对所述队列组内的队列进行调度之前, 该方法还包括在所述交换芯片的出端口将报文的队列映射到相应的队列组。优选地,所述端口的调度方式或所述队列组的调度方式包括以下之一 SP调度、SDffRR调度、SP与SDWRR组合调度。优选地,根据所述交换芯片端口的调度方式确定将要调度的队列组包括在所述端口的调度方式为SP调度的情况下,按照优先级从高到低的顺序确定所述将要调度的队列组。优选地,根据所述交换芯片端口的调度方式确定将要调度的队列组包括在所述端口的调度方式为SDWRR调度的情况下,按照队列组之间的权重比确定所述将要调度的队列组。根据本发明的另一方面,提供了一种队列调度装置,包括确定模块,用于根据交换芯片端口的调度方式确定将要调度的队列组;调度模块,用于按照所述队列组的调度方式对所述队列组内的队列进行调度。优选地,所述装置还包括第一设置模块,用于设置所述交换芯片各个出端口的调度方式,其中,所述出端口的调度方式用于队列组之间的调度;第二设置模块,用于设置所述交换芯片各个出端口的各个队列组的调度方式,其中,所述各个队列组的调度方式用于所述各个队列组内的队列之间的调度。优选地,所述装置还包括映射模块,用于在所述交换芯片的出端口将报文的队列映射到相应的队列组。优选地,所述确定模块还用于在所述端口的调度方式为SP调度的情况下,按照优先级从高到低的顺序确定所述将要调度的队列组。优选地,所述确定模块还用于在所述端口的调度方式为SDWRR调度的情况下,按照队列组之间的权重比确定所述将要调度的队列组。通过本发明,在需要调度时,根据交换芯片端口的调度方式选择将要调度的队列组,在队列组中按照队列组的调度方式选择需要调度的队列进行调度,能够在同一次调度中先根据不同队列组之间的调度方式确定队列组,再按照队列组内的调度方式调度队列, 提高了 QoS队列调度的灵活性,同时本实施例的方式使用一级调度完成上述功能,不增加硬件成本,从而解决了相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例的队列调度方法的流程图;图2是根据本发明实施例的队列调度装置的结构框图;图3是根据本发明优选实施例的队列调度装置的结构框图;图4是根据本发明优选实施例的基于队列组的调度方法的配置示意图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。考虑到上述问题,本实施例提供了一种队列调度方法,图I是根据本发明实施例的队列调度方法的流程图,如图I所示,该方法包括如下步骤步骤S102,根据交换芯片端口的调度方式确定将要调度的队列组;步骤S104,按照队列组的调度方式对队列组内的队列进行调度。本实施例通过上述步骤,在需要调度时,根据交换芯片端口的调度方式选择将要调度的队列组,在队列组中按照队列组的调度方式选择需要调度的队列进行调度,能够在同一次调度中先根据不同队列组之间的调度方式确定队列组,再按照队列组内的调度方式调度队列,提高了 QoS队列调度的灵活性,同时本实施例的方式使用一级调度完成上述功能,不增加硬件成本,从而解决了相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题。步骤S102中交换芯片端口的调度方式以及步骤S104中队列组的调度方式可以是固定的,例如,可以使用出端口预定的调度方式,并通过入端口决定报文在出端口的队列。 作为一种优选实施方式,在步骤S102之前,还可以设置交换芯片各个出端口的调度方式, 其中,出端口的调度方式用于队列组之间的调度;设置交换芯片各个出端口的各个队列组的调度方式,其中,各个队列组的调度方式用于各个队列组内的队列之间的调度。通过这种方式,可以灵活设置队列组之间的调度方式以及队列组内的调度方式,实用性强。需要说明的是,在实施过程中,队列调度可以是出口调度、出口设置,入端口决定报文在出端口的队列。对于队列组的划分,可以是按照队列的ID号划分,或者是按照队列的时间顺序划分,作为一种优选实施方式,还可以在交换芯片的出端口将报文的队列映射到相应的队列组。通过上述映射方式,能够将队列灵活划分至用户需要的队列组中,提高了实用性。为了进一步提高上述方法的适用范围,端口的调度方式或队列组的调度方式可以包括以下之一严格优先级(SP)调度、整形加权轮询(SDWRR)调度、SP与SDWRR组合调度。优选地,在步骤S102中队列组之间的调度方式包括在端口的调度方式为SP调度的情况下,按照优先级从高到低的顺序确定将要调度的队列组;和/或,在端口的调度方式为 SDWRR调度的情况下,按照队列组之间的权重比确定将要调度的队列组。通过上述方式,对于队列组之间调度方式的灵活设置,进一步提高了 QoS队列调度的灵活性。对应于上述方法,本实施例还提供了一种队列调度装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现, 但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是根据本发明实施例的队列调度装置的结构框图,如图2所示,该装置包括确定模块22和调度模块24。下面对该装置进行详细说明。确定模块22,用于根据交换芯片端口的调度方式确定将要调度的队列组;调度模块24,与确定模块22相耦合,用于按照队列组的调度方式对确定模块22确定的队列组内的队列进行调度。本实施例通过上述装置,在需要调度时,确定模块22根据交换芯片端口的调度方式选择将要调度的队列组,调度模块24在队列组中按照队列组的调度方式选择需要调度的队列进行调度,能够在同一次调度中先根据不同队列组之间的调度方式确定队列组,再按照队列组内的调度方式调度队列,提高了 QoS队列调度的灵活性,同时本实施例的方式使用一级调度完成上述功能,不增加硬件成本,从而解决了相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题。图3是根据本发明优选实施例的队列调度装置的结构框图,如图3所示,该装置还可以包括第一设置模块32,与确定模块22相耦合,用于设置交换芯片各个出端口的调度方式,其中,出端口的调度方式用于队列组之间的调度;第二设置模块34,与调度模块24相耦合,用于设置交换芯片各个出端口的各个队列组的调度方式,其中,各个队列组的调度方式用于各个队列组内的队列之间的调度。映射模块36,与调度模块24和第二设置模块34相耦合,用于在交换芯片的出端口将报文的队列映射到相应的队列组。优选地,上述确定模块22还可以用于在端口的调度方式为严格优先级(SP)调度的情况下,按照优先级从高到低的顺序确定将要调度的队列组;和/或,在端口的调度方式为整形加权轮询(SDWRR)调度的情况下,按照队列组之间的权重比确定将要调度的队列组。下面结合优选实施例进行说明,该优选实施例结合了上述实施例及优选实施方式。本优选实施例为交换芯片提供了一种基于队列组的调度方法和装置,涉及交换机等网络设备,尤其涉及交换芯片一种基于队列组的调度方法和装置。本优选实施例中的队列调度采用一级调度,可以同时基于队列组之间,队列组内各个队列间进行分别调度,从而实现各个队列之间灵活的调度。 在本实施例中,交换芯片报文的入口转发流程决定报文的出端口和队列,报文在交换芯片的出口按照队列进行排队,各个队列指定队列组,每个端口出口可以设置调度方式,该调度方式用于队列组之间的调度(SP,SDWRR,SP+SDWRR组合调度);可以基于队列组设置调度方式,该调度方式用于队列组内的队列之间的调度(SP,SDWRR,SP+SDWRR组合调度)。本实施例的基于队列组的交换机队列调度方法包括以下步骤步骤一,设置各个出端口的调度方式,该调度方式用于队列组之间的调度,设置各个出端口的各个队列组的调度方式,该调度方式用于队列组内的队列之间的调度。步骤二,通过交换芯片的入口处理流程决定报文的出端口及队列。步骤三,在出端口,将报文的队列映射到相应的队列组。步骤四,交换芯片进行队列调度,根据端口的调度方式在队列组之间调度,调度到相应的队列组的时候根据队列组的调度方式决定最终调度的队列。本实施例通过上述方式,使用一级调度实现各个队列间的灵活调度,既实现了队列灵活调度,又不增加系统复杂度和成本,可以解决目前中、低端交换机(一般没有HQoS) 存在的队列调度不灵活的弊端。下面结合附图对本实施例在交换芯片上面实现基于队列组的调度方法和装置进行说明。图4是根据本发明优选实施例的基于队列组的调度方法的配置示意图,如图4所示,假设交换芯片端口 I出口带宽为1G,存在8个队列0-7,现在用户需要队列7全部通过, 队列2-6采用SDWRR调度方式,其权重比为I :2:3:4: 5,队列0_1也是采用SDWRR调度方式,其权重比为I : 2,队列2-6要求始终优先于队列0-1通过。如果按照目前交换芯片的调度算法(SP,SDWRR,SP+SDWRR)无法实现用户的需要, 使用本实施例中的交换芯片的调度方法包括如下步骤步骤一设置端口 I调度方式为SP,该调度方式用于队列组之间进行调度。步骤二 设置队列O、队列I的队列组为队列组1,设置队列2-6的队列组为队列组 2,设置队列7的队列组为队列组3.步骤三设置队列组I的调度方式为SDWRR(例如,队列O、队列I的调度权重为I : 2),设置队列组2的调度方式为SDWRR(例如,队列2-6的调度权重为 1:2:3:4: 5),设置队列组3的调度方式为SP。步骤四交换芯片从端口 I出去的报文队列可以按照用户的需求进行灵活调度。从以上的描述中,可以看出,本发明实现了如下技术效果本实施例在需要调度时,根据交换芯片端口的调度方式选择将要调度的队列组,在队列组中按照队列组的调度方式选择需要调度的队列进行调度,能够在同一次调度中先根据不同队列组之间的调度方式确定队列组,再按照队列组内的调度方式调度队列,提高了 QoS队列调度的灵活性,同时本实施例的方式使用一级调度完成上述功能,不增加硬件成本,从而解决了相关技术中的 QoS在成本较低的情况下,调度方式灵活性较差的问题。在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施例中描述的技术方案。在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种队列调度方法,其特征在于,包括根据交换芯片端口的调度方式确定将要调度的队列组;按照所述队列组的调度方式对所述队列组内的队列进行调度。
2.根据权利要求I所述的方法,其特征在于,根据所述交换芯片端口的调度方式确定将要调度的队列组之前,还包括设置所述交换芯片各个出端口的调度方式,其中,所述出端口的调度方式用于队列组之间的调度;设置所述交换芯片各个出端口的各个队列组的调度方式,其中,所述各个队列组的调度方式用于所述各个队列组内的队列之间的调度。
3.根据权利要求2所述的方法,其特征在于,所述按照所述队列组的调度方式对所述队列组内的队列进行调度之前,还包括在所述交换芯片的出端口将报文的队列映射到相应的队列组。
4.根据权利要求I至3中任一项所述的方法,其特征在于,所述端口的调度方式或所述队列组的调度方式包括以下之一严格优先级SP调度、整形加权轮询SDWRR调度、SP与SDWRR组合调度。
5.根据权利要求4所述的方法,其特征在于,根据所述交换芯片端口的调度方式确定将要调度的队列组包括在所述端口的调度方式为SP调度的情况下,按照优先级从高到低的顺序确定所述将要调度的队列组。
6.根据权利要求4所述的方法,其特征在于,根据所述交换芯片端口的调度方式确定将要调度的队列组包括在所述端口的调度方式为SDWRR调度的情况下,按照队列组之间的权重比确定所述将要调度的队列组。
7.一种队列调度装置,其特征在于,包括确定模块,用于根据交换芯片端口的调度方式确定将要调度的队列组;调度模块,用于按照所述队列组的调度方式对所述队列组内的队列进行调度。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括第一设置模块,用于设置所述交换芯片各个出端口的调度方式,其中,所述出端口的调度方式用于队列组之间的调度;第二设置模块,用于设置所述交换芯片各个出端口的各个队列组的调度方式,其中,所述各个队列组的调度方式用于所述各个队列组内的队列之间的调度。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括映射模块,用于在所述交换芯片的出端口将报文的队列映射到相应的队列组。
10.根据权利要求7所述的装置,其特征在于,所述确定模块还用于在所述端口的调度方式为严格优先级SP调度的情况下,按照优先级从高到低的顺序确定所述将要调度的队列组。
11.根据权利要求7所述的装置,其特征在于,所述确定模块还用于在所述端口的调度方式为整形加权轮询SDWRR调度的情况下,按照队列组之间的权重比确定所述将要调度的队列组。
全文摘要
本发明公开了一种队列调度方法及装置,其中,该方法包括根据交换芯片端口的调度方式确定将要调度的队列组;按照队列组的调度方式对队列组内的队列进行调度。通过本发明,在需要调度时,根据交换芯片端口的调度方式选择将要调度的队列组,在队列组中按照队列组的调度方式选择需要调度的队列进行调度,能够在同一次调度中先根据不同队列组之间的调度方式确定队列组,再按照队列组内的调度方式调度队列,提高了QoS队列调度的灵活性,同时本实施例的方式使用一级调度完成上述功能,不增加硬件成本,从而解决了相关技术中的QoS在成本较低的情况下,调度方式灵活性较差的问题。
文档编号H04L12/56GK102594663SQ20121002221
公开日2012年7月18日 申请日期2012年2月1日 优先权日2012年2月1日
发明者潘庭山 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1