区分服务网络中基于QoS的主动队列调度方法

文档序号:7763816阅读:407来源:国知局

专利名称::区分服务网络中基于QoS的主动队列调度方法
技术领域
:本发明涉及一种区分服务网络中基于QoS的主动队列调度方法,属于区分服务网络通信
技术领域

背景技术
:传统的Internet只提供尽力而为(best_effort)的服务。随着Internet和各种IP业务的发展,尤其是音频、视频等多媒体业务的迅速增长,要求现在的网络不仅要提供传统的数据业务,还要提供对带宽、延迟要求较高的新业务的支持,即要求现有的IP网络对不同的业务实现区分,同时还要提供一定的QoS(QualityofService,服务质量)保证。为了解决这个问题,IETF(InternetEngineeringTaskForce,互联网工程任务组)提出了两种服务模型IntServ和DiffServ。在IntServ模型下,每一个中间节点必须维持一定的状态信息,而且需要定时更新,所以在网络规模较大时,其扩展性就受到较大的限制。在DifTServ模型下,其大部分复杂的功能(如分类、流量调节、标记等)在边缘节点完成,中间节点(核心节点)只需根据不同的服务类别采用不同的PHB(PerHopBehavior,每一跳行为)转发分组。在DiffServ模型下中间节点如何在提供一定的QoS保证下调度分组,是当前的研究热点。虽然目前提出了许多能提供QoS保证的调度算法,但这些算法基本都不能根据网络负载实际状况地变化来动态的改变调度策略,这样必然会带来流量大的服务等级的数据包大量丢失。如何改进现有的调度算法,使其不仅能实现业务区分和提供一定的QoS保证,而且能动态的改变调度策略,在实际网络中就显得特别重要。IPDiffServ模型主要包括边缘节点的流量调节器(TrafficConditioner)和核心节点的PHB。边缘节点的流量调节器是根据流量调节协定(TCA)来进行流量调节的。当数据包到达DiffServ域的边缘节点时,根据SLA(ServiceLevelAgreements,服务等级协定规定了分组分类、标记规则(重标记规则)、流量描述等),首先经过分类器,对数据包进行分类,再根据测量器的测量结果确定数据包标记(或重新标记)和整形(延迟和丢包处理),然后将该数据包发送出去。然后再根据到达业务数据包的DSCP(DifferentiatedServicesCodepoint,区分服务代码点)值,DiffServ域的核心节点采用不同的PHB调度分组。现有的调度策略包括FirstInFirstOut(FIFO),PriorityQueuing(PQ),FairQueuing(FQ),WeightedFairQueuing(WFQ),WeightedRoundRobinQueuing(WRR),DeficitWeightedRoundrobinQueuing(DWRR)。其中支持区分服务的队列调度算法主要包括PQ、FQ、WFQ、WRR、DWRR。其中,PQ是一种静态优先级的算法,PQ算法给每个队列赋予不同的优先级,每次需要调度时,具有最高优先级的非空队列中的分组最先被选择服务。如果最高优先级的队列为空,则服务具有次优先级的队列,如此类推。这样最重要的分组就能得到最好的服务,比如最小的延迟。此类算法简单,容易实现,然而高优先级队列在源源不断有分组到达时,低优先级的队列容易被无限期延迟,即在长时间内得不到服务。4WRR调度算法的基本思想是给队列赋予不同的权值,代表一次完整队列被服务的分组数。同时为每个队列维持一个计数器,初始化为权值。每次轮询时,计数器为非0的队列允许发送分组,发送一个分组将计数器减一,直到计数器为0时转到后面的队列进行调度。WRR算法虽然具有一定的公平特性,但是不能满足实时性业务的时延特性。并且其算法的权值是固定分配的,不能根据网络的负载状况实现动态的带宽资源分配。
发明内容本发明所要解决的技术问题是针对上述
背景技术
的缺陷,提出一种区分服务网络中基于QoS的主动队列调动方法,根据各个业务的实时流量自主的调整业务的调度权值,实现高度的灵活性,满足实时性业务对时延的高要求。技术方案为了解决上述技术问题,本发明采用如下技术方案一种区分服务网络中基于QoS的主动队列调度方法,包括以下步骤步骤a.当区分服务网络中每到达一个业务分组时,首先根据该业务分组的DSCP值,采用分类器将该业务分组分类到具体的业务类别中,所有存在的具体业务类别根据其实时属性被划分为实时业务类集合和非实时业务类集合;步骤b.对于所有实时业务类集合中的业务分组,采用第一测量器分别测量出每个实时业务类的数据到达速率,实时业务类集合中包含的不同实时业务类都拥有独立的调度子对列,根据分组的具体业务类别将实时业务类集合的每个实时业务数据包插入到相应的子队列中;步骤c.对于所有非实时业务类集合中的业务分组,采用第二测量器分别测量出每个非实时业务的数据到达速率,非实时业务类集合中包含的不同非实时业务类都拥有独立的调度子对列,根据分组的具体业务类别将所述非实时业务类集合的每个非实时业务数据包插入到相应的子队列中;步骤d.(A)根据步骤b和步骤c中测量器的测量结果,采用第一、第二判决器分别修改其相对应的子队列调度权值表中各业务类别的对应权值;(B)分别将修改后的对应权值输入至实时业务、非实时业务的子队列集合所对应的加权轮询调度器中,加权轮询调度器根据该对应权值分别对实时业务类集合和非实时业务类集合所对应的队列进行调度;步骤e.对于步骤d所述加权轮询调度器所输出的实时业务流与非实时业务流,采用严格优先级调度器进行调度。进一步的,前述区分服务网络中基于QoS的主动队列调度方法,步骤e中,所述严格优先级调度器默认实时业务流的优先级高于非实时性业务流。进一步的,前述区分服务网络中基于QoS的主动队列调度方法,步骤d中,分步骤(A)具体包括以下步骤dl.初始化调度权值表,根据调度权值表对应的权值,对各子队列的对应权值进行赋值:Wi=IWi,i=l,2…n,i为自然数;d2.当有业务分组到达时,根据测量器的测量结果对判决器的判决权值进行更新,得到更新权值ΔWi,并将更新后的判决器的判决权值写入到调度权值表中;分步骤(B)具体包括如下步骤5d3.从调度权值表读取权值Wi,Wi=Iffi+ΔWi;d4.根据得到的每一子队列i的权值Wi,按WRR算法的调度规则调度每一个子队列中的数据包,每调度一个数据包Wi的值减1,若Wi=O或子队列中没有数据包可调度,跳到下一个子队列进行调度;d5.转到步骤d3,直至所有子队列调度完毕。进一步的,前述区分服务网络中基于QoS的主动队列调度方法,步骤d2中更新权值ΔWi的确定方法为1)当Vi彡Vmini时,ΔWi=O;2)当Vmini彡Vi彡Vmaxi时,ΔWi=(Vi-Vmini)/(Vmini-Vmaxi)XΔWmaxi;3)当Vi>Vmaxi时,ΔWi=ΔWmaxi;其中Vi表示子队列i的当前到达速率,Vmini表示子队列i的速率下限门限值;Vmaxi表示子队列i的速率上限门限值;ΔWmaxi表示子对列i的最大加权增量。本发明还提供了一种基于QoS的主动队列调度系统,组成如下分类器根据到达分组的DSCP域将分组进行分类,并要将分组划分为两个集合实时业务类集合和非实时业务类集合;测量器通过对流经分组的统计,测量出各个业务的到达速率;判决器根据测量器的测量结果决定ΔWi,并改变各服务类别的调度权值;IW-table调度权值表,储存各类业务的调度权值,并根据判决器的的输出进行改变;WRR加权轮询调度器;PQ严格优先级调度器。本发明采用如上技术方案具有以下技术效果本发明将PQ算法与WRR算法结合起来,并对WRR算法做了一定的改进,即根据网络中各业务数据的实际流量动态的调整其对应的权值。因此该调度系统不仅能保证业务之间的公平性特征,也可满足实时性业务的实时特性,并能根据网络的负载状况实现动态的资源分配。图1是区分服务网络中基于QoS的自主队列调度系统的整体模型。图2是判决器的判决流程图。图3是轮询调度算法(WRR)过程。具体实施例方式下面结合附图对本发明的技术方案进行进一步详细地说明如图1所示,现有η条业务流需要经过队列调度,其中有k条实时业务流和n-k条非实时业务流,即A={al,i^"ak}为实时业务流类,B={bl,b2"bn-k}为非实时业务流集合。1.分组的分类及速率测量首先需在入口处设置分类器,检查每一个分组的头部中DSCP字段的值,确定其所属业务类X,则将其划入所属队列χ中。所有实时流的分组会通过第一测量器,所有非实时流的分组会经过第二测量器,6两个测量器分别测出各个流的当前速度,如X流的当前速率为Vx,测量器将这一值传送给判决器。2.判决器的判决过程如图2所示,判决器的基本作用在于决定各个流的当前权值,它为每一条流设定了如下的变量Vmini表示子队列i的速率下限门限值,其值可根据网络中各种业务流量的实际情况来决定。Vmaxi表示子队列i的速率上限门限值,其值可根据网络中各种业务流量的实际情况而决定。ΔWmaxi表示子对列i的最大加权增量,以保证子队列i增加后的权重不会对其他的子对列造成较大的影响。如图2所示,举例说明判决器对χ子队列的判决Dx队列的当前到达速率在下限门限之下,即Vx彡VminxJUAWi=O;2)χ队列的当前到达速率在速率下限门限值与速率上限门限值之间,即Vminx^Vx^Vmaxx,贝[|ΔWi=(Vx-Vminx)/(Vminx-Vmaxx)XΔWmaxi;3)χ队列的当前到达速率大于速率上限门限值,即VX>VmaXX,则ΔWi=ΔWmaxi。判决器即而得到χ队列的当前权值Wx=SWx+Δffi,Sffx为每一队列的固定权值;然后更改IW-table表中χ队列的权值。3.WRR调度与PQ调度所有实时业务流经过一个加权轮询调度器WRR,WRR调度过程如图3所示。各个子队列权值即为实时IW-table表中的当前值,经过WRR调度器产生实时流p,默认优先级高。所有非实时业务流一个加权轮询调度器WRR,各个子队列权值即为非实时IW-table表中的当前值,经过WRR调度器产生非实时流q,默认优先级低。实时ρ流和非实时q流经过一个严格优先级调度器PQ进行最后的调度输出。权利要求一种区分服务网络中基于QoS的主动队列调度方法,其特征在于包括以下步骤步骤a.当区分服务网络中每到达一个业务分组时,首先根据该业务分组的DSCP值,采用分类器将该业务分组分类到具体的业务类别中,所有存在的具体业务类别根据其实时属性被划分为实时业务类集合和非实时业务类集合;步骤b.对于所有实时业务类集合中的业务分组,采用第一测量器分别测量出每个实时业务类的数据到达速率,实时业务类集合中包含的不同实时业务类都拥有独立的调度子对列,根据分组的具体业务类别将实时业务类集合的每个实时业务数据包插入到相应的子队列中;步骤c.对于所有非实时业务类集合中的业务分组,采用第二测量器分别测量出每个非实时业务的数据到达速率,非实时业务类集合中包含的不同非实时业务类都拥有独立的调度子对列,根据分组的具体业务类别将所述非实时业务类集合的每个非实时业务数据包插入到相应的子队列中;步骤d.(A)根据步骤b和步骤c中测量器的测量结果,采用第一、第二判决器分别修改其相对应的子队列调度权值表中各业务类别的对应权值;(B)分别将修改后的对应权值输入至实时业务、非实时业务的子队列集合所对应的加权轮询调度器中,加权轮询调度器根据该对应权值分别对实时业务类集合和非实时业务类集合所对应的队列进行调度;步骤e.对于步骤d所述加权轮询调度器所输出的实时业务流与非实时业务流,采用严格优先级调度器进行调度。2.根据权利要求1所述的区分服务网络中基于QoS的主动队列调度方法,其特征在于步骤e中,所述严格优先级调度器默认实时业务流的优先级高于非实时性业务流。3.根据权利要求1所述的区分服务网络中基于QoS的主动队列调度方法,其特征在于步骤d中,分步骤(A)具体包括以下步骤dl.初始化调度权值表,根据调度权值表对应的权值,对各子队列的对应权值进行赋值Wi=IWi,i=l,2…n,i为自然数;d2.当有业务分组到达时,根据测量器的测量结果对判决器的判决权值进行更新,得到更新权值ΔWi,并将更新后的判决器的判决权值写入到调度权值表中;分步骤(B)具体包括如下步骤d3.从调度权值表读取权值Wi,Wi=Iffi+ΔWi;d4.根据得到的每一子队列i的权值Wi,按WRR算法的调度规则调度每一个子队列中的数据包,每调度一个数据包Wi的值减1,若Wi=O或子队列中没有数据包可调度,跳到下一个子队列进行调度;d5.转到步骤d3,直至所有子队列调度完毕。4.根据权利要求3所述的区分服务网络中基于QoS的主动队列调度方法,其特征在于,所述步骤d2中更新权值ΔWi的确定方法为1)当Vi彡Vmini时,ΔWi=O;2)当Vmini^Vi^Vmaxi时,ΔWi=(Vi-Vmini)/(Vmini-Vmaxi)XΔWmaxi;3)当Vi>Vmaxi时,ΔWi=ΔWmaxi;其中Vi表示子队列i的当前到达速率,Vmini表示子队列i的速率下限门限值;Vmaxi表示子队列i的速率上限门限值;ΔWmaxi表示子对列i的最大加权增量。全文摘要本发明公开了区分服务网络中一种基于QoS的主动队列调度方法,该方法包括以下步骤采用分类器将到来的业务分组按照其DSCP域对业务进行分类,将分好的所有业务类划分为实时性、非实时性业务类集合;非实时性业务类集合与实时性业务类集合的业务类分组各通过一个自适应加权轮询调度器进行分组调度;两个调度器输出的调度分组再通过一个严格优先级调度器(PQ)进行调度。本发明不仅可以根据节点的实际负载情况,提供动态的带宽分配,并且有效的保证了实时性业务的时延需求。文档编号H04L12/56GK101958844SQ20101052710公开日2011年1月26日申请日期2010年11月2日优先权日2010年11月2日发明者刘源旭,周井泉,宁向延,张顺颐,谈玲申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1