專利名稱:嵌入式虛擬化快速啟動方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及嵌入式虛擬化領域。具體而言,涉及一種嵌入式虛擬化大規(guī)模商用時的快速啟動方法和系統(tǒng)。
背景技術:
隨著企業(yè)硬件成本的持續(xù)增長,虛擬化技術由于其降成本和安全性等特點得到了長足發(fā)展,但嵌入式虛擬化目前還處于初始階段,傳統(tǒng)嵌入式虛擬化主要用在系統(tǒng)仿真方面,啟動完全模擬真機,啟動時間長。如果將嵌入式虛擬化拓展到應用服務上,用戶更多地關心應用,而不關心啟動過程是否與真機完全一致,用戶需要快速響應及無縫使用(即用戶重新上線后,應用能恢復到上次使用結(jié)束時狀態(tài)),為了實現(xiàn)該功能,簡單的方法是嵌入式虛擬機一直在線,當用戶下線后,虛擬機繼續(xù)運行,這種處理方式雖然能滿足用戶需求,但是由于虛擬機一直運行, 會造成資源的浪費。本發(fā)明提出的嵌入式虛擬化快速啟動方法及系統(tǒng)能在用戶下線時自動備份嵌入式虛擬機狀態(tài),當用戶重新上線時,無需模擬繁瑣的嵌入式設備啟動過程,直接將備份文件恢復,用戶所見即上次工作狀態(tài)。
發(fā)明內(nèi)容
本發(fā)明提出的嵌入式快速啟動系統(tǒng)包含嵌入式操作系統(tǒng)模塊、用戶連接模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊及用戶文件管理模塊。其系統(tǒng)架構(gòu)圖如圖1所示,其中嵌入式操作系統(tǒng)模塊為虛擬嵌入式設備運行的操作系統(tǒng),可以是windowsmobile、 Android、symbian 等。用戶連接模塊主要功能為檢測用戶連接狀態(tài),如用戶下線,標記用戶為離線狀態(tài), 暫停虛擬機,并發(fā)送備份命令到嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊。如用戶登陸且之前為離線狀態(tài),則發(fā)送恢復命令到系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊,接收到恢復結(jié)束命令后,建立用戶與嵌入式虛擬機的連接。虛擬機操作系統(tǒng)模塊檢測用戶連接模塊發(fā)送的命令,將操作系統(tǒng)文件備份至硬盤或者恢復到虛擬機在宿主機內(nèi)存所分配的空間中。嵌入式系統(tǒng)內(nèi)存管理模塊通過檢測用戶連接模塊發(fā)送的命令執(zhí)行相應的備份和恢復操作。備份操作對象為嵌入式系統(tǒng)內(nèi)存,將內(nèi)存直接拷貝為單一文件存儲到宿主機硬盤,并標記為該虛擬機所有?;謴筒僮鲗?nèi)存鏡像文件拷貝到嵌入式虛擬機內(nèi)存在宿主機內(nèi)存上分配的空間上。虛擬嵌入式硬件管理模塊通過檢測用戶連接模塊發(fā)送的命令執(zhí)行相應的備份和恢復操作。備份操作對象為嵌入式硬件寄存器,將寄存器值按預先約定的順序拷貝為單一文件存儲到宿主機硬盤,并標記為該虛擬機所有。恢復操作將寄存器鏡像文件按順序拷貝到嵌入式虛擬機硬件寄存器在宿主機內(nèi)存上分配的空間上。用戶文件管理模塊檢測到備份命令時且待操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊備份操作完成后,拷貝用戶文件系統(tǒng)到虛擬機鏡像目錄,拷貝為單一文件,并標記為該虛擬機所有,備份結(jié)束后,發(fā)送備份結(jié)束命令到用戶連接模塊;恢復操作將用戶文件系統(tǒng)鏡像文件拷貝至工作目錄,恢復次序為先恢復操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊,最后恢復用戶文件系統(tǒng),恢復之后,發(fā)送恢復結(jié)束命令到用戶連接模塊。對于新建用戶,采用裸機備份的方式實現(xiàn)新建用戶的快速啟動,即預先備份一個管理員定義的工作狀態(tài),將該虛擬機備份,對新建用戶,恢復到管理員定義的工作狀態(tài)。系統(tǒng)備份流程如下1、檢測用戶連接狀態(tài),如用戶在線,且上次檢測為在線,不執(zhí)行操作;如用戶離線,且上次檢測為在線,則執(zhí)行第2步;2、用戶連接模塊對虛擬機發(fā)送暫停命令,并發(fā)送備份命令到嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊;3、嵌入式虛擬機操作系統(tǒng)模塊備份操作系統(tǒng)到預定義目錄,釋放宿主機對應部分內(nèi)存,更改嵌入式系統(tǒng)內(nèi)存所有者狀態(tài)為管理員可讀寫,備份該內(nèi)存為單一文件到指定目錄,釋放宿主機對應部分內(nèi)存,更改虛擬嵌入式硬件為管理員可讀寫,將所有寄存器(包括虛擬嵌入式硬件可讀寫、只讀、只寫、不可見寄存器)按預定義順序整體備份為單一文件到指定目錄,釋放宿主機對應部分內(nèi)存;4、更改用戶文件權限為管理員可讀寫,拷貝為單一文件至指定目錄,發(fā)送備份結(jié)束命令;5、釋放虛擬機,并標記用戶及虛擬機狀態(tài)為離線。嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊的備份次序無絕對要求,其次序可以自由排列。系統(tǒng)恢復流程如下1、檢測用戶連接狀態(tài),如用戶連接,且虛擬機狀態(tài)為離線,則執(zhí)行第2步,否則不執(zhí)行操作;2、啟動虛擬機硬件環(huán)境;3、發(fā)送恢復命令到嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊;4、檢測嵌入式虛擬機操作系統(tǒng)文件、虛擬機內(nèi)存文件,根據(jù)其大小分配虛擬機對應內(nèi)存空間,操作系統(tǒng)執(zhí)行空間及硬件環(huán)境執(zhí)行內(nèi)存空間為預定義,分配內(nèi)存空間并建立內(nèi)存物理映射表,更新內(nèi)存邏輯映射表,宿主機為虛擬機系統(tǒng)分配的內(nèi)存空間權限為管理員所有;5、從指定目錄恢復嵌入式虛擬機操作系統(tǒng)到內(nèi)存,更改該部分內(nèi)存所有者狀態(tài)為虛擬機所有;恢復嵌入式虛擬機內(nèi)存鏡像文件到對應內(nèi)存空間,更改該部分內(nèi)存權限為虛擬機所有;讀取虛擬嵌入式硬件寄存器文件,按預先約定恢復至虛擬嵌入式硬件,更改操作系統(tǒng)執(zhí)行空間及硬件系統(tǒng)空間內(nèi)存權限為虛擬機所有;
6、恢復用戶文件到虛擬機分配目錄,刪除該虛擬機備份文件;7、啟動虛擬機。嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊的恢復次序也無絕對要求,其次序可以自由排列進一步地,為了避免由于嵌入式虛擬機系統(tǒng)崩潰導致的虛擬機備份不正常,可采用定時備份的方法,例如如果用戶在線,則每半個小時備份一次,備份只保留最近2次備份,則在系統(tǒng)崩潰時,可為用戶恢復到最近一次正常工作的環(huán)境。
圖1是嵌入式虛擬化快速啟動系統(tǒng)架構(gòu)圖
具體實施例方式本實施例虛擬化操作系統(tǒng)為Android 1. 0操作系統(tǒng)。操作系統(tǒng)分配空間為40兆字節(jié),操作系統(tǒng)執(zhí)行空間為45兆字節(jié),嵌入式虛擬機內(nèi)存空間為1 兆字節(jié),嵌入式虛擬硬件預分配內(nèi)存空間為60兆字節(jié)。傳統(tǒng)嵌入式虛擬化啟動時,首先虛擬化完整硬件,然后按照硬件啟動的順序執(zhí)行指令,啟動后為操作系統(tǒng)啟動桌面。本實施例中,先按傳統(tǒng)方法啟動,將啟動后的嵌入式虛擬機進行備份操作,稱為裸備份。該虛擬機不安裝任何應用。如果用戶為新建用戶,則直接根據(jù)裸備份啟動一個虛擬機,需要注意地是,裸備份在啟動虛擬機后不刪除。如用戶不是新建用戶,本實施例采用實時備份和定時備份結(jié)合的方式,即用戶正常使用狀態(tài)下,每半個小時備份一次,當用戶斷開連接時,自動備份一次,定時備份保留2 份歷史備份。如用戶不是新建用戶,則恢復首先采用實時備份恢復,如果用戶反饋實時備份工作不正常,則采用歷史備份恢復。備份過程中,用戶連接模塊發(fā)送備份命令到嵌入式操作系統(tǒng)模塊,先執(zhí)行嵌入式操作系統(tǒng)備份,然后執(zhí)行嵌入式虛擬機內(nèi)存?zhèn)浞?,再?zhí)行虛擬嵌入式硬件寄存器備份,最后執(zhí)行用戶文件系統(tǒng)備份?;謴桶凑諅浞莸哪嫦蜻\行。本發(fā)明還可有其他多種實施例,在不背離本發(fā)明精神及其實質(zhì)的情況下,熟悉本領域的技術人員可根據(jù)本發(fā)明做出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發(fā)明所附的權利要求的保護范圍。
權利要求
1.嵌入式虛擬化快速啟動系統(tǒng),該系統(tǒng)包含嵌入式操作系統(tǒng)模塊、用戶連接模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊及用戶文件管理模塊。
2.根據(jù)權利要求1所述的內(nèi)容,其特征在于,嵌入式操作系統(tǒng)模塊為虛擬嵌入式設備運行的操作系統(tǒng);用戶連接模塊主要功能為檢測用戶連接狀態(tài),如用戶下線,標記用戶為離線狀態(tài),暫停虛擬機,并發(fā)送備份命令到嵌入式虛擬機操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊。如用戶登陸且之前為離線狀態(tài),則發(fā)送恢復命令到系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊,接收到恢復結(jié)束命令后,建立用戶與嵌入式虛擬機的連接;虛擬機操作系統(tǒng)模塊檢測用戶連接模塊發(fā)送的命令,將操作系統(tǒng)文件備份至硬盤或者恢復到虛擬機在宿主機內(nèi)存所分配的空間中;嵌入式系統(tǒng)內(nèi)存管理模塊通過檢測用戶連接模塊發(fā)送的命令執(zhí)行相應的備份和恢復操作。備份操作對象為嵌入式系統(tǒng)內(nèi)存,將內(nèi)存直接拷貝為單一文件存儲到宿主機硬盤,并標記為該虛擬機所有?;謴筒僮鲗?nèi)存鏡像文件拷貝到嵌入式虛擬機內(nèi)存在宿主機內(nèi)存上分配的空間上;虛擬嵌入式硬件管理模塊通過檢測用戶連接模塊發(fā)送的命令執(zhí)行相應的備份和恢復操作。備份操作對象為嵌入式硬件寄存器,將寄存器值按預先約定的順序拷貝為單一文件存儲到宿主機硬盤,并標記為該虛擬機所有?;謴筒僮鲗⒓拇嫫麋R像文件按順序拷貝到嵌入式虛擬機硬件寄存器在宿主機內(nèi)存上分配的空間上;用戶文件管理模塊檢測到備份命令時且待操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊備份操作完成后,拷貝用戶文件系統(tǒng)到虛擬機鏡像目錄,拷貝為單一文件,并標記為該虛擬機所有,備份結(jié)束后,發(fā)送備份結(jié)束命令到用戶連接模塊;恢復操作將用戶文件系統(tǒng)鏡像文件拷貝至工作目錄,恢復次序為先恢復操作系統(tǒng)模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊,最后恢復用戶文件系統(tǒng),恢復之后,發(fā)送恢復結(jié)束命令到用戶連接模塊。
3.嵌入式虛擬化快速啟動方法,其特征在于,用戶下線時自動備份嵌入式虛擬機狀態(tài), 當用戶重新上線時,無需模擬繁瑣的嵌入式設備啟動過程,直接將備份文件恢復,用戶所見即上次工作狀態(tài)。
4.如權利要求3所述的方法,其特征在于,系統(tǒng)備份流程如下1)檢測用戶連接狀態(tài),如用戶在線,且上次檢測為在線,不執(zhí)行操作;如用戶離線,且上次檢測為在線,則執(zhí)行第2步;2)用戶連接模塊對虛擬機發(fā)送暫停命令,并發(fā)送備份命令到嵌入式虛擬機操作系統(tǒng)模塊,嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊;3)嵌入式虛擬機操作系統(tǒng)模塊備份操作系統(tǒng)到預定義目錄,釋放宿主機對應部分內(nèi)存,更改嵌入式系統(tǒng)內(nèi)存所有者狀態(tài)為管理員可讀寫,備份該內(nèi)存為單一文件到指定目錄, 釋放宿主機對應部分內(nèi)存,更改虛擬嵌入式硬件為管理員可讀寫,將所有寄存器(包括虛擬嵌入式硬件所有可讀寫、只讀、只寫、不可見寄存器)按預定義順序整體備份為單一文件到指定目錄,釋放宿主機對應部分內(nèi)存;4)更改用戶文件權限為管理員可讀寫,拷貝為單一文件至指定目錄,發(fā)送備份結(jié)束命令;5)釋放虛擬機,并標記用戶及虛擬機狀態(tài)為離線。
5.如權利要求3所述的方法,其特征在于,系統(tǒng)恢復流程如下1)檢測用戶連接狀態(tài),如用戶連接,且虛擬機狀態(tài)為離線,則執(zhí)行第2步,否則不執(zhí)行操作;2)啟動虛擬機硬件環(huán)境;3)發(fā)送恢復命令到嵌入式虛擬機操作系統(tǒng)模塊,嵌入式系統(tǒng)內(nèi)存管理模塊、虛擬嵌入式硬件管理模塊和用戶文件管理模塊;4)檢測嵌入式虛擬機操作系統(tǒng)文件、虛擬機內(nèi)存文件,根據(jù)其大小分配虛擬機對應內(nèi)存空間,操作系統(tǒng)執(zhí)行空間及硬件環(huán)境執(zhí)行內(nèi)存空間為預定義,分配內(nèi)存空間并建立內(nèi)存物理映射表,更新內(nèi)存邏輯映射表,宿主機為虛擬機系統(tǒng)分配的內(nèi)存空間權限為管理員所有;5)從指定目錄恢復嵌入式虛擬機操作系統(tǒng)到內(nèi)存,更改該部分內(nèi)存所有者狀態(tài)為虛擬機所有;恢復嵌入式虛擬機內(nèi)存鏡像文件到對應內(nèi)存空間,更改該部分內(nèi)存權限為虛擬機所有;讀取虛擬嵌入式硬件寄存器文件,按預先約定恢復至虛擬嵌入式硬件,更改操作系統(tǒng)執(zhí)行空間及硬件系統(tǒng)空間內(nèi)存權限為虛擬機所有;6)恢復用戶文件到虛擬機分配目錄,刪除該虛擬機備份文件;7)啟動虛擬機。
6.如權利要求3所述的方法,其特征在于,對于新建用戶,采用裸機備份的方式實現(xiàn)新建用戶的快速啟動,即預先備份一個管理員定義的工作狀態(tài),將該虛擬機備份,對新建用戶,恢復到管理員定義的工作狀態(tài);
7.如權利要求3所述的方法,其特征在于,為了避免由于嵌入式虛擬機系統(tǒng)崩潰導致的虛擬機備份不正常,可采用定時備份的方法。
全文摘要
本發(fā)明公開了一種嵌入式虛擬化快速啟動方法及系統(tǒng),本發(fā)明提供的嵌入式虛擬化快速啟動方法在大規(guī)模商用時,能快速啟動用戶虛擬機,減少用戶的等待時間,提升用戶體驗。該系統(tǒng)包括嵌入式操作系統(tǒng)模塊,用戶連接模塊、嵌入式系統(tǒng)內(nèi)存管理模塊,虛擬嵌入式硬件管理模塊及用戶文件管理模塊。用戶連接模塊用來檢測用戶狀態(tài),并執(zhí)行相應操作;嵌入式操作系統(tǒng)模塊為用戶虛擬系統(tǒng)運行的操作系統(tǒng);嵌入式系統(tǒng)內(nèi)存管理模塊執(zhí)行嵌入式系統(tǒng)內(nèi)存的硬盤備份及恢復;虛擬嵌入式硬件管理模塊執(zhí)行硬件寄存器的備份及恢復;用戶文件管理系統(tǒng)用來備份及恢復用戶文件系統(tǒng)。通過自動備份嵌入式虛擬機的內(nèi)存、硬件寄存器及用戶文件系統(tǒng),用戶再次使用時通過將備份內(nèi)容恢復到虛擬機的相應位置,達到快速啟動的目的。用戶使用對象即恢復到上次工作狀態(tài)。
文檔編號G06F9/455GK102193813SQ201010119938
公開日2011年9月21日 申請日期2010年3月9日 優(yōu)先權日2010年3月9日
發(fā)明者楊霄鵬, 程作仁, 費曉峰 申請人:上海拜翰網(wǎng)絡科技有限公司