CN106034266B - 光路由的生成方法及装置 - Google Patents
光路由的生成方法及装置 Download PDFInfo
- Publication number
- CN106034266B CN106034266B CN201510124167.3A CN201510124167A CN106034266B CN 106034266 B CN106034266 B CN 106034266B CN 201510124167 A CN201510124167 A CN 201510124167A CN 106034266 B CN106034266 B CN 106034266B
- Authority
- CN
- China
- Prior art keywords
- optical route
- equipment
- optical
- adjacency list
- route
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/25—Arrangements specific to fibre transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种光路由的生成方法及装置,包括:为每一个设备配置局向光缆邻接表和跳纤邻接表,局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。本发明通过设置局向光缆邻接表和跳纤邻接表,并且按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律来确定从起始设备到终止设备的光路由,能够快速、自动地生成满足光路由路径特征的路径,提升了系统的可用性。
Description
技术领域
本发明涉及通讯领域,特别是涉及一种光路由的生成方法及装置。
背景技术
在设备管理系统中,设备之间有两种连接方式,一个是局向光缆,就是两个设备之间通过光缆段相连,这些光缆是许多光纤熔接在一起的。另一个是跳纤,直接用光纤连接两个设备,这种一般都是使用在同一个机房的两个设备间。当需要开通业务时,会需要在两个设备之间创建一条光路由,光路由的路径由局向光缆和跳纤组成。光路由的路径组成要求局向光缆和跳纤间隔,也就是说形如:局向-跳纤-局向-跳纤…;或者跳纤-局向-跳纤-局向….。如果两个设备间既有以局向光缆起始的光路由,也有以跳纤开始的光路由,那么优先选择以局向光缆开始的光路由。
目前的系统在计算两个设备间的光路由路径时,将每个设备的邻接设备都放置在其对应的邻接表中,计算出一条路径后,首先需要先过滤一下,看是否满足光路由路径局向光缆和跳纤间隔的特征,其次,为了满足优先选择局向光缆开始的光路由,可能需要穷尽所有可能的路径才能过滤出满足这些关键约束和条件的光路由。这种算法不仅耗时,而且内存也占用比较多,难以满足系统的使用需要,更不要说满足系统后续可能需要考虑邻接表中某些设备优先级的需求,导致系统的可扩展性差。
发明内容
本发明要解决的技术问题是提供一种光路由的生成方法及装置,用以解决现有技术中得到光路由后需要过滤造成效率低下的问题。
为解决上述技术问题,一方面,本发明提供一种光路由的生成方法,包括:
为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,所述局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;所述跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
进一步,所述方法还包括:
根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;其中,D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1。
进一步,当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
进一步,在已确定的光路由中每增加一个设备,还包括:
按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
进一步,在光路由中每增加一个设备,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
进一步,在得到从起始设备到终止设备的光路由后,还包括:
在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
另一方面,本发明还提供一种光路由的生成装置,包括:
邻接表设置单元,用于为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,所述局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;所述跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
光路由确定单元,用于根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
进一步,所述光路由确定单元,还用于:
根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;其中,D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1。
进一步,所述光路由确定单元,还用于:
当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
进一步,所述光路由确定单元,还用于:
在已确定的光路由中每增加一个设备后,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
进一步,所述光路由确定单元,还用于:
在光路由中每增加一个设备,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
进一步,所述光路由确定单元,还用于:
在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
本发明有益效果如下:
本发明通过设置局向光缆邻接表和跳纤邻接表,并且按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律来确定从起始设备到终止设备的光路由,能够快速、自动地生成满足光路由路径特征的路径,提升了系统的可用性。
附图说明
图1是本发明实施例中一种光路由的生成方法的流程图;
图2是本发明实施例中确定光路由之前的预先的配置工作流程图;
图3是本发明实施例中生成光路的流程图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图1所示,本发明实施例涉及一种光路由的生成方法,包括:
S101,为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
本实施例方案中,将设备对应的邻接表分为两类,一个是局向光缆的邻接表,一个是跳纤的邻接表。以设备A来说,通过局向光缆邻接的设备将被放入A的局向光缆邻接表中,通过跳纤邻接的设备将被放入A的跳纤邻接表中。使得生成的光路由能够满足局向光缆和跳纤彼此间隔的特征。
S102,根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
本发明实施例方案中,设备节点访问信息包括:设备编号K,邻接表类型C,邻接表的位置索引P,该信息决定了要访问的下个邻接设备位于K的哪个邻接表中,如果C为0,那么在K的局向光缆邻接表中,如果C为1,那么在K的跳纤邻接表中。将这个邻接设备表示为T,该信息同时也决定了设备T的下个邻接设备位于T的哪个邻接表中,如果C为0,那么T的下个邻接设备在T的跳纤邻接表中,如果C为1,那么T的下个邻接设备在T的局向光缆邻接表中。所以,T的设备节点访问信息中,邻接表类型就是1-C。这样,就能通过控制压入栈中的节点访问信息中的邻接表类型来得到局向光缆和跳纤间隔的光路由,快速、自动、准确地生成路径,无需再行过滤,减少计算浪费和冗余。
使用本发明实施例的方案,可以将光路由路径中局向光缆起始优先的约束直接体现在方法中,从起始设备节点S开始,路径起始种类为局向光缆,终止于终止设备E的路径;另外,也可以从S开始,路径起始种类为跳纤,终止于E的路径。因为设备的邻接表被分成两类,也使得这种优先计算成为可能,极大地提升了路径计算中的准确性和命中率,从而极大地提升了可用性。
本发明实施例通过为每个设备配置局向光缆邻接表和跳纤邻接表,在确定从起始设备到终止设备的光路由时,从起始终端开始,在确定邻接表类型后,根据邻接表的位置索引,在起始终端的邻接表中寻找符合要求的终端,确定终端后,将终端的邻接表类型确定为与起始终端的邻接表类型相反的邻接表(由于总共只有两种类型的邻接表,因此,相反就是指与起始终端的邻接表类型不同的邻接表)。然后再利用邻接表位置索引在确定的邻接表中查找一下个符合要求的终端,以此继续,就能得到局向光缆和跳纤彼此间隔的光路由,该技术方案从光路由应用中的特征和关键约束出发,创建出切合这些特征的光缆信息组织方式,具有快速、准确、自动生成、符合光路由路径特征等优点;并且,由于将特征和关键约束都考虑在内,在耗时和内存表现上都非常好,极大地提升了系统的可用性。
另外,在确定光路由中符合要求的终端时,可以利用已有的规则、方法进行确定,也可以根据不同的系统要求进行配置;本发明实施例方案并不限定。本发明实施例提供以下方法,用于确定光路由中符合要求的终端。
用D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;当光路由中存在设备(至少存在起始设备)时,根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引(初始位置索引设置为零,则通过递增进行改变;初始位置索引设置为最大值,则通过递减进行变化),重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
上述步骤中,在已确定的光路由中每增加一个设备,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
在光路由中每增加一个设备后,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
在得到从起始设备到终止设备的光路由后,在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,即可以只删除终止设别,也可以按照光路由中确定的设备顺序,按照距离起始设备由远到近的顺序,继续删除设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
上述实施例方案中,由于将局向光缆和跳纤放置到不同的邻接表中,可以通过修改两个邻接表中的设备编号顺序(通过改变邻接表的位置索引实现),也就是修改其优先级,从而得到不同的光路由,满足在实际使用中,出于规划、地域以及设备组网等因素,某个设备更优先使用其局向光缆邻接表中的某些设备,或者更优先使用其跳纤邻接表中的某些设备来构成光路由路径的需求。极大地提升了系统的可扩展性,满足可能的多种需求和约束。
下面给出一个具体实施例,用于说明本发明技术方案。
一种光路由的生成方法,包括:
步骤一,确定光路由之前的预先的配置工作,具体包括以下步骤:
S201,为所有设备设置设备编号,编号单调递增,设备总数N。具体的,编号从0开始,例如0,1,2…N。
S202,为每个设备配置局向光缆邻接表和跳纤邻接表。
首先,为每个设备创建两个邻接表。
可以使用Hash(哈希)数据结构(一种键值对数据结构)来保存该设备编号和其对应的局向光缆邻接表以及跳纤邻接表。局向光缆邻接表用来存放和该设备通过局向光缆连接的设备的设备编号;跳纤邻接表用来存放和该设备通过跳纤连接的设备的设备编号。
其次,为每个设备的两个邻接表填充数据。
依据该设备与其它相连的设备之间的连接种类,填充其对应的两个邻接表。具体的:
如果Di和Dj之间的连接种类是局向光缆,就将设备Dj的设备编号j加入设备Di对应的局向光缆邻接表中;
如果Di和Dj之间的连接种类是跳纤,就将设备Dj的设备编号j加入设备Di对应的跳纤连接表中;其中,D表示设备,i、j为设备编号,i不等于j。
S203,初始化一个空的设备节点访问信息堆栈ST(以下简称堆栈或ST),用以存放设备节点访问信息。
设备节点访问信息包括:设备编号,邻接表类型,邻接表的位置索引。
堆栈就是满足FILO(First In Last Out,先进后出)特性的数据结构;即每次都是访问堆栈栈顶的数据。堆栈中的每个元素都表示一个设备节点访问信息,内容包括:设备编号,邻接表类型,邻接表的位置索引;
其中邻接表类型信息可以利用0、1表示,例如,局向光缆邻接表类型用0表示,跳纤邻接表类型用1表示。
假设栈顶的设备节点访问信息为:设备编号K,邻接表类型C,邻接表的位置索引P;表示的意思是:如果C为0,表示下一个要访问的节点为设备K的局向光缆邻接表中位置为P的设备节点;如果C为1,表示下一个要访问的节点为设备K的跳纤邻接表中位置为P的设备节点。
S204,初始化一个长度为N的设备节点访问标志数组V(以下简称V),数组的长度等于设备的总数N,数组下标即为设备编号;
V中某个下标i存放的布尔值表示设备Di是否在当前访问的路径上,该值为ture表示Di在当前访问的路径上,该值为false表示Di不在当前访问的路径上;V中的所有初始值都初始化为false;V中存放的设备节点访问标志,是用来防止路径中存在环,从而导致光路由路径生成过程为死循环。
当需要生成光路由时,会给出起始设备节点编号S,给定终止设备节点编号E,计算从S开始,路径起始邻接表类型SC,终止于E的路径。本实施例以路径起始邻接表类型为局向光缆为例(优先选择以局向光缆开始的光路由),即SC值为0。
生成从S开始、终止于E的光路由的方法具体如下:
步骤二,生成光路由步骤;
S205,根据路径起始邻接表类型SC,将起始设备节点S的设备节点访问信息压入堆栈ST;
往堆栈ST压入设备节点S的设备节点访问信息,具体包括:设备编号:S,邻接表类型:0,邻接表的位置索引:0。即:下一个要访问的设备节点应该从S的局向光缆邻接表的首位开始,所以,邻接表的位置索引为0。设置V中V[S]的访问标志为true;标识S在当前访问路径上,即设备S在当前确定的光路由中。
S206,判断堆栈ST是否为空,如果否,则转步骤S207,如果是,则结束退出。
S207,读取堆栈顶的设备节点访问信息,内容包括:设备编号K,邻接表类型C,邻接表的位置索引P。
由于在光路由生成过程中,会不断的压入不同设备的设备节点访问信息,或者将压入栈顶的设备的设备节点访问信息从栈顶弹出,因此,为了统一进行表示,这里用K表示设备编号,C表示邻接表类型,P表示邻接表的位置索引。举例来说,对于起始设备,K就是S;C为0,P为0。
S208,判断设备K对应的邻接表内的设备是否遍历完毕。具体可以根据邻接表类型C来判断,如果C为0,就判断设备K的局向光缆邻接表内的设备是否遍历完毕,如果C为1,就判断设备K的跳纤邻接表内的设备是否遍历完毕;如果是,跳转步骤S209,如果否,则跳转步骤S 212。
S209,将设备K节点的设备节点访问信息从堆栈ST的栈顶弹出,转步骤S210。
本步骤中,当对设备K对应的邻接表内的设备遍历完毕,仍然没有得到从S到E的光路由,就意味通过设备K不能找到到达E的光路由,所以,需要将设备K的设备节点访问信息从栈顶弹出;并且将V中K的访问标志V[K]设置为false。
S210,判断堆栈ST是否为空,如果否,则转步骤S211,如果是,则结束退出。
S211,将当前栈顶的设备节点访问信息中的邻接表的位置索引加一,跳转步骤206。
S212,获取下个访问设备节点T。
根据邻接表类型C,取出设备K对应的邻接表中位置索引为P的设备T,如果C为0,就从K的局向光缆邻接表中取出位置索引为P的设备,如果C为1,就从K的跳纤邻接表中取出位置索引为P的设备。为以下两种情况之一:
S213,判断T在V中的访问标志V[T]是否为true,如果是,则跳转步骤S214,如果否,则跳转步骤S215。
S214,将当前栈顶的设备节点访问信息中的邻接表的位置索引加一,跳转步骤S206。
由于T在V中的访问标志V[T]初始值为false,当V中的访问标志V[T]为true,则表明在计算光路由的过程中,已经将设备T计算到当前访问的路径上,即设备T已经存在于当前确定的光路由之中,因此,设备T不能再计算到当前的光路由中,需要重新查找其它设备。
S215,设备T在V中的访问标志V[T]为false,表明可以将设备T纳入到当前确定的光路由路径中,因此,将设备T的设备节点访问信息压入堆栈ST,压入的设备编号为T,邻接表类型为1-C,邻接表位置索引为0。通过控制压入栈中的节点访问信息中的邻接表类型来得到局向光缆和跳纤间隔的光路由。同时,设置T在V中的访问标志V[T]为true。
S216,判断T是否等于终止设备节点编号E,如果是,则跳转步骤S217,否则,跳转步骤S206。
S217,则得到从S到E的光路由,此时,堆栈ST中从栈底到栈顶的设备节点编号就标识了这条路径。
另外,当需要重新生成光路由时,则包括:从堆栈中弹出栈顶信息,也就是设备E的设备节点访问信息;同时将V中E的访问标志V[E]设置为false;将当前栈顶中设备节点访问信息的邻接表的位置索引加一,跳转步骤S206;即可重新计算光路由。本实施例中,只删除终止设备E的设备节点访问信息,然后通过改变光路中剩下的最后一级设备邻接表的位置索引,重复上述方法,就可以获取所有从S到E的光路由。
另外,也可以将路径起始邻接表类型为跳纤,即计算从S开始,路径起始种类为跳纤,终止于E的路径,重复类似的上述步骤,只是对应的邻接表类型发生变化,对应的设备会发生变化,但计算的原理和方法是相同的,因此,也可以最终得到所求的光路由。
以下给出一个更加具体的实施例,以便于理解。
首先,将设备S的初始信息压入堆栈ST,同时将S的V[S]值设置为true,如表1所示。
表1
设备编号 | 邻接表类型 | 位置索引 |
D<sub>S</sub> | 0 | 0 |
如果起始设备S局向光缆邻接表索引位置为0的设备为A,由于A的V[A]初始值为false,因此,可以确定A为下个访问设备节点,将A的设备节点访问信息压入堆栈ST,同时将A的V[A]值设置为true。如表2所示。
表2
设备编号 | 邻接表类型 | 位置索引 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
设备A跳纤邻接表索引位置为0的设备为B,由于B的V[B]初始值为false,因此,可以确定B为下个访问设备节点,将B的设备节点访问信息压入堆栈ST,同时将B的V[B]值设置为true。如表3所示。
表3
设备编号 | 邻接表类型 | 位置索引 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备B局向光缆邻接表索引位置为0的设备为C,由于C的V[C]初始值为false,因此,可以确定C为下个访问设备节点,将C的设备节点访问信息压入堆栈ST,同时将C的V[C]值设置为true。如表4所示。
表4
设备编号 | 邻接表类型 | 位置索引 |
D<sub>C</sub> | 1 | 0 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备C局跳纤邻接表索引位置为0的设备为A,由于A的V[A]值已经被设置为true,因此,需要改变索引位置,查找其它设备。如表5所示。
表5
设备编号 | 邻接表类型 | 位置索引 |
D<sub>C</sub> | 1 | 1 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备C跳纤邻接表索引位置为1的设备为D,由于D的V[D]初始值为false,因此,可以确定D为下个访问设备节点,将D的设备节点访问信息压入堆栈ST,同时将D的V[D]值设置为true。如表6所示。
表6
设备编号 | 邻接表类型 | 位置索引 |
D<sub>D</sub> | 0 | 0 |
D<sub>C</sub> | 1 | 1 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备D局向光缆邻接表索引位置为0的设备为B,由于B的V[B]值已经被设置为true,因此,需要改变索引位置,查找其它设备。如表7所示。
表7
设备编号 | 邻接表类型 | 位置索引 |
D<sub>D</sub> | 0 | 1 |
D<sub>C</sub> | 1 | 1 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备D局向光缆邻接表索引位置为1的设备为S,由于S已经在确定的光路由里了(S的V[S]值也已经被设置为true),因此,需要继续改变索引位置,查找其它设备。如果设备D的局向光缆邻接表中只有设备B和S,那么就是说设备D的局向光缆邻接表内的设备遍历完毕,因此,需要将栈顶的信息弹出(删除),下一条信息自动升为栈顶信息,将当前栈顶内的位置索引加1,如表8所示。
表8
设备编号 | 邻接表类型 | 位置索引 |
D<sub>C</sub> | 1 | 2 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
如果设备D跳纤邻接表索引位置为2的设备为E,得到从S到E的光路由。将E的设备节点访问信息压入堆栈ST,同时将E的V[E]值设置为true。如表9所示。
表9
设备编号 | 邻接表类型 | 位置索引 |
D<sub>E</sub> | 0 | 0 |
D<sub>C</sub> | 1 | 2 |
D<sub>B</sub> | 0 | 0 |
D<sub>A</sub> | 1 | 0 |
D<sub>S</sub> | 0 | 0 |
从表9可以看出,堆栈ST中从栈底到栈顶的设备节点编号就标识了这条路径,具体为S→A→B→C→E。
另外,本发明还涉及一种实现上述方法实施例的光路由的生成装置,该装置包括:
邻接表设置单元,用于为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,所述局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;所述跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
光路由确定单元,用于根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
其中,光路由确定单元,还用于:
根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;其中,D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1。
当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
在已确定的光路由中每增加一个设备后,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
在光路由中每增加一个设备,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
本发明通过设置局向光缆邻接表和跳纤邻接表,并且按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律来确定从起始设备到终止设备的光路由,能够快速、自动地生成满足光路由路径特征的路径,并且在运行过程中,在耗时和内存表现上都非常好,极大地提升了系统的可用性。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (12)
1.一种光路由的生成方法,其特征在于,包括:
为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,所述局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;所述跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
2.如权利要求1所述的光路由的生成方法,其特征在于,所述方法还包括:
根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;其中,D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1。
3.如权利要求2所述的光路由的生成方法,其特征在于,
当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
4.如权利要求3所述的光路由的生成方法,其特征在于,在已确定的光路由中每增加一个设备,还包括:
按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
5.如权利要求3或4所述的光路由的生成方法,其特征在于,在光路由中每增加一个设备,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
6.如权利要求5所述的光路由的生成方法,其特征在于,在得到从起始设备到终止设备的光路由后,还包括:
在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
7.一种光路由的生成装置,其特征在于,包括:
邻接表设置单元,用于为每一个设备配置局向光缆邻接表和跳纤邻接表,其中,所述局向光缆邻接表保存有与该设备通过局向光缆连接的设备的设备编号;所述跳纤邻接表保存有与该设备通过跳纤连接的设备的设备编号;
光路由确定单元,用于根据各个设备的设备节点访问信息,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定从起始设备到终止设备的光路由;其中,所述设备节点访问信息包括:该设备的设备编号、邻接表类型和邻接表的位置索引。
8.如权利要求7所述的光路由的生成装置,其特征在于,所述光路由确定单元,还用于:
根据设备DX的邻接表和邻接表的位置索引,查找与该位置索引对应的设备;其中,D表示设备,下标X表示设备在当前已确定的光路由的级数,X=1、2、3、……,D1表示起始设备;
当查找到的设备不在已确定的光路由之中时,则将该设备作为设备DX在光路由中的下一级设备DX+1;
当查找到的设备已经存在于已确定的光路由之中时,改变设备DX邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将该设备作为设备DX在光路由中的下一级设备DX+1。
9.如权利要求8所述的光路由的生成装置,其特征在于,所述光路由确定单元,还用于:
当遍历完设备DX邻接表的所有位置索引,仍没有找到下一级设备DX+1时,则将设备DX从当前已确定的光路由中删除;
判断设备DX在已确定的光路由中是否存在上一级设备DX-1,如果否,则结束;如果是,则改变设备DX-1邻接表的位置索引,重新查找设备;当查找到不在已确定的光路由之中的设备时,则将重新查找到的设备作为设备DX-1在光路由中的下一级设备DX。
10.如权利要求8或9所述的光路由的生成装置,其特征在于,所述光路由确定单元,还用于:
在已确定的光路由中每增加一个设备后,按照设备间通过局向光缆连接和跳纤连接彼此间隔的规律,确定该设备的邻接表类型,以及邻接表的位置索引;其中起始设备的邻接表类型根据预先设置进行配置。
11.如权利要求8或9所述的光路由的生成装置,其特征在于,所述光路由确定单元,还用于:
在光路由中每增加一个设备,则判断该设备是否为终止设备,如果是,则得到从起始设备到终止设备的光路由,如果否,则根据该设备确定光路由中下一级设备。
12.如权利要求11所述的光路由的生成装置,其特征在于,所述光路由确定单元,还用于:
在得到的上述光路由中,从终止设备开始,按照从后往前的顺序,删除光路由中的一个或多个设备,但至少保留起始设备,对删除设备后的光路由中最后一个设备的邻接表位置索引进行修改,重新确认光路由中的设备,重新得到一条从起始设备到终止设备的光路由。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124167.3A CN106034266B (zh) | 2015-03-20 | 2015-03-20 | 光路由的生成方法及装置 |
PCT/CN2016/073209 WO2016150256A1 (zh) | 2015-03-20 | 2016-02-02 | 光路由的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124167.3A CN106034266B (zh) | 2015-03-20 | 2015-03-20 | 光路由的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106034266A CN106034266A (zh) | 2016-10-19 |
CN106034266B true CN106034266B (zh) | 2020-08-04 |
Family
ID=56977455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510124167.3A Active CN106034266B (zh) | 2015-03-20 | 2015-03-20 | 光路由的生成方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106034266B (zh) |
WO (1) | WO2016150256A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107404675B (zh) * | 2017-07-20 | 2021-03-05 | 中通服软件科技有限公司 | 一种光路自配方法 |
CN110443449B (zh) * | 2019-07-02 | 2022-05-13 | 烽火通信科技股份有限公司 | 一种光纤路径反算方法及系统 |
CN110646905B (zh) * | 2019-09-19 | 2021-01-05 | 烽火通信科技股份有限公司 | 一种计算odf架间走纤距离的方法和系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1135801C (zh) * | 2001-06-11 | 2004-01-21 | 华为技术有限公司 | 七号信令网管系统的路由查找方法 |
US6606322B2 (en) * | 2001-08-17 | 2003-08-12 | Mcdata Corporation | Route lookup caching for a fiber channel switch |
US7573909B2 (en) * | 2003-07-21 | 2009-08-11 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
CN101552936A (zh) * | 2009-05-05 | 2009-10-07 | 杭州华三通信技术有限公司 | 光纤最短路由优先协议的路由确定方法和装置 |
CN102307136B (zh) * | 2011-07-06 | 2014-12-24 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN102420652B (zh) * | 2011-10-25 | 2014-05-21 | 上海电信工程有限公司 | 一种光路割接的方法 |
CN103581771B (zh) * | 2012-07-27 | 2016-11-23 | 中国移动通信集团设计院有限公司 | 一种全光网波长资源调度及路由规划方法及装置 |
-
2015
- 2015-03-20 CN CN201510124167.3A patent/CN106034266B/zh active Active
-
2016
- 2016-02-02 WO PCT/CN2016/073209 patent/WO2016150256A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2016150256A1 (zh) | 2016-09-29 |
CN106034266A (zh) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7072304B2 (en) | Network path selection based on bandwidth | |
JPH11184837A (ja) | 最短経路探索システム | |
CN106034266B (zh) | 光路由的生成方法及装置 | |
CN101507191A (zh) | 被递归地分割的静态ip路由表 | |
EP2544414A1 (en) | Method and device for storing routing table entry | |
CN112217655B (zh) | Sd-wan系统中网络设备配置方法、装置和计算机设备 | |
CN108965141A (zh) | 一种多路径路由树的计算方法及装置 | |
CN113706326B (zh) | 基于矩阵运算的移动社会网络图修改方法 | |
Duarte et al. | Improved heuristics for the regenerator location problem | |
US20080086448A1 (en) | Method of generating node indentifier in tree structure | |
WO2010058785A1 (ja) | 経路計算順決定方法、プログラムおよび計算装置 | |
CN101572647B (zh) | 一种数据查找的方法及装置 | |
KR101480670B1 (ko) | 대용량 그래프 데이터베이스에서 최단 경로를 탐색하는 방법 | |
CN107896347B (zh) | 一种无源光网络规划方法、设备及无源光网络 | |
CN110011844A (zh) | 一种网管otn业务快速创建的方法及系统 | |
WO2010054599A1 (zh) | 存储数据的方法、装置及系统 | |
US20050163122A1 (en) | System and methods for packet filtering | |
CN112333101B (zh) | 网络拓扑寻路方法、装置、设备及存储介质 | |
CN110233796B (zh) | 一种基于加权路由算法的电力通信网优化方法及设备 | |
PL2008410T3 (pl) | Sposób identyfikacji co najmniej jednej trasy spełniającej co najmniej jedno ograniczenie między węzłem źródłowym i węzłem docelowym w sieci telekomunikacyjnej | |
CN116471228A (zh) | 一种信息确定方法、系统、装置、设备及存储介质 | |
CN105579966B (zh) | 数据处理设备和计算机可读分布介质 | |
CN107248952B (zh) | 一种业务替代路由确定方法及系统 | |
CN110322884A (zh) | 一种解码网络的插词方法、装置、设备及存储介质 | |
CN106100998A (zh) | 一种路由过滤规则的组织方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200709 Address after: 210012 Nanjing, Yuhuatai District, South Street, Bauhinia Road, No. 68 Applicant after: Nanjing Zhongxing Software Co.,Ltd. Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Applicant before: ZTE Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |