一种生成光缆网络拓扑的方法和装置的制造方法

文档序号:9471404阅读:184来源:国知局
一种生成光缆网络拓扑的方法和装置的制造方法
【技术领域】
[0001]本发明涉及光缆网络技术,特别是指一种生成光缆网络拓扑的方法和装置。
【背景技术】
[0002]光缆网络现状信息保存在光缆段表中,在制定组网方案时,根据需要组网的站点对光缆段信息进行反复查询,每次查询仅能得到与当前站点存在光缆连接的相邻站点的信息,对于实际组网中通过一个或多个站点进行跳接实现互通的情况则需要进行多次查询以及人工记录。
[0003]在实际光缆建设中相当一部分站点之间的光缆互通是不同光缆段通过跳接实现的。要实现跳接组网,就现有技术而言只能先对每次查询结果进行暂存,然后人工将相关联的光缆段进行连接。
[0004]现有技术存在如下问题:查询结果为离散数据,无法体现光缆段间的关联;查询效率低下,仅能查询到与当前站点相邻的站点,如要获取所有与当前站点存在光缆段连通的站点只能通过多次查询,而且由于站点之间的光缆段信息与实际工程相关,无规律可循,查询条件无法固定因此也无法通过条件查询的方式一次性获取到所有关联站点信息。

【发明内容】

[0005]本发明要解决的技术问题是提供一种生成光缆网络拓扑的方法和装置,解决现有技术中,由于站点之间的光缆段信息无规律可循,要获取所有与当前站点存在光缆段连通的站点只能通过多次查询的缺陷。
[0006]为解决上述技术问题,本发明的实施例提供一种生成光缆网络拓扑的方法,方法包括:光缆段信息步骤,获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;递归第一步骤,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表;递归第二步骤,从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;拓扑步骤,根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
[0007]所述的方法中,还包括:站点列表是一个一维数组;站点数据结构是二维数组,二维数组初始化为空。
[0008]所述的方法中,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表具体包括:在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
[0009]所述的方法中,在所述站点列表中遍历下一个站点之后还包括:若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
[0010]一种生成光缆网络拓扑的装置,包括:光缆段信息单元,用于获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;递归第一单元,用于获取当前站点以及所述当前站点所有的关联站点以形成站点列表;递归第二单元,用于从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;拓扑单元,用于根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
[0011]所述的装置中,还包括:数组初始化单元,用于初始化站点列表是一个一维数组;站点数据结构是指二维数组,二维数组初始化为空。
[0012]所述的装置中,递归第一单元包括:数据库查询模块,用于在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
[0013]所述的装置中,递归第二单元包括:站点列表回退模块,用于在所述站点列表中遍历下一个站点之后还包括:若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中;若直至遍历完所述站点列表的站点均在所述站点数据结构中,则回到最近一次所遍历的站点列表中,在所述最近一次所遍历的站点列表中遍历下一个站点。
[0014]本发明的上述技术方案的有益效果如下:采用了递归式的查找原理,在无需人工参预的情况下可对光缆段信息进行全面的检索,一次性获取所有与当前站点存在直接或者间接连通的光缆段的光缆段信息。
【附图说明】
[0015]图1表示一种生成光缆网络拓扑的方法流程示意图;
[0016]图2表示根据站点列表查询光缆段数据库得到光缆网络拓扑的原理示意图;
[0017]图3表示若干个站点形成的光缆网络。
【具体实施方式】
[0018]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0019]本发明实施例中,从深度和广度上对现有的光缆段信息进行递归查询,直至查询所有与当前站点存在直接或间接光缆连通的站点,形成站点列表,根据站点列表查询光缆段数据库得出完整的光缆网络拓扑的信息。
[0020]本发明实施例提供一种生成光缆网络拓扑的方法,如图1所示,包括:
[0021]光缆段信息步骤,获取所有以第一指定站点为起点或终点的光缆段信息,以及,将所述第一指定站点作为当前站点;
[0022]递归第一步骤,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表;
[0023]递归第二步骤,从所述站点列表中取出一个站点作为当前站点,对该当前站点添加已查询标识,并将携带已查询标识的当前站点存放在站点数据结构中,在所述站点列表中遍历下一个站点,若该下一个站点不在站点数据结构中,则将该下一个站点加入站点数据结构中,并对该下一个站点添加未查询标识;
[0024]将该下一个站点作为新的当前站点,返回调用所述递归第一步骤,直至站点数据结构中的站点均标识为已查询;
[0025]拓扑步骤,根据所述站点数据结构查询光缆段数据库得到光缆网络拓扑。
[0026]应用所提供的技术,采用了递归式的查找原理,在无需人工参预的情况下可对光缆段信息进行全面的检索,一次性获取所有与当前站点存在直接或者间接连通的光缆段的光缆段信息。
[0027]在一个优选实施例中,获取当前站点以及与所述当前站点直接连接的所有的关联站点以形成站点列表具体包括:在光缆段数据库中,查找与当前站点相关的记录,当所述记录中记载了所述当前站点与一站点直接连接时,则该站点是与当前站点直接连接的关联站点。
[0028]根据实施例可以看出,递归第一步骤中,与当前站点直接连接的所有的关联站点应当采用如下方式获取:若光缆数据库中包含连接关系为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直接连接的关联站点。
[0029]当前站点的关联站点是指,所有与当前站点存在直接或间接光缆连通的站点,但在递归第一步骤中,形成站点列表的是与所述当前站点直接连接的所有的关联站点,并不包括间接连接的关联站点。站点列表是一个一维数组;站点数据结构是指二维数组,二维数组初始化时为空。通过对站点列表这个一维数组中的各个站点进行遍历可以实现对站点列表中的各个站点逐个进行处理。
[0030]在一个应用场景中,站点列表是一个一维数组,站点数据结构是指二维数组,且二维数组一开始是空的,包括:
[0031]光缆段信息步骤,获取所有以第一指定站点A为起点,以第二指定站点D为终点的光缆段信息,以及,将所述第一指定站点A或者第二指定站点D作为当前站点,不失一般性,具体选用第一指定站点A作为最开始的当前站点。
[0032]如图3所示,递归第一步骤,获取当前站点A以及所述当前站点A所有的关联站点B、C和D以形成站点列表;此时,因为是第一次形成一个站点列表,这个站点列表中目前是包含了站点A、B、C和D。需要注意的是,当在递归第二步骤中返回调用所述递归第一步骤时,当前站点就不再是A站点了,因此所形成的新的站点列表中应当是其他的站点。例如,在第一次从递归第二步骤中返回调用所述递归第一步骤时,当前站点是B,以及站点B所有的关联站点E、F等;在第二次从递归第二步骤中返回调用所述递归第一步骤时,当前站点是C,以及站点C所有的关联站点A和B ;
[0033]递归第二步骤,从所述站点列表中取出一个站点A作为当前站点A,对该当前站点A添加已查询标识,并将携带已查询标识的当前站点A存放在二维数组中,在所述站点列表中遍历下一个站点B,若该下一个站点B不在二维数组中,则将该下一个站点B加入二维数组中,并对该下一个站点B添加未查询标识,直至遍历完所述站点列表,此时,站点C和站点D也位于二维数组中了;
[0034]将该下一个站点B作为新的当前站点B,返回调用所述递归第一步骤,直至二维数组中的站点C和站点D最终也均标识为已查询;
[0035]拓扑步骤,根据二维数组查询光缆段数据库得到光缆网络拓扑。光缆网络拓扑中至少包含了站点A、B、C和D,而且很有可能还包括了在第二次甚至更多次调用了递归第一步骤之后找到的站点E、F、G和H等。
[0036]递归第二步骤中,直至二维数组中的站点均标识为已查询。二维数组中的站点均标识为查询就表示所有与第一个站点(指定站点A)存在直接或间接连接关系的站点均查询到了,通过二维数组中的站点再来查询光缆段数据库即可得到所有的光缆段,借助于图形函数将各光缆段添加到图形控件当中即可得到光缆拓扑结构。
[0037]在一个优选实施例中,在所述站点列表中遍历下一个站点之后还包括:
[0038]若该下一个站点在站点数据结构中,则再次在所述站点列表中遍历下一个站点是否在站点数据结构中,若直至遍历完所述站点列表的站点均在所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1