一种基于wrr的otn串行化均衡调度实现方法及系统的制作方法

文档序号:10473455阅读:276来源:国知局
一种基于wrr的otn串行化均衡调度实现方法及系统的制作方法
【专利摘要】本发明公开了一种基于WRR的OTN串行化均衡调度的实现方法及系统,涉及OTN串行化均衡调度领域.该方法的流程为:以最大速率等级业务的速率容量作为总容量t,以最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到统一化串行调度单元总数n;根据n设定WRR中的总体权重因子W(n);根据b得到每个业务所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子;运用WRR计算每个业务需要的计数值;根据计数值将对应的统一化串行调度单元分配至该业务。本发明的统一化的串行基本调度单元不仅容易维护,通用性较好,而且能够减小逻辑资源浪费。
【专利说明】
一种基于WRR的OTN串行化均衡调度实现方法及系统
技术领域
[0001 ] 本发明涉及0TN(0ptical Transport Network,光传送网)串行化均衡调度领域,具体涉及一种基于WRR(Weighted Round Robin,加权循环调度算法)的OTN串行化均衡调度的实现方法及系统。
【背景技术】
[0002]随着OTN技术标准的不断演进,OTN要求承载的业务类型越来越灵活,例如ODUk(光通道数据单元)、0DUflex(灵活速率光数字单元)、CBR(Constant Bit Rate,固定比特速率)等,映射/解映射方式越来越多;进而导致ASIC(Appl icat1n Specific IntegratedCircuit,专用集成电路)或者FPGA(Field Programmable Gate Array,现场可编程门阵列)设计中承载各种业务时的调度设计越来越复杂。
[0003]针对上述情形,若为各种不同速率等级的OTN颗粒分别设计调度单元,将导致调度单元种类繁多,不仅不易维护,而且移植性较差;若并行处理各种业务调度,将会占用较多逻辑资源、而且对时钟同步要求较高。

【发明内容】

[0004]针对现有技术中存在的缺陷,本发明解决的技术问题为:通过统一化调度单元的调度器和基于WRR的业务速率等级的均匀化调度单元分配,为OTN映射/解映射提供一种通用的串行化均衡调度实现方法及系统。本发明的统一化的串行基本调度单元不仅容易维护,通用性较好,而且能够为OTN芯片设计节省逻辑资源,尤其能够减小对前级FIFO的深度要求,减小逻辑资源浪费。
[0005]为达到以上目的,本发明提供的基于WRR的OTN串行化均衡调度实现方法,该方法包括以下步骤:
[0006]A、以需要调度的最大速率等级业务的速率容量作为总容量t,以需要调度的最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到调度过程中所需要的统一化串行调度单元总数η;根据η设定WRR中的总体权重因子W(n),转到步骤B;
[0007]B、根据b分别得到每个需要调度的业务的速率容量所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子,转到步骤C;
[0008]C、判断W(n)减去所有权重因子之和的值WO是否为O,若是,则虚拟I个权重因子为WO的需要调度的业务,转到步骤D,否则直接步骤D;
[0009]步骤A与步骤D之间,还包括以下步骤:设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括η个统一化串行调度单元,每个统一化串行调度单元按顺序标记有计数值;
[0010]D、根据W(n)、与每个需要调度的业务对应的权重因子、以及每个统一化串行调度单元的计数值,运用WRR计算得到每个业务需要的统一化串行调度单元的计数值;计数单元将与每个业务的计数值对应的统一化串行调度单元分配至该业务,转到步骤E;
[0011]E、新增需要调度的业务时,重复执行步骤B至步骤D,执行步骤D时需要切换与之前不同的计数单元。
[0012]在上述技术方案的基础上,步骤A中所述η的计算公式为:n= t/b。
[0013]在上述技术方案的基础上,步骤A中所述W(n)通过软件采用宏的方式标记。
[0014]在上述技术方案的基础上,步骤B中所述每个需要调度的业务的速率容量所需的串行基本调度单元数,通过b除以每个需要调度的业务的速率容量得到。
[0015]在上述技术方案的基础上,步骤B中若b除以业务的速率容量的数值为未非整数时,该业务所需的串行基本调度单元数为b整除业务的速率容量的数值加I。
[0016]在上述技术方案的基础上,该方法具体包括以下步骤:
[0017]A、最大速率等级业务为0DU4,t为100G ;最小速率等级业务为ODUO,1^为1.25G,n和W(η)均为80;设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括80个统一化串行调度单元,每个统一化串行调度单元的计数值为O?79;
[0018]B、需要调度的业务为ODUl和0DU2,0DU1所需的串行基本调度单元数m(j)和对应的权重因子Wj (m( j))均为2,0DU2所需的串行基本调度单元数m( i)和对应的权重因子Wi (m(i))均为8;
[0019](:、胃(11)-(¥丨(111(丨))+¥」(111(」)))=70,虚拟1个权重因子为70的需要调度的业务;
[0020]D、将ODUl、0DU2和虚拟的业务同时运用WRR计算得到每个业务需要的统一化串行调度单元的计数值,ODUl为(19,59),0DU2 (4,13,26,35,44,53,66,75);第一计数单元将计数值为19和69的统一化串行调度单元分配至0DU1,将计数值为4、13、26、35、44、53、66和75的统一化串行调度单元分配至0DU2;
[0021]E、新增业务0DU0,0DU0所需的串行基本调度单元数m(k)和对应的权重因子Wk(m
(10)均为1,胃(11)-(¥丨(111(丨))+¥」(111(」))+¥1^111(10))=69,虚拟1个权重因子为69的需要调度的业务;将0DU0、0DU1、0DU2和虚拟的业务同时运用WRR计算得到每个业务需要的统一化串行调度单元的计数值,ODUO 为(33),001]1为(12,61),001]2为(4,16,25,37,46,54,67,75);第二计数单元将计数值为33的统一化串行调度单元分配至ODUO,将计数值为12和61的统一化串行调度单元分配至0DU1,将计数值为4、16、25、37、46、54、67和75的统一化串行调度单元分配至0DU2。
[0022]本发明提供的用于上述方法的的基于WRR的OTN串行化均衡调度实现系统,该系统包括统一化串行调度单元计算模块、基本调度单元数计算模块、虚拟业务计算模块、计数单元设定模块和统一化串行调度单元分配模块;
[0023]统一化串行调度单元计算模块用于:以需要调度的最大速率等级业务的速率容量作为总容量t,以需要调度的最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到调度过程中所需要的统一化串行调度单元总数η;根据η设定WRR中的总体权重因子W(η);向基本调度单元数计算模块发送基本调度单元数计算模块信号,向计数单元设定模块发送计数单元设定信号;
[0024]基本调度单元数计算模块用于:收到基本调度单元数计算信号后,根据b分别得到每个需要调度的业务的速率容量所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子,向虚拟业务计算模块发送虚拟业务计算信号;
[0025]虚拟业务计算模块用于:收到虚拟业务计算信号后,计算W(n)减去所有权重因子之和的值WO是否为O,若是,则虚拟I个权重因子为WO的需要调度的业务后,向统一化串行调度单元分配模块发送统一化串行调度单元分配信号,否则直接向统一化串行调度单元分配模块发送统一化串行调度单元分配信号;
[0026]计数单元设定模块用于:收到计数单元设定信号后,设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括η个统一化串行调度单元,每个统一化串行调度单元按顺序标记有计数值;
[0027]统一化串行调度单元分配模块用于:收到统一化串行调度单元分配信号后,根据WU)、与每个需要调度的业务对应的权重因子、以及每个统一化串行调度单元的计数值,运用WRR计算得到每个业务需要的统一化串行调度单元的计数值;计数单元将与每个业务的计数值对应的统一化串行调度单元分配至该业务。
[0028]在上述技术方案的基础上,所述统一化串行调度单元计算模块中η的计算公式为:n = t/b。
[0029]在上述技术方案的基础上,所述基本调度单元数计算模块中每个需要调度的业务的速率容量所需的串行基本调度单元数,通过b除以每个需要调度的业务的速率容量得到。
[0030]在上述技术方案的基础上,若b除以业务的速率容量的数值为未非整数时,该业务所需的串行基本调度单元数为b整除业务的速率容量的数值加I。
[0031]与现有技术相比,本发明的优点在于:
[0032]本发明通过统一化调度单元的调度器和基于WRR的业务速率等级的均匀化调度单元分配,为OTN映射/解映射提供一种通用的串行化均衡调度实现方法。本发明能够为多种0丁~业务(例如001^、001^1^工81?等)提供统一化的串行基本调度单元,统一化的串行基本调度单元不仅容易维护,通用性较好,而且能够为OTN芯片设计节省逻辑资源,尤其能够减小对前级FIFO的深度要求,减小逻辑资源浪费。
【附图说明】
[0033]图1为本发明实施例中基于WRR的OTN串行化均衡调度实现方法的流程示意图;
[0034]图2为本发明实施例一中串行基本调度单元的推算示意图;
[0035]图3为本发明实施例一中为业务计算分配统一化串行调度单元的示意图;
[0036]图4为本发明实施例一中新增业务后为业务计算分配统一化串行调度单元的示意图。
【具体实施方式】
[0037]以下结合附图及实施例对本发明作进一步详细说明。
[0038]参见图1所示,本发明实施例中的基于WRR的OTN串行化均衡调度实现方法,包括以下步骤:
[0039]SlOl:以需要调度的最大速率等级业务的速率容量作为统一化调度单元的调度器的总容量t,以需要调度的最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到调度过程中所需要的统一化串行调度单元总数n,n的计算公式为:n = t/b。根据η设定WRR中的总体权重因子W(n),转到S102。
[0040]SlOl中W(n)通过软件采用宏的方式标记,以保证通用性和移植性。[0041 ] S102:设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括η个统一化串行调度单元,每个统一化串行调度单元按顺序标记有计数值,η个统一化串行调度单元的计数值为O?η-1,转到S103。
[0042]SlOl中采用宏的方式标记W(n)时,还设定有第一计数单元和第二计数单元的指示,用于在新增业务时进行切换。
[0043]S103:根据b分别得到每个需要调度的业务的速率容量所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子。每个需要调度的业务的速率容量所需的串行基本调度单元数,通过b除以每个需要调度的业务的速率容量得到;若b除以业务的速率容量的数值为未非整数时,该业务所需的串行基本调度单元数为b整除业务的速率容量的数值加I,转到S104。
[0044]S103中每个需要调度的业务所需的串行基本调度单元数和对应的权重因子均可事先计算或定义形成特定的查找表,当有业务需要调度时,直接在查找表中,查找与需要调度业务的速率容量所需的串行基本调度单元数和对应的权重因子。
[0045]S104:判断W(n)减去所有权重因子之和的值Wo是否为O,若是,则虚拟I个权重因子为Wo的需要调度的业务(虚拟I个业务与实际业务一起参与分配,能够保证整体分配的均匀性),转到S105,否则直接转到S105。
[0046]S105:根据W(n)、与每个需要调度的业务对应的权重因子以及每个统一化串行调度单元的计数值,运用WRR计算得到每个业务需要的统一化串行调度单元的计数值;计数单元将与每个业务的计数值对应的统一化串行调度单元分配至该业务,转到S106。
[0047]S106:新增需要调度的业务时,重复执行S103至S105,执行S105时需要切换与之前不同的计数单元。例如新增业务之前通过第一计数单元分配,则新增业务后通过第二计数单元分配。
[0048]为了保证所有业务分配的统一化串行调度单元不超限且一起参与分配,实施本发明时需要维护一个业务表来记录业务、并进行计数单元的切换。
[0049]下面通过I个实施例详细说明本发明的方法。
[0050]步骤一、参见图2所示,最大速率等级业务为0DU4,速率容量(S卩t)为100G,最小速率等级业务为0DU0,速率容量(S卩b)为1.25G,n和W(n)均为80。
[0051 ]步骤二、设计2个计数单元:第一计数单元和第二计数单元;参见图2所示,每个计数单元均包括80个统一化串行调度单元,计数值为O?79。
[0052]步骤三、参见图3所示,需要调度的业务为ODUl和0DU2,0DU1所需的串行基本调度单元数m( j)和对应的权重因子Wj (m(j))均为2,0DU2所需的串行基本调度单元数m( i)和对应的权重因子Wi(m(i))均为8。
[0053]步骤四、W(n) (80)减去ODUl和0DU2的权重因子之和(2+8)为70,虚拟I个权重因子为70的需要调度的业务。
[0054]步骤五、参见图3所示,将0DUU0DU2和虚拟的业务同时运用WRR计算得到每个业务需要的统一化串行调度单元的计数值,001]1为(19,59),001]2(4,13,26,35,44,53,66,75)。第一计数单元将计数值为19和69的统一化串行调度单元分配至0DU1,将计数值为4、13、26、35、44、53、66和75的统一化串行调度单元分配至0DU2。
[0055]步骤六、参见图4所示,当新增业务(ODUO)时,ODUO所需的串行基本调度单元数m(k)和对应的权重因子Wk(m(k))均为1,将0DU0、0DU1和0DU2合并后参与WRR均匀化分配,分配时虚拟业务的权重因子为69(80-2-8-1),分配计算得到的计数值为(0DU1:12,61),(ODU2:4,16,25,37,46,54,67,75),(ODUO: 33)。第二计数单元将计数值为33的统一化串行调度单元分配至0DU0,将计数值为12和61的统一化串行调度单元分配至ODUl,将计数值为
4、16、25、37、46、54、67和75的统一化串行调度单元分配至0DU2。
[0056]采用上述方法可不断增加业务,用上述方法得到所有业务相对均衡的统一化串行调度单元,直到权重因子用满。对于删减业务可不进行实际处理,待下次新增时,重新同样分配即可。
[0057]本发明实施例中的用于上述方法的的基于WRR的OTN串行化均衡调度实现系统,与权利要求书和
【发明内容】
处记载相同,在此不做赘述。
[0058]本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1.一种基于WRR的OTN串行化均衡调度实现方法,其特征在于,该方法包括以下步骤: A、以需要调度的最大速率等级业务的速率容量作为总容量t,以需要调度的最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到调度过程中所需要的统一化串行调度单元总数η;根据η设定WRR中的总体权重因子W(n),转到步骤B; B、根据b分别得到每个需要调度的业务的速率容量所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子,转到步骤C; C、判断W(η)减去所有权重因子之和的值Wo是否为O,若是,则虚拟I个权重因子为Wo的需要调度的业务,转到步骤D,否则直接步骤D; 步骤A与步骤D之间,还包括以下步骤:设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括η个统一化串行调度单元,每个统一化串行调度单元按顺序标记有计数值; D、根据W(n)、与每个需要调度的业务对应的权重因子、以及每个统一化串行调度单元的计数值,运用WRR计算得到每个业务需要的统一化串行调度单元的计数值;计数单元将与每个业务的计数值对应的统一化串行调度单元分配至该业务,转到步骤E; E、新增需要调度的业务时,重复执行步骤B至步骤D,执行步骤D时需要切换与之前不同的计数单元。2.如权利要求1所述的基于WRR的OTN串行化均衡调度实现方法,其特征在于:步骤A中所述η的计算公式为:n = t/b。3.如权利要求1所述的基于WRR的OTN串行化均衡调度实现方法,其特征在于:步骤A中所述W(n)通过软件采用宏的方式标记。4.如权利要求1所述的基于WRR的OTN串行化均衡调度实现方法,其特征在于:步骤B中所述每个需要调度的业务的速率容量所需的串行基本调度单元数,通过b除以每个需要调度的业务的速率容量得到。5.如权利要求4所述的基于WRR的OTN串行化均衡调度实现方法,其特征在于:步骤B中若b除以业务的速率容量的数值为未非整数时,该业务所需的串行基本调度单元数为b整除业务的速率容量的数值加I。6.如权利要求1至5任一项所述的基于WRR的OTN串行化均衡调度实现方法,其特征在于,该方法具体包括以下步骤: A、最大速率等级业务为0DU4,t为100G;最小速率等级业务为0DU0,b为1.25G,n和W(n)均为80 ;设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括80个统一化串行调度单元,每个统一化串行调度单元的计数值为O?79; B、需要调度的业务为ODUl和0DU2,ODUl所需的串行基本调度单元数m(j)和对应的权重因子Wj (m( j))均为2,0DU2所需的串行基本调度单元数m( i)和对应的权重因子Wi (m( i))均为8; C、W(n)-(Wi(m(i))+Wj(m(j)))= 70,虚拟I个权重因子为70的需要调度的业务; D、将ODUl、0DU2和虚拟的业务同时运用WRR计算得到每个业务需要的统一化串行调度单元的计数值,ODUl为(19,59),0DU2(4,13,26,35,44,53,66,75);第一计数单元将计数值为19和69的统一化串行调度单元分配至0DU1,将计数值为4、13、26、35、44、53、66和75的统一化串行调度单元分配至0DU2; E、新增业务ODUO,ODUO所需的串行基本调度单元数m(k)和对应的权重因子Wk(m(k))均为1,胃(11)-(¥丨(111(丨))+¥」(1110))+¥1^111(10))=69,虚拟1个权重因子为69的需要调度的业务;将ODUO、ODUl、0DU2和虚拟的业务同时运用WRR计算得到每个业务需要的统一化串行调度单元的计数值,ODUO 为(33),001]1为(12,61),001]2为(4,16,25,37,46,54,67,75);第二计数单元将计数值为33的统一化串行调度单元分配至ODUO,将计数值为12和61的统一化串行调度单元分配至0DU1,将计数值为4、16、25、37、46、54、67和75的统一化串行调度单元分配至0DU2。7.—种用于权利要求1所述方法的的基于WRR的OTN串行化均衡调度实现系统,其特征在于:该系统包括统一化串行调度单元计算模块、基本调度单元数计算模块、虚拟业务计算模块、计数单元设定模块和统一化串行调度单元分配模块; 统一化串行调度单元计算模块用于:以需要调度的最大速率等级业务的速率容量作为总容量t,以需要调度的最小速率等级业务的速率容量为作为基本调度单元b,根据t和b得到调度过程中所需要的统一化串行调度单元总数η;根据η设定WRR中的总体权重因子W(n);向基本调度单元数计算模块发送基本调度单元数计算模块信号,向计数单元设定模块发送计数单元设定信号; 基本调度单元数计算模块用于:收到基本调度单元数计算信号后,根据b分别得到每个需要调度的业务的速率容量所需的串行基本调度单元数,根据WRR设定与每个串行基本调度单元数对应的权重因子,向虚拟业务计算模块发送虚拟业务计算信号; 虚拟业务计算模块用于:收到虚拟业务计算信号后,计算W(n)减去所有权重因子之和的值Wo是否为0,若是,则虚拟I个权重因子为Wo的需要调度的业务后,向统一化串行调度单元分配模块发送统一化串行调度单元分配信号,否则直接向统一化串行调度单元分配模块发送统一化串行调度单元分配信号; 计数单元设定模块用于:收到计数单元设定信号后,设计2个计数单元:第一计数单元和第二计数单元;每个计数单元均包括η个统一化串行调度单元,每个统一化串行调度单元按顺序标记有计数值; 统一化串行调度单元分配模块用于:收到统一化串行调度单元分配信号后,根据W(n)、与每个需要调度的业务对应的权重因子、以及每个统一化串行调度单元的计数值,运用WRR计算得到每个业务需要的统一化串行调度单元的计数值;计数单元将与每个业务的计数值对应的统一化串行调度单元分配至该业务。8.如权利要求7所述的基于WRR的OTN串行化均衡调度实现系统,其特征在于:所述统一化串行调度单元计算模块中η的计算公式为:n = t/b。9.如权利要求7所述的基于WRR的OTN串行化均衡调度实现系统,其特征在于:所述基本调度单元数计算模块中每个需要调度的业务的速率容量所需的串行基本调度单元数,通过b除以每个需要调度的业务的速率容量得到。10.如权利要求9所述的基于WRR的OTN串行化均衡调度实现系统,其特征在于:若b除以业务的速率容量的数值为未非整数时,该业务所需的串行基本调度单元数为b整除业务的速率容量的数值加I。
【文档编号】H04J3/16GK105827353SQ201610139320
【公开日】2016年8月3日
【申请日】2016年3月11日
【发明人】徐志生, 胡杰
【申请人】烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1