一种点到多点业务传输方法和装置与流程

文档序号:17048750发布日期:2019-03-05 19:49阅读:137来源:国知局
一种点到多点业务传输方法和装置与流程

本申请涉及通信领域,尤其涉及一种点到多点业务传输方法和装置。



背景技术:

点到多点(英文全称:pointtomultiplepoint,英文缩写:p2mp)业务是以太网中一个重要的业务模型。其中,p2mp业务为单向业务,业务从网络的根节点(或者源端)传输到该根节点对应的末端节点(或者宿端)。具体的传输过程是业务数据从一个根(英文全称:root)输入,发向该根的所有叶子(英文全称:leaf),所有的叶子收到完全相同的业务数据,另外,上述根可以理解为节点的输入接口,而叶子可以理解为节点的输出接口。然而,在目前的p2mp业务中根节点到末端节点的传输路径一般都是一条,这样当该传输路径某一环节出现故障时,就会导致业务无法传输。可见,目前的p2mp业务中业务传输的保护能力不强。如何提高p2mp业务传输保护能力,避免报文环路,成为亟待解决的技术问题。



技术实现要素:

本申请实施例公开了一种点到多点业务传输方法和装置,该方法可包括第一节点通过第一根接收第一根的直接相邻上游节点发送的业务数据;当第一根的直接相邻上游节点与第一节点的一个叶子的直接相邻下游节点为同一个节点时,第一节点将第一根作为第一节点中除该叶子之外的叶子的备选根;当第一根的直接相邻上游节点与第一节点任何叶子的直接相邻下游节点都不相同时,第一节点将第一根作为第一节点的叶子的备选根;第一节点的叶子从该叶子的备选根中选择一个根作为当前使用根,并将该叶子与当前使用根建立挂接关系,该叶子根据挂接关系从当前使用根接收业务数据,并向该叶子的直接相邻下游节点发送业务数据。可以提高p2mp业务中业务传输的保护能力。

第一方面,本申请提供一种点到多点业务传输方法,包括:

第一节点通过第一根接收第二节点发送的业务数据,其中,所述第二节点为所述第一节点直接相邻的上游节点,所述第一节点通过所述第一根与所述第二节点直接连接;

所述第一节点通过第一叶子向第三节点发送业务数据,其中,所述第三节点为所述第一节点直接相邻的下游节点,所述第一节点通过所述第一叶子与所述第三节点直接连接;

当所述第二节点与所述第三节点为同一个节点时,所述第一节点将所述第一根作为所述第一节点中除该第一叶子之外的其它叶子的备选根;

当所述第二节点与第三节点不是同一个节点,并且所述第二节点与所述第一节点的任何叶子的直接相邻下游节点都不相同时,所述第一节点将所述第一根作为所述第一叶子的备选根;

所述第一节点从所述第一叶子的所有备选根中选择一个根作为当前使用根,该第一节点根据所述第一叶子与所述当前使用根之间的第一挂接关系从所述当前使用根接收第一业务数据,并通过该第一叶子向与该第一叶子直接连接的下游节点发送所述第一业务数据。

第二方面,本申请提供一种点到多点业务传输装置,所述装置应用于第一节点,其特征在于,包括:接收单元、处理单元和发送单元,其中:

所述接收单元,用于通过第一根接收第二节点发送的业务数据,其中,所述第二节点为所述第一节点直接相邻的上游节点,所述第一节点通过所述第一根与所述第二节点直接连接;

所述发送单元,用于通过第一叶子向第三节点发送业务数据,其中,其中,所述第三节点为所述第一节点直接相邻的下游节点,所述第一节点通过所述第一叶子与所述第三节点直接连接;

所述处理单元,用于当所述第二节点与所述第三节点为同一个节点时,将所述第一根作为所述第一节点中除该第一叶子之外的其它叶子的备选根;

所述处理单元,还用于当所述第二节点与第三节点不是同一个节点,并且所述第二节点与所述第一节点的任何叶子的直接相邻下游节点都不相同时,将所述第一根作为所述第一叶子的备选根。

所述处理单元,还用于从所述第一节点从所述第一叶子的所有备选根中选择一个根作为当前使用根,并根据所述第一叶子与所述当前使用根之间的第一挂接关系,控制所述接收单元从所述当前使用根接收第一业务数据,并控制所述发送单元通过该第一叶子向与该第一叶子直接连接的下游节点发送所述第一业务数据。这样可以实现第一节点的叶子可以选择性的从第一节点的根接收业务数据,从而本申请可以提高p2mp业务中业务传输的保护能力。

附图说明

图1是本申请实施例提供的一种点到多点业务传输方法的流程示意图;

图2是本申请实施例提供的一种多点业务传输的场景简略示意图;

图3是本申请实施例提供的一种点到多点业务传输装置的结构示意图;

图4是本申请实施例提供的另一种点到多点业务传输装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例中,第一节点可以是任意可以支持点到多点业务传送的设备,例如:交换机、路由器等,另外,第一节点所在网层也不作限定,例如:第一节点可以是核心层、汇聚层或者接入层中的设备。

另外,本申请实施例可以应用于以太网络,或者多协议标签交换(英文全称:multi-protocollabelswitching,英文缩写:mpls)网络等业务数据在设备内为单向传输的网络。

请参阅图1,图1是本申请实施例提供的一种点到多点业务传输方法的流程示意图,如图1所示,包括以下步骤:

101、第一节点通过第一根接收第二节点发送的业务数据,其中,所述第二节点为所述第一节点直接相邻的上游节点,所述第一节点通过所述第一根与所述第二节点直接连接。

下面对于上述第一节点的直接相邻的上游节点进行举例说明。例如:在节点a-节点b-节点c和节点d的路径中,节点a为整个网络的接入节点,节点a的根可以为网络外的组播源,节点b的根a的直接相邻上游节点为节点a。另外,节点b的叶子c的下游节点包括节点c和节点d,其中,节点c为节点b的叶子c的直接相邻下游节点,而节点d为叶子b的不直接相邻下游节点。

可选的,上述第一节点可以包括多个根,且这多个根中可以包括一个或者多个直接相邻上游节点为所述第一节点的叶子的直接相邻下游节点的根。另外,一个根的直接相邻上游节点为所述第一节点的一个叶子的直接相邻下游节点时,该根的直接相邻上游节点和第一节点可以是同一网络层的节点,即本实施例中,互为根和叶子的两个节点可以是属于同一个网络层中的两个节点。另外,互为根和叶子的两个节点可以存在一个或者多个共同上游节点,其中,这里的共同上游节点可以是直接相邻上游节点或者不直接相邻上游节点。例如:如图2所示,节点b的根c的直接相邻上游节点为节点c,节点b的叶子c的直接相邻下游节点也为节点c,而节点b的根a的上游节点(这里的上游节点可以包括直接相邻上游节点或者不直接相邻上游节点)包括节点a,节点c的根a的上游节点也包括节点a。这样节点b与节点c互为根和叶子,且节点b和节点c存在共同上游节点a。当然,节点b和节点c还可以存在其他的根,这些根的可以存在或者不存在共同上游节点。这样节点b可以选择性的从节点a或者节点c接收到节点a传输的数据,从而当节点b与节点a之间的路径出现故障时,节点b可以选择从节点c接收到节点a向节点c转发的数据。或者,从而当节点b与节点c之间的路径出现故障时,第一节点可以选择从节点a接收到节点a向节点c转发的数据。另外,互为根和叶子的两个节点也可以不存在共同上游节点。

可选的,互为根和叶子的两个节点可以存在一个或者多个共同下游节点,其中,这里的共同下游节点可以是直接相邻下游节点或者不直接相邻上游节点。例如:如图2所示,节点b的根c的直接相邻上游节点为节点c,节点b的叶子c的直接相邻下游节点也为节点c,而节点b的叶子d的下游节点(这里的下游节点可以包括直接相邻下游节点或者不直接相邻下游节点)包括节点d,节点c的叶子d的下游节点也包括节点d。这样节点b与节点c互为根和叶子,且节点b和节点c存在共同下游节点d。当然,节点b和节点c还可以存在其他的叶子,这些根的可以存在或者不存在共同下游节点。这样节点d可以选择性的从节点b或者节点c接收到节点b传输的数据,从而当节点d与节点b之间的路径出现故障时,节点d可以选择从节点c接收到节点b向节点c转发的数据。

102.所述第一节点通过第一叶子向第三节点发送业务数据,其中,所述第三节点为所述第一节点直接相邻的下游节点,所述第一节点通过所述第一叶子与所述第三节点直接连接。

其中,上述第一根可以为第一节点的任意根。另外,第一节点可以包括多个根,这样第一节点就可以根据第一节点与第一节点的各根的上游节点之间的连接状态,从多个根中选择通过包括上述第一根在内的至少一个根的上游节点发送的业务数据,以提高p2mp业务中业务传输的保护能力。

103、当所述第二节点与所述第三节点为同一个节点时,所述第一节点将所述第一根作为所述第一节点中除该第一叶子之外的至少一个叶子的备选根。

下面对于上述第二节点与第三节点为同一个节点进行举例说明。例如:在图2所示的节点架构中,节点b的根c的直接相邻上游节点为节点c,节点b的叶子c的直接相邻下游节点也为节点c,这样节点c即是节点b的上游节点,也是节点b的下游节点,同样,b节点为节点c的下游节点,以及节点b也为节点c的上游节点。这样可以实现第一节点可以从与第一节点互为根和叶子的节点接收业务数据,同时,第一节点还可以将从其他根接收到的业务数据发送至该节点。

通过步骤103就可以实现当所述第一根的直接相邻上游节点与所述第一节点的一个叶子的直接相邻下游节点为同一个节点时,可以将第一根作为第一节点中直接相邻下游节点不为第一根直接相邻上游节点的叶子的备选根,这样第一根接收到的业务数据不会发送至第一根的直接相邻上游节点,从而可以避免业务数据在两个互为根和叶子的节点之间循环传输。

可选的,步骤103可以包括:

当所述第二节点与所述第三节点为同一个节点时,所述第一节点将所述第一根作为所述第一节点中除该第一叶子之外的至少一个叶子的备选根,其中,该至少一个叶子至少存在一个叶子的下游节点为所述第一节点的一个根的上游节点,且该下游节点与所述第一节点存在相同的下游节点。

其中,该步骤中的下游节点包括直接相邻下游节点或者不直接相邻下游节点,所述上游节点包括直接相邻上游节点或者不直接相邻上游节点。例如:如图2所示,上述至少一个叶子存在节点b的叶子c,叶子c的直接相邻下游节点为节点c,该节点c又为节点b的直接相邻上游节点,且节点c和节点d的下游节点都包含节点d和节点e。当然,这里仅是以直接相邻下游节点和直接相邻上游节点进行举例说明,另外,上述该下游节点与所述第一节点存在相同的下游节点可以是存在一个或者多个共同的下游节点。

这样可以实现将第一根作为上述至少一个叶子的备选根,由于这些叶子中至少有一个叶子的下游节点与所述第一节点存在相同的下游节点,这样当第一节点到该下游节点之间的路径出现故障时,该下游节点就可以选择从其他节点接收到上述第一节点发送的业务数据,从而可以提高业务数据保护能力。例如:如图2所示的中,节点b到节点d之间的路径出现故障时,节点d可以选择从接收节点c接收业务数据。

104、当所述第二节点与第三节点不是同一个节点,并且所述第二节点与所述第一节点的任何叶子的直接相邻下游节点都不相同时,所述第一节点将所述第一根作为所述第一叶子的备选根。

当上述第一根的直接相邻上游节点与所述第一节点任何叶子的直接相邻下游节点都不相同时,这样第一根可以作为第一节点中任何叶子的备选根。

105、所述第一节点从所述第一叶子的所有备选根中选择一个根作为当前使用根,该第一节点根据所述第一叶子与所述当前使用根之间的第一挂接关系从所述当前使用根接收所述业务数据,并通过该第一叶子向与该第一叶子直接连接的下游节点发送所述业务数据。

其中,步骤105不限定于第一叶子,也可以为第一节点中的任意叶子,即针对第一节点的所有叶子都会执行步骤105,从而实现第一节点中所有叶子发送业务数据的规则都是一样的。另外,第一节点从各个根接收的业务数据可以是相同的,这样叶子无论选择哪个根接收业务数据所接收的都是相同的业务数据。例如:如图2所示,节点b可以从根a和根c接收业务数据,且从这两个根接收到的业务数据可以是相同的,这样节点b的叶子d无论是选择从根a还是根c接收业务数据,该叶子d都是接收相同的业务数据。

另外,上述第一节点的叶子从该叶子的备选根中选择一个根作为当前使用根可以是,第一节点的叶子从该叶子的备选根中选择任意一个根作为当前使用根;或者,第一节点的叶子从该叶子的备选根中选择该叶子的工作根作为当前使用根,其中,工作根可以理解为该叶子的默认接收业务数据的根;或者,第一节点的叶子从该叶子的备选根中选择未出现故障工作根作为当前使用根。

可选的,上述步骤仅介绍了通过上述第一根接收业务数据,本实施例中,第一节点通过第一根接收业务数据之外,第一节点还可以通过其他根接收业务数据,其中,针对这些其他根接收业务数据的流程,可以参考通过第一根接收业务数据的流程,此处不作重复说明。

需要说明的是,上述当前使用根可以定义当前时刻使用的根,这样本实施例中当前使用根在不同的时刻可以是不同的根。

需要说明的是,步骤103和步骤104可以是在步骤101之后执行的;步骤103和步骤103也可以是在步骤101之前执行的,这样可以实现预先选定各叶子的备选根,当进行业务数据传输时,直接选择当前使用根就行。

本实施例中,第一节点的叶子可以选择性的从第一节点的根接收业务数据,从而本申请可以提高p2mp业务中业务传输的保护能力。进一步的,当第一节点的直接相邻上游节点与第一节点的直接相邻下游节点为同一个节点时,当第一节点接收到该节点发送的数据后,不再向该节点重新转发数据,从而有效避免了报文环路。

可选的,当所述第一根为所述当前使用根,且所述第一根出现故障时,所述第一节点确定从该第一叶子的所述所有备选根中确定第二根作为当前使用根,该第一节点根据该第一叶子与该第二根之间的第二挂接关系从所述第二根接收所述业务数据,并向该第一叶子的直接相邻下游节点发送所述业务数据。

该实施方式,可以实现当叶子的当前使用根出现故障时,该叶子可以从该叶子的备选根中选择另一个根作为当前使用根,再从该当前使用根接收业务数据,从而提高业务数据的保护能力。例如:上述第一根为工作根,那么,上述第二根就可以是保护根。

可选的,当所述第一节点的一个叶子的包括当前根在内的所有备选根都出现故障时,所述第一节点通知该叶子的直接相邻下游节点不要选择该叶子作为根。

当所述第一节点中任意一个叶子的包括当前根在内的所有备选根都出现故障时,这样该叶子的直接相邻下游节点就无法第一节点传输的业务数据,从而可以通知该叶子的直接相邻下游节点不要选择该叶子作为根。其中,上述通知叶子的直接相邻下游节点不要选择该叶子作为根,可以理解为通知该叶子的直接相邻下游节点不要选择从第一节点接收业务数据。

可选的,第一节点可以判断各根是否可以接收到该根的上游节点发送的业务数据,若是,则确定该根未出现故障,若不是,则确定该根出现故障;或者第一节点通过操作管理维护(英文全称:operationadministrationandmaintenance,英文缩写:oam)消息确定各根否出现故障。

本申请中所述的“根”是指节点中的输入接口,“叶子”是指节点中的输出接口。节点通过根接收上游节点发送的业务数据,通过叶子向下游节点发送业务数据。在本申请所述的p2mp的业务模型中,每个节点的所有叶子发送业务数据的规则都是一样的。另外,每个节点从节点自身的各个根接收的业务数据可以是相同的,这样该节点的叶子无论选择哪个根接收业务数据所接收的都是相同的业务数据。例如:如图2所示,节点b可以从根a和根c接收业务数据,且从这两个根接收到的业务数据可以是相同的,这样节点b的叶子d无论是选择从根a还是根c接收业务数据,该叶子d都是接收相同的业务数据。

本申请中所述的“挂接关系”是指报文转发中,实际使用到的根和叶子之间对应关系。例如,节点a具有多个根,分别编号为1,2,3。根1,根2和根3均用于接收例如根节点发送的业务数据。当前工作状态下,主选根为根1,即根1为当前使用根,节点从根1接收到数据后,与根1对应的叶子为叶子1,根1与叶子1之间的对应关系可以称之为第一挂接关系。再比如,如果与根2对应的叶子是叶子2,则根2与叶子2之间的对应关系可以称之为第二挂接关系。当然,对于不同的根可以对应同一个叶子,不同的根与该相同的叶子之间的对应关系,分别对应于不同的关节关系,用于指导报文转发。

下面为本申请装置实施例,本申请装置实施例用于执行本申请方法100,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照方法100相关描述。

请参阅图3,图3是本申请实施例提供的一种点到多点业务传输装置的结构示意图,该装置300可以应用于图2所示的场景中,用于用于执行图1所对应的方法100。如图3所示,该装置300包括:接收单元301、处理单元302和发送单元303。其中,接收单元301具体可以用于执行上述方法100中第一节点执行的各种业务数据接收,发送单元303用于执行方法100中第一节点执行的各种数据发送,该处理单元302用于执行上述方法100中所述装置除了所述数据接收和发送之外的其它处理。

例如,该接收单元301用于通过第一根接收第二节点发送的业务数据。所述发送单元303用于通过第一叶子向第三节点发送所述业务数据。所述处理单元302,用于当所述第二节点与所述第三节点为同一个节点时,将所述第一根作为所述第一节点中除该第一叶子之外的其它叶子的备选根;当所述第二节点与第三节点不是同一个节点,并且所述第二节点与所述第一节点的任何叶子的直接相邻下游节点都不相同时,所述处理单元确定所述第一根为所述第一叶子的备选根;还用于从所述第一节点从所述第一叶子的所有备选根中选择一个根作为当前使用根,并根据所述第一叶子与所述当前使用根之间的第一挂接关系,控制所述接收单元从所述当前使用根接收所述业务数据,并控制所述发送单元通过该第一叶子向与该第一叶子直接连接的下游节点发送所述业务数据。

具体内容以参考方法100中相关部分的描述,此处不再赘述。

应理解,以上各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。本申请实施例中,接收单元301和发送单元303均可以可以由通信接口实现,处理单元302可以由处理器实现。如图4所示,装置400可以包括处理器401、通信接口402和存储器403。其中,存储器403可以用于存储装置400出厂时预装的程序/代码,也可以存储用于处理器401执行时的代码等。

应理解,根据本申请实施例的装置400可对应于根据本申请实施例的方法100中的第一节点,其中通信接口402用于执行方法100中所述第一节点执行的各种信息收发,处理器401用于执行方法100中所述网络设备除了信息收发以外的其它处理。在此不再赘述。

图4中还可以包括总线接口404,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。通信接口提供用于在传输介质上与各种其他设备通信的单元。处理器负责管理总线架构和通常的处理,存储器可以存储处理器在执行操作时所使用的数据。

本领域技术任何还可以了解到本申请实施例列出的各种说明性逻辑块(illustrativelogicalblock)和步骤(step)可以通过电子硬件、电脑软件,或两者的结合进行实现。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。

本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列(fpga)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。

本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于ue中。可选地,处理器和存储媒介也可以设置于ue中的不同的部件中。

应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

本申请说明书的上述描述可以使得本领域技术任何可以利用或实现本申请的内容,任何基于所公开内容的修改都应该被认为是本领域显而易见的,本申请所描述的基本原则可以应用到其它变形中而不偏离本申请的发明本质和范围。因此,本申请所公开的内容不仅仅局限于所描述的实施例和设计,还可以扩展到与本申请原则和所公开的新特征一致的最大范围。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1