CN113822963A - 一种绘制及展示拓扑图的方法、***、设备和存储介质 - Google Patents
一种绘制及展示拓扑图的方法、***、设备和存储介质 Download PDFInfo
- Publication number
- CN113822963A CN113822963A CN202111106912.3A CN202111106912A CN113822963A CN 113822963 A CN113822963 A CN 113822963A CN 202111106912 A CN202111106912 A CN 202111106912A CN 113822963 A CN113822963 A CN 113822963A
- Authority
- CN
- China
- Prior art keywords
- node
- width
- maximum
- level
- topological graph
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001149900 Fusconaia subrotunda Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种绘制及展示拓扑图的方法、***、设备和存储介质,方法包括:对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。本发明能够精准计算拓扑图绘制画布所需的长和宽,并极大的减少内存的占用。
Description
技术领域
本发明涉及拓扑图领域,更具体地,特别是指一种绘制及展示拓扑图的方法、***、设备和存储介质。
背景技术
现有的拓扑图的实现多种多样,拓扑图插件也五花八门。通过对***返回数据的处理,选择一种契合实际需求的拓扑结构,能以更直观的方式给予***使用者对***整个链路有更清晰的了解。但实际上,再好的拓扑实现,都面临一个大数据量的问题,一旦数据量飙升,服务器内存压力特别大。特别是随着层级递增,数据处理量是以指数倍上升。越优秀的拓扑图插件,为了修正拓扑图的展现,在各子节点进行修正,反而加大了***的内存压力。最后演变成了对服务器配置的极限榨取。
发明内容
有鉴于此,本发明实施例的目的在于提出一种绘制及展示拓扑图的方法、***、计算机设备及计算机可读存储介质,本发明通过对数据结构进行解析,精准计算拓扑图绘制画布所需的长和宽,并且仅展示少量节点,极大的降低了对内存的消耗,如果有层级变动、名称变动或图片变动,只需要调整计算项即可,方便快捷。
基于上述目的,本发明实施例的一方面提供了一种绘制及展示拓扑图的方法,包括如下步骤:对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:判断所述最大层级的上一级中的每个节点是否存在子节点;响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
在一些实施方式中,所述展示预设层级对应的拓扑图包括:点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
本发明实施例的另一方面,提供了一种绘制及展示拓扑图的***,包括:解析模块,配置用于对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;高度模块,配置用于设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;宽度模块,配置用于设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及执行模块,配置用于根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
在一些实施方式中,所述解析模块配置用于:设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
在一些实施方式中,所述解析模块还配置用于:判断所述最大层级的上一级中的每个节点是否存在子节点;响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
在一些实施方式中,所述展示预设层级对应的拓扑图包括:点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过对数据结构进行解析,精准计算拓扑图绘制画布所需的长和宽,并且仅展示少量节点,极大的降低了对内存的消耗,如果有层级变动、名称变动或图片变动,只需要调整计算项即可,方便快捷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的绘制及展示拓扑图的方法的实施例的示意图;
图2为树形拓扑结构示意图;
图3为使用本发明绘制的拓扑图的示意图;
图4为本发明提供的绘制及展示拓扑图的***的实施例的示意图;
图5为本发明提供的绘制及展示拓扑图的计算机设备的实施例的硬件结构示意图;
图6为本发明提供的绘制及展示拓扑图的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种绘制及展示拓扑图的方法的实施例。图1示出的是本发明提供的绘制及展示拓扑图的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;
S2、设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;
S3、设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及
S4、根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
海量存储***一般分为cluster/root/rack/host/osd五个层级。Cluster代表集群,数据中心;Root代表房间,数据存储的根节点;Rack代表机柜;Host代表节点,节点通常代表一台服务器;Osd代表硬盘,每个节点通常有12/24/36/72块盘,disk盘会被虚拟成osd,以osd的形式存储数据。
一个96台服务器的集群的结构树可能是,一个数据中心中包括2个房间,每个房间里,设置有8个机柜,每个机柜放了6服务器。每台服务器上有24块硬盘。由此可以根据数据结构,抽象成一个拓扑结构。共计1*2*8*6*24+1*2*8*6+1*2*8+1*2+1=2419个树节点和2419条通行链路。如果要支持拓扑图磁盘级的监控和磁盘级的换盘操作,2304个超大节点将在一个拓扑图中集中展示。现有技术中各个节点是以图2的形式进行展示,但是这种情况占用空间大。
为了更好的展现效果和更小的绘制空间,本发明实施例中节点的放置以图3的各层级位置的并行排列展示。具体操作如下:
对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度。数据从后端查出后,按照返回数据格式,在客户端去解析数据结构,给每个层级添加标记。并最终分析到,当前数据结构对应的节点数目。例如图2中一共13个节点。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。设置一个height值,计算递归循环最多能进入的递归层级。如图2,循环到k后,height会被赋值4,之后没有一个更深的层级能够把height值改为5,所以这棵树的最大层级就是4。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:判断所述最大层级的上一级中的每个节点是否存在子节点;响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。例如图2,第一级循环递归,width(宽度)是1,第二级循环,width是3,第三级循环,width是6。第四级的时候,有一些没有子节点,那么它的父节点就是最后一级。也就是1+1+1+1+1+1变为(2)+1+1+(1)+1+1=7,7就是这棵树的最大宽度。
设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度。每一级节点在一条竖线上,如果这一级没有数据,则中间空出来,用长实线相连,不能将硬盘数据跟节点数据在一条竖线上。每级节点,线左右长度相同。Rack和host之间,host和osd之间的距离是一样的。两个节点连接线之间的长度为eachX,即第一方向上的距离宽度。实际高度=eachY*height。即最后一级硬盘的单个绘制高度乘以树结构的height层级高度。
节点的最大宽度,实际上就是文字描述的最大宽度。例如名称命名一般不允许超过32位,那么两个节点直接的距离,就是32位字符的宽度(两个节点的距离就是左边节点名称的右半部分+右边节点名称的左半部分,实际上就是一个节点名称的宽度)。网址的字体大小font-size一般是12px。所以eachX=32*12。
设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度。相同级子节点,上下的距离是相同的。一个叶子节点所占的上下距离是eachY(即最后一级图片的高度+文字+间隙),即第二方向上的距离宽度。实际宽度=eachX*(width–1)。即两个节点之间的单个绘制宽度乘以树结构的层级宽度减1。
根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。画布总大小=实际高度*实际宽度。实际的拓扑图利用,将超过1/2。
在一些实施方式中,所述展示预设层级对应的拓扑图包括:点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
减少显示层级。例如海量存储***,100个节点下,前四级就将展示1+2+16+96=115个节点。所以第五级和其他级应该隐藏显示。点击第四级,再展示第五级的硬盘。这样能够有效减少第五级叶子节点和通路的绘制。实际上将隐藏2304/2429=95%的叶子节点。展开新的第四级,先关闭原先的数据,进行内存释放,同时再申请新的空间,不再重复展开。例如图2,点击E,显示K和L,内存增加K和L部分。现在点击H,展开M,同时关闭K和L,并释放这部分画布的内存。这样有升有降,从整体上看,内存就不会再提升。
另外,eachX对于***来说,基本是一个定值,只要不超过名称长度(对于海量存储***来说不超过32位名称)就可以。如果超过32位,因为很少会有这种情况,超过的部分将会被隐藏,并悬浮展示。例如aaabbbccc,展示成aaabb..,悬浮展示aaabbbccc。EachY是最后一级图片的高度+文字+间隙,合理压缩eachY的实际展示高度,既不影响美观,又能减少整个拓扑图的高度绘制。
能够保证画布总大小确定的情况下,不再越界和内存大幅升高。例如刚开始声明同级在同一竖线上,以此保证拓扑图层级清楚。当其中缺少层级的时候,图2跟海量存储***实际不相同,图2是可以缺少最后一级的节点,实际上,对海量存储***来说,应该缺少F层级,直接将F出现在第四层级,用两个eachX的长度相连。而这种方式,对于拓扑图来说,F只是在拓扑图内部,移动了位置;线段拉长一倍,对拓扑图内存无影响。
本发明实施例具有以下优点:(1)内存极简。精准计算拓扑图绘制画布所需的长和宽;(2)展示清晰。清晰的层级展示,知道每个叶子节点在整个***所在的位置;(3)画布充分。精准的计算下,保证展示不越界。(4)参数化配置。例如有层级变动,名称变动,图片变动,调整里边的计算项即可。
本发明实施例通过对数据结构进行解析,精准计算拓扑图绘制画布所需的长和宽,并且仅展示少量节点,极大的降低了对内存的消耗,如果有层级变动、名称变动或图片变动,只需要调整计算项即可,方便快捷。
需要特别指出的是,上述绘制及展示拓扑图的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于绘制及展示拓扑图的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种绘制及展示拓扑图的***。如图4所示,***200包括如下模块:解析模块,配置用于对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;高度模块,配置用于设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;宽度模块,配置用于设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及执行模块,配置用于根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
在一些实施方式中,所述解析模块配置用于:设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
在一些实施方式中,所述解析模块还配置用于:判断所述最大层级的上一级中的每个节点是否存在子节点;响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
在一些实施方式中,所述展示预设层级对应的拓扑图包括:点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;S2、设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;S3、设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及S4、根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
在一些实施方式中,所述确定所述数据结构的最大层级和最大宽度包括:判断所述最大层级的上一级中的每个节点是否存在子节点;响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
在一些实施方式中,所述展示预设层级对应的拓扑图包括:点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
如图5所示,为本发明提供的上述绘制及展示拓扑图的计算机设备的一个实施例的硬件结构示意图。
以如图5所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的绘制及展示拓扑图的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现绘制及展示拓扑图的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据绘制及展示拓扑图的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个绘制及展示拓扑图的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行上述任意方法实施例中的绘制及展示拓扑图的方法。
执行上述绘制及展示拓扑图的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行绘制及展示拓扑图的方法的计算机程序。
如图6所示,为本发明提供的上述绘制及展示拓扑图的计算机存储介质的一个实施例的示意图。以如图6所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,绘制及展示拓扑图的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种绘制及展示拓扑图的方法,其特征在于,包括如下步骤:
对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;
设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;
设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及
根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
2.根据权利要求1所述的方法,其特征在于,所述确定所述数据结构的最大层级和最大宽度包括:
设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及
响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
3.根据权利要求2所述的方法,其特征在于,所述确定所述数据结构的最大层级和最大宽度包括:
判断所述最大层级的上一级中的每个节点是否存在子节点;
响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;
响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及
将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
4.根据权利要求1所述的方法,其特征在于,所述展示预设层级对应的拓扑图包括:
点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
5.一种绘制及展示拓扑图的***,其特征在于,包括:
解析模块,配置用于对待展示的数据结构进行解析,确定所述数据结构对应的拓扑图的最大层级和最大宽度;
高度模块,配置用于设置节点的第一方向上的距离宽度,并根据所述第一方向上的距离宽度和所述最大层级确定实际高度;
宽度模块,配置用于设置节点与所述第一方向垂直的第二方向上的距离宽度,并根据所述第二方向上的距离宽度和所述最大宽度确定实际宽度;以及
执行模块,配置用于根据所述实际高度和所述实际宽度绘制拓扑图,并响应于所述拓扑图的层级大于阈值,展示预设层级对应的拓扑图。
6.根据权利要求5所述的***,其特征在于,所述解析模块配置用于:
设置初始深度参数,采用无限递归的方式将当前的层级的值赋给所述初始深度参数;以及
响应于所述初始深度参数不再改变,将所述初始深度参数对应的值设置为所述数据结构对应的拓扑图的最大层级。
7.根据权利要求6所述的***,其特征在于,所述解析模块还配置用于:
判断所述最大层级的上一级中的每个节点是否存在子节点;
响应于所述最大层级的上一级中的节点存在子节点,将所述子节点的个数作为计算值;
响应于所述最大层级的上一级中的节点不存在子节点,将所述节点作为计算值;以及
将作为计算值的所述节点和所述子节点的个数相加以得到所述数据结构的最大宽度。
8.根据权利要求5所述的***,其特征在于,所述展示预设层级对应的拓扑图包括:
点击所述预设层级中最底层节点,展示所述节点的子节点,并隐藏所述最底层其他节点的子节点。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106912.3A CN113822963A (zh) | 2021-09-22 | 2021-09-22 | 一种绘制及展示拓扑图的方法、***、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111106912.3A CN113822963A (zh) | 2021-09-22 | 2021-09-22 | 一种绘制及展示拓扑图的方法、***、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113822963A true CN113822963A (zh) | 2021-12-21 |
Family
ID=78915128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111106912.3A Pending CN113822963A (zh) | 2021-09-22 | 2021-09-22 | 一种绘制及展示拓扑图的方法、***、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822963A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134249A (zh) * | 2022-06-16 | 2022-09-30 | 浪潮思科网络科技有限公司 | 一种基于组网模型的拓扑方法、设备及介质 |
CN115238133A (zh) * | 2022-07-01 | 2022-10-25 | 盐城金堤科技有限公司 | 一种图谱布局方法、装置、存储介质和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363583B1 (en) * | 2004-02-24 | 2008-04-22 | Microsoft Corporation | Method and system for providing a compact layout of connected nodes |
CN101217410A (zh) * | 2008-01-07 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种网络拓扑结构的展示方法和设备 |
CN108696380A (zh) * | 2017-04-11 | 2018-10-23 | 深圳市江机实业有限公司 | 宽带载波路由节点拓扑图的节点角色自动显示方法 |
CN109167686A (zh) * | 2018-08-28 | 2019-01-08 | 中国科学院电子学研究所苏州研究院 | 一种基于多层复杂网络拓扑的布局与展现方法 |
CN109639583A (zh) * | 2018-12-19 | 2019-04-16 | 迈普通信技术股份有限公司 | 拓扑图绘制方法、装置及电子设备 |
CN110958134A (zh) * | 2019-11-01 | 2020-04-03 | 锐捷网络股份有限公司 | 一种网络拓扑的实现方法及装置 |
CN111669286A (zh) * | 2020-05-13 | 2020-09-15 | 深圳市三旺通信股份有限公司 | 一种网管***中拓扑图树形布局生成方法 |
CN112115390A (zh) * | 2019-06-20 | 2020-12-22 | 华为技术有限公司 | 拓扑结构图的展示方法、装置、设备及存储介质 |
CN112737853A (zh) * | 2020-12-30 | 2021-04-30 | 北京安博通科技股份有限公司 | 一种网络拓扑图绘制方法、设备及存储介质 |
-
2021
- 2021-09-22 CN CN202111106912.3A patent/CN113822963A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363583B1 (en) * | 2004-02-24 | 2008-04-22 | Microsoft Corporation | Method and system for providing a compact layout of connected nodes |
CN101217410A (zh) * | 2008-01-07 | 2008-07-09 | 杭州华三通信技术有限公司 | 一种网络拓扑结构的展示方法和设备 |
CN108696380A (zh) * | 2017-04-11 | 2018-10-23 | 深圳市江机实业有限公司 | 宽带载波路由节点拓扑图的节点角色自动显示方法 |
CN109167686A (zh) * | 2018-08-28 | 2019-01-08 | 中国科学院电子学研究所苏州研究院 | 一种基于多层复杂网络拓扑的布局与展现方法 |
CN109639583A (zh) * | 2018-12-19 | 2019-04-16 | 迈普通信技术股份有限公司 | 拓扑图绘制方法、装置及电子设备 |
CN112115390A (zh) * | 2019-06-20 | 2020-12-22 | 华为技术有限公司 | 拓扑结构图的展示方法、装置、设备及存储介质 |
CN110958134A (zh) * | 2019-11-01 | 2020-04-03 | 锐捷网络股份有限公司 | 一种网络拓扑的实现方法及装置 |
CN111669286A (zh) * | 2020-05-13 | 2020-09-15 | 深圳市三旺通信股份有限公司 | 一种网管***中拓扑图树形布局生成方法 |
CN112737853A (zh) * | 2020-12-30 | 2021-04-30 | 北京安博通科技股份有限公司 | 一种网络拓扑图绘制方法、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134249A (zh) * | 2022-06-16 | 2022-09-30 | 浪潮思科网络科技有限公司 | 一种基于组网模型的拓扑方法、设备及介质 |
CN115238133A (zh) * | 2022-07-01 | 2022-10-25 | 盐城金堤科技有限公司 | 一种图谱布局方法、装置、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102394778B (zh) | 网络拓扑的显示方法及装置 | |
CN107704576B (zh) | 数据展示优化方法、装置、终端设备及存储介质 | |
CN111931097B (zh) | 信息展示方法、装置、电子设备以及存储介质 | |
CN113822963A (zh) | 一种绘制及展示拓扑图的方法、***、设备和存储介质 | |
CN105630902A (zh) | 一种渲染和增量更新网页的方法 | |
CN109254771B (zh) | 一种监控页面生成方法和装置 | |
JP4829946B2 (ja) | 推定関心度に基づいてノード・リンク構造体をブラウジングするためのプログラム | |
CN104090769B (zh) | 一种业务数据的图形展示方法和装置 | |
US20070113185A1 (en) | Intelligent network diagram layout | |
US20100318943A1 (en) | Unified Interface for Display and Modification of Data Arrays | |
CN116955863A (zh) | 基于虚拟树的动态树形结构渲染方法及装置 | |
CN102299966A (zh) | 一种在web客户端加载大数据量的方法及装置 | |
CN111273980B (zh) | 界面线程可视化方法、装置、计算机设备及存储介质 | |
CN111199568A (zh) | 矢量图的绘制方法、装置及计算机可读存储介质 | |
CN103986594B (zh) | 生成网络拓扑图的方法和装置 | |
CN114817379A (zh) | 基于Qunee的配置项关系可视化方法、***、设备及介质 | |
CN112448853B (zh) | 一种网络拓扑图优化方法、终端设备及存储介质 | |
CN114816184A (zh) | 一种操作控件的展示方法、装置、设备及存储介质 | |
CN114722112A (zh) | 一种可视化列表数据展示方法及其装置 | |
CN111813401A (zh) | 一种基于b/s架构的绘图建模工具中图形组件化方法及*** | |
US11093572B2 (en) | Hierarchical modeling for network sites | |
JP7439955B2 (ja) | 操作支援装置、操作支援方法および操作支援プログラム | |
CN117557682B (zh) | 数据处理方法、装置、产品、设备和介质 | |
CN117035067B (zh) | 一种思维导图的渲染方法、装置及电子设备 | |
CN112800362B (zh) | 一种界面视图延时加载方法及装置 |
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 |