网络拓扑生成方法和相关装置与流程

文档序号:32741563发布日期:2022-12-30 18:56阅读:107来源:国知局
网络拓扑生成方法和相关装置与流程

1.本技术涉及通信领域,尤其涉及一种网络拓扑生成方法和相关装置。


背景技术:

2.随着网络的不断发展,网络的可视化成了不可避免的演进方向。基于网络拓扑呈现网络的逻辑、物理结构,使得拓扑节点和拓扑节点之间的连接关系呈现的更加直观,对运维效率的提升有很大帮助。网络逻辑拓扑是用户按照对于当前网络结构的理解布局的,相关运维人员会以该网络逻辑拓扑作为主要参考依据。
3.由于网络规模过大,运维人员运维网络拓扑必须基于场景构建,否则过多的网络结构信息使得运维人员无法有效捕捉关键信息。运维人员捕捉网络结构的关键信息的流程一般如下:在网络中的节点故障发生之后,基于故障影响分析得到受故障影响的各节点及各节点之间的关系。然后从全局网络拓扑结构中切取子图,由于该子图是该全局网络拓扑结构的部分,该子图中的节点的布局会比较松散,不利于一屏展示,因此需要重新布局并保留原网络相对结构。因此需要研究高效地生成网络逻辑拓扑图的方案。


技术实现要素:

4.本技术实施例公开了一种网络拓扑生成方法和相关装置,能够高效地生成网络逻辑拓扑图的方案。
5.第一方面,本技术实施例提供一种网络拓扑生成方法,所述方法包括:获取第一拓扑图中的各拓扑节点的原始坐标信息;所述原始坐标信息包括所述第一拓扑图中的各拓扑节点的第一坐标;所述第一拓扑图中的各拓扑节点包括第一节点、第二节点以及第三节点;根据所述原始坐标信息,生成第二拓扑图;所述第二拓扑图对应于所述第一拓扑图缩放后的拓扑图,所述第二节点在所述第二拓扑图中的第二坐标以所述第一节点在所述第二拓扑图中的第二坐标为基准点得到,所述第三节点在所述第二拓扑图中的第二坐标以所述第二节点在所述第二拓扑图中的第二坐标为基准点得到。所述第一节点和所述第二节点为不同的节点。第一拓扑图中的各拓扑节点可以是第一拓扑图中的部分拓扑节点,也可以是该第一拓扑图中的全部拓扑节点。例如,第一拓扑图中的各拓扑节点为该第一拓扑图中与故障相关的拓扑节点。第二拓扑图可以视为对第一拓扑图做收缩,得到的一个相比于该第一拓扑图布局更紧凑的拓扑图。第二拓扑图也可以视为对第一拓扑图中的子图(例如仅包含与故障相关的节点)做收缩,得到的一个相比于该子图布局更紧凑的拓扑图。
6.第二节点可视为第一节点的子节点,第三节点可视为第三节点的子节点。本技术实施例提供的网络拓扑生成方法可理解为子节点相对父节点依次移动,可以保证单次布局效果,提高布局效率,避免节点重叠导致的布局微调整。
7.本技术实施例中,第二节点在第二拓扑图中的第二坐标以第一节点在第二拓扑图中的第二坐标为基准点得到,第三节点在第二拓扑图中的第二坐标以第二节点在第二拓扑图中的第二坐标为基准点得到,能够高效地生成网络逻辑拓扑图,并避免第二拓扑图中的
节点重叠导致的布局微调整。
8.在一种可能的实现方式中,所述原始坐标信息还指示所述第一节点和所述第二节点之间的连接关系,以及所述第二节点和所述第三节点之间的连接关系。应理解,原始坐标信息还指示第一拓扑图中的各拓扑节点之间的连接关系。例如,原始坐标信息还指示第一拓扑图中与故障相关的各拓扑节点之间的连接关系。
9.在该实现方式中,获取原始坐标信息,即获取第一拓扑图中的各拓扑节点的第一坐标以及各拓扑节点之间的连接关系。根据原始坐标信息,生成第二拓扑图;可以保证第二拓扑图中的各拓扑节点之间的连接关系与第一拓扑图中的各拓扑节点之间的连接关系相同。
10.在一种可能的实现方式中,所述第一拓扑图中的第一连接线和第二连接线之间的夹角等于所述第二拓扑图中的第三连接线和第四连接线之间的夹角,所述第一连接线为所述第一拓扑图中的所述第一节点和所述第二节点之间的连接线,所述第二连接线为所述第一拓扑图中的所述第二节点和所述第三节点之间的连接线,所述第三连接线为所述第二拓扑图中的所述第一节点和所述第二节点之间的连接线,所述第四连接线为所述第二拓扑图中的所述第二节点和所述第三节点之间的连接线。第二拓扑图中任意两条连接线之间的夹角等于该任意两条连接线在第一拓扑图中对应的两条连接线之间的夹角。在该实现方式中,第一连接线为第三连接线在第一拓扑图中对应的连接线,第二连接线为第四连接线在第一拓扑图中对应的连接线。
11.在该实现方式中,第二拓扑图中的第三连接线和第四连接线之间的夹角等于第一拓扑图中的第一连接线和第二连接线之间的夹角,使得该第二拓扑图与该第一拓扑图相对一致。
12.在一种可能的实现方式中,所述第三连接线的长度与所述第一连接线的长度的比值不等于所述第四连接线的长度与所述第二连接线的长度的比值。
13.在该实现方式中,第三连接线的长度与第一连接线的长度的比值不等于第四连接线的长度与第二连接线的长度的比值,可以避免当第三连接线的长度与第一连接线的长度的比值等于第四连接线的长度与第二连接线的长度的比值时,可能出现的节点重叠或者布局不紧凑的问题。
14.在一种可能的实现方式中,所述第二拓扑图中的任意两个节点之间的距离大于或等于预设距离。
15.在该实现方式中,第二拓扑图中的任意两个节点之间的距离大于或等于预设距离,可以避免该第二拓扑图中的任意两个节点发生重叠或部分重叠的问题。
16.在一种可能的实现方式中,所述第二节点在所述第二拓扑图中的第二坐标以所述第一节点在所述第二拓扑图中的第二坐标为基准点得到包括:所述第二节点在所述第二拓扑图中的第二坐标由所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标得到。
17.在该实现方式中,第二节点在第二拓扑图中的第二坐标由第一节点的第一坐标、第一节点在第二拓扑图中的第二坐标以及第二节点的第一坐标得到;可以保证第二节点和第一节点在该第二拓扑图中的位置关系与第二节点和第一节点在该第一拓扑图中的位置关系基本不变。
18.在一种可能的实现方式中,所述第二节点在所述第二拓扑图中的第二坐标由第一移动增量和所述第一节点在所述第二拓扑图中的第二坐标得到,所述第一移动增量由所述第一节点的第一坐标和所述第二节点的第一坐标得到。所述第一移动增量可表征所述第一节点的第一坐标和所述第二节点的第一坐标之间的位置关系。或者,所述第一移动增量可表征第二节点在所述第二拓扑图中的第二坐标相对于所述第一节点在所述第二拓扑图中的第二坐标的位置关系。
19.在该实现方式中,第二节点在第二拓扑图中的第二坐标由第一移动增量和第一节点在第二拓扑图中的第二坐标得到,可以保证第二节点和第一节点在该第二拓扑图中的位置关系与第二节点和第一节点在该第一拓扑图中的位置关系基本不变。
20.在一种可能的实现方式中,所述根据所述原始坐标信息,生成第二拓扑图包括:根据所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标,确定所述第二节点在所述第二拓扑图中的第二坐标。
21.在该实现方式中,可以保证第二节点和第一节点在该第二拓扑图中的位置关系与第二节点和第一节点在该第一拓扑图中的位置关系基本不变。
22.在一种可能的实现方式中,所述第二节点在第二拓扑图中的第二坐标、所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标满足如下公式:
23.x2_new=x1_new+(x2_old

x1_old)*s;
24.y2_new=y1_new+(y2_old

y1_old)*s;
25.其中,所述x2_new表示所述第二节点在第二拓扑图中的第二坐标的横坐标,所述y2_new表示所述第二节点在第二拓扑图中的第二坐标的纵坐标,所述x1_new表示所述第一节点在第二拓扑图中的第二坐标的横坐标,所述y1_new表示所述第一节点在第二拓扑图中的第二坐标的纵坐标,所述x2_old表示所述第二节点的第一坐标的横坐标,所述y2_old表示所述第一节点的第一坐标的纵坐标,所述x1_old表示所述第一节点的第一坐标的横坐标,所述y1_old表示所述第一节点的第一坐标的纵坐标,所述s表示缩放因子。所述s为一个实数。所述s可以是一个预先配置的值。或者,所述s可以由所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离得到。
26.在该实现方式中,可以使得第二节点和第一节点在第二拓扑图中的位置关系与该第二节点和该第一节点在第一拓扑图中的位置关系基本一致。
27.在一种可能的实现方式中,所述根据所述原始坐标信息,生成第二拓扑图包括:根据所述第一节点的第一坐标和所述第二节点的第一坐标,确定所述第一移动增量;根据所述第一移动增量和所述第一节点在所述第二拓扑图中的第二坐标,确定所述第二节点在所述第二拓扑图中的第二坐标。
28.在该实现方式中,可以保证第二节点和第一节点在该第二拓扑图中的位置关系与第二节点和第一节点在该第一拓扑图中的位置关系基本不变。
29.在一种可能的实现方式中,所述根据所述第一节点的第一坐标和所述第二节点的第一坐标,确定所述第一移动增量包括:获取第一坐标差,所述第一坐标差为所述第二节点的第一坐标和所述第一节点的第一坐标之差或者所述第一节点的第一坐标和所述第二节点的第一坐标之差;根据所述第一坐标差和非线性正相关因子,确定所述第一移动增量;在
所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离大于预设间距的情况下,所述非线性正相关因子由所述预设间距与所述第一距离的比值的m次幂得到,所述m为大于0且小于1的实数;或者,在所述第一距离小于或等于所述预设间距的情况下,所述非线性正相关因子为由所述预设间距与所述第一距离的比值得到。示例性的,所述第一移动增量等于所述第一坐标差和所述非线性正相关因子的乘积。
30.在一种可能的实现方式中,所述第一移动增量与第一坐标差正相关,所述第一坐标差为所述第二节点的第一坐标和所述第一节点的第一坐标之差或者所述第一节点的第一坐标和所述第二节点的第一坐标之差。
31.在该实现方式中,第一移动增量与第一坐标差正相关,可以使得第二节点和第一节点在第二拓扑图中的位置关系与第二节点和第一节点在第一拓扑图中的位置关系基本不变。
32.在一种可能的实现方式中,所述第一移动增量由所述第一坐标差和非线性正相关因子得到,在所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离大于预设间距的情况下,所述非线性正相关因子由所述预设间距与所述第一距离的比值的m次幂得到,所述m为大于0且小于1的实数;或者,在所述第一距离小于或等于所述预设间距的情况下,所述非线性正相关因子为由所述预设间距与所述第一距离的比值得到。
33.在一种可能的实现方式中,所述非线性正相关因子满足如下公式:
[0034][0035]
其中,r(l)表示非线性正相关因子,l
min
表示预设间距,l表示第一距离,m为常数。m为可根据实际需求自行配置的常数,例如0.5、0.6、0.65、0.7等。预设间距可根据实际需求自行配置。例如,预设间距为节点大小的4倍。对于用圆形表示的节点来说,节点大小为其对应的圆形的直径。对于用正方形表示的节点来说,节点大小为其对应的正方形的长度(或对角线的长度)。
[0036]
在该实现方式中,由非线性正相关因子和第一坐标差得到第一移动增量,可以收敛长连接,保证第二拓扑图的布局紧凑。
[0037]
在一种可能的实现方式中,所述第一移动增量由所述第一坐标差和线性正相关因子得到。
[0038]
在该实现方式中,第一移动增量由第一坐标差和线性正相关因子得到,可以使得第二拓扑图的结构与第一拓扑图的结构完全相同。
[0039]
在一种可能的实现方式中,在获取第一拓扑图中的各拓扑节点的原始坐标信息之前,所述方法还包括:在获取拓扑节点信息和原始坐标信息之前,所述方法还包括:接收目标网络中的节点上传的告警信息,所述目标网络包括所述第一节点、所述第二节点以及所述第三节点;根据所述告警信息以及拓扑图元数据,确定所述目标网络中与故障相关的多个节点;所述拓扑图元数据用于确定所述目标网络中的各节点之间的拓扑关系;所述获取第一拓扑图中的各拓扑节点的原始坐标信息包括:获取所述多个节点在所述第一拓扑图中对应的所述原始坐标信息。
[0040]
在该实现方式中,根据告警信息以及拓扑图元数据,确定目标网络中与故障相关
的多个节点;获取该多个节点在第一拓扑图中对应的原始坐标信息;可以准确地获取该目标网络中与故障相关的多个节点对应的原始坐标信息。
[0041]
在一种可能的实现方式中,在根据所述原始坐标信息,生成第二拓扑图之后,所述方法还包括:显示所述第二拓扑图或者发送所述第二拓扑图。
[0042]
在该实现方式中,显示第二拓扑图或者发送该第二拓扑图,可以直观的显示该第二拓扑图或者将该第二拓扑图发送给相应的设备。
[0043]
第二方面,本技术提供了一种网络拓扑生成装置,该网络拓扑生成装置包括:获取单元,用于获取第一拓扑图中的各拓扑节点的原始坐标信息;所述原始坐标信息包括所述第一拓扑图中的各拓扑节点的第一坐标;所述第一拓扑图中的各拓扑节点包括第一节点、第二节点以及第三节点;生成单元,用于根据所述原始坐标信息,生成第二拓扑图;所述第二拓扑图对应于所述第一拓扑图缩放后的拓扑图,所述第二节点在所述第二拓扑图中的第二坐标以所述第一节点在所述第二拓扑图中的第二坐标为基准点得到,所述第三节点在所述第二拓扑图中的第二坐标以所述第二节点在所述第二拓扑图中的第二坐标为基准点得到。
[0044]
在一种可能的实现方式中,所述原始坐标信息还指示所述多个节点之间的连接关系,所述第一节点和所述第二节点之间具有连接关系,所述第二节点和所述第三节点之间具有连接关系。
[0045]
在一种可能的实现方式中,所述第一拓扑图中的第一连接线和第二连接线之间的夹角等于所述第二拓扑图中的第三连接线和第四连接线之间的夹角,所述第一连接线为所述第一拓扑图中的所述第一节点和所述第二节点之间的连接线,所述第二连接线为所述第一拓扑图中的所述第二节点和所述第三节点之间的连接线,所述第三连接线为所述第二拓扑图中的所述第一节点和所述第二节点之间的连接线,所述第四连接线为所述第二拓扑图中的所述第二节点和所述第三节点之间的连接线。
[0046]
在一种可能的实现方式中,所述第三连接线的长度与所述第一连接线的长度的比值不等于所述第四连接线的长度与所述第二连接线的长度的比值。
[0047]
在一种可能的实现方式中,所述第二拓扑图中的任意两个节点之间的距离大于或等于预设距离。
[0048]
在一种可能的实现方式中,所述第二节点在所述第二拓扑图中的第二坐标以所述第一节点在所述第二拓扑图中的第二坐标为基准点得到包括:所述第二节点在所述第二拓扑图中的第二坐标由所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标得到。
[0049]
在一种可能的实现方式中,所述第二节点在所述第二拓扑图中的第二坐标由第一移动增量和所述第一节点在所述第二拓扑图中的第二坐标得到,所述第一移动增量由所述第一节点的第一坐标和所述第二节点的第一坐标得到。
[0050]
在一种可能的实现方式中,所述第一移动增量与第一坐标差正相关,所述第一坐标差为所述第二节点的第一坐标和所述第一节点的第一坐标之差或者所述第一节点的第一坐标和所述第二节点的第一坐标之差。
[0051]
在一种可能的实现方式中,所述生成单元,具体用于根据所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标,确定所
述第二节点在所述第二拓扑图中的第二坐标。
[0052]
在一种可能的实现方式中,所述生成单元,具体用于采用如下公式计算所述第二节点在所述第二拓扑图中的第二坐标:
[0053]
x2_new=x1_new+(x2_old

x1_old)*s;
[0054]
y2_new=y1_new+(y2_old

y1_old)*s;
[0055]
其中,所述x2_new表示所述第二节点在第二拓扑图中的第二坐标的横坐标,所述y2_new表示所述第二节点在第二拓扑图中的第二坐标的纵坐标,所述x1_new表示所述第一节点在第二拓扑图中的第二坐标的横坐标,所述y1_new表示所述第一节点在第二拓扑图中的第二坐标的纵坐标,所述x2_old表示所述第二节点的第一坐标的横坐标,所述y2_old表示所述第一节点的第一坐标的纵坐标,所述x1_old表示所述第一节点的第一坐标的横坐标,所述y1_old表示所述第一节点的第一坐标的纵坐标,所述s表示缩放因子。所述s为一个实数。所述s可以是一个预先配置的值。或者,所述s可以由所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离得到。
[0056]
在一种可能的实现方式中,所述生成单元,具体用于根据所述第一节点的第一坐标和所述第二节点的第一坐标,确定所述第一移动增量;根据所述第一移动增量和所述第一节点在所述第二拓扑图中的第二坐标,确定所述第二节点在所述第二拓扑图中的第二坐标。
[0057]
在一种可能的实现方式中,所述生成单元,具体用于获取第一坐标差,所述第一坐标差为所述第二节点的第一坐标和所述第一节点的第一坐标之差或者所述第一节点的第一坐标和所述第二节点的第一坐标之差;根据所述第一坐标差和非线性正相关因子,确定所述第一移动增量;在所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离大于预设间距的情况下,所述非线性正相关因子由所述预设间距与所述第一距离的比值的m次幂得到,所述m为大于0且小于1的实数;或者,在所述第一距离小于或等于所述预设间距的情况下,所述非线性正相关因子为由所述预设间距与所述第一距离的比值得到。
[0058]
在一种可能的实现方式中,所述第一移动增量由所述第一坐标差和非线性正相关因子得到,在所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离大于预设间距的情况下,所述非线性正相关因子由所述预设间距与所述第一距离的比值的m次幂得到,所述m为大于0且小于1的实数;或者,在所述第一距离小于或等于所述预设间距的情况下,所述非线性正相关因子为由所述预设间距与所述第一距离的比值得到。
[0059]
在一种可能的实现方式中,所述生成单元,还用于采用如下公式计算所述非线性正相关因子:
[0060][0061]
其中,r(l)表示非线性正相关因子,l
min
表示预设间距,l表示第一距离,m为常数。m为可根据实际需求自行配置的常数,例如0.5、0.6、0.65、0.7等。预设间距可根据实际需求自行配置。例如,预设间距为节点大小的4倍。对于用圆形表示的节点来说,节点大小为其对应的圆形的直径。对于用正方形表示的节点来说,节点大小为其对应的正方形的长度(或对角线的长度)。
[0062]
在一种可能的实现方式中,所述网络拓扑生成装置还包括:接收单元,用于接收目标网络中的节点上传的告警信息,所述目标网络中的多个节点对应于所述第一拓扑图中的各拓扑节点;故障确定单元,用于根据所述告警信息以及拓扑图元数据,确定所述目标网络中与故障相关的所述多个节点;所述拓扑图元数据用于确定所述目标网络中的各节点之间的拓扑关系;所述获取单元,具体用于获取所述多个节点对应的所述拓扑节点信息和所述原始坐标信息。
[0063]
在一种可能的实现方式中,所述输出单元,具体用于显示所述第二拓扑图或者发送所述第二拓扑图。
[0064]
关于第二方面或各种可能的实施方式所带来的技术效果,可参考对于第一方面或相应的实现方式的技术效果的介绍。
[0065]
第三方面,本技术实施例提供了一种网络拓扑生成装置,该网络拓扑生成装置包括:一个或多个处理器、存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器用于调用该计算机指令以使得该网络拓扑生成装置执行:获取第一拓扑图中的各拓扑节点的原始坐标信息;所述原始坐标信息包括所述第一拓扑图中的各拓扑节点的第一坐标;所述第一拓扑图中的各拓扑节点包括第一节点、第二节点以及第三节点;根据所述原始坐标信息,生成第二拓扑图;所述第二拓扑图对应于所述第一拓扑图缩放后的拓扑图,所述第二节点在所述第二拓扑图中的第二坐标以所述第一节点在所述第二拓扑图中的第二坐标为基准点得到,所述第三节点在所述第二拓扑图中的第二坐标以所述第二节点在所述第二拓扑图中的第二坐标为基准点得到。
[0066]
结合第三方面,在一些实施例中,该网络拓扑生成装置包括:通信接口,用于接收目标网络中的节点上传的告警信息,所述目标网络包括所述第一节点、所述第二节点以及所述第三节点;该一个或多个处理器,还用于调用该计算机指令以使得该终端设备执行:根据所述告警信息以及拓扑图元数据,确定所述目标网络中与故障相关的多个节点;所述拓扑图元数据用于确定所述目标网络中的各节点之间的拓扑关系;获取所述多个节点在所述第一拓扑图中对应的所述原始坐标信息。
[0067]
结合第三方面,在一些实施例中,该网络拓扑生成装置包括:输出设备,用于显示所述第二拓扑图或者发送所述第二拓扑图。
[0068]
结合第三方面,在一些实施例中,该一个或多个处理器还用于调用该计算机指令以使得该网络拓扑生成装置执行:根据所述第一节点的第一坐标、所述第一节点在所述第二拓扑图中的第二坐标以及所述第二节点的第一坐标,确定所述第二节点在所述第二拓扑图中的第二坐标。
[0069]
结合第三方面,在一些实施例中,该一个或多个处理器还用于调用该计算机指令以使得该网络拓扑生成装置执行:根据所述第一节点的第一坐标和所述第二节点的第一坐标,确定所述第一移动增量;根据所述第一移动增量和所述第一节点在所述第二拓扑图中的第二坐标,确定所述第二节点在所述第二拓扑图中的第二坐标。
[0070]
结合第三方面,在一些实施例中,该一个或多个处理器还用于调用该计算机指令以使得该网络拓扑生成装置执行:获取第一坐标差,所述第一坐标差为所述第二节点的第一坐标和所述第一节点的第一坐标之差或者所述第一节点的第一坐标和所述第二节点的
第一坐标之差;根据所述第一坐标差和非线性正相关因子,确定所述第一移动增量;在所述第一拓扑图中的所述第一节点和所述第二节点之间的第一距离大于预设间距的情况下,所述非线性正相关因子由所述预设间距与所述第一距离的比值的m次幂得到,所述m为大于0且小于1的实数;或者,在所述第一距离小于或等于所述预设间距的情况下,所述非线性正相关因子为由所述预设间距与所述第一距离的比值得到。
[0071]
第四方面,本技术实施例提供了一种芯片,该芯片应用于终端设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
[0072]
第五方面,本技术实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在终端设备上运行时,使得上述终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
[0073]
第六方面,本技术实施例提供一种计算机可读存储介质,包括指令,当上述指令在终端设备上运行时,使得上述终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
[0074]
可以理解地,上述第三方面提供的终端设备、第四方面提供的芯片、第五方面提供的计算机程序产品和第六方面提供的计算机存储介质均用于执行本技术实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
[0075]
为了更清楚地说明本技术实施例或背景技术中的技术方案,下面将对本技术实施例或背景技术中所需要使用的附图进行说明。
[0076]
图1为本技术实施例提供的一种等比例缩放子图方案的示意图;
[0077]
图2为本技术实施例提供的一种网络拓扑图的示例;
[0078]
图3为本技术实施例提供的另一种网络拓扑图的示例;
[0079]
图4为本技术实施例提供的一种网络拓扑图生成过程的示意图的示例;
[0080]
图5为本技术实施例提供的一种网络拓扑生成方法流程图;
[0081]
图6为本技术实施例提供的另一种网络拓扑生成方法流程图;
[0082]
图7为本技术实施例提供的一种坐标确定方法流程图;
[0083]
图8为本技术实施例提供的一种收缩因子函数曲线图的示例;
[0084]
图9为本技术实施例提供的一种拓扑图对比示意图;
[0085]
图10为本技术实施例提供的一种节点新旧坐标对比示意图;
[0086]
图11为本技术实施例提供的另一种拓扑图对比示意图;
[0087]
图12为本技术实施例提供的另一种网络拓扑生成方法流程图;
[0088]
图13为本技术实施例提供的一种起始锚点的选取示意图;
[0089]
图14为本技术实施例提供的子节点n1在第一拓扑图中的第一坐标和在第二拓扑图中的第二坐标的示例;
[0090]
图15为本技术实施例提供的另一种网络拓扑生成方法流程图;
[0091]
图16为本技术实施例提供的一种网络拓扑生成装置的结构示意图;
[0092]
图17为本技术实施例提供的一种终端设备的结构示意图。
具体实施方式
[0093]
本技术的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
[0094]
本技术以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本技术的限制。如在本技术的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本技术中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。本技术中使用的术语“多个”是指两个或两个以上。本技术中使用的术语“节点”和“网元”是相同的概念。
[0095]
由于实际应用中的网络规模通常很大,运维人员通常仅需要获取整个网络中的部分节点的网络拓扑图。例如,在网络中的一个或多个节点发生故障之后,为避免过多的网络结构信息使得运维人员无法有效捕捉关键信息,运维人员仅需要获取整个网络中受故障影响的这些节点对应的网络拓扑图。又例如,运维人员仅需要获取整个网络中的与某个节点相关的各节点对应的网络拓扑图。也就是说,运维人员有时候仅需要获取全局网络拓扑图(对应于整网)的子图(例如对应于受故障影响的各节点)。一种获取整网中的部分节点对应的子图的方式是直接从全局网络拓扑图中切取子图。由于子图中的节点的布局通过比较松散,不利于一屏展示,因此需要重新布局子图。重新布局子图的目标是:子图中节点的布局比较紧凑,利于一屏展示。
[0096]
为解决直接从全局网络拓扑图中切取的子图不利于一屏显示的问题,一种网络拓扑生成方案(等比例缩放子图方案)如下:将在子图中选取的某中心点作为基准锚节点(或者说基准节点、基准锚点),其他节点都基于该基准节点按照等比例收缩。图1为本技术实施例提供的一种等比例缩放子图方案的示意图。如图1所示,选取节点0作为基准锚点(或者说锚节点),其他节点均以节点0为基准,绘制移动虚直线,在该移动基准线上按照比例线性收缩。
[0097]
图1所展示的等比例缩放子图方案可能导致如下问题:
[0098]
1、节点重叠
[0099]
采用等比例缩放子图方案生成网络拓扑图(即重新布局子图)时,选择固定的基准锚点做收缩,所有节点都相对该节点移动,此方式会导致节点交叠。
[0100]
图2为本技术实施例提供的一种网络拓扑图的示例。如图2所示,受限区域(虚线框包围的矩形区域)为运维人员期望各节点所处的区域,箭头方向指示节点2、节点3、节点4的移动方向,节点2、节点3、节点4均相对基准锚点1按照相同比例收缩,这样会出现节点重叠。此时如果要解决重叠问题需要进行二次布局调整,一旦调整会影响其他节点间的距离,形成关联调整最终导致布局性能下降,并增加处理时长。
[0101]
2、布局不紧凑
[0102]
等比例缩放子图方案是基于线性等比收缩各节点与基准节点之间的连线的长度。
当拓扑子图中较长的连接和较短的连接按照相同比例收缩时,容易出现距离基准节点较近的节点收缩比较紧凑,而距离基准节点较远的节点收缩比较松散。图3为本技术实施例提供的另一种网络拓扑图的示例。如图3所示,受限区域(虚线框包围的矩形区域)为运维人员期望各节点所处的区域,距离基准节点1较近的节点a按线性收缩之后位于该显示区域,距离基准节点1较近的节点2按线性收缩之后仍位于该显示区域之外。如果设置的等比收缩因子过大,又会导致节点重叠(参阅图2)。
[0103]
为解决等比例缩放子图方案造成的节点重叠以及布局不紧凑的问题,本技术提供一种新的网络拓扑生成方法。本技术提供的网络拓扑生成方法采用子节点遍历和父子节点两两迭代布局的方式,子节点新坐标(对应于第二坐标)基于平行四边形法则得到,能够保证生成的网络拓扑图(对应于子图)中的各节点的位置关系与该各节点在全局网络拓扑图中的位置关系基本相同。进一步的,本技术提供的网络拓扑生成方法中,子节点新坐标的收缩幅度基于非线性限距收缩函数计算,可以避免生成的网络拓扑图中的节点重叠以及网络拓扑图的布局不紧凑。
[0104]
下面先结合附图介绍本技术提供的网络拓扑生成方法适用的一种应用场景的示例。
[0105]
图4为本技术实施例提供的一种网络拓扑图生成过程的示意图的示例。图4中各组件(或者说模块)的功能或介绍参阅表1。图4中,实线箭头表示数据流,虚线箭头表示控制信号流(或者称消息流)。如图4所示,实际网络环境中一个域内的网元上报的告警数据会统一上报到网管系统收集。即由网管系统(即网络拓扑生成装置,例如服务器或电脑)中的告警采集模块进行告警数据的汇总。然后,网管系统调用智能故障模块对告警数据进行相关性分析,将告警数据聚类成故障;并根据告警采集模块上报的网元的身份标识(identity document,id),结合拓扑图元数据计算故障传播图,也就是故障节点信息(或者称拓扑图元id集合)。拓扑图元数据可以是全局网络拓扑图或者其他用于确定网络中各网元之间的连接关系的数据。故障节点信息指示智能故障模块计算的与故障相关的各节点和该各节点之间的连接。该拓扑图元id集合会存储在智能故障模块中,智能故障模块将该拓扑图元id集合上报给拓扑呈现模块。拓扑呈现模块根据与故障相关的各节点的id在拓扑图元数据库中查询该各节点对应的原始坐标(对应于第一坐标)和图标等拓扑展示信息(即原始坐标信息)。然后,拓扑呈现模块将原始坐标信息(包含与故障相关的各节点的原始坐标)传递给自动布局模块。自动布局模块根据原始坐标信息执行本技术提供的网络拓扑生成方法,得到目标坐标信息(包含与故障相关的各节点的新坐标)。自动布局模块将目标坐标信息发送给拓扑呈现模块。拓扑呈现模块根据目标坐标信息生成网络拓扑图,并展示。也就是说,自动布局模块在获取到与故障相关的各节点在全局网络拓扑图(对应于第一拓扑图)中的坐标信息后,执行本技术提供的网络拓扑生成方法,得到与故障相关的各节点的新坐标,然后通过拓扑呈现模块展示生成的网络拓扑图(对应于第二拓扑图)。
[0106]
表1
[0107][0108]
应理解,图4展示的仅为本技术提供的一种网络拓扑图生成过程的示例。网络系统还可通过其他方式来生成网络拓扑图。例如,智能故障模块可将该故障节点信息上报给自动布局模块,自动布局模块根据与故障相关的各节点的id在拓扑图元数据库中查询该各节点对应的原始坐标。网管系统(即网络拓扑生成装置)中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个模块可以为单独设立的处理元件,也可以集成在网络拓扑生成装置的某一个芯片中实现。此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个模块的功能。此外各个模块可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理元件中的硬件的集成逻辑电路或者软件形式的指令完成。实际应用中,网络拓扑生成装置还可以包括更多或更少的功能模块,这里不作限制。
[0109]
下面结合附图介绍本技术提供的网络拓扑生成方案。
[0110]
图5为本技术实施例提供的一种网络拓扑生成方法流程图。如图5所示,该方法包括:
[0111]
步骤501、网络拓扑生成装置获取第一拓扑图中的各拓扑节点的原始坐标信息。
[0112]
原始坐标信息包括第一拓扑图中的各拓扑节点的第一坐标。第一拓扑图中的各拓扑节点包括第一节点、第二节点以及第三节点。第一节点、第二节点以及第三节点可以为第一拓扑图中不同的节点。第一拓扑图中的各拓扑节点可以是第一拓扑图中的部分拓扑节点,也可以是该第一拓扑图中的全部拓扑节点。
[0113]
步骤501一种可能的实现方式如下:网络拓扑生成装置获取第一拓扑图中与故障相关的各拓扑节点的坐标,得到原始坐标信息。步骤501另一种可能的实现方式如下:网络拓扑生成装置获取第一拓扑图中的目标拓扑节点(即各拓扑节点)的坐标,得到原始坐标信息。目标拓扑节点可以是第一拓扑图中的部分节点,例如某条数据传输链路上的节点。
[0114]
在一种可能的实现方式中,原始坐标信息还指示上述第一节点和上述第二节点之间的连接关系,以及上述第二节点和上述第三节点之间的连接关系。例如,原始坐标信息指示第一拓扑图中的各拓扑节点之间的连接关系。
[0115]
步骤502、网络拓扑生成装置根据原始坐标信息,生成第二拓扑图。
[0116]
第二拓扑图对应于第一拓扑图缩放后的拓扑图。上述第二节点在上述第二拓扑图中的第二坐标以上述第一节点在上述第二拓扑图中的第二坐标为基准点得到。上述第三节点在上述第二拓扑图中的第二坐标以上述第二节点在上述第二拓扑图中的第二坐标为基准点得到。第二拓扑图可以视为对第一拓扑图做收缩处理,得到的一个相比于该第一拓扑图布局更紧凑的拓扑图。第二拓扑图也可以视为对第一拓扑图中的子图(例如仅包含与故障相关的节点)做收缩处理,得到的一个相比于该子图布局更紧凑的拓扑图。
[0117]
第二节点可视为第一节点的子节点,第三节点可视为第二节点的子节点。本技术实施例提供的网络拓扑生成方法可理解为子节点相对父节点依次移动,可以保证单次布局效果,提高布局效率,避免节点重叠导致的布局微调整。
[0118]
步骤502一种可能的实现方式如下:根据第一节点的第一坐标、第一节点在第二拓扑图中的第二坐标以及第二节点的第一坐标,确定第二节点在第二拓扑图中的第二坐标。这里描述了确定第二节点在第二拓扑图中的第二坐标的方式。应理解,网络拓扑生成装置可采用类似或相同的实现方式确定任意节点在第二拓扑图中的第二坐标的方式。例如,网络拓扑生成装置根据第二节点的第一坐标、第二节点在第二拓扑图中的第二坐标以及第三节点的第一坐标,确定第三节点在第二拓扑图中的第二坐标。在一些实施例中,网络拓扑生成装置根据原始坐标信息,确定各节点在第二拓扑图中的第二坐标;根据各节点在第二拓扑图中的第二坐标,生成第二拓扑图。后续再详述网络拓扑生成装置根据第一节点的第一坐标、第一节点在第二拓扑图中的第二坐标以及第二节点的第一坐标,确定第二节点在第二拓扑图中的第二坐标的实现方式。
[0119]
本技术实施例中,第二节点在第二拓扑图中的第二坐标以第一节点在第二拓扑图中的第二坐标为基准点得到,第三节点在第二拓扑图中的第二坐标以第二节点在第二拓扑图中的第二坐标为基准点得到,能够高效地生成网络逻辑拓扑图,并避免第二拓扑图中的节点重叠导致的布局微调整。
[0120]
图6为本技术实施例提供的另一种网络拓扑生成方法流程图。图6中的方法流程是图5中的方法流程的一种可能的实现方式。如图6所示,该方法包括:
[0121]
601、网络拓扑生成装置接收目标网络中的节点上传的告警信息。
[0122]
目标网络可以是任意网络(对应于整个网络),例如局域网、城域网、广域网;也可以是用户指定的局部网络,例如某个局域网。
[0123]
步骤601可替换为:网络拓扑生成装置通过告警采集模块采集目标网络中的各节点的告警信息。
[0124]
602、网络拓扑生成装置根据告警信息以及拓扑图元数据,确定目标网络中与故障相关的各节点。
[0125]
上述拓扑图元数据用于确定上述目标网络中的各节点之间的拓扑关系,即连接关系。目标网络中与故障相关的各节点包括第一节点、第二节点以及第三节点。网络拓扑生成装置可从拓扑图元数据库中获取拓扑图元数据。
[0126]
603、网络拓扑生成装置获取目标网络中与故障相关的各个节点的原始坐标信息。
[0127]
上述原始坐标信息包括第一拓扑图中与故障相关的各个节点的第一坐标。例如,原始坐标信息包括第一节点的第一坐标、第二节点的第一坐标以及第三节点的第一坐标。
上述原始坐标信息还指示第一拓扑图中与故障相关的各个节点之间的连接关系。例如,原始坐标信息包括与故障相关的各个节点的第一坐标,以及与故障相关的各个节点之间的连接关系。第一拓扑图可视为目标网络的拓扑图。也就是说,第一拓扑图可反映目标网络中各节点之间的拓扑关系。
[0128]
604、网络拓扑生成装置根据与故障相关的各个节点的原始坐标信息,生成第二拓扑图。
[0129]
上述第二拓扑图可视为上述第一拓扑图的子图(即表征与故障相关的各个节点之间的连接关系的拓扑图)缩放后的拓扑图。为更好地理解第二拓扑图与第一拓扑图之间的关系,网络拓扑生成装置根据与故障相关的各个节点的原始坐标信息,生成第二拓扑图可理解为:对第一拓扑图中表征与故障相关的各个节点之间的连接关系的子图做缩放处理,得到第二拓扑图。也就是说,从生成第二拓扑图的目的来看,生成第二拓扑图可视为生成第一拓扑图的子图缩放后的拓扑图,并不是真的对第一拓扑图的子图做缩放处理。
[0130]
上述第二节点在上述第二拓扑图中的第二坐标以上述第一节点在上述第二拓扑图中的第二坐标为基准点得到。上述第三节点在上述第二拓扑图中的第二坐标以上述第二节点在上述第二拓扑图中的第二坐标为基准点得到。步骤604的实现方式可与步骤502的实现方式相同。
[0131]
605、网络拓扑生成装置显示第二拓扑图。
[0132]
步骤605可替换为:网络拓扑生成装置发送第二拓扑图。例如,网络拓扑生成装置将第二拓扑图发送给个人电脑、笔记本电脑、服务器、台式电脑等可显示第二拓扑图的终端设备,也可以是通过其关联的打印机打印出第二拓扑图。
[0133]
本技术实施例中,网络拓扑生成装置根据目标网络中与故障相关的各个节点的原始坐标信息,生成第二拓扑图。在生成该第二拓扑图的过程中,第二节点在第二拓扑图中的第二坐标以第一节点在第二拓扑图中的第二坐标为基准点得到,第三节点在第二拓扑图中的第二坐标以第二节点在第二拓扑图中的第二坐标为基准点得到,能够高效地生成与故障相关的各节点的网络逻辑拓扑图,并避免第二拓扑图中的节点重叠导致的布局微调整。
[0134]
由于前述实施例未详述网络拓扑生成装置根据第一节点的第一坐标、第一节点在第二拓扑图中的第二坐标以及第二节点的第一坐标,确定第二节点在第二拓扑图中的第二坐标可能的实现方式。下面结合附图介绍一种可能的根据第一节点的第一坐标、第一节点在第二拓扑图中的第二坐标以及第二节点的第一坐标,确定第二节点在第二拓扑图中的第二坐标的实现方式。
[0135]
图7为本技术实施例提供的一种坐标确定方法流程图。网络拓扑生成装置执行图7中的方法流程可确定第二节点在在第二拓扑图中的第二坐标。如图7所示,该方法包括:
[0136]
701、网络拓扑生成装置根据第一节点的第一坐标和第二节点的第一坐标,确定第一移动增量。
[0137]
步骤701一种可能的实现方式如下:网络拓扑生成装置获取第一坐标差;根据上述第一坐标差和非线性正相关因子,确定上述第一移动增量。上述第一坐标差为上述第二节点的第一坐标和上述第一节点的第一坐标之差或者上述第一节点的第一坐标和上述第二节点的第一坐标之差。获取第一坐标差可以是计算上述第二节点的第一坐标和上述第一节点的第一坐标之差,也可以是计算上述第一节点的第一坐标和上述第二节点的第一坐标之
差。根据上述第一坐标差和非线性正相关因子,确定上述第一移动增量可以是:将第一坐标和非线性正相关因子之积作为第一移动增量。在上述第一拓扑图中的上述第一节点和上述第二节点之间的第一距离大于预设间距的情况下,上述非线性正相关因子由上述预设间距与上述第一距离的比值的m次幂得到。上述m为大于0且小于1的实数。或者,在上述第一距离小于或等于上述预设间距的情况下,上述非线性正相关因子为由上述预设间距与上述第一距离的比值得到。在一种可能的实现方式中,上述非线性正相关因子满足如下公式:
[0138][0139]
其中,r(l)表示非线性正相关因子,l
min
表示预设间距,l表示第一距离,m为常数。m为可根据实际需求自行配置的常数,例如0.5、0.6、0.65、0.7等。预设间距可根据实际需求自行配置。例如,预设间距为节点大小的4倍。对于用圆形表示的节点来说,节点大小为其对应的圆形的直径。对于用正方形表示的节点来说,节点大小为其对应的正方形的长度(或对角线的长度)。图8为本技术实施例提供的一种收缩因子函数曲线图的示例。图8中,横坐标为纵坐标为缩放比例(即r(l)),实线表示公式(1)中的缩放函数。图9为本技术实施例提供的一种拓扑图对比示意图。图9中,左边的拓扑图为第一拓扑图的示例,右边的拓扑图为第二拓扑图的示例。对比图9中的第一拓扑图的示例和第二拓扑图的示例可知,第一拓扑图中的长连接收敛为短连接。应理解,网络拓扑生成装置可基于非线性正相关因子收敛长连接,保证布局紧凑。
[0140]
在一种可能的实现方式中,网络拓扑生成装置根据第一坐标差和非线性正相关因子,确定上述第一移动增量的公式如下:
[0141]
d1=r(n1-n0)
ꢀꢀꢀꢀ
(2);
[0142]
其中,d1表示第一移动增量,r表示非线性正相关因子(对应于第二节点),(n1-n0)表示第一坐标差,n1表示第二节点的第一坐标,n0表示第一节点的第一坐标。公式(2)中的r可采用公式(1)计算得到。
[0143]
在一些实施例中,网络拓扑生成装置根据上述第一坐标差和非线性正相关因子,确定上述第一移动增量之前,可采用公式(1)计算得到非线性正相关因子。
[0144]
步骤701另一种可能的实现方式如下:获取第一坐标差;根据上述第一坐标差和线性正相关因子,确定上述第一移动增量。线性正相关因子可以是根据实际需求配置的一个实数,例如0.5、0.6等。根据上述第一坐标差和线性正相关因子,确定上述第一移动增量可以是:网络拓扑生成装置将第一坐标和线性正相关因子之积作为第一移动增量。
[0145]
702、根据第一移动增量和第一节点在第二拓扑图中的第二坐标,确定第二节点在第二拓扑图中的第二坐标。
[0146]
步骤702一种可能的实现方式如下:将第一移动增量和第一节点在第二拓扑图中的第二坐标之和,作为第二节点在第二拓扑图中的第二坐标。
[0147]
在一种可能的实现方式中,根据第一移动增量和第一节点在第二拓扑图中的第二坐标,确定第二节点在第二拓扑图中的第二坐标的公式如下:
[0148]
n1’=n0’+d1
ꢀꢀꢀꢀꢀ
(3);
[0149]
其中,n1’表示第二节点在第二拓扑图中的第二坐标,n0’表示第一节点在第二拓扑图中的第二坐标,d1表示第一移动增量。结合公式(2)和公式(3)可知,第二节点在第二拓扑图中的第二坐标基于平行四边形法则得到。在实际应用中,任意节点在第二拓扑图中的第二坐标均可基于平行四边形法则确定。图10为本技术实施例提供的一种节点新旧坐标对比示意图。图10中,1001表示第一节点在第一拓扑图中的第一坐标(对应于旧坐标),1002表示第二节点在第一拓扑图中的第一坐标(对应于旧坐标),1003表示第一节点在第二拓扑图中的第二坐标(对应于新坐标),1004表示第二节点在第二拓扑图中的第二坐标(对应于新坐标),1005表示基准节点(旧坐标和新坐标相同)。如图10所示,1001和1002的连线与1001和1005的连线之间的夹角等于1003和1004的连线与1003和1005的连线之间的夹角。基准节点可称为基准锚点、基准锚节点、起始锚点等。应理解,本技术实施例中,网络拓扑生成装置基于平行四边形法则推导子节点移动函数,确保相对夹角不变,并保证第二拓扑图中的各节点的结构与这些节点在第一拓扑图中的结构相对一致。图11为本技术实施例提供的另一种拓扑图对比示意图。图11中,1101为第一拓扑图的示例,1102为第二拓扑图的示例。对比图11中的第一拓扑图的示例和第二拓扑图的示例可知,第二拓扑图中各连接线之间的夹角与其在第一拓扑图中相对应的各连接线之间的夹角相等。也就是说,第二拓扑图中任意两条连接线之间的夹角等于其在第一拓扑图中对应的两条连接线之间的夹角。
[0150]
本技术实施例中,根据第一移动增量和第一节点在第二拓扑图中的第二坐标,确定第二节点在第二拓扑图中的第二坐标;可以保证第二节点和第一节点在该第二拓扑图中的位置关系与第二节点和第一节点在该第一拓扑图中的位置关系基本不变。
[0151]
图12为本技术实施例提供的另一种网络拓扑生成方法流程图。图12中的方法流程是图5中的方法流程的一种可能的实现方式。如图12所示,该方法包括:
[0152]
1201、网络拓扑生成装置获取原始坐标信息。
[0153]
上述原始坐标信息包括上述第一拓扑图中的各拓扑节点的第一坐标。
[0154]
步骤1201一种可能的实现方式如下:网络拓扑生成装置中的自动布局模块从拓扑呈现模块(或者说拓扑呈现部件)获取与故障相关的各拓扑节点的第一坐标(对应于原始坐标信息)。在一些实施例中,智能故障模块可将与故障相关的各节点的id(例如包含与故障相关的各节点的id的拓扑图元列表)发送给拓扑呈现模块;拓扑呈现模块根据与故障相关的各节点的id在拓扑图元数据库中查询该各节点对应的原始坐标(对应于第一坐标)和图标等拓扑展示信息。然后,拓扑呈现模块将原始坐标信息(包含与故障相关的各节点的原始坐标)传递给自动布局模块。
[0155]
1202、网络拓扑生成装置选取起始锚点n0。
[0156]
步骤1202一种可能的实现方式如下:网络拓扑生成装置中的自动布局模块从原始坐标信息指示的多个节点中随机选取一个节点作为起始锚点。例如,自动布局模块选取原始坐标信息指示的多个节点中位于左上角的节点(即横坐标最小纵坐标最大的节点)作为起始锚点。图13为本技术实施例提供的一种起始锚点的选取示意图。图13中,每个节点表示原始坐标信息指示的1个节点,图13中位于左上角的节点n0作为起始锚点。起始锚点的位置在缩放前后不变,即:n0’=n0,增量d0=(0,0)。n0’表示起始锚点在第二拓扑图中的第二坐标,n0表示该起始锚点在第一拓扑图中的第一坐标,d0对应于第一移动增量。由于起始锚点的选择在本技术实施例中不是关键,将任意节点作为起始锚点都可以达到目的完成布局。
[0157]
1203、网络拓扑生成装置以起始锚点n0为父节点,获取父节点no的子节点n1。
[0158]
举例来说,网络拓扑生成装置搜索遍历起始锚点n0的子节点,得到子节点n1。本技术中,任意节点的子节点是指与该任意节点具备连接关系的节点。又举例来说,网络拓扑生成装置搜索遍历起始锚点n0的子节点,得到多个子节点(包括子节点n1)。
[0159]
1204、网络拓扑生成装置计算子节点n1的第一移动增量。
[0160]
网络拓扑生成装置可根据父节点n0和子节点n1分别在第一拓扑图中的第一坐标,基于非线性限距收缩函数计算第一移动增量。在一些实施例中,网络拓扑生成装置可采用上述公式(2)计算子节点n1的第一移动增量;其中,n1表示父节点n1在第一拓扑图中的第一坐标,n0表示子节点n0在第一拓扑图中的第一坐标,r表示非线性正相关因子。d1=r(n1-n0)对应于非线性限距收缩函数。
[0161]
1205、网络拓扑生成装置根据第一移动增量和父节点n0在第二拓扑图中的第二坐标,计算子节点n1在第二拓扑图中的第二坐标。
[0162]
在一些实施例中,网络拓扑生成装置可采用上述公式(3)计算n1在第二拓扑图中的第二坐标;其中,n1’表示第二节点(即子节点n1)在第二拓扑图中的第二坐标,n0’表示第一节点(即父节点n0)在第二拓扑图中的第二坐标,d1表示第一移动增量。图14为本技术实施例提供的子节点n1在第一拓扑图中的第一坐标和在第二拓扑图中的第二坐标的示例。网络拓扑生成装置根据第一移动增量和子节点n1在第一拓扑图中的第一坐标,计算子节点n1在第二拓扑图中的第二坐标可理解为:网络拓扑生成装置相对于起始锚点n0移动子节点n1。x0_new表示父节点n0在第二拓扑图中的第二坐标的横坐标,y0_new表示父节点n0在第二拓扑图中的第二坐标的纵坐标。由于起始锚点未移动,所以x0_new=x0,y0_new=y0,计算子节点n1在第二拓扑图中的第二坐标代入如下公式:
[0163]
x1_new=x0+(x1

x0)*r
ꢀꢀꢀꢀ
(4);
[0164]
y1_new=y0+(y1

y0)*r
ꢀꢀꢀꢀꢀꢀꢀ
(5);
[0165]
其中,x1_new表示子节点n1在第二拓扑图中的第二坐标的横坐标,y1_new表示子节点n1在第二拓扑图中的第二坐标的纵坐标,x0表示父节点n0在第一拓扑图中的第一坐标的横坐标,y0表示父节点n0在第一拓扑图中的第一坐标的纵坐标,x1表示子节点n1在第一拓扑图中的第一坐标的横坐标,y1表示子节点n1在第一拓扑图中的第一坐标的纵坐标,r表示非线性正相关因子。图14中,1401表示子节点n1在第一拓扑图中的第一坐标,1402表示子节点n1在第二拓扑图中的第二坐标,1403表示父节点n0,1404表示与子节点n1相连接的一个节点n2。
[0166]
1206、网络拓扑生成装置以n1为父节点重复执行步骤1203至1205,直到子节点遍历完成。
[0167]
步骤1202至步骤1206可理解为网络拓扑生成装置中的自动布局模块执行的拓扑图生成流程。子节点遍历结束是指原始坐标信息中的各节点的新坐标均已重新确定,即各节点在第二拓扑图中的第二坐标均已确定。在一些实施例中,当以起始锚点n0作为父节点,搜索遍历得到多个子节点时;以相同的方式分别确定该多个子节点中每个子节点在第二拓扑图中的第二坐标。然后,分别以多个子节点中的每个子节点作为父节点重复执行步骤1203至1205。
[0168]
1207、网络拓扑生成装置展示第二拓扑图。
[0169]
步骤1207一种可能的实现方式如下:自动布局模块将目标坐标信息返回拓扑呈现模块;拓扑呈现模块根据目标坐标信息,展示第二拓扑图。目标坐标信息包括第二拓扑图中的各拓扑节点的第二坐标。目标坐标信息与原始坐标信息相对应。举例来说,原始坐标信息包括节点n0、节点n1、节点n2、

节点n100在第一拓扑图中的第一坐标(原坐标);目标坐标信息包括节点n0、节点n1、节点n2、

节点n100在第二拓扑图中的第二坐标(新坐标)。
[0170]
本技术实施例中,采用子节点遍历和父子节点两两迭代布局的方式,其中子节点的新坐标移动基于平行四边形法则,保证了收缩后布局结构的稳定。
[0171]
下面结合排障运维阶段的场景以及网络拓扑生成装置中的各模块功能介绍一种网络拓扑生成方法的示例。排障运维阶段的场景是在图4中的故障数据分析准备阶段完成之后发生的。故障数据分析准备阶段是指智能故障模块根据告警数据,确定网络中的故障的阶段。
[0172]
图15为本技术实施例提供的另一种网络拓扑生成方法流程图。图15中的方法流程是图5中的方法流程的一种可能的实现方式。如图15所示,该方法包括:
[0173]
1501、智能故障模块打开智能故障界面首页。
[0174]
步骤1501一种可能的实现方式如下:响应于运维人员打开智能故障界面首页的操作,智能故障模块打开智能故障界面首页。智能故障模块打开智能故障界面首页可以是:智能故障模块通过显示器或显示屏显示智能故障界面首页。智能故障界面首页包括一个或多个用于选择待处理的故障的选项或接口。
[0175]
1502、智能故障模块选中待处理故障。
[0176]
步骤1502一种可能的实现方式如下:响应于运维人员通过智能故障界面首页选中待处理故障的操作,智能故障模块选中待处理故障。
[0177]
1503、智能故障模块加载拓扑呈现模块。
[0178]
步骤1502一种可能的实现方式如下:智能故障模块将与待处理故障相关的各节点的id传输给拓扑呈现模块。举例来说,智能故障模块将已经计算好的待处理故障涉及的所有节点的id(例如包含与故障相关的各节点的id的拓扑图元列表)传给拓扑呈现模块。
[0179]
1504、拓扑呈现模块在拓扑图元数据库中查询与待处理故障相关的各节点对应的原始坐标信息。
[0180]
例如,拓扑呈现模块基于与待处理故障相关的各节点的id在拓扑图元数据库中查询对应的原始坐标(即第一坐标)和图标等拓扑展示信息。原始坐标信息可包括与待处理故障相关的各节点的id以及每个id对应的原始坐标,即在第一拓扑图中的第一坐标。
[0181]
1505、拓扑呈现模块向自动布局模块发送原始坐标信息。
[0182]
1506、自动布局模块根据原始坐标信息,确定与待处理故障相关的各节点对应的目标坐标信息,并向拓扑呈现模块发送目标坐标信息。
[0183]
步骤1506的实现方式可参阅图12中的方法流程。目标坐标信息可包括与待处理故障相关的各节点的id以及每个id在第二拓扑图中的第二坐标。
[0184]
1507、拓扑呈现模块根据目标坐标信息,生成第二拓扑图,并呈现第二拓扑图。
[0185]
本技术实施例中,可高效地生成与待处理故障相关的各节点的网络拓扑图,布局紧凑。
[0186]
图16为本技术实施例提供的一种网络拓扑生成装置的结构示意图。如图16所示,
网络拓扑生成装置包括:
[0187]
获取单元1601,用于获取第一拓扑图中的各拓扑节点的原始坐标信息;上述原始坐标信息包括上述第一拓扑图中的各拓扑节点的第一坐标;所述第一拓扑图中的各拓扑节点包括第一节点、第二节点以及第三节点;
[0188]
生成单元1602,用于根据上述原始坐标信息,生成第二拓扑图;上述第二拓扑图对应于上述第一拓扑图缩放后的拓扑图,上述第二节点在上述第二拓扑图中的第二坐标以上述第一节点在上述第二拓扑图中的第二坐标为基准点得到,上述第三节点在上述第二拓扑图中的第二坐标以上述第二节点在上述第二拓扑图中的第二坐标为基准点得到。
[0189]
获取单元1601可对应于拓扑呈现模块,生成单元1602可对应于自动布局模块。
[0190]
在一种可能的实现方式中,生成单元1602,具体用于根据上述第一节点的第一坐标、上述第一节点在上述第二拓扑图中的第二坐标以及上述第二节点的第一坐标,确定上述第二节点在上述第二拓扑图中的第二坐标。
[0191]
在一种可能的实现方式中,生成单元1602,具体用于采用如下公式计算上述第二节点在上述第二拓扑图中的第二坐标:
[0192]
x2_new=x1_new+(x2_old

x1_old)*s
ꢀꢀꢀ
(6);
[0193]
y2_new=y1_new+(y2_old

y1_old)*s
ꢀꢀꢀꢀꢀ
(7);
[0194]
其中,上述x2_new表示上述第二节点在第二拓扑图中的第二坐标的横坐标,上述y2_new表示上述第二节点在第二拓扑图中的第二坐标的纵坐标,上述x1_new表示上述第一节点在第二拓扑图中的第二坐标的横坐标,上述y1_new表示上述第一节点在第二拓扑图中的第二坐标的纵坐标,上述x2_old表示上述第二节点的第一坐标的横坐标,上述y2_old表示上述第一节点的第一坐标的纵坐标,上述x1_old表示上述第一节点的第一坐标的横坐标,上述y1_old表示上述第一节点的第一坐标的纵坐标,上述s表示缩放因子。上述s为一个实数。上述s可以是一个预先配置的值。或者,上述s可以由上述第一拓扑图中的上述第一节点和上述第二节点之间的第一距离得到。
[0195]
在一种可能的实现方式中,生成单元1602,具体用于根据上述第一节点的第一坐标和上述第二节点的第一坐标,确定上述第一移动增量;根据上述第一移动增量和上述第一节点在上述第二拓扑图中的第二坐标,确定上述第二节点在上述第二拓扑图中的第二坐标。
[0196]
在一种可能的实现方式中,生成单元1602,具体用于获取第一坐标差,上述第一坐标差为上述第二节点的第一坐标和上述第一节点的第一坐标之差或者上述第一节点的第一坐标和上述第二节点的第一坐标之差;根据上述第一坐标差和非线性正相关因子,确定上述第一移动增量;在上述第一拓扑图中的上述第一节点和上述第二节点之间的第一距离大于预设间距的情况下,上述非线性正相关因子由上述预设间距与上述第一距离的比值的m次幂得到,上述m为大于0且小于1的实数;或者,在上述第一距离小于或等于上述预设间距的情况下,上述非线性正相关因子为由上述预设间距与上述第一距离的比值得到。
[0197]
在一种可能的实现方式中,生成单元1602,还用于采用如下公式计算上述非线性正相关因子:
[0198][0199]
其中,r(l)表示非线性正相关因子,l
min
表示预设间距,l表示第一距离,m为常数。m为可根据实际需求自行配置的常数,例如0.5、0.6、0.65、0.7等。预设间距可根据实际需求自行配置。例如,预设间距为节点大小的4倍。对于用圆形表示的节点来说,节点大小为其对应的圆形的直径。对于用正方形表示的节点来说,节点大小为其对应的正方形的长度(或对角线的长度)。
[0200]
在一种可能的实现方式中,网络拓扑生成装置还包括:接收单元1603,用于接收目标网络中的节点上传的告警信息,上述目标网络中的多个节点对应于上述第一拓扑图中的各拓扑节点;故障确定单元1604,用于根据上述告警信息以及拓扑图元数据,确定上述目标网络中与故障相关的上述多个节点;上述拓扑图元数据用于确定上述目标网络中的各节点之间的拓扑关系;获取单元1601,具体用于获取上述多个节点对应的上述拓扑节点信息和上述原始坐标信息。
[0201]
接收单元1603可对应于告警采集模块,故障确定单元1604可对应于智能故障模块。
[0202]
在一种可能的实现方式中,网络拓扑生成装置还包括:输出单元1605,用于显示上述第二拓扑图或者发送上述第二拓扑图。输出单元1605可对应于拓扑呈现模块。
[0203]
在一些实施例中,获取单元1601,可用于执行上述步骤501、步骤603、步骤1201中的一个或一个以上。在一些实施例中,生成单元1602,可用于执行步骤502、步骤604、步骤701、步骤1201至步骤1206、步骤702中的一个或一个以上。在一些实施例中,接收单元1603,可用于执行步骤601。在一些实施例中,故障确定单元1604,可用于执行步骤602。在一些实施例中,输出单元1605,可用于执行步骤605和/或步骤1207。
[0204]
图17为本技术实施例提供的一种终端设备的结构示意图。如图17所示,该终端设备170包括处理器1701、存储器1702、通信接口1703以及输入输出设备1704;该处理器1701、存储器1702和通信接口1703通过总线相互连接。图17中的终端设备可以为前述实施例中的网络拓扑生成装置。
[0205]
存储器1702包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmableread only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cdrom),该存储器1702用于相关指令及数据。通信接口1703用于接收和发送数据。输入输出设备1704可包括键盘、鼠标、触摸屏等输入设备,以及显示器、屏幕等输出设备。
[0206]
处理器1701可以是一个或多个中央处理器(central processing unit,cpu),在处理器1701是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。上述实施例中由网络拓扑生成装置所执行的步骤可以基于该图17所示的终端设备的结构。具体的,输入输出设备1704可实现输出单元1605的功能;处理器1701可实现获取单元1601、生成单元1602以及故障确定单元1604的功能;通信接口1703可实现接收单元1603的功能。或者说,输入输出设备1704可实现图4中的拓扑呈现模块的功能;处理器1701可实现图4中的自动布局模块的功能以及智能故障模块的功能;通信接口1703可实现图4中的告警采集模块的功能。
[0207]
在本技术的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现前述实施例所提供的网络拓扑生成方法。
[0208]
本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例所提供的网络拓扑生成方法。
[0209]
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。上述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行上述计算机程序指令时,全部或部分地产生按照本技术实施例上述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0210]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1