CN112583620B - 网络拓扑图生成方法、装置、电子设备和存储介质 - Google Patents

网络拓扑图生成方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112583620B
CN112583620B CN201910942346.6A CN201910942346A CN112583620B CN 112583620 B CN112583620 B CN 112583620B CN 201910942346 A CN201910942346 A CN 201910942346A CN 112583620 B CN112583620 B CN 112583620B
Authority
CN
China
Prior art keywords
leaf
leaf nodes
node
determining
root node
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
Application number
CN201910942346.6A
Other languages
English (en)
Other versions
CN112583620A (zh
Inventor
李博宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201910942346.6A priority Critical patent/CN112583620B/zh
Publication of CN112583620A publication Critical patent/CN112583620A/zh
Application granted granted Critical
Publication of CN112583620B publication Critical patent/CN112583620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Abstract

本申请涉及一种网络拓扑图生成方法、装置、电子设备和存储介质。所述方法包括:根据当前画布的尺寸,确定根节点的位置坐标;根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。采用本方法能够辅助网络管理人员快速的找到指定的节点,从而减轻了网络管理人员的负担,且提高了网络管理人员的工作效率。

Description

网络拓扑图生成方法、装置、电子设备和存储介质
技术领域
本申请涉及网络管理技术领域,特别是涉及一种网络拓扑图生成方法、装置、电子设备和存储介质。
背景技术
网络拓扑图是现代网络管理的重要部分,借助网络拓扑图可以了解当前的网络中节点设备和通信介质构成的网络结构。网络拓扑图能够辅助网络管理人员对网络节点、链路等各方面进行评估、预测和分析,有效地认识和了解网络内部信息、规律和变化,从而方便对网络进行配置和排除错误。因此,网络拓扑图设计地好坏对整个网络的性能和经济性有重大影响。
目前,网络拓扑图可以包括两个基本元素:节点和边。绘制网络拓扑图可以选择现有框架。开发者能够基于现有框架对网络拓扑图的查看视图和编辑视图进行快速的二次开发。随着网络数据规模剧增、拓扑结构复杂性增强,网络拓扑图二次开发不到位容易导致节点显示重叠、层次信息难以观察等问题,从而无法有效降低网络管理人员的负担。
发明内容
基于此,有必要针对上述技术问题,提供一种能够快速高效且有层次地生成网络拓扑图的网络拓扑图生成方法、装置、电子设备和存储介质。
为了实现上述目的,一方面,本申请实施例提供了一种网络拓扑图生成方法,所述方法包括:
根据当前画布的尺寸,确定根节点的位置坐标;
根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;
获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;
根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。
在其中一个实施例中,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度,包括:
将叶节点的数量与预设阈值进行比较,根据比较结果确定起始角度。
在其中一个实施例中,根据比较结果确定起始角度,包括:
若叶节点的数量小于预设阈值,则根据叶节点数量计算起始角度,根据起始角度绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心、根节点垂直平分的圆的同一侧;
若叶节点的数量大于或者等于预设阈值,则将起始角度设置为固定值,根据固定值绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心的圆上。
在其中一个实施例中,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,包括:
根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标;
将每个叶节点的位置坐标与根节点的位置坐标分别连接,自动生成网络拓扑图。
在其中一个实施例中,根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标,包括:
根据叶节点的数量和起始角度,确定相邻两个叶节点之间的夹角;
根据起始角度和相邻两个叶节点的之间的夹角,生成每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度;
根据每个叶节点对应的偏移角度、半径和根节点的位置坐标,采用三角函数的计算方式确定得到每个叶节点的位置坐标。
在其中一个实施例中,根据当前画布的尺寸,确定根节点的位置坐标,包括:
以当前画布的起点为原点,根据当前画布的宽度和高度,确定根节点的位置坐标。
在其中一个实施例中,根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:
根据当前画布的高度,确定绘制叶节点的半径。
另一方面,本申请实施例还提供了一种网络拓扑图生成装置,所述装置包括:
根节点位置确定模块,用于根据当前画布的尺寸,确定根节点的位置坐标;
半径确定模块,用于根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;
起始角度确定模块,用于获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;
图形生成模块,用于根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图。
又一方面,本申请实施例还提供了一种电子设备,包括至少一个处理器、至少一个存储器、以及总线;其中,所述处理器与所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,所述处理器执行所述程序时实现以下步骤:
根据当前画布的尺寸,确定根节点的位置坐标;
根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;
获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;
根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。
又一方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
根据当前画布的尺寸,确定根节点的位置坐标;
根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;
获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;
根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。
上述网络拓扑图生成方法、装置、电子设备和存储介质,根据当前画布的尺寸,确定根节点的位置坐标和绘制叶节点的半径。然后,根据所获取的叶节点的数量,确定计算叶节点的位置坐标的起始角度。最后,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图。该方法通过自动将叶节点直观的布局在以根节点为圆心的圆上,能够辅助网络管理人员快速的找到指定的节点,从而减轻了网络管理人员的负担,且提高了网络管理人员的工作效率。
附图说明
图1为一个实施例中网络拓扑图生成方法的应用环境图;
图2为一个实施例中网络拓扑图生成方法的流程示意图;
图3为一个实施例中根据比较结果确定起始角度的流程示意图;
图4为一个实施例中叶节点分布在圆的同一侧的网络拓扑图的示意图;
图5为一个实施例中计算叶节点位置坐标的流程示意图;
图6为一个实施例中网络拓扑图生成方法的流程示意图;
图7为一个实施例中网络拓扑图生成装置的结构框图;
图8为一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的网络拓扑图生成方法,可以应用于如图1所示的应用环境中。该应用环境包括终端102和服务器104。其中,终端102与服务器104通过网络进行通信。具体地,终端102根据当前画布的尺寸,确定根节点的位置坐标进而网络拓扑图中绘制叶节点的半径。终端102获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度。然后,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图。根节点和叶节点是网络拓补图中的控制节点。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网络拓扑图生成方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤202,根据当前画布的尺寸,确定根节点的位置坐标。
其中,当前画布的尺寸可以是预先配置好的,例如,可以设置当前画布的宽高为1000×600。根节点是指网络拓扑树形结构中,处于树的顶端的结点。根节点可以是控制器节点,例如路由器,在此不做限定。具体地,可以根据当前画布的宽度和高度,确定根节点的位置坐标。进一步地,可以将根节点的位置坐标设置在靠近画布起点的位置。例如,若画布的起点在左上角,那么可以将根节点设置在画布的中心点偏左和/或偏上的位置,从而可以为后续的叶节点预留位置。
步骤204,根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径。
其中,叶节点是指网络拓扑树形结构中,处于树末端的节点。绘制叶节点的半径可以是指叶节点与其上一层节点之间的直线距离。在本实施例中,上一层节点可以是指根节点,或者可以是指与叶节点连接的中间节点。通过设置绘制叶节点的半径,使得叶节点能够被分布在以其上一层节点为圆心的虚拟圆上。具体地,绘制叶节点的半径可以参考当前画布的尺寸,例如,可以参考当前画布的宽度和高度。根据画布的宽度和高度所确定的半径可以将所有的节点分布显示在画布中。
步骤206,获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度。
其中,起始角度可以是预先配置的,用于计算叶节点位置坐标的中间角度变量。起始角度可以人为设定,例如设置成固定值30°,或者根据叶节点的实际数量计算而得。根据不同的起始角度计算出的叶节点的位置坐标可以分布在以根节点为圆心的不同范围的圆弧上。
步骤208,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。
具体地,在得到绘制叶节点的半径、叶节点的数量,以及根据起始角度所确定的每个叶节点的位置坐标后,便可以进一步在画布上自动绘制所需的网络拓扑图。绘制出的网络拓扑图呈现出的将是叶节点分布在以其上一层节点,例如根节点为圆心的虚拟圆上。在下列实施例中,将以叶节点的上一层节点是根节点为例进行说明。可以理解的是,若所需绘制的网络拓扑图中还包含多层中间节点,那么可以通过不断递归的方式逐步将不同层的节点布局成上述方法的分布结构。
上述网络拓扑图生成方法中,通过先确定绘制叶节点的半径和起始角度,然后根据该半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图。将叶节点直观的布局在以根节点为圆心的圆上,能够辅助网络管理人员快速的找到指定的节点,从而减轻了网络管理人员的负担,且提高了网络管理人员的工作效率。
在一个实施例中,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度,具体包括:将叶节点的数量与预设阈值进行比较,根据比较结果确定起始角度。
其中,预设阈值可以根据实际需求确定,例如,根据实际场景中叶节点需要被放置的位置确定,在此不做限定。叶节点需要被放置的位置可以是指叶节点被放置在以根节点为圆心的虚拟圆的特定范围圆弧上的位置。
在本实施例中,如图3所示,可以根据比较结果确定起始角度,具体包括以下步骤:
步骤302,将叶节点的数量与预设阈值进行比较。
步骤304,若叶节点的数量小于预设阈值,则根据叶节点数量计算起始角度,根据起始角度绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心、根节点垂直平分的圆的同一侧,例如,可以在虚拟圆形的半圆弧上布局多个叶节点。
具体地,若网络拓扑图中包括一个根节点和对应的叶节点,根据实际需求,当叶节点的数量小于预设阈值时,需要将叶节点分布在以根节点为圆心、根节点垂直平分的圆的同一侧(例如左侧)时,那么可以通过以下公式计算起始角度:
resN=360°-60°×len,其中,resN代表起始角度,len代表叶节点的总数量。
以当前画布左上角为起点,起点向右为X轴正方向,向下为Y轴正方向为例进行说明。根据实际需求,设定预设阈值为4,即当叶节点数量小于4个时,可以将叶节点分布显示在以根节点为圆心、根节点垂直平分的圆的左侧。当获取叶节点的数量为3个时,那么可以计算得到起始角度resN=360°-60°×3=180°。
步骤306,若叶节点的数量大于或者等于预设阈值,则将起始角度设置为固定值,根据固定值绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心的圆上,例如,可以在虚拟圆形的整个圆弧上布局多个叶节点。
具体地,若根据实际需求,当叶节点的数量大于或者等于预设阈值时,需要将叶节点分布在以根节点为圆心的虚拟圆上,那么可以将该起始角度设置为固定的值。继续以预设阈值为4为例进行说明,即当叶节点数量大于或者等于4个时,可以将叶节点分布显示在以根节点为圆心的虚拟圆上,那么可以将该起始角度设置为30°。
本实施例中,通过根据实际的叶节点分布需求设定不同的起始角度,然后根据所获取的叶节点数量自动调用对应的起始角度算法,进而对叶节点分别进行分布显示,使得网络管理人员能够通过网络拓扑图直观的了解当前网络的架构和节点数量等信息。
在一个实施例中,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,具体包括:根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标。
在本实施例中,如图4所示,计算每个叶节点的位置坐标包括以下步骤:
步骤402,根据叶节点的数量和起始角度,确定相邻两个叶节点之间的夹角。
具体地,由于根据不同的起始角度可以确定叶节点分布在以根节点为圆心的不同范围的圆弧上,因此,在获取叶节点的数量,并确定起始角度后,可以根据起始角度进一步确定相邻两个叶节点的夹角。在本实施例中,为了使得网络拓扑图布局更加整齐,可以将每相邻两个叶节点间的夹角设置成是相等的,即在特定范围的圆弧上是平均分布的。可以通过以下公式确定相邻两个叶节点的夹角:
everageN=(360°-resN)/(len+1)
其中,everageN为相邻两个叶节点的夹角(即以根节点为圆心的张角),resN为起始角度,len为叶节点的总数量。
步骤404,根据起始角度和相邻两个叶节点的之间的夹角,生成每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度。
具体地,在获取相邻两个叶节点之间的夹角后,可以根据叶节点在以根节点为圆心的虚拟圆上的分布情况,得到每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度。在本实施例中,优选地将叶节点分布显示在相对水平轴正轴对称的圆弧上。继续以当前画布左上角为起点,起点向右为X轴正方向,向下为Y轴正方向为例进行说明。若叶节点数量为3个,那么可以将该3个叶节点分别对称地显示在根节点为起点的水平轴正轴的上方、水平轴正轴上、水平轴正轴的下方。可以通过以下公式计算得到每个叶节点的偏移角度:
curN=((180°-resN/2-(index+1)*everageN)/180°)*Math.PI
其中,若计算第N个节点的偏移角度,则curN为第N个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度,index等于N-1,Math.PI为圆周率π。
步骤406,根据每个叶节点对应的偏移角度、半径和根节点的位置坐标,采用三角函数的计算方式确定得到每个叶节点的位置坐标。
具体地,在得到根节点位置坐标、绘制叶节点的半径和每个叶节点的便宜角度,可以进一步通过下列公式计算得到每个叶节点的位置坐标:
XN=r*Math.cos(curN)+X0
YN=-(r*Math..sin(curN))+Y0
其中,r为绘制叶节点的半径,(X0,Y0)为根节点位置坐标,(XN,YN)W为第N个叶节点的位置坐标。在得到每个叶节点的位置坐标后,可以进一步根据根节点的位置坐标和每个叶节点的位置坐标,自动绘制生成层次分明的网络拓扑图。
在一个实施例中,根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:根据当前画布的高度,确定绘制叶节点的半径。
具体地,根据当前画布的高度所确定的绘制叶节点的半径,可以将所有的叶节点都分布显示在画布上。示例性地,若所需绘制的网络拓扑图中包括一个根节点和对应的叶节点,那么可以将当前画布高度的一半设置为绘制叶节点的半径,本实施例中并不对此进行限定。本实施例中,通过根据画布尺寸设置绘制叶节点的半径,可以使得所生成的网络拓扑图中的所有元素都能够位于画布中。
进一步地,在设置半径时,还可以参考叶节点的数量和领域半径。其中,领域半径是指每个叶节点自身所占的领域的半径。可以根据叶节点的领域半径设置相邻两个叶节点间的距离,例如,将相邻两个叶节点间的最小距离设置成叶节点的领域半径的两倍,这样设置可以确保相邻两个叶节点不会有重叠。进而可以根据预设的叶节点在虚拟圆上的分布情况,确定相邻两个叶节点之间的张角,例如,可以设定叶节点在以根节点为中心的虚拟圆上平均分布。在得到相邻两个叶节点之间的张角和距离后,便可以通过三角函数等方式计算出绘制叶节点的半径。在此不将进一步做限定。
在一个实施例中,如图5所示,通过一个具体实施例说明上述网络拓扑图生成方法,包括以下步骤:
步骤501,根据当前画布的尺寸,确定根节点的位置坐标。
具体地,在本实施例中,将以当前画布左上角为起点,起点向右为X轴正方向,向下为Y轴正方向为例说明。可以将根节点位置设定在当前画布中心的偏左方。例如,假设画布宽高为W×H,那么可以将该根节点位置坐标(X0,Y0)设定为
Figure BDA0002223254040000111
步骤502,根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径。
具体地,可以根据画布的高度确定绘制叶节点的半径。例如,将绘制叶节点的半径设置成画布高度的一半,即
Figure BDA0002223254040000112
步骤503,获取叶节点的数量。
步骤504,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度。
具体地,可以将叶节点的数量与预设阈值进行比较,根据比较结果确定起始角度。示例性地,若叶节点的数量小于预设阈值,则可以根据以下公式计算起始角度:resN=360°-60°×len,其中,resN为起始角度,len为叶节点的总数量。根据该起始角度绘制的叶节点将分布显示在以根节点为圆心、根节点垂直平分的圆的同一侧。若叶节点的数量大于或者等于预设阈值,则将起始角度设置为固定值,例如设定为30°。预设阈值可以但不限于是4。根据该固定值绘制的叶节点将分布显示在以所述根节点为圆心的虚拟圆上。
步骤505,根据叶节点的数量和起始角度,确定相邻两个叶节点之间的夹角。
具体地,可以根据以下公式确定相邻两个叶节点的夹角:
everageN=(360°-resN)/(len+1),其中everageN代表相邻两个叶节点的夹角(即以根节点为圆心的张角),resN代表起始角度,len代表叶节点的总数量。
步骤506,根据起始角度和相邻两个叶节点的之间的夹角,生成每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度。
具体地,可以根据以下公式确定每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度:
curN=((180°-resN/2-(index+1)*everageN)/180°)*Math.PI,其中若计算第N个节点的偏移角度,则curN为第N个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度,index等于N-1,Math.PI为圆周率π。
步骤507,根据每个叶节点对应的偏移角度、半径和根节点的位置坐标,采用三角函数的计算方式确定得到每个叶节点的位置坐标。
具体地,可以通过下列公司计算得到每个叶节点的位置坐标:
XN=r*Math.cos(curN)+X0
YN=-(r*Math..sin(curN))+Y0
其中,r为绘制叶节点的半径,(X0,Y0)为根节点位置坐标,(XN,YN)为第N个叶节点的位置坐标。
步骤508,在当前画布上,根据确定的叶节点的位置坐标和根节点的位置坐标,自动生成网络拓扑图。如图6所示,示出了叶节点为3个时的网络拓扑图。其中601为根节点(控制器节点),例如,路由器;602、603和604为与根节点连接的叶节点(末端节点)。
应该理解的是,虽然图1-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种网络拓扑图生成装置700,包括:根节点位置确定模块701、半径确定模块702、起始角度确定模块703和图形生成模块704,其中:
根节点位置确定模块701,用于根据当前画布的尺寸,确定根节点的位置坐标;
半径确定模块702,用于根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;
起始角度确定模块703,用于获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;
图形生成模块704,用于根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图。
在一个实施例中,起始角度确定模块703具体用于将叶节点的数量与预设阈值进行比较,根据比较结果确定起始角度。
在一个实施例中,起始角度确定模块703具体用于若叶节点的数量小于预设阈值,则根据叶节点数量计算起始角度,根据起始角度绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心、根节点垂直平分的圆的同一侧;若叶节点的数量大于或者等于预设阈值,则将起始角度设置为固定值,根据固定值绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心的圆上。
在一个实施例中,图形生成模块704具体用于根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标;将每个叶节点的位置坐标与根节点的位置坐标分别连接,自动生成网络拓扑图。
在一个实施例中,图形生成模块704具体用于根据叶节点的数量和起始角度,确定相邻两个叶节点之间的夹角;根据起始角度和相邻两个叶节点的之间的夹角,生成每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度;根据每个叶节点对应的偏移角度、半径和根节点的位置坐标,采用三角函数的计算方式确定得到每个叶节点的位置坐标。
在一个实施例中,根节点位置确定模块701具体用于以当前画布的起点为原点,根据当前画布的宽度和高度,确定根节点的位置坐标。
在一个实施例中,半径确定模块702具体用于根据当前画布的高度,确定绘制叶节点的半径。
关于网络拓扑图生成装置的具体限定可以参见上文中对于网络拓扑图生成方法的限定,在此不再赘述。上述网络拓扑图生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。例如,上述网络拓扑图生成装置包括处理器和存储器,上述根节点位置确定模块701、半径确定模块702、起始角度确定模块703和图形生成模块704等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来辅助网络管理人员快速的找到指定的节点,从而减轻了网络管理人员的负担,且提高了网络管理人员的工作效率。
在一个实施例中,提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述网络拓扑图生成方法。
在一个实施例中,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述网络拓扑图生成方法。
在一个实施例中,提供了一种电子设备,电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的网络拓扑图生成方法。本文中的电子设备可以是服务器、PC、PAD、手机等。
在一个实施例中,还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
根据当前画布的尺寸,确定根节点的位置坐标;根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径;获取叶节点的数量,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度;根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,根节点和叶节点是网络拓补图中的控制节点。
在一个实施例中,根据叶节点的数量,确定计算叶节点的位置坐标的起始角度,包括:将叶节点的数量与预设阈值进行比较,根据比较结果确定起始角度。
在一个实施例中,根据比较结果确定起始角度,包括:
若叶节点的数量小于预设阈值,则根据叶节点数量计算起始角度,根据起始角度绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心、根节点垂直平分的圆的同一侧;若叶节点的数量大于或者等于预设阈值,则将起始角度设置为固定值,根据固定值绘制叶节点,将绘制出的叶节点分布显示在以根节点为圆心的圆上。
在一个实施例中,根据半径、叶节点的数量和起始角度,以根节点为圆心,自动生成网络拓扑图,包括:
根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标;将每个叶节点的位置坐标与根节点的位置坐标分别连接,自动生成网络拓扑图。
在一个实施例中,根据叶节点的数量、起始角度、半径和根节点的位置坐标,计算每个叶节点的位置坐标,包括:
根据叶节点的数量和起始角度,确定相邻两个叶节点之间的夹角;根据起始角度和相邻两个叶节点的之间的夹角,生成每个叶节点和根节点之间的连线相对于水平轴正轴的偏移角度;根据每个叶节点对应的偏移角度、半径和根节点的位置坐标,采用三角函数的计算方式确定得到每个叶节点的位置坐标。
在一个实施例中,根据当前画布的尺寸,确定根节点的位置坐标,包括:
以当前画布的起点为原点,根据当前画布的宽度和高度,确定根节点的位置坐标。
在一个实施例中,根据当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:
根据当前画布的高度,确定绘制叶节点的半径。
本申请是参照根据本申请实施例的方法、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,如图8所示,电子设备800包括一个或多个处理器(CPU)801、存储器802和总线803。电子设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种网络拓扑图生成方法,其特征在于,所述方法包括:
根据当前画布的尺寸,确定根节点的位置坐标;
根据所述当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:根据所述当前画布的高度,确定网络拓扑图中绘制叶节点的半径;
获取所述叶节点的数量,根据所述叶节点的数量,确定计算所述叶节点的位置坐标的起始角度;
根据所述半径、所述叶节点的数量、所述起始角度和所述根节点的位置坐标,计算每个所述叶节点的位置坐标,以所述根节点为圆心,自动生成网络拓扑图,所述根节点和所述叶节点是网络拓扑图中的控制节点;
所述根据所述半径、所述叶节点的数量、所述起始角度和所述根节点的位置坐标,计算每个所述叶节点的位置坐标包括:根据所述叶节点的数量和所述起始角度,确定相邻两个叶节点之间的夹角;根据所述起始角度和所述相邻两个叶节点的之间的夹角,生成每个所述叶节点和所述根节点之间的连线相对于水平轴正轴的偏移角度;根据每个所述叶节点对应的偏移角度、所述半径和所述根节点的位置坐标,确定得到每个所述叶节点的位置坐标。
2.根据权利要求1所述的方法,其特征在于,所述根据所述叶节点的数量,确定计算所述叶节点的位置坐标的起始角度,包括:
将所述叶节点的数量与预设阈值进行比较,根据比较结果确定所述起始角度。
3.根据权利要求2所述的方法,其特征在于,所述根据比较结果确定所述起始角度,包括:
若所述叶节点的数量小于所述预设阈值,则根据所述叶节点数量计算所述起始角度,根据所述起始角度绘制所述叶节点,将绘制出的所述叶节点分布显示在以所述根节点为圆心、所述根节点垂直平分的圆的同一侧;
若所述叶节点的数量大于或者等于所述预设阈值,则将所述起始角度设置为固定值,根据所述固定值绘制所述叶节点,将绘制出的所述叶节点分布显示在以所述根节点为圆心的圆上。
4.根据权利要求1所述的方法,其特征在于,所述以所述根节点为圆心,自动生成所述网络拓扑图,包括:
将每个所述叶节点的位置坐标与所述根节点的位置坐标分别连接,自动生成所述网络拓扑图。
5.根据权利要求1所述的方法,其特征在于,所述根据每个所述叶节点对应的偏移角度、所述半径和所述根节点的位置坐标,确定得到每个所述叶节点的位置坐标包括:
根据每个所述叶节点对应的偏移角度、所述半径和所述根节点的位置坐标,采用三角函数的计算方式确定得到每个所述叶节点的位置坐标。
6.根据权利要求1所述的方法,其特征在于,所述根据当前画布的尺寸,确定根节点的位置坐标,包括:
以所述当前画布的起点为原点,根据所述当前画布的宽度和高度,确定所述根节点的位置坐标。
7.根据权利要求1所述的方法,其特征在于,所述根据所述当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:
根据所述当前画布的宽度和高度,确定所述绘制叶节点的半径。
8.一种网络拓扑图生成装置,其特征在于,所述装置包括:
根节点位置确定模块,用于根据当前画布的尺寸,确定根节点的位置坐标;
半径确定模块,用于根据所述当前画布的尺寸,确定网络拓扑图中绘制叶节点的半径,包括:根据所述当前画布的高度,确定网络拓扑图中绘制叶节点的半径;
起始角度确定模块,用于获取所述叶节点的数量,根据所述叶节点的数量,确定计算所述叶节点的位置坐标的起始角度;
图形生成模块,用于根据所述半径、所述叶节点的数量、所述起始角度和所述根节点的位置坐标,计算每个所述叶节点的位置坐标,以所述根节点为圆心,自动生成网络拓扑图;
所述根据所述半径、所述叶节点的数量、所述起始角度和所述根节点的位置坐标,计算每个所述叶节点的位置坐标包括:根据所述叶节点的数量和所述起始角度,确定相邻两个叶节点之间的夹角;根据所述起始角度和所述相邻两个叶节点的之间的夹角,生成每个所述叶节点和所述根节点之间的连线相对于水平轴正轴的偏移角度;根据每个所述叶节点对应的偏移角度、所述半径和所述根节点的位置坐标,确定得到每个所述叶节点的位置坐标。
9.一种电子设备,其特征在于,包括至少一个处理器、至少一个存储器、以及总线;其中,所述处理器与所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
CN201910942346.6A 2019-09-30 2019-09-30 网络拓扑图生成方法、装置、电子设备和存储介质 Active CN112583620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910942346.6A CN112583620B (zh) 2019-09-30 2019-09-30 网络拓扑图生成方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910942346.6A CN112583620B (zh) 2019-09-30 2019-09-30 网络拓扑图生成方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112583620A CN112583620A (zh) 2021-03-30
CN112583620B true CN112583620B (zh) 2023-05-23

Family

ID=75116762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910942346.6A Active CN112583620B (zh) 2019-09-30 2019-09-30 网络拓扑图生成方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112583620B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113452557B (zh) * 2021-06-24 2022-08-26 新华三大数据技术有限公司 子网络拓扑的呈现方法、装置及设备
CN113904941B (zh) * 2021-09-24 2023-11-03 绿盟科技集团股份有限公司 一种生成拓扑图的方法、系统及电子设备
CN113992498B (zh) * 2021-12-24 2022-04-08 深圳市明源云科技有限公司 系统架构展示方法、装置、设备及计算机可读存储介质
CN114996440B (zh) * 2022-07-19 2022-11-04 北京金堤科技有限公司 图谱展示方法和装置、以及存储介质和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399443A (zh) * 2001-07-26 2003-02-26 华为技术有限公司 网络节点拓扑结构图示方法
CN1791011A (zh) * 2005-12-06 2006-06-21 电子科技大学 一种网络管理系统中网络拓扑图自动生成方法
CN102546251A (zh) * 2011-12-31 2012-07-04 清华大学 基于混合探测技术的网络拓扑发现和自动布局方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8125930B2 (en) * 2006-12-13 2012-02-28 Rockstar Bidco Lp Protocol for clock distribution and loop resolution
US20130326427A1 (en) * 2012-05-30 2013-12-05 Red Hat, Inc. Automated assessment of user interfaces

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1399443A (zh) * 2001-07-26 2003-02-26 华为技术有限公司 网络节点拓扑结构图示方法
CN1791011A (zh) * 2005-12-06 2006-06-21 电子科技大学 一种网络管理系统中网络拓扑图自动生成方法
CN102546251A (zh) * 2011-12-31 2012-07-04 清华大学 基于混合探测技术的网络拓扑发现和自动布局方法及系统

Also Published As

Publication number Publication date
CN112583620A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN112583620B (zh) 网络拓扑图生成方法、装置、电子设备和存储介质
CN111079570B (zh) 一种人体关键点识别方法、装置及电子设备
KR102211374B1 (ko) 리스크 정보를 출력하고 리스크 정보를 구축하기 위한 방법 및 디바이스
US10699055B2 (en) Generative adversarial networks for generating physical design layout patterns
TW202011264A (zh) 資訊的檢測方法、裝置及設備
CN113312361B (zh) 轨迹查询方法、装置、设备、存储介质及计算机程序产品
CN105338537B (zh) 一种新增基站站址共享分析的方法及终端
WO2019169699A1 (zh) 房屋模型的渲染方法、装置、终端设备及介质
US10606975B2 (en) Coordinates-based generative adversarial networks for generating synthetic physical design layout patterns
US11809986B2 (en) Computing graph similarity via graph matching
CN113516246A (zh) 参数优化方法、量子芯片的控制方法及装置
CN109981311B (zh) 图布局的实现方法及装置
CN117058421A (zh) 基于多头模型的图像检测关键点方法、系统、平台及介质
CN116229116A (zh) 一种基于相似零件的工艺复用加工方法、系统及电子设备
WO2021036190A1 (zh) 节点布局确定方法以及装置
Rüegg et al. Using one-dimensional compaction for smaller graph drawings
CN117094268B (zh) 网格间数据传递方法、装置、存储介质及电子设备
TWI822282B (zh) 用於考量物件位置之趨勢之物件偵測之電腦實施方法、電腦系統及電腦程式產品
CN112287428B (zh) 建筑墙体生成方法、装置、计算机设备和存储介质
CN113342413B (zh) 用于处理组件的方法、装置、设备、介质和产品
US20230039397A1 (en) Using artificial intelligence to optimize seam placement on 3d models
CN110727755B (zh) 一种地物形状规则化方法、电子设备及存储介质
CN110647574B (zh) 一种社交网络数据展示方法、终端设备及存储介质
US20220122342A1 (en) Method and device for identifying state, electronic device and computer -readable storage medium
US11222200B2 (en) Video-based 3D hand pose and mesh estimation based on temporal-aware self-supervised learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant