网络拓扑的布局方法及计算设备与流程
- 国知局
- 2024-08-02 14:14:40
本技术实施例涉及网络管理,尤其涉及一种网络拓扑的布局方法及计算设备。
背景技术:
1、网络拓扑作为网络检测管理和网络态势感知的依据,在呈现网络的整体状况和发现存在于网络拓扑中的潜在规律方面发挥着重要作用。其中,网络拓扑是指一种利用节点或连接线来描述多个拓扑对象的位置与关系的表示方法。
2、目前,在网络拓扑中对拓扑对象进行位置布局时,需要先确定该拓扑对象在网络拓扑中的层级,进而在该层级中按照固定间距选择合适的位置,以将该拓扑对象布局在该位置。
3、然而,上述技术方案中仅按照固定间距进行位置布局,很容易造成拓扑对象之间的连接线交叉,使得网络拓扑的重叠率较高。
技术实现思路
1、本技术实施例提供一种网络拓扑的布局方法及计算设备,用于减少网络拓扑中拓扑对象之间连接线交叉的问题,从而降低网络拓扑的重叠率。
2、为达到上述目的,本技术实施例采用如下技术方案:
3、一方面,提供了一种网络拓扑的布局方法,该方法包括:
4、接收拓扑布局请求。其中,拓扑布局请求指示在网络拓扑中布局第一拓扑对象。网络拓扑为树型拓扑结构,网络拓扑中的节点被划分为多个分组。不同分组对应的布局区域互相隔离。其中,分组对应的布局区域是指用于呈现当前分组中多个节点的连接关系的区域。互相隔离是指各个分组对应的布局区域之间不存在重叠部分。本技术实施例中,通过对网络拓扑中的各个节点分层分组,能够实现对网络拓扑更加细粒度的管理。
5、响应于拓扑布局请求,基于第一拓扑对象与网络拓扑的拓扑关系,在网络拓扑中确定目标分组和目标层级。其中,目标分组和目标层级为待布局第一拓扑对象的节点的所属分组和所属层级。进而,将第一拓扑对象布局在目标分组中目标层级的空节点上。
6、在上述技术方案中,在网络拓扑中布局第一拓扑对象时,通过确定目标分组和目标层级,进而在目标分组中目标层级的空节点上布局第一拓扑对象。由于网络拓扑中的节点被划分为多个分组,且不同分组对应的布局区域互相隔离,如此,使得不同分组的拓扑对象相互分离,能够有效减少拓扑对象之间连接线交叉的问题,降低了网络拓扑的重叠率,能够更好地展示拓扑对象之间的相关性。
7、在一些可能的实现方式中,拓扑对象用于表示超融合平台中的网元,如一个拓扑对象用于指代一个虚拟化网元,如分布式交换机、上行链路、端口组、虚拟私有云、子网等虚拟化网元。
8、本技术实施例中,所属同一分组的节点,用于布局预设数量的预设拓扑对象以及该预设拓扑对象具有连接关系的其他拓扑对象。其中,预设拓扑对象所表示的网元的类型为分布式交换机,该其他拓扑对象所表示的网元的类型为除该分布式交换机以外的任意类型。
9、相应地,确定目标分组的过程可以包括:在该第一拓扑对象的属性指示该第一拓扑对象所表示的第一网元不为分布式交换机的情况下,确定该网络拓扑中与该第一拓扑对象具有关联关系的第二拓扑对象,并将该第二拓扑对象的所属分组确定为该目标分组。
10、其中,拓扑对象的属性包括该拓扑对象所表示的网元的类型,如分布式交换机、上行链路、端口组、虚拟私有云、子网等类型。
11、第二拓扑对象所表示的第二网元的类型为分布式交换机。示例性的,确定目标分组的过程可以替换为:在该第一拓扑对象的属性指示该第一拓扑对象所表示的第一网元不为分布式交换机的情况下,确定该网络拓扑中与该第一拓扑对象具有关联关系的分布式交换机,并将该分布式交换机的所属分组确定为该目标分组。
12、本技术实施例中,所属同一层级的节点用于布局同一属性的拓扑对象。相应地,确定目标层级的过程可以包括:基于该第一拓扑对象的属性,确定该目标层级。
13、在一些可能的实现方式中,将该第一拓扑对象布局在该目标分组中该目标层级的空节点上,包括:
14、在该目标分组中该目标层级的节点中,确定兄弟节点的位置坐标。其中,该兄弟节点为目标父节点所连接的子节点,该目标父节点为待布局该第一拓扑对象的节点的父节点。可以理解的是,兄弟节点是指网络拓扑中与待布局第一拓扑对象的节点同属一个父节点的节点。
15、并且,基于该兄弟节点的位置坐标,从该兄弟节点中确定未被占用的空节点,将该第一拓扑对象布局在该空节点上。
16、在上述实现方式中,通过确定与待布局该第一拓扑对象的节点同属一个父节点的兄弟节点,以便后续从该兄弟节点中确定未被占用的空节点,从而完成第一拓扑对象的位置布局。
17、在一些可能的实现方式中,确定兄弟节点的位置坐标,包括:
18、在该兄弟节点的数量为一个的情况下,获取该目标父节点的横轴坐标,作为该兄弟节点的横轴坐标。并确定该目标层级对应的纵轴坐标,作为该兄弟节点的纵轴坐标。进而,基于该兄弟节点的横轴坐标与该兄弟节点的纵轴坐标,确定该兄弟节点的位置坐标。如此,针对兄弟节点的数量为一个的情况,提供了一种基于目标父节点来确定兄弟节点的位置坐标的方式,利用目标父节点的横轴坐标以及目标层级对应的纵轴坐标,能够快速确定该兄弟节点的位置坐标。
19、在该兄弟节点的数量为多个的情况下,确定该兄弟节点的包围盒边界。其中,该包围盒边界包括左包围盒边界和右包围盒边界,该左包围盒边界是指包围盒的左边界距离包围盒中心点的偏移量,该右包围盒边界是指包围盒的右边界距离包围盒中心点的偏移量。基于该兄弟节点的包围盒边界确定该兄弟节点的横轴坐标。并确定该目标层级对应的纵轴坐标,作为该兄弟节点的纵轴坐标。进而,基于该兄弟节点的横轴坐标与该兄弟节点的纵轴坐标,确定该兄弟节点的位置坐标。如此,针对兄弟节点的数量为多个的情况,提供了一种基于兄弟节点的包围盒边界来确定兄弟节点的位置坐标的方式,通过确定兄弟节点的左包围盒边界以及右包围盒边界,以便后续利用兄弟节点的包围盒边界来确定兄弟节点的位置坐标。
20、在上述实现方式中,针对兄弟节点的数量为一个的情况以及兄弟节点的数量为多个的情况,提供了确定兄弟节点的位置坐标的两种方式,均能够快速高效的确定出兄弟节点的位置坐标,以便后续为该第一拓扑对象分配位置,从而实现对该第一拓扑对象的位置布局。
21、在一些可能的实现方式中,确定该兄弟节点的包围盒边界,包括:
22、基于该兄弟节点下的首个子节点的左包围盒边界、该兄弟节点下的左侧子节点的包围盒边界以及节点间距,确定该兄弟节点的左包围盒边界,该首个子节点是指位于该兄弟节点正下方的子节点,该左侧子节点是指位于该兄弟节点左侧的子节点,该节点间距是指相邻两个节点之间的间距;
23、基于该兄弟节点下的首个子节点的右包围盒边界、该兄弟节点下的右侧子节点的包围盒边界以及该节点间距,确定该兄弟节点的右包围盒边界,该右侧子节点是指位于该兄弟节点右侧的子节点。
24、在上述实现方式中,提供了一种确定兄弟节点的包围盒边界的实现方式,能够快速且高效的确定出兄弟节点的包围盒边界,为后续确定兄弟节点的位置坐标奠定了数据基础。
25、在一些可能的实现方式中,基于该兄弟节点的包围盒边界确定该兄弟节点的横轴坐标,包括:
26、在该兄弟节点位于首个兄弟节点左侧的情况下,基于与该兄弟节点相邻的上一个兄弟节点的横轴坐标、与该兄弟节点相邻的上一个兄弟节点的左包围盒边界、该兄弟节点的右包围盒边界以及该节点间距,确定该兄弟节点的横轴坐标;
27、在该兄弟节点位于首个兄弟节点右侧的情况下,基于与该兄弟节点相邻的上一个兄弟节点的横轴坐标、与该兄弟节点相邻的上一个兄弟节点的右包围盒边界、该兄弟节点的左包围盒边界以及该节点间距,确定该兄弟节点的横轴坐标。
28、在一些可能的实现方式中,基于该兄弟节点的位置坐标,从该兄弟节点中确定未被占用的空节点,包括:
29、基于该兄弟节点的位置坐标,确定该兄弟节点的包围盒;
30、对于该网络拓扑中的每个节点,根据该兄弟节点的包围盒以及该节点的包围盒进行碰撞检测,以判断该兄弟节点是否被占用;
31、如果该兄弟节点中存在未被占用的兄弟节点,则确定为该空节点。
32、在上述实现方式中,通过碰撞检测,以判断该兄弟节点是否被占用,以确保在未被占用的情况下将第一拓扑对象布局在空节点上,从而减少拓扑对象重叠或拓扑对象之间的连接线交叉的问题发生。
33、在一些可能的实现方式中,根据该兄弟节点的包围盒以及该节点的包围盒进行碰撞检测,以判断该兄弟节点是否被占用,包括:
34、如果该兄弟节点的包围盒与该节点的包围盒之间存在重叠部分,则确定该兄弟节点被占用;如果该兄弟节点的包围盒与该节点的包围盒之间不存在重叠部分,则确定该兄弟节点未被占用;或,
35、如果该兄弟节点的包围盒与该节点的包围盒之间存在重叠部分且重叠部分的面积大于或等于预设阈值,则确定该兄弟节点被占用;如果该兄弟节点的包围盒与该节点的包围盒之间存在重叠部分但重叠部分的面积小于预设阈值,或该兄弟节点的包围盒与该节点的包围盒之间不存在重叠部分,则确定该兄弟节点未被占用。
36、在上述实现方式中,提供了两种判断兄弟节点是否被占用的方式,丰富了判断兄弟节点是否被占用的方式。
37、在一些可能的实现方式中,该方法还包括:
38、如果该兄弟节点中不存在未被占用的空节点,则以目标兄弟节点作为扩充起点,按照目标扩充方向,将位于该目标兄弟节点的拓扑对象以及位于该目标兄弟节点的目标扩充方向的其他拓扑对象,向该目标扩充方向平移预设距离;该目标兄弟节点为任一个兄弟节点;
39、将该第一拓扑对象布局在该目标兄弟节点上。
40、在上述实现方式中,通过为网络拓扑扩充空间,能够为第一拓扑对象保留目标兄弟节点的位置坐标,以完成对该第一拓扑对象的位置布局。
41、在一些可能的实现方式中,目标扩充方向基于该网络拓扑中位于该目标父节点两侧的子节点数量来确定;
42、该目标扩充方向的确定过程包括:
43、如果该网络拓扑中位于该目标父节点左侧的子节点数量大于位于该目标父节点右侧的子节点数量,则确定目标扩充方向为右侧;
44、如果该网络拓扑中位于该目标父节点左侧的子节点数量小于位于该目标父节点右侧的子节点数量,则确定目标扩充方向为左侧;
45、如果该网络拓扑中位于该目标父节点左侧的子节点数量等于位于该目标父节点右侧的子节点数量,则确定目标扩充方向为左侧或右侧中任一项。
46、在上述实现方式中,按照位于目标父节点两侧的子节点数量来确定目标扩充方向,优先向节点数量较少的一侧扩充,有利于网络拓扑的整体布局,使得网络拓扑的整体布局居中。如此,增加了确定目标扩充方向所参考的信息量,能够有效提升确定目标扩充方向的准确度。
47、另一方面,提供了一种网络拓扑的布局装置,该装置包括:
48、接收模块,用于接收拓扑布局请求,该拓扑布局请求指示在网络拓扑中布局第一拓扑对象;该网络拓扑为树型拓扑结构,该网络拓扑中的节点被划分为多个分组;不同分组对应的布局区域互相隔离;
49、确定模块,用于响应于该拓扑布局请求,基于第一拓扑对象与该网络拓扑的拓扑关系,在该网络拓扑中确定目标分组和目标层级;目标分组和目标层级为待布局第一拓扑对象的节点的所属分组和所属层级;
50、布局模块,用于将第一拓扑对象布局在目标分组中目标层级的空节点上。
51、另一方面,提供了一种计算设备,该计算设备包括处理器和存储器,该处理器和该存储器耦合。其中,该存储器用于存储计算机程序指令,该处理器用于调用该存储器中的计算机程序指令执行上述实施例所示的网络拓扑的布局方法。
52、另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序指令,该计算机程序指令用于使计算设备执行如上述实施例所示的网络拓扑的布局方法。
53、另一方面,提供了一种计算机程序产品,包括计算机程序指令,当该计算机程序指令在计算设备上运行时,使得计算设备执行如上述实施例所示的网络拓扑的布局方法。
本文地址:https://www.jishuxx.com/zhuanli/20240801/242140.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表