一种组件引用关系重构方法、装置、系统及存储介质制造方法及图纸

技术编号:39035777 阅读:13 留言:0更新日期:2023-10-10 11:48
本申请公开了一种组件引用关系重构方法、装置、系统及存储介质,用于对不同平台之间的组件进行引用关系重构。本申请方法包括:获取目标平台的设计组件数据;对设计组件数据进行解析;对目标字段的取值表示的引用关系进行识别,构建出用于表示各个组件之间引用关系的知识图谱;在知识图谱中,选择一个起始组件作为初始节点,并将其标记为已访问;将初始节点加入目标数据结构中;重复以下步骤遍历整个知识图谱:从目标数据结构中取出一个节点作为当前节点;检查当前节点的所有邻接节点,邻接节点为与当前节点直接相连的组件;对于每个未访问的邻接节点,将其标记为已访问并将其加入目标数据结构中。数据结构中。数据结构中。

【技术实现步骤摘要】
一种组件引用关系重构方法、装置、系统及存储介质


[0001]本申请涉及平面设计
,尤其涉及一种组件引用关系重构方法、装置、系统及存储介质。

技术介绍

[0002]在信息技术、软件开发以及各类设计领域,设计组件的应用越来越广泛。设计组件,或者简称组件,是用于构建复杂系统或应用的基础构造单元。它们通常封装了特定的功能或逻辑,可以被独立地开发、测试、部署和复用。
[0003]然而,在设计和开发大型系统或应用时,组件的数量可能会非常庞大,且这些组件之间可能存在复杂的依赖关系。依赖关系,指的是一个组件需要另一个或多个组件的功能或服务才能正常运行。这种依赖关系可能是直接的,也可能是间接的,例如,一个组件依赖于另一个组件,而后者又依赖于第三个组件。
[0004]管理和理解这些复杂的组件依赖关系对于系统的稳定性、性能、可维护性以及其他质量属性至关重要。例如,如果一个组件发生故障,那么依赖于它的其他组件可能也会受到影响。或者,如果一个组件需要进行升级或替换,那么可能需要同步修改依赖于它的其他组件。
[0005]现有的设计工具和平台通常提供了一些功能来帮助用户管理和理解组件依赖关系,例如,他们可能提供了一种方式来表示组件之间的引用关系,或者提供了一种机制来检查组件的依赖关系。然而,这些功能通常有以下限制:手动管理和分析:大部分设计工具需要用户手动管理和分析组件的依赖关系,这在大规模和复杂的系统中可能非常困难和耗时。
[0006]依赖关系的不完整性:现有的工具和方法往往只能识别和管理直接的依赖关系,而忽视了间接或潜在的依赖关系。
[0007]缺乏自动化的支持:现有的工具和方法往往缺乏自动化的支持,例如,缺乏自动提取和分析依赖关系的功能,或者缺乏自动检查和修复依赖关系的功能。
[0008]依赖关系的可视化:现有的工具和方法往往没有提供一种有效的方式来可视化和理解复杂的依赖关系。
[0009]因此,存在一种强烈的需求,即开发一种新的方法和系统,以更有效地管理和理解组件依赖关系,特别是在大规模和复杂的系统中。本专利技术就是为了满足这种需求而产生的。

技术实现思路

[0010]为了解决上述技术问题,本申请提供了一种组件引用关系重构方法、装置、系统及存储介质。
[0011]本申请第一方面提供了一种组件引用关系重构方法,所述方法包括:通过预先配置的API获取目标平台的设计组件数据;对所述设计组件数据进行解析,获得表示所述设计组件数据中引用其组件信息的
目标字段的所有取值;对所述目标字段的取值表示的引用关系进行识别,构建出用于表示各个组件之间引用关系的知识图谱,在所述知识图谱中,各个组件表示为节点,引用关系表示为连接节点的连接线;在所述知识图谱中,选择一个起始组件作为初始节点,并将其标记为已访问;将所述初始节点加入目标数据结构中;重复以下步骤遍历整个知识图谱,直到所述目标数据结构中的组件为空,从而提取出组件之间的关联关系集合,并重构各个组件之间的引用关系:从所述目标数据结构中取出一个节点作为当前节点;检查所述当前节点的所有邻接节点,所述邻接节点为与当前节点直接相连的组件;对于每个未访问的邻接节点,将其标记为已访问并将其加入所述目标数据结构中。
[0012]可选的,当组件被用于不同于所述目标平台的其它设计平台时,所述重构各个组件之间的引用关系包括:识别所述其它设计平台中用于表示组件之间引用关系的字段以及所有的取值;根据提取出的组件之间的关联关系集合,将各个组件之间的引用关系与所述其它设计平台的字段以及对应的取值进行匹配,并将原有的字段和取值替换为所述其它设计平台的字段和取值。
[0013]可选的,构建知识图谱的过程中,使用邻接矩阵或邻接表来表示图的数据结构。
[0014]可选的,还包括:将所述目标平台的设计组件数据存储至第一字典中;将重构后的组件以及各个组件之间的引用关系存储至第二字典中;比对所述第一字典与所述第二字典中的键和值;根据键和值的比对结果验证重构后组件之间的引用关系的正确性。
[0015]可选的,通过如下方式判断重构后的引用关系中是否存在组件循环引用:从每一个还没有被访问过的节点开始,进行搜索;在搜索的过程中,使用三种不同的标记来标记节点,分别为:第一标记:表示节点还没有被访问过;第二标记:表示节点已经被访问过,且搜索过程仍在该节点的子节点中进行;第三标记:表示节点已经被访问过,且搜索过程已经从该节点的所有子节点返回;遍历重构后的所有组件和引用关系,若在搜索的过程中,发现具有第二标记的节点成为了当前节点的子节点,则确定存在组件循环引用。
[0016]可选的,所述重构各个组件之间的引用关系包括:步骤a:将所有节点的距离设置为无穷大,将起始节点的距离设置为0;步骤b:创建一个空的优先队列,将所有节点加入队列,所述优先队列根据节点的距离进行排序;步骤c:从队列中选出到所述起始节点距离最小的节点,遍历其所有未访问的邻接节点,并使用下述式子更新所述邻接节点的距离:
dist[v]= min(dist[v],dist[u]+weight(u,v))式子(1);所述式子(1)中,dist[v]表示当前已知的从所述起始节点到节点v的最短路径长度,dist[u]表示从起始节点到当前节点u的最短路径长度,weight(u,v)表示从节点u到节点v的边的权重,所述节点u表示当前节点,所述节点v表示未访问的邻接节点;步骤d:将当前节点标记为已访问;重复步骤c和d,直到所述优先队列为空。
[0017]可选的,在所述重构各个组件之间的引用关系之后,还包括:通过下述式子计算各个组件的目标参数B_i:B_i=Σ_j,k(σ_jk(i)/σ_jk)式子(2)式子(2)中,σ_jk 是节点j和k之间的最短路径数量,σ_jk(i)是这些路径中经过节点i的路径数量;比对各个组件的目标参数B_i的大小,在各个组件中确定出组件母版。
[0018]本申请第二方面提供了一种组件引用关系重构装置,包括:获取模块,用于通过预先配置的API获取目标平台的设计组件数据;解析模块,用于对所述设计组件数据进行解析,获得表示所述设计组件数据中引用其组件信息的目标字段的所有取值;识别构建模块,用于对所述目标字段的取值表示的引用关系进行识别,构建出用于表示各个组件之间引用关系的知识图谱,在所述知识图谱中,各个组件表示为节点,引用关系表示为连接节点的连接线;选取模块,用于在所述知识图谱中,选择一个起始组件作为初始节点,并将其标记为已访问;数据结构模块,用于将所述初始节点加入目标数据结构中;重构模块,用于重复以下步骤遍历整个知识图谱,直到所述目标数据结构中的组件为空,从而提取出组件之间的关联关系集合,并重构各个组件之间的引用关系:从所述目标数据结构中取出一个节点作为当前节点;检查所述当前节点的所有邻接节点,所述邻接节点为与当前节点直接相连的组件;对于每个未访问的邻接节点,将其标记为已访问并将其加入所述目标数据结构中。
[0019]本申请第三方面提供了一种组件引用关系重构系统,所述包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种组件引用关系重构方法,其特征在于,所述方法包括:通过预先配置的API获取目标平台的设计组件数据;对所述设计组件数据进行解析,获得表示所述设计组件数据中引用其组件信息的目标字段的所有取值;对所述目标字段的取值表示的引用关系进行识别,构建出用于表示各个组件之间引用关系的知识图谱,在所述知识图谱中,各个组件表示为节点,引用关系表示为连接节点的连接线;在所述知识图谱中,选择一个起始组件作为初始节点,并将其标记为已访问;将所述初始节点加入目标数据结构中;重复以下步骤遍历整个知识图谱,直到所述目标数据结构中的组件为空,从而提取出组件之间的关联关系集合,并重构各个组件之间的引用关系:从所述目标数据结构中取出一个节点作为当前节点;检查所述当前节点的所有邻接节点,所述邻接节点为与当前节点直接相连的组件;对于每个未访问的邻接节点,将其标记为已访问并将其加入所述目标数据结构中。2.根据权利要求1中所述的组件引用关系重构方法,其特征在于,当组件被用于不同于所述目标平台的其它设计平台时,所述重构各个组件之间的引用关系包括:识别所述其它设计平台中用于表示组件之间引用关系的字段以及所有的取值;根据提取出的组件之间的关联关系集合,将各个组件之间的引用关系与所述其它设计平台的字段以及对应的取值进行匹配,并将原有的字段和取值替换为所述其它设计平台的字段和取值。3.根据权利要求2中所述的组件引用关系重构方法,其特征在于,并将原有的字段和取值替换为所述其它设计平台的字段和取值包括:将原有的Symbol规则替换为SymbolMaster规则;将原有的references字段替换为layers数组。4.根据权利要求1中所述的组件引用关系重构方法,其特征在于,构建知识图谱的过程中,使用邻接矩阵或邻接表来表示图的数据结构。5.根据权利要求1中所述的组件引用关系重构方法,其特征在于,还包括:将所述目标平台的设计组件数据存储至第一字典中;将重构后的组件以及各个组件之间的引用关系存储至第二字典中;比对所述第一字典与所述第二字典中的键和值;根据键和值的比对结果验证重构后组件之间的引用关系的正确性。6.根据权利要求1中所述的组件引用关系重构方法,其特征在于,通过如下方式判断重构后的引用关系中是否存在组件循环引用:从每一个还没有被访问过的节点开始,进行搜索;在搜索的过程中,使用三种不同的标记来标记节点,分别为:第一标记:表示节点还没有被访问过;第二标记:表示节点已经被访问过,且搜索过程仍在该节点的子节点中进行;第三标记:表示节点已经被访问过,且搜索过程已经从该节点的所有子节点返回;遍历重构后的所有组件和引用关系,若在搜索的过程中,发现具有第二标记的节点成
为了当前节点的子节点,则确定存在组件循环引用。7.根据权利要求1中所述的组件引用关系重构方法,其特征在于,所述重构各个组件之间的引用关系包括:步骤a:将所有节点的距离设置为无穷大,将起始节点的距离设置为0;步骤b:创建一个空的优先队列,将所有节点加入队列,所述优先队列根据节点的距离进行排序;步骤c:从队列中选出到所述起始节点距离最小的节点,遍历...

【专利技术属性】
技术研发人员:代金刘松莫建华孟小江练纯科
申请(专利权)人:成都摹客科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1