一种业务路由发现方法和装置、计算机可读存储介质与流程

文档序号:15402620发布日期:2018-09-11 17:54阅读:159来源:国知局

本发明涉及通信网络技术领域,具体涉及一种业务路由发现方法和装置、计算机可读存储介质。



背景技术:

光传送网(opticaltransportnetwork,otn)是以波分复用技术为基础、在光层组织网络的传送网,是下一代的骨干传送网。otn网元管理系统(elementmanagementsystem,ems)可以管理多个otn网元。在网管系统上发现并展现实际配置的业务信息,是otnems网管的一个重要功能。

传统的业务发现算法基于连接、单板以及端口上的配置数据进行计算。业务路由的展现由端口和光纤连接数据组成。执行业务发现任务时,业务发现算法从每一个有效的业务起始端口开始计算,不断的寻找下一跳端口,如果下一跳端口是有效的业务终结端口,业务发现成功;如果没有找到合适的下一跳端口,业务发现失败。

在一个otn系统中,往往存在有多个网元和单板,因此有大量的业务起始点,在从每一个业务起始点向后计算的下一跳的过程中,如果下一跳是从光纤连接数据得到的,速度较快;如果下一跳是由配置数据得到的,需要从配置数据中进行复杂的算法计算才能得到下一跳信息,速度比较慢。因此,以往的业务发现方法在网元单板量比较大时,效率低,执行时间长。



技术实现要素:

为了解决上述技术问题,本发明提供了一种业务路由发现方法和装置、计算机可读存储介质,能够提高业务发现速度。

为了达到本发明目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种业务路由发现方法,应用于实现端到端业务传输的网元,所述方法包括:

确定有效起始连接,分别从有效起始连接的源端口和宿端口发现并创建最上层业务,如果没有最上层业务,则发现过程结束;如果有最上层业务,将最上层业务设置为当前父层业务;

检测当前父层业务是否承载更低层的子层业务,如果没有承载更低层的子层业务,则发现过程结束;如果有承载更低层的子层业务,将新发现的子层业务设置为当前父层业务,并循环检测当前父层业务是否承载更低层的子层业务。

进一步地,所述确定有效起始连接,包括:

如果网元间连接的源端口和宿端口包含的最上层连接终端点ctp的业务类型相同且该业务类型属于有效起始业务类型,则确定该网元间连接为所述有效起始连接。

进一步地,当所述各网元端口所包含的ctp的业务类型是从ctp信息获取时,在所述确定有效起始连接之前,所述方法还包括:

识别所有网元中包含的节点,所述节点为属于同一网元并且能完成某一类特定功能的一块或者多块单板的组合;

获取识别的节点内部的所有ctp及其信息,以及各节点的路由信息。

进一步地,所述分别从有效起始连接的源端口和宿端口发现并创建最上层业务,包括:

分别将有效起始连接源端口和宿端口包含的最上层ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每条有效起始连接搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

进一步地,所述搜索下一跳的路由信息包括:针对有效起始连接宿端口包含的最上层ctp的后向搜索,即从有效起始连接的宿端口所包含的最上层ctp开始向后搜索,具体包括:

如果当前ctp是终结的,则后半部路由发现成功;

如果当前ctp不是终结的并且不是已识别节点内部的路由信息的首ctp,或者不是节点间连接或网元间连接的源端口上的ctp,则所述发现结束,无有效路由信息;

如果当前ctp不是终结的,并且是已识别节点内部的路由信息的首ctp,根据所有符合条件的路由信息数设置分支数,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,进一步判断该当前ctp是节点间连接或网元间连接的源端口上的ctp时,将下一跳更新为所述节点间连接或网元间连接的宿端口上与之配对的ctp,并以此更新当前ctp;

在进行首次后向搜索时,当前ctp为所述有效起始连接的宿端口所包含的最上层ctp。

进一步地,所述搜索下一跳的路由信息包括:针对有效起始连接源端口包含的最上层ctp的前向搜索,即从有效起始连接的源端口所包含的最上层ctp开始向前搜索,具体包括:

如果当前ctp是终结的,则前半部路由发现成功;

如果当前ctp不是终结的并且不是已识别节点内部的路由信息的尾ctp,或者不是节点间连接或网元间连接宿端口上的ctp,则所述发现结束,无有效路由信息;

如果当前ctp不是终结的并且是已识别节点内部的路由信息的尾ctp,根据所有符合条件的路由信息数设置分支数,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,进一步判断当前ctp是节点间连接或网元间连接宿端口上的ctp时,将下一跳更新为所述节点间连接或网元间连接的源端口上与之配对的ctp,并以此更新当前ctp;

在进行首次前向搜索时,当前ctp为所述有效起始连接的源端口所包含的最上层ctp。

进一步地,所述检测当前父层业务是否承载更低层的子层业务,包括:

如果已创建业务路由的源ctp和宿ctp都包含子ctp,对源ctp和宿ctp包含的子ctp进行配对组合;如果不包含子ctp,或者包含的子ctp配对不成功,发现过程结束;

否则,分别取每对配对组合的两端ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每对配对组合搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

进一步地,所述搜索下一跳的路由信息,包括从每对配对组合的宿端ctp开始向后搜索,具体包括:

如果当前ctp是终结的,则后半部路由发现成功;

如果当前ctp不是终结的,并且不是已识别节点内部的路由信息的首ctp,或者不是网元间连接或者节点间连接的源端口上的ctp时,取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的首ctp,那么寻找该路由信息尾ctp的子ctp节点,且在所述子ctp节点中存在与当前ctp参数匹配的ctp时,将所述与当前ctp参数匹配的ctp更新为下一跳,并以此更新当前ctp;如果所述子ctp节点中不存在与当前ctp参数匹配的ctp,则所述发现结束,无有效路由信息;

如果当前ctp不是终结的并且是是已识别节点内部的路由信息的首ctp,根据所有符合条件的路由信息数设置分支数,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,进一步判断该当前ctp是网元间连接或者节点间连接的源端口上的ctp时,将下一跳更新为网元间连接或者节点间连接的宿端口上与之配对的ctp,并以此更新当前ctp;

在进行首次后向搜索时,当前ctp为所述配对组合的宿端ctp。

进一步地,所述搜索下一跳的路由信息,包括从每对配对组合的源端ctp开始向前搜索,具体包括:

如果当前ctp是终结的,则前半部路由发现成功;

如果当前ctp不是终结的,并且不是已识别节点内部的路由信息的尾ctp,或者不是网元间连接或者节点间连接的宿端口上的ctp时,取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的尾ctp,那么寻找该条路由信息首ctp的子ctp节点,且在所述子ctp节点中存在与当前ctp参数匹配的ctp时,将所述与当前ctp参数匹配的ctp更新为下一跳,并以此更新当前ctp;如果所述子ctp节点中不存在与当前ctp参数匹配的ctp,则所述发现结束,无有效路由信息;

如果当前ctp不是终结的并且是已识别节点内部的路由信息的尾ctp,根据所有符合条件的路由信息数设置分支数,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,进一步判断该当前ctp是网元间连接或者节点间连接的宿端口上的ctp时,将下一跳更新为网元间连接或者节点间连接的源端口上与之配对的ctp,并以此更新当前ctp;

在进行首次前向搜索时,当前ctp为所述配对组合的源端ctp。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的业务路由发现方法的步骤。

本发明实施例还提供了一种业务路由发现装置,包括处理器及存储器,其中:

所述处理器用于执行存储器中存储的业务路由发现程序,以实现如以上任一项所述的业务路由发现方法的步骤。

本发明实施例还提供了一种业务路由发现装置,应用于实现端到端业务传输的网元,所述装置包括最上层搜索模块和低层搜索模块,其中:

最上层搜索模块,用于确定有效起始连接,分别从有效起始连接的源端口和宿端口发现并创建最上层业务,如果没有最上层业务,则发现过程结束;如果有最上层业务,将最上层业务设置为当前父层业务,通知低层搜索模块;

低层搜索模块,用于接收到最上层搜索模块的通知,检测当前父层业务是否承载更低层的子层业务,如果没有承载更低层的子层业务,则发现过程结束;如果有承载更低层的子层业务,将新发现的子层业务设置为当前父层业务,并循环检测当前父层业务是否承载更低层的子层业务。

本发明的技术方案,具有如下有益效果:

本发明提供的业务路由发现方法和装置、计算机可读存储介质,通过从有效起始连接的两端发现并创建最上层业务,并基于上层业务发现子层业务,对业务发现的过程进行了改进,算法简单,提高了业务发现速度;

进一步地,本发明通过在业务路由发现之前,进行节点识别,获取每个节点内部的ctp属性信息及其路由信息,在业务路由发现时,涉及到节点内部的路由计算非常快,减少了路由搜索的跳数。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例的一种业务路由发现方法的流程示意图;

图2为本发明实施例的从有效起始连接的宿端口所包含的最上层ctp开始进行后向搜索的流程示意图;

图3为本发明实施例的一种从配对组合的宿ctp开始进行后向搜索的流程示意图;

图4为本发明实施例的另一种业务路由发现方法的流程示意图;

图5为本发明实施例的一种业务路由发现装置的结构示意图;

图6为本发明实施例的另一种业务路由发现装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。

以下将详细介绍本发明的业务路由发现方法,为使本发明实施例的方法更加清楚,首先对本发明实施中涉及到的几个概念作出说明:

连接终端点(connectionterminationpoint,ctp):是信息传递实体连接参考点的抽象表达,与g.805中“连接参考点(connectionpoint,cp)”不同的是,端到端系统的ctp除了具有连接参考点的属性,还会具有以下属性:对客户层业务到服务层映射、复用解复用、资源分配(可用时隙)等功能提供支持;为了对传输业务的多层次进行支持,ctp也是分层的并且ctp可以具有父子关系,例如一个odu2通过复用解复用承载了8个odu0,那么这8个odu0ctp就是对应odu2ctp的子ctp;每个ctp还具有指示其自身是否终结的属性信息。如果ctp对信号进行了复用解复用,或者这个ctp本身就是信号上路和下路的节点,那么这个ctp就是终结的。

节点(node):node是一个逻辑单元,一个node由一块或者多块单板组成,node根据其实现的业务逻辑可以分为不同类型,例如终端node,中继node,上下路node等。node与具体的组网方式无关,任何一种有效组网都应该可以拆分成多个node。node识别出后,node内部的路由信息就已经固定了,node内部可以有多条路由。一个node包含两类资源信息:一是node内部的路由信息,另一个是node中包含的ctp信息,此处的ctp信息包括其属性信息,例如,ctp是否终结,父子关系等等。例如:a,b,c,d,e,f六块单板组成了一个node,完成一个特定的功能,对于发现算法来说,这个node是一个整体,node内部的路由信息在node识别出来的时候就已经确定了。例如,一个node包含两条路由,分别是单板a的ctp1->单板e的ctp2(ctp1是这条路由的首ctp,ctp2是这条路由的尾ctp)和单板a的ctp1->单板f的ctp3(ctp1是这条路由的首ctp,ctp3是这条路由的尾ctp)。那么当发现算法计算正向路由时,如果当前跳的节点是单板1的ctp1,下一跳ctp就是ctp2和ctp3。当发现算法计算反向路由时,如果当前节点是ctp2,那么下一跳为ctp1;如果当前节点是ctp3,下一跳为ctp1。此处说明一点:在其它示例中为更多个ctp形成路由时,则按照路由顺序类似地确定该路由的首ctp和尾ctp,node内部的详细路由信息可以根据node所包含的资源信息确定。

连接:即光纤连接。

如图1所示,根据本发明的一种业务路由发现方法,应用于实现端到端业务传输的网元,所述方法包括如下步骤:

步骤101:确定有效起始连接;

本实施例中,所述确定有效起始连接,包括:如果网元间连接的源端口和宿端口包含的最上层连接终端点ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),则确定该网元间连接为所述有效起始连接,具体地:

如果网元间连接的源端口和宿端口包含的连接终端点ctp分别只有一个并且ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),确定该网元间连接为所述有效起始连接;或者,

如果网元间连接的源端口和宿端口上有多个ctp,且源端口和宿端口包含的最上层ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),则确定该网元间连接为所述有效起始连接。

进一步地,在此步骤中各网元端口所包含的ctp的业务类型是从ctp信息获取的,进一步地在确定有效起始连接之前还包括:

识别所有网元中包含的节点,所述节点为属于同一网元并且能完成某一类特定功能的一块或者多块单板的组合;

获取识别的节点内部的所有ctp及其信息,以及各节点的路由信息。

此处说明一点,上述各网元端口所包含的ctp信息确定过程在确定有效起始连接之前完成即可,可以是在需要确定有效起始连接时,也可以是在系统组网完成时,或者其它场景,此处并不具体限定。

需要说明的是,本发明中所述识别所有网元中包含的节点的方法可以根据实际组网时,各块单板实现的功能以及各块单板之间的连接关系、各块单板的配置信息来确定,本发明在业务发现过程中,会使用节点识别的结果,但本发明仅对业务发现算法进行阐述,不具体说明如何进行节点识别;节点能完成的特定功能的类型预先设定,其可以由本领域普通技术人员结合具体应用场景按照现有技术中的任何方式实现,本发明也不做出具体限定。

还需要说明的是,一个node的所有单板都处于同一个网元内。一条业务至少要经过两个网元(一个网元内的业务没有实际意义)。因此,一条有效的业务路由至少要经过一条网元间连接和两个node。所以取网元间连接作为搜索的起始连接。

步骤102:分别从有效起始连接的源端口和宿端口发现并创建最上层业务;如果没有最上层业务,转步骤106;如果有最上层业务,转步骤103;

需要说明的是,所述最上层业务为无法再进行汇聚并由其它业务来承载的业务,例如光传输段(opticaltransmissionsection,ots)业务。

本实施例中,所述分别从有效起始连接的源端口和宿端口发现并创建最上层业务,包括:

分别将有效起始连接源端口和宿端口包含的最上层ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据所有符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每条有效起始连接搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

在本步骤中,搜索下一跳的路由信息包括:针对有效起始连接源端口和宿端口包含的最上层ctp的后向搜索和前向搜索。此处所述的后向搜索指的是:从有效起始连接的宿端口所包含的最上层ctp开始向后搜索,这里所述的前向搜索指的是:从有效起始连接的源端口所包含的最上层ctp开始向前搜索。

如图2所示,其中:后向搜索,具体包括:

步骤a:在进行首次后向搜索时,将所述有效起始连接的宿端口所包含的最上层ctp作为当前ctp;

步骤b:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x;如果当前ctp不是终结的,则转到步骤c;

步骤c:判断当前ctp是否是已识别节点内部的路由信息的首ctp,如果不是已识别节点内部的路由信息的首ctp,则转到步骤y;如果是已识别节点内部的路由信息的首ctp,则转到步骤d;

步骤d:在这里分成若干分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,对每一分支转到步骤e分别计算;(在图2中仅示出了一个分支的处理过程)

需要说明的是,所述已识别节点内部的路由信息在识别节点的过程中已经被获取到,在路由发现的过程中,不需要再计算已识别节点内部的路由信息直接将尾ctp确定为下一跳,因此,减少了路由搜索的跳数,加快了计算速度。所述根据所有符合条件的路由信息数设置分支数,其中的条件为预先定义的业务条件,例如根据波长、时隙等配置信息定义业务条件。

步骤e:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x;如果当前ctp不是终结的,则转到步骤f;

步骤f:判断当前ctp是否是节点间连接或网元间连接的源端口上的ctp,如果不是节点间连接或网元间连接的源端口上的ctp,则转到步骤y;如果是节点间连接或网元间连接源端口上的ctp,则转到步骤g;

步骤g:将下一跳更新为所述节点间连接或网元间连接宿端口上与之配对的ctp,并更新下一跳为当前ctp,并转到步骤b;

步骤x:后半部路由发现成功,记录路由信息;

步骤y:该分支发现结束,无有效路由信息。

类似的,前向搜索,具体包括:

步骤a1:在进行首次前向搜索时,将所述有效起始连接的源端口所包含的最上层ctp作为当前ctp;

步骤b1:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x1;如果当前ctp不是终结的,则转到步骤c1;

步骤c1:判断当前ctp是否是已识别节点内部的路由信息的尾ctp,如果不是已识别节点内部的路由信息的尾ctp,则转到步骤y1;如果是已识别节点内部的路由信息的尾ctp,则转到步骤d1;

步骤d1:根据所有符合条件的路由信息数设置分支数,在这里分成若干个分支处理,此处的分支数根据条件可以能设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,对每一分支转到步骤e1分别计算;

步骤e1:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x1;如果当前ctp不是终结的,则转到步骤f1;

步骤f1:判断当前ctp是否是节点间连接或网元间连接宿端口上的ctp,如果不是节点间连接或网元间连接宿端口上的ctp,则转到步骤y1;如果是节点间连接或网元间连接宿端口上的ctp,则转到步骤g1;

步骤g1:将下一跳更新为所述节点间连接或网元间连接的源端口上与之配对的ctp,并更新下一跳为当前ctp,并转到步骤b1;

步骤x1:前半部路由发现成功,记录路由信息;

步骤y1:该分支发现结束,无有效路由信息。

本实施例中,对每条有效起始连接源端口和宿端口包含的最上层ctp进行向前搜索和向后搜索出的路由信息进行参数匹配,组合成完整的路由信息,并对组合的路由信息进行合并。

本实施例中,在对组合的路由信息进行合并时,所述方法包括:

具有相同源宿的路由信息合并在同一条业务内;

源宿完全相反的两条单向业务合并成一条双向业务。

步骤103:将最上层业务设置为当前父层业务;

步骤104:检测当前父层业务是否承载更低层的子层业务,如果没有承载更低层的子层业务,则转到步骤106;如果有承载更低层的子层业务,则转到步骤105;

本实施例中,所述检测当前父层业务是否承载更低层的子层业务,包括:

如果已创建业务路由的源ctp和宿ctp都包含子ctp,对源ctp和宿ctp包含的子ctp进行配对组合;如果不包含子ctp,或者包含的子ctp配对不成功,发现过程结束;

否则,分别取每对配对组合的两端ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据所有符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每对配对组合搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

需要说明的是,在对源ctp和宿ctp包含的子ctp进行配对组合时,根据各子ctp的波长信息、时隙信息等进行配对组合。例如假设已创建业务为光复用段(opticalmultiplexsection,oms)业务,源宿omsctp都包含多个光通道(opticalchannel,och)的子ctp,那么相同波长的och子ctp组成一个组合。对于连接的源宿端口上的ctp进行配对组合也参照这个原则。

在本步骤中,搜索下一跳的路由信息,即完成对于每对配对组合ctp进行前向和后向搜索。此处所述的后向搜索指的是:从配对组合的宿ctp开始向后搜索,这里所述的前向搜索指的是:从配对组合的源ctp开始向前搜索。

如图3所示,在进行后向搜索时,具体包括:

步骤a2:在进行首次后向搜索时,将所述配对组合的宿端ctp作为当前ctp;

步骤b2:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x2;如果当前ctp不是终结的,则转到步骤c2;

步骤c2:判断当前ctp是否是已识别节点内部的路由信息的首ctp,如果不是已识别节点内部的路由信息的首ctp,则转步骤h2;如果是已识别节点内部的路由信息的首ctp,则转到步骤d2;

步骤d2:在这里分成若干个分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,对每一分支分别转到步骤e2进行计算;(在图3中仅示出了一个分支的处理过程)

步骤e2:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x2;如果当前ctp不是终结的,则转到步骤f2;

步骤f2:判断当前ctp是否是网元间连接或者节点间连接的源端口上的ctp,如果不是网元间连接或者节点间连接的源端口上的ctp,则转到步骤h2;如果是网元间连接或者节点间连接源端口上的ctp,则转步骤g2;

步骤g2:更新下一跳为网元间连接或者节点间连接的宿端口上与之配对的ctp,更新下一跳为当前ctp,并转到步骤b2;

步骤h2:取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的首ctp,那么寻找该路由信息尾ctp的子ctp节点;

步骤i2:检测所述子ctp节点中是否存在与当前ctp参数匹配的ctp,如果存在与当前ctp参数匹配的ctp,则将所述与当前ctp参数匹配的ctp更新为下一跳,更新下一跳为当前ctp,并转到步骤b2;如果不存在与当前ctp参数匹配的ctp,则转到步骤y2;

步骤x2:后半部路由发现成功,记录路由信息;

步骤y2:该分支发现结束,无有效路由信息。

类似的,在进行前向搜索时,具体包括:

步骤a3:在进行首次前向搜索时,将所述配对组合的源端ctp作为当前ctp;

步骤b3:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x3;如果当前ctp不是终结的,则转到步骤c3;

步骤c3:判断当前ctp是否是已识别节点内部的路由信息的尾ctp,如果不是已识别节点内部的路由信息的尾ctp,则转步骤h3;如果是已识别节点内部的路由信息的尾ctp,则转到步骤d3;

步骤d3:在这里分成若干个分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,对每一分支分别转到步骤e3进行计算;

步骤e3:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x3;如果当前ctp不是终结的,则转到步骤f3;

步骤f3:判断当前ctp是否是网元间连接或者节点间连接的宿端口上的ctp,如果不是网元间连接或者节点间连接的宿端口上的ctp,则转到步骤h3;如果是网元间连接或者节点间连接源端口上的ctp,则转步骤g3;

步骤g3:更新下一跳为网元间连接或者节点间连接的源端口上与之配对的ctp,更新下一跳为当前ctp,并转到步骤b3;

步骤h3:取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的尾ctp,那么寻找该路由信息首ctp的子ctp节点;

步骤i3:检测所述子ctp节点中是否存在与当前ctp参数匹配的ctp,如果存在与当前ctp参数匹配的ctp,则将所述与当前ctp参数匹配的ctp更新为下一跳,更新下一跳为当前ctp,并转到步骤b3;如果不存在与当前ctp参数匹配的ctp,则转到步骤y3;

步骤x3:前半部路由发现成功,记录路由信息;

步骤y3:该分支发现结束,无有效路由信息。

步骤105:将新发现的子层业务设置为当前父层业务,并转到步骤104继续执行;

需要说明的是,如果新发现的子层业务信息不为空,将新发现的子层业务设置为当前父层业务,重新执行步骤104,继续发现其子层业务。

步骤106:发现过程结束。

如图4所示,根据本发明的一种业务路由发现方法,包括如下步骤:

步骤401:node逻辑资源识别

本发明会使用node资源识别的结果,但本发明仅对业务发现算法进行阐述。不具体说明如何进行node资源识别。

步骤402:发现并创建最上层业务;

最上层业务即无法再进行汇聚,然后由其它业务来承载的业务。例如ots业务。如果有最上层业务产生,将最上层业务设置为父层业务,转到步骤403;如果没有最上层业务产生,则发现完成。

步骤403:以父层业务为基础,发现其承载的子层业务;

如果有子层业务产生,将子层业务设置为当前父层业务,转到步骤403;如果没有子层业务产生,则发现完成。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的业务路由发现方法的步骤。

本发明实施例还提供了一种业务路由发现装置,包括处理器及存储器,其中:

所述处理器用于执行存储器中存储的业务路由发现程序,以实现如以上任一项所述的业务路由发现方法的步骤。

如图5所示,本发明实施例还提供了一种业务路由发现装置,应用于实现端到端业务传输的网元,所述装置包括最上层搜索模块501和低层搜索模块502,其中:

最上层搜索模块501,用于确定有效起始连接,分别从有效起始连接的源端口和宿端口发现并创建最上层业务,如果没有最上层业务,则发现过程结束;如果有最上层业务,将最上层业务设置为当前父层业务,通知低层搜索模块502;

低层搜索模块502,用于接收到最上层搜索模块501的通知,检测当前父层业务是否承载更低层的子层业务,如果没有承载更低层的子层业务,则发现过程结束;如果有承载更低层的子层业务,将新发现的子层业务设置为当前父层业务,并循环检测当前父层业务是否承载更低层的子层业务。

本实施例中,如图6所示,所述业务路由发现装置还包括节点发现模块503,其中:

节点发现模块503,用于识别所有网元中包含的节点,所述节点为属于同一网元并且能完成某一类特定功能的一块或者多块单板的组合;获取识别的节点内部的所有ctp及其信息,以及各节点的路由信息。

需要说明的是,本发明中节点发现模块503的识别所有网元中包含的节点的方法可以根据实际组网时,各块单板实现的功能以及各块单板之间的连接关系、各块单板的配置信息来确定,本发明在业务发现过程中,会使用节点识别的结果,但本发明仅对业务发现算法进行阐述,不具体说明如何进行节点识别;节点能完成的特定功能的类型预先设定,其可以由本领域普通技术人员结合具体应用场景按照现有技术中的任何方式实现,本发明也不做出具体限定。

所述最上层业务指的是无法再进行汇聚,并由其它业务来承载的业务,例如ots业务。

本实施例中,所述最上层搜索模块501的确定有效起始连接,包括:如果网元间连接的源端口和宿端口包含的最上层连接终端点ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),则确定该网元间连接为所述有效起始连接。

具体地,所述最上层搜索模块501的确定有效起始连接,包括:

如果网元间连接的源端口和宿端口包含的连接终端点ctp分别只有一个并且ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),确定该网元间连接为所述有效起始连接;或者,

如果网元间连接的源端口和宿端口上有多个ctp,且源端口和宿端口包含的最上层ctp的业务类型相同且该业务类型属于有效起始业务类型(例如ots类型),则确定该网元间连接为所述有效起始连接。

需要说明的是,一个node的所有单板都处于同一个网元内。一条业务至少要经过两个网元(一个网元内的业务没有实际意义)。因此,一条有效的业务路径至少要经过一条网元间连接和两个node。所以取网元间连接作为搜索的起始连接。

本实施例中,所述最上层搜索模块501的分别从有效起始连接的两端发现并创建最上层业务,包括:

分别将有效起始连接源端口和宿端口包含的最上层ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据所有符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每条有效起始连接搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

下面详细阐述最上层搜索模块501的搜索过程。

本实施例中,搜索下一跳的路由信息包括:针对有效起始连接源端口和宿端口包含的最上层ctp的后向搜索和前向搜索。此处所述的后向搜索指的是:从有效起始连接的宿端口所包含的最上层ctp开始向后搜索,这里所述的前向搜索指的是:从有效起始连接的源端口所包含的最上层ctp开始向前搜索。在进行后向搜索时,所述最上层搜索模块501的后向搜索过程具体包括:

步骤a:在进行首次后向搜索时,将所述有效起始连接的宿端口所包含的最上层ctp作为当前ctp;

步骤b:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x;如果当前ctp不是终结的,则转到步骤c;

步骤c:判断当前ctp是否是已识别节点内部的路由信息的首ctp,如果不是已识别节点内部的路由信息的首ctp,则转到步骤y;如果是已识别节点内部的路由信息的首ctp,则转到步骤d;

步骤d:在这里分成若干分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,对每一分支转到步骤e分别计算;

步骤e:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x;如果当前ctp不是终结的,则转到步骤f;

步骤f:判断当前ctp是否是节点间连接或网元间连接的源端口上的ctp,如果不是节点间连接或网元间连接的源端口上的ctp,则转到步骤y;如果是节点间连接或网元间连接的源端口上的ctp,则转到步骤g;

步骤g:将下一跳更新为所述节点间连接或网元间连接的宿端口上与之配对的ctp,并更新下一跳为当前ctp,并转到步骤b;

步骤x:后半部路由发现成功,记录路由信息;

步骤y:该分支发现结束,无有效路由信息。

本实施例中,在进行前向搜索时,所述最上层搜索模块501的前向搜索过程具体包括:

步骤a1:在进行首次前向搜索时,将所述有效起始连接的源端口的最上层ctp作为当前ctp;

步骤b1:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x1;如果当前ctp不是终结的,则转到步骤c1;

步骤c1:判断当前ctp是否是已识别节点内部的路由信息的尾ctp,如果不是已识别节点内部的路由信息的尾ctp,则转到步骤y1;如果是已识别节点内部的路由信息的尾ctp,则转到步骤d1;

步骤d1:根据所有符合条件的路由信息数设置分支数,在这里分成若干个分支处理,此处的分支数根据条件可以能设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,对每一分支转到步骤e1分别计算;

步骤e1:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x1;如果当前ctp不是终结的,则转到步骤f1;

步骤f1:判断当前ctp是否是节点间连接或网元间连接的宿端口上的ctp,如果不是节点间连接或网元间连接的宿端口上的ctp,则转到步骤y1;如果是节点间连接或网元间连接的宿端口上的ctp,则转到步骤g1;

步骤g1:将下一跳更新为所述节点间连接或网元间连接的源端口上与之配对的ctp,并更新下一跳为当前ctp,并转到步骤b1;

步骤x1:前半部路由发现成功,记录路由信息;

步骤y1:该分支发现结束,无有效路由信息。

本实施例中,最上层搜索模块501在对组合的路由信息进行合并时,具有相同源宿的路由信息合并在同一条业务内;源宿完全相反的两条单向业务合并成一条双向业务。

本实施例中,所述低层搜索模块502的检测当前父层业务是否承载更低层的子层业务,包括:

如果已创建业务路由的源ctp和宿ctp都包含子ctp,对源ctp和宿ctp包含的子ctp进行配对组合;如果不包含子ctp,或者包含的子ctp配对不成功,发现过程结束;

否则,分别取每对配对组合的两端ctp作为当前ctp,搜索下一跳的路由信息,当搜索到下一跳的路由信息时,根据所有符合条件的路由信息数设置分支数,在每一分支上根据下一跳的路由信息更新当前ctp,并重复搜索过程,直至每一分支的路由发现结束;

将每对配对组合搜索出的路由信息进行参数匹配,组合成完整的路由信息;

对组合的路由信息进行合并。

需要说明的是,在对源ctp和宿ctp包含的子ctp进行配对组合时,根据各子ctp的波长信息、时隙信息等进行配对组合。例如假设已创建业务为oms业务,源宿omsctp都包含多个och的子ctp,那么相同波长的och子ctp组成一个组合。对连接的源宿端口上的ctp进行配对也参照该原则。

下面详细阐述低层搜索模块502的搜索过程。此处的搜索下一跳的路由信息,即完成对于每对配对组合ctp进行前向和后向搜索。此处所述的后向搜索指的是:从配对组合的宿ctp开始向后搜索,这里所述的前向搜索指的是:从配对组合的源ctp开始向前搜索。

本实施例中,在从配对组合的宿ctp开始向后搜索时,低层搜索模块502的后向搜索过程具体包括:

步骤a2:在进行首次后向搜索时,将所述配对组合的宿端ctp作为当前ctp;

步骤b2:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x2;如果当前ctp不是终结的,则转到步骤c2;

步骤c2:判断当前ctp是否是已识别节点内部的路由信息的首ctp,如果不是已识别节点内部的路由信息的首ctp,则转步骤h2;如果是已识别节点内部的路由信息的首ctp,则转到步骤d2:

步骤d2:在这里分成若干个分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的尾ctp,将每个分支的下一跳更新为当前ctp,对每一分支分别转到步骤e2进行计算;

步骤e2:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x2;如果当前ctp不是终结的,则转到步骤f2;

步骤f2:判断当前ctp是否是网元间连接或者节点间连接的源端口上的ctp,如果不是网元间连接或者节点间连接的源端口上的ctp,则转到步骤h2;如果是网元间连接或者节点间连接源端口上的ctp,则转步骤g2;

步骤g2:更新下一跳为网元间连接或者节点间连接的宿端口上与之对应的ctp,更新下一跳为当前ctp,并转到步骤b2;

步骤h2:取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的首ctp,那么寻找该路由信息尾ctp的子ctp节点;

步骤i2:检测所述子ctp节点中是否存在与当前ctp参数匹配的ctp,如果存在与当前ctp参数匹配的ctp,则将所述与当前ctp参数匹配的ctp更新为下一跳,更新下一跳为当前ctp,并转到步骤b2;如果不存在与当前ctp参数匹配的ctp,则转到步骤y2;

步骤x2:后半部路由发现成功,记录路由信息;

步骤y2:该分支发现结束,无有效路由信息。

本实施例中,在从配对组合的宿ctp开始向前搜索时,低层搜索模块502的前向搜索过程具体包括:

步骤a3:在进行首次前向搜索时,将所述配对组合的源端ctp作为当前ctp;

步骤b3:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x3;如果当前ctp不是终结的,则转到步骤c3;

步骤c3:判断当前ctp是否是已识别节点内部的路由信息的尾ctp,如果不是已识别节点内部的路由信息的尾ctp,则转步骤h3;如果是已识别节点内部的路由信息的尾ctp,则转到步骤d3;

步骤d3:在这里分成若干个分支处理,根据所有符合条件的路由信息数设置分支数,此处的分支数根据条件可以设置为1个或者多个,每个分支的下一跳为一个符合条件的路由信息的首ctp,将每个分支的下一跳更新为当前ctp,对每一分支分别转到步骤e3进行计算;

步骤e3:判断当前ctp是否是终结的,如果当前ctp是终结的,则转到步骤x3;如果当前ctp不是终结的,则转到步骤f3;

步骤f3:判断当前ctp是否是网元间连接或者节点间连接的宿端口上的ctp,如果是网元间连接或者节点间连接的宿端口上的ctp,则转到步骤h3;如果是网元间连接或者节点间连接源端口上的ctp,则转步骤g3;

步骤g3:更新下一跳为网元间连接或者节点间连接的源端口上与之配对的ctp,更新下一跳为当前ctp,并转到步骤b3;

步骤h3:取当前ctp的父层ctp,如果其父层ctp是已有业务的路由信息的尾ctp,那么寻找该路由信息首ctp的子ctp节点;

步骤i3:检测所述子ctp节点中是否存在与当前ctp参数匹配的ctp,如果存在与当前ctp参数匹配的ctp,则将所述与当前ctp参数匹配的ctp更新为下一跳,更新下一跳为当前ctp,并转到步骤b3;如果不存在与当前ctp参数匹配的ctp,则转到步骤y3;

步骤x3:前半部路由发现成功,记录路由信息;

步骤y3:该分支发现结束,无有效路由信息。

需要说明的是,如果新发现的子层业务信息不为空,低层搜索模块502将新发现的子层业务设置为父层业务,继续发现其子层业务。

本发明具有如下优点:

(1)速度快

本发明只在node识别时需要用到单板上的交叉,业务映射等复杂的配置信息。业务发现算法不涉及配置信息的反复计算。进行node识别后,node内部的路由信息就产生了,发现算法在计算时涉及到node中的路由计算非常快。减少了路由搜索的跳数。

(2)稳定性高

算法自身比较简单,不涉及具体的组网信息。出现新的组网模型后,只需要对其进行拆分,增加不存在的node模型识别处理即可。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

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

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