一种基于AntV-G6拓扑图的局部更新方法及系统与流程
- 国知局
- 2024-12-06 12:10:17
本发明涉及拓扑图分析,尤其涉及的是一种基于antv-g6拓扑图的局部更新方法及系统。
背景技术:
1、目前,应用于鸿蒙系统的物联网平台,如开源鸿蒙(openharmony)有一个场景需要使用拓扑图来实现业务功能展示,对于用图可视化引擎antv-g6开源框架作为拓扑图的底层框架,虽然已基本能够实现业务功能展示,但是仍存在拓扑图操作响应时间较长的问题,例如当拓扑图节点更新时,在节点拖拽的过程中需要全量更新拓扑图,使得拓扑图操作(如新增、删除、编辑或排序等)的响应时间较长且资源利用率较低,容易导致用户的交互体验较差。
技术实现思路
1、鉴于上述现有技术的不足,本发明的目的在于提供一种基于antv-g6拓扑图的局部更新方法及系统,旨在解决现有技术中存在的拓扑图操作响应时间较长且资源利用率较低的问题。
2、为了实现上述目的,本发明第一方面提供一种基于antv-g6拓扑图的局部更新方法,包括:
3、分别采集预设时间间隔对应的antv-g6拓扑图中的数据,获得源数据和新数据;
4、基于所述源数据,确定所述拓扑图中各个节点之间的逻辑关系;
5、基于所述逻辑关系设置不同类型的节点操作规则;
6、基于所述源数据和所述新数据,确定发生变化的节点;
7、基于所述节点操作规则,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图。
8、在一种实施方式中,所述基于所述源数据,确定所述拓扑图中各个节点之间的逻辑关系,包括:
9、提取所述拓扑图中的所有边;
10、利用每个所述边对应的源数据,确定所述拓扑图中各个节点之间的逻辑关系。
11、在一种实施方式中,所述基于所述逻辑关系设置不同类型的节点操作规则,包括:
12、基于所述源数据和各个节点之间的逻辑关系,确定每个节点的属性、位置关系和/或连接信息;
13、利用每个所述节点的属性、位置关系和/或连接信息,按照操作类型分别设置对应的节点操作规则。
14、在一种实施方式中,所述基于所述源数据和所述新数据,确定发生变化的节点,包括:
15、基于每种类型的所述节点操作规则,分别创建一个diff算法;
16、利用每个所述diff算法对比相应节点对应的新数据和源数据,分别确定相应节点的对比结果;
17、基于所有所述对比结果,确定发生变化的节点。
18、在一种实施方式中,所述利用每个所述diff算法对比相应节点对应的新数据与源数据,分别确定相应节点的对比结果,包括:
19、分别将每种类型的所述节点对应的新数据与源数据做扁平化处理,获得新数据列表和源数据列表;
20、定义两个数据结构,将所述新数据列表和所述源数据列表分别存入相应的数据结构中,获得新数据的数据结构和源数据的数据结构;
21、利用相应的所述diff算法对所述新数据的数据结构和所述源数据的数据结构按照节点映射关系进行遍历比较,确定相应节点的对比结果。
22、在一种实施方式中,所述对比结果包括发生变化的节点的变化类型,所述基于所述节点操作规则,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图,包括:
23、基于所述发生变化的节点的变化类型和所述节点操作规则,确定局部更新操作的类型;
24、基于所述局部更新操作的类型,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图。
25、本发明第二方面提供一种基于antv-g6拓扑图的局部更新系统,所述系统包括:
26、数据采集模块,用于分别采集预设时间间隔对应的antv-g6拓扑图中的数据,获得源数据和新数据;
27、逻辑关系确定模块,用于基于所述源数据,确定所述拓扑图中各个节点之间的逻辑关系;
28、节点操作规则生成模块,用于基于所述逻辑关系设置不同类型的节点操作规则;
29、节点变化确定模块,用于基于所述源数据和所述新数据,确定发生变化的节点;
30、局部更新模块,用于基于所述节点操作规则,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图。
31、在一种实施方式中,所述节点变化确定模块包括diff算法生成单元、对比单元和变化节点确定单元,其中,diff算法生成单元,用于基于每种类型的所述节点操作规则,分别创建一个diff算法;对比单元,用于利用每个所述diff算法对比相应节点对应的新数据和源数据,分别确定相应节点的对比结果;变化节点确定单元,用于基于所有所述对比结果,确定发生变化的节点。
32、本发明第三方面提供一种智能终端,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于antv-g6拓扑图的局部更新程序,所述基于antv-g6拓扑图的局部更新程序被所述处理器执行时实现任意一项上述基于antv-g6拓扑图的局部更新方法的步骤。
33、本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于antv-g6拓扑图的局部更新程序,所述基于antv-g6拓扑图的局部更新程序被处理器执行时实现任意一项上述基于antv-g6拓扑图的局部更新方法的步骤。
34、与现有技术相比,本方案的有益效果如下:
35、本发明通过分别采集预设时间间隔对应的antv-g6拓扑图中的数据,获得源数据和新数据;基于所述源数据,确定所述拓扑图中各个节点之间的逻辑关系;基于所述逻辑关系设置不同类型的节点操作规则;基于所述源数据和所述新数据,确定发生变化的节点;基于所述节点操作规则,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图。本方明根据antv-g6拓扑图中各个节点之间的逻辑关系,自定义节点操作规则,并通过自定义diff算法对比antv-g6拓扑图的数据结构和数据发生变化前、后的节点状态,来确定局部更新antv-g6拓扑图所需的局部更新的操作,实现局部更新拓扑图,能够显著减少更新拓扑图的操作响应时间,有利于增强系统的性能及交互体验。
技术特征:1.一种基于antv-g6拓扑图的局部更新方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于antv-g6拓扑图的局部更新方法,其特征在于,所述基于所述源数据,确定所述拓扑图中各个节点之间的逻辑关系,包括:
3.根据权利要求1所述的基于antv-g6拓扑图的局部更新方法,其特征在于,所述基于所述逻辑关系设置不同类型的节点操作规则,包括:
4.根据权利要求1所述的基于antv-g6拓扑图的局部更新方法,其特征在于,所述基于所述源数据和所述新数据,确定发生变化的节点,包括:
5.根据权利要求4所述的基于antv-g6拓扑图的局部更新方法,其特征在于,所述利用每个所述diff算法对比相应节点对应的新数据与源数据,分别确定相应节点的对比结果,包括:
6.根据权利要求4或5所述的基于antv-g6拓扑图的局部更新方法,其特征在于,所述对比结果包括发生变化的节点的变化类型,所述基于所述节点操作规则,执行对所述发生变化的节点进行局部更新的操作,获得更新后的拓扑图,包括:
7.一种基于antv-g6拓扑图的局部更新系统,其特征在于,所述系统包括:
8.根据权利要求7所述的基于antv-g6拓扑图的局部更新系统,其特征在于,所述节点变化确定模块包括diff算法生成单元、对比单元和变化节点确定单元,其中,
9.一种智能终端,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现如权利要求1-6任一项所述基于antv-g6拓扑图的局部更新方法。
技术总结本发明提供的一种基于AntV‑G6拓扑图的局部更新方法及系统,具体涉及拓扑图分析技术领域,方案包括:分别采集预设时间间隔对应的AntV‑G6拓扑图中的数据,获得源数据和新数据;基于源数据确定拓扑图中各个节点之间的逻辑关系,进而设置不同类型的节点操作规则;基于源数据和新数据,确定发生变化的节点;基于节点操作规则,执行对发生变化的节点进行局部更新的操作,获得更新后的拓扑图。本发明根据拓扑图中各个节点之间的逻辑关系自定义节点操作规则,并通过自定义Diff算法对比拓扑图的数据结构和数据发生变化前、后的节点状态,实现局部更新拓扑图,能够显著减少更新拓扑图的操作响应时间及增强系统的性能及交互体验。技术研发人员:钱耀彬,冷浩,李孝远受保护的技术使用者:深圳开鸿数字产业发展有限公司技术研发日:技术公布日:2024/12/2本文地址:https://www.jishuxx.com/zhuanli/20241204/339744.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表