CN101170485B - 在三级clos交叉网络中配置多层粒度业务路由的方法 - Google Patents
在三级clos交叉网络中配置多层粒度业务路由的方法 Download PDFInfo
- Publication number
- CN101170485B CN101170485B CN2006101141125A CN200610114112A CN101170485B CN 101170485 B CN101170485 B CN 101170485B CN 2006101141125 A CN2006101141125 A CN 2006101141125A CN 200610114112 A CN200610114112 A CN 200610114112A CN 101170485 B CN101170485 B CN 101170485B
- Authority
- CN
- China
- Prior art keywords
- intergrade
- cross unit
- connection
- granularity
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种在三级CLOS交叉网络中实现交叉连接的方法,包括:步骤一,读取业务源、业务宿及业务粒度信息并确定当前连接为单播连接;步骤二,判断业务源、业务宿所在的交换芯片是否有空闲连接资源,若没有,返回一失败信息后结束,否则,根据业务粒度信息中业务粒度的不同采用不同的搜索方式搜索一直接可用的中间级交叉单元,若搜索到,则建立当前业务源与当前业务宿之间的连接,否则,进入步骤三;步骤三,调整已有连接并判断是否有当前业务源或业务宿所需的空闲端口释放,若有,则建立当前业务源与当前业务宿之间的连接,否则,返回一失败信息后结束。本发明解决现有方法适用性差以及更好地平衡重构阻塞率与重构速度的矛盾。
Description
技术领域
本发明涉及通信领域中大容量交叉连接装置实现中业务路由的配置,特别是涉及一种在三级CLOS交叉网络中实现多层粒度交叉连接的方法。
背景技术
IP(Internet Protocol,互联网协议)路由器和光交叉连接设备中,经常要使用多级CLOS交换(网络)。多级CLOS交换把交换单元分成多级:输入级、输出级以及以奇数方式增加的中间级。只有两个相邻级之间存在连接;中间级只有一级的CLOS交换称为三级CLOS交换。
大容量光交叉连接设备中,一般用多层粒度进行交叉连接,例如,各级交换单元的输入、输出端口可以是物理通道组,每个物理通道组包括多条物理通道,每条物理通道包括多个时隙组,每个时隙组又可以包括多个时隙,在实现时,可以上述任何一种粒度进行交叉连接。
由于CLOS交换是一个多通路的交换结构,从一个输入端口到一个输出端口之间可能会有多条路径,因此可以大大减少交叉节点数,提高利用率。但是与单级网络相比,任意一个三级CLOS交换都可能存在由于线路争用而产生的内部阻塞。因此,实现CLOS矩阵正常、高效工作的重点是要设计一种支持多层粒度交叉连接、重构简单有效的方法。在实际应用中,交叉装置根据业务需求,由设备控制芯片计算端口连接关系,并通过指令下达到交叉电路,完成交叉动作。为了满足时间要求(例如保护倒换实现的时间小于50ms,建立连接的时间小于2s等要求),该方法需要提高计算效率、减少交叉连接配置的反应时间。
目前存在的三级CLOS交叉连接方法存在以下一些问题:
1),各方法分别依托于一种固定的三级CLOS矩阵结构,如三级CLOS矩阵的各级交换单元都是空分交换单元;输入级、输出级的交换单元是空分交换单元,中间级交换单元是时空分(Time Space,TS)交换单元等。这样就从根本上限制了方法的适用性;
2),各方法在实现上都只是考虑了单粒度的交叉连接,没有考虑多层粒度交叉连接的问题,这同样从根本上限制了方法的适用性;
3),内部阻塞时的重构方法不能很好地解决优化分配连接资源(降低阻塞率)和快速实现重构的矛盾。
发明内容
本发明所要解决的技术问题在于提供一种在三级CLOS交叉网络中实现多层粒度交叉连接的方法,用于解决现有方法适用性差以及不能更好地平衡重构阻塞率与重构速度的矛盾。
为了实现上述目的,本发明提供了一种在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,包括:
步骤一,读取业务源、业务宿及业务粒度信息并确定当前连接为单播连接;
步骤二,判断所述业务源、所述业务宿所在的交换芯片是否有空闲连接资源,若没有,返回一失败信息后结束,否则,根据所述业务粒度信息中业务粒度的不同采用不同的搜索方式搜索一直接可用的中间级交叉单元并判断是否搜索到所述直接可用的中间级交叉单元,若搜索到,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,进入步骤三;
步骤三,调整已有连接并判断是否有当前业务源或业务宿所需的空闲端口释放,若有,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,返回一失败信息后结束。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤二中,所述业务粒度分为:最大业务粒度、次大业务粒度及更小业务粒度。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤二中,当所述业务粒度为最大业务粒度时,还包括以洪泛搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤31,对当前业务源所属输入级交叉单元空闲出端口对应的最大粒度连接,选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前交叉单元;及
步骤32,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的最大粒度连接,若有,则建立当前业务源和当前业务宿之间的最大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级空闲出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,选择顺序数次小的最大粒度连接对应的中间级交叉单元为当前交叉单元,回到所述步骤32继续执行。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤二中,当所述业务粒度为次大业务粒度时,还包括以绝对最小搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤41,对当前业务源所属输入级交叉单元出端口对应的所有最大粒度连接,选择次大粒度已被占用最少的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤42,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的次大粒度连接,若有,则建立当前业务源和当前业务宿之间的次大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,顺序选择次大粒度连接利用次少的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤42继续执行。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤二中,当所述业务粒度为更小业务粒度时,还包括以绝对最大搜索方式搜索选择所述可用的中间级交叉单元的步骤,具体为:
步骤51,对当前业务源所属输入级交叉单元出端口对应的待建业务粒度的上一级粒度连接,选择业务粒度已被占用最多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的上一级粒度连接对应的中间级交叉单元为当前交叉单元;若需要占用一新的上一级粒度连接,则从占用粒度最少的更上一级粒度连接中选择,若同时存在符合条件的多个更上一级粒度连接,则选择顺序数最小的更上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤52,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的相应粒度的连接,若有,则建立当前业务源和当前业务宿之间的更小粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的上一级粒度连接,若是,则进入所述步骤三;否则,顺序选择粒度占用次多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤52继续执行。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤三中,所述调整已有连接的步骤具体为:
步骤61,遍历当前业务宿所占芯片空闲入端口对应的业务源所属芯片出端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路;
步骤62,令当前业务源占用该已有连接释放出的空闲交叉粒度资源,建立连接并返回成功信息后结束;否则,记录所述步骤61中所有遍历的已有连接;
步骤63,遍历当前业务源所占芯片空闲出端口对应的当前业务宿所属交叉单元入端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路;及
步骤64,令当前业务宿占用该已有连接释放出的空闲交叉粒度资源,建立连接并在返回成功信息后结束;否则,记录所述步骤63中所有遍历的已有连接,进入下一层重构。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤64中,所述进入下一层重构的步骤具体为:
步骤71,选择所述步骤61中所有遍历的已有连接的第1条,分别确定该已有连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
步骤72,遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路,并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路,同时拆除所述步骤71中的已有连接,其业务源和业务宿占用该已有连接释放出的空闲交叉粒度资源,建立新的连接并返回到所述步骤62;否则,记录所有遍历的已有连接;
步骤73,遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,则为所述步骤72中的已有连接重新建立新的连接通路,同时拆除所述步骤71中的已有连接,其业务源和业务宿占用该已有连接释放出的空闲交叉粒度资源,建立新的连接并返回到所述步骤64;否则,记录所有遍历的已有连接;及
步骤74,依次选择所述步骤61中所有遍历的已有连接的第2条到最后一条,重新进入所述步骤71,若重构成功,返回成功信息后结束,若重构仍然失败,重新进入所述步骤71,并所述步骤61中所有遍历的已有连接更换为所述步骤63中所有遍历的已有连接,并在重构失败时,返回到所述步骤71。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤74中,所述重构的重构深度为大于1的整数,该重构深度根据重构的时间、计算资源而确定。
为了实现上述目的,本发明还提供了一种在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,包括:
步骤91,读取业务源、业务宿以及业务粒度信息并对当前连接进行判断,若当前连接为单播连接,则转入步骤92,若当前连接为多播连接,则转入步骤93;
步骤92,判断所述业务源、所述业务宿所在的交换芯片是否有空闲连接资源,若没有,返回一失败信息后结束,否则,根据所述业务粒度信息中业务粒度的不同采用不同的搜索方式搜索一直接可用的中间级交叉单元并判断是否搜索到所述直接可用的中间级交叉单元,若搜索到,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,进入步骤94;
步骤93,判断所述多播连接能否在输出级广播,若能,则在所述输出级建立连接,返回一成功信息后结束,否则,进一步判断所述多播连接能否在中间级广播,若能,则在所述中间级建立连接,返回一成功信息后结束,否则,进入步骤94;及
步骤94,调整已有连接并判断是否有当前业务宿所需的空闲端口释放,若有,则建立当前业务源与业务宿之间的连接,返回一成功信息后结束,否则,返回一失败信息后结束。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤94中,还包括:
步骤101,遍历当前业务宿所属交叉单元入端口部分的已有单播连接并判断是否能为该已有单播连接直接建立另一条通路,若存在直接重建连接的通路,则重新建立该已有单播连接,并令所述业务源占用该连接释放出的空闲交叉粒度资源,建立连接并返回成功信息后结束;否则,记录遍历的所有已有单播连接;
步骤102,遍历当前业务宿所属交叉单元入端口部分的已有多播连接并判断是否能为所述已有多播连接直接建立另一条通路,若存在直接重建连接的通路,则重新建立所述已有多播连接并令所述业务源占用该已有多播连接释放出的空闲交叉粒度资源,建立连接并返回成功信息后结束;否则转入步骤103,及;
步骤103,对所述步骤101中所有已有单播连接按照单播连接时的重构步骤进行下一层次的重构,并在重构中按照所述步骤102进行多播连接的重构,其中,所述重构的重构深度为大于1的整数,所述重构深度根据重构的时间、计算资源而确定。
所述的在三级CLOS交叉网络中实现交叉连接的方法,其中,所述步骤93、步骤94中,还包括在业务路由建立和重构的步骤中根据业务粒度信息中业务粒度的不同采用不同的搜索方式搜索空闲资源的步骤,具体为:
当所述业务粒度为最大业务粒度时,以洪泛搜索方式进行搜索;或
当所述业务粒度为次大业务粒度时,以绝对最小搜索方式进行搜索;或
当所述业务粒度为更小业务粒度时,以绝对最大搜索方式进行搜索。
采用本发明方法,与现有技术相比,由于采用了通用的、具备多层粒度交叉能力的交叉矩阵单元,因而从根本上拓宽了三级CLOS交换网络实现交叉连接方法的适用性,也更符合实际情况;另外,本发明方法在业务建立和重构的过程中,针对不同的业务粒度采用不同的资源搜索方式,兼顾了小粒度资源的集中优化使用和大粒度资源的均衡使用,在业务建立时能尽量减少重构发生的可能性,在需要重构时能尽量减少重构深度,降低重构阻塞率。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为现有三级CLOS交换结构;
图2为现有对称三级CLOS交换结构;
图3为本发明单播算法流程示意图;
图4为本发明单播算法-物理链路组连接示例;
图5为本发明单播算法-物理链组连接示例;
图6为本发明单播算法-时隙连接示例;
图7为本发明一实施例的单播算法流程示意图;
图8为本发明多播算法流程示意图;
图9为本发明多播算法-时隙连接示例;
图10为本发明一实施例的多播算法流程示意图。
具体实施方式
本发明所述三级CLOS交叉网络实现多层粒度交叉连接的方法包括单播和多播两种情况。下面结合附图及具体实施例,详细描述本发明方法的实现过程。
如图1所示,为现有三级CLOS交换结构,图2为现有对称三级CLOS交换结构。其中,n1为输入级(第一级)各交换单元的输入端口数,n2为输出级(第三级)各交换单元的输出端口数;m为中间级(第二级)交换单元的个数;r1和r2分别为中间级交换单元的输入和输出端口数。
当n1=n2,r1=r2时,称三级CLOS交换结构是“对称的”。如图2所示,n1=n2=4,r1=r2=4,m=4。
为了具体描述本发明方法的实现过程,设图2中每个交换单元都是完全无阻的时空分(TS)交换单元(可以是一个具体的芯片)。输入级、输出级和中间级之间的端口为最大粒度的连接,称为物理链路组(个数为4);每个物理链路组中包含次大粒度的连接,称为物理链路(个数为2);每条物理链路又包含交叉粒度的连接,称为时隙(个数为2)。输入级和中间级之间以及中间级和输出级之间的物理链路组、物理链路、时隙都分别按顺序进行编号。输入级、中间级以及输出级的交换芯片同样按顺序进行编号。
如图3所示,为本发明单播算法流程示意图。该流程包括:
步骤31,读取业务源、业务宿以及业务粒度信息,判断业务源和业务宿所在交换芯片是否有空闲连接资源,如果没有,则返回失败信息后结束。如果有,则进入步骤32;
步骤32,根据业务粒度的不同,采用不同的搜索方式,选择一个直接可用的中间级交叉单元,如果有,则建立当前业务源和业务宿之间的连接,返回成功信息后结束,否则,进入步骤33;
步骤33,调整已有连接,判断是否有当前业务源或业务宿所需的空闲端口释放,如果有,则建立当前业务源和业务宿之间的连接,返回成功信息后结束,否则,返回失败信息后结束。
上述步骤32进一步包括:
对于最大业务粒度,采用如下“洪泛”搜索方式选择可用的中间级交叉单元,该方式具体又包括:
a1),对当前业务源所属输入级交叉单元空闲出端口对应的最大粒度连接,选择顺序数最小的那个最大粒度连接对应的中间级交叉单元为当前交叉单元;
b1),在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的最大粒度连接,如果有,则建立当前业务源和当前业务宿之间的最大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级空闲出端口对应的最大粒度连接,如果是,则进入步骤33;如果尚未遍历完,选择顺序数次小的那个最大粒度连接对应的中间级交叉单元为当前交叉单元,回到步骤b1继续执行;
对于次大业务粒度,采用如下“绝对最小”搜索方式选择可用的中间级交叉单元,该方式具体又包括:
a2),对当前业务源所属输入级交叉单元出端口对应的所有最大粒度连接,选择次大业务粒度已被占用最少的一个最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;如果同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的那一个最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;
b2),在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的次大粒度连接,如果有,则建立当前业务源和当前业务宿之间的次大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的最大粒度连接,如果是,则进入步骤33;如果不是,则顺序选择次大粒度连接利用次少的那个最大粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到步骤b2继续执行;
对于其他更小的业务粒度,采用如下“绝对最大”搜索方式选择可用的中间级交叉单元,该方式具体又包括:
a3),对当前业务源所属输入级交叉单元出端口对应的待建业务粒度上一级粒度的连接,选择业务粒度已被占用最多的那个上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;如果同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的那个连接对应的中间级交叉单元为当前交叉单元;如果需要占用一个新的上一级粒度连接,则从占用粒度最少的更上一级粒度连接中选择,如果同时存在符合条件的多个更上一级粒度连接,则选择顺序数最小的那个连接,它对应的中间级交叉单元为当前中间级交叉单元;
b3),在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的相应粒度的连接,如果有,则建立当前业务源和当前业务宿之间的更小粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的上一级粒度连接,如果是,则进入步骤33;如果不是,则顺序选择粒度占用次多的那个上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到步骤b3继续执行;
上述步骤33中的调整已有连接的步骤进一步包括:
步骤331,遍历当前业务宿所占芯片空闲入端口对应的业务源所属芯片出端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
步骤332,如果存在直接重建连接的空闲资源,则为步骤331中的已有连接重新建立新的连接通路;
步骤333,令当前业务源占用该连接释放出的空闲交叉粒度资源,建立连接,返回成功信息后结束;否则,记录步骤331中所有遍历的已有连接,进入步骤334;
步骤334,遍历当前业务源所占芯片空闲出端口对应的当前业务宿所属交叉单元入端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
步骤335,如果存在直接重建连接的空闲资源,则为步骤334中的已有连接重新建立新的连接通路;
步骤336,令当前业务宿占用该连接释放出的空闲交叉粒度资源,建立连接,返回成功信息后结束;否则,记录步骤334中所有遍历的已有连接,进入步骤337;以及
步骤337,进入下一层次重构;该步骤又包括:
c1),选择步骤331中所有遍历的已有连接的第1条,分别确定该连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
c2),遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
c3),如果存在直接重建连接的空闲资源,则为步骤c2中的已有连接重新建立新的连接通路;同时拆除步骤c1中的已有连接,其业务源和业务宿占用步骤c2中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回到步骤333;否则,记录步骤c2中所有遍历的已有连接,进入步骤c4;
c4),遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
c5),如果存在直接重建连接的空闲资源,则为步骤c4中的已有连接重新建立新的连接通路;同时拆除步骤c1中的已有连接,其业务源和业务宿占用步骤c4中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回步骤336;否则,记录步骤c4中所有遍历的已有连接,进入步骤c6;
c6),依次选择步骤331中所有遍历的已有连接的第2条到最后一条,重新进入步骤c1;如果重构成功,则返回成功信息后结束;如果重构仍然失败,进入步骤c7;
c7),重新进入步骤c1,只不过把“步骤331中所有遍历的已有连接”更换为“步骤334中所有遍历的已有连接”;以及
c8),如果重构仍然失败,则进入更下一层次的重构,重新进入步骤337,此时,“已有连接”是最近一次记录的、更新层次的,因重构而需要调整的已有连接数量将增加一条;
该步骤中,重构深度(层次数)M是大于1的整数,根据时间、计算资源等因素确定,如果超过规定的重构深度M而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
结合图3,在以下实施例将详细描述3种不同业务粒度建立业务路由的过程,更具体地描述本发明的技术方案。
如图4所示,需要建立从输入级交换芯片1的第一个物理链路组到输出级交换芯片1的第一个物理链路组的单播连接;具体实现该连接可按照图7所示的步骤进行处理。
对于该物理链路组连接,采用如下“洪泛”搜索方式,包括:
4a),对输入级芯片1出端口的所有空闲物理链路组,选择顺序数最小的那个空闲物理链路组对应的中间级芯片为当前中间级交叉单元。例如,如果中间级芯片A和B与输入级芯片1的出端口都存在空闲物理链路组相连,则选择序号小的A;
4b),判断与当前中间级芯片A对应的输出级芯片1入端口是否有空闲物理链路组,如果有,则建立输入级芯片1和输出级芯片1之间的物理链路组连接,返回成功信息后结束;否则,判断是否已经遍历所有输入级芯片1空闲出端口对应的物理链路组,如果是,则进入步骤33;如果尚未遍历完,选择顺序数次小的那个物理链路组对应的中间级芯片为当前交叉单元,如芯片B,回到步骤4b继续执行。
如图5所示,为需要建立从输入级交换芯片1的第一个物理链路组中的第一个物理链路到输出级交换芯片1的第一个物理链路组中的第一个物理链路的单播连接;具体实现该连接可按照图7所示的步骤进行处理。
对于该物理链路连接,采用如下“绝对最小”搜索方式,包括:
5a),对输入级芯片1出端口对应的所有物理链路组,选择物理链路已被占用最少的那个物理链路组对应的中间级芯片为当前中间级交叉单元;如果中间级芯片A和B同时符合条件,则选择顺序数最小的那一个,即中间级芯片A;
5b),判断与中间级芯片A对应的输出级芯片1入端口是否有空闲的物理链路,如果有,则分别选择相应物理链路组中顺序数最小的空闲物理链路建立输入级芯片1和输出级芯片1之间的物理链路连接,例如,选择输入级和中间级之间物理链路组1的物理链路1以及中间级和输出级之间物理链路组1的物理链路1;返回成功信息后结束;否则,判断是否已经遍历所有输入级芯片1出端口对应的物理链路组,如果是,则进入步骤33;如果不是,则顺序选择物理链路利用次少的那个物理链路组对应的中间级芯片为当前中间级交叉单元,如芯片C,回到步骤5b继续执行。
如图6所示,为需要建立从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙到输出级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙的单播连接;具体实现该连接可按照图7所示的步骤进行处理。
对于该时隙连接,采用如下“绝对最大”搜索方式,包括:
6a),对输入级芯片1出端口对应的物理链路,选择时隙资源已被占用最多的那个物理链路对应的中间级芯片为当前中间级交叉单元;如果同时存在符合条件的多个中间级芯片,则选择顺序数最小的那个物理链路对应的中间级芯片为当前交叉单元,例如,如果中间级芯片A和B都满足该需求,则选择序号小的A;如果需要占用一个新的空闲物理链路,则从空闲物理链路资源最多的物理链路组中选择,如果同时存在符合条件的多个物理链路组,则选择顺序数最小的那个,它对应的中间级芯片为当前中间级交叉单元;
6b),判断与中间级芯片A对应的输出级芯片1的入端口是否有空闲的时隙资源,如果有,则建立从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙,到输出级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙的单播连接,返回成功信息后结束;否则,判断是否已经遍历输入级芯片1的所有出端口对应的物理链路资源,如果是,则进入步骤33;如果不是,则顺序选择时隙资源占用次多的那个物理链路对应的中间级芯片为当前中间级交叉单元,如芯片D,回到步骤6b继续执行。
结合图3、4,对于物理链路组连接,例如,输入级芯片1到中间级芯片A、D的物理链路组被占用,同时中间级芯片B、C到输出级芯片1的物理链路组也被占用,则调整已有连接的步骤包括:
a11),遍历输出级芯片1空闲入端口对应的输入级芯片1出端口的已有物理链路组连接(如从输出级芯片1入端口1开始,检查其对应的输入级芯片1到中间级芯片A之间的已有物理链路组连接——可能是从输入级芯片1到输出级芯片2、3或者4的一个连接),按照步骤32,判断是否有合适的空闲物理链路组为该已有连接直接建立另一条通路;
a12),如果存在直接重建连接的空闲物理链路组资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a11中的已有连接重新建立新的连接通路;
a13),令当前业务源占用该连接释放出的空闲物理链路组资源,建立输入级芯片1和输出级芯片1之间的物理链路组连接,返回成功信息后结束;否则,记录步骤a11中所有遍历的已有物理链路组连接,进入步骤a14;
a14),遍历输入级芯片1空闲出端口对应的输出级芯片1入端口的已有物理链路组连接(如从输入级芯片1出端口1开始,检查其对应的输出级芯片1到中间级芯片A之间的已有物理链路组连接——可能是从输入级芯片2、3或者4到输出级芯片1的一个连接),按照步骤32,判断是否有合适的空闲物理链路组资源为该已有连接直接建立另一条通路;
a15),如果存在直接重建连接的空闲资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a14中的已有连接重新建立新的连接通路;
a16),令当前业务宿占用该连接释放出的空闲物理链路组资源,建立输入级芯片1和输出级芯片1之间的物理链路组连接,返回成功信息后结束;否则,记录步骤a14中所有遍历的已有物理链路组连接,进入步骤a17;
a17),进入下一层次重构;该步骤又包括:
a171),选择步骤a11中所有遍历的已有连接的第1条,分别确定该连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
a172),遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a173),如果存在直接重建连接的空闲资源,则为步骤a172中的已有连接重新建立新的连接通路;同时拆除步骤a171中的已有连接,其业务源和业务宿占用步骤a172中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回到步骤a13。否则,记录步骤a172中所有遍历的已有连接,进入步骤a174;
a174),遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a175),如果存在直接重建连接的空闲资源,则为步骤a174中的已有连接重新建立新的连接通路;同时拆除步骤a171中的已有连接,其业务源和业务宿占用步骤a174中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回步骤a16。否则,记录步骤a174中所有遍历的已有连接,进入步骤a176;
a176),依次选择步骤a11中所有遍历的已有连接的第2条到最后一条,重新进入步骤a171;如果重构成功,则返回成功信息后结束;如果重构仍然失败,进入步骤a177;
a177),重新进入步骤a171,只不过把“步骤a11中所有遍历的已有连接”更换为“步骤a14中所有遍历的已有连接”;以及
a178),如果重构仍然失败,则进入更下一层次的重构,重新进入步骤a17,注意此时的“已有连接”是最近一次记录的、更新层次的,因重构而需要调整的已有连接数量将增加一条;
该步骤中,重构深度(层次数)M是大于1的整数,比如取4,则如果重构深度M超过4而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
结合图3、5,对于物理链路连接,例如,输入级芯片1到中间级芯片A、D的所有物理链路被占用,同时中间级芯片B、C到输出级芯片1的所有物理链路也被占用,则调整该已有连接的步骤包括:
a21),遍历输出级芯片1空闲入端口对应的输入级芯片1出端口的已有物理链路连接(如从输出级芯片1入端口1开始,检查其对应的输入级芯片1到中间级芯片A之间的已有物理链路连接——可能是从输入级芯片1到输出级芯片2、3或者4的一个连接),按照步骤32,判断是否有合适的空闲物理链路为该已有连接直接建立另一条通路;
a22),如果存在直接重建连接的空闲物理链路资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a21中的已有连接重新建立新的连接通路;
a23),令当前业务源占用该连接释放出的空闲物理链路资源,建立输入级芯片1和输出级芯片1之间的物理链路连接,返回成功信息后结束;否则,记录步骤a21中所有遍历的已有物理链路连接,进入步骤a24;
a24),遍历输入级芯片1空闲出端口对应的输出级芯片1入端口的已有物理链路连接(如从输入级芯片1出端口1开始,检查其对应的输出级芯片1到中间级芯片A之间的已有物理链路连接——可能是从输入级芯片2、3或者4到输出级芯片1的一个连接),按照步骤32,判断是否有合适的空闲物理链路资源为该已有连接直接建立另一条通路;
a25),如果存在直接重建连接的空闲资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a24中的已有连接重新建立新的连接通路;
a26),令当前业务宿占用该连接释放出的空闲物理链路资源,建立输入级芯片1和输出级芯片1之间的物理链路连接,返回成功信息后结束;否则,记录步骤a24中所有遍历的已有物理链路连接,进入步骤a27;
a27),进入下一层次重构;该步骤又包括:
a271),选择步骤a21中所有遍历的已有连接的第1条,分别确定该连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
a272),遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a273),如果存在直接重建连接的空闲资源,则为步骤a272中的已有连接重新建立新的连接通路;同时拆除步骤a271中的已有连接,其业务源和业务宿占用步骤a272中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回到步骤a23。否则,记录步骤a272中所有遍历的已有连接,进入步骤a274;
a274),遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a275),如果存在直接重建连接的空闲资源,则为步骤a274中的已有连接重新建立新的连接通路;同时拆除步骤a271中的已有连接,其业务源和业务宿占用步骤a274中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回步骤a26。否则,记录步骤a274中所有遍历的已有连接,进入步骤a276;
a276),依次选择步骤a21中所有遍历的已有连接的第2条到最后一条,重新进入步骤a271;如果重构成功,则返回成功信息后结束;如果重构仍然失败,进入步骤a277;
a277),重新进入步骤a271,只不过把“步骤a21中所有遍历的已有连接”更换为“步骤a24中所有遍历的已有连接”;以及
a278),如果重构仍然失败,则进入更下一层次的重构,重新进入步骤a27,注意此时的“已有连接”是最近一次记录的、更新层次的,因重构而需要调整的已有连接数量将增加一条;
该步骤中,重构深度(层次数)M是大于1的整数,比如取4,则如果重构深度M超过4而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
结合图3、6,对于时隙连接,例如,输入级芯片1到中间级芯片A、D的所有时隙被占用,同时中间级芯片B、C到输出级芯片1的所有时隙也被占用,则调整该已有连接的步骤包括:
a31),遍历输出级芯片1空闲入端口对应的输入级芯片1出端口的已有时隙连接(如从输出级芯片1入端口1开始,检查其对应的输入级芯片1到中间缓芯片A之间的已有时隙连接——可能是从输入级芯片1到输出级芯片2、3或者4的一个连接),按照步骤32,判断是否有合适的空闲时隙为该已有连接直接建立另一条通路;
a32),如果存在直接重建连接的空闲时隙资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a31中的已有连接重新建立新的连接通路;
a33),令当前业务源占用该连接释放出的空闲时隙资源,建立输入级芯片1和输出级芯片1之间的时隙连接,返回成功信息后结束;否则,记录步骤a31中所有遍历的已有时隙连接,进入步骤a34;
a34),遍历输入级芯片1空闲出端口对应的输出级芯片1入端口的已有时隙连接(如从输入级芯片1出端口1开始,检查其对应的输出级芯片1到中间级芯片A之间的已有时隙连接——可能是从输入级芯片2、3或者4到输出级芯片1的一个连接),按照步骤32,判断是否有合适的空闲时隙资源为该已有连接直接建立另一条通路;
a35),如果存在直接重建连接的空闲资源(如选择中间级芯片B、C或者D作为其中间级芯片),则为步骤a34中的已有连接重新建立新的连接通路;
a36),令当前业务宿占用该连接释放出的空闲时隙资源,建立输入级芯片1和输出级芯片1之间的时隙连接,返回成功信息后结束;否则,记录步骤a34中所有遍历的已有时隙连接,进入步骤a37;
a37),进入下一层次重构;该步骤又包括:
a371),选择步骤a31中所有遍历的已有连接的第1条,分别确定该连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
a372),遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a373),如果存在直接重建连接的空闲资源,则为步骤a372中的已有连接重新建立新的连接通路;同时拆除步骤a371中的已有连接,其业务源和业务宿占用步骤a372中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回到步骤a33。否则,记录步骤a372中所有遍历的已有连接,进入步骤a374;
a374),遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接,按照步骤32,判断是否有合适的空闲资源为该已有连接直接建立另一条通路;
a375),如果存在直接重建连接的空闲资源,则为步骤a374中的已有连接重新建立新的连接通路;同时拆除步骤a371中的已有连接,其业务源和业务宿占用步骤a374中已有连接释放出的空闲交叉粒度资源,建立新的连接,返回步骤a36。否则,记录步骤a374中所有遍历的已有连接,进入步骤a376;
a376),依次选择步骤a31中所有遍历的已有连接的第2条到最后一条,重新进入步骤a371;如果重构成功,则返回成功信息后结束;如果重构仍然失败,进入步骤a377;
a377),重新进入步骤a371,只不过把“步骤a31中所有遍历的已有连接”更换为“步骤a34中所有遍历的已有连接”;以及
a378),如果重构仍然失败,则进入更下一层次的重构,重新进入步骤a37,注意此时的“已有连接”是最近一次记录的、更新层次的,因重构而需要调整的已有连接数量将增加一条;
该步骤中,重构深度(层次数)M是大于1的整数,比如取4,则如果重构深度M超过4而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
如图7所示,为本发明一实施例的单播算法流程示意图,该流程包括如下步骤:
步骤71,读取业务源、业务宿以及业务粒度信息;
步骤72,判断业务源和业务宿所在交换芯片是否有空闲连接资源,若有,则进入步骤73,否则,返回失败信息后结束;
步骤73,根据业务粒度大小的不同,采用不同的搜索方式,选择一个直接可用的中间级交叉单元;具体为:
对于物理链路组连接,采用“洪泛”搜索方式;
对于物理链路连接,采用“绝对最小”搜索方式;
对于时隙连接,采用“绝对最大”搜索方式。
步骤74,判断是否能够搜索到一个直接可用的中间级交叉单元,若能够,则进入步骤75,否则,将重构深度M设为1,并进入步骤76;
步骤75,建立当前业务源和业务宿之间的连接,返回成功信息后结束;
步骤76,分别在业务源、业务宿所在芯片调整已有连接,根据被调整连接业务颗粒的不同,在重构中分别采用“洪泛”、“绝对最小”、“绝对最大”的搜索方式寻找空闲连接资源;以及
步骤77,判断是否当前业务源或业务宿所需的空闲端口释放,若释放,则进入步骤75,否则,将重构深度M执行加1操作,并进一步判断此时的重构深度M是否大于4,若大于4,则返回失败信息后结束,否则,进入步骤76。
如图8所示,为本发明多播算法流程示意图;该流程包括:
步骤81,首先读取业务源、业务宿以及业务粒度信息;
步骤82,确定当前连接是为单播连接还是为多播连接,如果当前连接为单播,则转入步骤86执行;如果当前连接为多播,则按照下述步骤83~85进行,在业务路由建立和重构中针对不同业务粒度使用的搜索方式与单播情况相同;
步骤83,如果可以在输出级广播,则在输出级建立连接,返回成功信息后结束;
步骤84,如果不能在输出级广播,看是否可以在中间级广播,如果可以在中间级建立连接,则在中间级建立连接,返回成功后结束;
步骤85,如果不能在中间级广播,则调整已有连接,判断是否有当前业务宿所需的空闲端口释放,如果有,则建立当前业务源和业务宿之间的连接,返回成功信息后结束,否则,返回失败信息后结束;以及
步骤86,如果为单播,按照单播算法流程进行。唯一不同的,在对单播连接进行重构的过程中,先是对现存的单播连接进行查找并记录,在经过单播算法流程中步骤33的步骤333之后,对现存的多播连接进行查找,但不记录;
上述步骤85,进一步包括以下步骤:
步骤851,遍历当前业务宿所属交叉单元入端口部分的已有单播连接;
步骤852,按照步骤81,判断是否能为步骤851中的已有单播连接直接建立另一条通路。如果存在直接重建连接的通路,则重新建立步骤851中的连接,并令步骤85中的业务源占用该连接释放出的空闲交叉粒度资源,建立连接,返回成功信息后结束;否则,进入步骤853;
步骤853,如果不存在直接重建连接的通路,则记录步骤851遍历的所有连接;
步骤854,遍历当前业务宿所属交叉单元入端口部分的已有多播连接;
步骤855,按照步骤82到步骤84,判断是否能为步骤854中的已有多播连接直接建立另一条通路。如果存在直接重建连接的通路,则重新建立步骤854中的连接,并令步骤85中的业务源占用该连接释放出的空闲交叉粒度资源,建立连接,返回成功信息后结束;否则,进入步骤856;
步骤856,对步骤853中记录的连接,按照单播情况下的步骤33的步骤337,进行下一层次的重构,并在重构中按照以上步骤854和855考虑多播连接的重构,然后判断是否能为步骤853中记录的连接建立另一条通路;如果重构成功,则为其建立新的连接,并令步骤85中的业务占用该重构连接释放出的空闲交叉连接资源,建立连接,返回成功信息后结束;否则,进行再下一层次的重构,重构深度(层次数)是大于1的整数,根据时间、计算资源等因素确定,如果超过规定的重构深度而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
如图9所示,以时隙连接为例,设需要建立从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙到输出级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙的连接,以及到输出级交换芯片2的第二个物理链路组的第二个物理链路内的第二个时隙的多播连接。
对多播情况,按照图10所示的步骤进行处理,在业务路由建立和重构中针对不同业务粒度使用的搜索方式与单播情况相同。
结合图3、7、9,如图10所示,为本发明一实施例的多播算法流程示意图,该流程包括:
步骤1001,首先读取业务源、业务宿以及业务粒度信息,确定当前连接为单播还是多播;若为单播,则按照单播算法流程进行。该单播流程与图7所示的单播流程存在唯一不同之处,即在对单播连接进行重构的过程中,先是对现存的单播连接进行查找并记录,在经过单播算法流程步骤33的子步骤333之后,才对现存的多播连接进行查找,但不记录;若为多播,则执行多播算法流程,进入步骤1002;
步骤1002,判断多播是否可以在输出级广播,若可以,则进入步骤1007;否则,进入步骤1003;
该步骤中,若多播可以在输出级广播,则在输出级建立连接,是因为上述多播连接需求的输出级交换芯片有两个,因此不能在输出级建立连接;
步骤1003,若多播不能在输出级广播,则进一步判断多播是否可以在中间级广播:即搜索中间级芯片A~D,看是否存在一个中间级芯片,保证实现上述连接。例如,中间级芯片A满足该需求,则通过中间级芯片A建立连接;若可以,则进入步骤1007,否则,将重构深度N设为1,并进入步骤1004;
步骤1004,若多播不能在中间级广播,则调整业务宿所在芯片的已有单播和多播连接,根据被调整连接业务颗粒的不同,在重构中分别采用“洪泛”、“绝对最小”、“绝对最大”的搜索方式寻找空闲连接资源;
步骤1005,判断是否有当前业务宿所需的空闲时隙释放,若有,则进入步骤1007;否则,进一步对重构深度N执行加1操作,并进入步骤1006;
步骤1006,判断此时的重构深度N是否大于4,若是,则返回失败信息后结束,否则,进入步骤1004;
步骤1007,建立当前业务源和业务宿之间的连接,返回成功信息后结束。
上述步骤1004中,已有连接的调整进一步包括以下步骤:
d1),对当前业务宿所属输出级芯片1和/或芯片2的入端口部分的已有单播连接进行检查。例如,从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙到输出级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙的连接可以通过中间级芯片B建立,这时,设存在一个单播连接从输入级芯片2经中间级芯片B到输出级芯片2;
d2),遍历步骤d1中的已有单播连接,按照步骤1001,判断是否能为其直接建立另一条通路。如果存在直接重建连接的通路,则重新建立步骤d1中的连接,并令步骤1004中从输入级交换芯片1的第一个物理链路组中的第个物理链路内的第一个时隙到输出级交换芯片2的第二个物理链路组的第二个物理链路内的第二个时隙的连接占用该连接释放出的空闲时隙资源,建立连接,返回成功信息后结束;否则,进入步骤d3;
d3),如果不存在直接重建连接的通路,则记录步骤d2遍历的所有已有单播连接;
d4),遍历当前业务宿所属芯片入端口部分的已有多播连接,按照步骤1002~1003,判断是否能为已有多播连接直接建立另一条通路。如果存在自接重建连接的通路,则重新建立该多播连接,并令步骤1004中从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙到输出级交换芯片2的第二个物理链路组的第二个物理链路内的第二个时隙的连接占用该连接释放出的空闲时隙资源,建立连接,返回成功信息后结束;否则,进入步骤d5;
d5),对步骤d3中记录的连接,按照发明内容单播情况下的步骤33的子步骤333,进行下一层次的重构,并在重构中按照以上步骤d4考虑多播连接的重构,然后判断是否能为步骤d3中记录的连接建立另一条通路;如果重构成功,则为其建立新的连接,并令步骤1004中从输入级交换芯片1的第一个物理链路组中的第一个物理链路内的第一个时隙到输出级交换芯片2的第二个物理链路组的第二个物理链路内的第二个时隙的连接占用步骤d2或者步骤d5中连接释放出的空闲时隙资源,建立连接,返回成功信息后结束;否则,进行再下一层次的重构,重构深度(层次数)M是大于1的整数,比如取4,则如果重构深度M超过4而仍然无法建立相应的业务源到业务宿的连接,则返回失败信息后结束。
本发明提出一种三级CLOS交叉网络实现多层粒度交叉连接的方法,给出了单播、多播两种情况下的算法流程,更好地解决方法适用性以及更好地平衡重构阻塞率与重构速度的矛盾。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (6)
1.一种在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,包括:
步骤一,读取业务源、业务宿及业务粒度信息并确定当前连接为单播连接;
步骤二,判断所述业务源、所述业务宿所在的交换芯片是否有空闲连接资源,若没有,返回一失败信息后结束,否则,根据所述业务粒度信息中业务粒度的不同采用不同的搜索方式搜索一直接可用的中间级交叉单元并判断是否搜索到所述直接可用的中间级交叉单元,若搜索到,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,进入步骤三;
步骤三,调整已有连接并判断是否有当前业务源或业务宿所需的空闲端口释放,若有,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,返回一失败信息后结束;
其中,所述步骤二中,所述业务粒度分为:最大业务粒度、次大业务粒度及更小业务粒度;
当所述业务粒度为最大业务粒度时,还包括以洪泛搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤31,对当前业务源所属输入级交叉单元空闲出端口对应的最大粒度连接,选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前交叉单元;及
步骤32,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的最大粒度连接,若有,则建立当前业务源和当前业务宿之间的最大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级空闲出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,选择顺序数次小的最大粒度连接对应的中间级交叉单元为当前交叉单元,回到所述步骤32继续执行;
当所述业务粒度为次大业务粒度时,还包括以绝对最小搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤41,对当前业务源所属输入级交叉单元出端口对应的所有最大粒度连接,选择次大粒度已被占用最少的最大粒度连接对应的中间级交叉单元为当 前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤42,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的次大粒度连接,若有,则建立当前业务源和当前业务宿之间的次大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,顺序选择次大粒度连接利用次少的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤42继续执行;
当所述业务粒度为更小业务粒度时,还包括以绝对最大搜索方式搜索选择所述可用的中间级交叉单元的步骤,具体为:
步骤51,对当前业务源所属输入级交叉单元出端口对应的待建业务粒度的上一级粒度连接,选择业务粒度已被占用最多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的上一级粒度连接对应的中间级交叉单元为当前交叉单元;若需要占用一新的上一级粒度连接,则从占用粒度最少的更上一级粒度连接中选择,若同时存在符合条件的多个更上一级粒度连接,则选择顺序数最小的更上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤52,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的相应粒度的连接,若有,则建立当前业务源和当前业务宿之间的更小粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的上一级粒度连接,若是,则进入所述步骤三;否则,顺序选择粒度占用次多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤52继续执行。
2.根据权利要求1所述的在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,所述步骤三中,所述调整已有连接的步骤具体为:
步骤61,遍历当前业务宿所占芯片空闲入端口对应的业务源所属芯片出端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路;
步骤62,令当前业务源占用该已有连接释放出的空闲交叉粒度资源,建 立连接并返回成功信息后结束;否则,记录所述步骤61中所有遍历的已有连接;
步骤63,遍历当前业务源所占芯片空闲出端口对应的当前业务宿所属交叉单元入端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路;及
步骤64,令当前业务宿占用该已有连接释放出的空闲交叉粒度资源,建立连接并在返回成功信息后结束;否则,记录所述步骤63中所有遍历的已有连接,进入下一层重构。
3.根据权利要求2所述的在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,所述步骤64中,所述进入下一层重构的步骤具体为:
步骤71,选择所述步骤61中所有遍历的已有连接的第1条,分别确定该已有连接的业务源所属芯片的空闲出端口和业务宿所属芯片的空闲入端口;
步骤72,遍历业务宿所属芯片空闲入端口对应的业务源所属芯片出端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路,并当存在直接重建连接的空闲资源时,为该已有连接重新建立新的连接通路,同时拆除所述步骤71中的已有连接,其业务源和业务宿占用该已有连接释放出的空闲交叉粒度资源,建立新的连接并返回到所述步骤62;否则,记录所有遍历的已有连接;
步骤73,遍历业务源所属芯片空闲出端口对应的业务宿所属芯片入端口的已有连接并判断是否有合适的空闲资源为该已有连接直接建立另一条通路;并当存在直接重建连接的空闲资源时,则为所述步骤72中的已有连接重新建立新的连接通路,同时拆除所述步骤71中的已有连接,其业务源和业务宿占用该已有连接释放出的空闲交叉粒度资源,建立新的连接并返回到所述步骤64;否则,记录所有遍历的已有连接;及
步骤74,依次选择所述步骤61中所有遍历的已有连接的第2条到最后一条,重新进入所述步骤71,若重构成功,返回成功信息后结束,若重构仍然失败,重新进入所述步骤71,并所述步骤61中所有遍历的已有连接更换为所述步骤63中所有遍历的已有连接,并在重构失败时,返回到所述步骤71。
4.根据权利要求3所述的在三级CLOS交叉网络中实现交叉连接的方法, 其特征在于,所述步骤74中,所述重构的重构深度为大于1的整数,该重构深度根据重构的时间、计算资源而确定。
5.一种在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,包括:
步骤91,读取业务源、业务宿以及业务粒度信息并对当前连接进行判断,若当前连接为单播连接,则转入步骤92,若当前连接为多播连接,则转入步骤93;
步骤92,判断所述业务源、所述业务宿所在的交换芯片是否有空闲连接资源,若没有,返回一失败信息后结束,否则,根据所述业务粒度信息中业务粒度的不同采用不同的搜索方式搜索一直接可用的中间级交叉单元并判断是否搜索到所述直接可用的中间级交叉单元,若搜索到,则建立当前业务源与当前业务宿之间的连接,返回一成功信息后结束,否则,进入步骤94;
步骤93,判断所述多播连接能否在输出级广播,若能,则在所述输出级建立连接,返回一成功信息后结束,否则,进一步判断所述多播连接能否在中间级广播,若能,则在所述中间级建立连接,返回一成功信息后结束,否则,进入步骤94;及
步骤94,调整已有连接并判断是否有当前业务宿所需的空闲端口释放,若有,则建立当前业务源与业务宿之间的连接,返回一成功信息后结束,否则,返回一失败信息后结束;
所述步骤93和步骤94中,还包括在业务路由建立和重构的步骤中根据业务粒度信息中业务粒度的不同采用不同的搜索方式搜索空闲资源的步骤,所述业务粒度分为:最大业务粒度、次大业务粒度及更小业务粒度;
当所述业务粒度为最大业务粒度时,还包括以洪泛搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤31,对当前业务源所属输入级交叉单元空闲出端口对应的最大粒度连接,选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前交叉单元;及
步骤32,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的最大粒度连接,若有,则建立当前业务源和当前业务宿之间的最大粒度连接,返回成功信息后结束;否则,判断是否已经遍 历所有当前业务源所属输入级空闲出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,选择顺序数次小的最大粒度连接对应的中间级交叉单元为当前交叉单元,回到所述步骤32继续执行;
当所述业务粒度为次大业务粒度时,还包括以绝对最小搜索方式搜索所述可用的中间级交叉单元的步骤,具体为:
步骤41,对当前业务源所属输入级交叉单元出端口对应的所有最大粒度连接,选择次大粒度已被占用最少的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤42,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的次大粒度连接,若有,则建立当前业务源和当前业务宿之间的次大粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的最大粒度连接,若是,则进入所述步骤三;否则,顺序选择次大粒度连接利用次少的最大粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤42继续执行;
当所述业务粒度为更小业务粒度时,还包括以绝对最大搜索方式搜索选择所述可用的中间级交叉单元的步骤,具体为:
步骤51,对当前业务源所属输入级交叉单元出端口对应的待建业务粒度的上一级粒度连接,选择业务粒度已被占用最多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;若同时存在符合条件的多个中间级交叉单元,则选择顺序数最小的上一级粒度连接对应的中间级交叉单元为当前交叉单元;若需要占用一新的上一级粒度连接,则从占用粒度最少的更上一级粒度连接中选择,若同时存在符合条件的多个更上一级粒度连接,则选择顺序数最小的更上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元;及
步骤52,在当前业务宿所属输出级交叉单元中,判断与当前中间级交叉单元对应的入端口是否有空闲的相应粒度的连接,若有,则建立当前业务源和当前业务宿之间的更小粒度连接,返回成功信息后结束;否则,判断是否已经遍历所有当前业务源所属输入级出端口对应的上一级粒度连接,若是,则进入所述步骤三;否则,顺序选择粒度占用次多的上一级粒度连接对应的中间级交叉单元为当前中间级交叉单元,回到所述步骤52继续执行。
6.根据权利要求5所述的在三级CLOS交叉网络中实现交叉连接的方法,其特征在于,所述步骤94中,还包括:
步骤101,遍历当前业务宿所属交叉单元入端口部分的已有单播连接并判断是否能为该已有单播连接直接建立另一条通路,若存在直接重建连接的通路,则重新建立该已有单播连接,并令所述业务源占用该连接释放出的空闲交叉粒度资源,建立连接并返回成功信息后结束;否则,记录遍历的所有已有单播连接;
步骤102,遍历当前业务宿所属交叉单元入端口部分的已有多播连接并判断是否能为所述已有多播连接直接建立另一条通路,若存在直接重建连接的通路,则重新建立所述已有多播连接并令所述业务源占用该已有多播连接释放出的空闲交叉粒度资源,建立连接并返回成功信息后结束;否则转入步骤103,及;
步骤103,对所述步骤101中所有已有单播连接按照单播连接时的重构步骤进行下一层次的重构,并在重构中按照所述步骤102进行多播连接的重构,其中,所述重构的重构深度为大于1的整数,所述重构深度根据重构的时间、计算资源而确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101141125A CN101170485B (zh) | 2006-10-27 | 2006-10-27 | 在三级clos交叉网络中配置多层粒度业务路由的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2006101141125A CN101170485B (zh) | 2006-10-27 | 2006-10-27 | 在三级clos交叉网络中配置多层粒度业务路由的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101170485A CN101170485A (zh) | 2008-04-30 |
CN101170485B true CN101170485B (zh) | 2011-05-11 |
Family
ID=39390960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006101141125A Expired - Fee Related CN101170485B (zh) | 2006-10-27 | 2006-10-27 | 在三级clos交叉网络中配置多层粒度业务路由的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101170485B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882807A (zh) * | 2012-09-18 | 2013-01-16 | 电子科技大学 | 一种基于资源不可用约束的连接请求路由和重排方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834784A (zh) * | 2010-04-08 | 2010-09-15 | 华为终端有限公司 | 电信网络互联网和互联星空业务切换的方法及装置 |
CN102238072B (zh) * | 2010-05-06 | 2015-03-25 | 中兴通讯股份有限公司 | 一种动态选择路由的方法及clos交换网系统 |
CN102904805B (zh) * | 2012-11-12 | 2015-01-21 | 电子科技大学 | 一种Clos网络中基于器件约束的路径分配方法 |
CN104243354A (zh) * | 2014-10-09 | 2014-12-24 | 福建星网锐捷网络有限公司 | Clos网络的链路分配方法及装置 |
CN105991455B (zh) * | 2015-02-03 | 2019-11-19 | 华为技术有限公司 | 一种业务交换系统及业务交换方法 |
CN108040302B (zh) * | 2017-12-14 | 2020-06-12 | 天津光电通信技术有限公司 | 基于Clos和T-S-T的自适应交换网络路由方法 |
CN109981494A (zh) * | 2017-12-27 | 2019-07-05 | 华为技术有限公司 | 一种数据传输方法及设备 |
CN110336748B (zh) * | 2019-07-10 | 2021-08-17 | 迈普通信技术股份有限公司 | 表项下发方法、装置、数据转发设备及可读存储介质 |
CN114827039A (zh) * | 2021-01-29 | 2022-07-29 | 中兴通讯股份有限公司 | 一种负载均衡方法、装置、通讯设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293526A (zh) * | 1999-09-28 | 2001-05-02 | Lg电子株式会社 | 搜索克洛斯交换网络中虚拟容器信号的组合路径的方法 |
CN1486012A (zh) * | 2003-08-18 | 2004-03-31 | 烽火通信科技股份有限公司 | 一种三级克洛斯矩阵无阻塞扩展方法 |
CN1521975A (zh) * | 2003-01-29 | 2004-08-18 | 华为技术有限公司 | 在同步数字体系设备中的交叉连接方法 |
-
2006
- 2006-10-27 CN CN2006101141125A patent/CN101170485B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1293526A (zh) * | 1999-09-28 | 2001-05-02 | Lg电子株式会社 | 搜索克洛斯交换网络中虚拟容器信号的组合路径的方法 |
CN1521975A (zh) * | 2003-01-29 | 2004-08-18 | 华为技术有限公司 | 在同步数字体系设备中的交叉连接方法 |
CN1486012A (zh) * | 2003-08-18 | 2004-03-31 | 烽火通信科技股份有限公司 | 一种三级克洛斯矩阵无阻塞扩展方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882807A (zh) * | 2012-09-18 | 2013-01-16 | 电子科技大学 | 一种基于资源不可用约束的连接请求路由和重排方法 |
CN102882807B (zh) * | 2012-09-18 | 2014-12-10 | 电子科技大学 | 一种基于资源不可用约束的连接请求路由和重排方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101170485A (zh) | 2008-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101170485B (zh) | 在三级clos交叉网络中配置多层粒度业务路由的方法 | |
Anjan et al. | Generalized theory for deadlock-free adaptive wormhole routing and its application to disha concurrent | |
CN1229739C (zh) | 全局中断和障碍网络 | |
CN101355430A (zh) | 交换框、集群路由器 | |
AU2009202686A1 (en) | Method and system for providing redundancy within a network element | |
CN101277547A (zh) | 大规模严格无阻塞光交叉连接矩阵结构及其控制方法 | |
Yuan | On nonblocking folded-clos networks in computer communication environments | |
US9860132B2 (en) | Multiple petabit-per-second switching system based on orthogonal formations of sets of access nodes | |
JP2002512756A (ja) | 複数のscpを持つ通信システム | |
Nooruzzaman et al. | Hyperscale data center networks with Transparent HyperX architecture | |
CN114745791A (zh) | 一种电力业务切片编排和资源配置方法及装置 | |
CN1661936A (zh) | 实现多级通信设备备份的装置及其主备倒换的方法 | |
CN100420217C (zh) | 框间互连的通信系统及其数据交换方法 | |
Li et al. | Towards robust controller placement in software-defined networks against links failure | |
JPS596695A (ja) | 自己径路指定モジユ−ル式pcm交換ネツトワ−ク | |
CN1602078A (zh) | 实现clos交叉连接矩阵同步切换的方法及设备 | |
JPS596696A (ja) | 分散制御電話交換のためのモジユ−ル型自己経路選定pcm切替回路網 | |
CN1250016C (zh) | 在三级clos矩阵中实现业务路由配置的方法 | |
US6724758B1 (en) | Stage specific dilation in multi-stage interconnection networks | |
CN100438649C (zh) | 一种无线传输网络及方法 | |
CN100473177C (zh) | 一种在语音交换系统中实现跨地域商务群业务的方法 | |
CN113965566B (zh) | 一种基于Header-Sig流的BFT共识算法实现方法及系统 | |
JP3049033B1 (ja) | 遠隔集線装置 | |
Li et al. | Multi-node Cooperative Recovery against IP node failure Enabled by Flexible Optical Network | |
CN103095567B (zh) | 电话交换通信系统的中继呼叫路由分析的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 Termination date: 20151027 |
|
EXPY | Termination of patent right or utility model |