专利名称:一种业务队列调度的方法和装置的制作方法
技术领域:
本发明涉及移动通讯领域,尤其涉及一种业务队列调度的方法和装置。
背景技术:
在现在的全球移动通讯(GSM,Global System for Mobile Communications)系统 中,网元与网元之间的接口,目前基本上都采用越来越普遍的互联网协议(IP)化的结构, 即两个网元之间的接口使用报文进行数据的传输与交换,一般采用实时传送协议(RTP)/ 用户数据包协议(UDP)/IP/媒体访问控制协议(MAC)的报文形式。 在GSM系统中的这些网元间,同时可能有多个业务流。当有一方的IP包过多时, 如果不能及时从另一出口方发出,就需要网元根据各个业务的服务质量(Qos)要求进行区 分控制。对网元来说,可以通过提供良好的转发队列机制,如基于业务优先级的队列(PQ, Priority Queue)和加权循环(WRR, WeightedRound Robin)等,实现对不同的业务进行不 同的控制。PQ的做法是先对流量分类,然后严格按照分类流量的优先级进行调度,先处理优 先级高的,再处理优先级低的;其缺陷是如果高优先级流量一直存在,那么比它优先级低 的流量就一直得不到调度。而WRR调度则是既在整体上保证流量的优先级,又可以保证每 个队列都得到一定的服务时间。 对于传统的WRR,其权重在设置后不会发生变化。如果预先设定的权重值不合理或 者是各业务量变化很大,则会导致不同业务有较大的Qos差异,或者是有的业务的Qos无法 达到预期的权重值,影响业务队列的调度。 在业务队列方面,如图1所示,传统的WRR调度方法按照业务类型进行分类,在同 一种业务内部不作进一步区分,无法进一步的对同一类型的不同业务进行区分控制。
发明内容
有鉴于此,本发明的主要目的在于提供一种业务队列调度的方法和装置,实现业 务队列的动态调度。 为达到上述目的,本发明的技术方案是这样实现的 本发明提供的一种业务队列调度的方法,该方法包括 在网元上建立多个基于权重的业务队列; 在传输层实时测量各RTP通道上的业务流的Qos参数; 在网络层将每个RTP通道上的业务流分配到相应的业务队列; 根据各业务流的Qos参数调整各业务流的带宽及所在业务队列的权重值;并将各
业务队列中的业务流按照WRR调度发往下层。 上述方案中,所述在传输层实时测量各RTP通道上的业务流的Qos参数具体为在 传输层利用实时传送控制协议(RTCP)实时测量各RTP通道上的业务流的Qos参数。
上述方案中,所述根据各业务流的Qos参数调整各业务流的带宽具体为根据每 一个RTP通道上的业务流的Qos参数及网络Qos参数门限进行网络状况估计,得出相应业务流的带宽调整量,调整带宽;所述网络Qos参数门限为根据各业务流实际的网络状况, 预先设置的用于各业务流网络状况的估计。 上述方案中,该方法进一步包括在所有业务流中,当总的需要增加的带宽量小于 总的需要减小的带宽量时,需要减小带宽的业务流按比例减小带宽量,需要增加带宽的业 务流按比例增加带宽量;当总的需要增加的带宽量大于总的需要减小的带宽量时,根据总 的需要减小的带宽量,对各需要增加带宽的业务流按比例增加带宽;使总的需要增加的带 宽量等于总的需要减小的带宽量。 上述方案中,该方法进一步包括通过所有业务流带宽调整量的总和比较总的需 要增加的带宽量与总的需要减小的带宽量的大小,所述总和小于零时,确定总的需要增加 的带宽量小于总的需要减小的带宽量;所述总和大于零时,确定总的需要增加的带宽量大 于总的需要减小的带宽量。 上述方案中,所述在网元上建立多个基于权重的业务队列时,进一步包括对业务 队列按照划分条件划分子队列;所述按照划分条件划分具体为按照不同业务流划分和/或 依据Qos参数划分; 所述在网络层将每个RTP通道上的业务流分配到相应的业务队列时,进一步包括 将每个RTP通道上的业务流放入符合划分条件的子队列中; 所述将各业务队列中的业务流按照WRR调度发往下层进一步包括将各业务队列 子队列中的业务流按照WRR调度发往下层。 上述方案中,所述业务队列的权重值的调整具体为根据调整后的带宽,利用权重 值与带宽的映射关系调整业务队列的权重值;业务队列中的各子队列也根据业务队列的调 整进行相应的权重值的调整。
本发明提供的一种业务队列调度的装置,该装置包括
Qos测量模块,用于在传输层实时测量各RTP通道上的业务流的Qos参数;
流量分类模块,用于在网络层将每个RTP通道上的业务流分配到相应的业务队 列; 多业务队列模块,用于在网络层提供多个业务队列; WRR调度模块,用于在网络层根据测量的业务流的Qos参数调整相应业务流的带 宽和业务队列的权重值;还用于将各业务队列中的业务流按照WRR调度发往下层。
上述方案中,所述流量分类模块还用于将每个RTP通道上的业务流放入符合划分 条件的子队列中; 上述方案中,所述多业务队列模块还用于在网络层按照划分条件为业务队列划分 多个子队列; 上述方案中,所述WRR调度模块还用于将各业务队列子队列中的业务流按照WRR 调度发往下层。 上述方案中,所述WRR调度模块还用于在所有业务队列中,当总的需要增加的带 宽量小于总的需要减小的带宽量时,需要减小带宽的业务流按比例减小带宽量,需要增加 带宽的业务流按比例增加带宽量;当总的需要增加的带宽量大于总的需要减小的带宽量 时,根据总的需要减小的带宽量,对各需要增加带宽的业务流按比例增加带宽量,使总的需 要增加的带宽量等于总的需要减小的带宽量。
上述方案中,所述WRR调度模块进一步还用于计算当前所有业务流带宽调整量的
总和,当所述总和小于零时,确定总的需要增加的带宽量小于总的需要减小的带宽量;当所
述总和大于零时,确定总的需要增加的带宽量大于总的需要减小的带宽量。 本发明提供的一种业务队列调度的方法和装置,在网元上建立多个业务队列及子
队列;网元实时测量各RTP通道上的业务流的Qos参数;网元在网络层将每个RTP通道上的
业务流分配到相应的业务队列,对于划分了子队列的业务队列,将所述业务流放入符合划
分条件的子队列中;根据各业务流的Qos参数调整各业务流的带宽及所在业务队列的权重
值;并将各业务队列及子队列中的业务流按照WRR调度发往下层;从而实现跨层优化的业
务队列调度,能够实时调整业务流的带宽以及业务队列的权重,并通过划分子队列可以实
现对业务流的进一步的区分控制。
图1为现有技术中WRR调度的结构示意图; 图2为本发明实现的业务队列调度的方法的流程示意图; 图3为本发明实现的业务队列调度的装置的结构示意图。
具体实施例方式
本发明的基本思想是在网元上建立多个基于权重的业务队列及为有需要建立子 队列的业务队列;在传输层利用RTCP实时测量各RTP通道上的业务流的Qos参数;在网 络层将每个RTP通道上的业务流分配到相应的业务队列;根据各业务流的Qos参数调整各 业务流的带宽及所在业务队列的权重值;并将各业务队列中的业务流按照WRR调度发往下 层。 下面通过附图及具体实施例对本发明做进一步的详细说明。 本发明实现的一种业务队列调度的方法,如图2所示,该方法包括以下几个步骤
步骤201 :在网元上建立多个业务队列及为有需要建立子队列的业务队列按照划 分条件划分子队列,并根据权重值与带宽的映射关系设置业务队列及子队列的权重的初始 值;同时,设置网络Qos参数门限; 具体的,在网元上按照业务类型建立多个基于权重的业务队列、及为有需要建立 子队列的业务队列按照划分条件划分子队列,例如,按照业务类型建立数据队列和语音队 列,对于数据队列,设置划分条件为按照不同业务划分,可分为流媒体子队列、背景级子队 列(Web访问类)、交互级子队列(FTP类);对于语音队列,设置划分条件为依据Qos参数划 分,可以分为基于Qos参数的多个子队列。所述Qos参数可以是时延、抖动时间和丢包率中 的一个或者多个。 其中,根据权重值与带宽的映射关系来设置业务队列的权重的初始值,所述映射 关系为 业务队列的权重值=(业务流的带宽/各业务流的总带宽)*各业务队列的总权 重值; 例如各业务流的总带宽为10M,各业务流所在业务队列的总权重值为100,业务 流1带宽分配为5M,则业务队列1的权重值为50 ;业务流2带宽分配为3M,则业务队列2的权重值为30 ;业务流3带宽分配为1M,则业务队列3的权重值为10 ;业务流4带宽分配为 1M,则业务队列4的权重值为10 ; 并且,根据映射关系也设置各子队列的权重的初始值,比如数据队列中流媒体子 队列权重最高、背景级子队列权重其次、交互级子队列权重最低;语音队列中各个子队列按 照序号权重依次递减,即业务队列i的子队列1 n的权重依次递减;各子队列权重值之 和等于业务队列的权重值;根据映射关系,利用业务流的带宽及各子队列中业务流的总带 宽,得到各子队列的权重的初始值。 同时,根据各业务流实际的网络状况,设置用于各业务流网络状况估计的网络Qos 参数门限;所述网络状况包括过载、满载、轻载。 步骤202 :网元在传输层利用RTCP测量各RTP通道上的业务流的Qos参数;
具体的,通信开始时,在传输层,网元间周期性发送RTCP报文,网元对所有接收到 的RTCP报文统计需要的Qos参数。所述周期一般为5秒。 步骤203 :网元在网络层将每个RTP通道上的业务流分配到相应的业务队列,对于 划分了子队列的业务队列,将所述业务流放入符合划分条件的子队列中;
例如对于数据队列,按照业务流为流媒体业务、背景级业务或交互级业务,将所 述业务流放入相应的流媒体子队列、背景级子队列或交互级子队列中;对于语音队列,Qos 参数采用时延时,则通过设置最大时延划分门限Dmax TH和最小时延划分门限Dmin TH来划分 为3个子队列,子队列1中存放时延大于Dmax TH的业务流;子队列2中存放时延在Dmax TH和
D^j之间的业务流;子队列3存放小于D^j的业务流;根据所述业务流的时延,将所述业
务流放入符合时延条件的子队列中。其中,在初始时刻,还没有获得Qos测量参数,所有的
语音报文都放在子队列1中发送。 步骤204 :根据每一个RTP通道上的业务流的Qos参数及网络Qos参数门限进行 网络状况估计,得出相应业务流的带宽调整量,并根据所述带宽调整量,利用权重值与带宽 的映射关系调整业务流所在业务队列的权重值; 具体的,在网络层,将测量的Qos参数与网络Qos参数门限进行比较,进行网络状 况估计,得到网络状况为过载、满载还是轻载的情况,并在过载的情况下,计算需要增加的 带宽调整量,增加带宽;在轻载的情况下,计算需要减小的带宽调整量,减小带宽;在满载 时不进行带宽调整;同时,根据调整后的带宽,利用权重值与带宽的映射关系调整业务队 列的权重值;业务队列中的各子队列也根据业务队列的调整进行相应的权重值的调整;例 如在Qos参数采用时延时,所述设置的网络Qos参数门限为最大时延Dmax和最小时延Dmin ; 根据RTCP报文统计的时延,计算时延均值Dave,即对于语音业务,Dave取各RTCP报文统计 的时延的平均值;对于数据业务,D^取各RTCP报文统计的时延的加权平均值,即在数据队 列包括流媒体子队列、背景级子队列、交互级子队列时,时延的加权平均值的计算方法为 J]尸『,*尸D,
D一
式中,1《i《3, PWi为数据队列中子队列权重,PDi为数据队列中子队列时延。 当Dav。 > 时,业务流过载,需要增加带宽; 当Dmax > Davc > Dmin时,业务流满载,维持当前带宽;
7
当Dav。 < Dmin时,业务流轻载,可以减小带宽;
当网络状况为过载或者轻载时,需要调整带宽,调整]
D 、
AW如下 A『=
1
—1
承『 /^_>£
*『 D <D 式中,W为业务当前带宽,当AW< O时,说明当前业务流可以减小带宽,减小量为
AW| ;当AWX)时,说明该业务流需要增加带宽,增加量为AW。
进一步的,本步骤中,在所有业务流中,当总的需要增加的带宽量小于总的需要减 小的带宽量时,需要减小带宽的业务按比例减小带宽量,需要增加带宽的业务按比例增加 带宽量;当总的需要增加的带宽量大于总的需要减小的带宽量时,根据总的需要减小的带 宽量,对各需要增加带宽的业务流按比例增加带宽;使总的需要增加的带宽量等于总的需 要减小的带宽量;即如果当前所有业务流带宽调整量的总和E AWi《0,i = l,2,3...n, n为所有需要调整带宽的业务流的总数;那么,说明在所有的业务流中,总的需要增加带宽 量小于总的需要减少的带宽量;设I AW+|为总的需要增加的带宽量,I AW—I为总的需要减 小的带宽量,Wi—为第i个需要减小带宽的业务流的带宽,减小量为I AW卜I ;Wi+为第i个需 要增加带宽的业务流的带宽,增加量为I AWi+|。贝U: IH I -(I △『_ I -1 A『+ I) * I Il=l A^i I +(l , I 一 I緣十I) *
2>,
:大于总的需要减少 的业务流按比例调 如果E AWiX),说明在所有的业务流中,总的需要增加带宽j 的带宽量,这时,需要减小带宽I AW—I的业务流和需要增加带宽I AWi4 整如下式所示带宽量
I A W卜I = I A Wi I H △『-I 步骤205 :将各业务队列及子队列中的业务流按照WRR调度发往下层。
基于上述方法,本发明还提供了一种业务队列调度的装置,如图3所示,该装置包 括Qos测量模块31、流量分类模块32、多业务队列模块33、WRR调度模块34 ;其中,
Qos测量模块31,用于存储网络Qos参数门限,并在传输层利用RTCP实时测量各 RTP通道上的业务流的Qos参数,将测得的Qos参数传递给流量分类模块32和WRR调度模 块34,并将存储的网络Qos参数门限也传递给WRR调度模块34 ; 流量分类模块32,用于在网络层将每个RTP通道上的业务流按照业务类型分配到 业务队列; 多业务队列模块33,用于在网络层提供多个业务队列;所述子队列为按照划分条 件进行划分的; WRR调度模块34,用于在网络层根据测量的业务流的Qos参数调整相应业务流的 带宽和业务队列的权重值;还用于将各业务队列中的业务流按照WRR调度发往下层;所述
8根据测量的业务流的Qos参数调整相应业务流的带宽和业务队列的权重值具体为根据测量的业务流的Qos参数与网络Qos参数门限进行网络估计,调整相应业务流的带宽和业务队列的权重值,见步骤204。 所述流量分类模块32进一步用于对于划分了子队列的业务队列,按照子队列的
划分条件将所述业务流放入符合条件的子队列中;例如,对于数据队列,按照业务流为流媒体业务、背景级业务或交互级业务,将所述业务流放入相应的流媒体子队列、背景级子队列
或交互级子队列中;对于语音队列,根据所述业务流的Qos参数,将所述业务流放入符合Qos参数条件的子队列中; 所述多业务队列模块33进一步用于在网络层按照划分条件为业务队列划分多个子队列; 所述WRR调度模块34进一步用于将各业务队列子队列中的业务流按照WRR调度发往下层; 所述WRR调度模块34还用于在所有业务队列中,当总的需要增加的带宽量小于总的需要减小的带宽量时,需要减小带宽的业务流按比例减小带宽量,需要增加带宽的业务流按比例增加带宽量;当总的需要增加的带宽量大于总的需要减小的带宽量时,根据总的需要减小的带宽量,对各需要增加带宽的业务流按比例增加带宽,使总的需要增加的带宽量等于总的需要减小的带宽量; 进一步的,所述WRR调度模块34还用于计算当前所有业务流带宽调整量的总和,以增加的带宽量为正值,减小的带宽量为负值,当所述总和小于零时,确定总的需要增加的带宽量小于总的需要减小的带宽量;当所述总和大于零时,确定总的需要增加的带宽量大于总的需要减小的带宽量。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
一种业务队列调度的方法,其特征在于,该方法包括在网元上建立多个基于权重的业务队列;在传输层实时测量各实时传送协议(RTP)通道上的业务流的服务质量(Qos)参数;在网络层将每个RTP通道上的业务流分配到相应的业务队列;根据各业务流的Qos参数调整各业务流的带宽及所在业务队列的权重值;并将各业务队列中的业务流按照加权循环(WRR)调度发往下层。
2. 根据权利要求l所述的方法,其特征在于,所述在传输层实时测量各RTP通道上的业 务流的Qos参数具体为在传输层利用实时传送控制协议(RTCP)实时测量各RTP通道上的 业务流的Qos参数。
3. 根据权利要求1所述的方法,其特征在于,所述根据各业务流的Qos参数调整各业务 流的带宽具体为根据每一个RTP通道上的业务流的Qos参数及网络Qos参数门限进行网 络状况估计,得出相应业务流的带宽调整量,调整带宽;所述网络Qos参数门限为根据各 业务流实际的网络状况,预先设置的用于各业务流网络状况的估计。
4. 根据权利要求3所述的方法,其特征在于,该方法进一步包括在所有业务流中,当 总的需要增加的带宽量小于总的需要减小的带宽量时,需要减小带宽的业务流按比例减小 带宽量,需要增加带宽的业务流按比例增加带宽量;当总的需要增加的带宽量大于总的需 要减小的带宽量时,根据总的需要减小的带宽量,对各需要增加带宽的业务流按比例增加 带宽;使总的需要增加的带宽量等于总的需要减小的带宽量。
5. 根据权利要求4所述的方法,其特征在于,该方法进一步包括通过所有业务流带宽 调整量的总和比较总的需要增加的带宽量与总的需要减小的带宽量的大小,所述总和小于 零时,确定总的需要增加的带宽量小于总的需要减小的带宽量;所述总和大于零时,确定总 的需要增加的带宽量大于总的需要减小的带宽量。
6. 根据权利要求1至5任一所述的方法,其特征在于,所述在网元上建立多个基于权重 的业务队列时,进一步包括对业务队列按照划分条件划分子队列;所述按照划分条件划分 具体为按照不同业务流划分和/或依据Qos参数划分;所述在网络层将每个RTP通道上的业务流分配到相应的业务队列时,进一步包括将每 个RTP通道上的业务流放入符合划分条件的子队列中;所述将各业务队列中的业务流按照WRR调度发往下层进一步包括将各业务队列子队 列中的业务流按照WRR调度发往下层。
7. 根据权利要求6所述的方法,其特征在于,所述业务队列的权重值的调整具体为根 据调整后的带宽,利用权重值与带宽的映射关系调整业务队列的权重值;业务队列中的各 子队列也根据业务队列的调整进行相应的权重值的调整。
8. —种业务队列调度的装置,其特征在于,该装置包括Qos测量模块,用于在传输层实时测量各RTP通道上的业务流的Qos参数; 流量分类模块,用于在网络层将每个RTP通道上的业务流分配到相应的业务队列; 多业务队列模块,用于在网络层提供多个业务队列;WRR调度模块,用于在网络层根据测量的业务流的Qos参数调整相应业务流的带宽和 业务队列的权重值;还用于将各业务队列中的业务流按照WRR调度发往下层。
9. 根据权利要求8所述的装置,其特征在于,所述流量分类模块还用于将每个RTP通道上的业务流放入符合划分条件的子队列中; 所述多业务队列模块还用于在网络层按照划分条件为业务队列划分多个子队列; 所述WRR调度模块还用于将各业务队列子队列中的业务流按照WRR调度发往下层。
10. 根据权利要求8或9所述的装置,其特征在于,所述WRR调度模块还用于在所有业 务队列中,当总的需要增加的带宽量小于总的需要减小的带宽量时,需要减小带宽的业务 流按比例减小带宽量,需要增加带宽的业务流按比例增加带宽量;当总的需要增加的带宽 量大于总的需要减小的带宽量时,根据总的需要减小的带宽量,对各需要增加带宽的业务 流按比例增加带宽量,使总的需要增加的带宽量等于总的需要减小的带宽量。
11. 根据权利要求IO所述的装置,其特征在于,所述WRR调度模块进一步还用于计算当前所有业务流带宽调整量的总和,当所述总和小于零时,确定总的需要增加的带宽量小于 总的需要减小的带宽量;当所述总和大于零时,确定总的需要增加的带宽量大于总的需要 减小的带宽量。
全文摘要
本发明公开了一种业务队列调度的方法,在网元上建立多个业务队列;网元在传输层实时测量各实时传送协议(RTP)通道上的业务流的服务质量(Qos)参数;网元在网络层将每个RTP通道上的业务流分配到相应的业务队列;根据各业务流的Qos参数调整各业务流的带宽及所在业务队列的权重值;并将各业务队列中的业务流按照加权循环调度发往下层;本发明同时还公开了一种业务队列调度的装置;按照本发明的方案,能够实现跨层优化的业务队列调度,能够实时调整业务流的带宽以及业务队列的权重。
文档编号H04W72/12GK101707807SQ20091024697
公开日2010年5月12日 申请日期2009年12月14日 优先权日2009年12月14日
发明者王雷, 申建平 申请人:中兴通讯股份有限公司