一种用户队列调度的方法和装置的制造方法

文档序号:9567084阅读:416来源:国知局
一种用户队列调度的方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据通信技术,尤其涉及一种用户队列调度的方法和装置。
【背景技术】
[0002]目前,随着网络通信技术的飞速发展和多媒体技术的日益深入及普及,对网络的服务质量、性能以及多样性灵活性提出了更高、更加差异化的要求。为了支持具有不同服务需求的业务或者用户,要求网络能够区分不同的通信,进而为之提供相应的服务,服务质量(QOS, Quality Of Service)技术的出现便致力于解决这个问题。
[0003]Q0S的调度算法有很多种,轮询调度(RR)最简单,即所有用户一个一个轮着来,大家的机会都是均等的,轮询调度适合于所有用户的重要性和允许的流量完全相同的情况。对于更高级更灵活的应用需要更加完美的调度算法来完成,比如:各个用户的权重不一样,或者允许的流量不相同,甚至各个用户内部支持不同优先级的队列。针对各种应用情况,出现了各种各样的调度算法。比如,针对各个用户权重不一样的情况,出现了加权轮询(WRR,Weighted Round Robin)调度算法、还有赤字加权轮询(DffRR, Deficit Weighted RoundRobin)、修改的赤字加权轮询(MDRR, Modified Deficit Round Robin)、WRED,以及更加均衡的WFQ调度算法等等。
[0004]一般情况下调度和整形配合来满足Q0S,调度保证最小带宽,整形来限制最高带宽。当网络出现拥堵时,按照指定的服务规则对交换节点的不同输入业务流分别进行调度和服务,使所有的输入业务流能按预定的方式共享交换节点的输出链路带宽,即使是不同的业务、不同的用户、不同的优先级,都有约定的机会获得相应的服务,使用公共的网络。但是当网络比较宽松的时候,希望可以让需要的用户充分的利用网络资源,利益得到最大化,此时,希望可以给予现有在使用的用户最大的流量,享受更好的服务,而一般的实现方式都会有整形限制着各个队列的流量。

【发明内容】

[0005]为解决现有存在的技术问题,本发明主要提供一种用户队列调度的方法和装置。
[0006]本发明的技术方案是这样实现的:
[0007]本发明提供一种用户队列调度的方法,该方法包括:
[0008]第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第二调度器上;
[0009]第一调度器判断第二调度器是否允许调度,在第二调度器允许调度时,调度第二调度器,所述第二调度器通过对应的整形器调度挂接的用户队列,在第二调度器下挂接的用户队列都调度完之后,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列;在第二调度器不允许调度时,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列。
[0010]上述方案中,所述第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器上,包括:
[0011]配置第一调度器调度第二调度器和第三调度器的调度算法为严格优先级(SP)调度,其中,调度第二调度器的优先级高于调度第三调度器的优先级;
[0012]配置第二调度器和第三调度器调度用户队列的调度算法为SP、或赤字加权轮询(DWRR)、或 DWRR+SP 调度。
[0013]上述方案中,所述第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器上,还包括:
[0014]配置与第一调度器、第二调度器和第三调度器对应的整形器的整形漏桶填充速率和漏桶容量,其中,所述填充速率大小为允许的平均流量,所述漏桶容量大小为允许的突发流量。
[0015]上述方案中,所述第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器上,还包括:为每个用户队列设置对应的赤字计数器,整形器根据所述赤字计数器确定允许发送数据包的用户队列。
[0016]上述方案中,所述第二调度器用于向各用户队列提供承诺速率,所述第三调度器用于向各用户队列提供额外速率。
[0017]上述方案中,所述第一调度器判断第二调度器是否允许调度包括:第一调度器根据是否有需要发送数据包且当前配置速率低于第二调度器的承诺速率的用户队列判断第二调度器是否允许调度。
[0018]上述方案中,所述第一调度器确定第三调度器允许调度包括:第一调度器根据有需要发送数据包且当前配置速率低于第三调度器的额外速率与第二调度器的承诺速率之和的用户队列,确定第三调度器允许调度。
[0019]本发明还提供一种用户队列调度的装置,该装置包括:第一调度器、第二调度器、第三调度器和一个以上整形器;其中,
[0020]第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第二调度器上;
[0021]所述第一调度器,用于判断第二调度器是否允许调度,在第二调度器允许调度时,调度第二调度器,在第二调度器下挂接的用户队列都调度完之后,确定第三调度器允许调度,并调度第三调度器;在第二调度器不允许调度时,确定第三调度器允许调度,并调度第二调度器;
[0022]所述第二调度器,用于通过对应的整形器调度挂接的用户队列,在挂接的用户队列都调度完之后,通知第一调度器;
[0023]所述第三调度器,用于通过对应的整形器调度挂接的用户队列;
[0024]整形器,用于确定发送数据包的用户队列。
[0025]上述方案中,所述第二调度器,用于向各用户队列提供承诺速率;所述第三调度器,用于向各用户队列提供额外速率。
[0026]上述方案中,所述第一调度器调度所述第二调度器和所述第三调度器的调度算法为SP调度,其中,调度第二调度器的优先级高于调度第三调度器的优先级;所述第二调度器和所述第三调度器调度用户队列的调度算法为SP、或DWRR、或DWRR+SP调度。
[0027]本发明提供了一种用户队列调度的方法和装置,第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器上,第一调度器判断第二调度器是否允许调度,在第二调度器允许调度时,调度第二调度器,所述第二调度器通过对应的整形器调度挂接的用户队列,在第二调度器下挂接的用户队列都调度完之后,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列;在第二调度器不允许调度时,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列;如此,在网络负荷比较小的时候(比如设备处理能力是1G,但是输入流量小于1G),通过对各用户队列的调度和整形来限制各用户队列占用的最大带宽,而在网络负荷较大的时候(比如设备处理能力是1G,但是输入流量大于1G),通过调度能够保证各用户队列占用的最小带宽。
【附图说明】
[0028]图1为现有技术中的单桶调度示意图;
[0029]图2为本发明实施例采用的双桶调度示意图;
[0030]图3为本发明实施例实现用户队列调度的方法的流程示意图;
[0031]图4为本发明实施例实现用户队列调度的装置的结构示意图。
【具体实施方式】
[0032]单桶调度是针对一个用户队列只配置一个速率,所述用户队列大于所配置的速率的部分将得不到调度,小于所配置的速率的话才可以被调度,以实现相应的Q0S。双桶调度是对用户队列配置两个速率,即承诺的速率(CIR, Committed Informat1n Rate)和额外速率(EIR, Extre Informat1n Rate)。CIR为无论当前网络是否拥塞,必须要保证的速率,EIR为当前网络不拥塞时,允许被调度的额外速率。
[0033]现有的单桶调度如图1所示,用户队列挂接在PQ调度器(scheduler)上,PQ调度器再挂接到时隙(T-C0NT)调度器上。图中PQ调度器有两个,可以称之为调度器A和调度器B。8个用户队列挂接一个PQ调度器。调度器A和调度器B挂接在T-C0NT调度器上。一个队列只挂接到一个调度器,只受一个速率的限制,这里称之为单桶调度。调度器A下边的用户队列0调度速率只有一个,在用户队列0速率小没有到达限定速率的情况下,可以继续调度,一旦到达限定速度,则会受到限制不能继续调度。即使整个网络不拥堵、其他用户队列都没有发包需求,用户队列0都会受到严格的限制,不能超过限制速率。
[0034]本发明采用的双桶调度如图2所示,下文我们称CIR调度器为C调度器,EIR调度器为E调度器。每个用户队列不但挂接到C调度器上,且会挂接到E调度器上。一个用户队列会受到两个速率的限制:承诺速率和额外速率。首先,以用户队列0为例,用户队列0 —定会得到承诺速率。如果网络比较拥堵,其他用户队列也都需要大量的流量时,用户队列0使用承诺速率,如果网络不拥堵,其他用户队列对于流量的需求比较少时,用户队列0可以得到额外速率,享受更快的速率,得到更好的额外的服务。既不影响其他用户,又可以得到更好的服务,非常灵活。
[0035]图2中的调度模型是采用DWRR调度算法以及整形来配合实现Q0S,其中,漏斗形图案表示整形器。
[0036]本发明实施例中,第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器上,第一调度器判断第二调度器是否允许调度,在第二调度器允许调度时,调度第二调度器,所述第二调度器通过对应的整形器调度挂接的用户队列,在第二调度器下挂接的用户队列都调度完之后,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列;在第二调度器不允许调度时,第一调度器确定第三调度器允许调度,并调度第三调度器,所述第三调度器通过对应的整形器调度挂接的用户队列。这里,所述第一调度器可以为T-C0NT调度器,第二调度器可以为CIR调度器,第三调度器可以为EIR调度器。
[0037]下面通过附图及具体实施例对本发明做进一步的详细说明。
[0038]本发明实施例实现一种用户队列调度的方法,如图3所示,该方法包括以下几个步骤:
[0039]步骤301:第一调度器挂接第二调度器和第三调度器,用户队列同时挂接在第二调度器和第三调度器
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1