专利名称:嵌入式虚拟化快速启动方法及系统的制作方法
技术领域:
本发明涉及嵌入式虚拟化领域。具体而言,涉及一种嵌入式虚拟化大规模商用时的快速启动方法和系统。
背景技术:
随着企业硬件成本的持续增长,虚拟化技术由于其降成本和安全性等特点得到了长足发展,但嵌入式虚拟化目前还处于初始阶段,传统嵌入式虚拟化主要用在系统仿真方面,启动完全模拟真机,启动时间长。如果将嵌入式虚拟化拓展到应用服务上,用户更多地关心应用,而不关心启动过程是否与真机完全一致,用户需要快速响应及无缝使用(即用户重新上线后,应用能恢复到上次使用结束时状态),为了实现该功能,简单的方法是嵌入式虚拟机一直在线,当用户下线后,虚拟机继续运行,这种处理方式虽然能满足用户需求,但是由于虚拟机一直运行, 会造成资源的浪费。本发明提出的嵌入式虚拟化快速启动方法及系统能在用户下线时自动备份嵌入式虚拟机状态,当用户重新上线时,无需模拟繁琐的嵌入式设备启动过程,直接将备份文件恢复,用户所见即上次工作状态。
发明内容
本发明提出的嵌入式快速启动系统包含嵌入式操作系统模块、用户连接模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块及用户文件管理模块。其系统架构图如图1所示,其中嵌入式操作系统模块为虚拟嵌入式设备运行的操作系统,可以是windowsmobile、 Android、symbian 等。用户连接模块主要功能为检测用户连接状态,如用户下线,标记用户为离线状态, 暂停虚拟机,并发送备份命令到嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块。如用户登陆且之前为离线状态,则发送恢复命令到系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块,接收到恢复结束命令后,建立用户与嵌入式虚拟机的连接。虚拟机操作系统模块检测用户连接模块发送的命令,将操作系统文件备份至硬盘或者恢复到虚拟机在宿主机内存所分配的空间中。嵌入式系统内存管理模块通过检测用户连接模块发送的命令执行相应的备份和恢复操作。备份操作对象为嵌入式系统内存,将内存直接拷贝为单一文件存储到宿主机硬盘,并标记为该虚拟机所有。恢复操作将内存镜像文件拷贝到嵌入式虚拟机内存在宿主机内存上分配的空间上。虚拟嵌入式硬件管理模块通过检测用户连接模块发送的命令执行相应的备份和恢复操作。备份操作对象为嵌入式硬件寄存器,将寄存器值按预先约定的顺序拷贝为单一文件存储到宿主机硬盘,并标记为该虚拟机所有。恢复操作将寄存器镜像文件按顺序拷贝到嵌入式虚拟机硬件寄存器在宿主机内存上分配的空间上。用户文件管理模块检测到备份命令时且待操作系统模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块备份操作完成后,拷贝用户文件系统到虚拟机镜像目录,拷贝为单一文件,并标记为该虚拟机所有,备份结束后,发送备份结束命令到用户连接模块;恢复操作将用户文件系统镜像文件拷贝至工作目录,恢复次序为先恢复操作系统模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块,最后恢复用户文件系统,恢复之后,发送恢复结束命令到用户连接模块。对于新建用户,采用裸机备份的方式实现新建用户的快速启动,即预先备份一个管理员定义的工作状态,将该虚拟机备份,对新建用户,恢复到管理员定义的工作状态。系统备份流程如下1、检测用户连接状态,如用户在线,且上次检测为在线,不执行操作;如用户离线,且上次检测为在线,则执行第2步;2、用户连接模块对虚拟机发送暂停命令,并发送备份命令到嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块;3、嵌入式虚拟机操作系统模块备份操作系统到预定义目录,释放宿主机对应部分内存,更改嵌入式系统内存所有者状态为管理员可读写,备份该内存为单一文件到指定目录,释放宿主机对应部分内存,更改虚拟嵌入式硬件为管理员可读写,将所有寄存器(包括虚拟嵌入式硬件可读写、只读、只写、不可见寄存器)按预定义顺序整体备份为单一文件到指定目录,释放宿主机对应部分内存;4、更改用户文件权限为管理员可读写,拷贝为单一文件至指定目录,发送备份结束命令;5、释放虚拟机,并标记用户及虚拟机状态为离线。嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块的备份次序无绝对要求,其次序可以自由排列。系统恢复流程如下1、检测用户连接状态,如用户连接,且虚拟机状态为离线,则执行第2步,否则不执行操作;2、启动虚拟机硬件环境;3、发送恢复命令到嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块;4、检测嵌入式虚拟机操作系统文件、虚拟机内存文件,根据其大小分配虚拟机对应内存空间,操作系统执行空间及硬件环境执行内存空间为预定义,分配内存空间并建立内存物理映射表,更新内存逻辑映射表,宿主机为虚拟机系统分配的内存空间权限为管理员所有;5、从指定目录恢复嵌入式虚拟机操作系统到内存,更改该部分内存所有者状态为虚拟机所有;恢复嵌入式虚拟机内存镜像文件到对应内存空间,更改该部分内存权限为虚拟机所有;读取虚拟嵌入式硬件寄存器文件,按预先约定恢复至虚拟嵌入式硬件,更改操作系统执行空间及硬件系统空间内存权限为虚拟机所有;
6、恢复用户文件到虚拟机分配目录,删除该虚拟机备份文件;7、启动虚拟机。嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块的恢复次序也无绝对要求,其次序可以自由排列进一步地,为了避免由于嵌入式虚拟机系统崩溃导致的虚拟机备份不正常,可采用定时备份的方法,例如如果用户在线,则每半个小时备份一次,备份只保留最近2次备份,则在系统崩溃时,可为用户恢复到最近一次正常工作的环境。
图1是嵌入式虚拟化快速启动系统架构图
具体实施例方式本实施例虚拟化操作系统为Android 1. 0操作系统。操作系统分配空间为40兆字节,操作系统执行空间为45兆字节,嵌入式虚拟机内存空间为1 兆字节,嵌入式虚拟硬件预分配内存空间为60兆字节。传统嵌入式虚拟化启动时,首先虚拟化完整硬件,然后按照硬件启动的顺序执行指令,启动后为操作系统启动桌面。本实施例中,先按传统方法启动,将启动后的嵌入式虚拟机进行备份操作,称为裸备份。该虚拟机不安装任何应用。如果用户为新建用户,则直接根据裸备份启动一个虚拟机,需要注意地是,裸备份在启动虚拟机后不删除。如用户不是新建用户,本实施例采用实时备份和定时备份结合的方式,即用户正常使用状态下,每半个小时备份一次,当用户断开连接时,自动备份一次,定时备份保留2 份历史备份。如用户不是新建用户,则恢复首先采用实时备份恢复,如果用户反馈实时备份工作不正常,则采用历史备份恢复。备份过程中,用户连接模块发送备份命令到嵌入式操作系统模块,先执行嵌入式操作系统备份,然后执行嵌入式虚拟机内存备份,再执行虚拟嵌入式硬件寄存器备份,最后执行用户文件系统备份。恢复按照备份的逆向运行。本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.嵌入式虚拟化快速启动系统,该系统包含嵌入式操作系统模块、用户连接模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块及用户文件管理模块。
2.根据权利要求1所述的内容,其特征在于,嵌入式操作系统模块为虚拟嵌入式设备运行的操作系统;用户连接模块主要功能为检测用户连接状态,如用户下线,标记用户为离线状态,暂停虚拟机,并发送备份命令到嵌入式虚拟机操作系统模块、嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块。如用户登陆且之前为离线状态,则发送恢复命令到系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块,接收到恢复结束命令后,建立用户与嵌入式虚拟机的连接;虚拟机操作系统模块检测用户连接模块发送的命令,将操作系统文件备份至硬盘或者恢复到虚拟机在宿主机内存所分配的空间中;嵌入式系统内存管理模块通过检测用户连接模块发送的命令执行相应的备份和恢复操作。备份操作对象为嵌入式系统内存,将内存直接拷贝为单一文件存储到宿主机硬盘,并标记为该虚拟机所有。恢复操作将内存镜像文件拷贝到嵌入式虚拟机内存在宿主机内存上分配的空间上;虚拟嵌入式硬件管理模块通过检测用户连接模块发送的命令执行相应的备份和恢复操作。备份操作对象为嵌入式硬件寄存器,将寄存器值按预先约定的顺序拷贝为单一文件存储到宿主机硬盘,并标记为该虚拟机所有。恢复操作将寄存器镜像文件按顺序拷贝到嵌入式虚拟机硬件寄存器在宿主机内存上分配的空间上;用户文件管理模块检测到备份命令时且待操作系统模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块备份操作完成后,拷贝用户文件系统到虚拟机镜像目录,拷贝为单一文件,并标记为该虚拟机所有,备份结束后,发送备份结束命令到用户连接模块;恢复操作将用户文件系统镜像文件拷贝至工作目录,恢复次序为先恢复操作系统模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块,最后恢复用户文件系统,恢复之后,发送恢复结束命令到用户连接模块。
3.嵌入式虚拟化快速启动方法,其特征在于,用户下线时自动备份嵌入式虚拟机状态, 当用户重新上线时,无需模拟繁琐的嵌入式设备启动过程,直接将备份文件恢复,用户所见即上次工作状态。
4.如权利要求3所述的方法,其特征在于,系统备份流程如下1)检测用户连接状态,如用户在线,且上次检测为在线,不执行操作;如用户离线,且上次检测为在线,则执行第2步;2)用户连接模块对虚拟机发送暂停命令,并发送备份命令到嵌入式虚拟机操作系统模块,嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块;3)嵌入式虚拟机操作系统模块备份操作系统到预定义目录,释放宿主机对应部分内存,更改嵌入式系统内存所有者状态为管理员可读写,备份该内存为单一文件到指定目录, 释放宿主机对应部分内存,更改虚拟嵌入式硬件为管理员可读写,将所有寄存器(包括虚拟嵌入式硬件所有可读写、只读、只写、不可见寄存器)按预定义顺序整体备份为单一文件到指定目录,释放宿主机对应部分内存;4)更改用户文件权限为管理员可读写,拷贝为单一文件至指定目录,发送备份结束命令;5)释放虚拟机,并标记用户及虚拟机状态为离线。
5.如权利要求3所述的方法,其特征在于,系统恢复流程如下1)检测用户连接状态,如用户连接,且虚拟机状态为离线,则执行第2步,否则不执行操作;2)启动虚拟机硬件环境;3)发送恢复命令到嵌入式虚拟机操作系统模块,嵌入式系统内存管理模块、虚拟嵌入式硬件管理模块和用户文件管理模块;4)检测嵌入式虚拟机操作系统文件、虚拟机内存文件,根据其大小分配虚拟机对应内存空间,操作系统执行空间及硬件环境执行内存空间为预定义,分配内存空间并建立内存物理映射表,更新内存逻辑映射表,宿主机为虚拟机系统分配的内存空间权限为管理员所有;5)从指定目录恢复嵌入式虚拟机操作系统到内存,更改该部分内存所有者状态为虚拟机所有;恢复嵌入式虚拟机内存镜像文件到对应内存空间,更改该部分内存权限为虚拟机所有;读取虚拟嵌入式硬件寄存器文件,按预先约定恢复至虚拟嵌入式硬件,更改操作系统执行空间及硬件系统空间内存权限为虚拟机所有;6)恢复用户文件到虚拟机分配目录,删除该虚拟机备份文件;7)启动虚拟机。
6.如权利要求3所述的方法,其特征在于,对于新建用户,采用裸机备份的方式实现新建用户的快速启动,即预先备份一个管理员定义的工作状态,将该虚拟机备份,对新建用户,恢复到管理员定义的工作状态;
7.如权利要求3所述的方法,其特征在于,为了避免由于嵌入式虚拟机系统崩溃导致的虚拟机备份不正常,可采用定时备份的方法。
全文摘要
本发明公开了一种嵌入式虚拟化快速启动方法及系统,本发明提供的嵌入式虚拟化快速启动方法在大规模商用时,能快速启动用户虚拟机,减少用户的等待时间,提升用户体验。该系统包括嵌入式操作系统模块,用户连接模块、嵌入式系统内存管理模块,虚拟嵌入式硬件管理模块及用户文件管理模块。用户连接模块用来检测用户状态,并执行相应操作;嵌入式操作系统模块为用户虚拟系统运行的操作系统;嵌入式系统内存管理模块执行嵌入式系统内存的硬盘备份及恢复;虚拟嵌入式硬件管理模块执行硬件寄存器的备份及恢复;用户文件管理系统用来备份及恢复用户文件系统。通过自动备份嵌入式虚拟机的内存、硬件寄存器及用户文件系统,用户再次使用时通过将备份内容恢复到虚拟机的相应位置,达到快速启动的目的。用户使用对象即恢复到上次工作状态。
文档编号G06F9/455GK102193813SQ201010119938
公开日2011年9月21日 申请日期2010年3月9日 优先权日2010年3月9日
发明者杨霄鹏, 程作仁, 费晓峰 申请人:上海拜翰网络科技有限公司