一种数据解释模型的画布拓扑管理方法和系统转让专利

申请号 : CN202210963664.2

文献号 : CN115309397B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘意辉柯思怡

申请人 : 广州芯德通信科技股份有限公司

摘要 :

本发明公开了一种数据解释模型的画布拓扑管理方法和系统,方法如下:将录入拓扑数据按不同层级处理;将设置节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;初始化顶层节点,得到初始分层框架;循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上;生成完整的拓扑图。

权利要求 :

1.一种数据解释模型的画布拓扑管理方法,其特征在于:所述的方法包括步骤如下:步骤S1:将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;

步骤S2:将设置节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;

步骤S3:初始化顶层节点,得到初始分层框架;

步骤S4:分层节点处理,循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;

步骤S5:获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上;

步骤S6:重复步骤S4~S5即可生成完整的拓扑图;

所述的布局算法包括内置布局算法、自定义布局算法,用于确定子节点在画布上的布局;其中自定义布局算法以js脚本录入,自定义节点布局,可扩展节点下子节点布局方式;

所述的节点下子节点布局算法引用,是布局算法以节点下子节点数据以及节点关系为参数,返回结果为子节点区域对象;

所述的子节点区域对象包括区域宽、高,起始坐标,终止坐标,区域对外的起点连接坐标、终点连接坐标;所述的区域对外的起点连接坐标用于连接父节点,区域对外的终点连接坐标用于连接下一子节点区域。

2.根据权利要求1所述的数据解释模型的画布拓扑管理方法,其特征在于:为了便于数据采集,所录入拓扑数据具有父子层级关系。

3.根据权利要求1所述的数据解释模型的画布拓扑管理方法,其特征在于:所述的节点下子节点间的关系包括从属关系、相交关系、并列关系、包含关系;

其中,从属关系将使用连线方式组合节点;

相交关系将使用图形组件相交一部分的方式组合节点;

并列关系将使用图形组件彼此间隔一定距离的方式组合节点;

包含关系将使用背景容器包含图形组件,并将被包含组件变小,与包含组件的大小形成对比,从而区分图形组件包含与被包含关系。

4.根据权利要求1所述的数据解释模型的画布拓扑管理方法,其特征在于:初始化顶层节点是整个拓扑图的生成入口,所述的初始化是节点配置图标组件在画布上的具象展现,得到只有一个节点的初始分层框架。

5.根据权利要求4所述的数据解释模型的画布拓扑管理方法,其特征在于:在画布上的图标组件与节点id唯一对应,通过节点id获得图形组件展示的节点的具体信息,并可通过节点id完成数据编辑操作。

6.根据权利要求3所述的数据解释模型的画布拓扑管理方法,其特征在于:步骤S4,具体查询节点下子节点是否有自定义布局算法;

若有,则按照自定义布局算法与节点下子节点间的关系生成子节点关系图形;

若无,则结合内置布局算法与节点下子节点间的关系生成子节点关系图形;

根据生成子节点关系图形得到下一分层框架。

7.一种数据解释模型的画布拓扑管理方法的系统,其特征在于:包括分层数据编辑器,用于录入拓扑数据;

数据规则处理器,用于将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;

模型编辑器,用于设置节点与节点间的横向及纵向间隔距离、节点下子节点布局算法引用、节点的展示图标组件、节点下子节点间的关系;

模型数据处理器,用于将模型编辑器录入的节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;

语义解析器,用于解析节点下子节点的关系;

结构模型引擎,用于初始化顶层节点,得到初始分层框架,并循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;

计算处理器,用于获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上;

所述的布局算法包括内置布局算法、自定义布局算法,用于确定子节点在画布上的布局;其中自定义布局算法以js脚本录入,自定义节点布局,可扩展节点下子节点布局方式;

所述的节点下子节点布局算法引用,是布局算法以节点下子节点数据以及节点关系为参数,返回结果为子节点区域对象;

所述的子节点区域对象包括区域宽、高,起始坐标,终止坐标,区域对外的起点连接坐标、终点连接坐标;所述的区域对外的起点连接坐标用于连接父节点,区域对外的终点连接坐标用于连接下一子节点区域。

8.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述的处理器执行所述的计算机程序时,实现如权利要求1~6任一项所述的方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述的计算机程序被处理器执行时,实现如权利要求1~6任一项所述的方法的步骤。

说明书 :

一种数据解释模型的画布拓扑管理方法和系统

技术领域

[0001] 本发明涉及web前端技术领域,更具体的,涉及一种数据解释模型的画布拓扑管理方法和系统。

背景技术

[0002] 画布拓扑是一种以图形化的方式展示拓扑数据的方式,通过可视化操作拓扑图上的图标组件,可以实现可视化动态交互的过程。一般情况下,画布拓扑是结合拓扑数据,考虑到具体业务生成的图形,当需要调整业务时,和业务相关的拓扑结构也需要调整,在这种需要动态调整业务的环境下,往往需要直接修改已经编写好的代码;同时当想要快速开发画布拓扑,也缺少一种能直接生成拓扑的方式。基于以上两点,能否提供一种方法或系统解决快速生成拓扑、动态变更拓扑的问题就显得尤为重要了。

发明内容

[0003] 本发明为了解决以上现有技术问题存在的不足与缺陷的问题,提供了一种数据解释模型的画布拓扑管理方法和系统。
[0004] 为实现上述本发明目的,采用的技术方案如下:
[0005] 一种数据解释模型的画布拓扑管理方法,所述的方法包括步骤如下:
[0006] 步骤S1:将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;
[0007] 步骤S2:将设置节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;
[0008] 步骤S3:初始化顶层节点,得到初始分层框架;
[0009] 步骤S4:分层节点处理,循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;
[0010] 步骤S5:获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上;
[0011] 步骤S6:重复步骤S4~S5即可生成完整的拓扑图。
[0012] 优选地,为了便于数据采集,所录入拓扑数据具有父子层级关系。
[0013] 优选地,所述的布局算法包括内置布局算法、自定义布局算法,用于确定子节点在画布上的布局;其中自定义布局算法以js脚本录入,自定义节点布局,可扩展节点下子节点布局方式;
[0014] 所述的节点下子节点布局算法引用,是布局算法以节点下子节点数据以及节点关系为参数,返回结果为子节点区域对象;
[0015] 所述的子节点区域对象包括区域宽、高,起始坐标,终止坐标,区域对外的起点连接坐标、终点连接坐标;所述的区域对外的起点连接坐标用于连接父节点,区域对外的终点连接坐标用于连接下一子节点区域。
[0016] 优选地,所述的节点下子节点间的关系包括从属关系、相交关系、并列关系、包含关系;其中,从属关系将使用连线方式组合节点;
[0017] 相交关系将使用图形组件相交一部分的方式组合节点;
[0018] 并列关系将使用图形组件彼此间隔一定距离的方式组合节点;
[0019] 包含关系将使用背景容器包含图形组件,并将被包含组件变小,与包含组件的大小形成对比,从而区分图形组件包含与被包含关系。
[0020] 优选地,初始化顶层节点是整个拓扑图的生成入口,所述的初始化是节点配置图标组件在画布上的具象展现,得到只有一个节点的初始分层框架。
[0021] 进一步地,在画布上的图标组件与节点id唯一对应,通过节点id获得图形组件展示的节点的具体信息,并可通过节点id完成数据编辑操作。
[0022] 进一步地,步骤S4,具体查询节点下子节点是否有自定义布局算法;
[0023] 若有,则按照自定义布局算法与节点下子节点间的关系生成子节点关系图形;
[0024] 若无,则结合内置布局算法与节点下子节点间的关系生成子节点关系图形;
[0025] 根据生成子节点关系图形得到下一分层框架。
[0026] 一种计算机系统,包括
[0027] 分层数据编辑器,用于录入拓扑数据;
[0028] 数据规则处理器,用于将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;
[0029] 模型编辑器,用于设置节点与节点间的横向及纵向间隔距离、节点下子节点布局算法引用、节点的展示图标组件、节点下子节点间的关系;
[0030] 模型数据处理器,用于将模型编辑器录入的节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;
[0031] 语义解析器,用于解析节点下子节点的关系;
[0032] 结构模型引擎,用于初始化顶层节点,得到初始分层框架,并循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;
[0033] 计算处理器,用于获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上。
[0034] 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现如所述的数据解释模型的画布拓扑管理方法的步骤。
[0035] 一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现所述的一种数据解释模型的画布拓扑管理方法的步骤。
[0036] 本发明的有益效果如下:
[0037] 画布拓扑大多具有父子结构关系,由父子节点交替组成一个完整拓扑图,从拓扑图顶层节点向下延伸,整个拓扑图可以看作多个不同层级的子节点区域构成。本发明构思了用数据解释画布拓扑子节点关系图形的方式,而拓扑又是由子节点区域构成,因此就能使用这种方式灵活地定制整个拓扑图形。具体实现思路是父节点下有多个子节点数据,彼此相邻子节点间的关系类型,并在图形表示上采用不同方式呈现,实现以数据的方式解释了某父节点下所有子节点组成的图形方式。
[0038] 本发明还提供了自定义布局算法的扩展,只需要js脚本方法以节点下子节点数据和子节点关系为参数,并且以子节点关系区域对象为返回值要求即可。这种提供算法扩展的方式,能便于动态调整拓扑图局部细节,实现定制化需求。这种方式与拖拽组件生成拓扑图以及根据具体业务自定义拓扑图形的方式有了本质的不同,提供了实现拓扑图的更多解决方式,提高拓扑图开发效率,降低开发成本,从而为公司带来一定的收益。

附图说明

[0039] 图1是本发明所述的数据解释模型的画布拓扑管理方法的流程图。
[0040] 图2是本发明一种较佳实施例的效果图。
[0041] 图3是本发明一种较佳实施例的电力线网实际应用图。

具体实施方式

[0042] 下面结合附图和具体实施方式对本发明做详细描述。
[0043] 实施例1
[0044] 如图1所示,一种数据解释模型的画布拓扑管理方法,所述的方法包括步骤如下:
[0045] 在步骤S1之前,本实施例利用用于录入拓扑数据的分层数据编辑器录入拓扑数据。
[0046] 步骤S1:利用数据规则处理器将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;
[0047] 本实施例利用模型编辑器设置节点与节点间的横向及纵向间隔距离、节点下子节点布局算法引用、节点的展示图标组件、节点下子节点间的关系。
[0048] 步骤S2:利用模型数据处理器将模型编辑器设置的节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;
[0049] 步骤S3:利用结构模型引擎初始化顶层节点,得到初始分层框架;
[0050] 步骤S4:分层节点处理,利用结构模型引擎循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;
[0051] 本实施例中,采用语义解析器解析节点下子节点的关系,结构模型引擎将得到的节点下子节点的关系与布局算法生成子节点关系图形,得到下一分层框架。
[0052] 步骤S5:采用计算处理器获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上;
[0053] 步骤S6:重复步骤S4~S5即可生成完整的拓扑图。
[0054] 在一个具体的实施例中,为了便于数据采集,所录入拓扑数据具有父子层级关系,即本实施例将具有父子层级关系的拓扑数据录入。
[0055] 在一个具体的实施例中,利用模型编辑器用于设置生成画布拓扑时的配置参数,通过配置参数的动态设置,可灵活调整画布拓扑的展示,具体配置参数包括节点的展示图标组件、节点下子节点布局算法引用、节点下子节点间的关系;
[0056] 其中所述的布局算法包括内置布局算法、自定义布局算法,用于确定子节点在画布上的布局;其中自定义布局算法以js脚本录入,自定义节点布局,可扩展节点下子节点布局方式;
[0057] 所述的节点下子节点布局算法引用,是布局算法以节点下子节点数据以及节点关系为参数,返回结果为子节点区域对象;在本实施例中,默认使用内置布局算法。
[0058] 所述的子节点区域对象包括区域宽、高,起始坐标,终止坐标,区域对外的起点连接坐标、终点连接坐标;所述的区域对外的起点连接坐标用于连接父节点,区域对外的终点连接坐标用于连接下一子节点区域。
[0059] 所述的节点的展示图标组件是节点在画布中展示时的具体图形内容,默认使用各层级图标组件。
[0060] 所述的节点下子节点间的关系是相邻子节点间以什么方式组合在一起,大体上将通过四种关系类型将相邻节点彼此组合在一起;所述的节点下子节点间的关系包括从属关系、相交关系、并列关系、包含关系四种类型;
[0061] 其中,从属关系将使用连线方式组合节点四种类型;数据表示方式为id1_id2,数据中下划线代表将id所代表节点以连线的方式组合在一起。
[0062] 相交关系将使用图形组件相交一部分的方式组合节点;数据表示方式为id1:id2,数据中冒号代表将id所代表节点以图形组件相交的方式组合在一起。
[0063] 并列关系将使用图形组件彼此间隔一定距离的方式组合节点;数据表示方式为id1||id2,||号代表将id所代表节点以图形组件间隔一定距离的方式组合在一起。
[0064] 包含关系将使用背景容器包含图形组件,并将被包含组件变小,与包含组件的大小形成对比,从而区分图形组件包含与被包含关系;数据表示方式为id1‑id2,‑号代表id1所代表节点图形包含id2所代表的节点图形。
[0065] 在一个具体的实施例中,结构模型引擎初始化顶层节点是整个拓扑图的生成入口,所述的初始化是节点配置图标组件在画布上的具象展现,得到只有一个节点的初始分层框架。本实施例在画布上的图标组件与节点id唯一对应,通过节点id获得图形组件展示的节点的具体信息,并可通过节点id完成数据编辑操作。
[0066] 进一步地,步骤S4,具体查询节点下子节点是否有自定义布局算法;
[0067] 若有,则按照自定义布局算法与节点下子节点间的关系生成子节点关系图形;
[0068] 若无,则结合内置布局算法与节点下子节点间的关系生成子节点关系图形;
[0069] 根据生成子节点关系图形得到下一分层框架。
[0070] 在本实施例中,结构模型引擎通过布局算法和语义解析器解析子节点的关系生成子节点关系图形,其中布局算法用于确定子节点的位置布局,语义解析器用于解析相邻节点如何组合在一起,如节点下子节点间的关系,对于id1_id2,id1_id4,id2_id3,id4||id5将被解析成[id1_id2_id3,id1_id4||id5]。
[0071] 由于所述的布局算法分为内置布局算法和自定义布局算法,当节点不存在自定义布局算法,就会默认使用内置布局算法,当存在自定义布局算法,将使用自定义布局算法确定节点位置布局,自定义布局算法是JS脚本,方法以节点下子节点数据和子节点关系为参数,这样可明确节点如何放置,节点间关系如何表示,并且需要返回子节点关系区域对象。
[0072] 本实施例中父节点下子节点关系需要经由语义解析,生成节点彼此相邻的关系表达式,这里提供该实施步骤的代码演示
[0073] Javascript代码可如下:
[0074]
[0075]
[0076]
[0077] 总体而言,本实施例的原理如下:
[0078] 本实施例提出的一种数据解释模型的画布拓扑管理方法和系统,与拖拽组件生成拓扑图有本质的不同,本发明的核心是通过数据定义模型的方式解析图形。画布拓扑大多具有父子结构关系,由父子节点交替组成一个完整拓扑图,从拓扑图顶层节点向下延伸,整个拓扑图可以看作多个不同层级的子节点区域构成。通过构思一种用数据定义画布拓扑子节点关系图形的方式,从而灵活定制整个拓扑图形。这种方式也不同于根据具体业务自定义拓扑图形的方式,通过定义子节点间关系和子节点布局算法可快速生成拓扑图,借由自定义节点布局算法,扩展节点间的布局方式,结合从属、并列、包含、相交等节点与节点间关系序列,可丰富拓扑图的展示效果,既可以局部动态调整父节点下子节点图形,也可以大范围动态调整拓扑,同时整个拓扑各层级的图标展示甚至同层级不同节点之间动态图标替换也游刃有余,便于快速开发画布拓扑功能,也便于开发完成后的动态调整,灵活多变。
[0079] 本实施例能应用于web前端画布拓扑开发中,通过一种构造画布拓扑的方法和系统,解决快速生成拓扑、动态变更拓扑问题,降低开发成本,从而为公司带来一定的收益。
[0080] 实施例2
[0081] 本实施例还提供了一种计算机系统,包括
[0082] 分层数据编辑器,用于录入拓扑数据;
[0083] 数据规则处理器,用于将录入拓扑数据按不同层级处理,先存储上一层级数据,再以上一层级数据保存数据库产生的id作为下一层级的数据的父id保存下一层级,由此完成整个拓扑数据的保存;
[0084] 模型编辑器,用于设置节点与节点间的横向及纵向间隔距离、节点下子节点布局算法引用、节点的展示图标组件、节点下子节点间的关系;
[0085] 模型数据处理器,用于将模型编辑器录入的节点与节点间的横向、纵向间隔距离,节点下子节点布局算法引用,节点的展示图标组件,节点下子节点间的关系与拓扑关联;
[0086] 语义解析器,用于解析节点下子节点的关系;
[0087] 结构模型引擎,用于初始化顶层节点,得到初始分层框架,并循环选取分层框架各节点,查询节点下子节点的布局算法;根据布局算法与节点下子节点间的关系生成子节点关系图形,得到下一分层框架;
[0088] 计算处理器,用于获得分层框架下各子节点区域对象,组合区域对象下的节点;计算出在水平位置上,以拓扑图顶层节点为中心同一层级下各子节点区域在对称分布布局下的位置坐标,分别移动各子节点区域到各自位置所对应的坐标上,同时连接子节点区域到其所属父节点上。
[0089] 实施例3
[0090] 一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述的处理器执行所述的计算机程序时,实现如实施例1所述的数据解释模型的画布拓扑管理方法的步骤。
[0091] 其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0092] 实施例4
[0093] 一种计算机可读存储介质,其上存储有计算机程序,所述的计算机程序被处理器执行时,实现如实施例1所述的一种数据解释模型的画布拓扑管理方法的步骤。
[0094] 即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0095] 显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。