CN111610908B - 一种生成框架图的方法、计算机设备及可读存储介质 - Google Patents
一种生成框架图的方法、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN111610908B CN111610908B CN201910136925.1A CN201910136925A CN111610908B CN 111610908 B CN111610908 B CN 111610908B CN 201910136925 A CN201910136925 A CN 201910136925A CN 111610908 B CN111610908 B CN 111610908B
- Authority
- CN
- China
- Prior art keywords
- node
- text file
- frame
- association
- determining
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种生成框架图的方法、计算机设备及可读存储介质,该方法包括:获取用于描述分布式系统的第一文本文件;根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系;在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。本发明能够自动的绘制出分布式系统的框架图,且可以进行版本维护以及版本差异比较。
Description
技术领域
本发明涉及分布式系统技术领域,具体涉及一种生成框架图的方法、计算机设备及可读存储介质。
背景技术
随着互联网技术的不断发展,为了承载海量的用户,系统建设多采用分布式解决方案;分布式系统作为独立计算机的集合,具有高度的内聚性和透明性。为了更好的理解和设计分布式系统,系统开发人员通常会绘制用于反映分布式系统的框架图。在现有技术中,系统开发人员通常使用画板工具手动绘制分布式系统的框架图,效率较低。此外,绘制出的框架图通常使用JPG(Joint Photographic Experts Group,联合图像专家组)或PNG(Portable Network Graphics,便携式网络图形)格式存储,且不能对JPG或PNG格式的框架图进行修改;因此,当分布式系统不断演化和更新时,需要重复的绘制对应的框架图,加大了分布式系统的框架图的维护成本。
发明内容
本发明的目的在于提供一种生成框架图的方法、计算机设备及可读存储介质,能够自动的绘制出分布式系统的框架图,且可以进行版本维护以及版本差异比较。
根据本发明的一个方面,提供了一种生成框架图的方法,该方法包括如下步骤:
获取用于描述分布式系统的第一文本文件;
根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系;
在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。
可选的,所述第一文本文件包括:描述部分和关联部分;
所述描述部分包括:描述部分标识,以及分别与所述各个节点对应的描述信息;其中,每个节点的描述信息包括:节点名称、节点ID和节点属性;
所述关联部分包括:关联部分标识,以及多个节点关联信息;其中,每个节点关联信息包括:父节点ID、子节点ID、以及所述父节点ID对应的节点与所述子节点ID对应的节点之间的关联关系。
可选的,所述根据所述第一文本文件,确定出所述分布式系统中的各个节点,具体包括:
创建链表数据结构;其中,所述链表数据结构包括:多个结点;
遍历所述第一文本文件,当识别到所述描述部分标识时,获取位于所述描述部分标识之后的各个描述信息;
针对一个描述信息,将所述描述信息中的节点名称、节点ID和节点属性添加到所述链表数据结构中的一个结点中。
可选的,所述根据所述第一文本文件,确定出所述各个节点之间的关联关系,具体包括:
创建图形数据结构;其中,所述图形数据结构包括:顶点集和边集;
遍历所述第一文本文件,当识别到所述关联部分标识时,获取位于所述关联部分标识之后的各个节点关联信息;
针对一个节点关联信息,将所述节点关联信息中的父节点ID和子节点ID添加到所述顶点集中,并将所述节点关联信息中的关联关系添加到所述边集中。
可选的,所述在显示界面中分别绘制与所述各个节点对应的线框,具体包括:
根据所述图形数据结构中的顶点集,在所述显示界面中分别绘制与所述顶点集中的父节点ID和子节点ID对应的线框;
在绘制完线框之后,根据与所述线框对应的父节点ID或子节点ID,从所述链表数据结构中查找到包含所述父节点ID或子节点ID的结点,并将所述结点中的节点属性添加到所述线框中。
可选的,所述在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,具体包括:
根据所述图形数据结构中的边集,在所述显示界面中的各个线框之间绘制与所述边集中的各个关联关系对应的连接线。
可选的,所述方法还包括:
接收更新指令;
根据所述更新指令,在所述第一文本文件的描述部分添加新的节点的描述信息,和/或从所述第一文本文件的描述部分删除对应节点的描述信息;
根据所述更新指令,在所述第一文本文件的关联部分添加新的节点关联信息,和/或从所述第一文本文件的关联部分删除对应的节点关联信息,以形成第二文本文件;
生成与所述第二文本文件对应的第二框架图。
可选的,所述方法还包括:
当接收到对比指令时,在所述显示界面中显示所述第一框架图和所述第二框架图;
确定出包含在所述第一框架图中的且不包含在所述第二框架图中的第一线框,并在所述显示界面中对所述第一线框按照第一预设标记方式进行标记;
确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,并在所述显示界面中对所述第二线框按照第二预设标记方式进行标记。
可选的,所述确定出包含在所述第一框架图中且不包含在所述第二框架图中的第一线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出包含在所述第一文本文件中的且不包含在所述第二文本文件中的第一文本内容;
在所述第一框架图中确定出与所述第一文本内容对应的第一线框。
可选的,所述确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出不包含在所述第一文本文件中的且包含在所述第二文本文件中的第二文本内容;
在所述第二框架图中确定出与所述第二文本内容对应的第二线框。
为了实现上述目的,本发明还提供一种计算机设备,该计算机设备具体包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述介绍的生成框架图的方法的步骤。
为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述介绍的生成框架图的方法的步骤。
本发明提供的生成框架图的方法、计算机设备及可读存储介质,通过标记语言编写用于反映分布式系统的文本内容,并在运行环境中,根据编写的文本内容进行图像渲染以在显示界面中展示用于反映该分布式系统的框架图。与现有技术相比,本发明无需手动绘制框架图,可以提高工作效率。此外,在本发明中,当分布式系统进行版本更新时,可以根据旧版本的文本内容形成新版本的文本内容,从而得到新版本的框架图。还可以通过获取新、旧版本的文本内容,以确定出新、旧版本的差异,并通过在新版本的框架图中进行标记,以更加直观的比对新、旧版本的框架图之间的区别,从而实现了对分布式系统的框架图的版本管理。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为实施例一提供的生成框架图的方法的一种可选的流程示意图;
图2为实施例一中的与第一文本文件对应的第一框架图的示意图;
图3为实施例一中的与第二文本文件对应的第二框架图的示意图;
图4为实施例二提供的生成框架图的装置的一种可选的程序模块示意图;
图5为实施例三提供的计算机设备的一种可选的硬件架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
下面结合附图对本发明提供的生成框架图的方法进行说明。
图1为本发明生成框架图的方法的一种可选的流程示意图,如图1所示,该方法具体包括以下步骤:
步骤S101:获取用于描述分布式系统的第一文本文件。
其中,所述第一文本文件是分布式系统的设计人员利用标记语言编写而成的;每个被设计出来的分布式系统均有对应的一个或多个文本文件;一个分布式系统的文本文件可以反映出在该分布式系统中所包含的各个节点以及该分布式系统中的各个节点之间的关联关系。
需要说明的是,在本实施例中的节点为构成分布式系统的计算机软件单元,在本实施例中的关联关系用于解释分布式系统中的各个计算机软件单元如何协同工作。
具体的,所述文本文件包括:(1)描述部分和(2)关联部分。
(1)所述描述部分包括:描述部分标识,以及分别与所述分布式系统中的各个节点对应的描述信息;其中,所述描述部分标识用于表示在所述描述部分标识之后的文本内容为各个节点的描述信息,每个节点的描述信息包括:节点名称、节点ID和节点属性。
优选的,描述部分标识为:<metadata>;
一个节点的描述信息的文本格式为:
节点名称{ID:节点ID值,节点属性名1:节点属性值1,节点属性名2:节点属性值2,……}。
需要说明的是,节点名称用于表示对应的计算机软件单元的名称;在节点名称后面的大括号中包括节点ID和节点属性;其中,节点ID由节点ID标识和节点ID值构成,且用半角冒号分隔;在节点ID和节点属性之间用半角逗号分隔;在一个描述信息中可以包含一个或多个节点属性,在各个节点属性之间用半角逗号分隔;一个节点属性由节点属性名和节点属性值构成,且用半角冒号分隔。此外,在一个分布式系统中的各个计算机软件单元均有对应的节点ID值,且任意两个计算机软件单元的节点ID值不一致;节点属性名可以为域名(domain)、数量(size)、算法(algorithm)、别名(name)。
(2)所述关联部分包括:关联部分标识,以及多个节点关联信息;其中,所述关联部分标识用于表示在所述关联部分标识之后的文本内容为各个节点关联信息,每个节点关联信息包括:父节点ID、子节点ID、以及所述父节点ID对应的节点与所述子节点ID对应的节点之间的关联关系。
优选的,关联部分标识为:<relation>;
一个节点的描述信息的文本格式为:父节点ID.关联关系(子节点ID)。
需要说明的是,所述分布式系统中的一个节点可以只为其他节点的父节点,也可以只为另一个节点的子节点,还可以即为其他节点的父节点也为另外一个节点的子节点;在父节点ID与关联关系之间通过半角句号分隔,且子节点ID位于关联关系后的小括号内;父节点ID与子节点ID的ID值不一致;父节点ID为描述信息中的一个节点ID值,子节点ID为描述信息中的另一个节点ID值;关联关系可以为反向代理关系(reverseProxy)、依赖关系(depends on)。
步骤S102:根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系。
具体的,所述根据所述第一文本文件,确定出所述分布式系统中的各个节点,具体包括:
创建链表数据结构;其中,所述链表数据结构包括:多个结点;
遍历所述第一文本文件,当识别到所述描述部分标识时,获取位于所述描述部分标识之后的各个描述信息;
针对一个描述信息,将所述描述信息中的节点名称、节点ID和节点属性添加到所述链表数据结构中的一个结点中。
优选的,在本实施例中,将描述信息中的节点属性转换为MAP数据结构,将节点名称、节点ID和MAP数据结构的节点属性按照{节点ID,节点名称,MAP数据结构的节点属性}格式存储为三元数据结构,并将所述三元数据结构添加到所述链表数据结构中的一个结点中。
进一步的,所述根据所述第一文本文件,确定出所述各个节点之间的关联关系,具体包括:
创建图形数据结构;其中,所述图形数据结构包括:顶点集和边集;
遍历所述第一文本文件,当识别到所述关联部分标识时,获取位于所述关联部分标识之后的各个节点关联信息;
针对一个节点关联信息,将所述节点关联信息中的父节点ID和子节点ID添加到所述顶点集中,并将所述节点关联信息中的关联关系添加到所述边集中。
需要说明的是,由于在一个节点关联信息中的子节点ID可能为另一个节点关联信息中的父节点ID,所以在将一个节点关联信息中的父节点ID和子节点ID存储到所述顶点集时,先判断在所述顶点集中是否存在所述父节点ID或子节点ID,若存在,则不重复存储。因此,在所述顶点集中,不会重复存储相同的两个节点ID。
步骤S103:在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。
其中,所述显示界面为用于绘制分布式系统的框架图的界面;所述线框可以为矩形形状的线框或圆形形状的线框。
具体的,所述在显示界面中分别绘制与所述各个节点对应的线框,具体包括:
根据所述图形数据结构中的顶点集,在所述显示界面中分别绘制与所述顶点集中的父节点ID和子节点ID对应的线框;
在绘制完线框之后,根据与所述线框对应的父节点ID或子节点ID,从所述链表数据结构中查找到包含所述父节点ID或子节点ID的结点,并将所述结点中的节点属性添加到所述线框中。
优选的,所述将所述结点中的节点属性添加到所述线框中具体包括:
判断在所述结点中是否包括节点属性名为“别名”的节点属性;若是,则将所述节点属性的节点属性值以及其他节点属性的节点属性值添加到所述线框中;若否,则将所述结点中的节点名称以及各个节点属性的节点属性值添加到所述线框中。
进一步的,所述在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,具体包括:
根据所述图形数据结构中的边集,在所述显示界面中的各个线框之间绘制与所述边集中的各个关联关系对应的连接线。
优选的,在本实施例中,使用不同类型的连接线代表不同类型的关联关系;但本实施例中的连接线均带有方向性,连接线均由父节点ID对应的线框指向子节点ID对应的线框。
在实际应用中,执行步骤S101至步骤S103的终端会先将文本文件的描述部分转化为链表数据结构以及将文本文件的关联部分转化为图形数据结构,所述终端再基于所述图形数据结构和链表数据结构在所述显示界面中绘制出每个节点的线框以及各个线框之间的连接线。
例如,如下所示为一个分布式系统的第一文本文件的文本内容:
如图2所示,为根据上示例中的第一文本文件绘制而成的第一框架图。
此外,在根据所述分布式系统的第一文本文件生成第一框架图之后,所述方法还包括:
步骤A1:接收更新指令;
步骤A2:根据所述更新指令,在所述第一文本文件的描述部分添加新的节点的描述信息,和/或从所述第一文本文件的描述部分删除对应节点的描述信息;
步骤A3:根据所述更新指令,在所述第一文本文件的关联部分添加新的节点关联信息,和/或从所述第一文本文件的关联部分删除对应的节点关联信息,以形成第二文本文件;
步骤A4:生成与所述第二文本文件对应的第二框架图。
其中,所述第一文本文件和所述第二文本文件为所述分布式系统的两个版本的文本文件。在本实施例中,当开发人员需要对所述分布式系统进行更新、升级时,根据更新后的分布式系统中的各个节点以及各个节点之间的关联关系,在第一文本文件的基础上形成第二文本文件,再按照步骤S101至步骤S103的方法绘制出与所述第二文本文件对应的第二框架图,从而当分布式系统进行更新时,可以通过更新文本文件,自动得到更新后的分布式系统的框架图,不需要开发人员重新绘制。
例如,如下所示为根据上示例中第一文本文件形成的第二文本文件的文本内容:
如图3所示,为根据上示例中的第二文本文件绘制而成的第二框架图。
更进一步的,所述方法还包括:
步骤B1:当接收到对比指令时,在所述显示界面中显示所述第一框架图和所述第二框架图。
步骤B2:确定出包含在所述第一框架图中的且不包含在所述第二框架图中的第一线框,并在所述显示界面中对所述第一线框按照第一预设标记方式进行标记。
其中,所述确定出包含在所述第一框架图中的且不包含在所述第二框架图中的第一线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出包含在所述第一文本文件中的且不包含在所述第二文本文件中的第一文本内容;
在所述第一框架图中确定出与所述第一文本内容对应的第一线框。
优选的,所述第一预设标记方式为:将所述第一线框的背景颜色设置为红色。
步骤B3:确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,并在所述显示界面中对所述第二线框按照第二预设标记方式进行标记。
其中,所述确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出不包含在所述第一文本文件中的且包含在所述第二文本文件中的第二文本内容;
在所述第二框架图中确定出与所述第二文本内容对应的第二线框。
优选的,所述第二预设标记方式为:将所述第二线框的背景颜色设置为绿色。
在实际应用中,确定第一文本内容和第二文本内容可以采用以下方式:
将所述第一文本文件的所有文本内容存储至第一队列中,并将所述第二文本文件的所有文本内容存储至第二队列中;
在所述第一队列的首行位置设置第一指针,并在所述第二队列的首行设置第二指针;
获取第二指针所在行的数据,并将所述数据与所述第一队列中的各行数据进行比对;若在所述第一队列中出现所述数据,则将所述第一队列中的第一指针所在行至所述数据所在行的上一行的所有数据设置为第一文本内容,并将所述第一指针设置到所述数据所在行的位置上以及将所述第二指针设置在下一行的位置上;若在所述第一队列中未出现所述数据,则在所述第二队列中将所述数据设置为第二文本内容,并将所述第二指针设置在下一行的位置上;依次类推,直至所述第二指针位于所述第二队列的最后一行。
在本实施例中,当分布式系统进行版本更新时,可以根据旧版本的文本内容形成新版本的文本内容,从而得到新版本的框架图。还可以通过获取新、旧版本的文本内容,以确定出新、旧版本的差异,并通过在新版本的框架图中进行标记,以更加直观的比对新、旧版本的框架图之间的区别,从而实现了对分布式系统的框架图的版本管理。
实施例二
基于上述实施例一中提供的生成框架图的方法,本实施例中提供一种生成框架图的装置,具体地,图4示出了该生成框架图的装置的可选的结构框图,该生成框架图的装置被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明。本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述生成框架图的装置在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图4所示,生成框架图的装置具体包括以下组成部分:
获取模块401,用于获取用于描述分布式系统的第一文本文件。
具体的,所述第一文本文件包括:描述部分和关联部分;
所述描述部分包括:描述部分标识,以及分别与所述各个节点对应的描述信息;其中,每个节点的描述信息包括:节点名称、节点ID和节点属性;
所述关联部分包括:关联部分标识,以及多个节点关联信息;其中,每个节点关联信息包括:父节点ID、子节点ID、以及所述父节点ID对应的节点与所述子节点ID对应的节点之间的关联关系。
解析模块402,用于根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系。
具体的,所述解析模块402,包括:
节点解析单元,用于创建链表数据结构;其中,所述链表数据结构包括:多个结点;遍历所述第一文本文件,当识别到所述描述部分标识时,获取位于所述描述部分标识之后的各个描述信息;针对一个描述信息,将所述描述信息中的节点名称、节点ID和节点属性添加到所述链表数据结构中的一个结点中;
关系解析单元,用于创建图形数据结构;其中,所述图形数据结构包括:顶点集和边集;遍历所述第一文本文件,当识别到所述关联部分标识时,获取位于所述关联部分标识之后的各个节点关联信息;针对一个节点关联信息,将所述节点关联信息中的父节点ID和子节点ID添加到所述顶点集中,并将所述节点关联信息中的关联关系添加到所述边集中。
绘制模块403,用于在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。
具体的,绘制模块403,包括:
线框绘制单元,用于根据所述图形数据结构中的顶点集,在所述显示界面中分别绘制与所述顶点集中的父节点ID和子节点ID对应的线框;
属性添加单元,用于在绘制完线框之后,根据与所述线框对应的父节点ID或子节点ID,从所述链表数据结构中查找到包含所述父节点ID或子节点ID的结点,并将所述结点中的节点属性添加到所述线框中;
线条绘制单元,用于根据所述图形数据结构中的边集,在所述显示界面中的各个线框之间绘制与所述边集中的各个关联关系对应的连接线。
进一步的,所述装置还包括:
更新模块,用于接收更新指令;根据所述更新指令,在所述第一文本文件的描述部分添加新的节点的描述信息,和/或从所述第一文本文件的描述部分删除对应节点的描述信息;根据所述更新指令,在所述第一文本文件的关联部分添加新的节点关联信息,和/或从所述第一文本文件的关联部分删除对应的节点关联信息,以形成第二文本文件;生成与所述第二文本文件对应的第二框架图。
进一步的,所述装置还包括:
对比模块,用于当接收到对比指令时,在所述显示界面中显示所述第一框架图和所述第二框架图;确定出包含在所述第一框架图中的且不包含在所述第二框架图中的第一线框,并在所述显示界面中对所述第一线框按照第一预设标记方式进行标记;确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,并在所述显示界面中对所述第二线框按照第二预设标记方式进行标记。
更进一步的,所述对比模块,具体用于:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出包含在所述第一文本文件中的且不包含在所述第二文本文件中的第一文本内容;在所述第一框架图中确定出与所述第一文本内容对应的第一线框;
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出不包含在所述第一文本文件中的且包含在所述第二文本文件中的第二文本内容;在所述第二框架图中确定出与所述第二文本内容对应的第二线框。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备50至少包括但不限于:可通过系统总线相互通信连接的存储器501、处理器502。需要指出的是,图5仅示出了具有组件501-502的计算机设备50,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器501(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器501可以是计算机设备50的内部存储单元,例如该计算机设备50的硬盘或内存。在另一些实施例中,存储器501也可以是计算机设备50的外部存储设备,例如该计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器501还可以既包括计算机设备50的内部存储单元也包括其外部存储设备。在本实施例中,存储器501通常用于存储安装于计算机设备50的操作系统和各类应用软件,例如实施例二的生成框架图的装置的程序代码等。此外,存储器501还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器502在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器502通常用于控制计算机设备50的总体操作。
具体的,在本实施例中,处理器502用于执行处理器502中存储的生成框架图的方法的程序,所述生成框架图的方法的程序被执行时实现如下步骤:
获取用于描述分布式系统的第一文本文件;
根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系;
在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
获取用于描述分布式系统的第一文本文件;
根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系;
在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图。
上述方法步骤的具体实施例过程可参见第一实施例,本实施例在此不再重复赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种生成框架图的方法,其特征在于,所述方法包括:
获取用于描述分布式系统的第一文本文件;
根据所述第一文本文件,确定出所述分布式系统中的各个节点,以及确定出所述各个节点之间的关联关系;
在显示界面中分别绘制与所述各个节点对应的线框,并在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,以生成与所述第一文本文件对应的第一框架图;
其中,所述第一文本文件包括:描述部分和关联部分;
所述描述部分包括:描述部分标识,以及分别与所述各个节点对应的描述信息;其中,每个节点的描述信息包括:节点名称、节点ID和节点属性;
所述关联部分包括:关联部分标识,以及多个节点关联信息;其中,每个节点关联信息包括:父节点ID、子节点ID、以及所述父节点ID对应的节点与所述子节点ID对应的节点之间的关联关系;
所述方法还包括:
接收更新指令;
根据所述更新指令,在所述第一文本文件的描述部分添加新的节点的描述信息,和/或从所述第一文本文件的描述部分删除对应节点的描述信息;
根据所述更新指令,在所述第一文本文件的关联部分添加新的节点关联信息,和/或从所述第一文本文件的关联部分删除对应的节点关联信息,以形成第二文本文件;
生成与所述第二文本文件对应的第二框架图;
当接收到对比指令时,在所述显示界面中显示所述第一框架图和所述第二框架图;
确定出包含在所述第一框架图中的且不包含在所述第二框架图中的第一线框,并在所述显示界面中对所述第一线框按照第一预设标记方式进行标记;
确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,并在所述显示界面中对所述第二线框按照第二预设标记方式进行标记。
2.根据权利要求1所述的生成框架图的方法,其特征在于,所述根据所述第一文本文件,确定出所述分布式系统中的各个节点,具体包括:
创建链表数据结构;其中,所述链表数据结构包括:多个结点;
遍历所述第一文本文件,当识别到所述描述部分标识时,获取位于所述描述部分标识之后的各个描述信息;
针对一个描述信息,将所述描述信息中的节点名称、节点ID和节点属性添加到所述链表数据结构中的一个结点中。
3.根据权利要求2所述的生成框架图的方法,其特征在于,所述根据所述第一文本文件,确定出所述各个节点之间的关联关系,具体包括:
创建图形数据结构;其中,所述图形数据结构包括:顶点集和边集;
遍历所述第一文本文件,当识别到所述关联部分标识时,获取位于所述关联部分标识之后的各个节点关联信息;
针对一个节点关联信息,将所述节点关联信息中的父节点ID和子节点ID添加到所述顶点集中,并将所述节点关联信息中的关联关系添加到所述边集中。
4.根据权利要求3所述的生成框架图的方法,其特征在于,所述在显示界面中分别绘制与所述各个节点对应的线框,具体包括:
根据所述图形数据结构中的顶点集,在所述显示界面中分别绘制与所述顶点集中的父节点ID和子节点ID对应的线框;
在绘制完线框之后,根据与所述线框对应的父节点ID或子节点ID,从所述链表数据结构中查找到包含所述父节点ID或子节点ID的结点,并将所述结点中的节点属性添加到所述线框中。
5.根据权利要求4所述的生成框架图的方法,其特征在于,所述在所述显示界面中的各个线框之间绘制代表所述关联关系的连接线,具体包括:
根据所述图形数据结构中的边集,在所述显示界面中的各个线框之间绘制与所述边集中的各个关联关系对应的连接线。
6.根据权利要求1所述的生成框架图的方法,其特征在于,所述确定出包含在所述第一框架图中且不包含在所述第二框架图中的第一线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出包含在所述第一文本文件中的且不包含在所述第二文本文件中的第一文本内容;
在所述第一框架图中确定出与所述第一文本内容对应的第一线框。
7.根据权利要求1所述的生成框架图的方法,其特征在于,所述确定出不包含在所述第一框架图中的且包含在所述第二框架图中的第二线框,具体包括:
根据所述第一文本文件的文本内容和所述第二文本文件的文本内容,确定出不包含在所述第一文本文件中的且包含在所述第二文本文件中的第二文本内容;
在所述第二框架图中确定出与所述第二文本内容对应的第二线框。
8.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910136925.1A CN111610908B (zh) | 2019-02-25 | 2019-02-25 | 一种生成框架图的方法、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910136925.1A CN111610908B (zh) | 2019-02-25 | 2019-02-25 | 一种生成框架图的方法、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111610908A CN111610908A (zh) | 2020-09-01 |
CN111610908B true CN111610908B (zh) | 2021-06-29 |
Family
ID=72204564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910136925.1A Active CN111610908B (zh) | 2019-02-25 | 2019-02-25 | 一种生成框架图的方法、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111610908B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138829B (zh) * | 2021-06-22 | 2022-03-01 | 阿里云计算有限公司 | 云应用架构的管理方法、装置、设备和存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222090A (zh) * | 2011-06-02 | 2011-10-19 | 清华大学 | 一种云环境下海量数据资源管理框架 |
CN102542074A (zh) * | 2012-02-17 | 2012-07-04 | 清华大学 | 一种元素间拓扑关系的展示和搜索工具 |
CN102547757A (zh) * | 2010-12-31 | 2012-07-04 | 北京亿阳信通软件研究院有限公司 | 网络优化分析系统及方法 |
CN102831167A (zh) * | 2012-07-24 | 2012-12-19 | 东软集团股份有限公司 | 图结构的xml处理方法及装置 |
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及系统 |
CN103369414A (zh) * | 2012-03-31 | 2013-10-23 | 中兴通讯股份有限公司 | 一种利用业务生成环境生成智能网业务的方法及装置 |
CN103577569A (zh) * | 2013-10-31 | 2014-02-12 | 国家电网公司 | 基于svg技术实现psasp数据文件图形化的方法 |
CN103634587A (zh) * | 2012-08-22 | 2014-03-12 | 联想(北京)有限公司 | 图像处理方法、装置及电子设备 |
CN104133895A (zh) * | 2014-07-31 | 2014-11-05 | 国家电网公司 | 一种基于二叉树的智能变电站二次设备连接图编码算法 |
CN104461918A (zh) * | 2014-12-05 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 对已动态申请的内存块进行统计的方法及系统 |
CN108304511A (zh) * | 2018-01-19 | 2018-07-20 | 福建师范大学 | 一种基于xml数据格式的河网水系存储表达方法 |
CN109101575A (zh) * | 2018-07-18 | 2018-12-28 | 广东惠禾科技发展有限公司 | 计算方法及装置 |
-
2019
- 2019-02-25 CN CN201910136925.1A patent/CN111610908B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547757A (zh) * | 2010-12-31 | 2012-07-04 | 北京亿阳信通软件研究院有限公司 | 网络优化分析系统及方法 |
CN102222090A (zh) * | 2011-06-02 | 2011-10-19 | 清华大学 | 一种云环境下海量数据资源管理框架 |
CN102542074A (zh) * | 2012-02-17 | 2012-07-04 | 清华大学 | 一种元素间拓扑关系的展示和搜索工具 |
CN103369414A (zh) * | 2012-03-31 | 2013-10-23 | 中兴通讯股份有限公司 | 一种利用业务生成环境生成智能网业务的方法及装置 |
CN102831167A (zh) * | 2012-07-24 | 2012-12-19 | 东软集团股份有限公司 | 图结构的xml处理方法及装置 |
CN103634587A (zh) * | 2012-08-22 | 2014-03-12 | 联想(北京)有限公司 | 图像处理方法、装置及电子设备 |
CN103218706A (zh) * | 2013-03-20 | 2013-07-24 | 深圳市赛为智能股份有限公司 | 工作流文件生成方法及设备、生成执行方法及系统 |
CN103577569A (zh) * | 2013-10-31 | 2014-02-12 | 国家电网公司 | 基于svg技术实现psasp数据文件图形化的方法 |
CN104133895A (zh) * | 2014-07-31 | 2014-11-05 | 国家电网公司 | 一种基于二叉树的智能变电站二次设备连接图编码算法 |
CN104461918A (zh) * | 2014-12-05 | 2015-03-25 | 上海斐讯数据通信技术有限公司 | 对已动态申请的内存块进行统计的方法及系统 |
CN108304511A (zh) * | 2018-01-19 | 2018-07-20 | 福建师范大学 | 一种基于xml数据格式的河网水系存储表达方法 |
CN109101575A (zh) * | 2018-07-18 | 2018-12-28 | 广东惠禾科技发展有限公司 | 计算方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111610908A (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108427705B (zh) | 电子装置、分布式系统日志查询方法及存储介质 | |
CN111639287A (zh) | 一种页面处理方法、装置、终端设备及可读存储介质 | |
CN112835568A (zh) | 一种项目构建方法和装置 | |
CN109710224B (zh) | 页面处理方法、装置、设备及存储介质 | |
CN112860662A (zh) | 数据血缘关系建立方法、装置、计算机设备及存储介质 | |
CN111752565A (zh) | 一种界面生成方法、装置、计算机设备及可读存储介质 | |
CN111610908B (zh) | 一种生成框架图的方法、计算机设备及可读存储介质 | |
CN111241803A (zh) | 生成文本文件的方法、装置、计算机设备及可读存储介质 | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
CN111444368B (zh) | 构建用户画像的方法、装置、计算机设备及存储介质 | |
CN111444235A (zh) | 基于Django的数据序列化方法、装置、计算机设备及存储介质 | |
CN115617797A (zh) | 一种业务元数据字段动态拓展方法、电子设备及存储介质 | |
CN114169306A (zh) | 一种生成电子回执单的方法、装置、设备及可读存储介质 | |
CN111125163A (zh) | 用于处理数据的方法和装置 | |
CN115080114A (zh) | 应用程序的移植处理方法、装置和介质 | |
CN114816470A (zh) | 元数据库的管理方法、装置、电子设备和介质 | |
CN113741953A (zh) | 表单处理方法、装置、电子设备和计算机存储介质 | |
CN111400058A (zh) | 调用消息的方法、装置、计算机设备及存储介质 | |
CN112363768A (zh) | 基于android系统通过插入U盘实现应用换肤的方法 | |
CN112905164A (zh) | 一种项目代码处理方法和装置 | |
CN112966065B (zh) | 导航地图数据管理方法、设备及存储介质 | |
CN116821117B (zh) | 流式数据处理方法、系统、设备及存储介质 | |
CN116679852B (zh) | 一种项目图标的引用方法、装置、电子设备及介质 | |
US11714954B1 (en) | System for determining reliability of extracted data using localized graph analysis | |
CN109144500B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |