【技术实现步骤摘要】
一种组件引用关系重构方法、装置、系统及存储介质
[0001]本申请涉及平面设计
,尤其涉及一种组件引用关系重构方法、装置、系统及存储介质。
技术介绍
[0002]在信息技术、软件开发以及各类设计领域,设计组件的应用越来越广泛。设计组件,或者简称组件,是用于构建复杂系统或应用的基础构造单元。它们通常封装了特定的功能或逻辑,可以被独立地开发、测试、部署和复用。
[0003]然而,在设计和开发大型系统或应用时,组件的数量可能会非常庞大,且这些组件之间可能存在复杂的依赖关系。依赖关系,指的是一个组件需要另一个或多个组件的功能或服务才能正常运行。这种依赖关系可能是直接的,也可能是间接的,例如,一个组件依赖于另一个组件,而后者又依赖于第三个组件。
[0004]管理和理解这些复杂的组件依赖关系对于系统的稳定性、性能、可维护性以及其他质量属性至关重要。例如,如果一个组件发生故障,那么依赖于它的其他组件可能也会受到影响。或者,如果一个组件需要进行升级或替换,那么可能需要同步修改依赖于它的其他组件。
[0005]现有的设计工具和平台通常提供了一些功能来帮助用户管理和理解组件依赖关系,例如,他们可能提供了一种方式来表示组件之间的引用关系,或者提供了一种机制来检查组件的依赖关系。然而,这些功能通常有以下限制:手动管理和分析:大部分设计工具需要用户手动管理和分析组件的依赖关系,这在大规模和复杂的系统中可能非常困难和耗时。
[0006]依赖关系的不完整性:现有的工具和方法往往只能识别和管理直接的依赖关系,而 ...
【技术保护点】
【技术特征摘要】
1.一种组件引用关系重构方法,其特征在于,所述方法包括:通过预先配置的API获取目标平台的设计组件数据;对所述设计组件数据进行解析,获得表示所述设计组件数据中引用其组件信息的目标字段的所有取值;对所述目标字段的取值表示的引用关系进行识别,构建出用于表示各个组件之间引用关系的知识图谱,在所述知识图谱中,各个组件表示为节点,引用关系表示为连接节点的连接线;在所述知识图谱中,选择一个起始组件作为初始节点,并将其标记为已访问;将所述初始节点加入目标数据结构中;重复以下步骤遍历整个知识图谱,直到所述目标数据结构中的组件为空,从而提取出组件之间的关联关系集合,并重构各个组件之间的引用关系:从所述目标数据结构中取出一个节点作为当前节点;检查所述当前节点的所有邻接节点,所述邻接节点为与当前节点直接相连的组件;对于每个未访问的邻接节点,将其标记为已访问并将其加入所述目标数据结构中。2.根据权利要求1中所述的组件引用关系重构方法,其特征在于,当组件被用于不同于所述目标平台的其它设计平台时,所述重构各个组件之间的引用关系包括:识别所述其它设计平台中用于表示组件之间引用关系的字段以及所有的取值;根据提取出的组件之间的关联关系集合,将各个组件之间的引用关系与所述其它设计平台的字段以及对应的取值进行匹配,并将原有的字段和取值替换为所述其它设计平台的字段和取值。3.根据权利要求2中所述的组件引用关系重构方法,其特征在于,并将原有的字段和取值替换为所述其它设计平台的字段和取值包括:将原有的Symbol规则替换为SymbolMaster规则;将原有的references字段替换为layers数组。4.根据权利要求1中所述的组件引用关系重构方法,其特征在于,构建知识图谱的过程中,使用邻接矩阵或邻接表来表示图的数据结构。5.根据权利要求1中所述的组件引用关系重构方法,其特征在于,还包括:将所述目标平台的设计组件数据存储至第一字典中;将重构后的组件以及各个组件之间的引用关系存储至第二字典中;比对所述第一字典与所述第二字典中的键和值;根据键和值的比对结果验证重构后组件之间的引用关系的正确性。6.根据权利要求1中所述的组件引用关系重构方法,其特征在于,通过如下方式判断重构后的引用关系中是否存在组件循环引用:从每一个还没有被访问过的节点开始,进行搜索;在搜索的过程中,使用三种不同的标记来标记节点,分别为:第一标记:表示节点还没有被访问过;第二标记:表示节点已经被访问过,且搜索过程仍在该节点的子节点中进行;第三标记:表示节点已经被访问过,且搜索过程已经从该节点的所有子节点返回;遍历重构后的所有组件和引用关系,若在搜索的过程中,发现具有第二标记的节点成
为了当前节点的子节点,则确定存在组件循环引用。7.根据权利要求1中所述的组件引用关系重构方法,其特征在于,所述重构各个组件之间的引用关系包括:步骤a:将所有节点的距离设置为无穷大,将起始节点的距离设置为0;步骤b:创建一个空的优先队列,将所有节点加入队列,所述优先队列根据节点的距离进行排序;步骤c:从队列中选出到所述起始节点距离最小的节点,遍历...
【专利技术属性】
技术研发人员:代金,刘松,莫建华,孟小江,练纯科,
申请(专利权)人:成都摹客科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。