广播路径确定方法、装置、分布式设备及可读存储介质

文档序号:687760 发布日期:2021-04-30 浏览:18次 >En<

阅读说明:本技术 广播路径确定方法、装置、分布式设备及可读存储介质 (Broadcast path determining method and device, distributed equipment and readable storage medium ) 是由 齐朋冲 于 2020-12-23 设计创作,主要内容包括:本申请提供一种广播路径确定方法、装置、电子设备及可读存储介质,方法包括:获取分布式设备内所有交换芯片之间的拓扑连接关系;针对每一个交换芯片,通过逐级进行分发路径的遍历,从而在遍历发现多条同级分发路径指向同一交换芯片时,从该多条同级分发路径中确定出最优分发路径,并对该多条同级分发路径中除该最优分发路径外的所有分发路径进行断环操作;在遍历发现下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,对该下一级分发路径进行断环操作。本方案基于交换芯片之间的拓扑连接关系实现,对于各种应用场景下的分布式设备均适用,具有很好的普适性,且路径计算方式简单,维护成本低。(The application provides a broadcast path determining method, a broadcast path determining device, electronic equipment and a readable storage medium, wherein the method comprises the following steps: acquiring topological connection relations among all exchange chips in the distributed equipment; for each exchange chip, traversing the distribution paths step by step, so that when a plurality of peer distribution paths are found to point to the same exchange chip in traversal, an optimal distribution path is determined from the plurality of peer distribution paths, and all distribution paths except the optimal distribution path in the plurality of peer distribution paths are subjected to ring breaking operation; and when the switching chip pointed by the next-level distribution path is traversed and found to be used as the source end of a certain superior distribution path or is the same as the switching chip pointed by the certain superior distribution path, performing ring-breaking operation on the next-level distribution path. The method is realized based on the topological connection relation among the switching chips, is suitable for distributed equipment under various application scenes, and has good universality, simple path calculation mode and low maintenance cost.)

广播路径确定方法、装置、分布式设备及可读存储介质

技术领域

本申请涉及通信技术领域,具体而言,涉及一种广播路径确定方法、装置、分布式设备及可读存储介质。

背景技术

分布式设备支持多张业务板卡,每张业务板卡包含一颗或者多颗交换芯片,分布式设备数据流量转发主要依赖交换芯片。而交换芯片之间通过背板链路连接,背板链路负责完成芯片之间的数据转发。当某颗芯片接收到广播报文时,需要通过背板链路将广播报文分发到其它所有交换芯片。为了提高可靠性和转发带宽,交换芯片之间的背板链路一般存在冗余,这就导致广播报文在转发过程中可能产生环路,进而导致广播风暴,背板链路异常等问题。因此,必须将背板链路中的环路断开。

然而,不同应用场景下对分布式设备的需求不同,因此分布式设备的形态各异,包括三槽、四槽、六槽、八槽、十槽、十二槽等等。而即使是槽位数量相同的设备,芯片拓扑连接关系也可能存在差异。因此,广播断环算法的普适性很重要,否则会导致代码冗余度高,容易出现各种问题,增加维护成本。

发明内容

本申请实施例的目的在于提供一种广播路径确定方法、装置、电子设备及可读存储介质,用以满足各种应用场景下的断环确定需求。

本申请实施例提供了一种广播路径确定方法,应用于分布式设备中,包括:获取分布式设备内所有交换芯片之间的拓扑连接关系;针对每一个交换芯片,逐级进行分发路径的遍历,直至遍历完所有的分发路径;其中,所述分发路径为所述拓扑连接关系中表征的相邻两交换芯片之间的数据转发路径;在遍历过程中,在存在多条同级分发路径指向同一交换芯片时,从所述多条同级分发路径中确定出最优分发路径,并对所述多条同级分发路径中除所述最优分发路径外的所有分发路径进行断环操作;在遍历过程中,在下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,对该下一级分发路径进行断环操作。

本申请实施例的方案基于交换芯片之间的拓扑连接关系实现,对于各种应用场景下的分布式设备均适用,具有很好的普适性,且路径计算方式简单,实现时代码冗余度低,维护成本低。此外,由于是逐级进行的分发路径排查,而在发现多条同级分发路径指向同一交换芯片的情况时,是从多条分发路径中保留的是最优分发路径,而在指向某一交换芯片的同级分发路径只有一条时,那么该分发路径本身就是最优路径,且在下级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,会对该下级分发路径进行断环操作,因此可以使得本申请实施例中,构成广播路径的各个分发路径都是最优路径。

进一步地,所述针对每一个交换芯片,逐级进行分发路径的遍历,直至遍历完所有的分发路径,包括:针对每一个交换芯片,以该交换芯片为一级分发路径的源端,以该源端的所有背板链路为一级分发路径的起始点,根据所述拓扑连接关系确定出每条一级分发路径到达的终点背板链路;以该终点背板链路所在的交换芯片作为二级分发路径的源端,以该源端中除该终点背板链路外的背板链路为二级分发路径起始点,根据所述拓扑连接关系确定出每条二级分发路径到达的终点背板链路;重复上述操作,直至遍历完所有的分发路径。

在上述实现过程中,依托于交换芯片之间的拓扑连接关系,针对每一个交换芯片,分别以其作为一级分发路径的源端,确定出所有一级分发路径,然后再依据各一级分发路径的终点背板链路,确定出各二级分发路径的源端,然后继续依据各二级分发路径的终点背板链路,确定出各三级分发路径的源端,直至遍历完所有的分发路径。这样,针对每一个交换芯片而言,当其作为广播的起始节点时,其所具有的所有广播路径即被完整确定出来。

进一步地,针对每一级分发路径,在根据所述拓扑连接关系确定出所述分发路径到达的终点背板链路后,所述方法还包括:判断所述分发路径的终点背板链路是否为链路汇聚的一个成员链路;在所述分发路径的终点背板链路为链路汇聚的一个成员链路时,控制所述分发路径的下一级分发路径中,所述链路汇聚的所有成员链路不作为所述下一级分发路径的起始点。

在实际应用过程中,某些分布式设备会采用链路汇聚技术,将多个背板链路汇聚为一个虚拟的端口(本申请实施例中称之为链路汇聚)对外提供服务。而由于链路汇聚中的各个成员背板链路在逻辑上会被作为一个背板链路对外提供服务。因此在本申请实施例中,为了符合现有业务逻辑,可以在分发路径的终点背板链路为链路汇聚的一个成员链路时,将该链路汇聚作为该分发路径的实际终点,从而在下一级分发路径中,限制该链路汇聚的所有成员链路不作为该下一级分发路径的起始点。

进一步地,所述方法还包括:针对每一个交换芯片,逐级进行分发路径的遍历,直至遍历完所有的分发路径,包括:若所述交换芯片存在非对称链路汇聚,则针对所述非对称链路汇聚的每一条边,逐级进行分发路径的遍历,直至遍历完每一条边对应的所有分发路径。

进一步地,所述方法还包括:在各分发路径的指向的交换芯片上分别记录各所述分发路径的等级。

在本申请实施例中,在各分发路径的指向的交换芯片上分别记录各所述分发路径的等级,可以便于判断分发路径等级,从而便于进行相应的断环操作判断。

进一步地,从所述多条同级分发路径中确定出最优分发路径,包括:确定所述多条同级分发路径中,带宽最大的分发路径为所述最优分发路径。

在实际应用中,分发路径的带宽是直接影响该分发路径的数据传输能力的重要因素之一,因此选择带宽最大的分发路径为最优分发路径,可以使得最终得到的广播路径具有最优的数据传输能力。

进一步地,所述分布式设备内包括多个板卡;所述获取分布式设备内所有交换芯片之间的拓扑连接关系包括:所述分布式设备内的所有板卡同步各自的交换芯片拓扑连接关系;各所述板卡根据同步到的各板卡各自的交换芯片拓扑连接关系,构建所述分布式设备内所有交换芯片之间的拓扑连接关系。

在上述实现方式中,分布式设备内的各板卡通过同步各自的交换芯片拓扑连接关系,从而可以实现分布式设备内所有交换芯片之间的拓扑连接关系在各板卡上的汇总,从而使得各板卡均可快速构建得到分布式设备内所有交换芯片之间的拓扑连接关系。

进一步地,所述针对每一个交换芯片,逐级进行分发路径的遍历,包括:各所述板卡分别针对自身具有的交换芯片,逐级进行分发路径的遍历。

在上述实现过程中,各板卡分别负责自身具有的交换芯片的分发路径的遍历,这就使得每张板卡可以独立计算各自具有的交换芯片的广播路径,而不是由某一板卡(比如主控板卡)上进行统一计算,使分布式设备的资源利用更加合理。

本申请实施例还提供了一种广播路径确定装置,应用于分布式设备中,包括:获取模块、遍历模块和断环操作模块;所述获取模块,用于获取分布式设备内所有交换芯片之间的拓扑连接关系;所述遍历模块,用于针对每一个交换芯片,逐级进行分发路径的遍历,直至不存在下一级分发路径,或者存在多条同级分发路径指向同一交换芯片,或者下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同为止;其中,所述分发路径为所述拓扑连接关系中表征的相邻两交换芯片之间的数据转发路径;所述断环操作模块,用于在存在多条同级分发路径指向同一交换芯片时,从所述多条同级分发路径中确定出最优分发路径,并对所述多条同级分发路径中除所述最优分发路径外的所有分发路径进行断环操作;在下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,对该下一级分发路径进行断环操作。

本申请实施例还提供了一种分布式设备,包括板卡、存储器及通信总线;所述通信总线用于实现板卡和存储器之间的连接通信;所述板卡用于执行存储器中存储的一个或者多个程序,以实现上述任一种的广播路径确定方法。

本申请实施例中还提供了一种可读存储介质,所述可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的广播路径确定方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种广播路径确定方的流程示意图;

图2为本申请实施例提供的一种拓扑连接关系示意图;

图3为本申请实施例提供的一种链路汇聚的示意图;

图4为本申请实施例提供的另一种拓扑连接关系示意图;

图5为本申请实施例提供的图2中CHIP1的广播路径计算结果示意图;

图6为本申请实施例提供的图2中CHIP2的广播路径计算结果示意图;

图7为本申请实施例提供的图2中CHIP3的广播路径计算结果示意图;

图8为本申请实施例提供的图2中CHIP4的广播路径计算结果示意图;

图9-1为本申请实施例提供的图4中CHIP1的第一条边的广播路径计算结果示意图;

图9-2为本申请实施例提供的图4中CHIP1的第二条边的广播路径计算结果示意图;

图10-1为本申请实施例提供的图4中CHIP4的第一条边的广播路径计算结果示意图;

图10-2为本申请实施例提供的图4中CHIP4的第二条边的广播路径计算结果示意图;

图11为本申请实施例提供的图4中CHIP2的广播路径计算结果示意图;

图12为本申请实施例提供的图4中CHIP3的广播路径计算结果示意图;

图13为本申请实施例提供的一种广播路径确定装置的结构示意图;

图14为本申请实施例提供的一种分布式设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一:

本申请实施例中提供了一种应用于分布式设备上的广播路径确定方法。可以参见图1所示,图1为本申请实施例中提供的一种广播路径确定方法的流程示意图,包括:

S101:获取分布式设备内所有交换芯片之间的拓扑连接关系。

需要说明的是,在实际应用中,分布式设备内往往具有多个板卡,每个板卡上包含有一颗或者多颗交换芯片,而交换芯片之间通过背板链路连接,通过背板链路完成交换芯片之间的数据转发。因此每个板卡可以获取到自身的背板链路连接关系(即可以获取到自身所承载的交换芯片的拓扑连接关系)。基于各板卡所具有的交换芯片拓扑连接关系,可以得到分布式设备内所有交换芯片之间的拓扑连接关系。

还需要说明的是,本申请实施例中所述的背板链路,是指交换芯片互联的物理端口。

还需要说明的是,本申请实施例中所述的广播,是指数据广播、未知单播、组播等需要复制多份报文的转发方式。

S102:针对每一个交换芯片,逐级进行分发路径的遍历,直至遍历完所有的分发路径。

在本申请实施例中,在得到分布式设备内所有交换芯片之间的拓扑连接关系后,可以依据该拓扑连接关系,针对每一个交换芯片,通过逐级进行分发路径的遍历的方式,确定出该交换芯片的广播路径。

需要说明的是,本申请实施例中的分发路径为该拓扑连接关系中表征的相邻两交换芯片之间的数据转发路径。而该交换芯片的广播路径则由遍历得到的,进行断环处理后保留的各级分发路径构成。

在本申请实施例中,遍历过程可以是:

针对每一个交换芯片,以该交换芯片为一级分发路径的源端,以该源端的所有背板链路为一级分发路径的起始点,根据该拓扑连接关系确定出每条一级分发路径到达的终点背板链路。

以该终点背板链路所在的交换芯片作为二级分发路径的源端,以该源端中除该终点背板链路外的背板链路为二级分发路径起始点,根据该拓扑连接关系确定出每条二级分发路径到达的终点背板链路。

重复上述操作,直至不存在下一级分发路径,或者存在多条同级分发路径指向同一交换芯片,或者下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同为止。

需要说明的是,对于每一级分发路径的源端而言,其入口背板链路(即上一级分发路径的终点背板链路)不作为该分发路径的起始点。对于一级分发路径而言,由于其不具有上一级分发路径,因此其不存在上一级分发路径的终点背板链路,故而所有背板链路均作为该分发路径的起始点。

示例性的,假设共有4颗交换芯片,分别为CHIP1、CHIP2、CHIP3和CHIP4,其拓扑连接关系如图2所示。

此时,针对CHIP1,根据拓扑连接关系,可以确定一级分发路径有两条,分别到CHIP2、CHIP4(即分别有CHIP1-CHIP2和CHIP1-CHIP4)。

然后,可以分别以CHIP2和CHIP4作为源端,根据拓扑连接关系,确定出CHIP2和CHIP4的二级分发路径均只有一条,分别为CHIP2-CHIP3和CHIP4-CHIP3。

显然,这两条二级分发路径的目的端都为CHIP3,此时从CHIP2-CHIP3和CHIP4-CHIP3中选一条进行断环操作,仅保留一条二级分发路径。

假设保留的是CHIP2-CHIP3,由于CHIP3所对应的三级分发路径仅有CHIP3-CHIP4,而CHIP4已被一级分发路径CHIP1-CHIP4使用(与一级分发路径指向的交换芯片相同),对CHIP3-CHIP4做断环操作。从而得到CHIP1的广播路径为:CHIP1-CHIP2,CHIP1-CHIP2-CHIP3,CHIP1-CHIP4。

而针对CHIP2、CHIP3和CHIP4的遍历过程与前述CHIP1的遍历类似,在此不再赘述。

需要注意的是,在实际应用过程中,分布式设备的交换芯片上可能会采用链路汇聚技术,将多个背板链路汇聚为一个非对称链路汇聚对外提供服务。在非对称链路汇聚中,本端的所有背板链路(本申请实施例中称为成员链路)在逻辑上会被作为一个背板链路对外提供服务,而各成员链路在对端则在逻辑上不属于同一个背板链路。例如参见图3所示,图3中椭圆1和椭圆2所标识的即为非对称链路汇聚。

应理解,由于在非对称链路汇聚中,本端的所有成员链路在逻辑上会被作为一个背板链路对外提供服务,因此,在本申请实施例中,在进行广播时,从非对称链路汇聚某个成员链路进入的数据,不能再从该非对称链路汇聚的任一成员链路转发出去。

为此,在本申请实施例中,可以配置如下限制条件:

在某一分发路径的终点背板链路为非对称链路汇聚的一个成员链路时,该终点背板链路所在的交换芯片作为该分发路径的下一级分发路径的源端时,该非对称链路汇聚的所有成员链路不可以作为该下一级分发路径的起始点。

这样,在本申请实施例中,针对每一级分发路径,在根据拓扑连接关系确定出该分发路径到达的终点背板链路后,即可先判断该分发路径的终点背板链路是否为非对称链路汇聚的一个成员链路。

若为非对称链路汇聚的一个成员链路,即在该终点背板链路所在的交换芯片作为源端的该分发路径的下一级分发路径中,在确定该下一级分发路径的起始点时,仅将除该非对称链路汇聚的所有成员链路外的背板链路作为起始点。

此时,若不存在除该非对称链路汇聚的所有成员链路外的背板链路,即确定不存在下一级分发路径。

示例性的,假设共有4颗交换芯片,分别为CHIP1、CHIP2、CHIP3和CHIP4,其拓扑连接关系如图4所示,图4中椭圆圈内包含的所有背板链路构成一个非对称链路汇聚。

针对CHIP2,根据拓扑连接关系,可以确定一级分发路径有三条,分别到CHIP1、CHIP3和CHIP4(即分别有CHIP2-CHIP1、CHIP2-CHIP3和CHIP2-CHIP4)。

对于一级分发路径CHIP2-CHIP1和CHIP2-CHIP4,由于CHIP1中,连接CHIP2和CHIP3的背板链路属于同一非对称链路汇聚的成员,因此到CHIP3的背板链路不能作为下一级分发路径的起始点,因此CHIP1处不具有二级分发路径。类似的,由于CHIP4中,连接CHIP2和CHIP3的背板链路属于同一非对称链路汇聚的成员,因此到CHIP3的背板链路也不能作为下一级分发路径的起始点,因此CHIP4处也不具有二级分发路径。

需要注意的是,在非对称链路汇聚中,对于一个确定的报文,只能从一个确定的成员链路转发出去,并不会在每个成员链路中进行转发。然而,在非对称链路汇聚中,其对端往往可能对应有多个不同的交换芯片。因此为了保证路径计算的完整性,在本申请实施例中,可以在进行遍历时,针对非对称链路汇聚中每一条边(即每一条对端在逻辑上独立的成员链路)都进行完整的遍历。

示例性的,仍旧参见图4所示的拓扑连接关系。对于CHIP1,CHIP1到CHIP2和CHIP3的背板链路属于一个非对称链路汇聚。

遍历时,首先可以选取CHIP1到CHIP2的成员链路为起始点,从而根据拓扑连接关系,确定出一级分发路径CHIP1-CHIP2,然后以CHIP2为源端,确定出二级分发路径CHIP2-CHIP3和CHIP2-CHIP4。CHIP4没有下一级分发路径,计算终结。以CHIP3为源端,确定出两条三级分发路径CHIP3-CHIP1和CHIP3-CHIP4,由于CHIP1为一级分发路径的源端,CHIP4为二级分发路径的目的端,因此,这两条三级路径被记录为断环路径。

接着,选取CHIP1到CHIP3的成员链路为起始点,从而根据拓扑连接关系,确定出一级分发路径CHIP1-CHIP3,然后以CHIP3为源端,确定出二级分发路径CHIP3-CHIP2和CHIP3-CHIP4。CHIP4没有下一级分发路径,计算终结。以CHIP2为源端,确定出两条三级分发路径CHIP2-CHIP1和CHIP2-CHIP4,由于CHIP1为一级分发路径的源端,CHIP4为二级分发路径的目的端,因此,这两条三级路径被记录为断环路径。至此,CHIP1的分发路径遍历结束。

还需要说明的是,在链路汇聚技术中,除了可以产生非对称链路汇聚,也可以产生普通链路汇聚,例如图3中椭圆3、4、5、6、7、8所标识的链路汇聚。

对于普通链路汇聚,链路汇聚中的所有成员链路在本端和对端在逻辑上都属于同一个背板链路,因此在本申请实施例中,可以将每一个普通链路汇聚看做一个的背板链路进行处理。

也即,在进行广播时,从普通链路汇聚某个成员链路进入的数据,也不能再从该普通链路汇聚的任一成员链路转发出去(也即在本申请实施例中,对于所有链路汇聚而言,在从链路汇聚的某个成员链路进入的数据,不能再从该链路汇聚的任一成员链路转发出去)。

因此,在本申请实施例中,在进行路径遍历时,可以根据拓扑连接关系确定出分发路径到达的终点背板链路后,判断该分发路径的终点背板链路是否为链路汇聚的一个成员链路,在该分发路径的终点背板链路为链路汇聚的一个成员链路时,控制该分发路径的下一级分发路径中,该链路汇聚的所有成员链路不作为下一级分发路径的起始点。

此外,对于一个具有普通链路汇聚的交换芯片,若普通链路汇聚中没有成员链路是上一级分发路径的终点背板链路,或该交换芯片不存在上一级分发路径,则在该交换芯片作为源端时,该普通汇聚链路中的所有成员链路作为一个起始点进行广播路径的计算。比如,对于图3中的交换芯片CHIP2,在计算分发路径CHIP2-CHIP3时,则将普通链路汇聚7作为一个起始点进行路径计算。

需要注意的是,在本申请实施例中,为了便于进行分发路径的等级确定,可以在各分发路径的指向的交换芯片上分别记录各所述分发路径的等级。

需要注意的是,在本申请实施例中,在遍历过程中,在存在多条同级分发路径指向同一交换芯片时,可以从该多条同级分发路径中确定出最优分发路径,并对该多条同级分发路径中除该最优分发路径外的所有分发路径进行断环操作。

需要注意的是,在本申请实施例中,在存在多条同级分发路径指向同一交换芯片时,此时由于各分发路径的级别是相同的,即从广播的起始节点到达该交换芯片所经过的交换芯片的数量是相同的。为此,可以基于这多条同级分发路径中,各分发路径的带宽大小来进行最优分发路径的选择,将带宽最大的分发路径为最优分发路径。

以上述图2的示例为例,对于CHIP1而言,二级分发路径CHIP2-CHIP3和CHIP4-CHIP3均指向同一交换芯片CHIP3。假定CHIP2-CHIP3的带宽为40G,而CHIP4-CHIP3的带宽为30G,那么则确定CHIP2-CHIP3为最优分发路径,对CHIP4-CHIP3做断环操作。

需要理解的是,采用分发路径的带宽作为确定最优分发路径的依据仅是本申请实施例中所提供的一种可行的实施方式,不代表本申请实施例中仅可采用该实施方式来实现。比如,本申请实施例中还可以选择分发路径的实际走线长度最小的分发路径作为最优分发路径。具体的最优分发路径确定方式并不做限制。

此外,若基于确定最优分发路径的依据确定出的最优分发路径存在多个时,可以通过随机或者引入其余选择依据的方式,从中确定出一个最优分发路径。

示例性的,在多个分发路径中,带宽最大的分发路径存在多个时,可以选择这带宽最大的多个分发路径中,源端交换芯片的编号最小的那一个分发路径作为最优分发路径。或者,在多个分发路径中,带宽最大的分发路径存在多个时,可以选择这带宽最大的多个分发路径中,实际走线长度最小的那一个分发路径作为最优分发路径。

还需要注意的是,在本申请实施例中,在遍历过程中,在下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,对该下一级分发路径进行断环操作。

需要注意的是,在本申请实施例中,断环操作是指,不允许相应分发路径进行数据转发。

在本申请实施例中,可以记录需要进行断环操作的分发路径的必要信息,并发送给该分发路径的源端所在的板卡进行具体断环操作。

示例性的,假设对于交换芯片CHIP1的分发路径CHIP3-CHIP4需要做断环操作,则可以记录以下断环信息:[CHIP1,CHIP3,CHIP4],其依次表征所属广播路径为交换芯片CHIP1的广播路径,需进行断环操作的分发路径为CHIP3-CHIP4。该断环信息可以发送给CHIP3所在的板卡,从而该板卡针对CHIP1作为广播起始节点传来的数据,不会将其转发给CHIP4。

需要说明的是,本申请实施例中所提供的广播路径确定方法可以由分布式设备内的某一个板卡(比如主控板卡等)来单独实现。此时,单独实现本申请实施例中所提供的广播路径确定方法的板卡,可以通过获取分布式设备内其余板卡分别所具有的交换芯片拓扑连接关系,构建出分布式设备内所有交换芯片之间的拓扑连接关系,从而基于本申请实施例中所描述的广播路径确定方法,确定出以每一个交换芯片作为广播的起始节点时,每一个交换芯片所具有的广播路径。

此外,本申请实施例中所提供的广播路径确定方法可以由分布式设备内的多个板卡来协同实现的,此时只需要将分布式设备内所有交换芯片之间的拓扑连接关系在这多个板卡内同步,并配置好这多个板卡分别负责不同的交换芯片作为广播的起始节点时的广播路径的确定即可。

示例性的,所述分布式设备内的所有板卡同步各自的交换芯片拓扑连接关系,进而各板卡可以根据同步到的各板卡各自的交换芯片拓扑连接关系,构建出分布式设备内所有交换芯片之间的拓扑连接关系。这样,每个板卡上均可具有分布式设备内所有交换芯片之间的拓扑连接关系。

此外,可以设置分布式设备内的各个板卡分别负责各自所具有的交换芯片的广播路径的确定。也即,各个板卡可以根据自身所具有的交换芯片,按照本申请实施例中所描述的广播路径确定方式,确定出各自具有的交换芯片的广播路径。

本申请实施例所提供的广播路径确定方法,通过获取分布式设备内所有交换芯片之间的拓扑连接关系,从而针对每一个交换芯片,按照各交换芯片之间的拓扑连接关系逐级进行分发路径的遍历,从而对于遍历时发现的存在多条同级分发路径指向同一交换芯片的情况,从中选出最优分发路径,而对除最优分发路径外的所有分发路径进行断环操作;对于遍历时发现的下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同的情况,则直接对该下一级分发路径进行断环操作。这样,可以基于交换芯片之间的拓扑连接关系,有效确定出每一个交换芯片作为广播的起始节点时的广播路径中可能出现环路的位置,从而进行断环处理,从而保证最终得到的各交换芯片的广播路径不会存在环路情况。且本申请实施例的方案基于交换芯片之间的拓扑连接关系实现,对于各种应用场景下的分布式设备均适用,具有很好的普适性,且路径计算方式简单,实现时代码冗余度低,维护成本低。此外,由于是逐级进行的分发路径排查,而在发现多条同级分发路径指向同一交换芯片的情况时,是从多条分发路径中保留的是最优分发路径,而在指向某一交换芯片的同级分发路径只有一条时,那么该分发路径本身就是最优路径,且在下级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,会对该下级分发路径进行断环操作,因此可以使得本申请实施例中,构成广播路径的各个分发路径都是最优路径。

实施例二:

本实施例在实施例一的基础上,以两种具体的示例情况对本申请的方案做进一步示例说明。

首先,分布式设备内的各个板卡分别负责各自所具有的交换芯片的广播路径的确定,并配置以下计算规则:

a)对于一个具有非对称链路汇聚的交换芯片,若非对称链路汇聚中没有成员链路是上一级分发路径的终点背板链路,或该交换芯片不存在上一级分发路径,则在该交换芯片作为源端时,该汇聚链路中的每一个成员链路作为独立的起始点进行广播路径的计算,以保证路径计算的完整性。

b)在某一分发路径的终点背板链路为非对称链路汇聚的一个成员链路时,若该终点背板链路所在的交换芯片作为该分发路径的下一级分发路径的源端,该非对称链路汇聚的所有成员链路不可以作为该下一级分发路径的起始点。

c)分发路径的源端不能作为下一级分发路径的目的端。

需要说明的是,目的端是指分发路径所指向的交换芯片。

d)在分发路径的源端交换芯片上记录路径等级。

示例一:参见图2所示的拓扑连接关系,假设图2中,板卡与交换芯片一一对应,每张板卡管理一颗交换芯片。

a)构建拓扑连接关系

各板卡之间相互同步背板连接关系,从而在每个板卡上构建出如图2所示的拓扑连接关系。

b)计算断环路径

CHIP1广播路径的计算,可参见图5所示:

CHIP1为一级分发路径的源端,一级分发路径有两条,分别到CHIP2、CHIP4。CHIP2和CHIP4的二级分发路径均只有一条,且这两条二级分发路径的目的端都为CHIP3。此时,需要将其中一条二级分发路径记录为断环路径,确定方式如下:

首先,两个二级路径的带宽均为40G,接下来比较两个二级路径的源端CHIP编号,源端为CHIP4的二级路径编号较大,因此,将该路径记录为断环路径。

由于CHIP4到CHIP3为断环路径,因此,CHIP2到CHIP3的二级分发路径到达目的端CHIP3后,CHIP3的三级分发路径有一条,为CHIP3到CHIP4。由于CHIP4已经被一级分发路径覆盖,因此将该三级分发路径被记录为断环路径。

需要说明的是,图5至图12中的虚线表征需要断环操作的分发路径。

得到CHIP1的断环信息如下:

[CHIP1,CHIP4,CHIP3]

[CHIP1,CHIP3,CHIP4]

CHIP2广播路径计算:

CHIP2的广播路径计算过程与CHIP1相似,其结果可参见图6所示,在此不再展开说明。

得到CHIP2的断环信息如下:

[CHIP2,CHIP3,CHIP4]

[CHIP2,CHIP4,CHIP3]

CHIP3广播路径计算:

CHIP3的广播路径计算过程与CHIP1相似,其结果可参见图7所示,在此不再展开说明。

得到CHIP3的断环信息如下:

[CHIP3,CHIP4,CHIP1]

[CHIP3,CHIP1,CHIP4]

CHIP4广播路径计算:

CHIP4的广播路径计算过程与CHIP1相似,其结果可参见图8所示,在此不再展开说明。

得到CHIP4的断环信息如下:

[CHIP4,CHIP3,CHIP2]

[CHIP4,CHIP2,CHIP3]

c)断环

每张业务板卡根据各自计算得到的断环信息,将各断环信息发给相应的板卡(根据断环信息中第二个交换芯片编号,确定出该断环信息所需发送的板卡),各板卡根据断环信息,进行断环操作。

示例二:参见图4所示的拓扑连接关系,假设图4中,板卡与交换芯片一一对应,每张板卡管理一颗交换芯片。

a)构建拓扑连接关系

各板卡之间相互同步背板连接关系,从而在每个板卡上构建出如图4所示的拓扑连接关系。

b)计算断环路径

CHIP1广播路径计算:

CHIP1的背板链路为非对称非对称链路汇聚,作为分发路径的起始点,以该非对称链路汇聚为起始点的每条边单独计算分发路径。

以该非对称链路汇聚为起始点的第一条边作为一级分发路径时,目的端交换芯片为CHIP2。而CHIP2的二级分发路径有两条,分别到CHIP3和CHIP4。CHIP4没有三级分发路径,计算终结。CHIP3有两条三级分发路径,两条路径的目的端交换芯片分别为CHIP1、CHIP4,由于CHIP1为一级分发路径的源端,CHIP4为二级分发路径的目的端,因此,这两条三级路径被记录为断环路径。结果可参见图9-1所示。

以该非对称链路汇聚为起始点的第二条边作为一级分发路径时,目的端交换芯片为CHIP3,其计算方法与前述第一个成员类似。结果可参见图9-2所示。

得到CHIP1的断环信息如下:

[CHIP1,CHIP3,CHIP1]

[CHIP1,CHIP3,CHIP4]

[CHIP1,CHIP2,CHIP1]

[CHIP1,CHIP2,CHIP4]

CHIP4广播路径计算:

CHIP4与CHIP1类似,其计算结果可参见图10-1和图10-2所示,在此不再赘述。

得到CHIP4的断环信息如下:

[CHIP4,CHIP3,CHIP1]

[CHIP4,CHIP3,CHIP4]

[CHIP4,CHIP2,CHIP1]

[CHIP4,CHIP2,CHIP4]

CHIP2广播路径计算:

CHIP2的一级分发路径有三条,分别到达CHIP1、CHIP3和CHIP4。其中,CHIP1和CHIP4没有二级分发路径。CHIP3的二级分发路径有两条,两条路径的目的端交换芯片分别为CHIP1、CHIP4,由于CHIP1、CHIP4为一级分发路径的目的端,因此,这两条二级路径被记录为断环路径。结果可参见图11所示。

得到CHIP2的断环信息如下:

[CHIP2,CHIP3,CHIP1]

[CHIP2,CHIP3,CHIP4]

CHIP3广播路径计算:

CHIP3广播分发路径计算与CHIP2类似,其计算结果可参见图12所示,在此不再赘述。

得到CHIP3的断环信息如下:

[CHIP3,CHIP2,CHIP1]

[CHIP3,CHIP2,CHIP4]

c)断环

每张业务板卡根据各自计算得到的断环信息,将各断环信息发给相应的板卡(根据断环信息中第二个交换芯片编号,确定出该断环信息所需发送的板卡),各板卡根据断环信息,进行断环操作。

上述方案,可以满足所有拓扑连接关系的广播路径计算,具有普适性。且上述方案是基于每个交换芯片单独计算广播路径,可以使路径计算结果最优。此外,上述方案在分布式设备的每张板卡独立计算广播路径,而不是在主控板卡统一计算,使得分布式设备的资源利用更加合理。此外,上述路径计算规则简单,可以降低维护成本。

实施例三:

基于同一发明构思,本申请实施例中还提供广播路径确定装置100。请参阅图13所示,图13示出了采用图1所示的方法的广播路径确定装置。应理解,装置100具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置100包括至少一个能以软件或固件的形式存储于存储器中或固化在装置100的操作系统中的软件功能模块。具体地:

参见图13所示,装置100应用于分布式设备上,包括:获取模块101、遍历模块102和断环操作模块103。其中:

所述获取模块101,用于获取分布式设备内所有交换芯片之间的拓扑连接关系;

所述遍历模块102,用于针对每一个交换芯片,逐级进行分发路径的遍历,直至遍历完所有的分发路径;其中,所述分发路径为所述拓扑连接关系中表征的相邻两交换芯片之间的数据转发路径;

所述断环操作模块103,用于在遍历过程中,在存在多条同级分发路径指向同一交换芯片时,从所述多条同级分发路径中确定出最优分发路径,并对所述多条同级分发路径中除所述最优分发路径外的所有分发路径进行断环操作;以及用于在遍历过程中,在下一级分发路径指向的交换芯片已作为某一上级分发路径的源端或与某一上级分发路径指向的交换芯片相同时,对该下一级分发路径进行断环操作。

在本申请实施例的一种可行实施方式中,所述遍历模块102具体用于,针对每一个交换芯片,以该交换芯片为一级分发路径的源端,以该源端的所有背板链路为一级分发路径的起始点,根据所述拓扑连接关系确定出每条一级分发路径到达的终点背板链路;以该终点背板链路所在的交换芯片作为二级分发路径的源端,以该源端中除该终点背板链路外的背板链路为二级分发路径起始点,根据所述拓扑连接关系确定出每条二级分发路径到达的终点背板链路;重复上述操作,直至遍历完所有的分发路径。

在上述可行实施方式中,所述遍历模块102还用于,针对每一级分发路径,在根据所述拓扑连接关系确定出所述分发路径到达的终点背板链路后,判断所述分发路径的终点背板链路是否为链路汇聚的一个成员链路;在所述分发路径的终点背板链路为链路汇聚的一个成员链路时,控制所述分发路径的下一级分发路径中,所述链路汇聚的所有成员链路不作为所述下一级分发路径的起始点。

在本申请实施例中,所述遍历模块102具体用于,若所述交换芯片存在非对称链路汇聚,则针对所述非对称链路汇聚的每一条边,逐级进行分发路径的遍历,直至遍历完每一条边对应的所有分发路径。

在本申请实施例中,所述遍历模块102还用于,在各分发路径的指向的交换芯片上分别记录各所述分发路径的等级。

在本申请实施例中,所述断环操作模块103具体用于,确定所述多条同级分发路径中,带宽最大的分发路径为所述最优分发路径。

在本申请实施例的一种可行实施方式中,所述分布式设备内包括多个板卡;所述多个板卡内均分别设置有所述获取模块101,用于实现在所述分布式设备内的所有板卡之间,同步各自的交换芯片拓扑连接关系,以及根据同步到的各板卡各自的交换芯片拓扑连接关系,构建所述分布式设备内所有交换芯片之间的拓扑连接关系。

在上述可行实施方式中,所述多个板卡内均分别设置有所述遍历模块102,用于分别针对所在板卡自身具有的交换芯片,逐级进行分发路径的遍历。

需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。

实施例四:

本实施例提供了一种分布式设备,参见图14所示,其包括板卡1401、存储器1402以及通信总线1403。其中:

通信总线1403用于实现板卡1401和存储器1402之间的连接通信。

板卡1401用于执行存储器1402中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的广播路径确定方法。

可以理解,图14所示的结构仅为示意,分布式设备还可包括比图14中所示更多或者更少的组件,或者具有与图14所示不同的配置。

需要说明的是,执行存储器1402中存储的一个或多个程序的板卡1401可以是一个,也可以是多个。

本实施例还提供了一种可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(SecureDigital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中业务分配设备所执行的广播路径确定方法的各步骤,或实现上述实施例一和/或实施例二中处理节点所执行的广播路径确定方法的各步骤。在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

在本文中,多个是指两个或两个以上。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种转发报文的方法和CLOS架构交换机

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!