基于组件特征类别编排调取的方法技术

技术编号:37423573 阅读:28 留言:0更新日期:2023-04-30 09:45
本发明专利技术提供一种基于组件特征类别编排调取的方法。该方法包括:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;根据所述定制项目名单生成反映功能组件之间依赖关系的关系树;根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。境中。境中。

【技术实现步骤摘要】
基于组件特征类别编排调取的方法


[0001]本专利技术涉及计算机
,尤其涉及一种基于组件特征类别编排调取的方法。

技术介绍

[0002]软件产品正式发布后,针对重要客户或有额外定制需求的客户,需要根据需求出指定功能的定制版本。该类用户往往具有如下特点:工程复杂,定制化高,往往在客户特定的业务流程触发,调整与之支配的软件运行接口和定制功能。定制功能不易通用。多个不同的客户特殊定制项有时模块重复,但要求矛盾,难以提取出通用部分加入后续主线版本中。维护周期长,成本较高。定制项目一般会有3

5年项目维护周期,在维护周期内又可能会有新的定制任务,基于某一版本状态进行迭代开发。此时项目就需要有单独的开发分支和单独分出的开发人员、项目实施专员进行投入,消耗资源和成本较大。

技术实现思路

[0003]为了满足不同客户对软件产品的定制化需求的同时,尽可能地降低资源和成本的投入,本专利技术提供一种基于组件特征类比编排调取的方法。
[0004]本专利技术提供一种基于组件特征类别编排调取的方法,包括:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;根据所述定制项目名单生成反映功能组件之间关系的关系树;根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
[0005]进一步地,在将已发布软件产品拆解为若干个功能组件的过程中,应遵守的规则包括:针对拆解后形成的功能组件,除了输入和输出之外,其他所有数据均在自身的数据处理流程内部进行数据处理;或者,针对拆解后形成的功能组件,其功能不属于设定的基础支撑功能;或者,针对拆解后形成的功能组件,存在根据用户业务需求频繁更改情况其功能的需求;或者,针对拆解后形成的功能组件,存在根据运行环境进行适配的需求。
[0006]本专利技术的有益效果:1、将各个定制项目中不能兼容甚至相互冲突的部分通过拆解分立成组件模块来单独存放;2、在部署时,可以根据客户的项目版本编号,检索出对应的需求功能模块列表并进行部署,实现客户的项目定制需求;3、软件产品构建时,一次构建一个软件包,统一发布版本,减少项目实施困难;
4、开发时,将一个个功能模块解耦合,子功能模块统一在主干模块上对接,方便在构建时可以相互替换和兼容。
附图说明
[0007]图1为本专利技术实施例提供的基于组件特征类别编排调取的方法的流程示意图。
具体实施方式
[0008]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0009]在介绍本专利技术的技术方案之前,先对涉及到的相关概念作简要解释。
[0010]定制项目名单:在客户环境中有的由于特殊主机设备不能使用软件依赖的标准基础组件;或者需要根据客户定制需要,增减软件需要的不同类型的组件、定制程序等。将这些信息汇总的一份清单被称为该项目的“定制项目清单”。
[0011]关系树:完整名称应该叫做组件依赖关系树,在linux或windows的软件安装过程中,一个软件的安装往往依赖于另一个软件存在,由此形成的依赖关系被称为组件依赖关系树。只有先将那些完全没有依赖的组件先安装,再安装那些依赖组件已经被安装过的待安装组件,依次类推,才能最终将所有的组件安装完,这就是组件依赖关系树的作用。
[0012]用户的运行环境信息:这里我们关心的信息,主要来源于操作系统和硬件架构。不同操作系统提供的基础库文件不同,所以选取能在上面运行的组件和调用方式不同。对于不支持跨平台运行的组件,不同平台架构只能选择对应的组件版本才行。
[0013]如图1所示,本专利技术实施例提供一种基于组件特征类别编排调取的方法,包括以下步骤:S101:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;具体地,在将已发布软件产品拆解为若干个功能组件的过程中,应遵守的规则包括:针对拆解后形成的功能组件,除了输入和输出之外,其他所有数据均在自身的数据处理流程内部进行数据处理;该规则可以确保该功能组件是否还有继续被拆解的需求。
[0014]或者,针对拆解后形成的功能组件,其功能不属于设定的基础支撑功能;如此,可以确保软件产品被拆解后,不会影响软件运行效率。
[0015]或者,针对拆解后形成的功能组件,存在根据用户业务需求频繁更改情况其功能的需求;或者,针对拆解后形成的功能组件,存在根据运行环境进行适配的需求。
[0016]S102:根据所述定制项目名单生成反映功能组件之间关系的关系树;S103:根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;S104:获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;S105:触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。
[0017]具体地,由于软件产品(也可称为主干模块)被拆解为尽可能小的若干个功能组件(也可称为子模块),不同项目定制的同一大类的不同模块或是冲突模块,可以以定制项目标识形式区分,存放到同一个库文件中,在部署时通过调用列表激活需要使用的模块。构建完各功能组件后,同步生成功能组件对应项目关联,存到构建数据库的链表中。当所有功能组件构建完毕,对数据库中“功能组件—项目”关系表重新排布,生成“主干

子模块”关系树,存入产品部署文件中。
[0018]为了更加清楚的理解关系树和定制项目名单,关系树和定制项目名单之间的联系和区别如下:定制项目名单是在构建过程中使用的,而关系树是构建后依据定制项目名单生成,并在安装包中存放的;定制项目名单记录了软件产品发布时所有需要构建分支的产品,包括基线和定制产品线,目的在于:当遇到通用功能更新时,能够一次将功能发布到所有不同定制项目的客户产品中。而关系树则不然,为了减少安装包的体量,出包时会根据硬件环境、定制组件的比例,分出一个能满足部分场景的若干个包来,因此依靠关系树,能够在一定范围内满足不同定制项目和/或不同运行环境下对不同功能组件的需要。从构建过程这一角度而言,依据定制项目名单,首先构建得到所有需要更新发布的功能组件;基于不同场景,将所有的功能组件分类为不同场景使用的安装包,并携带有功能组件自身标记,也即形成了关系树。
[0019]本专利技术主要应用于软件部署、项目定制和版本管理领域,可以自动根据配置版本下发指定功能组件的部署。
[0020]最后应说明的是:以上实施例仅用以说明本专利技术的技术方案,而非对其限制;尽管参照前述实施例对本专利技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于组件特征类别编排调取的方法,其特征在于,包括:将已发布软件产品拆解为若干个功能组件,对每个功能组件标记上版本号和定制编号以形成所述已发布软件产品的定制项目名单;根据所述定制项目名单生成反映功能组件之间关系的关系树;根据用户输入的定制编号,遍历关系树,找到需要部署的所有功能组件;获取用户的运行环境信息,确定需要部署的所有功能组件的适配版本;触发部署逻辑以便将所有适配的功能组件部署在用户的运行环境中。2.根据权利要求1所述...

【专利技术属性】
技术研发人员:彭铭秦志伟刘兰玉董得东张乾坤
申请(专利权)人:郑州云智信安安全技术有限公司
类型:发明
国别省市:

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

1