[发明专利]一种外挂式软件自定义升级方法及装置在审
申请号: | 202211240955.5 | 申请日: | 2022-10-11 |
公开(公告)号: | CN115629774A | 公开(公告)日: | 2023-01-20 |
发明(设计)人: | 陆宏鸣;蒋烁淼 | 申请(专利权)人: | 上海驻云信息科技有限公司 |
主分类号: | G06F8/61 | 分类号: | G06F8/61;G06F8/65;G06F8/71;G06F9/445 |
代理公司: | 北京中索知识产权代理有限公司 11640 | 代理人: | 苑晨硕 |
地址: | 201203 上海市浦东新区中*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 外挂式 软件 自定义 升级 方法 装置 | ||
本发明提供一种外挂式软件自定义升级方法及装置,所述软件自定义升级方法包括:S1、在安装器中定义用来实现自动执行软件升级步骤的外挂控制脚本;S2、编写子服务自定义的升级脚本;S3、所述外挂控制脚本获取所述升级脚本,并定义所述子服务的升级阶段,得到升级步骤方法;S4、所述安装器根据所述升级阶段,执行所述外挂控制脚本中的所述升级步骤方法,实现软件自定义升级。本发明的方法以外挂方式在安装器中定义外挂控制脚本,按照子服务自声明的执行阶段去执行升级过程中的必要处理步骤,让微服务软件的部署升级程序脱离软件中众多子服务的业务升级,避免安装器代码渗入到软件中的各个子服务的业务升级中。
技术领域
本发明属于软件技术领域,具体而言属于一种外挂式软件自定义升级方法及装置。
背景技术
微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。现在越来越多的软件基于微服务的架构进行开发,一个云原生的微服务软件的发布,往往包含了十数个甚至数十个子服务项目,子服务升级是其中很大的难点。
在使用安装器升级部署每一个子服务时,可能各个子服务都有需要执行自己的业务升级步骤,比如升级主程序之前需要先执行一些预处理操作,升级完主程序后,需要刷新业务数据版本等问题,安装器代码需要深入到软件中各个服务的业务升级当中。
有鉴于此,特提出本发明。
发明内容
有鉴于此,本发明公开了一种外挂式软件自定义升级方法及装置,以外挂方式在安装器中定义外挂控制脚本,能够按照子服务自声明的执行阶段去执行升级过程中的必要处理步骤,避免安装器代码渗入到软件中的各个子服务的业务升级中。
具体的,本发明是通过以下技术方案实现的:
第一方面,本发明公开了一种外挂式软件自定义升级方法,包括如下步骤:
S1、在安装器中定义用来实现自动执行软件升级步骤的外挂控制脚本;
S2、编写子服务自定义的升级脚本;
S3、所述外挂控制脚本获取所述升级脚本,并定义所述子服务的升级阶段,得到升级步骤方法;
S4、所述安装器根据所述升级阶段,执行所述外挂控制脚本中的所述升级步骤方法,实现软件自定义升级。
进一步地,所述S4步骤中,所述执行原理为所述安装器在所述升级阶段中埋点调用所述外挂控制脚本中的相应阶段函数,根据软件升级到的当前阶段,自动执行所述子服务升级脚本。
进一步地,所述S3步骤中,所述获取子服务升级步骤脚本的方法包括所述外挂控制脚本根据当前正在运行的软件版本与升级的目标软件版本进行比对版本差异,获取此次升级需要执行的所述子服务的所述升级脚本。
进一步地,所述S3步骤中,所述升级阶段为根据所述软件的部署特征在所述安装器中自定义的软件升级阶段。
进一步地,所述S2步骤中,所述升级步骤脚本包括在升级前需要去清理或格式化的数据、与所述升级阶段同名实现的阶段方法函数。
进一步地,所述S3步骤中,所述定义子服务的升级阶段的方法为逐个脚本遍历去判断所述升级脚本中是否存在当前阶段需要执行的阶段方法函数。
第二方面,本发明公开了一种外挂式软件自定义升级装置,包括:
外挂控制脚本模块:在安装器中定义用来实现自动执行软件升级步骤的外挂控制脚本;
子服务自定义脚本模块:编写子服务自定义的升级脚本;
升级步骤方法模块:所述外挂控制脚本获取所述升级脚本,并定义所述子服务的升级阶段,得到升级步骤方法;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海驻云信息科技有限公司,未经上海驻云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211240955.5/2.html,转载请声明来源钻瓜专利网。