CN104102527A - 一种虚拟机软件更新方法 - Google Patents

一种虚拟机软件更新方法 Download PDF

Info

Publication number
CN104102527A
CN104102527A CN201410328506.5A CN201410328506A CN104102527A CN 104102527 A CN104102527 A CN 104102527A CN 201410328506 A CN201410328506 A CN 201410328506A CN 104102527 A CN104102527 A CN 104102527A
Authority
CN
China
Prior art keywords
software
virtual machine
version
version number
new
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
CN201410328506.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.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud 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 G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201410328506.5A priority Critical patent/CN104102527A/zh
Publication of CN104102527A publication Critical patent/CN104102527A/zh
Priority to PCT/CN2014/094358 priority patent/WO2016004737A1/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
    • 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
    • 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

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

本发明涉及软件更新技术领域,尤其是一种虚拟机软件更新方法。本发明包括步骤:1、在创建虚拟机时虚拟一个光驱和串口;2、获取已安装软件的版本号;3、新版本后,将软件和版本号放入ISO镜像文件;4、将ISO镜像文件拷贝到宿主机上,并将其挂载到虚拟机的光驱中;5、在宿主机上向虚拟机的串口发送命令,获取软件版本进行比较;6、如果ISO镜像文件中的软件版本较新,那么对ISO镜像文件中的软件安装程序执行静默安装;否则,不执行任何安装。本发明提供了一种替代手工进行虚拟机软件更新的方法,可以用于虚拟机软件更新中。

Description

一种虚拟机软件更新方法
技术领域
本发明涉及软件更新技术领域,尤其是一种虚拟机软件更新方法。
背景技术
在云平台上的虚拟机运行以后,一般要对其上软件的进行维护,尤其是有部分云平台上的虚拟机上需要安装功能增强软件的;比如Hyper-V的虚拟机上需要安装Hyper-V Integration Services,还有虚拟机支持监控需要安装的一些软件。需要更新时,一般都只能通过人工一台一台进行安装。步骤一般如下:
1、维护人员通过网络或挂载安装光盘或ISO镜像文件获取软件的安装程序;
2、维护人员通过软件的版本信息对比,判断软件是否需要更新;
3、如果需要更新,维护人员先卸载旧版本,然后运行新版本的安装程序,一步一步进行安装。
这种方法会有如下的问题:
1、虚拟机上获取软件需要从其他地方下载,依赖于网络,在虚拟机网络受限(没有配置IP地址或不能访问软件下载的地址)时,这种方法将无效;
2、版本对比依赖于人工判断,容易出错;
3、逐台进行人工升级,效率低,体现在两个方面:一、要登录到每台虚拟机,可能不是一个人能掌握所有虚拟机的密码,如果不能登录,也将无法升级;二、依赖于人去逐个步骤点击安装程序,需要的时间也比较多。
发明内容
本发明解决的技术问题在于提供一种虚拟机软件更新方法,可以克服现有软件更新的缺陷。
本发明解决上技术问题的技术方案是:
包括如下步骤:
步骤1:在创建虚拟机时虚拟一个光驱,并虚拟一个串口;
步骤2:软件安装以后,获取已安装软件的版本号;
步骤3:新版本软件发布以后,将软件放入一个ISO镜像文件中,并将版本号放入ISO镜像文件;
步骤4:将ISO镜像文件拷贝到宿主机上,并将ISO镜像文件挂载到虚拟机的光驱中;
步骤5:在宿主机上向虚拟机的串口发送命令,获取ISO镜像文件中的版本和安装在虚拟机上的软件版本,并进行比较;
步骤6:如果ISO镜像文件中的软件版本较新,那么对ISO镜像文件中的软件安装程序执行静默安装;
步骤7:如果安装在虚拟机上的软件版本与ISO镜像文件中的软件版本相同,或安装在虚拟机上的软件版本较新,那么不执行任何安装。
所述的ISO镜像文件是以ISO-9660格式保存的光盘镜像文件,ISO镜像形式上只有一个文件,光盘上的所有文件压缩到此文件中。
所述将ISO镜像文件挂载到虚拟机的光驱中是指在宿主机中将ISO镜像文件挂载成一个loop设备,然后把loop设备作为虚拟机光驱的源,使得通过访问虚拟机的光驱能直接访问到ISO镜像文件中的内容。
所述的向虚拟机的串口发送命令是指在虚拟机上的一个串口监听程序收到宿主机向虚拟机串口发送的消息,解析消息然后执行对应的操作。
所述的静默安装是调用安装程序提供的静默安装方式执行静默安装和强制覆盖。
所述的新旧软件版本比较,包括如下步骤:
步骤1:新旧版本号都进行按级分割,获取每一级的版本号;
步骤2:把每一级的版本号按从高到底排列,先将新旧版本号的第一级版本号进行比较,如果新的版本号比旧版本号大,跳到步骤4;如果新的版本号比旧版本号小,跳到步骤5;如果新的版本号跟旧版本号相同,那么执行下一级版本号的比较;
步骤3:比较第二级的版本号,如此类推,直到最后一级的版本号都相同,那么新旧版本号完全相同,不需要进行软件更新;
步骤4:新版本比旧版本要高,需要进行软件更新;
步骤5:新版本比旧版本还要旧,不需要进行软件更新。
本发明方案的有益效果如下:
1、本发明的方法不依赖于人工判断,版本信息完全在虚拟机操作系统或软件安装介质中取得,更新过程绝对准确;
2、本发明的方法不依赖于虚拟机的网络,具有很广的使用范围;
3、本发明的方法不需要人工干预,适合批量虚拟机更新软件,具有很高的效率。
附图说明
下面结合附图对本发明进一步说明:
附图是本发明的流程图。
具体实施方式
如图所示,创建虚拟机、在虚拟机上安装旧版本软件以及获取ISO镜像文件都是常规操作,不赘述。本发明下面以python语言实现一个虚拟机串口监听程序,以批处理脚本实现windows虚拟机下的版本比较和软件静默安装为例,说明一种虚拟机软件更新方法的实现。
首先checkout出新旧两份源代码。
然后在虚拟机中实现一个串口监听程序,启动以一个服务进程的方式运行于虚拟机等待宿主机传来的串口命令,代码如下:
以上定义了一个listening函数,利用“while1”死循环调用recv_msg(port)监听指定的port端口。
串口命令解析和实现功能根据串口命令监听功能接收到的msg信息,调用process_msg(msg)进行msg消息的解析,代码如下:
代码中的FUNCTION对应的宏定义表示预定义的串口命令中相关格式,串口服务中串口命令解析和实现功能解析成功以后,执行系统的命令。
代码中的cmd就是要执行的批处理脚本,如下:

Claims (10)

1.一种虚拟机软件更新方法,其特征在于:包括如下步骤:
步骤1:在创建虚拟机时虚拟一个光驱,并虚拟一个串口;
步骤2:软件安装以后,获取已安装软件的版本号;
步骤3:新版本软件发布以后,将软件放入一个ISO镜像文件中,并将版本号放入ISO镜像文件;
步骤4:将ISO镜像文件拷贝到宿主机上,并将ISO镜像文件挂载到虚拟机的光驱中;
步骤5:在宿主机上向虚拟机的串口发送命令,获取ISO镜像文件中的版本和安装在虚拟机上的软件版本,并进行比较;
步骤6:如果ISO镜像文件中的软件版本较新,那么对ISO镜像文件中的软件安装程序执行静默安装;
步骤7:如果安装在虚拟机上的软件版本与ISO镜像文件中的软件版本相同,或安装在虚拟机上的软件版本较新,那么不执行任何安装。
2.根据权利要求1所述的虚拟机软件更新方法,其特征在于:所述的ISO镜像文件是以ISO-9660格式保存的光盘镜像文件,ISO镜像形式上只有一个文件,光盘上的所有文件压缩到此文件中。
3.根据权利要求1所述的虚拟机软件更新方法,其特征在于:所述将ISO镜像文件挂载到虚拟机的光驱中是指在宿主机中将ISO镜像文件挂载成一个loop设备,然后把loop设备作为虚拟机光驱的源,使得通过访问虚拟机的光驱能直接访问到ISO镜像文件中的内容。
4.根据权利要求2所述的虚拟机软件更新方法,其特征在于:所述将ISO镜像文件挂载到虚拟机的光驱中是指在宿主机中将ISO镜像文件挂载成一个loop设备,然后把loop设备作为虚拟机光驱的源,使得通过访问虚拟机的光驱能直接访问到ISO镜像文件中的内容。
5.根据权利要求1至4任一项所述的虚拟机软件更新方法,其特征在于:所述的向虚拟机的串口发送命令是指在虚拟机上的一个串口监听程序收到宿主机向虚拟机串口发送的消息,解析消息然后执行对应的操作。
6.根据权利要求1至4任一项所述的虚拟机软件更新方法,其特征在于:所述的静默安装是调用安装程序提供的静默安装方式执行静默安装和强制覆盖。
7.根据权利要5所述的虚拟机软件更新方法,其特征在于:所述的静默安装是调用安装程序提供的静默安装方式执行静默安装和强制覆盖。
8.根据权利要求1至4任一项所述的虚拟机软件更新方法,其特征在于:所述的新旧软件版本比较,包括如下步骤:
步骤1:新旧版本号都进行按级分割,获取每一级的版本号;
步骤2:把每一级的版本号按从高到底排列,先将新旧版本号的第一级版本号进行比较,如果新的版本号比旧版本号大,跳到步骤4;如果新的版本号比旧版本号小,跳到步骤5;如果新的版本号跟旧版本号相同,那么执行下一级版本号的比较;
步骤3:比较第二级的版本号,如此类推,直到最后一级的版本号都相同,那么新旧版本号完全相同,不需要进行软件更新;
步骤4:新版本比旧版本要高,需要进行软件更新;
步骤5:新版本比旧版本还要旧,不需要进行软件更新。
9.根据权利要求5所述的虚拟机软件更新方法,其特征在于:所述的新旧软件版本比较,包括如下步骤:
步骤1:新旧版本号都进行按级分割,获取每一级的版本号;
步骤2:把每一级的版本号按从高到底排列,先将新旧版本号的第一级版本号进行比较,如果新的版本号比旧版本号大,跳到步骤4;如果新的版本号比旧版本号小,跳到步骤5;如果新的版本号跟旧版本号相同,那么执行下一级版本号的比较;
步骤3:比较第二级的版本号,如此类推,直到最后一级的版本号都相同,那么新旧版本号完全相同,不需要进行软件更新;
步骤4:新版本比旧版本要高,需要进行软件更新;
步骤5:新版本比旧版本还要旧,不需要进行软件更新。
10.根据权利要求6所述的虚拟机软件更新方法,其特征在于:所述的新旧软件版本比较,包括如下步骤:
步骤1:新旧版本号都进行按级分割,获取每一级的版本号;
步骤2:把每一级的版本号按从高到底排列,先将新旧版本号的第一级版本号进行比较,如果新的版本号比旧版本号大,跳到步骤4;如果新的版本号比旧版本号小,跳到步骤5;如果新的版本号跟旧版本号相同,那么执行下一级版本号的比较;
步骤3:比较第二级的版本号,如此类推,直到最后一级的版本号都相同,那么新旧版本号完全相同,不需要进行软件更新;
步骤4:新版本比旧版本要高,需要进行软件更新;
步骤5:新版本比旧版本还要旧,不需要进行软件更新。
CN201410328506.5A 2014-07-10 2014-07-10 一种虚拟机软件更新方法 Pending CN104102527A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410328506.5A CN104102527A (zh) 2014-07-10 2014-07-10 一种虚拟机软件更新方法
PCT/CN2014/094358 WO2016004737A1 (zh) 2014-07-10 2014-12-19 虚拟机的软件更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410328506.5A CN104102527A (zh) 2014-07-10 2014-07-10 一种虚拟机软件更新方法

Publications (1)

Publication Number Publication Date
CN104102527A true CN104102527A (zh) 2014-10-15

Family

ID=51670699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410328506.5A Pending CN104102527A (zh) 2014-07-10 2014-07-10 一种虚拟机软件更新方法

Country Status (2)

Country Link
CN (1) CN104102527A (zh)
WO (1) WO2016004737A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016004737A1 (zh) * 2014-07-10 2016-01-14 国云科技股份有限公司 虚拟机的软件更新方法
CN105335202A (zh) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 一种本地自动化批量安装Redhat软件包的方法
CN105550567A (zh) * 2015-12-09 2016-05-04 国云科技股份有限公司 一种Windows虚拟机USB设备读写权限管控方法
CN105592114A (zh) * 2014-10-22 2016-05-18 北京云巢动脉科技有限公司 一种在虚拟桌面环境下的应用软件发布方法
CN105610630A (zh) * 2016-01-29 2016-05-25 博雅网信(北京)科技有限公司 一种云计算环境下的补丁安装系统及方法
CN106502763A (zh) * 2016-11-01 2017-03-15 上海优刻得信息科技有限公司 一种软件更新方法及装置
CN107463427A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种虚拟机操作系统类型与版本的获取方法与装置
CN107643937A (zh) * 2016-07-22 2018-01-30 北京金山云网络技术有限公司 一种虚拟机监视器升级方法及装置
CN107968794A (zh) * 2016-10-18 2018-04-27 中兴通讯股份有限公司 一种虚拟光驱挂载方法及系统、服务器、终端
CN108932155A (zh) * 2018-07-25 2018-12-04 迈普通信技术股份有限公司 虚拟机存储管理方法、装置、电子设备及可读存储介质
CN109240716A (zh) * 2018-09-10 2019-01-18 福建星瑞格软件有限公司 一种大数据平台版本管理与快速迭代部署方法及系统
CN111124603A (zh) * 2019-11-30 2020-05-08 北京浪潮数据技术有限公司 一种cd-rom挂载方法、装置以及相关设备
CN112596757A (zh) * 2020-11-26 2021-04-02 新华三大数据技术有限公司 一种云桌面虚拟机代理组件升级方法、装置及存储介质
CN112783525A (zh) * 2021-01-22 2021-05-11 新华三大数据技术有限公司 一种守护进程升级方法及装置
WO2021135995A1 (zh) * 2019-12-31 2021-07-08 中兴通讯股份有限公司 虚拟机组件处理方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105391810B (zh) * 2015-11-06 2020-12-22 广东中星电子有限公司 终端设备接口装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603440B1 (en) * 2001-11-09 2009-10-13 Persystent Technology Corporation System and method for management of end user computing devices
CN101702131A (zh) * 2009-11-19 2010-05-05 中兴通讯股份有限公司 一种无线网卡自安装的方法及系统
CN102707971A (zh) * 2012-04-26 2012-10-03 广东电子工业研究院有限公司 一种在虚拟机中自动获取和安装软件的方法
CN102880482A (zh) * 2012-08-06 2013-01-16 厦门市美亚柏科信息股份有限公司 一种主机批量控制虚拟机中软件自动升级的系统及技术方法
CN103441867A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种更新虚拟机内部网络资源配置的方法
CN103902302A (zh) * 2012-12-26 2014-07-02 鸿富锦精密工业(深圳)有限公司 虚拟机软件安装系统及方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101616018B (zh) * 2008-06-27 2012-03-07 中兴通讯股份有限公司 网管软件升级的方法及装置
CN104102527A (zh) * 2014-07-10 2014-10-15 国云科技股份有限公司 一种虚拟机软件更新方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7603440B1 (en) * 2001-11-09 2009-10-13 Persystent Technology Corporation System and method for management of end user computing devices
CN101702131A (zh) * 2009-11-19 2010-05-05 中兴通讯股份有限公司 一种无线网卡自安装的方法及系统
CN102707971A (zh) * 2012-04-26 2012-10-03 广东电子工业研究院有限公司 一种在虚拟机中自动获取和安装软件的方法
CN102880482A (zh) * 2012-08-06 2013-01-16 厦门市美亚柏科信息股份有限公司 一种主机批量控制虚拟机中软件自动升级的系统及技术方法
CN103902302A (zh) * 2012-12-26 2014-07-02 鸿富锦精密工业(深圳)有限公司 虚拟机软件安装系统及方法
CN103441867A (zh) * 2013-08-15 2013-12-11 国云科技股份有限公司 一种更新虚拟机内部网络资源配置的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
弓雷 等: "《ARM嵌入式Linux系统开发详解》", 31 January 2010, 清华大学出版社 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016004737A1 (zh) * 2014-07-10 2016-01-14 国云科技股份有限公司 虚拟机的软件更新方法
CN105592114A (zh) * 2014-10-22 2016-05-18 北京云巢动脉科技有限公司 一种在虚拟桌面环境下的应用软件发布方法
CN105335202A (zh) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 一种本地自动化批量安装Redhat软件包的方法
CN105550567A (zh) * 2015-12-09 2016-05-04 国云科技股份有限公司 一种Windows虚拟机USB设备读写权限管控方法
CN105610630A (zh) * 2016-01-29 2016-05-25 博雅网信(北京)科技有限公司 一种云计算环境下的补丁安装系统及方法
CN107643937B (zh) * 2016-07-22 2020-07-03 北京金山云网络技术有限公司 一种虚拟机监视器升级方法及装置
CN107643937A (zh) * 2016-07-22 2018-01-30 北京金山云网络技术有限公司 一种虚拟机监视器升级方法及装置
CN107968794A (zh) * 2016-10-18 2018-04-27 中兴通讯股份有限公司 一种虚拟光驱挂载方法及系统、服务器、终端
CN106502763A (zh) * 2016-11-01 2017-03-15 上海优刻得信息科技有限公司 一种软件更新方法及装置
CN107463427A (zh) * 2017-06-29 2017-12-12 北京北信源软件股份有限公司 一种虚拟机操作系统类型与版本的获取方法与装置
CN108932155A (zh) * 2018-07-25 2018-12-04 迈普通信技术股份有限公司 虚拟机存储管理方法、装置、电子设备及可读存储介质
CN109240716A (zh) * 2018-09-10 2019-01-18 福建星瑞格软件有限公司 一种大数据平台版本管理与快速迭代部署方法及系统
CN111124603A (zh) * 2019-11-30 2020-05-08 北京浪潮数据技术有限公司 一种cd-rom挂载方法、装置以及相关设备
WO2021135995A1 (zh) * 2019-12-31 2021-07-08 中兴通讯股份有限公司 虚拟机组件处理方法及装置
CN112596757A (zh) * 2020-11-26 2021-04-02 新华三大数据技术有限公司 一种云桌面虚拟机代理组件升级方法、装置及存储介质
CN112783525A (zh) * 2021-01-22 2021-05-11 新华三大数据技术有限公司 一种守护进程升级方法及装置

Also Published As

Publication number Publication date
WO2016004737A1 (zh) 2016-01-14

Similar Documents

Publication Publication Date Title
CN104102527A (zh) 一种虚拟机软件更新方法
CN104094226B (zh) 使用部署配置文件自动更新客户端设备上的应用或者驱动
US11068252B2 (en) System and method for dynamically determining applicable updates
US20150074659A1 (en) Methods and Apparatus to Perform Web-Based Installations and/or Upgrade Architectures for Enterprise Software
US20150331676A1 (en) Managing a software appliance
CN106911729B (zh) 一种适用于国产处理器的操作系统远程安装方法
CA2724532C (en) Enhanced upgrade path
CA2508875A1 (en) System and apparatus for eliminating user interaction during hardware configuration at system boot
US20090193407A1 (en) Methods and Systems for Automatic Patch Creation for Client Updates
US20150309785A1 (en) Enhanced Upgrade Path
CN107608681A (zh) 操作系统安装方法、装置和服务器
CN104137065A (zh) 在客户端设备上使用可扩展标记语言(xml)配置文件部署和更新应用和驱动
CN104113430A (zh) 一种云计算数据中心自动化部署软件架构设计
TW201301138A (zh) 虛擬機遷移工具
CN104094256A (zh) 在具有写入过滤器的客户端设备上部署驱动或者应用
EP3270320A1 (en) Method and device for creating virtual machine
CN102141924A (zh) 一种Linux板卡的批量生产方法以及生产服务器
CN102707971A (zh) 一种在虚拟机中自动获取和安装软件的方法
US20210149682A1 (en) System and method for implementing a filesystem agent management solution
CN111427624A (zh) 一种服务器批量自动部署配置的方法、装置及系统
CN112954040A (zh) 嵌入应用发布服务器的方法、系统、设备及存储介质
CN111198703A (zh) 一种版本升级方法、系统、设备以及介质
CN106897061A (zh) 基于预启动执行环境pxe的操作系统处理方法和装置
CN110737444A (zh) 基于固件的操作系统远程自适应动态部署方法及系统
CN104090805B (zh) 一种更新终端操作系统的方法、设备及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141015

RJ01 Rejection of invention patent application after publication