CN109117162A - 一种基于Hypervisor的多系统升级方法 - Google Patents

一种基于Hypervisor的多系统升级方法 Download PDF

Info

Publication number
CN109117162A
CN109117162A CN201810998570.2A CN201810998570A CN109117162A CN 109117162 A CN109117162 A CN 109117162A CN 201810998570 A CN201810998570 A CN 201810998570A CN 109117162 A CN109117162 A CN 109117162A
Authority
CN
China
Prior art keywords
subregion
hypervisor
upgrade
upgrading
data packet
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
CN201810998570.2A
Other languages
English (en)
Other versions
CN109117162B (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.)
Wuhan Kotei Informatics Co Ltd
Original Assignee
Wuhan Kotei Informatics 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 Wuhan Kotei Informatics Co Ltd filed Critical Wuhan Kotei Informatics Co Ltd
Priority to CN201810998570.2A priority Critical patent/CN109117162B/zh
Publication of CN109117162A publication Critical patent/CN109117162A/zh
Application granted granted Critical
Publication of CN109117162B publication Critical patent/CN109117162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于Hypervisor的多系统升级方法,该方法首先统一规划存储空间,然后利用BootLoader引导Hypervisor分区进行升级,利用Hypervisor引导客户操作系统分区进行升级,升级过程中对升级数据包进行校验以及对原分区内容进行备份,通过数据回滚保证了升级过程的安全、可靠。

Description

一种基于Hypervisor的多系统升级方法
技术领域
本发明涉及计算机技术领域,具体涉及一种基于Hypervisor的多系统升级方法。
背景技术
目前虽然各类操作系统均提供了自身的升级方案,尚无基于Hypervisor的多客户系统的通用升级方案。
由于虚拟机系统可以运行多种客户操作系统,每种操作系统都有自己的升级方案,这些升级方案之间的差异很大,不能统一到单一升级方案上来。另外,为了减少现有操作系统移植到Hypervisor的工作量,Hypervisor上各客户操作系统需要兼容现有的升级方案或基于现有的升级方案做少量的自定义。多种系统的运行,需要对系统分区进行统一分配和管理,提高存储空间的利用率。Hypervisor作为基础平台,其自身的升级也必须纳入考虑,同时安全和多数据源需求也必须统一考虑。
发明内容
本发明针对现有技术中存在的技术问题,提供一种基于Hypervisor的多系统通用升级方法,在系统升级过程中,统一规划存储空间的同时,采用了网络、USB传输、数据签名等技术,并通过数据回滚保证了升级过程的安全、可靠。
本发明解决上述技术问题的技术方案如下:
一种基于Hypervisor的多系统升级方法,包括以下步骤:
步骤1,对基于Hypervisor的系统的存储进行统一规划,包括管理分区、Hypervisor分区、客户操作系统分区,并获取升级数据包;
步骤2,判断需要升级的分区,若为Hypervisor分区,则执行步骤3,否则执行步骤4;
步骤3,BootLoader提取Hypervisor分区的待升级内容并打包生成历史备份,将升级数据包的内容写入待升级分区,若Hypervisor可正确引导则证明升级完成,并生成升级成功校验码,写入管理分区,否则管理分区利用历史备份进行恢复操作;
步骤4,Hypervisor提取现有客户操作系统分区的待升级内容,打包并生成历史备份,将升级数据包的内容写入待升级分区,若客户操作系统可正确引导,则证明升级完成并生成升级成功校验码,写入管理分区,否则由Hypervisor利用历史备份进行恢复操作。
进一步,所述的获取升级数据包,包括,根据升级触发源的不同,选择不同的升级数据包获取方式:
若升级触发源为用户触发,则提示用户指定升级数据包位置;若升级触发源为联机自动触发,则确定升级数据包的下载源;
根据升级数据包位置或下载源,拷贝或下载升级数据包至管理分区。
进一步,所述步骤1和所述步骤2之间还包括,对升级数据包进行签名校验,若校验通过,则在管理分区中,设置升级标记、升级类型以及升级数据包位置信息,否则退出升级过程。
进一步,步骤2中,所述的判断需要升级的分区,具体为根据管理分区中所设置的升级类型判断需要升级的分区。
进一步,步骤3中,BootLoader提取Hypervisor分区的待升级内容之前,还包括:
检查管理分区的升级标记及现有分区内容是否可以正确引导,如果升级标记置位且现有分区内容可以正确引导,说明存在升级需求,则提取Hypervisor分区的待升级内容并打包生成历史备份,存入管理分区。
进一步,在打包生成历史备份时,还生成包校验码,所述包校验码与所述升级成功校验码一致。
进一步,所述Hypervisor分区或所述客户操作系统分区升级成功后,还包括:清除管理分区中的历史备份和升级数据包,同时清除升级标记。
进一步,所述Hypervisor分区或所述客户操作系统分区在利用历史备份进行恢复操作后:
BootLoader对Hypervisor分区进行引导,或Hypervisor对客户操作系统分区进行引导;
引导成功则进行日志记录,并清除管理分区的相关信息;所述相关信息包括升级标记、升级类型以及升级数据包以及历史备份数据。。
本发明的有益效果是:本发明提供了一种安全通用的基于Hypervisor的多系统升级方案,在兼容现有客户操作系统升级方案的同时,提供可靠、安全、高效、多数据源的升级方法。
附图说明
图1为本发明实施例提供的一种基于Hypervisor的多系统升级方法流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,本发明实施例提供的一种基于Hypervisor的多系统升级方法。该方法具体步骤如下:
1、对基于Hypervisor的系统的存储进行统一规划,包括管理分区、Hypervisor分区、客户操作系统分区(数量和大小)
2、获取升级数据包,根据升级触发源的不同,选择不同的升级数据包获取方式:
若升级触发源为用户触发,则提示用户指定升级数据包位置;若升级触发源为联机自动触发,则确定升级数据包的下载源;
根据升级数据包位置或下载源,拷贝或下载升级数据包至管理分区。
3、对升级数据包进行签名校验,若校验通过,则在管理分区中,设置升级标记、升级类型以及升级数据包位置信息,否则退出升级过程。
4、Hypervisor的分区及升级过程:
1)Hypervisor的升级由bootloader(存在专用flash中)负责。
2)bootloader引导过程中检查管理分区的升级标记及现有分区内容是否可以正确引导。如果升级标记置位且现有分区内容可以正确引导,说明存在升级需求,提取Hypervisor待升级分区的内容,并打包。生成包校验码与上一次成功升级的校验码进行对比,一致,继续进行升级过程。
3)根据升级包要求,将升级包内容写入相应分区。
4)开始引导Hypervisor,成功引导后,Hypervisor记录现有Hypervisor分区内容可以正确引导的信息(即升级成功校验码)到管理分区,清除管理分区提取的相关备份包和升级包,清除升级标记。
5)如果升级失败,bootloader在重新引导Hypervisor时,检查到升级标记,但无升级成功引导信息标记。Bootloader开始恢复操作,恢复完成后,开始引导系统,成功后记录并清除管理分区的相关信息。
5、客户操作系统的升级:
1)客户操作系统的升级由Hypervisor负责。
2)Hypervisor启动后,自动检测管理分区,如果检测到客户操作系统升级需求,进入升级过程。
3)Hypervisor提取现有客户分区的内存,打包并生成校验码,与上次成功升级的校验码进行对比,一致,继续升级过程。
4)根据升级包要求,将升级包内容写入相应分区。
5)Hypervisor引导客户操作系统,引导成功后,客户操作系统记录现有客户操作系统分区内容可以正确引导的信息(即升级成功校验码)到管理分区,清除管理分区提取的相关备份包和升级包,清除升级标记。
6)如果升级失败,Hypervisor在重新引导客操作系统时,检测到升级标记,但无升级成功引导信息标记。Hypervisor进行恢复操作,恢复完成后,开始引导系统,成功后记录并清除管理分区的相关信息。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于Hypervisor的多系统升级方法,其特征在于,包括以下步骤:
步骤1,对基于Hypervisor的系统的存储进行统一规划,包括管理分区、Hypervisor分区、客户操作系统分区,并获取升级数据包;
步骤2,判断需要升级的分区,若为Hypervisor分区,则执行步骤3,否则执行步骤4;
步骤3,BootLoader提取Hypervisor分区的待升级内容并打包生成历史备份,将升级数据包的内容写入待升级分区,若Hypervisor可正确引导则证明升级完成,并生成升级成功校验码,写入管理分区,否则管理分区利用历史备份进行恢复操作;
步骤4,Hypervisor提取现有客户操作系统分区的待升级内容,打包并生成历史备份,将升级数据包的内容写入待升级分区,若客户操作系统可正确引导,则证明升级完成并生成升级成功校验码,写入管理分区,否则由Hypervisor利用历史备份进行恢复操作。
2.根据权利要求1所述一种基于Hypervisor的多系统升级方法,其特征在于,所述的获取升级数据包,包括,根据升级触发源的不同,选择不同的升级数据包获取方式:
若升级触发源为用户触发,则提示用户指定升级数据包位置;若升级触发源为联机自动触发,则确定升级数据包的下载源;
根据升级数据包位置或下载源,拷贝或下载升级数据包至管理分区。
3.根据权利要求1所述一种基于Hypervisor的多系统升级方法,其特征在于,所述步骤1和所述步骤2之间还包括,对升级数据包进行签名校验,若校验通过,则在管理分区中,设置升级标记、升级类型以及升级数据包位置信息,否则退出升级过程。
4.根据权利要求3所述一种基于Hypervisor的多系统升级方法,其特征在于,步骤2中,所述的判断需要升级的分区,具体为根据管理分区中所设置的升级类型判断需要升级的分区。
5.根据权利要求3所述一种基于Hypervisor的多系统升级方法,其特征在于,步骤3中,BootLoader提取Hypervisor分区的待升级内容之前,还包括:
检查管理分区的升级标记及现有分区内容是否可以正确引导,如果升级标记置位且现有分区内容可以正确引导,说明存在升级需求,则提取Hypervisor分区的待升级内容并打包生成历史备份,存入管理分区。
6.根据权利要求1或5所述一种基于Hypervisor的多系统升级方法,其特征在于,在打包生成历史备份时,还生成包校验码,所述包校验码与所述升级成功校验码一致。
7.根据权利要求1所述一种基于Hypervisor的多系统升级方法,其特征在于,所述Hypervisor分区或所述客户操作系统分区升级成功后,还包括:清除管理分区中的历史备份和升级数据包,同时清除升级标记。
8.根据权利要求1所述一种基于Hypervisor的多系统升级方法,其特征在于,所述Hypervisor分区或所述客户操作系统分区在利用历史备份进行恢复操作后:
BootLoader对Hypervisor分区进行引导,或Hypervisor对客户操作系统分区进行引导;
引导成功则进行日志记录,并清除管理分区的相关信息;所述相关信息包括升级标记、升级类型以及升级数据包以及历史备份数据。
CN201810998570.2A 2018-08-29 2018-08-29 一种基于Hypervisor的多系统升级方法 Active CN109117162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810998570.2A CN109117162B (zh) 2018-08-29 2018-08-29 一种基于Hypervisor的多系统升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810998570.2A CN109117162B (zh) 2018-08-29 2018-08-29 一种基于Hypervisor的多系统升级方法

Publications (2)

Publication Number Publication Date
CN109117162A true CN109117162A (zh) 2019-01-01
CN109117162B CN109117162B (zh) 2021-07-16

Family

ID=64860494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810998570.2A Active CN109117162B (zh) 2018-08-29 2018-08-29 一种基于Hypervisor的多系统升级方法

Country Status (1)

Country Link
CN (1) CN109117162B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717185A (zh) * 2019-10-18 2020-01-21 天津津航计算技术研究所 一种用于远程升级的安全认证方法
CN111522569A (zh) * 2020-05-09 2020-08-11 中瓴智行(成都)科技有限公司 基于Hypervisor的嵌入式多系统升级方法及计算机可读存储介质
CN117093246A (zh) * 2023-10-19 2023-11-21 深圳市掌锐电子有限公司 一种虚拟机中多操作系统ota ab分区升级的方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331318A (zh) * 2014-10-27 2015-02-04 上海斐讯数据通信技术有限公司 一种嵌入式双系统及其工作方法
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
CN104978231A (zh) * 2015-07-10 2015-10-14 上海斐讯数据通信技术有限公司 基于内部存储分区的多系统及其加载和切换方法
WO2016078060A1 (zh) * 2014-11-20 2016-05-26 宇龙计算机通信科技(深圳)有限公司 用于多系统终端的系统升级方法、升级装置和终端
CN105786549A (zh) * 2014-12-26 2016-07-20 乐视致新电子科技(天津)有限公司 智能设备及其升级方法
US20170249136A1 (en) * 2016-02-29 2017-08-31 International Business Machines Corporation Firmware management of sr-iov adapters
CN107436778A (zh) * 2017-03-07 2017-12-05 安徽科微智能科技有限公司 一种无人系统的高可靠性升级方法
CN107643937A (zh) * 2016-07-22 2018-01-30 北京金山云网络技术有限公司 一种虚拟机监视器升级方法及装置
US20180032409A1 (en) * 2016-07-26 2018-02-01 Netapp, Inc. Backup and recovery of application data of an application executing in a virtual machine
US20180113764A1 (en) * 2016-10-24 2018-04-26 Microsoft Technology Licensing, Llc Hypervisor Based Watchdog Timer

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331318A (zh) * 2014-10-27 2015-02-04 上海斐讯数据通信技术有限公司 一种嵌入式双系统及其工作方法
WO2016078060A1 (zh) * 2014-11-20 2016-05-26 宇龙计算机通信科技(深圳)有限公司 用于多系统终端的系统升级方法、升级装置和终端
CN106462422A (zh) * 2014-11-20 2017-02-22 宇龙计算机通信科技(深圳)有限公司 用于多系统终端的系统升级方法、升级装置和终端
CN104407938A (zh) * 2014-11-21 2015-03-11 上海爱数软件有限公司 一种虚拟机镜像级备份后的多种粒度恢复方法
CN105786549A (zh) * 2014-12-26 2016-07-20 乐视致新电子科技(天津)有限公司 智能设备及其升级方法
CN104978231A (zh) * 2015-07-10 2015-10-14 上海斐讯数据通信技术有限公司 基于内部存储分区的多系统及其加载和切换方法
US20170249136A1 (en) * 2016-02-29 2017-08-31 International Business Machines Corporation Firmware management of sr-iov adapters
CN107643937A (zh) * 2016-07-22 2018-01-30 北京金山云网络技术有限公司 一种虚拟机监视器升级方法及装置
US20180032409A1 (en) * 2016-07-26 2018-02-01 Netapp, Inc. Backup and recovery of application data of an application executing in a virtual machine
US20180113764A1 (en) * 2016-10-24 2018-04-26 Microsoft Technology Licensing, Llc Hypervisor Based Watchdog Timer
CN107436778A (zh) * 2017-03-07 2017-12-05 安徽科微智能科技有限公司 一种无人系统的高可靠性升级方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐勇等: "服务器虚拟化迁移和升级的实践", 《电脑知识与技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717185A (zh) * 2019-10-18 2020-01-21 天津津航计算技术研究所 一种用于远程升级的安全认证方法
CN110717185B (zh) * 2019-10-18 2023-06-02 天津津航计算技术研究所 一种用于远程升级的安全认证方法
CN111522569A (zh) * 2020-05-09 2020-08-11 中瓴智行(成都)科技有限公司 基于Hypervisor的嵌入式多系统升级方法及计算机可读存储介质
CN111522569B (zh) * 2020-05-09 2023-08-18 中瓴智行(成都)科技有限公司 基于Hypervisor的嵌入式多系统升级方法及计算机可读存储介质
CN117093246A (zh) * 2023-10-19 2023-11-21 深圳市掌锐电子有限公司 一种虚拟机中多操作系统ota ab分区升级的方法
CN117093246B (zh) * 2023-10-19 2024-02-23 深圳市掌锐电子有限公司 一种虚拟机中多操作系统ota ab分区升级的方法

Also Published As

Publication number Publication date
CN109117162B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN106020865B (zh) 一种系统升级方法和装置
CN103699421B (zh) 嵌入式设备系统升级方法及其装置
CN104679527B (zh) 虚拟机镜像离线升级方法
CN109117162A (zh) 一种基于Hypervisor的多系统升级方法
US10635473B2 (en) Setting support program, setting support method, and setting support device
CN107493290B (zh) Android智能电视系统软件进行OTA升级的方法
CN105094927A (zh) 一种设备固件升级方法和装置
CN107908496A (zh) 用于在mcu固件出错后自动恢复的方法和mcu
CN107153571A (zh) 一种虚拟化管理节点的部署方法及装置
CN105573797B (zh) 嵌入式系统的可逆离线升级方法及装置
US20170115982A1 (en) Multi-system terminal system updating method, updating device and terminal
CN103186390A (zh) 家庭网关及其软件升级方法
CN108108193A (zh) 一种安全易用的固件升级方法及系统
CN109885337A (zh) 一种系统版本升级方法、装置、设备及可读存储介质
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN109542480A (zh) 美甲打印装置的操作系统升级方法、装置和介质
CN105183521A (zh) 一种安装计算操作系统的方法及usb接口存储设备
CN109582332A (zh) 互联网摄像机的系统升级方法及装置
CN106952425A (zh) 一种终端远程升级方法和pos终端
CN106156626A (zh) 一种系统安全升级的方法和装置
CN102262573B (zh) 操作系统启动保护方法和装置
CN102541585B (zh) 一种远程升级方法及嵌入式系统
CN109086085A (zh) 一种操作系统启动管理方法和装置
CN105975322A (zh) 一种用于程序更新的装置、方法及微控制器
CN106445737A (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