一种多级多平面结构的数据流发送方法、装置和系统的制作方法

文档序号:7917289阅读:140来源:国知局
专利名称:一种多级多平面结构的数据流发送方法、装置和系统的制作方法
技术领域
本发明涉及通信技术领域,特别是涉及一种多级多平面结构中的数据流 发送方法、装置和系统。
背景技术
目前,高性能路由器的交换结构普遍采用多级多平面的结构,这种结构 具有易扩展性和容易实现自路由的特点,可以提供很大的交换能力,并且容 错能力强。典型的三级交换系统(克罗斯交换系统)主要由以下几个部分组成输 入级模块、中间级模块和输出级模块构成了一个三级交换结构。其中每个中 间级模块可以看作为一个交换平面,它实际上也是一个三级交换结构,它由 以下三个部分组成第一级交换单元模块、第二级交换单元模块以及第三 级交换单元模块。在现有技术中,上述交换系统的交换方法为在输入模块单元内,查找 路由分发表,得到若干个可用的端口之后,通过轮询的方法为每个信元选择 一个输出端口进行;洛由;第一级交换单元按照类似的方式将信元分发到第二 级交换单元中。如果交换平面内部出现链路故障,解决方法是隔离故障链路, 选择其他的可用链路进行路由。对于多级多平面的交换系统,当某个或某些交换平面内部出现链路故障 时,如果不对流量分配做出适当调整,将会增大故障链路所在的交换平面出 现内部拥塞的概率。现有技术中还提供了 一种故障记录方法,它在每个输入模块单元中维持 一个数据结构,用于指示是否可以通过相应的输出端口向各输出模块单元发 送数据流。7在实现本发明的过程中,发明人发现现有技术至少存在以下问题 各输入端到特定输出端存在多条路径, 一条(些)链路的损坏并不能表 明某一输出端口不可达,当出现链路故障时,链路状态矢量表中相应的比特 位有两种设置方式"禁止"(禁止通过该端口发送数据)和"允许"(允 许通过该端口正常发送数据)。而这两种设置方式都存在缺陷如果将其设 为"禁止",就会浪费剩余的可用链路资源;如果将其设为"允许",由于 没有对通过该端口的流量进行控制,可能导致相关交换平面出现拥塞。发明内容本发明实施例提供一种多级多平面结构中的数据流发送方法、装置和系 统,以使得输入模块单元根据链路的故障情况对其输出端口的发送流量进 行调整,降低故障链路所在交换平面内部出现拥塞的概率。为达到上述目的,本发明实施例一方面提出一种多级多平面结构中的数 据流发送方法,包括以下步骤根据数据流的目的地址在路由分发表中查找一个可用的输出端口 ;判断所述输出端口的第一标记字段和/或第二标记字段是否存在故障标识;当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述故障标识调整所述输出端口的凄史据流流量。另一方面,本发明实施例还提出一种输入单元,具体包括查找模块,用于根据数据流的目的地址在路由分发表中查找一个可用的專俞出端口;判断模块,用于在所述查找模块查找到所述输出端口后,判断所述输出 端口的第一标记字段和/或第二标记字段是否存在故障标识;调整模块,用于当所述判断模块判断所述第 一标记字段和/或第二标记字 段存在故障标识时,# 据所述故障标识调整所述输出端口的数据流流量。更进一步,本发明实施例还提供一种多级多平面交换系统,所述多级多 平面交换系统包括输入单元、交换平面、及输出单元,其特征在于,所述输入单元具体包括查找模块,用于根据数据流的目的地址确定一个可用的输出端口;判断模块,用于在所述查找模块查找到所述输出端口后,判断所述输出 端口对应的第一标记字段和/或第二标记字段是否存在故障标识;及调整模块,用于当所述判断模块判断所述第 一标记字段和/或第二标记字 段存在故障标识时,沖艮据所述故障标识调整所述输出端口的数据流流量。本发明实施例通过第一标记字段和第二标记字段来确认链路中的故障状 况,并根据链路中的故障状况分配各个输出端口的流量,以降低故障链路所 处的交换平面发生拥塞的概率。


为了更清楚地il明本发明实施例的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前 提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中一种多级交换系统的结构示意图; 图2为本发明实施例中一种多级多平面结构中的数据流发送方法的流程 示意图;图4为本发明实施例中输出端口的第一标记字段的格式示意图;图5为本发明实施例中输出端口的第二标记字段的格式示意图;图6为本发明实施例中一种可能出现的链路故障结构示意图;图7为本发明实施例中标记字段的更新流程示意图;图8为本发明实施例中包含链路故障指示的控制信元的格式示意图;图9为本发明实施例中输入单元中路由分发表的更新流程示意图;图10为本发明实施例中第 一级交换模块中路由分发表的格式示意图;图11为本发明实施例中第一级交换模块中路由分发表的更新流程示意图;200810134587.X说明书第4/16页图12为本发明实施例中一种输入单元的结构示意图;图13为本发明实施例中一种多级多平面交换系统的结构示意图。
具体实施方式
对于多级交换结构组成的多级多平面交换系统,在交换平面内部出现链 路故障的情况下,交换平面的处理能力也会随之发生变化。针对这种情况, 提出一种方法使输入单元根据链路的故障情况对其输出端口的发送流量进行 调整,降低故障链路所在交换平面内部出现拥塞的概率。如图l所示,为应用了本发明实施例的三级交换系统的结构示意图。 本发明实施例的三级交换系统包括输入级模块IM (输入单元)、中间 级模块CM (交换平面)和输出级模块OM (输出单元)构成了 一个三级交换结 构。其中每个中间级^i块CM(,')可以看作为 一个交换平面,它实际上也是一个 三级交换结构,它由以下三个部分组成第一级交换模块SE1、第二级交换 模块SE2以及第三级交换模块SE3。在本发明实施例中,该交换系统有2048个输入级才莫块IM和2048个输出 级模块OM, 32个中间级模块CM。其中,每个中间级模块CM都是由三级 交换结构组成,在本发明实施例中,每个第一级交换模块和第三级交换模块 均包含32个输入端口和32个输出端口,即为32x 32的交换结构,每个第二 级交换模块包含64个输入端口和64个输出端口 ,即为64 x 64的交换结构。需要进一步指出的是,上述的交换系统结构仅是本发明的一种优选实施 例,在实际应用中,输入级模块IM (输入单元)、中间级模块CM(交换平面) 和输出级模块OM(输出单元)的数量,以及各级交换模块的交换结构,均可 以根据实际情况进行变化,这样的变化同样属于本发明的保护范围。本发明实施例提供了 一种多级多平面结构中的数据流发送方法,当链路 出现故障时,只要存在通路,就可以发送信元,只是发送的流量要做出相应 的调整。每个输入模块单元维持一张路由分发表,并且为它的每个输出端口 配置两类标记字段,包括第一标记字段和第二标记字段。其中,第一标记字段用于记录交换平面内第一级链路故障的位置,具体 的,第 一级链路是指交换平面内第 一级交换模块与第二级交换模块之间的链 路,或者第 一级交换模块输出端口所在的链路或者是第二级交换模块输入端 口所在的链^各。第二标记字段用于记录交换平面内第二级链路故障的位置,具体的,第 二级链路是指交换平面内第二级交换模块与第三级交换模块之间的链路,或 者第二级交换模块输出端口所在的链路或者是第三级交换模块输入端口所在 的链路。当有数据流需要发送时,先查询路由分发表确定是否有可用路由,如果 有可用路由,再配合标记字段中的记录进行流量分配。为方便说明,在后续的实施例描述过程中,输入级模块IM、中间级才莫块CM和输出级模块OM统一称为输入单元、交换平面和输出单元,这样的描 述名称变化,并不影响本发明的保护范围。需要理解的是,本发明实施例中的多级多平面交换系统是以三级交换系 统为例进行说明,而在其他可选择的实施例中,所述三级交换系统中的中间 级模块CM亦可包括多个相互独立的交换平面,因此本发明实施例中的多级 多平面交换系统不仅限于三级。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图2所示,为本发明实施例中一种多级多平面结构中的数据流发送方 法的流程示意图,具体包括以下步骤步骤S201、根据数据流的目的地址在路由分发表中查找可用的输出端口 , 如果查找到可用的输出端口时,执行步骤202,否则执行步骤S205。每个输入单元里面都维持一个路由分发表,路由分发表由若干个表项组成,表项的数目等于输出单元的数目,每个表项的比特数目等于输入单元的 输出端口的数目。例如,对于本实施例中的交换系统,如图3所示,每个输入单元的路由分发表有2048个表项,每个表项的长度为32比特。第AS2048)个表项对应的目的输出单元为(9M(A),如果它的表项中的32个比特都为"l",则表示可以通过所有的32个输出端口向目的输出单元OM(/b)发送数据流,如果其中第K1^。2)个比特为"0",则表示不能通过第z'个输出端口所在的链路向目的输出单元OM("发送数据流。例如,第一表项表示它的目的输出单元为(9M(1),如果第一个表项的32个比特全为"l",则表明可以通过所有的32个输出端口向OM(l)发送数据流,如果第3个比特为"0",就表明不能通过输入单元的输出端口 3所在的链路向OM(l)发送数据流。当根据数据流的目的地址在路由分发表中查找到至少一个可用的输入单 元的输出端口时,转入步骤S202;当根据数据流的目的地址在路由分发表中不能查找到至少一个可用的输 出端口时,转入步骤S205。步骤S202、输入单元判断所述可用的输出端口所对应的第 一标记字段和/ 或第二标记字段是否存在故障标识,当所述第一标记字段和/或第二标记字段 存在故障标识时,执行步骤203,否则执行步骤204。在确定了输出端口后,查看该输出端口所对应的两个标记字段,如果没 有链路故障记录,则按照正常速度发送流量,如果有链路故障记录,则按照 下面所述的链路故障处理方法控制流量的发送。当输入单元判断其输出端口的第一标记字段和/或第二标记字段存在故障 标识时,转入步骤S203;当输入单元判断其输出端口的第一标记字段和/或第二标记字段不存在故 障标识时,转入步骤S204。为了保持链路故障状态下的负载均衡,输入单元为它的每个输出端口维 持两类标记字段,包括第一标记字段和第二标记字段。其中,第一标记字段 用于记录交换平面内第一级链路的故障情况,第二标记字段记录交换平面内 第二级链路的故障情况。每种标记字段都由若干个标记字节构成。在本发明 实施例中,每个标记字节都为16比特,其中,对于第一标记字段来说,前5个比特用于记录故障链路所处的交换平面号码,中间6比特用于记录故障链路所处的第一级交换模块,后5位用于记录故障链路所处的第一级交换模块 的输出端口号码;对于第二标记字段来说,前5个比特用于记录故障链路所 处的交换平面号码,中间5比特用于记录故障链路所处的第二级交换模块, 后6位用于记录故障链路所处的第二级交换模块的输出端口号码。对于本文档中所示的交换系统,输入模块单元的每个输出端口与一个交 换平面内的一个第一级交换模块相连,如果需要记录所有可能出现的链路故 障,每个输出端口对应的第一标记字段需要32个标记字节;类似地,如果需 要记录所有可能出现的链路故障,每个输出端口对应的第二标记字段需要 2048个标记字节。另外,第一标记字段的故障记录对输入单元的影响是全局性的,而第二 标记字段的故障记录对输入单元的影响是局部性的,因此,可以对每个输出 端口的标记字节进行如下配置第一标记字段配置为32个标记字节,第二标 记字段根据实际需要灵活设置大小。当然,也可以对两种标记字段都采用完 整记录的方式(即第一标记字段为32个标记字节,第二标记字段为2048个 标记字节),或者都采用灵活设置标记字段大小的方式。对于一个输入单元,它的每个输出端口所对应的第 一标记字段的格式如 图4所示,第二标记字段的格式如图5所示。其中,B",S32, 1S"2S2048, 巧和 2的取值可以根据实际需要灵活设定。步骤S203、当第一标记字段和/或第二标记字段存在故障标识时,根据故 障标识调整该输出端口的数据流流量。具体地,当只有第一标记字段中有链路故障的记录时,如果输入单元中 的标记字段记录表明交换平面A (b"32)内的第一级链路出现& (1Sa《32)条 链路故障,则将输出端口 *的发送流量减小% /32 。当只有第二标记字段中有链路故障的记录时,如果输入单元中的标记字 段记录表明交换平面g (B"32)内的第三级交换模块S£3#/ (B"64)的输入 端口出现"2 (1《"2 S 3 2)条链路故障,则表明通过输出端口 *发往输出单元 OM(32(/-1) + l)至输出单元OM(32/)的数据流会受到链路故障的影响,因此,应将通过输出端口 ifc发往OM(32(Z-l) + l)至OM(32/)的流量减小"2 /32 ,发往其他输 出单元的流量则保持不变。当两个标记字段都有链路故障的记录时,首先依据所发数据的目的输出 单元,确定与之相连的第三级交换模块5£3#;(^^64),然后查看该模块 (5£3#/ )的全部32条输入链路是否存在故障,对于不同结果按如下方式处 理S£3#! 有%条输入4连路故障,这时需确定在 中,有多少条故障链路 在同一路径上(即与同一中间级模块相连)。假设在 中有r条故障链路与 第 一级故障链路在同 一路径上,就将输出端口 ;t的发送流量减小 "〃32+("2-r)/32。例如,对于图6所示的交换系统链路状态示意图,对于/M(1) - /M(32)来说, 其两个标记字段都有链路故障的记录,其中,交换平面S内的第一级链路出现 l条故障、第二级链路出现3条故障(如图中黑色加粗虚线条所示)。其中, 5£3#1的输入端口 32所在的链路出现一条链路故障,并且这条链路与交换平 面内第一级的故障链路不在同一条路径上,因此,/M(1)-/M(32)的输出端口 1 向- 6^/(32)发送数据流时,其流量应减小2/32 。由于# 64的输入端口 1和32所在的链路同时出现故障,并且端口 1所在的链路与第 一级的故障链 路在同 一条路径上,因此,对于/M(1) - /M(32)而言,S£3 # 64的输入端口 1的链 路故障可以不用考虑。这样,///(1)-/^(32)的输出端口 1向(9M(2017)-(9M(2048) 发送数据流时,只需要考虑第一级链路的1条故障以及5£3#64的输入端口 32 所处的链路故障,这样,/似(1)-/#(32)通过平面1向OA/(2017)-OM(2048)发送 数据流的流量应减小2/32。类似地,对于/^^(1)-/肘(32)的输出端口 l来说,发 往OM(33)-(9M(2016)的数据流仅受到第一级链路故障的影响,因此,发送流量 减小1/32。另一方面,在链路出现故障后,输出端口的发送流量需要按比例进行减 小。流量控制的方案很多,本文档中采用对轮询次数进行概率统计的方法来 控制流量的发送,具体方法如下如果IM的第一标记字段表明输出端口 1的流量应变为正常流量的30/32通过简单的轮询方式实现。数据流到来后,通过轮询 的方式依次分发数据流,前15次轮询都是将信元转发到所有的输出端口,第16次轮询时将信元发送到除输出端口 l之外的其他31个输出端口。这样,从 概率统计上来看,经过16次轮询之后,输出端口 l转发了 15次信元,而其 他的输出端口则转发了 16次信元,也即输出端口 1的流量为其他正常工作的 端口流量的15/16。同样,如果第二标记字段表明通过输出端口 1向OM(l)-OM(32)发送数据 流的流量应变为正常情况下的7/8时,在第8次轮询时,目的输出端口为 OM(l)-OM(32)的数据流不向输出端口 1进行转发。这样,也可以从概率上实 现通过输出端口 1的目的端口为OM(l)-OM(32)的数据流的流量变为其他正常 工作的端口流量的7/8。为了方便实现,还可用采用统一的方式,以32次轮询为一个周期进行。 步骤S204、输入单元正常发送数据流。 步骤S205、输入单元停止发送数据流。进一步的,在上述实施例中所提及路由分发表和两个标记字段均可以根 据系统中的状态变化发生相应的更新,具体的更新流程通过以下实施例进行 说明。如图7所示,为本发明实施例中标记字段的更新流程示意图,其具体的 更新方式是输入单元收到包含链路故障指示的控制信元后,需要根据链路的 故障情况判断是否会影响其输出端口的工作,然后做出是否使用故障标记字 段记录链路故障的判定,具体包括以下步骤步骤S701、判断是否收到包含链路故障指示的控制信元。 其中,包含链路故障指示的控制信元的格式如图8所示 报头用于标明控制信元,接下来的错误指示包含链路故障的具体位置(包 括发生链路故障的交换平面、交换模块的级数(第二级或者第三级)、交换模 块以及相应的输入端口号码等)。 如果收到,转入步骤S702;如果没有收到,则完成本次更新流程,重复本步骤,判断是否收到包含 链路故障指示的控制信元。步骤S702、判断链路故障是否发生在交换平面内。由于本实施例中的两个标记字段分别记录交换平面内的第 一级链路和第 二级链路的故障情况,所以,需要判断当前故障是否发生在交换平面内。如果是发生在交换平面内,转入步骤S703;如果不是发生在交换平面内,则不记录此故障,完成本次更新流程,转 入步骤S701,进行下次更新流程。需要进一步指出的是,如果故障发生在输入级链路或输出级链路上,则 此故障不会记录在上述的标记字段中,而是转入路由分发表中进行记录,需 要对路由分发表进行更新,具体的更新过程见本发明后面的实施例。步骤S703、判断链路故障是发生在第一级链路或第二级链路上。如果是发生在第一级链路上,转入步骤S704;如果是发生在第二级链路上,转入步骤S705。步骤S704、更新第一标记字段。标记字段的更新算法为如果是交换平面iUl^A^32)内某一个第二级交换模块的输入端口 !'(1&^64)所在的链路发生故障,即交换平面内第一级链路发生故障,这就表 明输入单元/M(32(卜l) + l)至/M(32/) 的输出端口 &(1^6"2)会受到此链路故障的影响,因此,输入单元/M(32(/-1) + 1)-/M(32Z)(1《K64)的第一种故障 标记字段需要记录链路故障发生的位置。步骤S705、更新第二标记字段。标记字段的更新算法为如果交换平面A(1S 32)内第三级交换模块促3#/ (1SK64)的输入端口所 在链路发生故障,即交换平面内第二级链路发生故障,这就表明对于所有的 输入单元,如果向OM(32(f-l) + l)-OM(32/) (1S/S64)发送数据信元,其输出端口 it(l^i^32)会受到此链路故障的影响。因此,所有输入单元的输出端口 印^ S 32)对应的第二种故障标记字段需要记录链路故障发生的位置。16完成更新后,重新开始新的更新流程,即转入步骤S卯l,以便实时的更 新链路故障信息,保证标记字段的信息准确率,提高网络传输效率。如图9所示,为本发明实施例中路由分发表的更新流程,其具体的更新 方式包括以下步骤步骤S901、;险查输入单元是否收到包含链路故障指示的控制信元或标记 字段的反馈指示。如果收到包含链路故障指示的控制信元,则转入步骤S902;如果收到标记字段的反馈指示,则转入步骤S卯6;如果没有收到,则转入步骤S909。步骤S卯2、判断链路故障是否发生在输入级链路或输出级链路。 如果是输入级链路或者输出级链路出现故障,则要对输入单元中维持的2048个分发表做出相应更改。当链路故障是发生在输入级链路或输出级链路时,转入步骤S903;当链路故障不是发生在输入级链路或输出级链路时,转入步骤S909。步骤S903、进一步判断链路故障是发生在输入级链路还是输出级链路。当链路故障是发生在输入级链路时,转入步骤S904;当链路故障发生在输出级链路时,转入步骤S905。步骤S904、变更路由分发表中所有表项中故障输入单元的对应字段。如果是输入单元/M(s)(1 S s S 2048)的输出端口 Kl ^ ^ 32)所在的链路出现故障,即输入级链路出现故障,则输入单元淑("内的2048个表项中的第"匕特应被置"O,,,表示路由分发表不能通过输出端口 r发送数据信元;步骤S905、变更路由分发表中发生故障的输出单元对应的表项中故障端口对应的字段。如果是输出单元(9MC/)(1S /S2048)的输入端口 /z(l^/^32)所在的链路出现 故障,即输出级链路出现故障,则所有输入单元路由分发表内第_/个表项的第 //比特被置"0",表明不能通过其输出端口 /z到达OMC/)。步骤S906、判断是第一标记字段或第二标记字段发出的反馈指示。 如果标记字段中的链路故障记录表明,在交换平面的第一级(SE1 ),某个(或某些)单元的所有输出端口所在的链路均出现故障,就会导致输入单元无法通过该交换平面传递数据;同样,如果标记字段中的链路故障记录表 明,在交换平面的第三级(SE3),某个(或某些)交换模块的所有输入端口 所在的链路均出现故障,就会导致输入单元无法通过该交换平面向某些输出 单元传递数据;因此,在上述两种情况下,需要产生反馈指示来对路由分表 进行更新。当是第一标记字段发出反馈指示时,转入步骤S907; 当是第二标记字段发出反馈指示时,转入步骤S908。步骤S907、更新路由分发表中所有表项的对应字段。如果发现第一标记字段中出现这样的情况交换平面《(ia。2)内发生32 个链路故障,并且链路故障发生在交换模块促2#1-5£2#32的输入端口/ts64),这就表明交换平面《内的第一级交换模块S£l#*的所有输出链路 都出现故障,于是标记字段向路由分发表发送一个反馈指示,通知路由分发 表将2048个表项中的第! 比特全部置"O"。步骤S908、更新路由分发表中对应表项中的对应字段。如果发现第二标记字段中出现这样的情况交换平面f(l^'。2)内的一个 交换模块促3M(1《/ts64)的32个输入端口都有链路故障的记录,则表明SE3弁;t 交换模块的所有输入端口对应的第二级链路全部出现故障,于是标记字段向 路由分发表发送一个反馈指示,通知路由分发表将第32("l) + l至32Jt这32个 表项中的第! 比特全部置"O"。例如,如果交换平面《内的第三级交换模块^3#1的32个输入端口所处 的链路均出现故障,则会向路由分发表发送一个反馈指示,使其第1-32个表 项中的第l位均置"O"。步骤S909、不改变路由分发表。完成更新后,重新开始新的更新流程,即转入步骤S卯l,以便实时的更 新链路故障信息,保证路由分发表的信息准确率,提高网络传输效率。另外,需要进一步指出的是,在交换平面中的第一级交换模块中,也保存着一份路由分发表,用于指导该模块向交换平面中的后级交换模块发送数 据流。这个路由分发表也有2048个表项,每个表项对应一个输出单元,每个表 项有32个比特,分别对应这个交换模块的32个输出端口,如果输出端口所 在的链路正常工作,这32个比特全部为"l",如果第/(l《/。2)个输出端口所 在的链路出现故障,则路由分发表中的2048个表项中的第i个比特都被置"O"。交换平面内第一级交换模块处理链路故障的思路是如果是输入级链路 或者输出级链路出现故障,则不予理睬;如果是交换平面内第一级链路或者 第二级链路出现故障,则直接修改它的路由分发表,路由分发表的结构如图 IO所示。如图ll所示,为本发明实施例中交换平面中的第一级交换模块的路由分 发表的更新流程示意图,具体包括以下步骤步骤SllOl、判断是否收到包含链路故障指示的控制信元。 如果收到,转入步骤S1102;如果没有收到,则不改变路由分发表,完成本次更新流程,重复本步骤, 判断是否收到包含链路故障指示的控制信元。步骤S1102、判断《连^各故障是否发生在交换平面内。由于本实施例中的路由分发表位于交换平面内的第 一级交换模块,所以, 与输入单元中的路由分发表不同,不再记录输入级链路或输出级链路的故障 情况,而是记录交换平面内的第一级链路和第二级链路的故障情况,所以, 需要河断当前故障是否发生在交换平面内。如果是发生在交换平面内,转入步骤S1103;如果不是发生在交换平面内,则不改变路由分发表,完成本次更新流程, 转入步骤SllOl,进行下次更新流程。步骤S1103、判断链路故障是发生在第一级链路或第二级链路上。 如杲是发生在第一级链路上,转入步骤S1104; 如果是发生在第二级链路上,转入步骤S1105。步骤S1104、更新第一级交换模块的路由分发表中所有表项的对应字段。如果交换平面内第 一级链路出现故障,假设A(lS A, S64)的输出端口 《BK32)所在的链路出现故障,则将路由分发表中2048个表项中的第/个比 特全部置"0"。步骤S1105、更新第一级交换模块的路由分发表中对应表项的对应字段。 如果交换平面内第二级链路出现故障,假设S£2#&(1W2 S 32)的输出端口 A64)所在的链路出现故障,则表明数据信元不能通过^2#&(1"^32)的 输出端口 Al《7'^64)所在的链路向目的输出模块单元OM(32CZ-l) + l)—(9M(32/) 发送数据信元,因此,应将路由分发表中第32(y-l) + l—32y个表项的第&个比 特置"O"。完成更新后,重新开始新的更新流程,即转入步骤S1101,以便实时的更 新链路故障信息,保证路由分发表的信息准确率,提高网络传输效率。是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机 可读存储介质中,所述存储介质可以是只读存储器,^磁盘或光盘等。如图12所示,为本发明实施例提出的一种输入单元的结构示意图,具体 包括查找模块1210,用于根据数据流的目的地址在路由分发表中查找一个可 用的输出端口 ,从而确定输入单元向交换平面发送数据流的端口;判断模块1220,用于在查找模块1210查找到输出端口后,判断该输出端 口的第一标记字段和/或第二标记字段是否存在故障标识,确定该输出端口的 第一级链路和/或第二级链路是存在故障情况;调整模块1230,用于当判断模块1220判断第一标记字段和/或第二标记 字段存在故障标识时,根据故障标识调整输出端口的数据流流量。进一步的,输入单元还包括存储模块1240,用于存储路由分发表,为查找模块1210查找可用的输出 端口提供依据,具体包括更新子模块1241,用于依据本发明前述实施例中的步骤S901至S卯9所述的流程,根据收到包含链路故障指示的控制信元或标记字段的反馈指示更 新路由分发表。标识模块1250,用于存储和更新第一标记字段和第二标记字段,为判断 模块1220判断链路故障提供依据,其中,第一标记字段用于记录交换平面内 第一级链路的故障情况,第二标记字段记录交换平面内第二级链路的故障情 况,具体包括标识存储子模块1251,用于存储第一标记字段和第二标记字段;标识更新子模块1252,用于用于依据本发明前述实施例中的步骤S701 至S705所述的流程,更新第一标记字段和第二标记字段。上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以 合并为一个模块,也可以进一步拆分成多个子模块。本发明实施例的技术方案具有以下优点,因为采用了多级多平面结构中 的数据流发送方法,从而,通过根据链路的故障情况对输出端口的发送流量 进行调整,达到了降低故障链路所在交换平面内部出现拥塞的概率的效果。如图13所示,为本发明实施例提出的一种多级多平面交换系统的结构示 意图,包括输入单元l、交换平面2及输出单元3各多个。其中,输入单元l的具体结构如图12所示,并由本发明前述实施例进行 说明,进一步的,该多级多平面交换系统的工作原理详见本发明前述实施例, 本实施例不再详述。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来 实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来, 该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘, 移动硬盘等)中,包括若千指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不 一 定是实施本发明所必须的。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的 普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若千改进 和润饰,这些改进和润饰也应视本发明的保护范围。
权利要求
1、一种多级多平面结构中的数据流发送方法,其特征在于,包括以下步骤根据数据流的目的地址确定一个可用的输出端口;判断所述输出端口所对应的的第一标记字段和/或第二标记字段是否存在故障标识;当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述故障标识调整所述输出端口的数据流流量。
2、 如权利要求1所述多级多平面结构中的数据流发送方法,其特征在于, 所述根据数据流的目的地址确定一个可用的输出端口 ,包括根据路由分发表,在所述数据流的目的地址对应的表项中,查找一个具 有可用标识的输出端口。
3、 如权利要求2所述多级多平面结构中的数据流发送方法,其特征在于, 所述在路由分发表中查找一个可用的输出端口之前,还包括更新所述路由分发表。
4、 如权利要求3所述多级多平面结构中的数据流发送方法,其特征在于, 所述更新;洛由分发表,包括接收标记字段的反馈指示,根据所述指示更新所述路由分发表;或, 当所述输出端口出现故障时,所述路由分发表中对应所述输出端口的表项记录所述故障;当输出单元出现故障时,所述路由分发表中所有表项中对应的字段记录所述故障。
5、 如权利要求1所述多级多平面结构中的数据流发送方法,其特征在于, 所述第一标记字段,用于记录交换平面内第一级链路的故障情况,所述第一标记字段包括小于或等于所述交换平面内第一级单个交换模块的输出端 口数量的表项,所述表项中具体包括存在故障的交换平面号码、在所述存 在故障的交换平面中存在故障的第一级交换模块号码,和在所述存在故障的 交换模块中存在故障的输出端口号码。
6、 如权利要求1所述多级多平面结构中的数据流发送方法,其特征在于,所述第二标记字段,用于记录交换平面内第二级链路的故障情况,所述 第二标记字段包括小于或等于一个所述交换平面内全部第二级模块的输出端口总数的表项,所述表项中具体包括存在故障的交换平面号码、在所述存 在故障的交换平面中第二级交换模块号码,和在所述存在故障的交换模块中 存在故障的输出端口号码。
7、 如权利要求5或6所述多级多平面结构中的数据流发送方法,其特征 在于,还包括更新所述第一标记字段和第二标记字段。
8、 如权利要求7所述多级多平面结构中的数据流发送方法,其特征在于, 所述更新第一标记字段和第二标记字段,包括当所述交换平面内的处于所述第一级链路发生故障时,由所述第一标记 字段记录所述故障;当所述交换平面内的处于所述第二级链路发生故障时,由所述第二标记 字段记录所述故障。
9、 如权利要求8所述多级多平面结构中的数据流发送方法,其特征在于, 所述当所述第一标记字^殳和/或第二标记字段存在故障标识时,4艮据所述故障 标识调整所述输出端口的数据流流量,包括当所述第 一标记字段存在故障标识时,按照所述故障标识对应的交换平 面中交换模块的输出端口在所述故障标识对应的交换平面中交换模块的全部 输出端口中所占的比例,减少所述输出端口向所有输出单元发送的数据流流 量。
10、 如权利要求8所述多级多平面结构中的数据流发送方法,其特征在 于,所述当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述 故障标识调整所述输出端口的数据流流量,包括当所述第二标记字段存在故障标识时,按照所述故障标识对应的交换平 面中交换模块的输出端口在所述故障标识对应的交换平面中第二级交换模块 的全部输出端口中所占的比例,减少所述输出端口向所述故障标识对应的交 换模块所对应的输出单元发送的数据流流量。
11、 如权利要求8所述多级多平面结构中的数据流发送方法,其特征在 于,所述当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述 故障标识调整所述输出端口的数据流流量,包括当所述第一标记字^殳和第二标记字段存在故障标识,并且所述第一标记 字段和第二标记字段的故障标识所对应的故障位于相同路径(与相同的第二级交换模块相连)时,按照所述第一标记字段的故障标识对应的交换平面中 交换模块的输出端口在所述故障标识对应的交换平面中交换模块的全部输出 端口中所占的比例,减少所述输出端口向所述故障标识对应的交换模块所对 应的输出单元发送的数据流流量。
12、 如权利要求8所述多级多平面结构中的数据流发送方法,其特征在 于,所述当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述 故障标识调整所述输出端口的数据流流量,包括当所述第一标记字段和第二标记字段存在故障标识,并且所述第一标记 字段和第二标记字^:的故障标识所对应的故障位于不同路径(与不同的第二 级交换模块相连)时,包括计算第一标记字段的故障标识对应的交换平面中交换模块的输出端口在所述故障标识对应的交换平面中交换模块的全部输出端口中所占的比例;计算第二标记字段的故障标识对应的交换平面中交换模块的输出端口在 所述故障标识对应的交换平面中第二级交换模块的全部输出端口中所占的比 例;按照这两个比例之和,减少所述输出端口向所述故障标识对应的交换模 块所对应的输出单元发送的数据流流量。
13、 一种输入单元,其特征在于,具体包括查找模块,用于根据数据流的目的地址确定一个可用的输出端口 ; 判断模块,用于在所述查找模块查找到所述输出端口后,判断所述输出 端口对应的第 一标记字段和/或第二标记字段是否存在故障标识;调整模块,用于当所述判断模块判断所述第一标记字段和/或第二标记字段存在故障标识时,根据所述故障标识调整所述输出端口的数据流流量。
14、 如权利要求13所述的输入单元,其特征在于,还包括 存储模块,用于存储路由分发表,其中,所述查找模块根据所述路由分发表,在所述数据流的目的地址对 应的表项中,查找一个具有可用标识的输出端口。
15、 如权利要求14所述的输入单元,其特征在于,所述存储模块,具体 包括更新子模块,用于更新所述路由分发表。
16、 如权利要求13所述的输入单元,其特征在于,还包括 标识模块,用于存储和更新所述第一标记字段和第二标记字段。
17、 一种多级多平面交换系统,所述多级多平面交换系统包括输入单元、 交换平面、及输出单元,其特征在于,所述输入单元具体包括查找模块,用于才艮据数据流的目的地址确定一个可用的输出端口 ; 判断模块,用于在所述查找模块查找到所述输出端口后,判断所述输出端口对应的第 一标记字段和/或第二标记字段是否存在故障标识;及调整模块,用于当所述判断模块判断所述第一标记字段和/或第二标记字段存在故障标识时,根据所述故障标识调整所述输出端口的数据流流量。
18、 如权利要求17所述的多级多平面交换系统,其特征在于,所述输入 单元还包括存储模块,用于存储路由分发表,其中,所述查找模块根据所述路由分发表,在所述数据流的目的地址对 应的表项中,查找一个具有可用标识的输出端口。
19、 如权利要求18所述的多级多平面交换系统,其特征在于,所述存储 模块,具体包括更新子模块,用于更新所述路由分发表。
20、 如权利要求17所述的多级多平面交换系统,其特征在于,所述输入 单元还包括标识模块,用于存储和更新所述第一标记字段和第二标记字段。
全文摘要
本发明实施例公开了一种多级多平面结构中的数据流发送方法、装置和系统,所述方法包括以下步骤根据数据流的目的地址确定一个可用的输出端口;判断所述输出端口所对应的第一标记字段和/或第二标记字段是否存在故障标识;当所述第一标记字段和/或第二标记字段存在故障标识时,根据所述故障标识调整所述输出端口的数据流流量。通过应用本发明,可以根据链路的故障情况对输出端口的发送流量进行调整,达到了降低故障链路所在交换平面内部出现拥塞的概率的效果。
文档编号H04L12/56GK101325558SQ20081013458
公开日2008年12月17日 申请日期2008年7月29日 优先权日2008年7月29日
发明者晗 刘, 春 华, 剑 李, 云 林, 涂晓东, 明 胡, 勇 谢 申请人:华为技术有限公司;电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1