CN108021427A - 基于Docker的信息系统部署及升级管理方法 - Google Patents

基于Docker的信息系统部署及升级管理方法 Download PDF

Info

Publication number
CN108021427A
CN108021427A CN201711180048.5A CN201711180048A CN108021427A CN 108021427 A CN108021427 A CN 108021427A CN 201711180048 A CN201711180048 A CN 201711180048A CN 108021427 A CN108021427 A CN 108021427A
Authority
CN
China
Prior art keywords
upgrade procedure
program
file
information system
main program
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
Application number
CN201711180048.5A
Other languages
English (en)
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.)
National Network Ningxia Electric Power Co Ltd
National Network Ningxia Electric Power Co Ltd Information And Communication Co
State Grid Corp of China SGCC
Original Assignee
National Network Ningxia Electric Power Co Ltd
National Network Ningxia Electric Power Co Ltd Information And Communication Co
State Grid Corp of China SGCC
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 National Network Ningxia Electric Power Co Ltd, National Network Ningxia Electric Power Co Ltd Information And Communication Co, State Grid Corp of China SGCC filed Critical National Network Ningxia Electric Power Co Ltd
Priority to CN201711180048.5A priority Critical patent/CN108021427A/zh
Publication of CN108021427A publication Critical patent/CN108021427A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于Docker的信息系统部署及升级管理方法。其特点是,包括如下步骤:(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较。综上所述,本发明方法在基于Docker的信息系统用于信息系统部署及升级的管理,具有应用封装、镜像仓库、应用部署功能,提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。

Description

基于Docker的信息系统部署及升级管理方法
技术领域
本发明涉及一种基于Docker的信息系统部署及升级管理方法。
背景技术
容器技术虚拟化技术已经成为一种被大家广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作系统实例的过程当中为系统管理员提供极大的灵活性。Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。同VM的方式不同,LXC其并不是一套硬件虚拟化方法-无法归属到全虚拟化、部分虚拟化和半虚拟化中的任意一个,而是一个操作系统级虚拟化方法,理解起来可能并不像VM那样直观。
发明内容
本发明的目的是提供一种基于Docker的信息系统部署及升级管理方法,能够提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。
一种基于Docker的信息系统部署及升级管理方法,其特别之处在于,包括如下步骤:
(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较;
(2)如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户进行升级;或者将现有版本与最新版本作比较,如果发现最新版本是新的则提示管理员或用户升级;或者通过文件大小进行比较,如果发现升级程序的文件大于旧版本的程序则提示管理员或用户进行升级;
(3)如果管理员或用户选择升级,则首先获取下载或传输的数据库脚本和文件列表,然后开始进行文件的批量下载和传输;
(4)升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份;
(5)更新旧的数据库和主程序;
(6)验证更新是否成功,如成功,则进行下一步,如未成功,则需要将数据库和程序进行回退到备份时的状态;
(7)检查主程序的状态,若状态为活动的,则启动新的主程序;
(8)关闭升级程序,升级完成。
综上所述,本发明方法在基于Docker的信息系统用于信息系统部署及升级的管理,具有应用封装、镜像仓库、应用部署功能,提高信息系统部署及其升级的工作效率,方便对信息系统部署及其升级工作进行持续改进。
具体实施方式
本发明的目的是,基于开源应用容器引擎Docker,构建一个全新的信息系统,能够实现以下功能。
应用封装,用Docker做为应用容器引擎,Docker是轻量级虚拟化技术,它在标准的LXC之上融合AUFS分层镜像管理机制,并以应用为单元进行“集装封箱”。
镜像仓库,Docker镜像(Image)类似于虚拟机的镜像,可以将他理解为一个面向Docker引擎的只读模板,包含了文件系统。镜像是创建Docker容器的基础,通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像。而镜像仓库就是Docker集中存放镜像文件的场所。
应用部署,用户直接指定相关版本的应用镜像进行部署或升级,成功后,对应用的发布结果进行验证,对验证不通过的应用直接指定原版本镜像进行回滚和还原。整个升级过程就是对应用镜像的复制和运行,从而实现信息系统的快速部署,保证生产环境、测试环境和开发环境的一致。
实施例1:
启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹。
升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小。
升级程序获取原有主程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示管理员或用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示管理员或用户升级。通常而言,国网采用比较新旧版本更新日期号来提示管理员或用户升级。
如果管理员或用户选择升级,则获取下载或传输的数据库脚本和文件列表,开始进行文件的批量下载和传输。
升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份。
更新旧的数据库和主程序。
验证更新成功与否,如成功,则进行下一步,如未成功,需要将数据库和程序进行回退到备份时的状态。
检查主程序的状态,若状态为活动的,则启动新的主程序。
关闭升级程序,升级完成。

Claims (1)

1.一种基于Docker的信息系统部署及升级管理方法,其特征在于,包括如下步骤:
(1)启动升级程序,升级程序连接到服务器或安装目录,下载或传输新的主程序、支持的库文件和XML配置文档到临时文件夹;升级程序获取服务器端XML配置文件中新版本程序的更新日期、版本号或者文件大小,升级程序获取原有主程序的最近一次更新日期、版本号或者文件大小,两者进行比较;
(2)如果发现升级程序的日期大于原有程序的最新日期,则提示管理员或用户进行升级;或者将现有版本与最新版本作比较,如果发现最新版本是新的则提示管理员或用户升级;或者通过文件大小进行比较,如果发现升级程序的文件大于旧版本的程序则提示管理员或用户进行升级;
(3)如果管理员或用户选择升级,则首先获取下载或传输的数据库脚本和文件列表,然后开始进行文件的批量下载和传输;
(4)升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序服务或进程,对数据库和程序文件进行备份;
(5)更新旧的数据库和主程序;
(6)验证更新是否成功,如成功,则进行下一步,如未成功,则需要将数据库和程序进行回退到备份时的状态;
(7)检查主程序的状态,若状态为活动的,则启动新的主程序;
(8)关闭升级程序,升级完成。
CN201711180048.5A 2017-11-23 2017-11-23 基于Docker的信息系统部署及升级管理方法 Pending CN108021427A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711180048.5A CN108021427A (zh) 2017-11-23 2017-11-23 基于Docker的信息系统部署及升级管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711180048.5A CN108021427A (zh) 2017-11-23 2017-11-23 基于Docker的信息系统部署及升级管理方法

Publications (1)

Publication Number Publication Date
CN108021427A true CN108021427A (zh) 2018-05-11

Family

ID=62080113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711180048.5A Pending CN108021427A (zh) 2017-11-23 2017-11-23 基于Docker的信息系统部署及升级管理方法

Country Status (1)

Country Link
CN (1) CN108021427A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837383A (zh) * 2019-09-30 2020-02-25 奇安信科技集团股份有限公司 应用免安装升级方法及装置
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法
CN111061493A (zh) * 2019-12-18 2020-04-24 北京神舟航天软件技术有限公司 一种基于应用仓库的客户端应用全生命周期管理方法
CN111427600A (zh) * 2020-03-20 2020-07-17 成都千立网络科技有限公司 一种基于docker的平台系统部署升级方法及系统
CN113127039A (zh) * 2021-04-22 2021-07-16 北京优奥创思科技发展有限公司 一种微服务架构产品自动化升级系统
CN118626111A (zh) * 2024-08-13 2024-09-10 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) 一种前端项目部署优化方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210312A1 (en) * 2009-10-26 2012-08-16 Zte Corporation Software upgrading method, software upgrading system and client
CN102955702A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
CN105389187A (zh) * 2015-11-26 2016-03-09 普华基础软件股份有限公司 一种系统更新的方法
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及系统
CN106528200A (zh) * 2016-10-08 2017-03-22 广州视睿电子科技有限公司 一种基于docker compose的持续集成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210312A1 (en) * 2009-10-26 2012-08-16 Zte Corporation Software upgrading method, software upgrading system and client
CN102955702A (zh) * 2011-08-23 2013-03-06 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
CN105389187A (zh) * 2015-11-26 2016-03-09 普华基础软件股份有限公司 一种系统更新的方法
CN106528200A (zh) * 2016-10-08 2017-03-22 广州视睿电子科技有限公司 一种基于docker compose的持续集成方法及装置
CN106528224A (zh) * 2016-11-03 2017-03-22 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHANSHUI: "《软件自动在线升级的原理》", 《HTTPS://WWW.ITEYE. COM/BLOG/CHANSHUI-729320》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法
CN110837383A (zh) * 2019-09-30 2020-02-25 奇安信科技集团股份有限公司 应用免安装升级方法及装置
CN110837383B (zh) * 2019-09-30 2023-10-31 奇安信科技集团股份有限公司 应用免安装升级方法及装置
CN111061493A (zh) * 2019-12-18 2020-04-24 北京神舟航天软件技术有限公司 一种基于应用仓库的客户端应用全生命周期管理方法
CN111427600A (zh) * 2020-03-20 2020-07-17 成都千立网络科技有限公司 一种基于docker的平台系统部署升级方法及系统
CN111427600B (zh) * 2020-03-20 2023-04-21 成都千立网络科技有限公司 一种基于docker的平台系统部署升级方法及系统
CN113127039A (zh) * 2021-04-22 2021-07-16 北京优奥创思科技发展有限公司 一种微服务架构产品自动化升级系统
CN118626111A (zh) * 2024-08-13 2024-09-10 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) 一种前端项目部署优化方法及系统

Similar Documents

Publication Publication Date Title
CN108021427A (zh) 基于Docker的信息系统部署及升级管理方法
US9134991B2 (en) Automatic upgrade of virtual appliances
US9971618B2 (en) System and method to reconfigure a virtual machine image suitable for cloud deployment
US10261770B2 (en) Install file size optimization and installation verification system
US9032052B2 (en) Deployment of a driver or an application on a client device having a write-filter
US8819670B2 (en) Automated software installation with interview
US9146729B2 (en) Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file
EP2786248B1 (en) Automatic updating of an application or a driver on a client device using a deployment configuration file
US8365164B1 (en) Portable software applications
US6920555B1 (en) Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
EP2786249B1 (en) Creation or installation of a disk image for a target device having one of a plurality of hardware platforms
US9201494B1 (en) Multi-user managed desktop environment
US20040117414A1 (en) Method and system for automatically updating operating systems
US10795688B2 (en) System and method for performing an image-based update
US10747585B2 (en) Methods and apparatus to perform data migration in a distributed environment
JP2013544402A (ja) ソフトウェア製品のあらかじめ必要なソフトウェアをインストールするための方法、システム、およびコンピュータ・プログラム
JP2002196945A (ja) デバイスドライバのアップグレードシステム及び方法
RU2445686C2 (ru) Способ установки, настройки, администрирования и резервного копирования программного обеспечения
US9141400B2 (en) Technique for deploying operating systems in a virtualized environment
CN112015448A (zh) 一种基于空中下载技术的系统升级方法及装置
CN118170431B (zh) 跨操作系统的业务迁移方法、装置及电子设备
EP1605353A2 (en) Method for imaging computer systems
CN109213532A (zh) 一种基于shell脚本的虚拟机网络初始化方法
US20210311716A1 (en) Deploying virtualization software in a remote cluster
CN118331612A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180511

RJ01 Rejection of invention patent application after publication