CN112379903A - 版本更新方法、装置、系统、电子装置和存储介质 - Google Patents

版本更新方法、装置、系统、电子装置和存储介质 Download PDF

Info

Publication number
CN112379903A
CN112379903A CN202011239326.1A CN202011239326A CN112379903A CN 112379903 A CN112379903 A CN 112379903A CN 202011239326 A CN202011239326 A CN 202011239326A CN 112379903 A CN112379903 A CN 112379903A
Authority
CN
China
Prior art keywords
version
service file
updated
server
file
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.)
Granted
Application number
CN202011239326.1A
Other languages
English (en)
Other versions
CN112379903B (zh
Inventor
于富洋
范渊
苗春雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202011239326.1A priority Critical patent/CN112379903B/zh
Publication of CN112379903A publication Critical patent/CN112379903A/zh
Application granted granted Critical
Publication of CN112379903B publication Critical patent/CN112379903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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 Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种版本更新方法、装置、系统、电子装置和存储介质,其中,该版本更新方法包括:配置版本更新的组合服务文件;在接收到版本更新指令时,获取配置完备的组合服务文件,根据组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;执行版本更新指令,根据配置完备的组合服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新。通过本申请,能够自动完成版本更新,极大的减轻了工作人员的工作量,降低了工作人员在更新操作中失误造成的版本更新错误;能够提高更新效率。

Description

版本更新方法、装置、系统、电子装置和存储介质
技术领域
本申请涉及版本更新领域,特别是涉及一种版本更新方法、装置、系统、电子装置和存储介质。
背景技术
容器技术由于其具备较高安全性、隔离性、可移植性,在应用市场的热度很高。作为一种轻量级的应用打包、隔离的技术,容器技术采用持续集成、持续部署方式,极大地简化开发、测试、部署流程,加快产品的交付速度,更加符合当今应用市场对软件产品持续迭代、快速部署、高可靠性的需求。
版本迭代是每一个产品的必经之路,容器技术由于其特点被应用于版本迭代中。目前的版本更新方式是需要人工去拉取一个个最新的镜像,再重新启动docker(一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,容器完全使用沙箱机制,相互之间不会有任何接口)容器的方式来进行。在较大的版本更新时,甚至需要人工去导出几十个镜像以及这些镜像所挂载的文件,过程繁琐,效率低,且容易导致版本更新错误。
目前针对相关技术中需要人工参与,更新过程繁琐,效率低,且容易导致版本更新错误,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种版本更新方法、装置、系统、电子装置和存储介质,以至少解决相关技术中需要人工参与,更新过程繁琐,更新效率低,且容易导致版本更新错误的问题。
第一方面,本申请实施例提供了一种版本更新方法,包括:
配置版本更新的组合服务文件;
在接收到版本更新指令时,获取配置完备的所述组合服务文件,根据所述组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个所述待更新服务器的版本更新。
在其中一些实施例中,配置版本更新的组合服务文件,包括:
获取各个当前版本的集群服务文件的路径,并通过所述路径读取当前版本的镜像名称和对应的版本号;
根据所述当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;
将所述本地仓库导出,并将与所述本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成所述组合服务文件。
在其中一些实施例中,还包括:
利用第三方工具搭建所述私有的本地仓库。
在其中一些实施例中,执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个待更新服务器的版本更新,包括:
读取配置完备的所述组合服务文件中的各个镜像名称和对应的版本号;
导入与各个镜像对应的本地仓库和对应的挂载文件;
下载所述本地仓库中对应的镜像集合,并将下载的所述镜像集合上传至远程仓库,以完成各个所述待更新服务器的版本更新。
在其中一些实施例中,还包括:
在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
在其中一些实施例中,下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新,包括:
利用docker-java下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
第二方面,本申请实施例提供了一种版本更新装置,包括配置模块、替换模块以及执行模块;
所述配置模块,用于配置版本更新的组合服务文件;
所述替换模块,用于在接收到版本更新指令时,获取配置完备的所述组合服务文件,根据所述组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
所述执行模块,用于执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个所述待更新服务器的版本更新。
在其中一些实施例中,配置模块,还用于获取各个当前版本的集群服务文件的路径,并通过所述路径读取当前版本的镜像名称和对应的版本号;
根据所述当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;
将所述本地仓库导出,并将与所述本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成所述组合服务文件。
在其中一些实施例中,执行模块,还用于读取配置完备的所述组合服务文件中的各个镜像名称和对应的版本号;
导入与各个镜像对应的本地仓库和对应的挂载文件;
下载所述本地仓库中对应的镜像集合,并将下载的所述镜像集合上传至远程仓库,以完成各个所述待更新服务器的版本更新。
在其中一些实施例中,还包括备份模块:
备份模块,用于在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
第三方面,本申请实施例提供了一种版本更新系统,包括:终端设备、传输设备以及服务器设备;其中,所述终端设备通过传输设备连接服务器设备;
所述终端设备用于配置版本更新的组合服务文件;
所述传输设备用于传输配置版本更新的组合服务文件;
所述服务器设备用于执行如上述第一方面所述的版本更新方法。
第四方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的版本更新方法。
第五方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的版本更新方法。
相比于相关技术,本申请实施例提供的一种版本更新方法、装置、系统、电子装置和存储介质,通过预先配置版本更新的组合服务文件,在接收到版本更新指令时,直接将各个待更新服务器中的集群服务文件替换成配置完备的集群服务文件,再根据配置完备的组合服务文件中的集群服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新,而不需要人工参与;极大的减轻了工作人员的工作量,降低了工作人员在更新操作中失误造成的版本更新错误;能够提高更新效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例提供的版本更新方法的终端设备的硬件结构框图;
图2是本申请一实施例提供的版本更新方法的流程图;
图3是图2中步骤S210的流程图;
图4是图2中步骤S230的流程图;
图5是本申请一实施例提供的版本更新装置的结构框图。
附图说明:210、配置模块;220、替换模块;230、执行模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的版本更新方法的终端的硬件结构框图。如图1所示,终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的版本更新方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例提供了一种版本更新方法,图2是根据本申请实施例的版本更新方法的流程图,如图2所示,该流程包括如下步骤:
步骤S210,配置版本更新的组合服务文件;
步骤S220,在接收到版本更新指令时,获取配置完备的组合服务文件,根据组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
步骤S230,执行版本更新指令,根据配置完备的组合服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新。
需要说明的是,本申请是基于docker swarm实现,docker swarm是Docker的集群管理工具。它将Docker主机池转变为单个虚拟Docker主机。Docker Swarm提供了标准的Docker API,所有任何已经与Docker守护程序通信的工具都可以使用Swarm轻松地扩展到多个主机。
Compose是用于定义和运行多容器Docker应用程序的工具。利用Compose,可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。Compose使用的三个步骤:首先,使用Docker file定义应用程序的环境。再者,使用docker-compose.yml定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。最后,执行docker-compose up命令来启动并运行整个应用程序。其中,YML文件格式是YAML(YAML Aint Markup Language)编写的文件格式。预先配置完备的版本更新的组合服务文件包括各个版本最新的镜像、对应的挂载文件及集群服务文件(docker-compose.yml)。在使用组合服务文件时,需要利用第三方压缩工具对组合服务文件进行解压,得到镜像、挂载文件及集群服务文件。
Docker仓库是集中存放镜像文件的场所。镜像构建完成后,可以很容易的在当前宿主上运行,但是,如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务,Docker Registry(仓库注册服务器)就是这样的服务。有时候会把仓库(Repository)和仓库注册服务器(Registry)混为一谈,并不严格区分。仓库注册服务器可以理解为托管服务。实际上,一个Docker Registry中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应着一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过<仓库名>:<标签>的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以latest作为默认标签。
本申请利用预先配置版本更新的组合服务文件,在接收到版本更新指令时,直接将各个待更新服务器中的集群服务文件替换成预先配置的集群服务文件,再根据配置完备的组合服务文件中的集群服务文件拉取对应的镜像至对应的待更新服务器中,从而使得整个更新过程实现自动化,全程不需要人工参与;而且能够简化版本更新流程,极大的减轻了工作人员的工作量,提高更新效率,也降低了工作人员在更新操作中失误造成的版本更新错误;从而避免现有技术中,需要人工去拉取一个个最新的镜像,再重新启动docker容器的方式导致的问题出现。
下面通过优选实施例对本申请实施例进行描述和说明。
图3是图2中步骤S210一实施例的优选流程图,包括如下步骤;
步骤S211,获取各个当前版本的集群服务文件的路径,并通过路径读取当前版本的镜像名称和对应的版本号;
步骤S212,根据当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;
步骤S213,将本地仓库导出,并将与本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成组合服务文件。
具体的,获取各个当前版本的集群服务文件的路径,既获取到最新版本的集群服务文件的路径;通过ymal读取集群服务文件的内容,并利用正则表达式提取集群服务文件里的特定格式的镜像名称和对应的版本号;从而获取到各个镜像的名称和版本号的集合。再利用docker-java连接docker,并利用第三方工具搭建私有的本地仓库;再利用docker-java将最新版本镜像集合里的镜像一一上传到私有的本地仓库;最后利用docker-java将本地仓库导出,并将其挂载文件和docker-compose.yml文件一并打包。于本实施例中,可以使用任意第三方压缩工具进行打包,对此并不进行限制。其中,挂载文件是一些项目初始化的数据,例如某个项目内默认配置、资源、文件等;集群服务文件(docker-compose.yml)记录这个集群有哪些镜像以及这些镜像所依赖的文件地址和初始化配置。
本申请通过本地仓库为容器将所有镜像集成一起,简化版本更新流程,极大的减轻了工作人员的工作量;且使docker swarm能够正常启动,不会丢失其所依赖的文件。
图4是图2中步骤S230一实施例的优选流程图,包括如下步骤;
步骤S231,读取配置完备的组合服务文件中的各个镜像名称和对应的版本号;
步骤S232,导入与各个镜像对应的本地仓库和对应的挂载文件;
步骤S233,下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
在本实施例中,读取的方法可以是利用正则表达式提取集群服务文件里的特定格式的镜像名称和对应的版本号;再利用docker-java连接docker,将docker的本地仓库导入;再利用docker-java,从本地仓库下载获得的镜像的集合。再利用docker-java,再获得的镜像全部上传到远程仓库。最后执行docker swram命令,将所有的服务重新拉起,以完成各个待更新服务器的版本更新。通过压缩的组合服务文件传递实现可控制,且极大的压缩了镜像文件的大小,减少了更新所花费的时间,提高更新效率。本申请简化版本更新流程,极大的减轻了工作人员的工作量,降低了工作人员在更新操作中失误造成的版本更新错误。
在其中一个实施例中,在图4的基础上,还包括在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份;防止数据丢失。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。比如,对上一个版本的挂载文件进行备份也可以是在读取配置完备的所述组合服务文件中的各个镜像名称和对应的版本号这一步骤之前,在此不一一举例。
本实施例还提供了一种版本更新装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的版本更新装置的结构框图,如图5所示,该装置包括配置模块210、替换模块220以及执行模块230;配置模块210,用于配置版本更新的组合服务文件;替换模块220,用于在接收到版本更新指令时,获取配置完备的组合服务文件,根据组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;执行模块230,用于执行版本更新指令,根据配置完备的组合服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新。
本装置利用预先配置版本更新的组合服务文件,在接收到版本更新指令时,直接将各个待更新服务器中的集群服务文件替换成预先配置的集群服务文件,再根据配置完备的组合服务文件中的集群服务文件拉取对应的镜像至对应的待更新服务器中,从而使得整个更新过程实现自动化,全程不需要人工参与;而且能够简化版本更新流程,极大的减轻了工作人员的工作量,提高更新效率,也降低了工作人员在更新操作中失误造成的版本更新错误;从而避免现有技术中,需要人工去拉取一个个最新的镜像,再重新启动docker容器的方式导致的问题出现。
在其中一个实施例中,配置模块210,还用于获取各个当前版本的集群服务文件的路径,并通过路径读取当前版本的镜像名称和对应的版本号;根据当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;将本地仓库导出,并将与本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成组合服务文件。
在其中一个实施例中,执行模块230,还用于读取配置完备的组合服务文件中的各个镜像名称和对应的版本号;导入与各个镜像对应的本地仓库和对应的挂载文件;下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
在其中一个实施例中,还包括备份模块;备份模块用于在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
在其中一个实施例中,执行模块230,还用于利用docker-java下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S1,配置版本更新的组合服务文件;
步骤S2,在接收到版本更新指令时,获取配置完备的组合服务文件,根据组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
步骤S3,执行版本更新指令,根据配置完备的组合服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新。
在其中一个实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤,获取各个当前版本的集群服务文件的路径,并通过路径读取当前版本的镜像名称和对应的版本号;根据当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;将本地仓库导出,并将与本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成组合服务文件。
在其中一个实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤,读取配置完备的组合服务文件中的各个镜像名称和对应的版本号;导入与各个镜像对应的本地仓库和对应的挂载文件;下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
在其中一个实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤,在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
在其中一个实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤,利用docker-java下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的版本更新方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种版本更新方法。
可选地,在本实施例中,上述存储介质存储有的计算机程序可以被处理器执行时实现以下步骤:
步骤S11,配置版本更新的组合服务文件;
步骤S22,在接收到版本更新指令时,获取配置完备的组合服务文件,根据组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
步骤S33,执行版本更新指令,根据配置完备的组合服务文件拉取对应的镜像至对应的待更新服务器中,以完成各个待更新服务器的版本更新。
在其中一个实施例中,上述存储介质存储有的计算机程序可以被处理器执行时实现以下步骤,获取各个当前版本的集群服务文件的路径,并通过路径读取当前版本的镜像名称和对应的版本号;根据当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;将本地仓库导出,并将与本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成组合服务文件。
在其中一个实施例中,上述存储介质存储有的计算机程序可以被处理器执行时实现以下步骤,读取配置完备的组合服务文件中的各个镜像名称和对应的版本号;导入与各个镜像对应的本地仓库和对应的挂载文件;下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
在其中一个实施例中,上述存储介质存储有的计算机程序可以被处理器执行时实现以下步骤,在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
在其中一个实施例中,上述存储介质存储有的计算机程序可以被处理器执行时实现以下步骤,利用docker-java下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种版本更新方法,其特征在于,包括:
配置版本更新的组合服务文件;
在接收到版本更新指令时,获取配置完备的所述组合服务文件,根据所述组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个所述待更新服务器的版本更新。
2.根据权利要求1所述的版本更新方法,其特征在于,配置版本更新的组合服务文件,包括:
获取各个当前版本的集群服务文件的路径,并通过所述路径读取当前版本的镜像名称和对应的版本号;
根据所述当前版本的镜像名称和对应的版本号将对应的镜像一一上传至私有的本地仓库;
将所述本地仓库导出,并将与所述本地仓库对应的挂载文件以及当前版本的集群服务文件进行打包,以生成所述组合服务文件。
3.根据权利要求2所述的版本更新方法,其特征在于,还包括:
利用第三方工具搭建所述私有的本地仓库。
4.根据权利要求1所述的版本更新方法,其特征在于,执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个待更新服务器的版本更新,包括:
读取配置完备的所述组合服务文件中的各个镜像名称和对应的版本号;
导入与各个镜像对应的本地仓库和对应的挂载文件;
下载所述本地仓库中对应的镜像集合,并将下载的所述镜像集合上传至远程仓库,以完成各个所述待更新服务器的版本更新。
5.根据权利要求4所述的版本更新方法,其特征在于,还包括:
在导入与各个镜像对应的本地仓库和对应的挂载文件之前,对上一个版本的挂载文件进行备份。
6.根据权利要求4所述的版本更新方法,其特征在于,下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新,包括:
利用docker-java下载本地仓库中对应的镜像集合,并将下载的镜像集合上传至远程仓库,以完成各个待更新服务器的版本更新。
7.一种版本更新装置,其特征在于,包括配置模块、替换模块以及执行模块;
所述配置模块,用于配置版本更新的组合服务文件;
所述替换模块,用于在接收到版本更新指令时,获取配置完备的所述组合服务文件,根据所述组合服务文件中的集群服务文件替换各个待更新服务器中的集群服务文件;
所述执行模块,用于执行版本更新指令,根据配置完备的所述组合服务文件拉取对应的镜像至对应的所述待更新服务器中,以完成各个所述待更新服务器的版本更新。
8.一种版本更新系统,其特征在于,包括:终端设备、传输设备以及服务器设备;其中,所述终端设备通过传输设备连接服务器设备;
所述终端设备用于配置版本更新的组合服务文件;
所述传输设备用于传输配置版本更新的组合服务文件;
所述服务器设备用于执行如权利要求1至6中任一项所述的版本更新方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任一项所述的版本更新方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6中任一项所述的版本更新方法。
CN202011239326.1A 2020-11-09 2020-11-09 版本更新方法、装置、系统、电子装置和存储介质 Active CN112379903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011239326.1A CN112379903B (zh) 2020-11-09 2020-11-09 版本更新方法、装置、系统、电子装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011239326.1A CN112379903B (zh) 2020-11-09 2020-11-09 版本更新方法、装置、系统、电子装置和存储介质

Publications (2)

Publication Number Publication Date
CN112379903A true CN112379903A (zh) 2021-02-19
CN112379903B CN112379903B (zh) 2023-04-18

Family

ID=74579123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011239326.1A Active CN112379903B (zh) 2020-11-09 2020-11-09 版本更新方法、装置、系统、电子装置和存储介质

Country Status (1)

Country Link
CN (1) CN112379903B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092196A1 (en) * 2013-03-15 2016-03-31 Oracle International Corporation Deployment and activation of updates on target hosts
US20180307478A1 (en) * 2017-04-19 2018-10-25 Servicenow, Inc. Distributed incremental updating of trays using a source control system
CN109117155A (zh) * 2018-07-11 2019-01-01 高新兴科技集团股份有限公司 一种版本升级的方法和设备
CN109324819A (zh) * 2018-09-28 2019-02-12 中国平安财产保险股份有限公司 服务器代码部署方法、装置、服务器设备及存储介质
CN110333889A (zh) * 2019-07-19 2019-10-15 浪潮云信息技术有限公司 容器服务用户集群的升级方法及系统
CN110413379A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 信息处理方法及其装置、系统、电子设备和介质
US20200097279A1 (en) * 2018-09-20 2020-03-26 Vmware, Inc. Methods and apparatus for version aliasing mechanisms and cumulative upgrades for software lifecycle management
CN111552495A (zh) * 2020-04-24 2020-08-18 格尔软件股份有限公司 一种对Docker容器镜像实现离线增量更新的方法
CN111654531A (zh) * 2020-05-22 2020-09-11 国云科技股份有限公司 一种基于容器的镜像更新发布方法及装置
GB202012862D0 (en) * 2015-07-29 2020-09-30 Daimler Ag A method for transmitting at least one data package from a central electronic computing device to at least one electronic computing device of a motor vehicle
US20200326931A1 (en) * 2019-04-15 2020-10-15 International Business Machines Corporation Federated Framework for Container Management

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160092196A1 (en) * 2013-03-15 2016-03-31 Oracle International Corporation Deployment and activation of updates on target hosts
GB202012862D0 (en) * 2015-07-29 2020-09-30 Daimler Ag A method for transmitting at least one data package from a central electronic computing device to at least one electronic computing device of a motor vehicle
US20180307478A1 (en) * 2017-04-19 2018-10-25 Servicenow, Inc. Distributed incremental updating of trays using a source control system
CN109117155A (zh) * 2018-07-11 2019-01-01 高新兴科技集团股份有限公司 一种版本升级的方法和设备
US20200097279A1 (en) * 2018-09-20 2020-03-26 Vmware, Inc. Methods and apparatus for version aliasing mechanisms and cumulative upgrades for software lifecycle management
CN109324819A (zh) * 2018-09-28 2019-02-12 中国平安财产保险股份有限公司 服务器代码部署方法、装置、服务器设备及存储介质
US20200326931A1 (en) * 2019-04-15 2020-10-15 International Business Machines Corporation Federated Framework for Container Management
CN110333889A (zh) * 2019-07-19 2019-10-15 浪潮云信息技术有限公司 容器服务用户集群的升级方法及系统
CN110413379A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 信息处理方法及其装置、系统、电子设备和介质
CN111552495A (zh) * 2020-04-24 2020-08-18 格尔软件股份有限公司 一种对Docker容器镜像实现离线增量更新的方法
CN111654531A (zh) * 2020-05-22 2020-09-11 国云科技股份有限公司 一种基于容器的镜像更新发布方法及装置

Also Published As

Publication number Publication date
CN112379903B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN108733380B (zh) 应用部署方法和装置
US20170083307A1 (en) Updating Web Resources
CN105117268B (zh) 一种实现linux系统自动安装的安装方法及系统
CN104954394A (zh) 软件差分包制作、升级方法及服务器、终端、升级系统
US20220229654A1 (en) Enabling upgrading firmware of a target device
CN109725952B (zh) 一种应用程序插件化的方法、系统以及相关装置
WO2017049550A1 (zh) 适配器和适配器升级的方法
CN110659053A (zh) 程序更新方法、装置、存储介质及电子设备
CN103200271A (zh) Arm服务器及其自动化安装系统的方法
CN106663016A (zh) 一种终端设备刷机方法、装置和设备
CN113064685A (zh) 一种h5页面加载方法及装置
CN105760183A (zh) 文件处理方法、装置及通信系统
CN106547602B (zh) 一种适用于iSCSI协议远程无线加载的操作系统镜像的制作方法
EP3091435A1 (en) Resource management method and device for terminal system
EP2624527A1 (en) Terminal application search system
CN114546588A (zh) 任务的部署方法、装置、存储介质及电子装置
CN111367685A (zh) 接口调用的方法及装置、计算机设备、存储介质
CN112379903B (zh) 版本更新方法、装置、系统、电子装置和存储介质
CN118034816A (zh) 应用程序软件的接口调用方法、装置和存储介质
CN113821220A (zh) 一种linux操作系统的安装方法和装置
CN111182070B (zh) 应用数据备份和恢复方法、装置、设备及存储介质
CN116737243B (zh) 屏幕参数补丁升级方法及终端设备
CN112099902A (zh) 虚拟机的网络适配器配置方法、装置、电子装置和存储介质
CN112771497A (zh) 设备升级的方法、装置及存储介质
CN113572816B (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
GR01 Patent grant
GR01 Patent grant