一种Clos网络中基于器件约束的路径分配方法

文档序号:7865127阅读:186来源:国知局
专利名称:一种Clos网络中基于器件约束的路径分配方法
技术领域
本发明属于网络路径计算领域,更为具体地讲,涉及一种Clos网络中基于器件约束的路径分配方法。
背景技术
Clos网络是目前数据交换网络中的一种常见的网络结构。图I是基本三级Clos网络的结构图。如图I所示,第一级是由A个输入端口为Ii1个、输出端口为m个的模块组成,第二级是由m个输入端口为!T1个、输出端口为r2个的模 块组成,第三级是由r2个输入端口为m个、输出端口为n2个的模块组成。每一个输入模块都与每一个中间级模块相连,同样每一个输出模块也都同每一个中间级模块相连。可重排无阻塞是指不管网络处于何种状态,只要连接有空闲的输入输出端,任何时刻都可以在网络中直接或者对已有的连接重新选择路由来建立一个连接。对于对称的三级Clos网络(ηι=η2=η),要实现可重排无阻塞的条件是m > n,即第一级模块的输出端口数要大于等于输入端口数。图2是三级对称Clos网络的阻塞与重排过程。如图2 (a)所示,图中建立了从输入端口 O到输出端口 d的连接经过了路径Cl,输入端口 2到输出端口 a的连接经过了路径C2,此时如果要建立一条从输入端口 I到输出端口 b的连接和一条从输入端口 3到输出端口 c的连接就会发生阻塞。在三级对称Clos网络中,可以通过重新调整已有的从输入端口2到输出端口 a的连接,使其由路径C2变成路径RC2,路径调整后输入端口 I到输出端口 b以及输入端口 3到输出端口 c的连接就能够建立了。在五级Clos网络中,任意相邻的三级都可视为一个基本的三级Clos网络,当满足可重排无阻塞条件时,每个三级Clos网络都可视为三级Clos可重排无阻塞网络,即可对已有路径进行重排,使得有阻塞的网络变为无阻塞的网络。图3是五级Clos网络结构图。如图3所示,第一级每个模块的输出端是由η(n=4)个FTL (Fast Tunable Laser快速可调激光器)组成,第二级为光开关,第三级为AWG(Arrayed Waveguide Grating阵列波导光栅),第四级为光开关,第五级为交叉板。在整个路径分配的过程中,第一级模块为每个时隙分配不同的波长并根据路径选择来确定发往哪个光开关。AWG根据接收信号的不同波长自动分配相应的输出端口。在五级Clos网络中,整个网络的实现到最终路径分配结束为一次交换调度。首先需要进行业务生成,当生成业务占业务容量(整个网络中能够承载的业务路径的数量)的百分比为100%时,称为满配业务。在每次交换调度时,根据所需的业务量,为每一个业务分配一条可用的路径。现有的交换调度方法是生成多少的业务,就分配多少条路径,如果为非满配业务,则网络中会存在很多空闲链路。五级Clos网络的第一级输出端由FTL组成,FTL本身具有这样一个特性当FTL在一个时隙开启后,如果下一时隙没有业务,它不会自动关断,而是仍然按照上一时隙的波长继续发光。而第三级模块AWG是根据FTL的波长来决定信号从哪一端口输出。这样一来,在非满配业务情况下,由于FTL器件特性,某一端口在上一时隙发送了一束固定波长的光波,如果在下一时隙没有承载业务,它就会按照上一时隙的在该端口的波长继续发光,这样就可能会影响下一时隙路径中以相同波长传输的信息。图4是非满配业务的路径分配图。如图4所示,模块1、2的输出端是FTL组成,模块A、B、C、D为光开关,模块3、4为AWG,在模块I和2输出的时候就决定了每个时隙的波长,方框代表路径标识(a、b、c、d代表了不同的波长,对应模块3、4上a、b、c、d四个输出端口,3、4代表了路径分配是选择模块3还是模块4,其中未标注的时隙表示空闲时隙,没有承载业务)。在时隙1,模块I的输出端口 2的业务标识为d3(即在第3模块d端口输出),输出端口 I的路径标识为a3。在时隙2,模块I的输出端I为d3,而端口 2为空闲时隙。由于FTL的器件特性,此刻端口 2不会关断,仍然按照时隙I继续发送业务标识为d3的光波。这样当第二时隙的业务传送到模块3时就会出现干扰,使得业务的信息发生变化,受到影响。目前对于Clos网络中的FTL器件约束,尚无有效的硬件或软件手段来解决
发明内容
本发明的目的在于克服现有技术的不足,提供一种Clos网络中基于器件约束的路径分配方法,消除现有Clos网络中由于FTL器件约束造成的光波干扰。为实现上述发明目的,本发明Clos网络中基于器件约束的路径分配方法,其特征在于,包括以下步骤(I)、设置Clos网络参数,生成有效业务;(2)、对生成的有效业务依次进行路径计算,对其中存在阻塞的路径调用重排算法进行重排;(3)、判断Clos网络是否为满配业务,如果是,调度过程结束;如果不是,进入步骤
(4);(4)、生成无效业务,为无效业务分配输入输出模块号,并为无效业务分配编号,直到所有输入模块无空闲端口为止;(5)、按照分配的编号,根据无效业务输入输出模块号对生成的无效业务依次进行路径计算,如果有路径堵塞,则对存在阻塞的路径调用重排算法进行重排,直到所有无效业务路径都计算完毕为止;在所述的Clos网络中,输入模块的端口数小于等于输出模块的端口数。本发明的目的是这样实现的采用上述方案的Clos网络中基于器件约束的路径分配,通过引入无效业务,将空闲时隙以无效业务进行填充,使空闲时隙不会因为FTL的器件约束仍然以上一个时隙的业务的波长发光,而是以不同于现有时隙其他有效业务的波长发光,从而消除对现有时隙的有效业务的干扰。上述方案的Clos网络中基于器件约束的路径分配方法中,为无效业务分配输入输出模块号可以采用随机分配策略进行分配。上述方案的Clos网络中基于器件约束的路径分配方法中,为无效业务分配输入输出模块号可以采用依次分配策略进行分配。所述依次分配策略包括以下步骤
4. I)、读取空闲输入模块队列中的第一个模块号赋给无效业务作为输入模块号,读取空闲输出模块队列中的第一个模块号赋给无效业务作为输出模块号;其中,空闲输入模块队列由所有存在空闲输入模块的模块号组成,空闲输出模块队列由所有存在空闲输出模块的模块号组成;4. 2)、输入模块号对应模块占用的时隙数加I,输出模块号对应模块占用的时隙数加I ;4. 3)、判断输入模块号对应时隙数是否达到最大;如果达到最大,则删除空闲输入模块队列的第一个模块号,进入步骤4. 4);如果没有达到最大,则不作任何操作,进入步骤4.4);4. 4)、判断输出模块号对应时隙数是否达到最大;如果达到最大,则删除空闲输出队列的第一个模块号,进入步骤4. 5);如果没有达到最大,则不作任何操作,进入步骤4. 5);4. 5)、判断输入模块队列是否为空,如果不为空,则返回骤4. I)生成下一项无效业·务并为其分配输入/输出模块号,如果为空,则无效业务生成完毕。采用上述依次分配策略进行无效业务的生成,较随机分配策略进行了算法优化,提升了运行效率。综上所述,本发明Clos网络中基于器件约束的路径分配方法,实现了以下有益效果(I)通过增加无效业务的配置,实现了在有效业务非满配的情况下让每个空闲时隙不干扰其他同一时隙的路径数据信息。(2)虽然增加了无效业务部分的路径计算,但是对交换调度过程的运行效率并未造成太多的影响。(3)采用依次分配策略生成无效业务,可以较大幅度减少调度过程的运行时间,提高了交换调度的效率。


图I是基本三级Clos网络的结构图;图2是三级对称Clos网络的阻塞与重排过程;图3是五级Clos网络结构图;图4是非满配业务的路径分配图;图5是本发明Clos网络中基于器件约束的路径分配方法的一种具体实施方式
的流程图;图6是本发明中空闲输入/输出模块队列的示意图;图7是本发明中无效业务依次分配策略的流程图;图8是本发明与现有技术交换调度过程的运行时间比较图;图9是本发明中无效业务依次分配策略与随机分配策略的运行时间比较图。
具体实施例方式下面结合附图对本发明的具体实施方式
进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。实施例图5是本发明Clos网络中基于器件约束的路径分配方法进行测试时的一种具体实施方式
的流程图。如图5所示,具体实施流程包括步骤501 :设置Clos网络参数,包括设置有效业务占业务容量的百分比;步骤502 :根据步骤501中设置的参数生成有效业务;步骤503 :查询有效业务,并判断有效业务是否结束,即是否还有有效业务未进行路径计算;如果有效业务尚未结束则进入步骤504 ;如果有效业务已经结束,进入步骤507。·
步骤504 :对本次查询的有效业务进行路径计算。步骤505 :判断步骤504中所计算的路径是否阻塞;如果不阻塞则返回步骤503继续进行有效业务查询;如果阻塞则进入步骤506 ;步骤506 :调用重排算法对有效业务的路径进行调整,使网络中不存在路径阻塞的情况;返回步骤503继续进行有效业务查询;步骤503至506形成了一个循环,对步骤502生成的有效业务依次进行路径计算,对存在阻塞的路径调用重排算法进行重排。当所有有效业务均完成路径分配,即查询有效业务已经结束,进入步骤507。步骤507 :根据步骤501中设置的网络参数判断网络是否为满配业务。如果是满配业务,那么调度过程结束;如果是非满配业务,进入步骤508。步骤508 :为无效业务分配输入输出模块号,即生成无效业务。在本步骤中,可采用随机分配策略进行输入输出模块号的分配,也可以采用依次分配策略进行分配。步骤509 :为无效业务分配编号。步骤510 :查询无效业务,并判断无效业务是否结束,即是否还有无效业务未进行路径计算。如果无效业务尚未结束则进入步骤511 ;如果无效业务已经结束,进入步骤514。步骤511 :对本次查询的无效业务进行路径计算。步骤512 :判断步骤511中所计算的路径是否阻塞;如果不阻塞则返回步骤510继续进行无效业务查询;如果阻塞则进入步骤513。步骤513 :调用重排算法对无效业务的路径进行调整,使网络中不存在路径阻塞的情况。无效业务的路径重排过程有可能涉及到有效业务的路径。返回步骤513继续进行无效业务查询。步骤510至513形成了一个循环,对步骤509编号的无效业务依次进行路径计算,对存在阻塞的路径调用重排算法进行重排。当所有无效业务均完成路径分配,即查询无效业务已经结束,调度过程结束。图6是本发明中空闲输入/输出模块队列的不意图。在有效业务生成完毕后,将有空闲时隙的输入/输出模块号以及每个模块已占用的时隙数量保存下来,作为无效业务分配输入/输出模块号的依据。如图6所示,图6 (a)表示输入模块占用时隙数数组,数组的下标代表了输入模块号,存放的数值为已该模块已占用的时隙数量。本实施例中输入模块号为I 9,每个输入模块最多可承载20个时隙的业务。从图6 (a)中可以看出,此时I号模块只被占用了 3个时隙,还有空闲时隙,则将模块号I存入图6(b)中所示的空闲输入模块队列。而2号模块的占用时隙数已经达到最大值20,所以在空闲输入模块队列中没有模块号2。根据图6 (a),即可以得出空闲输入模块队列中包含的模块号为1、3、4、6、7、8。空闲输出模块队列的构建与空闲输入模块队列的构建方式是一样的。图6 (C)表不输出模块占用时隙数数组,图6 (d)表不空闲输出模块队列。本实施例中输出模块号为a i,每个输出模块最多可承载20个时隙的业务。在步骤508中,为无效业务分配输入输出模块号时就从空闲输入/输出模块队列中将模块号读取出来,分配给无效业务。可以采用随机分配策略,也可以采用依次分配策略进行分配。图7是本发明中无效业务依次分配策略的流程图。如图7所示,无效业务依次分配策略的具体流程包括 步骤701 :读取空闲输入模块队列中的第一个模块号赋给无效业务作为输入模块号。在本实施例中第一个无效业务的输出模块号为I。步骤702 :读取空闲输出模块队列中的第一个模块号赋给无效业务作为输出模块号。在本实施例中第一个无效业务的输出模块号为a。步骤703 :输入模块号对应模块占用的时隙数加I。在本实施例中,未分配前,图6Ca)中I号模块占用的时隙数为3,则第一个无效业务分配后该值变为4。步骤704 :输出模块号对应模块占用的时隙数加I。在本实施例中,未分配前,图6(C)中a号模块占用的时隙数为19,则第一个无效业务分配后该值变为20。步骤705 :判断输入模块号对应时隙数是否达到最大。如果达到最大,则进入步骤706 :删除空闲输入模块队列的第一个模块号,进入步骤707 ;如果没有达到最大,则跳过步骤706,直接进入步骤707。本实施例中,分配后I号模块占用的时隙数为4,未达到最大值20,直接进入步骤707。步骤707 :判断输出模块号对应时隙数是否达到最大。如果达到最大,则进入步骤708 :删除空闲输出模块队列的第一个值,进入步骤709 ;如果没有达到最大,则跳过步骤708,直接进入步骤709。本实施例中,分配后a号模块占用的时隙数为20,达到最大值,删除空闲输出模块队列的第一个模块号,即在图6 Cd)中删除模块号a,模块号b成为空闲输出队列的新的第一个模块号。步骤709 :判断输入模块队列是否为空,如果不为空,则返回步骤701生成下一个无效业务并为其分配输入/输出模块号;如果为空,则无效业务生成完毕。步骤701至709形成一个循环,依次对空闲输入模块进行无效业务分配,直到网络中不存在空闲的输入模块为止。图8是本发明与现有技术交换调度过程的运行时间比较。如图8所示,横坐标表示有效业务的百分比,纵坐标表示交换调度过程运行的时间。数据点为圆形的曲线代表了交换调度过程的整体时间,数据点为方形的曲线代表了无效业务的运行时间,数据点为五角星的曲线代表了有效业务的运行时间。当业务量为100%,即满配业务时所花费的时间,就是采用本发明改进前现有技术交换调度过程满配业务时所消耗的运行时间。如图8所示,本发明的整体运行时间,虽然较有效业务的运行时间有一定的增加,但是对交换调度过程的运行效率并未造成太多的影响。本发明引入无效业务后,无论有效业务占比为多少,整个交换调度过程都是以满配业务的业务量运行。如图8所示,有效业务量在低于30%时无效业务和有效业务总体运行的时间都是低于现有技术调度过程中满配业务的运行时间,这是由于当无效业务的生成采用依次分配策略进行分配时,对业务生成方式做了优化,使得整体性能得到提升。图9是本发明中无效业务依次分配策略与随机分配策略的运行时间比较。如图9所示,横坐标表示有效业务的百分比,纵坐标表示运行时间。数据点为圆形的曲线代表无效业务是采用依次分配策略生成,数据点为方形的曲线代表无效业务是采用随机分配策略生成。可以明显看出,采用依次分配策略生成无效业务大大减少了运行时间,提高了交换调度的效率。
尽管上面对本发明说明性的具体实施方式
进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式
的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
权利要求
1.一种Clos网络中基于器件约束的路径分配方法,其特征在于,包括以下步骤 (1)、设置Clos网络参数,输出生成有效业务; (2)、对生成的有效业务依次进行路径计算,对其中存在阻塞的路径调用重排算法进行重排; (3)、判断Clos网络是否为满配业务,如果是,调度过程结束;如果不是,进入步骤(4); (4)、生成无效业务,为无效业务分配输入输出模块号,并为无效业务分配编号,直到所有输入模块无空闲端口为止; (5)、按照分配的编号,根据无效业务输入输出模块号对生成的无效业务依次进行路径计算,如果有路径堵塞,则对存在阻塞的路径调用重排算法进行重排,直到所有无效业务路径都计算完毕为止; 在所述的Clos网络中,输入模块的端口数小于等于输出模块的端口数。
2.根据权利要求I所述的Clos网络中基于器件约束的路径分配方法,其特征在于,所述的为无效业务分配输入输出模块号可采用随机分配策略进行分配。
3.根据权利要求I所述的Clos网络中基于器件约束的路径分配方法,其特征在于,所述的为无效业务分配输入输出模块号可采用依次分配策略进行分配。
4.根据权利要求3所述的Clos网络中基于器件约束的路径分配方法,其特征在于,所述的所述依次分配策略包括以下步骤 4.I)、读取空闲输入模块队列中的第一个模块号赋给无效业务作为输入模块号,读取空闲输出模块队列中的第一个模块号赋给无效业务作为输出模块号;其中,空闲输入模块队列由所有存在空闲端口的输入模块的模块号组成,空闲输出模块队列由所有存在空闲端口的输出模块的模块号组成; 4.2)、输入模块号对应模块占用的时隙数加1,输出模块号对应模块占用的时隙数加I ; 4.3)、判断输入模块号对应时隙数是否达到最大;如果达到最大,则删除空闲输入模块队列的第一个模块号,进入步骤4. 4);如果没有达到最大,则不作任何操作,进入步骤4. 4); 4.4)、判断输出模块号对应时隙数是否达到最大;如果达到最大,则删除空闲输出队列的第一个模块号,进入步骤4. 5);如果没有达到最大,则不作任何操作,进入步骤4. 5); 4.5)、判断输入模块队列是否为空,如果不为空,则返回骤4. I)生成下一项无效业务并为其分配输入/输出模块号,如果为空,则无效业务生成完毕。
全文摘要
本发明公开了一种Clos网络中基于器件约束的路径分配方法,通过引入无效业务,将空闲时隙以无效业务进行填充,使空闲时隙不会因为FTL的器件约束仍然以上一个时隙的业务的波长发光,而是以不同于现有时隙其他有效业务的波长发光,从而消除对现有时隙的有效业务的干扰。在进行无效业务分配时,可采用依次分配策略进行无效业务的生成,较随机分配策略进行了算法优化,提升了运行效率。
文档编号H04L12/701GK102904805SQ20121044864
公开日2013年1月30日 申请日期2012年11月12日 优先权日2012年11月12日
发明者周宇萌, 邱昆, 许渤 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1