CN105224568B - 一种生成光缆网络拓扑的方法和装置 - Google Patents
一种生成光缆网络拓扑的方法和装置 Download PDFInfo
- Publication number
- CN105224568B CN105224568B CN201410302689.3A CN201410302689A CN105224568B CN 105224568 B CN105224568 B CN 105224568B CN 201410302689 A CN201410302689 A CN 201410302689A CN 105224568 B CN105224568 B CN 105224568B
- Authority
- CN
- China
- Prior art keywords
- website
- site
- data structure
- station data
- current site
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Optical Communication System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种生成光缆网络拓扑的方法和装置,获取所有以第一指定站点为起点或终点的光缆段信息,将第一指定站点作为当前站点;递归第一步骤,获取当前站点以及与当前站点直接连接的所有的关联站点以形成站点列表;递归第二步骤,从站点列表中取出一个站点作为当前站点,对当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在站点列表中遍历下一个站点,若下一个站点不在站点数据结构中,则将下一个站点加入站点数据结构中,并对下一个站点添加未查询标识;将下一个站点作为新的当前站点,调用递归第一步骤,直至站点数据结构中站点均标识为已查询;根据站点数据结构查询光缆段数据库得到光缆网络拓扑。
Description
技术领域
本发明涉及光缆网络技术,特别是指一种生成光缆网络拓扑的方法和装置。
背景技术
光缆网络现状信息保存在光缆段表中,在制定组网方案时,根据需要组网的站点对光缆段信息进行反复查询,每次查询仅能得到与当前站点存在光缆连接的相邻站点的信息,对于实际组网中通过一个或多个站点进行跳接实现互通的情况则需要进行多次查询以及人工记录。
在实际光缆建设中相当一部分站点之间的光缆互通是不同光缆段通过跳接实现的。要实现跳接组网,就现有技术而言只能先对每次查询结果进行暂存,然后人工将相关联的光缆段进行连接。
现有技术存在如下问题:查询结果为离散数据,无法体现光缆段间的关联;查询效率低下,仅能查询到与当前站点相邻的站点,如要获取所有与当前站点存在光缆段连通的站点只能通过多次查询,而且由于站点之间的光缆段信息与实际工程相关,无规律可循,查询条件无法固定因此也无法通过条件查询的方式一次性获取到所有关联站点信息。
发明内容
本发明要解决的技术问题是提供一种生成光缆网络拓扑的方法和装置,解决现有技术中,由于站点之间的光缆段信息无规律可循,要获取所有与当前站点存在光缆段连通的站点只能通过多次查询的缺陷。
为解决上述技术问题,本发明的实施例提供一种生成光缆网络拓扑的方法,方法包括:光缆段信息步骤,获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;递归第一步骤,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表;递归第二步骤,从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;拓扑步骤,根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
所述的方法中,还包括:站点列表是一个一维数组;站点数据结构是二维数组,二维数组初始化为空。
所述的方法中,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表具体包括:在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
所述的方法中,在所述站点列表中遍历下一个站点之后还包括:若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
一种生成光缆网络拓扑的装置,包括:光缆段信息单元,用于获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;递归第一单元,用于获取当前站点以及所述当前站点所有的关联站点以形成站点列表;递归第二单元,用于从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;拓扑单元,用于根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
所述的装置中,还包括:数组初始化单元,用于初始化站点列表是一个一维数组;站点数据结构是指二维数组,二维数组初始化为空。
所述的装置中,递归第一单元包括:数据库查询模块,用于在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
所述的装置中,递归第二单元包括:站点列表回退模块,用于在所述站点列表中遍历下一个站点之后还包括:若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
本发明的上述技术方案的有益效果如下:采用了递归式的查找原理,在无需人工参预的情况下可对光缆段信息进行全面的检索,一次性获取所有与当前站点存在直接或者间接连通的光缆段的光缆段信息。
附图说明
图1表示一种生成光缆网络拓扑的方法流程示意图;
图2表示根据站点列表查询光缆段数据库得到光缆网络拓扑的原理示意图;
图3表示若干个站点形成的光缆网络。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例中,从深度和广度上对现有的光缆段信息进行递归查询,直至查询所有与当前站点存在直接或间接光缆连通的站点,形成站点列表,根据站点列表查询光缆段数据库得出完整的光缆网络拓扑的信息。
本发明实施例提供一种生成光缆网络拓扑的方法,如图1所示,包括:
光缆段信息步骤,获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;
递归第一步骤,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表;
递归第二步骤,从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;
将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;
拓扑步骤,根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
应用所提供的技术,采用了递归式的查找原理,在无需人工参预的情况下可对光缆段信息进行全面的检索,一次性获取所有与当前站点存在直接或者间接连通的光缆段的光缆段信息。
在一个优选实施例中,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表具体包括:在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
根据实施例可以看出,递归第一步骤中,与当前站点直接连接的所有的关联站点应当采用如下方式获取:若光缆数据库中包含连接关系为A-B,A-C,B-C,D-A,以及,B-E和B-F,以及E-G和E-H等多段光缆段信息,如果把A当作当前站点进行查询,查询结果是B、C和D是与当前站点A直接连接的关联站点,而站点E、F、G和H则不是与当前站点A直接连接的关联站点。
当前站点的关联站点是指,所有与当前站点存在直接或间接光缆连通的站点,但在递归第一步骤中,形成站点列表的是与所述当前站点直接连接的所有的关联站点,并不包括间接连接的关联站点。站点列表是一个一维数组;站点数据结构是指二维数组,二维数组初始化时为空。通过对站点列表这个一维数组中的各个站点进行遍历可以实现对站点列表中的各个站点逐个进行处理。
在一个应用场景中,站点列表是一个一维数组,站点数据结构是指二维数组,且二维数组一开始是空的,包括:
光缆段信息步骤,获取所有以第一指定站点A为起点,以第二指定站点D为终点的光缆段信息,以及,将所述第一指定站点A或者第二指定站点D作为当前站点,不失一般性,具体选用第一指定站点A作为最开始的当前站点。
如图3所示,递归第一步骤,获取当前站点A以及所述当前站点A所有的关联站点B、C和D以形成站点列表;此时,因为是第一次形成一个站点列表,这个站点列表中目前是包含了站点A、B、C和D。需要注意的是,当在递归第二步骤中返回调用所述递归第一步骤时,当前站点就不再是A站点了,因此所形成的新的站点列表中应当是其他的站点。例如,在第一次从递归第二步骤中返回调用所述递归第一步骤时,当前站点是B,以及站点B所有的关联站点E、F等;在第二次从递归第二步骤中返回调用所述递归第一步骤时,当前站点是C,以及站点C所有的关联站点A和B;
递归第二步骤,从所述站点列表中取出一个站点A作为当前站点A,对该当前站点A添加已查询标识,并将携带已查询标识的当前站点A存放在二维数组中,在所述站点列表中遍历下一个站点B,若该下一个站点B不在二维数组中,则将该下一个站点B加入二维数组中,并对该下一个站点B添加未查询标识,直至遍历完所述站点列表,此时,站点C和站点D也位于二维数组中了;
将该下一个站点B作为新的当前站点B,返回调用所述递归第一步骤,直至二维数组中的站点C和站点D最终也均标识为已查询;
拓扑步骤,根据二维数组查询光缆段数据库得到光缆网络拓扑。光缆网络拓扑中至少包含了站点A、B、C和D,而且很有可能还包括了在第二次甚至更多次调用了递归第一步骤之后找到的站点E、F、G和H等。
递归第二步骤中,直至二维数组中的站点均标识为已查询。二维数组中的站点均标识为查询就表示所有与第一个站点(指定站点A)存在直接或间接连接关系的站点均查询到了,通过二维数组中的站点再来查询光缆段数据库即可得到所有的光缆段,借助于图形函数将各光缆段添加到图形控件当中即可得到光缆拓扑结构。
在一个优选实施例中,在所述站点列表中遍历下一个站点之后还包括:
若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中,若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
这里,若再次在所述站点列表中遍历下一个站点是否在站点数据结构中的结果是,这个下一个站点不在站点数据结构中,则仍然执行递归第二步骤中-则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识。
仍如图3所示,以站点A为当前站点,第一次递归过程中,能查到所有与A相邻的站点-即站点B,C和D。此时查询站点数据结构-二维数组的时候发现A、B、C和D均不在二维数组中,则将A、B、C和D均加入到二维数组当中,不同的是当前站点A添加已查询标识,B、C和D添加未查询标识。
接着对B进行第二次递归操作。查询到与B相邻的是A、C、E和F,因为B是当前站点,修改状态为已查询,A和C已经存在,不做任何操作,E和F不在二维数组中,将E和F加入到二维数组中,标识为未查询。这其中,站点B成为第二次递归的当前站点的原因是:站点B是二维数组中在站点A之后第一个标识为未查询的站点。
然后根据先后顺序,二维数组中标识为未查询的是C站点,查询到与C相邻的是A和B,A和B已经存在于二维数组中,故进行下一步操作-查询D。以此类推,直到二维数组中的数据均标识为已查询,递归结束。
递归结束后,根据二维数组中存在的元素查询光缆段落数据库,即可得到所有相关的光缆段落。
这一递归过程中,只要二维数组中存在未查询数据,就进行查询和二维数组的数据更新-修改当前站点为已查询、添加二维数组中不存在的站点并标识为未查询状态,直至所有查询到的与当前站点存在直接连接关系的站点均存在于二维数组中且均标识为已查询状态,整个递归过程才结束。
在一个优选实施例中,根据站点列表查询光缆段数据库得到完整光缆段信息包括:根据站点列表中所有站点的名称查询光缆段数据库,将得到的各个光缆段信息进行直观的图形体现。拓扑结构的图形体现是借助于其他的图形函数或第三方控件。
在一个应用场景中,如图2所示,包括:
步骤21,根据第一指定站点A和第二指定站点D的名称查询光缆段数据库,获取所有以该指定站点为起点或终点的光缆段信息,包括站点A、B、C和站点D。
步骤22,获取当前站点所有的关联站点(含当前站点)的站点列表。
步骤23,站点列表与二维数组进行对比,判断当前站点是否已经存在于二维数组中。二维数组初始化时为空,循环时加入当前站点,并标识为已查询。
步骤24,如当前站点已存在于二维数组中,则查询站点列表中的下一个站点,如二维数组中不存在该站点,则将该站点加入二维数组中,并在二维数组中添加未查询标识。
步骤25,递归函数查询二维数组中所有带未查询标识的站点,重复步骤22~步骤24,直至二维数组中的站点均标识为已查询。
步骤26,获取所有关联站点列表,根据列表重新对光缆段数据库进行查询得到完整光缆段信息。
本发明实施例提供一种生成光缆网络拓扑的装置,包括:
缆段信息单元,用于获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;
递归第一单元,用于获取当前站点以及所述当前站点所有的关联站点以形成站点列表;
递归第二单元,用于从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;
拓扑单元,用于根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
在一个优选实施例中,还包括:
数组初始化单元,用于初始化二维数组为空,二维数组用于在查询步骤中存放来自站点列表的尚未存放在二维数组中的站点。
在一个优选实施例中,还包括:
数组管理单元,用于第一次存放在二维数组中的站点应添加未查询标识。
在一个优选实施例中,递归第一单元包括:
数据库查询模块,用于在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
在一个优选实施例中,递归第二单元包括:
站点列表回退模块,用于在所述站点列表中遍历下一个站点之后还包括:
若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中,若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
在一个优选实施例中,拓扑单元包括:
拓扑图形模块,用于根据站点列表中所有站点的名称查询光缆段数据库,将得到的各个光缆段信息进行直观的图形体现。
采用本方案之后的优势是:采用递归方式查询离散光缆段数据得出包含完整光缆拓扑信息的结果,以便于进行直观的图形体现。询范围全面,涵盖所有与当前站点连通的光缆段信息。查询结果直观,便于用户全面考虑设备组网方案。可实施性强,便于采用信息化手段进行大量数据的快速处理展现。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种生成光缆网络拓扑的方法,其特征在于,方法包括:
光缆段信息步骤,获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;
递归第一步骤,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表,其中,在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点;
递归第二步骤,从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;
拓扑步骤,根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
2.根据权利要求1所述的方法,其特征在于,还包括:
站点列表是一个一维数组;站点数据结构是二维数组,二维数组初始化为空。
3.根据权利要求1所述的方法,其特征在于,在所述站点列表中遍历下一个站点之后还包括:
若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;
若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
4.一种生成光缆网络拓扑的装置,其特征在于,包括:
光缆段信息单元,用于获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;
递归第一单元,用于获取当前站点以及所述当前站点所有的关联站点以形成站点列表;递归第一单元包括:数据库查询模块,用于在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点;
递归第二单元,用于从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;
拓扑单元,用于根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
5.根据权利要求4所述的装置,其特征在于,还包括:
数组初始化单元,用于初始化站点列表是一个一维数组;站点数据结构是指二维数组,二维数组初始化为空。
6.根据权利要求4所述的装置,其特征在于,递归第二单元包括:
站点列表回退模块,用于在所述站点列表中遍历下一个站点之后还包括:
若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;
若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302689.3A CN105224568B (zh) | 2014-06-27 | 2014-06-27 | 一种生成光缆网络拓扑的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410302689.3A CN105224568B (zh) | 2014-06-27 | 2014-06-27 | 一种生成光缆网络拓扑的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105224568A CN105224568A (zh) | 2016-01-06 |
CN105224568B true CN105224568B (zh) | 2018-06-26 |
Family
ID=54993537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410302689.3A Active CN105224568B (zh) | 2014-06-27 | 2014-06-27 | 一种生成光缆网络拓扑的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224568B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
-
2014
- 2014-06-27 CN CN201410302689.3A patent/CN105224568B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1756189A (zh) * | 2004-09-30 | 2006-04-05 | 北京航空航天大学 | 基于snmp的ip网络拓扑发现方法 |
Non-Patent Citations (2)
Title |
---|
一个IP网络拓扑自动发现系统的设计与实现;周俊生;《计算机工程》;20021231;第28卷(第12期);全文 * |
基于互联网拓扑结构层次模型的网络拓扑绘制方法研究;李增军等;《科学技术与工程》;20071130;第7卷(第22期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105224568A (zh) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020018012A9 (en) | Open network automation platform (onap) - fifth generation core (5gc) interaction for analytics | |
JP6475339B2 (ja) | 画像共有方法及び装置、並びに端末デバイス | |
CN106921572B (zh) | 一种传播QoS策略的方法、装置及系统 | |
CN104852937B (zh) | 用于移动应用的网络接入方法和装置 | |
CN106131086B (zh) | 一种访问控制列表的匹配方法及装置 | |
CN1848778A (zh) | 用于监控信令消息行进的方法和网络监控装置 | |
CN106412483A (zh) | 一种摄像头共享方法及装置 | |
CN104978376B (zh) | 一种追踪分享路径评论的方法及系统 | |
CN105491078B (zh) | Soa系统中的数据处理方法及装置、soa系统 | |
CN107196848B (zh) | 消息推送方法及装置 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN104348848A (zh) | 管理图片的方法、终端设备和服务器 | |
CN106101412A (zh) | 移动通信终端的信息会话处理方法及移动通信终端 | |
CN103188305A (zh) | 一种多线程断点续传方法及系统 | |
CN104967572B (zh) | 网络访问方法、装置及设备 | |
CN103840859A (zh) | 传输文件的方法、终端及系统 | |
CN103780483A (zh) | 一种物联网终端设备的资源信息获取方法、系统及设备 | |
WO2016101510A1 (zh) | 获取nat信息的方法及bras设备 | |
CN103973747B (zh) | 一种获取内容的方法和装置 | |
CN105224568B (zh) | 一种生成光缆网络拓扑的方法和装置 | |
CN106128468A (zh) | 语音通话方法及装置 | |
CN104243469B (zh) | 一种控制播放的方法、装置及系统 | |
CN105939404A (zh) | Nat资源的获取方法及装置 | |
CN104869022B (zh) | 一种日志采集方法及系统 | |
CN103152245B (zh) | 一种巡航路线控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |