CN113992498B - 系统架构展示方法、装置、设备及计算机可读存储介质 - Google Patents
系统架构展示方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113992498B CN113992498B CN202111594465.0A CN202111594465A CN113992498B CN 113992498 B CN113992498 B CN 113992498B CN 202111594465 A CN202111594465 A CN 202111594465A CN 113992498 B CN113992498 B CN 113992498B
- Authority
- CN
- China
- Prior art keywords
- node
- child
- target
- nodes
- system architecture
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
- H04L41/065—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving logical or physical relationship, e.g. grouping and hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种系统架构展示方法、装置、设备及计算机可读存储介质。本发明通过获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;根据所述子节点的位置构建系统架构的展示图,实现了系统架构的各个层级之间的调用关系清晰直观的效果。
Description
技术领域
本发明涉及网络管理技术领域,尤其涉及一种系统架构展示方法、装置、设备及计算机可读存储介质。
背景技术
随着信息化时代的到来,数字化应用逐渐深入到各行各业中,而大多数企业应用系统中各个层级之间的架构关系往往较为复杂,一旦应用发生故障,很难对故障进行快速的排查和定位,由于对系统架构中各个层级之间的关系不清晰,导致故障排查效率较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种系统架构展示方法、装置、设备及计算机可读存储介质,旨在解决系统架构的各个层级之间的调用关系不清晰,导致故障排查效率较低的技术问题。
为实现上述目的,本发明提供一种系统架构展示方法,所述系统架构展示方法包括:
获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
根据所述子节点的位置构建系统架构的展示图。
可选地,所述根据所述上一层级确定所述目标层中的子节点的序号的步骤包括:
确定所述上一层级中的所有父节点,并确定所述目标层中的所有子节点;
遍历所述目标层中的子节点,确定所述所有父节点中与遍历的所述子节点存在调用关系的目标父节点;
获取所述目标父节点的序号,根据所述目标父节点的序号,确定所述子节点的序号。
可选地,所述根据所述目标父节点的序号,确定所述子节点的序号的步骤包括:
若存在多个目标父节点,则获取各所述目标父节点的序号,并对各所述序号进行相加计算,得到序号加值;
获取所述目标父节点的数量,并将所述序号加值与所述数量之间的比值作为所述子节点的序号。
可选地,所述根据所述画布中心位置和所述子节点的序号计算所述子节点的位置的步骤包括:
获取所述子节点的宽度、所述子节点的个数,并获取所述子节点与子节点之间的子节点间距;
根据所述子节点的宽度、所述子节点的个数及所述子节点间距,计算所述目标层的总长度;
根据所述总长度、子节点的序号和所述画布中心位置,计算所述子节点的位置。
可选地,所述根据所述子节点的位置构建系统架构的展示图的步骤包括:
根据所述子节点的序号对所述子节点进行排序,将排序后的子节点与所述目标父节点进行连接,并根据所述子节点的位置,放置所述子节点,生成系统架构的展示图。
可选地,所述根据所述子节点的位置构建系统架构的展示图的步骤包括:
遍历所述目标层中的子节点,确定所述目标层中与遍历的所述子节点存在调用关系的目标子节点;
根据所述子节点的位置和所述目标子节点的位置,设置所述子节点与所述目标子节点之间的连接边的幅度;
根据所述幅度连接所述子节点与所述目标子节点,构建系统架构的展示图。
可选地,所述获取目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号的步骤之前,还包括:
获取系统中所有的节点数据;
根据所述节点数据对应的数据源标记,对所述节点数据进行归类;
将属于目标层的节点数据作为子节点,并将属于上一层级的节点数据作为父节点。
此外,为实现上述目的,本发明还提供一种系统架构展示装置,所述系统架构展示装置包括:
节点排序模块,用于获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
位置计算模块,用于获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
架构展示模块,用于根据所述子节点的位置构建系统架构的展示图。
此外,为实现上述目的,本发明还提供一种系统架构展示设备,所述系统架构展示设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的系统架构展示程序,所述系统架构展示程序被处理器执行时实现如上述的系统架构展示方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有系统架构展示程序,所述系统架构展示程序被处理器执行时实现如上述的系统架构展示方法的步骤。
本发明提供一种系统架构展示方法、装置、设备及计算机可读存储介质,通过获取系统中目标层的上一层级,根据上一层级确定目标层中的子节点的序号,即根据上一层级确定目标层级中的子节点的序号,根据序号来对目标层级中的子节点进行排序,进而获取画布中心位置,根据画布中心位置和子节点的序号来计算子节点的位置,子节点经过排序后再构建系统架构的展示图,将减少目标层级与上一层级之间的连接边的交叉现象,从而使得系统构架的展示图更加直观清晰。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备的结构示意图;
图2为本发明系统架构展示方法第一实施例的流程示意图;
图3为本发明实施例方案涉及的一应用场景的系统示意图;
图4为本发明实施例方案涉及的又一应用场景的系统示意图;
图5为本发明系统架构展示装置的装置结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以为PC(personal computer,个人计算机)、便携计算机、服务器等终端设备。
如图1所示,该系统架构展示设备可以包括:处理器1001,例如CPU(CentralProcessing Unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)。存储器1005可以是高速的随机存取存储器(Random AccessMemory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,投屏控制装置还可以包括RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比如显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针等等。
本领域技术人员可以理解,图1中示出的结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及系统架构展示程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的投屏控制程序,并执行以下操作:
获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
根据所述子节点的位置构建系统架构的展示图。
基于上述硬件结构,提出本发明系统架构展示方法各个实施例。
本发明实施例提供了一种系统架构展示方法,参照图2,图2为本发明系统架构展示方法第一实施例的流程示意图。
在本实施例中,所述系统架构展示方法包括:
步骤S10,获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
通常应用系统中可以包括用户终端、前端应用、后端服务及中间件等结构,而大多数企业应用往往不清楚整个后端的架构和各个服务之间的关系,即使知道关系,一旦应用挂掉或者有性能问题的排查和定位问题也需要大费周折。因此,清晰地展示前端应用到后端服务之间的关系、各个后端服务之间的关系、后端服务到中间件之间的关系等,可提高对整个系统架构的分析以及对服务异常进行定位的效率,起到优化整个系统架构的作用。
在本实施例中,系统中包括多个层级,层级之间存在节点的调用关系,目标层中的节点根据目标层上一层级中的节点进行排序,目标层为当前需要进行排序的任一层级,本实施例中以用户层、前端应用层、后端服务层以及中间件层为例,对本实施例的系统架构展示方法进行说明,用户层、(前端)应用层、(后端)服务层以及中间件层从上到下排列,用户层为第一层级、应用层为第二层级、服务层为第三层级、中间件层为第四层级,以应用层为目标层为例,获取目标层的上一层级,根据上一层级确定目标层中的子节点的序号,具体地,为根据上一层级中的父节点的序号,以及子节点与上一层级中的父节点之间的调用关系来确定子节点的序号,即获取用户层,根据用户层确定应用层中的子节点的序号,其中层级中的应用或服务为一个节点,如图3所示的5、6、7、8为目标层中的四个子节点,在本实施例中,如用户层中的终端用户a为user-a,用户a接入前端应用层中的数据采集应用或第三方应用(如app),数据采集应用调用后端服务层中的数据服务、日志服务或产品服务等服务,日志服务将数据(访问页面的记录)存放至中间件层的MySQL中间件中。
步骤S20,获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
步骤S30,根据所述子节点的位置构建系统架构的展示图。
在本实施例中,系统架构的展示图为拓扑图,拓扑图可以为树形或其他形状的拓扑图,画布的中心位置为画布的中心坐标,用于计算子节点的位置,并用于将后续构建的整个拓扑图居中放置。获取画布中心位置,并根据画布中心位置和子节点的序号计算得出子节点的位置,根据子节点的位置构建拓扑图,以清晰地展示系统架构中各个目标层与上一层级之间的关系。
在本实施例中,通过确定目标层的上一层级,根据上一层级确定目标层中的子节点的序号,即根据上一层级来对目标层级中的子节点进行排序,进而获取画布中心位置,根据画布中心位置和子节点的序号来计算子节点的位置,子节点经过排序后再构建系统架构的拓扑图,展示系统的架构中各个层级之间的调用关系,将减少子节点与上一层级之间的连接边的交叉现象,通过树形拓扑图结构展示整个层级之间调用的链路,从而使得系统构架的展示图更加直观清晰,避免由于不清楚系统的整体架构,导致无法精准定位出某个api有性能问题或者响应超时。
进一步地,上述步骤S10中,根据所述上一层级确定所述目标层中的子节点的序号的细化步骤包括:
步骤A,确定所述上一层级中的所有父节点,并确定所述目标层中的所有子节点;
步骤B,遍历所述目标层中的子节点,确定所述所有父节点中与遍历的所述子节点存在调用关系的目标父节点;
步骤C,获取所述目标父节点的序号,根据所述目标父节点的序号,确定所述子节点的序号。
在本实施例中,确定上一层级中的所有父节点,父节点为上一层级中的各个节点,如本实施例中上一层级为用户层,则父节点为各个终端用户,即如图3所示的1、2、3、4为上一层级中的四个父节点,遍历目标层中的子节点,确定出所有父节点中与遍历的子节点存在调用关系的目标父节点,可参照图3,如图3所示,遍历目标层中的子节点5、6、7、8,确定父节点中与遍历的子节点5存在调用关系的目标父节点为4;与子节点6存在调用关系的目标父节点为3;与子节点7存在调用关系的目标父节点为2;与子节点8存在调用关系的目标父节点为1。需要说明的是,本实施例中父节点还可以调用一个或多个子节点。进而获取目标父节点的序号,根据目标父节点的序号,确定子节点的序号,本实施例中的序号为用于对节点进行排序放置的标号,本实施例中的序号可以为节点的下标,在遍历目标层中的子节点之前,可先为上一层级中的父节点的序号进行初始化,分别从0开始,如图3中父节点1、2、3、4的序号依次为0、1、2、3将父节点按照序号从小到大排列即10、21、32、43。
在本实施例中,按照上一层级中的父节点的序号来确定目标层中的子节点的序号,进而根据子节点的序号对子节点进行排序,根据排序后的子节点与目标节点进行连接,减少了连接边的交叉现象,使得系统架构的拓扑图更加清晰直观。
进一步地,上述步骤C中,根据所述目标父节点的序号,确定所述子节点的序号的细化步骤包括:
步骤c1,若存在多个目标父节点,则获取各所述目标父节点的序号,并对各所述序号进行相加计算,得到序号加值;
步骤c2,获取所述目标父节点的数量,并将所述序号加值与所述数量之间的比值作为所述子节点的序号。
在本实施例中,可以根据目标父节点的序号来计算子节点的序号,具体地,若存在多个目标父节点,则获取各目标父节点的序号,将目标父节点的序号相加求和,得到序号加值,序号加值为与遍历的子节点存在调用关系的所有目标父节点的和,然后获取该目标父节点的数量,将序号加值除以目标父节点的数量,得到的比值即作为子节点的序号,可构建子节点序号的计算公式,如:其中,A为目标层中遍历的子节点,A.index为子节点的序号,setA为与子节点存在调用关系的目标父节点的集合,|setA|为目标父节点的数量,a为目标父节点,a.index目标为父节点的序号,为目标父节点的序号加值。本实施例可以将目标父节点的数量值以及目标父节点的序号加值输入上述的子节点序号的计算公式中,以得到子节点的序号,从而便于后续按照子节点的序号的大小对子节点依次排序。本实施例中第一层中的节点可以按照节点的原始顺序进行排序,还可以按照其他的方式进行排序,此处不做限定。
进一步地,上述步骤S20,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置的细化步骤包括:
步骤D,获取所述子节点的宽度、所述子节点的个数,并获取所述子节点与子节点之间的子节点间距;
步骤E,根据所述子节点的宽度、所述子节点的个数及所述子节点间距,计算所述目标层的总长度;
步骤F,根据所述总长度、子节点的序号和所述画布中心位置,计算所述子节点的位置。
在本实施例中,获取画布中心位置,画布的中心位置为布局的中心点center,本实施例中可基于AntVG6|Graphin,获取布局的中心点center,通过配置获取子节点的宽度,以及目标层中子节点与子节点之间的子节点间距,可以理解的是,子节点的宽度为子节点的大小,子节点间距为相邻子节点之间的间距,如图3所示,可配置子节点5的宽度为100个像素的宽度,配置子节点5与子节点6之间的间距为100个像素,本实施例中对间距及宽度的配置方式不做限定。获取目标层中子节点的个数,根据子节点的宽度、子节点的个数及子节点间距,可计算得出目标层的总长度,进而根据总长度、子节点的序号和画布中心位置,计算子节点的位置,也即计算子节点在画布中的具体坐标位置,以构建拓扑图,展示系统的架构。需要说明的是,本实施例中对每一层级中的节点均配置节点宽度、节点间距,并配置相邻层级之间的层级间距。
其中,根据子节点的宽度nodeSize、子节点的个数n及子节点间距nodeSep,计算目标层的总长度的过程可以为:具体可以为将子节点的宽度nodeSize和子节点间距nodeSep相加,得到长度加值;将子节点的个数n与加值相乘得到乘积;将该乘积减去子节点间距nodeSep得到目标层的总长度length,可构建总长度的计算公式:length = n*(nodeSep+nodeSize)-nodeSep,将子节点的宽度nodeSize、子节点的个数n及子节点间距nodeSep输入至总长度的计算公式中,得到目标层的总长度。可根据上述目标层的总长度的计算方式计算每一层级的总长度。
在本实施例中,根据目标层的总长度、子节点的序号和画布中心位置,计算子节点的位置的步骤包括:
步骤f1,将中心位置的横坐标与1/2的总长度做差,得到差值;
步骤f2,将所述子节点间距和所述子节点宽度相加,得到长度加值;
步骤f3,将所述子节点的序号与所述长度加值相乘,得到乘积;
步骤f4,将所述乘积和所述差值相加,得到所述子节点的横坐标;
在本实施例中,获取中心位置的横坐标center.x,总长度length,子节点间距nodeSep、子节点宽度nodeSize、子节点序号index,将中心位置的横坐标与总长度的1/2做差值,将子节点间距nodeSep和子节点宽度nodeSize相加,得到长度加值,将子节点的序号index与长度加值相乘,可得到乘积,将乘积与上述的差值进行相加求和,将该乘积与上述的差值进行相加求和得到的结果值作为子节点的横坐标,可构建节点横坐标的计算公式:x= (center.x-length/2) +index*(nodeSep+nodeSize),将中心位置的横坐标center.x,总长度length,子节点间距nodeSep、子节点宽度nodeSize、子节点序号index输入至节点横坐标的计算公式中,得到子节点的横坐标,其中x为子节点的横坐标。
步骤f5,获取目标层的层级序号,并获取目标层与上一层之间的层级间距,根据层级间距和目标层的序号,计算所述子节点的纵坐标;
步骤f6,将所述横坐标和所述纵坐标作为子节点的位置。
在本实施例中,每一层级包括层级序号,层级序号也即层级下标idx,用于确定节点的上下位置,即确定节点的纵坐标,获取目标层的层级序号idx,并获取目标层与上一层之间的层级间距partSep,该层级间距可在初始化时配置得到,如配置为200像素,根据层级间距partSep和目标层的层级序号idx,计算子节点的纵坐标。具体可根据子节点的纵坐标计算公式:y = partSep*(1+idx),得到子节点的纵坐标,其中y为子节点的纵坐标,将计算得出的子节点的横坐标和纵坐标作为子节点的位置。
进一步地,上述步骤S30,根据所述子节点的位置进行系统架构的展示的细化步骤包括:
步骤G,根据所述子节点的序号对所述子节点进行排序,将排序后的子节点与所述目标父节点进行连接,并根据所述子节点的位置,放置所述子节点,生成系统架构的展示图。
在本实施例中,在计算得到子节点的位置后,根据子节点的位置对子节点进行布局,以进一步构建系统架构的拓扑图,具体地,根据子节点的序号对子节点进行排序,并构建排序后的子节点与目标父节点之间的连接边,并根据子节点的位置,放置子节点,构建系统架构拓扑图,并进行系统架构的展示,如图4所示,对目标层中的子节点5678重新排序,得到8765的顺序,并构建排序后的子节点8765与目标父节点1234之间的连接边。其中,连接边用于连接各个节点以构成拓扑图,本实施例中可以设置边的流向,边的粗细,节点的状态,边的流动速度,在画布中边的流向可以表现为箭头获流动的光标。
在本实施例中,以应用/服务为一个节点,节点之间通过边来连接,边的粗细表示流量、颜色表示成功率、响应时间表示速度,用树状的拓扑图来展示终端用户层、前端应用层、后端服务层及中间件之间的关系,另外后端服务层也可对应分为多个子分层,可视化且清晰地展示应用到服务、服务到服务之间的关系。
进一步地,基于上述第一实施例,提出本发明系统架构展示方法的第二实施例,在本实施例中,上述步骤S30,根据所述子节点的位置进行系统架构的展示的细化步骤,还包括:
步骤H,遍历所述目标层中的子节点,确定所述目标层中与遍历的所述子节点存在调用关系的目标子节点;
步骤I,根据所述子节点的位置和所述目标子节点的位置,设置所述子节点与所述目标子节点之间的连接边的幅度;
步骤J,根据所述幅度连接所述子节点与所述目标子节点,构建系统架构拓扑图,并进行系统架构的展示。
在本实施例中,同一层级中的节点之间也会存在相互调用的关系,因此,本实施例中,以目标层为例,遍历目标层中的子节点,确定目标层中与遍历的子节点存在调用关系的目标子节点,并根据子节点的位置和目标子节点的位置,设置子节点与目标子节点之间的连接边的幅度,即对子节点与不同的目标子节点之间的连接边设置不同的幅度,以防止边重合,根据幅度连接子节点和目标子节点,构成系统架构拓扑图,进行系统架构的展示。
作为另一实施例,由于现有的两个节点之间的调用,无法确定主调用节点和被调用节点,若节点发生故障,则无法确定具体为哪一节点故障。因此本实施中,通过节点之间连接边的流动方向表示调用关系、通过连接边的粗细程度表示节点之间流通的流量,边越粗表明流量越大、通过节点的状态(状态可以为颜色状态),例如若节点a流向节点b,则说明服务a调用服务b,若流动速度较慢则认定为B节点的响应较慢,可通过节点的颜色表示节点是否能响应请求,如节点a为红色车认定节点a存在问题需要及时排查,通过树形结构拓扑图可直观展示系统的架构,节约维护成本,有助于更快地排查故障。
进一步地,上述步骤S10,获取目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号的步骤之前,还包括:
步骤K,获取系统中所有的节点数据;
步骤L,根据所述节点数据对应的数据源标记,对所述节点数据进行归类;
步骤M,将属于目标层的节点数据作为子节点,并将属于上一层级的节点数据作为父节点。
在本实施例中,在确定目标层的上一层级的步骤之前,获取系统中所有的节点数据,根据节点数据对应的数据源标记,对节点数据进行归类,将属于目标层的节点作为子节点,并将属于上一层级的节点数据作为父节点,数据源标记为层级标记,数据源标记可以为span-layer,也就是按照节点数据中的数据源标记确定节点数据属于用户层、前端应用层、后端服务层以及中间件层中的哪一层,如节点数据的span-layer等于1,即表明节点数据属于用户层,例如,获取所有节点12345678,其中节点1234的数据源标记等于1,则输入第一层,即用户层,节点5678的数据源标记等于2,则输入第二层,即应用层。
在本实施例中,对每个节点的摆放位置进行具体的确定,对节点进行准确地定位和排序,避免了服务之间的层级关系紊乱,且增加了边的流向、粗细以及响应速度生动地展示系统的架构关系,便于快速定位故障,清洗展现服务之间的层级关系。
本发明还提供一种系统架构展示装置,如图5所示系统架构展示装置包括:节点排序模块A10,用于获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
位置计算模块A20,用于获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
架构展示模块A30,用于根据所述子节点的位置构建系统架构的展示图。
本发明系统架构展示装置的具体实施例与上述系统架构展示方法各实施例基本相同,在此不作赘述。
本发明还提供一种系统架构展示设备,其特征在于,所述系统架构展示设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的系统架构展示程序,所述系统架构展示程序被处理器执行时实现如以上任一项实施例所述的系统架构展示方法的步骤。本发明系统架构展示设备的具体实施例与上述系统架构展示方法各实施例基本相同,在此不作赘述。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有系统架构展示程序,所述系统架构展示程序被处理器执行时实现如以上任一项实施例所述的系统架构展示方法的步骤。本发明计算机可读存储介质的具体实施例与上述系统架构展示方法各实施例基本相同,在此不作赘述。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种系统架构展示方法,其特征在于,所述系统架构展示方法包括步骤:
获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
根据所述子节点的位置构建系统架构的展示图;
其中,所述根据所述上一层级确定所述目标层中的子节点的序号的步骤包括:
确定所述上一层级中的所有父节点,并确定所述目标层中的所有子节点;
遍历所述目标层中的子节点,确定所述所有父节点中与遍历的所述子节点存在调用关系的目标父节点;
获取所述目标父节点的序号,若存在多个目标父节点,则获取各所述目标父节点的序号,并对各所述序号进行相加计算,得到序号加值;
获取所述目标父节点的数量,并将所述序号加值与所述数量之间的比值作为所述子节点的序号;
所述根据所述子节点的位置构建系统架构的展示图的步骤包括:
按照所述子节点的序号的大小对所述子节点依次排序,将排序后的子节点与所述目标父节点进行连接,并根据所述子节点的位置,放置所述子节点,生成系统架构的展示图。
2.如权利要求1所述的系统架构展示方法,其特征在于,所述根据所述画布中心位置和所述子节点的序号计算所述子节点的位置的步骤包括:
获取所述子节点的宽度、所述子节点的个数,并获取所述子节点与子节点之间的子节点间距;
根据所述子节点的宽度、所述子节点的个数及所述子节点间距,计算所述目标层的总长度;
根据所述总长度、子节点的序号和所述画布中心位置,计算所述子节点的位置。
3.如权利要求1所述的系统架构展示方法,其特征在于,所述根据所述子节点的位置构建系统架构的展示图的步骤包括:
遍历所述目标层中的子节点,确定所述目标层中与遍历的所述子节点存在调用关系的目标子节点;
根据所述子节点的位置和所述目标子节点的位置,设置所述子节点与所述目标子节点之间的连接边的幅度;
根据所述幅度连接所述子节点与所述目标子节点,构建系统架构的展示图。
4.如权利要求1所述的系统架构展示方法,其特征在于,所述获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号的步骤之前,还包括:
获取系统中所有的节点数据;
根据所述节点数据对应的数据源标记,对所述节点数据进行归类;
将属于目标层的节点数据作为子节点,并将属于上一层级的节点数据作为父节点。
5.一种系统架构展示装置,其特征在于,所述系统架构展示装置包括:
节点排序模块,用于获取系统中目标层的上一层级,根据所述上一层级确定所述目标层中的子节点的序号;
节点排序模块,用于确定所述上一层级中的所有父节点,并确定所述目标层中的所有子节点;
节点排序模块,用于遍历所述目标层中的子节点,确定所述所有父节点中与遍历的所述子节点存在调用关系的目标父节点;
节点排序模块,用于获取所述目标父节点的序号,若存在多个目标父节点,则获取各所述目标父节点的序号,并对各所述序号进行相加计算,得到序号加值;
节点排序模块,用于获取所述目标父节点的数量,并将所述序号加值与所述数量之间的比值作为所述子节点的序号;
位置计算模块,用于获取画布中心位置,根据所述画布中心位置和所述子节点的序号计算所述子节点的位置;
架构展示模块,用于根据所述子节点的位置构建系统架构的展示图;
架构展示模块,用于按照所述子节点的序号的大小对所述子节点依次排序,将排序后的子节点与所述目标父节点进行连接,并根据所述子节点的位置,放置所述子节点,生成系统架构的展示图。
6.一种系统架构展示设备,其特征在于,所述系统架构展示设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的系统架构展示程序,所述系统架构展示程序配置为实现如权利要求1至4中任一项所述的系统架构展示方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统架构展示程序,所述系统架构展示程序被处理器执行时实现如权利要求1至4中任一项所述的系统架构展示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111594465.0A CN113992498B (zh) | 2021-12-24 | 2021-12-24 | 系统架构展示方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111594465.0A CN113992498B (zh) | 2021-12-24 | 2021-12-24 | 系统架构展示方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113992498A CN113992498A (zh) | 2022-01-28 |
CN113992498B true CN113992498B (zh) | 2022-04-08 |
Family
ID=79734226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111594465.0A Active CN113992498B (zh) | 2021-12-24 | 2021-12-24 | 系统架构展示方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113992498B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013134847A1 (en) * | 2012-03-16 | 2013-09-19 | Research In Motion Limited | System and method for managing data using tree structures |
CN104732452A (zh) * | 2015-03-13 | 2015-06-24 | 国家电网公司 | 一种配电网系统cim模型资源的层次化展示方法 |
CN110532240A (zh) * | 2019-07-17 | 2019-12-03 | 北京中电飞华通信股份有限公司 | 一种企业通讯录层级架构模式方法及系统 |
CN110866046A (zh) * | 2019-10-28 | 2020-03-06 | 北京大学 | 一种可扩展的分布式查询方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112583620B (zh) * | 2019-09-30 | 2023-05-23 | 北京国双科技有限公司 | 网络拓扑图生成方法、装置、电子设备和存储介质 |
CN111464450B (zh) * | 2020-03-27 | 2022-03-25 | 杭州海康威视数字技术股份有限公司 | 网络拓扑结构的生成方法及装置 |
CN112003729B (zh) * | 2020-07-25 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 异构云平台资源拓扑展示方法、系统、终端及存储介质 |
-
2021
- 2021-12-24 CN CN202111594465.0A patent/CN113992498B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013134847A1 (en) * | 2012-03-16 | 2013-09-19 | Research In Motion Limited | System and method for managing data using tree structures |
CN104732452A (zh) * | 2015-03-13 | 2015-06-24 | 国家电网公司 | 一种配电网系统cim模型资源的层次化展示方法 |
CN110532240A (zh) * | 2019-07-17 | 2019-12-03 | 北京中电飞华通信股份有限公司 | 一种企业通讯录层级架构模式方法及系统 |
CN110866046A (zh) * | 2019-10-28 | 2020-03-06 | 北京大学 | 一种可扩展的分布式查询方法及装置 |
Non-Patent Citations (2)
Title |
---|
spacetree组织架构图;我爱下雨天915249126;《CSDN》;20170912;图1-2 * |
树形结构数据根据子id查找父级id与根据父级遍历最底层children的id;x1aozangzang;《CSDN》;20211028;图3 * |
Also Published As
Publication number | Publication date |
---|---|
CN113992498A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866991B1 (en) | Monitoring service-level performance using defined searches of machine data | |
CN111080170B (zh) | 一种工作流建模方法、装置、电子设备及存储介质 | |
US9389981B2 (en) | Hierarchical live graphs for performance data display | |
US7287241B2 (en) | Snaplines for control object positioning | |
US8893050B2 (en) | Assembly and output of user-defined groupings | |
JP2013534310A5 (zh) | ||
US10644964B2 (en) | Method and system for discovering and presenting access information of network applications | |
CN103164114A (zh) | 终端操作界面图标分类方法及其装置 | |
US20070113185A1 (en) | Intelligent network diagram layout | |
US10565560B2 (en) | Alternative people charting for organizational charts | |
CN111831176A (zh) | 应用程序管理方法及装置 | |
CN111580912A (zh) | 一种多层次结构资源组的展示方法及存储介质 | |
CN106020752A (zh) | 自适应显示方法及系统 | |
CN113992498B (zh) | 系统架构展示方法、装置、设备及计算机可读存储介质 | |
CN112015405A (zh) | 界面布局文件的生成方法、界面生成方法、装置及设备 | |
JP7206632B2 (ja) | 2モードネットワークにおけるサブネットワークパターンの視覚的探索のためのシステム及び方法、プログラム | |
CN111273980A (zh) | 界面线程可视化方法、装置、计算机设备及存储介质 | |
CN106775417B (zh) | 终端设备控制方法及系统 | |
US9972109B2 (en) | Implementing out of order access to reversal operations in images | |
US11687591B2 (en) | Systems, methods, computing platforms, and storage media for comparing non-adjacent data subsets | |
CN110690997B (zh) | 节点格式化方法、装置、设备及可读存储介质 | |
JP7119550B2 (ja) | 2モードネットワークにおける検索結果の視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 | |
CN104243201B (zh) | 网络设备测试用例对应拓扑图的存储方法及系统 | |
US20200133825A1 (en) | Systems and methods for debugging applications created with a graphical programming language | |
JP4526354B2 (ja) | 画面作成装置 |
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 |