首页> 中国专利> 一种基于标准框架的配置文件版本迁移方法

一种基于标准框架的配置文件版本迁移方法

摘要

本发明特别涉及一种基于标准框架的配置文件版本迁移方法。该基于标准框架的配置文件版本迁移方法,包括迁移标准框架校验,动态匹配复杂软件产品及组件版本迁移映射关系,匹配组件版本迁移操作模板,语法解析组件版本迁移操作模板和执行组件版本迁移操作五个步骤。该基于标准框架的配置文件版本迁移方法,有效满足了复杂软件产品升级过程中相关组件配置文件迁移及变量迁移的需求,实现复杂软件产品升级过程快速自动化,提高了复杂软件产品升级效率及升级操作稳定性,降低了升级操作的复杂度,节约了相关成本。

著录项

  • 公开/公告号CN112799697A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 上海浪潮云计算服务有限公司;

    申请/专利号CN202110006253.X

  • 发明设计人 况天宝;唐晓东;蔡卫卫;高传集;

    申请日2021-01-05

  • 分类号G06F8/65(20180101);G06F8/71(20180101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人郗艳荣

  • 地址 200436 上海市静安区江场三路238号411室

  • 入库时间 2023-06-19 10:58:46

说明书

技术领域

本发明涉及软件产品升级技术领域,特别涉及一种基于标准框架的配置文件版本迁移方法。

背景技术

复杂软件产品,包含大量应用的复杂组合,其应用各自的版本信息和配置文件版本升级过程中,关联的应用组件多,组件的版本配置文件数量多,不同版本组件配置文件格式不同。当复杂软件产品从当前版本升级到新版本时,无法自动平滑升级到新版本配置文件并保留原有变量,需要将当前版本组件变量值迁移到新版本组件配置文件中。

为了快速自动化实现复杂软件产品升级过程,本发明设计了一种基于标准框架的配置文件版本迁移方法。

发明内容

本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于标准框架的配置文件版本迁移方法。

本发明是通过如下技术方案实现的:

一种基于标准框架的配置文件版本迁移方法,其特征在于,包括以下步骤:

S1.迁移标准框架校验

校验复杂软件产品跨版本升级情况,校验复杂软件产品组件版本迁移自定义模板缺失情况,校验复杂软件产品组件版本迁移自定义模板的格式符合标准情况,校验不通过返回错误码,上述校验全部通过后执行步骤S2;

S2.动态匹配复杂软件产品及组件版本迁移映射关系

根据组件名称,组件当前版本和组件目标版本信息匹配组件版本迁移操作模板tpl文件,匹配成功后将匹配结果作为版本迁移映射关系进行保存;

S3.匹配组件版本迁移操作模板

根据动态匹配复杂软件产品及组件版本迁移映射关系执行结果,加载组件版本迁移映射关系结果文件version_upgrade.yaml,按复杂软件产品版本升级逐级递增的方式,得到operate(运转)操作模板列表,分别匹配并加载对应的组件版本迁移操作模板文件tpl;例如:lcm-init-vars-upgrade-2.3.1-2.5.1.tpl。

S4.语法解析组件版本迁移操作模板

语法解析模块加载已定义的组件版本迁移操作模板,解析模板内容,得到具体的操作方式和操作对象数据;

S5.执行组件版本迁移操作。

分别加载组件当前版本配置文件,按语法解析组件版本迁移操作模板结果列表,依次执行对应组件配置文件修改操作,实现组件配置文件版本迁移。

所述步骤S1中,校验逻辑实现过程为:

1)、获取复杂软件产品当前版本与目标版本之间存在的版本列表,若列表不为空则为跨版本升级情况;

2)、读取复杂软件产品内组件版本version-var.yaml,得到复杂软件产品组件版本列表,依据组件版本列表,查找组件目录下对应版本的组件版本迁移操作模板是否存在,若不存在则返回错误;

3)、读取组件版本迁移操作模板内容,校验内容是否存在自定义操作方法或基本操作操作方法,若不存在则返回错误码;校验内容是否符合yaml标准格式,若不符合yam标准格式则返回错误码。

所述步骤S2中,通过接口获取当前复杂软件产品版本与升级目标版本之间存在的复杂软件产品版本列表,确定复杂软件产品版本之间是否存在跨版本,复杂软件产品的升级遵循按从低版本向高版本逐级递增的方式进行升级;

通过读取复杂软件产品当前版本的verion-vars.yaml文件,获得复杂软件产品当前版本包含的组件列表及组件当前版本,得到组件当前版本列表;

读取复杂软件产品升级目标版本的verion-vars.yaml文件,获得复杂软件产品升级目标版本包含的组件列表及组件目标版本,得到组件目标版本列表。

所述步骤S2中,读取var-upgrade目录下的组件版本迁移操作模板tpl文件,与组件名称,组件当前版本和组件目标版本信息进行匹配,并将匹配结果保存到version_upgrade.yaml文件中。

所述步骤S4中,组件版本迁移操作模板语法定义操作包含自定义格式(Jinja2方式),Python格式及基本函数操作,操作对象为key-value、list、map和自定义格式四种数据类型,模板格式采用yaml格式。

所述步骤S4中,具体实现过程为:

1)、加载组件版本迁移操作模板tpl(yaml格式);

2)、判断是否分别存在自定义格式、Python格式及基本函数操作,若存在则记录操作数据值;

3)、包含自定义格式的,调用Jinja2语法解析,得到结果;

4)、包含Python格式的,调用Python语法解析,得到结果;

5)、将语法解析结果保存到列表中。

所述步骤S5中,自定义格式(Jinja2方式)调用Jinja渲染模块,获得渲染数据结果;Python格式调用Python模块,获得数据结果;基本函数格式调用基本函数方法,获得数据结果。

所述步骤S5中,数据类型支持key-value、list、map和自定义格式,根据数据结果内容操作修改对应的组件配置文件。

本发明的有益效果是:该基于标准框架的配置文件版本迁移方法,有效满足了复杂软件产品升级过程中相关组件配置文件迁移及变量迁移的需求,实现复杂软件产品升级过程快速自动化,提高了复杂软件产品升级效率及升级操作稳定性,降低了升级操作的复杂度,节约了相关成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1为本发明基于标准框架的配置文件版本迁移方法示意图。

具体实施方式

为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

该基于标准框架的配置文件版本迁移方法,包括以下步骤:

S1.迁移标准框架校验

校验复杂软件产品跨版本升级情况,校验复杂软件产品组件版本迁移自定义模板缺失情况,校验复杂软件产品组件版本迁移自定义模板的格式符合标准情况,校验不通过返回错误码,上述校验全部通过后执行步骤S2;

S2.动态匹配复杂软件产品及组件版本迁移映射关系

根据组件名称,组件当前版本和组件目标版本信息匹配组件版本迁移操作模板tpl文件,匹配成功后将匹配结果作为版本迁移映射关系进行保存;

S3.匹配组件版本迁移操作模板

根据动态匹配复杂软件产品及组件版本迁移映射关系执行结果,加载组件版本迁移映射关系结果文件version_upgrade.yaml,按复杂软件产品版本升级逐级递增的方式,得到operate(运转)操作模板列表,分别匹配并加载对应的组件版本迁移操作模板文件tpl;例如:lcm-init-vars-upgrade-2.3.1-2.5.1.tpl。

S4.语法解析组件版本迁移操作模板

语法解析模块加载已定义的组件版本迁移操作模板,解析模板内容,得到具体的操作方式和操作对象数据;

S5.执行组件版本迁移操作。

分别加载组件当前版本配置文件,按语法解析组件版本迁移操作模板结果列表,依次执行对应组件配置文件修改操作,实现组件配置文件版本迁移。

所述步骤S1中,校验逻辑实现过程为:

1)、获取复杂软件产品当前版本与目标版本之间存在的版本列表,若列表不为空则为跨版本升级情况;

2)、读取复杂软件产品内组件版本version-var.yaml,得到复杂软件产品组件版本列表,依据组件版本列表,查找组件目录下对应版本的组件版本迁移操作模板是否存在,若不存在则返回错误;

3)、读取组件版本迁移操作模板内容,校验内容是否存在自定义操作方法或基本操作操作方法,若不存在则返回错误码;校验内容是否符合yaml标准格式,若不符合yam标准格式则返回错误码。

所述步骤S2中,通过接口获取当前复杂软件产品版本与升级目标版本之间存在的复杂软件产品版本列表,确定复杂软件产品版本之间是否存在跨版本,复杂软件产品的升级遵循按从低版本向高版本逐级递增的方式进行升级;

通过读取复杂软件产品当前版本的verion-vars.yaml文件,获得复杂软件产品当前版本包含的组件列表及组件当前版本,得到组件当前版本列表;

读取复杂软件产品升级目标版本的verion-vars.yaml文件,获得复杂软件产品升级目标版本包含的组件列表及组件目标版本,得到组件目标版本列表。

所述步骤S2中,读取var-upgrade目录下的组件版本迁移操作模板tpl文件,与组件名称,组件当前版本和组件目标版本信息进行匹配,并将匹配结果保存到version_upgrade.yaml文件中。

所述步骤S4中,组件版本迁移操作模板语法定义操作包含自定义格式(Jinja2方式),Python格式及基本函数操作,操作对象为key-value、list、map和自定义格式四种数据类型,模板格式采用yaml格式。

所述步骤S4中,具体实现过程为:

1)、加载组件版本迁移操作模板tpl(yaml格式);

2)、判断是否分别存在自定义格式、Python格式及基本函数操作,若存在则记录操作数据值;

3)、包含自定义格式的,调用Jinja2语法解析,得到结果;

4)、包含Python格式的,调用Python语法解析,得到结果;

5)、将语法解析结果保存到列表中。

所述步骤S5中,自定义格式(Jinja2方式)调用Jinja渲染模块,获得渲染数据结果;Python格式调用Python模块,获得数据结果;基本函数格式调用基本函数方法,获得数据结果。

所述步骤S5中,数据类型支持key-value、list、map和自定义格式,根据数据结果内容操作修改对应的组件配置文件。

该基于标准框架的配置文件版本迁移方法,通过自定义的组件配置文件版本迁移操作模板,使用语法解析器解析组件版本迁移操作模板,获得对配置文件执行操作的修改步骤,执行对配置文件的修改操作,从而实现了实现了在标准框架下复杂软件产品组件的版本配置文件迁移操作。

此外,该基于标准框架的配置文件版本迁移方法,还支持跨版本和组件跨版本升级,支持自定义模式模板定义和标准模式模板定义,操作过程通过API接口对外提供服务,有效满足了复杂软件产品升级过程中相关组件配置文件迁移及变量迁移的需求,实现复杂软件产品升级过程快速自动化,提高了复杂软件产品升级效率及升级操作稳定性,降低了升级操作的复杂度,节约了相关成本。

以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号