掌桥专利:专业的专利平台
掌桥专利
首页

一种微服务架构产品自动化升级系统

文献发布时间:2023-06-19 11:52:33


一种微服务架构产品自动化升级系统

技术领域

本发明涉及系统升级技术领域,具体涉及一种微服务架构产品自动化升级系统。

背景技术

微服务一般都是由多个应用组成,尤其是对于我们现在的微服务架构中前后端近百个服务,如果用传统的方式升级,需要人为记录所有应用的版本对应用的差异版本人为比较并挨个升级,耗时耗力,而且无法确保准确性,容易出现错误,导致系统升级失败。

发明内容

为此,本发明提供一种微服务架构产品自动化升级系统,以解决现有微服务应用升级易出现人为操作失误、操作繁琐的问题。

为了实现上述目的,本发明提供如下技术方案:

本发明公开了一种微服务架构产品自动化升级系统,所述系统包括:数据库升级模块、应用程序升级模块和配置升级模块;

所述数据库升级模块执行目标版本的SQL脚本,每个提交的SQL脚本需要标记此次提交的版本号以及对应的数据库,通过自动升级平台获取目标版本需要的SQL脚本顺序执行;

所述应用程序升级模块在自动化升级平台,通过版本对比服务进行差异化版本升级;

所述配置升级模块配置固化到配置版本控制系统,再通过自动化升级平台对配置进行差异化对比升级。

进一步地,所述数据库升级模块执行的SQL脚本通过开发人员在功能开发完成后统一提交到数据库版本管理系统,自动升级平台在执行SQL脚本时同时标记是否执行成功,如果失败则再次执行。

进一步地,所述应用程序升级模块通过CICD流程建立所有服务的版本,并将软件版本的信息固化到应用版本的控制系统中,自动化升级平台针对版本号进行区别,不同版本之间进行差异化升级,满足不同需求。

进一步地,所述配置升级模块进行个性化配置后进行配置升级,达到配置升级的目的。

进一步地,所述自动升级平台获取数据库升级模块、应用程序升级模块和配置升级模块的升级数据,通过自动升级平台进行自动配置升级,升级完成后推送至生产环境中。

进一步地,所述自动升级平台利用git commit中hash值的唯一性,与docker镜像版本的控制,并通过服务端产品服务镜像版本的集合,对比获取服务版本的差异。

本发明具有如下优点:

本发明公开了一种微服务架构产品自动化升级系统,有效解决paas环境微服务应用繁琐的升级过程,包括配置升级,数据库脚本升级、应用程序升级,避免了人为误操作导致的升级失败,操作步骤繁多等问题,可有效解决主观因素导致的系统错误、升级失败等异常情况,系统升级仅需稍加人为干预即可完成升级。避免繁琐操作,降低失误率。

附图说明

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

本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。

图1为本发明实施例提供的一种微服务架构产品自动化升级系统架构示意图;

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

本实施例公开了一种微服务架构产品自动化升级系统,所述系统包括:数据库升级模块、应用程序升级模块和配置升级模块;

所述数据库升级模块执行目标版本的SQL脚本,每个提交的SQL脚本需要标记此次提交的版本号以及对应的数据库,通过自动升级平台获取目标版本需要的SQL脚本顺序执行;

所述应用程序升级模块在自动化升级平台,通过版本对比服务进行差异化版本升级;

所述配置升级模块配置固化到配置版本控制系统,再通过自动化升级平台对配置进行差异化对比升级。

数据库升级模块执行的SQL脚本通过开发人员在功能开发完成后统一提交到数据库版本管理系统,自动升级平台在执行SQL脚本时同时标记是否执行成功,如果失败则再次执行,直至执行成功。

应用程序升级模块通过CICD流程建立所有服务的版本,并将软件版本的信息固化到应用版本的控制系统中,自动化升级平台针对版本号进行区别,不同版本之间进行差异化升级,满足不同需求。

CICD是持续集成(Continuous Integration)和持续部署(ContinuousDeployment)简称。指在开发过程中自动执行一系列脚本来减低开发引入bug的概率,在新代码从开发到部署的过程中,尽量减少人工的介入。持续集成指在和向远程仓库push代码后,在这次提交合并入主分支前进行一系列测试,构建等流程。假设现在有个应用的代码存储在gitlab上,每天开发者都push很多次提交,针对每次push,可以创建一系列脚本进行自动测试,降低向应用里引入错误的概率。这就是持续集成,它可应用在包括开发分支在内的多个分支上。持续部署在持续集成的基础上更进一步,指将推送指仓库默认分支的部署至产品环境。如果这部分需要手动触发,这就是一个持续交付(Continuous Delivery)环节。

配置升级模块在版本固化是对配置固化到配置版本控制系统,再通过自动化升级平台对配置进行差异化对比升级,并对个性化配置后进行配置升级,从而达到配置升级的目的。

自动升级平台获取数据库升级模块、应用程序升级模块和配置升级模块的升级数据,通过自动升级平台进行自动配置升级,升级完成后推送至生产环境中。实现对配置数据、数据库和应用数据的更新。自动升级平台利用git commit中hash值的唯一性,与docker镜像版本的控制,并通过服务端产品服务镜像版本的集合,对比获取服务版本的差异。

本发明公开的一种微服务架构产品自动化升级系统,有效解决paas环境微服务应用繁琐的升级过程,包括配置升级,数据库脚本升级、应用程序升级,避免了人为误操作导致的升级失败,操作步骤繁多等问题,可有效解决主观因素导致的系统错误、升级失败等异常情况,系统升级仅需稍加人为干预即可完成升级。避免繁琐操作,降低失误率。

虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

相关技术
  • 一种微服务架构产品自动化升级系统
  • 一种产品的升级方法、装置及产品升级系统
技术分类

06120113084462