一种队列调度方法及系统的制作方法

文档序号:7711057阅读:145来源:国知局
专利名称:一种队列调度方法及系统的制作方法
技术领域
本发明涉及数据通信领域,尤其涉及一种队列调度方法及系统。
背景技术
在计算机数据通讯中,由于广域网和局域网之间以及不同局域网之间的带宽不 一致,因此,在数据流的传输过程中,往往会发生拥塞现象,当流量发生拥塞时,需要 对流量进行管理和控制。 目前,为了保证网络中不同用户,不同业务的QoS(Quality of Service,服务质
量),当数据流传输过程中发生流量拥塞现象时,对数据流进行管理和控制的方法主要采 用以下几种技术流分类、测量、队列调度、丢弃策略、流量限速、流量整形等。目 前,对数据流进行管理和控制往往采用上述几种技术相结合的方式实现,但多种技术并 不能很紧密的融合在一起,如对报文进行测量之后,在队列调度时并不应用报文测量的 结果,在队列调度时,仍然无区分的处理测量后的报文,各队列的承诺带宽无法得到优 先保证。 另外,由于各队列存在优先级,在队列调度时,各队列的突发速率带宽和承诺 速率带宽享有同等的调度权,因此,在发生流量拥塞的现象时,虽然可以为每个队列分 配特定的调度权重,但这种方式并没有从根本上保证承诺带宽的优先发送权,丢失了报 文测量的信息,因此,报文测量在一定程度上只起到了限速的作用,报文测量后的颜色 在后续的处理中被忽略掉了,在流量发生拥塞时,无法优先保证各队列的承诺带宽。

发明内容
本发明实施例提供一种队列调度方法及系统,以解决现有队列调度过程中,无
法优先保证队列的承诺带宽而导致业务服务质量较差的问题。
—种队列调度方法,包括 根据测量得到的报文的速率,将速率低于为该类别报文设置的第一阈值的报文 送入第一队列组中与该报文的类别对应的队列,将速率介于为该类别报文设置的第一阈 值与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队列,其中,所述第 一阈值小于第二阈值; 根据网络的运行状态确定对应的调度策略,根据确定出的调度策略调度第一队 列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到第二调度队列;其 中,第一调度队列的优先级高于第二调度队列; 按照优先级从高到低的顺序,调度第一调度队列和第二调度队列中的报文。
—种队列调度系统,包括 报文入队模块,用于根据测量得到的报文的速率,将速率低于为该类别报文设 置的第一阈值的报文送入第一队列组中与该报文的类别对应的队列,将速率介于为该类 别报文设置的第一阈值与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队列,其中,所述第一阈值小于第二阈值; 第一级调度模块,用于根据网络的运行状态确定对应的调度策略,根据确定出
的调度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报
文到第二调度队列;其中,第一调度队列的优先级高于第二调度队列; 第二级调度模块,用于按照优先级从高到低的顺序,调度第一调度队列和第二
调度队列中的报文。 本发明实施例中,根据测量得到的报文的速率,将速率低于为该类别报文设置 的第一阈值的报文送入第一队列组中与该报文的类别对应的队列,将速率介于为该类别 报文设置的第一阈值与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队 列;根据网络的运行状态确定对应的调度策略,根据确定出的调度策略调度第一队列组 队列中的报文到第一调度队列、调度第二队列组队列中的报文到第二调度队列;其中, 第一调度队列的优先级高于第二调度队列;按照优先级从高到低的顺序,调度第一调 度队列和第二调度队列中的报文。采用本发明技术方案,由于根据测量所得到的报文 速率,优先发送速率低于为该类别报文设置的第一阈值的报文,再发送速率介于为该类 别报文设置的第一阈值与第二阈值之间的报文,从而使得在队列调度时,更好的控制流 量,并且由于第一阈值可以根据实际情况进行设定,因此,采用本发明技术方案可以优 先保证队列第一阈值的带宽,提高业务服务质量。


图1为本发明实施例中实现队列调度的方法流程图; 图2为本发明实施例中队列调度的示意图; 图3为本发明实施例中实现队列调度的系统的结构示意图。
具体实施例方式
下面结合说明书附图对本发明实施例进行详细的描述。 参见图l,为本发明实施例中队列调度的方法流程图,该方法包括以下步骤;
步骤IOI、对各报文进行分类,根据分类结果将报文分别送入与该报文类别对应 的队列中。 该步骤中,根据各报文的特征,通过ACL(Access Control Lists,访问控制列表) 等分类策略,对报文进行分类。 步骤102、测量各队列中的报文的速率,根据各报文的速率、各队列配置的承诺 速率和突发速率,对各报文进行着色。 该步骤中,每个队列预先配置有承诺速率和突发速率(设置的承诺速率低于突发 速率),将测量得到的报文的速率与其所在的队列的承诺速率和突发速率进行比较,将速 率低于其所在队列的承诺速率的报文着绿色,将速率介于其所在队列的承诺速率与突发 速率之间的报文着黄色,对于速率大于其所在队列的突发速率的报文丢弃。
步骤103、根据报文的颜色,将各队列中的报文分别送入至相应颜色的队列组中 与报文的类别对应的队列中,进行第一级调度。 该步骤中,队列组可包括黄色队列组与绿色队列组,队列组中包含有多个队列,该队列的数量可与报文的类别的总数相等,将各队列中着绿色的报文发送至绿色队 列组中与报文类别相对应的队列中;将各队列中着黄色的报文发送至黄色队列组中与报 文类别相对应的队列中。对绿、黄队列组分别进行第一级调度。 步骤104、将绿、黄队列组中的经第一级调度后的报文送入至相应的两个队列 (如绿色队列和黄色队列)中进行第二级调度,绿色队列优先级高于黄色队列,将各队列 中的报文送出。 该步骤中,将绿色队列组中的报文调度至绿色队列中,可根据网络运行状态的 情况采取不同的调度模式,如当网络未发生拥塞时,不管采用何种调度模式,都可以 将绿色队列组中的所有报文发送至相应的队列中;当网络发生拥塞时,可以采用合适的 调度模式将绿色队列组中的全部或部分报文发送出去,若将绿色队列组中的全部报文发 送至绿色队列时,可采用SP(Strict Priority Scheduling,严格优先级调度)的调度模式, 应用该模式如下绿色队列组中的各队列设置有优先级,在调度该绿色队列组中的报文 时,根据各队列的优先级,按照优先级从高到低的顺序,发送各队列中的报文;若将绿 色队列组中的部分报文调度至绿色队列中,可采用WRR(Weighted Round Robin,加权轮 询调度)的调度模式,应用该模式如下绿色队列组中的各队列设置有对应的权重,根据 各队列的权重,将各队列中与各自权重对应数量的报文送入第一队列;或者,采用SP的 调度模式,应用该模式如下绿色队列组中各队列设置有对应的优先级,根据各队列的 优先级,按照优先级从高到低的顺序将部分队列中的报文送入绿色队列中。
将黄色队列组中的报文调度至黄色队列中,可根据不同的情况采取不同的调度 模式,如当不发生拥塞时,不管采用何种调度模式,都可以将黄色队列组中的所有 报文发送至相应的黄色队列中;当发生拥塞时,可以采用合适的调度模式(如WRR、
WFQ(Weighted Fair Queuing, 加权公平队列)或CBWFQ(Class Based Weighted Fair Queuing,基于类的加权公平队列)等调度模式)将黄色队列组中的部分报文发送至黄色队 列中;如采用WRR调度模式,应用该调度模式如下各队列设置有对应的权重,根据 各队列的权重,将各队列中与各自权重对应数量的报文送入第黄色队列中;或者,采用 SP调度模式,应用该调度模式如下黄色队列组中各队列设置有对应的优先级,根据各 队列的优先级,按照优先级从高到低的顺序将部分队列中的报文送入黄色队列中。
该步骤中,绿色队列的优先级高于黄色队列的优先级,因此,绿色报文队列中 的报文享有优先发送权,即优先发送绿色队列中的报文,在绿色队列中的报文发送完毕 后,再发送黄色队列中的报文。 为更清楚的描述本发明实施例,以便所属领域的技术人员能够更清楚的理解, 下面以一具体的实例对本发明技术方案进行更为详细的描述。 参见图2,为本发明具体实例中的队列调度的示意图,该实例中,首先,将各 报文通过分类器,通过如ACL等分类策略,根据各报文的特征,将报文发送至8个队列 中;分别对该8个队列中的报文的速率进行测量,根据测量结果,对各报文进行着色, 如针对速率小于其所在队列的承诺速率的报文着绿色(附图2中表示为白色),针对速率 介于其所在队列的承诺速率与突发速率的报文着黄色(附图2中表示为黑色),将速率高 于其所在队列的突发速率的报文丢弃;其次,该8个队列分别将其着绿色的报文发送至 绿色队列组(绿色队列组中包括8个队列,该8个队列与前述测量报文速率时的8个队列的序号一一对应)中相同序号的队列中,该8个队列分别将其着黄色的报文发送至黄色队 列组(黄色队列组中包括8个队列,该8个队列与前述测量报文速率时的8个队列的序号 一一对应)中相同序号的队列中;然后,对绿色队列组与黄色队列组中的报文进行第一级
调度,该第一级调度具体为针对绿色队列组,采用SP的调度模式,为该队列组中的各
队列设置有对应优先级,按照优先级从高到低的顺序,将绿色队列组中的8个队列中的 报文发送至绿色队列中,高优先级队列可抢占低优先级的队列的信道资源发送报文;针 对黄色队列组,可采用WRR的调度模式,为该队列组中的各队列设置有对应权重,按照 各队列的权重,将各队列中与各自权重对应数量的(该数量与权重对应,权重越大,该数 量的取值越大)报文发送出去;依次,循环遍历各队列,直到该黄色队列组中的所有报 文都送入至黄色队列中;最后,对绿色队列和黄色队列中的报文进行第二级调度,该第 二级调度具体为采用SP的调度模式,优先发送优先级较高的绿色队列中的报文,发送 完毕后,再发送黄色队列中的报文;若在黄色队列还没有发送完报文时,绿色队列中又 存在报文时,可以抢占黄色队列的信道资源,优先发送绿色队列中的报文,在发送完绿 色队列中的报文后,继续发送黄色队列中的报文;采用本发明实施例提供的技术方案, 可以保证绿色队列中的报文优先发送,绿色队列中的报文的速率都是低于承诺速率的报 文,因此,可以优先发送速率低于承诺速率的报文,从而可以达到优先满足承诺带宽的 目的。 在上述实例中,假设数据流的总带宽为100Mbps, 8个队列的总承诺带宽为 50Mbps,该8个队列的总突发带宽为150Mbps,由于总承诺带宽小于数据流的总带宽, 因此,不管绿色队列组采用何种调度模式,都可以将其包含的全部报文调度出去;而由 于总突发带宽高于数据流的总带宽,因此,在发送速率介于承诺速率与突发速率的报文 时,可能会出现拥塞现象,因此需要选取合适的调度模式调度黄色队列组中的报文,如 采取WRR调度模式,轮询黄色队列组中的每个队列,在每次轮询过程中,根据该黄色队 列组中的各队列的权重,将各队列中与各自权重对应数量的报文发送出去,从而使得在 发生拥塞时,可以保证每个队列都能发送一定数目的报文,因此,在发送报文过程中, 若产生拥塞而需要丢弃部分报文时,采用WRR的调度模式发送报文可以有效的管理和控 制流量,还可以根据实际应用场景采用其他的调度模式发送队列中的报文。
本发明实施例提供的队列调度方法的应用不局限于网络状况为拥塞或不拥塞的 状态,当网络出现其他异常状况而需要对报文进行调度,如网络不稳定,网络设备异常 (如数据交换设备数据传输端口出现故障)等,也可以采用本实施例所提供的队列调度方 法,以优先保证队列的承诺带宽。 基于上述流程相同的构思,本发明实施例还提供一种实现队列调度的系统,该 系统如图3所示。 参见图3,为本发明实施例中队列调度系统的结构示意图,该系统包括 报文入队模块31,用于根据测量得到的报文的速率,将速率低于为该类别报文
设置的第一阈值(即承诺速率阈值)的报文送入第一队列组中与该报文的类别对应的队
列,将速率介于为该类别报文设置的第一阈值与第二阈值(即突发速率阈值)之间的报文
送入第二队列组中与该报文的类别对应的队列,其中,第一阈值小于第二阈值。 较佳地,为进一步避免发生拥塞,报文入队模块31将速率高于为该类别报文设置的第二阈值的报文丢弃。 第一级调度模块32,用于根据网络的运行状态确定对应的调度策略,根据确定 出的调度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的 报文到第二调度队列;其中,第一调度队列的优先级高于第二调度队列。
在网络发生拥塞或异常时,第一级调度模块32将第一队列组所对应的全部或部 分报文调度至第一调度队列,将第二队列组所对应的部分报文调度至第二调度队列。
如根据第一队列组中各队列的权重,将各队列中与各自权重对应数量的报文 调度至第一调度队列;或者,根据第一队列组中各队列的优先级,按照优先级从高到低 的顺序将部分队列中的报文调度至第一调度队列。根据第二队列组中各队列的权重,将 各队列中与各自权中对应数量的报文调度至第二调度队列;或者,根据第二队列组中各 队列的优先级,按照优先级从高到低的顺序将部分队列中的报文调度至第二调度队列。
网络未发生拥塞或异常时,第一级调度模块32将第一队列组所对应的全部报文 调度到第一调度队列(如本实施例中的绿色队列),将第二队列组所对应的全部报文调度 到第二调度队列(如本实施例中的黄色队列)。 第二级调度模块33,用于按照优先级从高到低的顺序,调度第一队列和第二队 列中的报文。 较佳地,该系统还包括与报文入队模块31连接的报文分类模块30: 报文分类模块30,用于对报文进行分类,并根据分类结果将报文分别送入与该
报文类别对应的队列中。 本发明实施例提供的技术方案中,首先对报文进行分类,再对各类别的报文的 速率进行测量,将速率低于为该类别设定的承诺速率的报文优先发送,再发送速率介于 为该类别设定的承诺速率与突发速率的报文。采用本发明技术方案, 一方面,优先发送 速率低于其所在队列的承诺速率的报文,再发送速率介于其所在队列的承诺速率与突发 速率之间的报文,因此,在流量发生拥塞时,可以优先保证队列的承诺带宽,提高业务 服务质量;另一方面,对于速率高于其所在队列的突发速率的报文直接丢弃,因此,可 以在一定程度上避免了在报文发送过程中出现数据流拥塞的现象,进一步的降低数据流 拥塞的可能性,提高了业务服务质量。 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的 精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的 范围之内,则本发明也意图包含这些改动和变型在内。
9
权利要求
一种队列调度方法,其特征在于,包括根据测量得到的报文的速率,将速率低于为该类别报文设置的第一阈值的报文送入第一队列组中与该报文的类别对应的队列,将速率介于为该类别报文设置的第一阈值与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队列,其中,所述第一阈值小于第二阈值;根据网络的运行状态确定对应的调度策略,根据确定出的调度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到第二调度队列;其中,第一调度队列的优先级高于第二调度队列;按照优先级从高到低的顺序,调度第一调度队列和第二调度队列中的报文。
2. 如权利要求1所述的方法,其特征在于,根据确定出的调度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到第二调度队列,包括网络发生拥塞时,将第一队列组队列中的全部或部分报文调度至第一调度队列,将第二队列组队列中的部分报文调度至第二调度队列;网络未发生拥塞时,将第一队列组队列中的全部报文调度至第一调度队列,将第二队列组队列中的全部报文送入第二调度队列。
3. 如权利要求2所述的方法,其特征在于,第一队列组中各队列设置有对应的权重,调度第一队列组队列中的部分报文到第一调度队列,包括根据第一队列组中各队列的权重,将各队列中与各自权重对应数量的报文调度至第一调度队列;或者,第一队列组中各队列设置有对应的优先级,调度第一队列组队列中的部分报文到第一调度队列,包括根据第一队列组中各队列的优先级,按照优先级从高到低的顺序将部分队列中的报文调度至第一调度队列。
4. 如权利要求2所述的方法,其特征在于,第二队列组中各队列设置有对应的权重,调度第二队列组队列中的部分报文到第二调度队列,具体为根据第二队列组中各队列的权重,将各队列中与各自权重对应数量的报文调度至第二调度队列;或者,第二队列组中各队列设置有对应的优先级,调度第二队列组队列中的部分报文到第二调度队列,包括根据第二队列组中各队列的优先级,按照优先级从高到低的顺序将部分队列中的报文调度至第二调度队列。
5. 如权利要求2所述的方法,其特征在于,第一队列组中各队列设置有对应的优先级,调度第一队列组队列中的全部报文到第一调度队列,具体为根据第一队列组中各队列的优先级,按照优先级从高到低的顺序将所有队列的报文调度至第一调度队列;第二队列组中各队列设置有对应的优先级,调度第二队列组队列中的全部报文到第二调度队列,具体为根据第二队列组中各队列的优先级,按照优先级从高到低的顺序将所有队列的报文调度至第二调度队列。
6. 如权利要求1所述的方法,其特征在于,测量得到报文的速率之后,还包括将速率高于为该类别报文设置的第二阈值的报文丢弃。
7. 如权利要求1 6任一项所述的方法,其特征在于,测量报文的速率之前,还包括对报文进行分类,并根据分类结果将报文分别送入与该报文类别对应的队列中;将速率低于第一阈值的报文送入第一队列组中与该报文的类别对应的队列,具体为将存储有该类别报文的队列中,速率低于第一阈值的报文送入第一队列组中与该报文的类别对应的队列;将速率介于第一阈值与第二阈值之间的报文送入第二队列组中与该报文的类别对应 的队列,具体为将存储有该类别报文的队列中,速率介于第一阈值与第二阈值之间的 报文送入第二队列组中与该报文的类别对应的队列。
8. 如权利要求1 6任一项所述的方法,其特征在于,所述第一阈值为承诺速率阈 值,所述第二阈值为突发速率阈值。
9. 一种队列调度系统,其特征在于,包括报文入队模块,用于根据测量得到的报文的速率,将速率低于为该类别报文设置 的第一阈值的报文送入第一队列组中与该报文的类别对应的队列,将速率介于为该类别 报文设置的第一阈值与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队 列,其中,所述第一阈值小于第二阈值;第一级调度模块,用于根据网络的运行状态确定对应的调度策略,根据确定出的调 度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到 第二调度队列;其中,第一调度队列的优先级高于第二调度队列;第二级调度模块,用于按照优先级从高到低的顺序,调度第一调度队列和第二调度 队列中的报文。
10. 权利要求9所述的系统,其特征在于,所述第一级调度模块根据确定出的调度策 略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到第二 调度队列,包括网络发生拥塞时,将第一队列组队列中的全部或部分报文调度至第一调度队列,将 第二队列组队列中的部分报文调度至第二调度队列;网络未发生拥塞时,将第一队列组队列中的全部报文调度至第一调度队列,将第二 队列组队列中的全部报文送入第二调度队列。
11. 如权利要求10所述的系统,其特征在于,第一队列组中各队列设置有对应的权 重,所述第一级调度模块调度第一队列组队列中的部分报文到第一调度队列,包括根据第一队列组中各队列的权重,将各队列中与各自权重对应数量的报文调度至第 一调度队列;或者,第一队列组中各队列设置有对应的优先级,所述第一级调度模块调度第一队 列组队列中的部分报文到第一调度队列,包括根据第一队列组中各队列的优先级,按 照优先级从高到低的顺序将部分队列中的报文调度至第一调度队列。
12. 如权利要求10所述的系统,其特征在于,第二队列组中各队列设置有对应的权 重,所述第一级调度模块调度第二队列组队列中的部分报文到第二调度队列,包括根据第二队列组中各队列的权重,将各队列中与各自权重对应数量的报文调度至第 二调度队列;或者,第二队列组中各队列设置有对应的优先级,所述第一级调度模块调度第二队 列组队列中的部分报文到第二调度队列,包括根据第二队列组中各队列的优先级,按 照优先级从高到低的顺序将部分队列中的报文调度至第二调度队列。
13. 如权利要求11所述的系统,其特征在于,第一队列组中各队列设置有对应的优先 级,所述第一级调度模块调度第一队列组队列中的全部报文到第一调度队列,具体为根据第一队列组中各队列的优先级,按照优先级从高到低的顺序将所有队列的报文调度 至第一调度队列;第二队列组中各队列设置有对应的优先级,所述第一级调度模块调度第二队列组队 列中的全部报文到第二调度队列,具体为根据第二队列组中各队列的优先级,按照优 先级从高到低的顺序将所有队列的报文调度至第二调度队列。
14. 如权利要求9所述的系统,其特征在于,所述报文入队模块还进一步用于,将速 率高于为该类别报文设置的第二阈值的报文丢弃。
15. 如权利要9 14任一项所述的系统,其特征在于,还包括报文分类模块,用于对报文进行分类,并根据分类结果将报文分别送入与该该报文 类别对应的队列中;所述报文入队模块将速率低于第一阈值的报文送入第一队列组中与该报文的类别对 应的队列,具体为将存储有该类别报文的队列中,速率低于第一阈值的报文送入第一 队列组中与该报文的类别对应的队列;所述报文入队模块将速率介于第一阈值与第二阈值之间的报文送入第二队列组中与 该报文的类别对应的队列,具体为将存储有该类别报文的队列中,速率介于第一阈值 与第二阈值之间的报文送入第二队列组中与该报文的类别对应的队列。
16. 如权利要求9 14任一项所述的系统,其特征在于,所述第一阈值为承诺速率阈 值,所述第二阈值为突发速率阈值。
全文摘要
本发明公开了一种队列调度方法及系统,以解决现有在队列调度过程中,不能优先保证承诺速率而导致业务服务质量较差的问题。方法包括将报文速率低于为该类别报文设置的第一阈值的报文送入第一队列组中与该报文类别对应的队列,将速率高于为该类别报文设置的第一阈值且低于第二阈值的报文送入第二队列组中与该报文的类别对应的队列;按照根据网络的运行状态确定出的调度策略调度第一队列组队列中的报文到第一调度队列、调度第二队列组队列中的报文到优先级低于第一调度队列的第二调度队列中;优先调度第一调度队列中的报文。采用本发明技术方案,可优先保证队列第一阈值的带宽,提高业务服务质量。
文档编号H04L12/56GK101692648SQ20091016175
公开日2010年4月7日 申请日期2009年8月14日 优先权日2009年8月14日
发明者宋新意 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1