CN114610357A - 一种容器镜像和软件系统资源分离发布、部署及升级方法 - Google Patents
一种容器镜像和软件系统资源分离发布、部署及升级方法 Download PDFInfo
- Publication number
- CN114610357A CN114610357A CN202210329839.4A CN202210329839A CN114610357A CN 114610357 A CN114610357 A CN 114610357A CN 202210329839 A CN202210329839 A CN 202210329839A CN 114610357 A CN114610357 A CN 114610357A
- Authority
- CN
- China
- Prior art keywords
- software system
- software
- container
- program
- data
- 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
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/60—Software deployment
- G06F8/61—Installation
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种容器镜像和软件系统资源分离发布、部署及升级方法,本发明基于容器镜像和软件系统资源分离映射模型提出了容器镜像和软件系统资源分离发布、容器镜像和软件系统资源融合部署、容器镜像和软件系统资源的独立升级方法,解决了多厂商协作、离线环境情况下应用容器技术存在的困难,提高了软件系统研发、发布效率,降低了研发环境能源开销,可以有效促进软件系统数字化、服务化演进。
Description
技术领域
本发明涉及容器云技术领域,具体涉及一种容器镜像和软件系统资源分离发布、部署及升级方法。
背景技术
对基于容器云技术的服务集成型平台而言,容器镜像是软件系统服务发布、部署、升级的基础,容器镜像采用分层叠加、父子依赖、数据只读的模式,对软件系统运行依赖、配置进行了良好的封装,降低了开发环境、测试环境、生产环境依赖、配置不一致造成的问题。
但是由于软件系统程序与基础容器镜像版本绑定发布,存在:①对于离线发布、多厂商协作的情况,往往造成软件系统整体容器镜像体积过大、发布不方便的困难;②漏洞固化问题,升级软件系统程序漏洞的同时,也需要升级基础容器镜像的漏洞;③软件频繁修改,重复打包容器镜像耗人耗时耗能源。因此,需要创新、优化基于容器的软件系统程序发布方法和流程,提升版本协作和软件发布的效率。
发明内容
针对现有技术中的上述不足,本发明提供的一种容器镜像和软件系统资源分离发布、部署及升级方法解决了多厂商协作、离线环境情况下应用容器技术存在困难的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种容器镜像和软件系统资源的分离分布方法,包括以下步骤:
A1、选择镜像类型上传容器镜像,选择程序类型上传软件系统程序,选择配置类型上传软件系统配置,选择数据类型上传软件系统数据;
A2、创建软件厂商信息;
A3、创建软件名称信息,选择关联软件厂商信息;
A4、创建软件版本信息,寻找关联软件名称信息,同时选择关联镜像、程序、配置和数据四种类型资源;
A5、发布软件系统,对外提供访问地址。
一种容器镜像和软件系统资源的部署方法,包括以下步骤:
B1、解析通过容器实例资源对象传入容器的软件系统资源参数信息,并判断是否已下载;
B2、如果未下载,则通过传入参数信息拼装下载地址,下载对应软件系统资源;
B3、解压软件系统应用数据至容器实例内临时目录,并执行临时目录下数据加载程序或脚本加载数据;
B4、解压软件系统程序至容器实例内软件运行目录;
B5、解压软件系统配置至容器实例内软件运行目录下软件运行配置文件存储目录;
B6、加载容器实例内软件运行目录下软件启动程序或启动脚本。
一种容器镜像和软件系统资源的升级方法,包括以下步骤:
C1、解析通过容器实例资源对象传入容器的软件系统资源参数信息,并对比版本和确定升级内容;
C2、如果需要升级软件系统数据,则下载数据包进行更新;
C3、如果需要升级软件系统程序,则下载程序包进行更新;
C4、如果需要升级软件系统配置,则下载配置包进行更新;
C5、加载容器实例内软件运行目录下软件启动程序或启动脚本。
进一步地:所述下载数据包进行更新具体为:解压软件系统应用数据至容器实例内临时目录,并执行临时目录下数据加载程序或脚本加载数据。
进一步地:所述下载程序包进行更新具体为:解压软件系统程序至容器实例内软件运行目录。
进一步地:所述下载配置包进行更新具体为:解压软件系统配置至容器实例内软件运行目录下软件运行配置文件存储目录。
本发明的有益效果为:相对现有的基于容器平台的软件系统发布、部署、升级方法,本发明基于容器镜像和软件系统资源分离映射模型提出了容器镜像和软件系统资源分离发布、容器镜像和软件系统资源融合部署、容器镜像和软件系统资源的独立升级方法,解决了多厂商协作、离线环境情况下应用容器技术存在的困难,提高了软件系统研发、发布效率,降低了研发环境能源开销,可以有效促进软件系统数字化、服务化演进。
附图说明
图1为本发明中软件系统版本与软件系统资源关系示意图;
图2为本发明中容器镜像和软件系统资源分离映射模型示意图;
图3为本发明中容器镜像和软件系统分离发布索引关联示意图;
图4为本发明中容器镜像和软件系统融合部署示意图;
图5为本发明中容器镜像独立升级示意图;
图6为本发明中软件系统独立升级示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
软件系统发布时,通常包含系统环境、依赖、程序、配置和数据五部分,容器技术兴起后,将系统环境、依赖和程序打包在一起发布,而本发明将系统环境、依赖打包在一起,将程序独立出来与配置、数据一起发布。因此,基于该思路的软件系统版本与软件系统资源关系如图1所示。
基于上述关系的容器镜像(系统环境、依赖)、软件系统资源(程序、配置、数据)分离映射模型如图2所示,一种容器镜像和软件系统资源分离映射模型,包括相互映射的容器镜像和软件系统资源,所述容器镜像包括系统环境和依赖,所述软件系统资源包括程序、配置和数据,所述容器镜像与程序相映射,所述程序还分别与配置和数据相映射。
该模型中容器镜像封装基础系统环境和软件系统所依赖的库、工具和基础应用,与软件系统程序存在一对多关系;软件系统程序与其配置和数据分别存在一对多的关系。
基于容器镜像和软件系统资源分离映射模型,本发明设计了容器镜像与软件系统分离发布方法:采用文件对象存储方式,分别存储容器镜像、软件系统资源(程序、配置、数据),设置“镜像”、“程序”、“配置”、“数据”四种类型上传对应资源,通过索引关联方式,将不同存储容器镜像、软件系统资源(程序、配置、数据)组合形成软件系统版本,存储于服务资源仓库中。基于容器镜像和软件系统资源分离映射模型如图3所示。
具体流程如下:
1.选择“镜像”类型上传容器镜像,选择“程序”类型上传软件系统程序,选择“配置”类型上传软件系统配置,选择“数据”类型上传软件系统数据;
2.创建软件厂商信息;
3.创建软件名称信息,选择关联软件厂商信息;
4.创建软件版本信息,选择关联软件名称信息,同时选择关联“镜像”、“程序”、“配置”、“数据”四种类型资源;
5.发布软件系统,对外提供访问地址。
基于容器镜像和软件系统资源分离映射模型,本发明设计了容器镜像和软件系统融合部署方法:通过制定目录规范和设计轻量化引导程序,通过空中加载方式,从服务资源仓库获取容器镜像仓库和软件系统资源(程序、配置、数据),如图4所示。
在容器平台原有流程上,新增轻量化引导程序空中加载软件系统资源并初始化和启动软件系统的功能,具体流程如下:
1.解析通过容器实例资源对象传入容器的软件系统资源(程序、配置、数据)参数信息并判断是否已下载;
2.如果未下载,则通过传入参数信息拼装下载地址,下载对应软件系统资源(程序、配置、数据);
3.解压软件系统应用数据至容器实例内/tmp目录,并执行/tmp/loaddata加载数据;
4.解压软件系统程序至容器实例内/opt/app目录;
5.解压软件系统配置至容器实例内/opt/app/persistent/conf目录。
6.加载容器实例内/opt/app/runapp启动程序。
基于容器镜像和软件系统资源分离映射模型,本发明设计了容器镜像和软件系统独立升级方法:通过更新容器平台中创建的资源对象,触发容器镜像仓库和软件系统资源更新。
容器镜像独立升级如图5所示。容器镜像独立升级流程并未改变容器平台原有通过容器镜像升级容器实例的流程,仅在通过容器镜像升级容器实例后,由新增的轻量化引导程序判断是否已经完成软件系统资源空中加载过程并启动软件系统。
软件系统独立升级如图5所示。软件系统独立升级流程通过容器平台上更新容器实例资源对象中定义的软件系统资源(程序、配置、数据),传入容器实例中,新增的轻量化引导程序比对版本确定需要更新的软件系统资源(程序、配置、数据),再从服务资源仓库空中加载软件系统资源并更新软件系统的程序、配置或数据,具体流程如下:
1.解析通过容器实例资源对象传入容器的软件系统资源(程序、配置、数据)参数信息并比对版本和确定升级内容;
2.如果需要升级软件系统数据,则下载数据包进行更新:
①解压软件系统应用数据至容器实例内/tmp目录,并执行/tmp/loaddata加载数据;
3.如果需要升级软件系统程序,则下载程序包进行更新:
①解压软件系统程序至容器实例内/opt/app目录;
4.如果需要升级软件系统配置,则下载配置包进行更新:
①解压软件系统配置至容器实例内/opt/app/persistent/conf目录。
5.加载容器实例内/opt/app/runapp启动程序。
本发明相对现有的基于容器平台的软件系统发布、部署、升级方法,本发明建立了容器镜像和软件系统资源分离映射模型,并基于该模型提出了容器镜像和软件系统资源分离发布、容器镜像和软件系统资源融合部署、容器镜像和软件系统资源的独立升级方法,解决了多厂商协作、离线环境情况下应用容器技术存在的困难,提高了软件系统研发、发布效率,降低了研发环境能源开销,可以有效促进软件系统数字化、服务化演进。
Claims (6)
1.一种容器镜像和软件系统资源分离发布方法,其特征在于,包括以下步骤:
A1、选择镜像类型上传容器镜像,选择程序类型上传软件系统程序,选择配置类型上传软件系统配置,选择数据类型上传软件系统数据;
A2、创建软件厂商信息;
A3、创建软件名称信息,选择关联软件厂商信息;
A4、创建软件版本信息,寻找关联软件名称信息,同时选择关联镜像、程序、配置和数据四种类型资源;
A5、发布软件系统,对外提供访问地址。
2.一种容器镜像和软件系统资源部署方法,其特征在于,包括以下步骤:
B1、解析通过容器实例资源对象传入容器的软件系统资源参数信息,并判断是否已下载;
B2、如果未下载,则通过传入参数信息拼装下载地址,下载对应软件系统资源;
B3、解压软件系统应用数据至容器实例内临时目录,并执行临时目录下数据加载程序或脚本加载数据;
B4、解压软件系统程序至容器实例内软件运行目录;
B5、解压软件系统配置至容器实例内软件运行目录下软件运行配置文件存储目录;
B6、加载容器实例内软件运行目录下软件启动程序或启动脚本。
3.一种容器镜像和软件系统资源升级方法,其特征在于,包括以下步骤:
C1、解析通过容器实例资源对象传入容器的软件系统资源参数信息,并对比版本和确定升级内容;
C2、如果需要升级软件系统数据,则下载数据包进行更新;
C3、如果需要升级软件系统程序,则下载程序包进行更新;
C4、如果需要升级软件系统配置,则下载配置包进行更新;
C5、加载容器实例内软件运行目录下软件启动程序或启动脚本。
4.根据权利要求3所述的容器镜像和软件系统资源升级方法,其特征在于,所述下载数据包进行更新具体为:解压软件系统应用数据至容器实例内临时目录,并执行临时目录下数据加载程序或脚本加载数据。
5.根据权利要求3所述的容器镜像和软件系统资源升级方法,其特征在于,所述下载程序包进行更新具体为:解压软件系统程序至容器实例内软件运行目录。
6.根据权利要求3所述的容器镜像和软件系统资源升级方法,其特征在于,所述下载配置包进行更新具体为:解压软件系统配置至容器实例内软件运行目录下软件运行配置文件存储目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329839.4A CN114610357A (zh) | 2022-03-31 | 2022-03-31 | 一种容器镜像和软件系统资源分离发布、部署及升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329839.4A CN114610357A (zh) | 2022-03-31 | 2022-03-31 | 一种容器镜像和软件系统资源分离发布、部署及升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610357A true CN114610357A (zh) | 2022-06-10 |
Family
ID=81866565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210329839.4A Pending CN114610357A (zh) | 2022-03-31 | 2022-03-31 | 一种容器镜像和软件系统资源分离发布、部署及升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610357A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412589A (zh) * | 2022-07-12 | 2022-11-29 | 湖南于一科技有限公司 | 基于约定方式实现的无服务端应用内升级的方法 |
-
2022
- 2022-03-31 CN CN202210329839.4A patent/CN114610357A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412589A (zh) * | 2022-07-12 | 2022-11-29 | 湖南于一科技有限公司 | 基于约定方式实现的无服务端应用内升级的方法 |
CN115412589B (zh) * | 2022-07-12 | 2023-10-31 | 湖南于一科技有限公司 | 基于约定方式实现的无服务端应用内升级的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105657191B (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
US20180196654A1 (en) | Docker Container Operating Method and Apparatus | |
CN101425018B (zh) | 基于分段式的嵌入式固件升级方法及装置 | |
CN110088733A (zh) | 虚拟机迁移的基于存储层的编排 | |
US20140196022A1 (en) | Cloud Based Application Packaging | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
CN105487907A (zh) | 一种差分包的制作方法和装置 | |
CN110543369A (zh) | 一种安卓系统存储空间结构的构建方法、装置及其构建结构 | |
CN110673853A (zh) | 一种编译方法、装置及系统 | |
CN114489833B (zh) | 一种在应用程序中提交flink作业到yarn集群的实现方法与装置 | |
CN106775876B (zh) | 安卓系统快速启动应用的方法 | |
WO2018090528A1 (zh) | 一种镜像包制作、应用运行方法及系统 | |
CN114610357A (zh) | 一种容器镜像和软件系统资源分离发布、部署及升级方法 | |
CN114064190A (zh) | 一种容器启动方法及装置 | |
CN106502685B (zh) | 一种数据库的升级方法及系统 | |
CN111722868A (zh) | 一种申威防火墙快速移植高版本linux内核的方法 | |
CN111683005B (zh) | 一种物联网智能网关设备及其构建方法 | |
CN106293790A (zh) | 基于Firefox操作系统的应用程序升级方法和装置 | |
CN115129740B (zh) | 一种云原生环境下的分布式微服务数据库更新方法及系统 | |
CN113434164B (zh) | 一种车载娱乐主机的设置项云端配置更新方法和系统 | |
CN115658232A (zh) | 一种云原生平台快速部署方法及系统 | |
CN113467893B (zh) | 虚拟机自动化测试方法、装置、存储介质及处理器 | |
CN106681761B (zh) | 一种交互式升级的方法及系统 | |
CN114338395A (zh) | 一种c/s通信网管方法、存储介质、电子设备及系统 | |
Lestideau et al. | Towards automated software component configuration and deployment |
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 |