用于合并树形结构的方法和装置制造方法及图纸

技术编号:14063174 阅读:49 留言:0更新日期:2016-11-28 01:43
本发明专利技术涉及计算机领域,公开了一种用于合并树形结构的方法和装置。该方法包括通过节点的标识信息识别来自不同树形结构文件的互相对应的节点,然后对互相对应的节点进行合并。在合并中可考虑保留仅存储在其中一个树形结构文件中的节点。同时,可根据需要针对每次合并中的每个待合并节点配置特定的合并策略。应用本发明专利技术可灵活地合并多个树形结构文件,为树形结构信息的分块存储和维护提供了便利,并大大减少了系统管理和维护工作中出错的概率。本发明专利技术的内容可应用于剑魂软件开发平台(原称Witrix平台)等软件开发平台,并作为相应软件开发平台的核心技术。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体地,涉及一种用于合并树形结构的方法和一种用于合并树形结构的装置。
技术介绍
在计算机系统中,常采用以树形结构存储信息的文件对系统进行管理以实现特定的功能。例如,在B/S(Browser/Server,浏览器/服务器)结构的企业信息化系统服务器上可使用以树形结构存储信息的配置文件进行系统参数和属性信息的初始化配置等。例如,在较大型的、成体系的企业应用中,各个下属企业的计算机子系统的架构通常是比较类似的,但其各自要通过不同的配置文件加以维护,而且随着系统应用部署数量的增加,还会形成多个版本的配置文件共存共用的现象,导致系统的维护方需要同时维护很多版本。而由于这些系统功能大多类似,所以其所使用的配置文件的内容中的大部分也是相同的,但不同系统之间或者系统的不同版本之间又存在一些特殊的配置项需要单独定义或者为不同版本的相同配置项配置不同值。因此将不同版本的配置文件进行合并管理能大大减少系统维护成本,并且避免繁琐地分别修改各个版本可能带来的错误。又例如,用于实现某个功能的、可通过树形结构管理的信息可能包括易变部分和稳定部分,如果能方便地实现文件合并,那么就可以考虑将该信息中的易变部分和稳定部分各自以树形结构存储在不同的文件中加以维护,而在使用时将不同文件中存储的信息合并在一起,这也可大大提高系统管理效率。
技术实现思路
本专利技术的目的是提供一种方法,该方法能对多个树形结构进行合并操作,以方便对多个以树形结构存储信息的文件进行统一管理和维护。本专利技术还提供了一种用于合并树形结构的装置。为了实现上述目的,本专利技术提供一种用于合并树形结构的方法,该树形结构包括第一树形结构和第二树形结构,该方法包括:从第二树形结构中选择待合并节点,以及对所述待合并节点进行合并处理。所述合并处理包括:判断所述第一树形结构中是否存在与所述待合并节点相对应的节点,并根据判断结果执行以下一者:在所述第一树形结构中存在与所述待合并节点相对应的节点的情况下,将所述待合并节点合并至所述第一树形结构中与所述待合并节点相对应的节点;及在所述第一树形结构中不存在与所述待合并节点相对应的节点的情况下,将所述待合并节点添加至所述第一树形结构中与该待合并节点的父节点相对应的节点下。其中,基于节点的标识信息来确定不同树形结构中的节点是否互相对应。上述第一和第二树形结构可以存储在不同的文件中。优选地,可根据需要为待合并节点配置不同的合并策略,以进一步提高进行树形结构合并的效率。本专利技术还提供了一种用于合并树形结构的装置。通过上述技术方案,可灵活地合并多个树形结构文件,为树形结构信息的分块存储和维护提供了便利,并大大减少了系统管理和维护工作中出错的概率。本专利技术的内容可应用于剑魂软件开发平台(原称Witrix平台)等软件开发平台,并作为相应软件开发平台的核心技术。本专利技术的其它特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制。在附图中:图1是示出根据本专利技术优选实施方式对树形结构进行合并的示例图。图2是示出根据本专利技术优选实施方式确定是否对不同树形结构文件进行合并的示例流程图。图3是示出根据本专利技术优选实施方式进行树形结构合并的示例流程图。具体实施方式以下结合附图对本专利技术的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术。本专利技术中,节点i的路径指从树形结构的根节点至节点i顺序经过的所有节点,例如根节点为L101,L101具有子节点L201,L201具有子节点L301,则L301的路径可表示为L101/L201;节点i的下级节点指节点i所在的树形结构中以节点i为根节点的节点,可包括节点i的子节点、节点i的子节点的子节点等等;节点i的上级节点指从树形结构的根节点至节点i所经过的所有节点,可包括节点i的父节点、节点i的父节点的父节点等等;叶子节点指不具有子节点的节点。进行树形结构合并的基本思想是对不同树形结构中相对应的节点进行合并,并且保留仅存在于其中一个树形结构中的节点。图1是示出根据本专利技术优选实施方式对两个树形结构进行合并的示例图。图1(a)和图1(b)分别示出了合并前的两个树形结构,其中图1(b)中的树形结构可被视为作为合并基础的初始树形结构,可按照一定策略依次
将图1(a)中的节点合并或添加到图1(b)中的树形结构中,以得到合并后的树形结构。图1(c)为根据本专利技术将图1(a)所示的树形结构合并至图1(b)所示的树形结构后得到的合并后的树形结构的示意图。如图1(a)所示,L101为图1(a)中的树形结构的根节点,L101具有A1和B1两个属性,其值分别为a1和b1。L101有3个子节点L201、L202和L204,L201的属性信息为(A2=a2;B2=b2),L202的属性信息为(D2=d2),L204的属性信息为(E2=e2)。L201有2个子节点L301和L302,L202有子节点L303,L204没有子节点。如图1(b)所示,L101为图1(b)中的树形结构的根节点,L101具有A1和B1两个属性,其值分别为a1和b1。L101有3个子节点L201、L203和L204,L201的属性信息为(B2=b2’;C2=c2),L203的属性信息为(D2=d2),L204的属性信息为(F2=f2)。L201有2个子节点L301和L202,L204有子节点L304。可基于节点的标识信息来确定来自不同树形结构的节点是否互相对应。在同一树形结构中,节点的标识信息能够唯一地识别节点。不同树形结构中的节点的标识信息间可具有一定的映射关系,可认为符合该映射关系的节点互相对应。例如,本实施方式中,节点的标识信息可包括节点的路径信息和名称信息,同一树形结构中可基于节点的标识信息唯一地标识该节点,可基于节点标识信息相同来确定来自不同树形结构的节点互相对应。此外,有些情况下可能存在集合节点(即同一树形结构中以同一节点为父节点并且名称相同的多个节点构成的集合中的节点),则每个集合节点的标识信息还包括其在集合内的编号信息,以与该集合中的其他节点进行区分。对以树形结构存储信息的文件进行解析后,优选地,可首先判断其根节点的标识信息(例如,通常是根节点的名称)是否相同,如果根节点的标识信息不同,则可不对这两个文件中存储的树形结构进行合并操作。可认为图
1(a)和图1(b)所示的树形结构的根节点的标识信息相同(例如,名称都为L101),因此可对图1(a)和图1(b)所示的树形结构进行合并。可按照从根节点到叶子节点的顺序依次选择待合并节点,对于以同一节点为父节点的多个节点(也成为兄弟节点),可按照排序从前到后(对应在图1中为从左到右)的顺序依次选择待合并节点。可首先将图1(a)中的L101选为待合并节点进行合并。针对图1(a)中的节点L101,可在图1(b)中找到相对应的节点L101,则可将图1(a)中的节点L101合并至图1(b)中的节点L101。可根据需要配置(显式或隐式)不同的一级合并策略。根据本专利技术,一级合并策略可包括“合并”和/或“替换”。如果图1(a)中本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201510309143.html" title="用于合并树形结构的方法和装置原文来自X技术">用于合并树形结构的方法和装置</a>

【技术保护点】
一种用于合并树形结构的方法,该树形结构包括第一树形结构和第二树形结构,该方法包括:从第二树形结构中选择待合并节点;对所述待合并节点进行合并处理,所述合并处理包括:判断所述第一树形结构中是否存在与所述待合并节点相对应的节点,并根据判断结果执行以下一者:在所述第一树形结构中存在与所述待合并节点相对应的节点的情况下,将所述待合并节点合并至所述第一树形结构中与所述待合并节点相对应的节点;及在所述第一树形结构中不存在与所述待合并节点相对应的节点的情况下,将所述待合并节点添加至所述第一树形结构中与该待合并节点的父节点相对应的节点下;其中,基于节点的标识信息来确定不同树形结构中的节点是否互相对应。

【技术特征摘要】
1.一种用于合并树形结构的方法,该树形结构包括第一树形结构和第二树形结构,该方法包括:从第二树形结构中选择待合并节点;对所述待合并节点进行合并处理,所述合并处理包括:判断所述第一树形结构中是否存在与所述待合并节点相对应的节点,并根据判断结果执行以下一者:在所述第一树形结构中存在与所述待合并节点相对应的节点的情况下,将所述待合并节点合并至所述第一树形结构中与所述待合并节点相对应的节点;及在所述第一树形结构中不存在与所述待合并节点相对应的节点的情况下,将所述待合并节点添加至所述第一树形结构中与该待合并节点的父节点相对应的节点下;其中,基于节点的标识信息来确定不同树形结构中的节点是否互相对应。2.根据权利要求1所述的方法,其中,将所述待合并节点合并至所述第一树形结构中与所述待合并节点相对应的节点包括以下至少一者:在一级合并策略为“合并”的情况下,合并后的节点具有所述待合并节点和所述与所述待合并节点相对应的节点所具有的所有属性;以及在一级合并策略为“替换”的情况下,合并后的节点仅具有所述待合并节点所具有的所有属性。3.根据权利要求2所述的方法,其中,在一级合并策略为“合并”的情况下,针对所述待合并节点和所述与所述待合并节点相对应的节点均具有的
\t属性以及仅所述待合并节点所具有的属性,所述合并后的节点的该属性的属性值等于所述待合并节点的该属性的属性值;以及针对仅所述与所述待合并节点相对应的节点所具有的属性,所述合并后的节点的该属性的属性值等于所述与所述待合并节点相对应的节点的该属性的属性值。4.根据权利要求1所述的方法,其中,所述合并处理还包括:在所述第一树形结构中存在与所述待合并节点相对应的节点的情况下,基于二级合并策略处理所述第二树形结构中所述待合并节点的下级节点。5.根据权利要求4所述的方法,其中,基于二级合并策略处理所述第二树形结构中所述待合并节点的下级节点包括以下至少一者:在所述二级合并策略为“合并”的情况下,依次选择所述待合并节点的子节点作为新的待合并节点,并对该新的待合并节点进行所述合并处理;在所述二级合并策略为“前插”的情况下,将所述待合并节点的所有下级节点按照原有路径和原有属性信息添加至所述第一树形结构中,并且所述待合并节点的下级节点被添加在所述与所述待合并节点相对应的节点的下级节点之前;在所述二级合并策略为“追加”的情况下,将所述待合并节点的所有下级节点按照原有路径和原有属性信息添加至所述第一树形结构中,并且所述待合并节点的下级节点被添加在所述与所述待合并节点相对应的节点的下级节点之后;在所述二级合并策略为“覆盖”的情况下,将所述待合并节点的所有下级节点按照原有路径和原有属性信息添加至所述第一树形结构中,并且删除所述与所述待合并节点相对应的节点原有的下级节点。6.一种用于合并树形结构的装置,该树形结构包括第一树形结构和第二...

【专利技术属性】
技术研发人员:张杰陈暾
申请(专利权)人:北京天禾元创软件股份有限公司
类型:发明
国别省市:北京;11

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

1