首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件包 / 基于容器技术动态适应软硬件运行环境的软件部署方法

基于容器技术动态适应软硬件运行环境的软件部署方法

阅读:480发布:2020-05-11

专利汇可以提供基于容器技术动态适应软硬件运行环境的软件部署方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于容器技术动态适应软 硬件 运行环境的 软件 部署方法,首先针对软件发布过程进行一次性改造,使其能通过目前的DevOps等自动化构建环境,基于容器技术,可自动的构建出多种软硬件兼容的容器镜像包,并通过特定的文件仓库进行存放,该过程除前期需要人为进行一些简单设定外,后续根据设定内容自动化运行,减少人为干预导致的各类问题;其次,通过部署过程可以看到,部署人员只需要唤起自动化部署模 块 ,即可通过所述自动化部署模块进行后续的自动化部署过程,整个部署过程除执行命令唤起部署模块外,正常情况不需要额外的人为干预。,下面是基于容器技术动态适应软硬件运行环境的软件部署方法专利的具体信息内容。

1.一种基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,包括软件发布过程和软件部署过程,在软件发布过程中,基于容器技术,自动的构建出多种软硬件兼容的容器镜像包,并通过文件仓库进行存放;软件部署过程通过自动化部署模进行后续的自动化部署过程。
2.如权利要求1所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,软件发布过程包括如下步骤:
步骤101)首先准备需要发布的软件包,并确定所要发布软件包的基础镜像;
步骤102)其次准备不同软硬件组合特征值列表;
步骤103)分别根据上述步骤102)中的特征值,获取对应的容器基础镜像及运行环境,与上述步骤101)中的软件包进行组合打包成独立的容器镜像文件——容器镜像包;
步骤104)将每个特征值对应制作出的容器镜像包发布,发布到版本容器仓库。
3.如权利要求2所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,软件部署过程包括如下步骤:
步骤201)通过部署模块实现自动化脚本命令自动判断当前部署环境的软硬件条件,获取特征值;
步骤202)部署模块通过上述步骤201)中的特征值,到上述步骤104)中的版本容器仓库中查询是否有匹配该特征值的容器镜像包;
步骤203)查询到后下载所述容器镜像包到该部署环境;
步骤204)执行部署命令,完成部署。
4.如权利要求2所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,步骤103)的实现方法为:
首先,根据所要发布软件包依赖的基础镜像,通过docker search命令从docker hub官方仓库中搜索关键字为指定基础镜像的关键字;
其次,根据软硬件组合特征值进行基础镜像过滤。
5. 如权利要求3所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,步骤201)部署模块中,通过脚本工具实现系统软硬件环境监测;脚本工具通过linux命令:uname -m 命令获取Linux 系统架构。
6.如权利要求4所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,对于x86架构而言,特征值的作用不用于搜索,因为此类架构,默认使用官方镜像。
7.如权利要求2所述的基于容器技术动态适应软硬件运行环境的软件部署方法,其特征在于,所述特征值还用于定义容器镜像包的名称。

说明书全文

基于容器技术动态适应软硬件运行环境的软件部署方法

技术领域

[0001] 本发明涉及一种基于容器技术动态适应软硬件运行环境的软件部署方法,属于软件部署技术领域。

背景技术

[0002] 随着互联网和计算技术的发展,单应用越来越多的需要在多种场景和环境下工作,例如Web PC端、移动端的App、小程序等等,而针对PC端,随着Arm处理器低功耗、多并发等优点在云计算普及过程中展现出来的优势,越来越多的厂家在将自己的产品或应用部署到Arm架构的系统中;这样带来的问题是如何快速便捷地管理和让应用在兼容对应硬件环境的情况下,快速建立依赖环境并正常运行,现有措施往往是人工手动处理,效率低下且易出错;如图1所示,传统模式下,软件部署过程包括如下步骤:
[0003] 步骤1:部署人员需要将某个应用部署到特定软硬件环境内时,首先需要人工判断该环境的软件环境信息(例如操作系统等)和硬件环境信息(例如处理器架构:x86或arm等),该过程需要人为干预;
[0004] 步骤2:部署人员需要基于获取到的环境信息(例如操作系统+处理器架构等),获取或制作对应的软件安装包,该过程也需要人为干预;
[0005] 步骤3:部署人员需要手动安装软件包依赖的运行环境,以及手动完成该软件包本身的安装。

发明内容

[0006] 发明目的:为解决在不同架构的运行环境下(x86,Arm等),软件部署的人成本较高,软件部署需要考虑到软件(如操作系统等)、硬件(如处理器架构:x86/Arm等)等各种环境兼容性的问题,克服部署过程相对比较繁琐且容易出错的缺陷,本发明提供一种基于容器技术动态适应软硬件运行环境的软件部署方法。
[0007] 其中涉及到的容器技术可以认为是一种操作系统级别的虚拟化。起初衷是为了减少Hypervisor(虚拟机监视器)技术为代表的虚拟化技术所带来的性能开销,可以在更细的粒度上利用机器资源。
[0008] 本发明中Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
[0009] 技术方案:一种基于容器技术动态适应软硬件运行环境的软件部署方法,包括如下步骤:
[0010] 步骤101)首先准备需要发布的软件包,并确定所要发布软件包的基础镜像;
[0011] 步骤102)其次准备不同软硬件组合特征值列表;
[0012] 步骤103)分别根据上述步骤102)中的特征值,获取对应的容器基础镜像及运行环境,与上述步骤101)中的软件包进行组合打包成独立的容器镜像文件——容器镜像包;
[0013] 步骤104)将每个特征值对应制作出的容器镜像包发布,发布到版本容器仓库;
[0014] 步骤201)通过部署模实现自动化脚本命令自动判断当前部署环境的软硬件条件,获取特征值;
[0015] 步骤202)部署模块通过上述步骤201)中的特征值,到上述步骤104)中的版本容器仓库中查询是否有匹配该特征值的容器镜像包;
[0016] 步骤203)查询到后下载所述容器镜像包到该部署环境;
[0017] 步骤204)执行部署命令,完成部署。
[0018] 步骤103)的实现方法为:
[0019] 首先,根据所要发布软件包依赖的基础镜像,通过docker search命令从docker hub官方仓库中搜索关键字为指定基础镜像的关键字;
[0020] 其次,根据软硬件组合特征值进行基础镜像过滤。
[0021] 上述过程通过Linux命令实现,格式如:
[0022] docker search${基础镜像关键字}|grep${软硬件特征值}
[0023] 步骤201)部署模块中,通过脚本工具实现系统软硬件环境监测:
[0024] 脚本工具通过linux命令:uname-m命令获取Linux系统架构。
[0025] 有益效果:与现有技术相比,本发明提供的基于容器技术动态适应软硬件运行环境的软件部署方法,首先针对软件发布过程进行一次性改造,使其能通过目前的DevOps等自动化构建环境,基于容器技术(如Docker),可自动的构建出多种软硬件兼容的容器镜像包,并通过特定的文件仓库进行存放,该过程除前期需要人为进行一些简单设定外,后续根据设定内容自动化运行,减少人为干预导致的各类问题;其次,通过部署过程可以看到,部署人员只需要唤起自动化部署模块,即可通过所述自动化部署模块进行后续的自动化部署过程,整个部署过程除执行命令唤起部署模块外,正常情况不需要额外的人为干预。附图说明
[0026] 图1为现有技术中软件部署过程流程图
[0027] 图2为本发明方法流程图。

具体实施方式

[0028] 下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0029] 如图1所示,基于容器技术动态适应软硬件运行环境的软件部署方法,包括:
[0030] 一,软件发布过程:
[0031] a)首先准备需要发布的软件包,并确定所要发布软件包的基础镜像,例如tomcat;
[0032] b)其次准备不同软硬件组合特征值列表,示意:x86-win10,arm-centos7.6等;
[0033] c)分别根据上述b)中的特征值,获取对应的容器基础镜像及运行环境,与上述a)中的软件包进行组合打包成独立的容器镜像文件——容器镜像包;特征值可用于自定义容器镜像包名称,方便部署过程中遍历;
[0034] d)将每个特征值对应制作出的容器镜像包发布,发布到版本容器仓库。
[0035] 二,软件部署过程:
[0036] a)通过部署模块实现自动化脚本命令自动判断当前部署环境的软硬件条件,获取特征值;
[0037] b)部署模块通过上述a)中的特征值,到上述一、d)步骤中的版本容器仓库中查询是否有匹配该特征值的容器镜像包;
[0038] c)查询到后下载所述容器镜像包到该部署环境;
[0039] d)执行部署命令,完成部署。
[0040] 本发明首先针对软件发布过程进行一次性改造,使其能通过目前的DevOps等自动化构建环境,基于容器技术(如Docker),可自动的构建出多种软硬件兼容的容器镜像包,并通过特定的文件仓库进行存放,该过程除前期需要人为进行一些简单设定外,后续根据设定内容自动化运行,减少人为干预导致的各类问题;
[0041] 其次,通过部署过程可以看到,部署人员只需要唤起自动化部署模块,即可通过所述自动化部署模块进行后续的自动化部署过程,包括:
[0042] 1)自动判断当前部署环境软硬件环境及特征值;
[0043] 2)根据特征值到发布仓库查询是否有对应的软件版本容器镜像包;
[0044] 3)获取所述软件版本的容器镜像包后自动执行命令进行部署;
[0045] 整个部署过程除执行命令唤起部署模块外,正常情况不需要额外的人为干预。
[0046] 软件发布过程中,步骤c)的实现方法为:
[0047] 首先,根据所要发布软件包依赖的基础镜像,通过docker search命令从docker hub官方仓库中搜索关键字为指定基础镜像的关键字;
[0048] 其次,根据软硬件组合特征值进行基础镜像过滤,寻找到符合对应特征值的硬件平台相兼容的基础镜像;目前docker容器镜像常规的命名规则中,arm平台一般为arm64v8,arm32v7形式,例如arm64v8,设目前想要基于python的arm架构64位v8版本的CPU处理器环境去做部署,那么其特征值就是arm64v8,可以通过这个字段方便快速的查找到对应的基础镜像。
[0049] 上述过程通过Linux命令实现,格式如:
[0050] docker search${基础镜像关键字}|grep${软硬件特征值}
[0051] 对于x86架构而言,特征值的作用不用于搜索,因为此类架构,默认使用官方镜像即可,不需要额外过滤。
[0052] 软件部署过程中,步骤a)部署模块中,有专的脚本工具,做系统软硬件环境监测:
[0053] 脚本工具通过linux命令:uname-m命令获取Linux系统架构,如x86_64,arm64v8等。
[0054] 软件部署过程中,步骤d)执行部署命令,完成部署;此步骤主要是预设的脚本工具的功能,实现过程为:
[0055] 1)将查询到的容器镜像包通过docker pull命令下载到本地;
[0056] 2)通过docker run${镜像名称}[其他参数]运行该镜像的实例;即可完成该软件的部署。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈