基于json数据生成架构图谱的方法、装置、设备和存储介质
技术领域
本发明涉及计算机
技术领域
,尤其涉及一种基于JSON数据生成架构图谱的方法、装置、设备和存储介质。背景技术
当前,大部分场景都需要来架构图谱来解决工作人员之间的沟通障碍,达成共识,让相关人员通过架构图谱一目了然,从而提升工作效率、明白职责,优化改善等,但并不是每个人都会使用专业的软件来绘制,且使用专业软件进行绘制的效率跟成本上也是很高。
发明内容
本发明所要解决的技术问题是针对现有技术的不足,提供一种基于JSON数据生成架构图谱的方法、装置、设备和存储介质。
本发明解决上述技术问题的技术方案如下:
一种基于JSON数据生成架构图谱的方法,所述方法包括:
配置JSON文件,所述JSON文件对应架构场景;
根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型;
利用所述对象模型,绘制对应的架构图谱。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,所述根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型,具体包括:
确定所述架构场景中的各绘制对象所继承的基类,并加载所述基类的加载器模块、计算器模块与构建器模块;
基于所述加载器模块解析所述JSON文件中的字段,创建所述架构模板中的各绘制对象;
基于所述计算器模块解析所述JSON文件,得到各所述绘制对象的模型信息,其中,所述模型信息包括模型名称、模型类型和模型尺寸。
进一步地,所述利用所述对象模型,绘制对应的架构图谱,具体包括:
利用所述构建器,将所述对象模型填充到对应的Gojs的对象中,得到所述架构图谱。
进一步地,所述利用所述构建器,将所述对象模型填充到对应的Gojs的对象中,得到所述架构图谱,具体包括:
利用Gojs对所述对象模型计算各节点的位置信息、尺寸和背景颜色;
利用Gojs根据预设展示模式绘制所述架构图谱,所述预设展示模式按钮展开和收缩子分类的展示,并通过线条将所述对象模型关联在一起,以2D平面形式在Canvas中展示。
进一步地,所述Gojs根据所述对象模型计算各节点的位置信息、尺寸和背景颜色,具体包括:
利用Gojs,通过预设模板绘制所述对象模型的图标,并确定所述对象模型的当前分类名称、子分类名称和架构图谱名称。
本方法发明的有益效果是:提出了一种基于JSON数据生成架构图谱的方法,包括配置JSON文件,所述JSON文件对应架构场景,根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型,利用所述对象模型,绘制对应的架构图谱。本发明能够降低创建以及修改架构图谱的成本,即时修改即时生效,即使是不会画的人员也能轻易的修改架构图谱。使得非专业人员也能快速创建并修改架构图谱,降低了绘制架构图谱的成本。对架构图谱进行了分类能进行快速的根据自身所需找到对应架构图谱。
本发明还解决上述技术问题的另一种技术方案如下:
一种基于JSON数据生成架构图谱的装置,所述装置包括:
配置模块,用于配置JSON文件,所述JSON文件对应架构场景;
制作模块,用于根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型;
绘制模块,用于利用所述对象模型,绘制对应的架构图谱。
进一步地,所述制作模块包括加载单元、解析单元和绘制模型单元;
所述加载单元,具体用于确定所述架构场景中的各绘制对象所继承的基类,并加载所述基类的加载器模块、计算器模块与构建器模块;
所述解析单元,具体用于基于所述加载器模块解析所述JSON文件中的字段,创建所述架构模板中的各绘制对象;
所述绘制模型单元,具体用于基于所述计算器模块解析所述JSON文件,得到各所述绘制对象的模型信息,其中,所述模型信息包括模型名称、模型类型和模型尺寸。
进一步地,所述绘制模块,具体用于利用所述构建器,将所述对象模型填充到对应的Gojs的对象中,得到所述架构图谱。
进一步地,所述绘制模块,具体用于利用Gojs对所述对象模型计算各节点的位置信息、尺寸和背景颜色;
利用Gojs根据预设展示模式绘制所述架构图谱,所述预设展示模式按钮展开和收缩子分类的展示,并通过线条将所述对象模型关联在一起,以2D平面形式在Canvas中展示。
进一步地,所述制作模块,具体用于利用Gojs,通过预设模板绘制所述对象模型的图标,并确定所述对象模型的当前分类名称、子分类名称和架构图谱名称。
此外,本发明提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述技术方案中任一项所述的一种基于JSON数据生成架构图谱的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案中任一项所述的一种基于JSON数据生成架构图谱的方法的步骤。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述的一种基于JSON数据生成架构图谱的方法的流程示意图;
图2为本发明另一实施例所述的一种基于JSON数据生成架构图谱的装置的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
如图1本发明实施例所述的一种基于JSON数据生成架构图谱的方法所示,包括以下步骤:
110、配置JSON文件,所述JSON文件对应架构场景。
120、根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型。
130、利用所述对象模型,绘制对应的架构图谱。
进一步地,步骤120中具体包括:
121、确定所述架构场景中的各绘制对象所继承的基类,并加载所述基类的加载器模块、计算器模块与构建器模块。
122、基于所述加载器模块解析所述JSON文件中的字段,创建所述架构模板中的各绘制对象。
123、基于所述计算器模块解析所述JSON文件,得到各所述绘制对象的模型信息,其中,所述模型信息包括模型名称、模型类型和模型尺寸。
进一步地,步骤130中具体包括:
131、利用所述构建器,将所述对象模型填充到对应的Gojs的对象中,得到所述架构图谱。
进一步地,步骤131中具体包括:
1311、利用Gojs对所述对象模型计算各节点的位置信息、尺寸和背景颜色。
1322、利用Gojs根据预设展示模式绘制所述架构图谱,所述预设展示模式按钮展开和收缩子分类的展示,并通过线条将所述对象模型关联在一起,以2D平面形式在Canvas中展示。
进一步地,步骤1311中具体包括:
利用Gojs,通过预设模板绘制所述对象模型的图标,并确定所述对象模型的当前分类名称、子分类名称和架构图谱名称。
应理解,具体来讲,JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式,它是基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。其简洁和清晰的层次结构使得JSON成为理想的数据交换语言,既易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON可以将JavaScript对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式,例如在PHP中,可以将JSON还原为数组或者一个基本对象。在用到AJAX时,如果需要用到数组传值,这时就需要用JSON将数组转化为字符串。
Gojs是一个JavaScript和TypeScript库,用于构建交互式图表和图形,可以很好的支持图形的拖拽、增删改等功能,目前尚未有类似插件。Gojs可以构建各种图表和图形,从简单的流程图和组织结构图,到高度特定的工业图表,如SCADA图表、BPMN图表、医学图表和族谱图表等。但是Gojs的作用通常被定位在图表的展示和设计上,并没有充分利用其功能。
应理解,定义不同架构场景的JSON文件包括制作不同场景需要的架构模板;解析不同场景JSON文件中的数据,并进行分类;生成相应的架构图谱并可以预览
应理解,还可基于自动绘制模板来生成架构图谱
例如,以企业架构数据为例说明,企业架构数据JSON文件大体格式包括父分类ID、对象信息、当前分类的名称、子分类以及根据数据结构可以实现对象的层级结构以及父子关系。
对象信息中还包含了一些其他的数据如绘图作者名称、创建时间、数据状态、修改作者名称、修改时间等。对象信息中的数据用户可以根据需要自行进行定义并展示在图谱当中,以上对象信息中的数据仅是演示企业架构中使用。根据以上数据通过父分类ID用算法自动生成当前架构图谱模板对应的Graph对象,再通过定义好的架构图谱模板用Gojs自动生成对应的图谱结构以2D平面形式在canvas中展示出来。Gojs会根据Graph对象计算节点的位置信息,大小,背景颜色等等
当前企业架构JSON数据将自动生成的效果图,Gojs通过模板对象跟Graph对象绘制图标,当前分类名称,子分类名称,架构图谱名称,并提供按钮展开或者收缩子分类的展示,并用合理的线条将相互之间关联在一起。当用户点击具体的架构图谱时会预览当前架构图谱。
基于上述实施例所提出的一种基于JSON数据生成架构图谱的方法,包括配置JSON文件,所述JSON文件对应架构场景,根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型,利用所述对象模型,绘制对应的架构图谱。本发明能够降低创建以及修改架构图谱的成本,即时修改即时生效,即使是不会画的人员也能轻易的修改架构图谱。使得非专业人员也能快速创建并修改架构图谱,降低了绘制架构图谱的成本。对架构图谱进行了分类能进行快速的根据自身所需找到对应架构图谱。
如图2所示,一种基于JSON数据生成架构图谱的装置,所述装置包括:
配置模块,用于配置JSON文件,所述JSON文件对应架构场景;
制作模块,用于根据所述JSON文件和所述架构场景,制作所述架构场景的对象模型;
绘制模块,用于利用所述对象模型,绘制对应的架构图谱。
进一步地,所述制作模块包括加载单元、解析单元和绘制模型单元;
所述加载单元,具体用于确定所述架构场景中的各绘制对象所继承的基类,并加载所述基类的加载器模块、计算器模块与构建器模块;
所述解析单元,具体用于基于所述加载器模块解析所述JSON文件中的字段,创建所述架构模板中的各绘制对象;
所述绘制模型单元,具体用于基于所述计算器模块解析所述JSON文件,得到各所述绘制对象的模型信息,其中,所述模型信息包括模型名称、模型类型和模型尺寸。
进一步地,所述绘制模块,具体用于利用所述构建器,将所述对象模型填充到对应的Gojs的对象中,得到所述架构图谱。
进一步地,所述绘制模块,具体用于利用Gojs对所述对象模型计算各节点的位置信息、尺寸和背景颜色;
利用Gojs根据预设展示模式绘制所述架构图谱,所述预设展示模式按钮展开和收缩子分类的展示,并通过线条将所述对象模型关联在一起,以2D平面形式在Canvas中展示。
进一步地,所述制作模块,具体用于利用Gojs,通过预设模板绘制所述对象模型的图标,并确定所述对象模型的当前分类名称、子分类名称和架构图谱名称。
此外,本发明提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述技术方案中任一项所述的一种基于JSON数据生成架构图谱的方法的步骤。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述技术方案中任一项所述的一种基于JSON数据生成架构图谱的方法的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。