CN113127039A - 一种微服务架构产品自动化升级系统 - Google Patents
一种微服务架构产品自动化升级系统 Download PDFInfo
- Publication number
- CN113127039A CN113127039A CN202110438188.8A CN202110438188A CN113127039A CN 113127039 A CN113127039 A CN 113127039A CN 202110438188 A CN202110438188 A CN 202110438188A CN 113127039 A CN113127039 A CN 113127039A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- configuration
- upgrade
- automatic
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013515 script Methods 0.000 claims abstract description 25
- 239000000047 product Substances 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 239000007795 chemical reaction product Substances 0.000 claims description 2
- 230000010354 integration Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007711 solidification Methods 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种微服务架构产品自动化升级系统,所述系统包括:数据库升级模块、应用程序升级模块和配置升级模块;所述数据库升级模块执行目标版本的SQL脚本,每个提交的SQL脚本需要标记此次提交的版本号以及对应的数据库,通过自动升级平台获取目标版本需要的SQL脚本顺序执行;所述应用程序升级模块在自动化升级平台,通过版本对比服务进行差异化版本升级;所述配置升级模块配置固化到配置版本控制系统,再通过自动化升级平台对配置进行差异化对比升级。本发明解决了现有微服务应用升级易出现人为操作失误、操作繁琐的问题。
Description
技术领域
本发明涉及系统升级技术领域,具体涉及一种微服务架构产品自动化升级系统。
背景技术
微服务一般都是由多个应用组成,尤其是对于我们现在的微服务架构中前后端近百个服务,如果用传统的方式升级,需要人为记录所有应用的版本对应用的差异版本人为比较并挨个升级,耗时耗力,而且无法确保准确性,容易出现错误,导致系统升级失败。
发明内容
为此,本发明提供一种微服务架构产品自动化升级系统,以解决现有微服务应用升级易出现人为操作失误、操作繁琐的问题。
为了实现上述目的,本发明提供如下技术方案:
本发明公开了一种微服务架构产品自动化升级系统,所述系统包括:数据库升级模块、应用程序升级模块和配置升级模块;
所述数据库升级模块执行目标版本的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环境微服务应用繁琐的升级过程,包括配置升级,数据库脚本升级、应用程序升级,避免了人为误操作导致的升级失败,操作步骤繁多等问题,可有效解决主观因素导致的系统错误、升级失败等异常情况,系统升级仅需稍加人为干预即可完成升级。避免繁琐操作,降低失误率。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (6)
1.一种微服务架构产品自动化升级系统,其特征在于,所述系统包括:数据库升级模块、应用程序升级模块和配置升级模块;
所述数据库升级模块执行目标版本的SQL脚本,每个提交的SQL脚本需要标记此次提交的版本号以及对应的数据库,通过自动升级平台获取目标版本需要的SQL脚本顺序执行;
所述应用程序升级模块在自动化升级平台,通过版本对比服务进行差异化版本升级;
所述配置升级模块配置固化到配置版本控制系统,再通过自动化升级平台对配置进行差异化对比升级。
2.如权利要求1所述的一种微服务架构产品自动化升级系统,其特征在于,所述数据库升级模块执行的SQL脚本通过开发人员在功能开发完成后统一提交到数据库版本管理系统,自动升级平台在执行SQL脚本时同时标记是否执行成功,如果失败则再次执行。
3.如权利要求1所述的一种微服务架构产品自动化升级系统,其特征在于,所述应用程序升级模块通过CICD流程建立所有服务的版本,并将软件版本的信息固化到应用版本的控制系统中,自动化升级平台针对版本号进行区别,不同版本之间进行差异化升级,满足不同需求。
4.如权利要求1所述的一种微服务架构产品自动化升级系统,其特征在于,所述配置升级模块进行个性化配置后进行配置升级,达到配置升级的目的。
5.如权利要求1所述的一种微服务架构产品自动化升级系统,其特征在于,所述自动升级平台获取数据库升级模块、应用程序升级模块和配置升级模块的升级数据,通过自动升级平台进行自动配置升级,升级完成后推送至生产环境中。
6.如权利要求1所述的一种微服务架构产品自动化升级系统,其特征在于,所述自动升级平台利用git commit中hash值的唯一性,与docker镜像版本的控制,并通过服务端产品服务镜像版本的集合,对比获取服务版本的差异。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110438188.8A CN113127039A (zh) | 2021-04-22 | 2021-04-22 | 一种微服务架构产品自动化升级系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110438188.8A CN113127039A (zh) | 2021-04-22 | 2021-04-22 | 一种微服务架构产品自动化升级系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113127039A true CN113127039A (zh) | 2021-07-16 |
Family
ID=76779546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110438188.8A Pending CN113127039A (zh) | 2021-04-22 | 2021-04-22 | 一种微服务架构产品自动化升级系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127039A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610345A (zh) * | 2023-07-21 | 2023-08-18 | 上海柯林布瑞信息技术有限公司 | 一种基于执行记录表的应用程序升级方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及系统 |
CN108021427A (zh) * | 2017-11-23 | 2018-05-11 | 国家电网公司 | 基于Docker的信息系统部署及升级管理方法 |
CN108052336A (zh) * | 2017-12-08 | 2018-05-18 | 国云科技股份有限公司 | 一种分布式软件升级系统及其实现方法 |
CN110286930A (zh) * | 2019-06-27 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种云平台升级方法、装置、终端及存储介质 |
CN111427600A (zh) * | 2020-03-20 | 2020-07-17 | 成都千立网络科技有限公司 | 一种基于docker的平台系统部署升级方法及系统 |
US20210055947A1 (en) * | 2019-08-22 | 2021-02-25 | Sap Se | Configuration of decoupled upgrades for container-orchestration system-based services |
CN112527338A (zh) * | 2019-09-17 | 2021-03-19 | 中兴通讯股份有限公司 | 微服务升级方法、电子设备和可读存储介质 |
CN112667284A (zh) * | 2021-01-06 | 2021-04-16 | 树根互联技术有限公司 | 微服务维护方法、装置、服务器及存储介质 |
-
2021
- 2021-04-22 CN CN202110438188.8A patent/CN113127039A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106528224A (zh) * | 2016-11-03 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 一种Docker容器的内容更新方法、服务器及系统 |
CN108021427A (zh) * | 2017-11-23 | 2018-05-11 | 国家电网公司 | 基于Docker的信息系统部署及升级管理方法 |
CN108052336A (zh) * | 2017-12-08 | 2018-05-18 | 国云科技股份有限公司 | 一种分布式软件升级系统及其实现方法 |
CN110286930A (zh) * | 2019-06-27 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种云平台升级方法、装置、终端及存储介质 |
US20210055947A1 (en) * | 2019-08-22 | 2021-02-25 | Sap Se | Configuration of decoupled upgrades for container-orchestration system-based services |
CN112527338A (zh) * | 2019-09-17 | 2021-03-19 | 中兴通讯股份有限公司 | 微服务升级方法、电子设备和可读存储介质 |
CN111427600A (zh) * | 2020-03-20 | 2020-07-17 | 成都千立网络科技有限公司 | 一种基于docker的平台系统部署升级方法及系统 |
CN112667284A (zh) * | 2021-01-06 | 2021-04-16 | 树根互联技术有限公司 | 微服务维护方法、装置、服务器及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610345A (zh) * | 2023-07-21 | 2023-08-18 | 上海柯林布瑞信息技术有限公司 | 一种基于执行记录表的应用程序升级方法和装置 |
CN116610345B (zh) * | 2023-07-21 | 2023-10-20 | 上海柯林布瑞信息技术有限公司 | 一种基于执行记录表的应用程序升级方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8589909B2 (en) | Techniques for reducing down time in updating applications with metadata | |
CN105117261B (zh) | 增强的升级路径 | |
CN109787858B (zh) | 一种批量发布服务的方法及终端 | |
CN105677465B (zh) | 应用于银行跑批处理的数据处理方法及装置 | |
CN111104151B (zh) | 一种基于Shell脚本的Git代码简化的管理方法 | |
CN113127039A (zh) | 一种微服务架构产品自动化升级系统 | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN115033258A (zh) | 一种摄像机sd卡固件自动升级和压力测试方法 | |
CN114942933A (zh) | 一种自动更新数据库的方法及相关装置 | |
CN115080076B (zh) | 一种云手机软件管理方法 | |
CN116028084A (zh) | 一种基于OpenStack云平台跨版本热升级的方法、系统及终端 | |
EP2157517A1 (en) | A process and a system for updating a data structure in a relational database used within a manufacturing execution system | |
CN108833128A (zh) | 一种设备更新的方法 | |
CN111930411B (zh) | 代码升级方法、装置、计算机设备和存储介质 | |
CN114968294A (zh) | 设备的固件升级方法及装置、电子设备、存储介质 | |
CN117130987B (zh) | 一种大规模无人机集群的飞控管理方法 | |
CN118295772B (zh) | 一种基于GitOps的云原生应用多环境持续交付方法及系统 | |
FI20195049A1 (en) | Automatic commissioning in networks | |
US20230259345A1 (en) | Declarative deployment of a software artifact | |
CN115756554B (zh) | 版本升级方法及装置 | |
CN117591136A (zh) | 存储镜像生成方法、装置、计算机设备及存储介质 | |
CN118819569A (zh) | 结合流水线的应用数据升级方法及系统 | |
CN115640277A (zh) | 一种云原生的数据库变更回退及版本管理方法 | |
CN113742317A (zh) | 一种数据迁移方法、装置、电子设备及计算机存储介质 | |
CN118733071A (zh) | 基于数据管理模型的数据版本差异对比系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210716 |