欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備的制作方法

文檔序號(hào):6467630閱讀:169來(lái)源:國(guó)知局

專利名稱::升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種升級(jí)活動(dòng)(active)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備。
背景技術(shù)
:在當(dāng)前的商業(yè)領(lǐng)域中,可用性(availability)成為評(píng)價(jià)系統(tǒng)性能的一個(gè)關(guān)鍵因素。可用性是指當(dāng)在未知或隨機(jī)的時(shí)刻調(diào)用一項(xiàng)任務(wù)時(shí),提供服務(wù)的系統(tǒng)、子系統(tǒng)或設(shè)備能夠工作并且在該任務(wù)開(kāi)始時(shí)處于可承擔(dān)任務(wù)(committable)的狀態(tài)的程度。簡(jiǎn)單地說(shuō),可用性可以用系統(tǒng)處于工作狀態(tài)下的時(shí)間的比例來(lái)表示。從高端的銀行服務(wù)到低端的web服務(wù)的很多服務(wù),24X7不間斷工作是一項(xiàng)重要要求。在過(guò)去的數(shù)十年中,為了獲得高可用性(HA)的系統(tǒng),已經(jīng)在硬件級(jí)HA設(shè)備、軟件級(jí)中間件、集群及面向HA的應(yīng)用程序設(shè)計(jì)原理等多個(gè)方面開(kāi)發(fā)了很多技術(shù)。目前,商業(yè)系統(tǒng)的技術(shù)趨勢(shì)是面向服務(wù)架構(gòu)(SOA),其基本概念是建立很多單獨(dú)的、可重用的獨(dú)立服務(wù),這些服務(wù)能夠被快速地集成到一個(gè)大系統(tǒng)中。虛擬化成為容留大量這種獨(dú)立服務(wù)的良好平臺(tái)。具體地,在物理機(jī)上建立多個(gè)彼此獨(dú)立的虛擬機(jī)(VM),每個(gè)小的服務(wù)在各個(gè)虛擬機(jī)中運(yùn)行。由此,虛擬化能夠?qū)⑻峁└鞣N服務(wù)的大量獨(dú)立的小機(jī)器合并到一個(gè)大服務(wù)器上,從而降低了顧客擁有能夠提供多種服務(wù)的系統(tǒng)的成本并且使得整個(gè)系統(tǒng)易于管理,能夠更高效地使用大服務(wù)器的資源。由此,消除了為單個(gè)工作負(fù)荷峰值過(guò)度配置資源的需要。然而,使用虛擬機(jī)的傳統(tǒng)商業(yè)服務(wù)系統(tǒng)需要解決的一個(gè)問(wèn)題是如何在保持所提供的服務(wù)的可用性的同時(shí)更新支持該服務(wù)的平臺(tái)(例如,該服務(wù)所在的虛擬機(jī)的操作系統(tǒng),即客戶操作系統(tǒng))。傳統(tǒng)地,在正在運(yùn)行的虛擬機(jī)(即,活動(dòng)虛擬機(jī))的客戶操作系統(tǒng)(OS)中安裝了用于升級(jí)該客戶操作系統(tǒng)的補(bǔ)丁之后,往往需要重新啟動(dòng)該虛擬機(jī),這將導(dǎo)致在重新啟動(dòng)期間通過(guò)該虛擬機(jī)提供的服務(wù)將轉(zhuǎn)變?yōu)椴豢捎脿顟B(tài),使得客戶蒙受商業(yè)上的損失。因此,需要一種能夠在保持服務(wù)可用性的同時(shí)升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備。
發(fā)明內(nèi)容考慮到以上問(wèn)題而做出了本發(fā)明。本發(fā)明的一個(gè)目的是提供一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備,其能夠在保持通過(guò)該活動(dòng)虛擬機(jī)提供的服務(wù)的可用性的同時(shí)完成對(duì)該虛擬機(jī)的客戶操作系統(tǒng)的升級(jí),從而提高整個(gè)系統(tǒng)的可用性。根據(jù)本發(fā)明的一個(gè)方面,提供了一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法,包括復(fù)制活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng);將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中;暫停備份虛擬機(jī);將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用4程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生備份進(jìn)程;將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源;以及恢復(fù)運(yùn)行備份虛擬機(jī)。根據(jù)本發(fā)明的另一方面,提供了一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的設(shè)備,包括復(fù)制單元,復(fù)制活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級(jí)單元,升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng);合并單元,將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中;遷移單元,將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生備份進(jìn)程,并且將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源;以及控制單元,其在遷移單元遷移所述活動(dòng)進(jìn)程和資源之前暫停備份虛擬機(jī),并且在遷移單元遷移所述活動(dòng)進(jìn)程和資源之后恢復(fù)運(yùn)行該備份虛擬機(jī)。根據(jù)本發(fā)明上述方面的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備能夠在不中斷由活動(dòng)虛擬機(jī)提供的服務(wù)的情況下,更新該活動(dòng)虛擬機(jī)的客戶操作系統(tǒng),從而提高整個(gè)系統(tǒng)的可用性。通過(guò)結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)描述,本發(fā)明的上述和其它目的、特征、優(yōu)點(diǎn)將會(huì)變得更加清楚,其中圖1是示出根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法的流程圖;圖2是示出在圖1所示的步驟S105中遷移Java應(yīng)用程序的活動(dòng)進(jìn)程的操作的流程圖;圖3是示出在圖l所示的步驟S106中遷移Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源的操作的流程圖;圖4是示出根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的設(shè)備的框圖。具體實(shí)施例方式下面將參照附圖來(lái)描述根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)(active)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備。在附圖中,相同的參考標(biāo)號(hào)自始至終表示相同的元件。應(yīng)當(dāng)理解這里描述的實(shí)施例僅僅是說(shuō)明性的,而不應(yīng)被解釋為限制本發(fā)明的范圍。眾所周知,通過(guò)在物理機(jī)的操作系統(tǒng)(稱為宿主操作系統(tǒng)或宿主OS)安裝諸如VMware等的虛擬機(jī)軟件并且利用該虛擬機(jī)軟件進(jìn)行配置來(lái)在物理機(jī)上形成一個(gè)或多個(gè)虛擬機(jī)。根據(jù)需要,可以在各個(gè)虛擬機(jī)中安裝被稱為客戶操作系統(tǒng)(GuestOS)的操作系統(tǒng),例如^Vindows和Li皿x等,并且可以通過(guò)在該客戶操作系統(tǒng)上運(yùn)行各種應(yīng)用程序(例如Java應(yīng)用程序)以提供相應(yīng)的服務(wù)。從物理機(jī)的角度來(lái)看,所述虛擬機(jī)對(duì)應(yīng)于存儲(chǔ)在物理機(jī)存儲(chǔ)器上的虛擬盤鏡像文件及相關(guān)配置文件。在物理機(jī)上的虛擬機(jī)中,為了使Java應(yīng)用程序能夠與虛擬機(jī)的客戶操作系統(tǒng)無(wú)關(guān)地運(yùn)行,需要在該虛擬機(jī)的客戶操作系統(tǒng)中安裝Java虛擬機(jī),每個(gè)Java應(yīng)用程序的進(jìn)程在Java虛擬機(jī)中運(yùn)行,并且占用由Java虛擬機(jī)管理的存儲(chǔ)空間和諸如端口之類的資源。所述存儲(chǔ)空間和資源進(jìn)一步與該Java虛擬機(jī)所在的虛擬機(jī)的客戶操作系統(tǒng)所管理的存儲(chǔ)空間和資源相關(guān)聯(lián)。由于虛擬機(jī)僅僅是在物理機(jī)的基礎(chǔ)上模擬真實(shí)的機(jī)器,因此,這些存儲(chǔ)空間和資源最終將指向物理機(jī)上的存儲(chǔ)空間和資源。例如,對(duì)于由Java應(yīng)用程序的活動(dòng)進(jìn)程使用的虛擬存儲(chǔ)器地址,在該活動(dòng)進(jìn)程所在的Java虛擬機(jī)(最上層)中保存有指示將該虛擬存儲(chǔ)器地址映射到由虛擬機(jī)的客戶操作系統(tǒng)管理的存儲(chǔ)器地址的映射關(guān)系的映射表;同樣,對(duì)于所述虛擬機(jī)的客戶操作系統(tǒng)管理的存儲(chǔ)器地址,在虛擬機(jī)的客戶操作系統(tǒng)中保存有指示將該存儲(chǔ)器地址映射到由虛擬機(jī)管理的存儲(chǔ)器地址的映射關(guān)系的映射表;對(duì)于由虛擬機(jī)管理的存儲(chǔ)器地址,在虛擬機(jī)中保存有指示將該存儲(chǔ)器地址映射到由物理機(jī)的宿主操作系統(tǒng)管理的存儲(chǔ)器地址的映射關(guān)系的映射表;對(duì)于由物理機(jī)的宿主操作系統(tǒng)管理的存儲(chǔ)器地址,在物理機(jī)的宿主操作系統(tǒng)(最下層)中保存有指示將該存儲(chǔ)器地址映射到物理機(jī)的物理存儲(chǔ)器地址的映射關(guān)系的映射表。類似地,對(duì)于活動(dòng)進(jìn)程使用的各種資源,在上述各層中分別存在類似的指示各層之間資源的映射關(guān)系的映射表。除了映射表以外,也可以采用其它數(shù)據(jù)結(jié)構(gòu)來(lái)指示所述映射關(guān)系。通過(guò)這些映射關(guān)系,可以逐層地將Java應(yīng)用程序的活動(dòng)進(jìn)程在Java虛擬機(jī)中使用的虛擬存儲(chǔ)空間和各種虛擬資源映射到物理機(jī)的物理存儲(chǔ)空間和各種物理資源。為了例如彌補(bǔ)客戶操作系統(tǒng)的安全漏洞或者向客戶操作系統(tǒng)增加新功能,常常需要以安裝補(bǔ)丁的方式來(lái)升級(jí)客戶操作系統(tǒng)。如上所述,傳統(tǒng)地,在升級(jí)客戶操作系統(tǒng)之后需要重新啟動(dòng)該客戶操作系統(tǒng)所在的虛擬機(jī),使得通過(guò)該虛擬機(jī)提供的服務(wù)中斷并且系統(tǒng)的可用性變差。為此,本發(fā)明提出了一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備,其復(fù)制原活動(dòng)虛擬機(jī)以產(chǎn)生具有相同設(shè)置的備份虛擬機(jī)、升級(jí)備份虛擬機(jī)上的客戶操作系統(tǒng),然后將在原虛擬機(jī)上運(yùn)行的應(yīng)用程序進(jìn)程遷移到備份虛擬機(jī)上,來(lái)在不中斷服務(wù)的情況下實(shí)現(xiàn)客戶操作系統(tǒng)的升級(jí)。下面,將參照附圖來(lái)詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的方法和設(shè)備。首先,將參照?qǐng)D1來(lái)描述根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法。圖l示出了該方法的流程圖。如上所述,在物理機(jī)上的一個(gè)或多個(gè)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)中運(yùn)行一個(gè)或多個(gè)應(yīng)用程序以提供相應(yīng)的服務(wù)。這里,為便于說(shuō)明,假設(shè)對(duì)一個(gè)活動(dòng)的客戶操作系統(tǒng)進(jìn)行升級(jí)。然而,應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明也適用于對(duì)多個(gè)虛擬機(jī)的客戶操作系統(tǒng)進(jìn)行升級(jí)的情況。如圖1所示,在步驟S101中,復(fù)制該活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件。具體地,在復(fù)制之前,將正在運(yùn)行的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件設(shè)置為只讀。然后,利用例如虛擬機(jī)軟件來(lái)創(chuàng)建具有與該活動(dòng)虛擬機(jī)相同設(shè)置的備份虛擬機(jī),并且將該備份虛擬機(jī)設(shè)置為使用被只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件。在本發(fā)明的實(shí)施例中,活動(dòng)虛擬機(jī)和備份虛擬機(jī)位于同一物理機(jī)上。在將活動(dòng)虛擬機(jī)的虛擬盤鏡像文件設(shè)置為只讀時(shí),該活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)以及在該客戶操作系統(tǒng)下運(yùn)行的應(yīng)用程序進(jìn)程仍然在運(yùn)行,即處于活動(dòng)狀態(tài),因此可能需要對(duì)該虛擬機(jī)的虛擬盤鏡像文件進(jìn)行寫操作。此時(shí),如果要進(jìn)行這種寫操作,則將其定向到另外的增量盤文件(以下稱為第一增量盤文件),即,將所述客戶操作系統(tǒng)以及應(yīng)用程序的6活動(dòng)進(jìn)程需要寫入到虛擬盤鏡像文件中的內(nèi)容寫入到第一增量盤文件中,使得在第一增量盤文件中存儲(chǔ)在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。在產(chǎn)生了備份虛擬機(jī)之后,在步驟S102中,升級(jí)該備份虛擬機(jī)的客戶操作系統(tǒng)。例如,可以啟動(dòng)該備份虛擬機(jī),并且通過(guò)將客戶操作系統(tǒng)的補(bǔ)丁(patch)安裝到該客戶操作系統(tǒng)中來(lái)升級(jí)該客戶操作系統(tǒng)。在本發(fā)明的實(shí)施例中,通過(guò)安裝補(bǔ)丁來(lái)升級(jí)客戶操作系統(tǒng)的方法與傳統(tǒng)方法基本相同,區(qū)別在于由于該備份虛擬機(jī)使用原活動(dòng)虛擬機(jī)的虛擬盤鏡像文件的只讀版本作為其虛擬盤鏡像文件,因此,在升級(jí)過(guò)程中,將需要對(duì)備份虛擬機(jī)所使用的這一虛擬盤鏡像文件執(zhí)行的寫操作定向到另外的增量盤文件(以下稱為第二增量盤文件),即,將升級(jí)過(guò)程中需要寫入備份虛擬機(jī)的虛擬盤鏡像文件中的內(nèi)容寫入到第二增量盤文件中,使得在第二增量盤文件中存儲(chǔ)在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。隨后,在步驟S103中,將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中。優(yōu)選地,在進(jìn)行該合并步驟之前,首先將該活動(dòng)虛擬機(jī)和在其中運(yùn)行的應(yīng)用程序的活動(dòng)進(jìn)程暫停以避免在合并期間產(chǎn)生新的寫入操作,并且將先前被設(shè)置為只讀的虛擬盤鏡像文件設(shè)置為可寫。然后,將存儲(chǔ)在第一增量盤文件和第二增量盤文件中的內(nèi)容合并到該虛擬盤鏡像文件中。合并所述文件的方法是本領(lǐng)域公知的,因此為簡(jiǎn)單起見(jiàn)而省略對(duì)其的詳細(xì)描述。應(yīng)當(dāng)注意由于存儲(chǔ)在第一增量盤文件和第二增量盤文件中的內(nèi)容可能包含對(duì)虛擬盤鏡像文件的同一部分進(jìn)行的改變,因此在第一增量盤文件和第二增量盤文件之間可能會(huì)發(fā)生沖突。在實(shí)踐中,發(fā)生這種沖突的幾率很小。然而,如果發(fā)生這種沖突,可以將第二增量盤文件的優(yōu)先級(jí)設(shè)置為高于第一增量盤文件,即,可以基于第二增量盤文件來(lái)修改虛擬盤鏡像文件。接下來(lái),在步驟S104中,暫停所述備份虛擬機(jī)。由于在原活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程正在提供服務(wù),因此為了在不中斷該服務(wù)的情況下完成升級(jí),需要在備份計(jì)算機(jī)中啟動(dòng)相同的備份進(jìn)程,然后將服務(wù)提供者從原活動(dòng)進(jìn)程無(wú)縫地切換到該備份進(jìn)程。為此,在步驟S105中,將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生所述備份進(jìn)程。例如,可以在備份虛擬機(jī)中創(chuàng)建所述Java應(yīng)用程序的新進(jìn)程(即,備份進(jìn)程),并且將與所述活動(dòng)進(jìn)程在原活動(dòng)虛擬機(jī)中占用的存儲(chǔ)空間相同的存儲(chǔ)空間與該新進(jìn)程相關(guān)聯(lián),使得該新進(jìn)程擁有與原活動(dòng)進(jìn)程相同的存儲(chǔ)空間。由于所述Java應(yīng)用程序的原活動(dòng)進(jìn)程在活動(dòng)虛擬機(jī)中運(yùn)行時(shí)還占用了諸如端口之類的系統(tǒng)資源,因此為了使所產(chǎn)生的備份進(jìn)程能夠提供相同的服務(wù),需要使該備份進(jìn)程在備份虛擬機(jī)中也占用相同的資源。因此,接下來(lái),在步驟S106中,將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源。由此,由于備份虛擬機(jī)中的Java應(yīng)用程序的備份進(jìn)程占用與原活動(dòng)進(jìn)程相同的存儲(chǔ)空間和資源,因此其能夠提供與原活動(dòng)進(jìn)程相同的服務(wù)。下面,將參照?qǐng)D2來(lái)更詳細(xì)地描述圖1所示的步驟S105。圖2是示出在步驟S105中遷移Java應(yīng)用程序的活動(dòng)進(jìn)程的操作的流程圖。在暫停備份虛擬機(jī)之后,在步驟S1051,獲取所述Java應(yīng)用程序的活動(dòng)進(jìn)程在原活動(dòng)虛擬機(jī)中占用的虛擬存儲(chǔ)器地址,該虛擬存儲(chǔ)器地址表示所述活動(dòng)進(jìn)程在原活動(dòng)虛擬機(jī)中占用的存儲(chǔ)空間。接下來(lái),在步驟S1052,根據(jù)活動(dòng)虛擬機(jī)管理的虛擬存儲(chǔ)器地址與該活動(dòng)虛擬機(jī)所在的物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系,將所獲取的虛擬存儲(chǔ)器地址轉(zhuǎn)換為所述活動(dòng)進(jìn)程占用的物理機(jī)中的物理存儲(chǔ)器地址,該物理存儲(chǔ)器地址表示所述活動(dòng)進(jìn)程實(shí)際占用的物理機(jī)中的存儲(chǔ)空間。如上所述,在包括Java應(yīng)用程序的活動(dòng)進(jìn)程所在的Java虛擬機(jī)、該Java虛擬機(jī)所在的活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)、該活動(dòng)虛擬機(jī)、以及該活動(dòng)虛擬機(jī)所在的物理機(jī)的宿主操作系統(tǒng)的各層中分別保存有指示在本層管理的存儲(chǔ)器地址與在下層管理的存儲(chǔ)器地址之間的映射關(guān)系的映射表,可以基于這些映射關(guān)系來(lái)獲得由活動(dòng)虛擬機(jī)管理的虛擬存儲(chǔ)器地址與該虛擬機(jī)所在的物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系,從而實(shí)現(xiàn)所述轉(zhuǎn)換。隨后,在步驟S1053,將對(duì)所述物理存儲(chǔ)器地址的控制權(quán)從原活動(dòng)虛擬機(jī)移交給備份虛擬機(jī)。例如,可以通過(guò)在備份虛擬機(jī)中建立映射表來(lái)實(shí)現(xiàn)這一移交,其中所述映射表指示將與原活動(dòng)虛擬機(jī)管理的用于所述活動(dòng)進(jìn)程的存儲(chǔ)器地址相同的存儲(chǔ)器地址映射到所述物理存儲(chǔ)器地址的映射關(guān)系。接下來(lái),在步驟S1054,在備份虛擬機(jī)的升級(jí)后的客戶操作系統(tǒng)中,創(chuàng)建所述Java應(yīng)用程序的備份進(jìn)程,并且將用于該備份進(jìn)程的存儲(chǔ)空間指向所述物理存儲(chǔ)器地址。例如,可以按照從下層到上層的順序在所述備份進(jìn)程所在的Java虛擬機(jī)、該Java虛擬機(jī)所在的虛擬機(jī)的客戶操作系統(tǒng)、該Java虛擬機(jī)所在的虛擬機(jī)、以及該虛擬機(jī)所在的物理機(jī)的宿主操作系統(tǒng)中建立指示各層管理的存儲(chǔ)器地址之間的映射關(guān)系的映射表,并且通過(guò)這些映射表將備份進(jìn)程在Java虛擬機(jī)中使用的存儲(chǔ)空間依序關(guān)聯(lián)到在各層中管理的對(duì)應(yīng)存儲(chǔ)器地址并且最終關(guān)聯(lián)到由所述物理存儲(chǔ)器地址表示的存儲(chǔ)空間。以這一方式,實(shí)現(xiàn)了原活動(dòng)虛擬機(jī)中的Java應(yīng)用程序的活動(dòng)進(jìn)程向備份虛擬機(jī)的遷移。在這里,由于原虛擬機(jī)與備份虛擬機(jī)位于同一臺(tái)物理機(jī)中,因此可以通過(guò)創(chuàng)建指示在各層中管理的存儲(chǔ)器地址之間的映射關(guān)系的映射表來(lái)遷移Java應(yīng)用程序的進(jìn)程,避免了耗時(shí)的復(fù)制操作。下面,將參照?qǐng)D3來(lái)更詳細(xì)地描述圖1所示的步驟S106。圖3是示出在圖1所示的步驟S106中遷移Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源的操作的流程圖。如上所述,原Java應(yīng)用程序的活動(dòng)進(jìn)程在Java虛擬機(jī)中占用的資源最終指向物理機(jī)中的真實(shí)物理資源。即,所述活動(dòng)進(jìn)程在Java虛擬機(jī)中占用的資源將被Java虛擬機(jī)映射到該Java虛擬機(jī)所在的虛擬機(jī)的客戶操作系統(tǒng)管理的資源,該客戶操作系統(tǒng)管理的資源被該客戶操作系統(tǒng)映射到所述虛擬機(jī)管理的資源,該虛擬機(jī)管理的資源被虛擬機(jī)映射到物理機(jī)的宿主操作系統(tǒng)管理的物理資源。為了使得遷移后的應(yīng)用程序能夠正常工作并且提供不中斷地提供與原活動(dòng)進(jìn)程相同的服務(wù),需要將原活動(dòng)進(jìn)程占用的資源無(wú)誤地遷移到升級(jí)后的客戶操作系統(tǒng)中,使得備份進(jìn)程也占用相同的資源。參照?qǐng)D3,在步驟S1061中,找出所述Java應(yīng)用程序的原活動(dòng)進(jìn)程分別在對(duì)應(yīng)的Java虛擬機(jī)、活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)、活動(dòng)虛擬機(jī)、以及物理機(jī)中占用的所有資源。例如,可以首先找出所述活動(dòng)進(jìn)程在Java虛擬機(jī)中占用的各種資源Rl,然后根據(jù)存儲(chǔ)在包括該Java虛擬機(jī)所在的虛擬機(jī)的客戶操作系統(tǒng)、該Java虛擬機(jī)所在的虛擬機(jī)、以及該虛擬機(jī)所在的物理機(jī)的宿主操作系統(tǒng)的各層中保存的對(duì)應(yīng)映射關(guān)系,依次找出每個(gè)資源Rl對(duì)應(yīng)的由所述客戶操作系統(tǒng)管理的資源R2、每個(gè)資源R2對(duì)應(yīng)的由所述虛擬機(jī)管理的資源R3、以及每個(gè)資源R3對(duì)應(yīng)的由所述物理機(jī)的宿主操作系統(tǒng)管理的資源R4。接下來(lái),在步驟S1062中,按照從下層到上層的順序?qū)⑺页龅乃匈Y源遷移到備份虛擬機(jī)中,使得備份虛擬機(jī)中的備份進(jìn)程占用與原活動(dòng)進(jìn)程相同的資源。例如,在找出資源Rl-R4之后,可以按照以下方式來(lái)將這些資源遷移到備份虛擬機(jī)中首先,參照與資源R4相關(guān)聯(lián)的、由原活動(dòng)虛擬機(jī)管理的資源R3,在備份虛擬機(jī)中創(chuàng)建資源指針,該指針將由備份虛擬機(jī)管理的、與所述資源R3相同的資源R3'關(guān)聯(lián)到資源R4;然后,參照與資源R3相關(guān)聯(lián)的、由原活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)管理的資源R2,在備份虛擬機(jī)的升級(jí)后的客戶操作系統(tǒng)中建立資源指針,該指針將由備份虛擬機(jī)的客戶操作系統(tǒng)管理的、與所述資源R2相同的資源關(guān)聯(lián)到資源R3';接下來(lái),參照與資源R2相關(guān)聯(lián)的、由原活動(dòng)進(jìn)程所在的Java虛擬機(jī)管理的資源Rl,在所述備份進(jìn)程所在的Java虛擬機(jī)中建立將其管理的、與所述資源Rl相同的資源R1'關(guān)聯(lián)到R2'的資源指針;最后,將資源R1'關(guān)聯(lián)到所述備份進(jìn)程。由此,備份虛擬機(jī)中的備份進(jìn)程占用與原活動(dòng)進(jìn)程占有的資源相同的資源Rl'、R2'、R3'和R4。這里的資源指針可以是上文所述的指示映射關(guān)系的映射表或其它數(shù)據(jù)結(jié)構(gòu)。由于在原活動(dòng)虛擬機(jī)中運(yùn)行的所述Java應(yīng)用程序可能對(duì)應(yīng)于一個(gè)或多個(gè)活動(dòng)進(jìn)程,因此,對(duì)于Java應(yīng)用程序的每個(gè)活動(dòng)進(jìn)程,都重復(fù)步驟S105和S106。由此,在備份虛擬機(jī)中為所有活動(dòng)進(jìn)程建立與這些活動(dòng)進(jìn)程在原活動(dòng)虛擬機(jī)中的運(yùn)行環(huán)境相同的運(yùn)行環(huán)境。返回圖l,在完成了上述遷移之后,在步驟S106中,恢復(fù)運(yùn)行先前被暫停的備份虛擬機(jī)。因此,在備份虛擬機(jī)中建立的進(jìn)程基于所遷移的資源執(zhí)行后續(xù)操作,使得服務(wù)的提供者由原活動(dòng)進(jìn)程切換為該備份進(jìn)程,從而無(wú)中斷地提供服務(wù)??梢钥吹酵ㄟ^(guò)對(duì)通過(guò)復(fù)制原活動(dòng)虛擬機(jī)獲得的備份虛擬機(jī)的客戶操作系統(tǒng)進(jìn)行升級(jí),將在原活動(dòng)虛擬機(jī)中運(yùn)行的應(yīng)用程序及其資源遷移到該備份虛擬機(jī)中,然后利用該備份虛擬機(jī)來(lái)代替原來(lái)的活動(dòng)虛擬機(jī),可以在不中斷所述服務(wù)的情況下更新虛擬機(jī)的客戶操作系統(tǒng)。下面,將參照?qǐng)D4來(lái)描述根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的設(shè)備,圖4是示出該設(shè)備的框圖。如圖4所示,根據(jù)本發(fā)明實(shí)施例的升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的設(shè)備400包括控制單元402、復(fù)制單元404、升級(jí)單元406、合并單元408和遷移單元410。對(duì)于其客戶操作系統(tǒng)要升級(jí)的活動(dòng)虛擬機(jī)200,復(fù)制單元402復(fù)制該活動(dòng)虛擬機(jī)200以產(chǎn)生備份虛擬機(jī)202,該備份虛擬機(jī)202使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件。升級(jí)單元406用于升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng)。合并單元408將在活動(dòng)虛擬機(jī)200運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中。遷移單元410將在活動(dòng)虛擬機(jī)200中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)202中以產(chǎn)生備份進(jìn)程,并且將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)202中,使得該備份進(jìn)程占用相同的資源。控制單元402在遷移單元遷移所述活動(dòng)進(jìn)程和資源之前暫停備份虛擬機(jī),并且在遷移單元遷移所述活動(dòng)進(jìn)程和資源之后恢復(fù)運(yùn)行該備份虛擬機(jī)??刂茊卧?02還可以在整個(gè)升級(jí)期間執(zhí)行其它控制。下面,將結(jié)合使用設(shè)備400來(lái)升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的過(guò)程來(lái)描述各個(gè)單元的功能。復(fù)制單元404復(fù)制正在提供服務(wù)的活動(dòng)虛擬機(jī)200以產(chǎn)生備份虛擬機(jī)202,該備份虛擬機(jī)202使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)200的虛擬盤鏡像文件作為其虛擬盤鏡像文件。具體地,在復(fù)制之前,控制單元402將正在運(yùn)行的活動(dòng)虛擬機(jī)200的虛擬盤鏡像文件設(shè)置為只讀。復(fù)制單元404利用諸如VMware之類的虛擬機(jī)軟件來(lái)創(chuàng)建具有與該活動(dòng)虛擬機(jī)200相同設(shè)置的備份虛擬機(jī)202,并且將該備份虛擬機(jī)202設(shè)置為使用被只讀的活動(dòng)虛擬機(jī)200的虛擬盤鏡像文件作為其虛擬盤鏡像文件。如上所述,活動(dòng)虛擬機(jī)200和備份虛擬機(jī)202位于同一物理機(jī)上。由于活動(dòng)虛擬機(jī)200的虛擬盤鏡像文件被設(shè)置為只讀,而活動(dòng)虛擬機(jī)200的客戶操作系統(tǒng)以及在該客戶操作系統(tǒng)下運(yùn)行的應(yīng)用程序進(jìn)程仍然處于活動(dòng)狀態(tài),并且可能需要進(jìn)行寫操作,因此,控制單元402將在活動(dòng)虛擬機(jī)200運(yùn)行期間需要對(duì)其虛擬盤鏡像文件進(jìn)行的寫操作定向到第一增量盤文件,使得將需要寫入到虛擬盤鏡像文件中的內(nèi)容(即,在活動(dòng)虛擬機(jī)200運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變)寫入到第一增量盤文件中。升級(jí)單元406升級(jí)所產(chǎn)生的備份虛擬機(jī)202的客戶操作系統(tǒng)。例如,升級(jí)單元406可以啟動(dòng)該備份虛擬機(jī)202,并且通過(guò)將客戶操作系統(tǒng)的補(bǔ)丁安裝到該備份虛擬機(jī)202的客戶操作系統(tǒng)中來(lái)升級(jí)該客戶操作系統(tǒng)。升級(jí)單元406升級(jí)客戶操作系統(tǒng)的方法與傳統(tǒng)方法基本相同。然而,由于備份虛擬機(jī)202使用原活動(dòng)虛擬機(jī)200的虛擬盤鏡像文件的只讀版本作為其虛擬盤鏡像文件,因此,對(duì)于在升級(jí)過(guò)程中需要對(duì)該虛擬盤鏡像文件進(jìn)行的寫操作,控制單元402進(jìn)行控制以便將其定向到第二盤鏡像文件,使得在第二增量盤文件中存儲(chǔ)在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。合并單元408將在活動(dòng)虛擬機(jī)200運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中。在進(jìn)行該合并之前,控制單元402暫?;顒?dòng)虛擬機(jī)200和在其中運(yùn)行的應(yīng)用程序的活動(dòng)進(jìn)程,并且將先前被設(shè)置為只讀的虛擬盤鏡像文件設(shè)置為可寫。合并單元408通過(guò)利用本領(lǐng)域公知的方法將存儲(chǔ)在第一增量盤文件和第二增量盤文件中的內(nèi)容合并到該虛擬盤鏡像文件中來(lái)合并所述改變。如果存儲(chǔ)在第一增量盤文件和第二增量盤文件中的內(nèi)容包含對(duì)虛擬盤鏡像文件的同一部分進(jìn)行的改變從而發(fā)生沖突,則合并單元408可以基于第二增量盤文件來(lái)修改所述虛擬盤鏡像文件。當(dāng)然,在實(shí)踐中出現(xiàn)這種沖突的幾率很小。在合并了所述文件之后,控制單元402暫停所產(chǎn)生的備份虛擬機(jī)202。遷移單元410將在原活動(dòng)虛擬機(jī)200中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)202中,以便在備份虛擬機(jī)202中產(chǎn)生備份進(jìn)程。具體地,遷移單元410獲取所述Java應(yīng)用程序的活動(dòng)進(jìn)程在活動(dòng)虛擬機(jī)200中占用的虛擬存儲(chǔ)器地址,即,存儲(chǔ)空間。然后,遷移單元401根據(jù)活動(dòng)虛擬機(jī)200中的虛擬存儲(chǔ)器地址與該虛擬機(jī)所在的物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系,將所獲取的虛擬存儲(chǔ)器地址轉(zhuǎn)換為所述活動(dòng)進(jìn)程占用的物理機(jī)中的物理存儲(chǔ)器地址,該物理存儲(chǔ)器地址表示所述活動(dòng)進(jìn)程實(shí)際占用的物理機(jī)中的存儲(chǔ)空間。如上所述,遷移單元410可以利用在Java應(yīng)用程序的活動(dòng)進(jìn)程所在的Java虛擬機(jī)、該Java虛擬機(jī)所在的虛擬機(jī)200的客戶操作系統(tǒng)、虛擬機(jī)200、以及虛擬機(jī)200所在的物理機(jī)的宿主操作系統(tǒng)中分別保存的指示在本層中管理的存儲(chǔ)器地址與在下層中管理的存儲(chǔ)器地址之間的映射關(guān)系的映射表來(lái)獲得所述活動(dòng)虛擬機(jī)200中的虛擬存儲(chǔ)器地址與該虛擬機(jī)200所在的物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系。應(yīng)當(dāng)注意也可以用10除了映射表之外的其它數(shù)據(jù)結(jié)構(gòu)來(lái)指示所述映射關(guān)系。遷移單元410將對(duì)所述物理存儲(chǔ)器地址的控制權(quán)從原活動(dòng)虛擬機(jī)200移交給備份虛擬機(jī)202。例如,遷移單元410可以通過(guò)在備份虛擬機(jī)202中建立映射表來(lái)實(shí)現(xiàn)這一移交,其中所述映射表指示將與原虛擬機(jī)200管理的用于所述活動(dòng)進(jìn)程的存儲(chǔ)器地址相同的存儲(chǔ)器地址映射到所述物理存儲(chǔ)器地址的映射關(guān)系。遷移單元410還在備份虛擬機(jī)202中的升級(jí)后的客戶操作系統(tǒng)中創(chuàng)建所述Java應(yīng)用程序的備份進(jìn)程,并且將用于該備份進(jìn)程的存儲(chǔ)空間指向所述物理存儲(chǔ)器地址。例如,遷移單元410可以按照從下層到上層的順序在該備份進(jìn)程所在的Java虛擬機(jī)、該Java虛擬機(jī)所在的虛擬機(jī)202的客戶操作系統(tǒng)、虛擬機(jī)202、以及虛擬機(jī)202所在的物理機(jī)的宿主操作系統(tǒng)中建立指示在各層中管理的存儲(chǔ)器地址之間的映射關(guān)系的映射表,并且通過(guò)這些映射表將備份進(jìn)程在Java虛擬機(jī)中使用的存儲(chǔ)空間依序關(guān)聯(lián)到在各層中管理的對(duì)應(yīng)存儲(chǔ)器地址并且最終關(guān)聯(lián)到由所述物理存儲(chǔ)器地址表示的存儲(chǔ)空間。以這一方式,遷移單元410將原活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中。遷移單元410還將所述Java應(yīng)用程序的活動(dòng)進(jìn)程在活動(dòng)虛擬機(jī)200中占用的資源遷移到備份虛擬機(jī)202中,使得備份虛擬機(jī)中的備份進(jìn)程占用與原活動(dòng)進(jìn)程相同的資源。例如,遷移單元410可以找出所述Java應(yīng)用程序的原活動(dòng)進(jìn)程分別在對(duì)應(yīng)的Java虛擬機(jī)、活動(dòng)虛擬機(jī)200的客戶操作系統(tǒng)、活動(dòng)虛擬機(jī)200、以及物理機(jī)中占用的所有資源,并且按照從下層到上層的順序?qū)⑺页龅乃匈Y源逐步遷移到備份虛擬機(jī)202中,使得在備份虛擬機(jī)200中創(chuàng)建的備份進(jìn)程占用與原活動(dòng)進(jìn)程占用的資源相同的資源。遷移單元410可以按照與圖3所示的方法相似的方法來(lái)實(shí)現(xiàn)上述遷移,因此為簡(jiǎn)單起見(jiàn),在這里省略對(duì)該遷移過(guò)程的詳細(xì)描述。對(duì)于在原活動(dòng)虛擬機(jī)200中運(yùn)行的Java應(yīng)用程序的每一個(gè)活動(dòng)進(jìn)程,遷移單元410都重復(fù)上述操作,直到在備份虛擬機(jī)202中為所有活動(dòng)進(jìn)程建立與這些活動(dòng)進(jìn)程在原活動(dòng)虛擬機(jī)200中的運(yùn)行環(huán)境相同的運(yùn)行環(huán)境為止。然后,控制單元402恢復(fù)運(yùn)行先前被暫停的備份虛擬機(jī)202,使得備份虛擬機(jī)202中的備份進(jìn)程開(kāi)始提供服務(wù),即,將服務(wù)的提供者由原活動(dòng)進(jìn)程切換為該備份進(jìn)程,從而在不中斷服務(wù)的情況下實(shí)現(xiàn)客戶操作系統(tǒng)的升級(jí)。設(shè)備400的各個(gè)單元402-410可以由硬件、軟件、固件、或者它們的組合實(shí)現(xiàn)。此外,可以將所述各個(gè)單元進(jìn)一步組合為一個(gè)或多個(gè)模塊,或者將其分解為更多的模塊,只要這些模塊能夠共同實(shí)現(xiàn)設(shè)備400的上述功能即可。此外,盡管在上文中描述遷移Java應(yīng)用程序的活動(dòng)進(jìn)程以及遷移所述活動(dòng)進(jìn)程占用的資源時(shí)給出了特定的遷移方式和遷移順序,但是本發(fā)明不限于此,本領(lǐng)域技術(shù)人員可以認(rèn)識(shí)到,也可以采用其它遷移方式和遷移順序來(lái)遷移所述活動(dòng)進(jìn)程及其占用的資源,只要這些方式和順序最終能夠使得在備份虛擬機(jī)的客戶操作系統(tǒng)中存在與原活動(dòng)虛擬機(jī)中的活動(dòng)進(jìn)程相同的活動(dòng)進(jìn)程并且這些活動(dòng)進(jìn)程具有與原活動(dòng)虛擬機(jī)中的活動(dòng)進(jìn)程相同的狀態(tài)即可??梢钥吹皆诟鶕?jù)本發(fā)明實(shí)施例的更新活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備中,在作為原活動(dòng)虛擬機(jī)的副本的備份虛擬機(jī)上進(jìn)行客戶操作系統(tǒng)的升級(jí),將備份虛擬機(jī)上創(chuàng)建與在原活動(dòng)虛擬機(jī)上運(yùn)行的應(yīng)用程序的活動(dòng)進(jìn)程相同的備份進(jìn)程,然后利用備份虛擬機(jī)中的這一進(jìn)程代替原活動(dòng)進(jìn)程來(lái)提供服務(wù),可以在不中斷由原活動(dòng)進(jìn)程提供的服務(wù)的情況下升級(jí)所述虛擬機(jī)的客戶操作系統(tǒng),從而提高了系統(tǒng)維護(hù)期間的可用性。本發(fā)明的替換實(shí)施例還可以包括計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀代碼。所述計(jì)算機(jī)可讀代碼在被執(zhí)行時(shí)能夠執(zhí)行上述升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法。所述計(jì)算機(jī)可讀介質(zhì)可以包括計(jì)算機(jī)可讀記錄介質(zhì)和計(jì)算機(jī)可讀傳輸介質(zhì)。計(jì)算機(jī)可讀記錄介質(zhì)是能夠存儲(chǔ)隨后可由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)裝置。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括諸如只讀存儲(chǔ)器(R0M)、隨機(jī)存取存儲(chǔ)器(RAM)、CD-ROM、磁帶、軟盤和硬盤的磁存儲(chǔ)介質(zhì)以及諸如CD(致密盤)和DVD(數(shù)字多用途盤)的光存儲(chǔ)裝置。也可以將計(jì)算機(jī)可讀記錄介質(zhì)分布在網(wǎng)絡(luò)耦接的計(jì)算機(jī)系統(tǒng)上,使得以分布式方式存儲(chǔ)和執(zhí)行所述計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀傳輸介質(zhì)可以傳輸載波或信號(hào)(例如通過(guò)因特網(wǎng)進(jìn)行的有線或無(wú)線數(shù)據(jù)傳輸)。此外,本發(fā)明所屬領(lǐng)域的程序員可以容易地解釋用于實(shí)現(xiàn)本發(fā)明的功能程序、代碼和代碼段。盡管已經(jīng)示出和描述了本發(fā)明的示例實(shí)施例,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在不背離權(quán)利要求及其等價(jià)物中限定的本發(fā)明的范圍和精神的情況下,可以對(duì)這些示例實(shí)施例做出各種形式和細(xì)節(jié)上的變化。權(quán)利要求一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法,包括復(fù)制活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng);將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中;暫停備份虛擬機(jī);將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生備份進(jìn)程;將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源;以及恢復(fù)運(yùn)行備份虛擬機(jī)。2.如權(quán)利要求1所述的方法,其中,在復(fù)制活動(dòng)虛擬機(jī)之前將所述虛擬盤鏡像文件設(shè)置為只讀,并且其中,所述備份虛擬機(jī)具有與活動(dòng)虛擬機(jī)相同的設(shè)置。3.如權(quán)利要求2所述的方法,其中,將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的寫操作定向到第一增量盤文件,使得在第一增量盤文件中存儲(chǔ)在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。4.如權(quán)利要求3所述的方法,其中,將在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的寫操作定向到第二增量盤文件,使得在第二增量盤文件中存儲(chǔ)在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。5.如權(quán)利要求4所述的方法,其中,在所述合并的步驟之前,暫?;顒?dòng)虛擬機(jī)和其中的應(yīng)用程序活動(dòng)進(jìn)程,并且將虛擬盤鏡像文件設(shè)置為可寫。6.如權(quán)利要求5所述的方法,其中,如果在第一增量盤文件和第二增量盤文件之間存在沖突,則基于第二增量盤文件來(lái)改變虛擬盤鏡像文件。7.如權(quán)利要求1或6所述的方法,其中,遷移所述活動(dòng)進(jìn)程的步驟包括獲取所述活動(dòng)進(jìn)程在活動(dòng)虛擬機(jī)中使用的虛擬存儲(chǔ)器地址;根據(jù)活動(dòng)虛擬機(jī)管理的虛擬存儲(chǔ)器地址與物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系,將所獲取的虛擬存儲(chǔ)器地址轉(zhuǎn)換為物理機(jī)中的物理存儲(chǔ)器地址;將對(duì)所述物理存儲(chǔ)器地址的控制權(quán)從活動(dòng)虛擬機(jī)移交給備份虛擬機(jī);禾口在升級(jí)后的客戶操作系統(tǒng)中創(chuàng)建所述Java應(yīng)用程序的備份進(jìn)程,并將用于該備份進(jìn)程的存儲(chǔ)空間指向所述物理存儲(chǔ)器地址。8.如權(quán)利要求1或7所述的方法,其中,遷移所述資源的步驟包括找出所述活動(dòng)進(jìn)程在對(duì)應(yīng)的Java虛擬機(jī)、活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)、活動(dòng)虛擬機(jī)、以及物理機(jī)中占用的所有資源;以及按照從下層到上層的順序?qū)⑺鏊匈Y源遷移到備份虛擬機(jī)中。9.一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的設(shè)備,包括復(fù)制單元,復(fù)制活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級(jí)單元,升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng);合并單元,將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中;遷移單元,將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生備份進(jìn)程,并且將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源;以及控制單元,其在遷移單元遷移所述活動(dòng)進(jìn)程和資源之前暫停備份虛擬機(jī),并且在遷移單元遷移所述活動(dòng)進(jìn)程和資源之后恢復(fù)運(yùn)行該備份虛擬機(jī)。10.如權(quán)利要求9所述的設(shè)備,其中,所述控制單元在復(fù)制單元復(fù)制活動(dòng)虛擬機(jī)之前將所述虛擬盤鏡像文件設(shè)置為只讀,并且其中,所述備份虛擬機(jī)具有與活動(dòng)虛擬機(jī)相同的設(shè)置。11.如權(quán)利要求io所述的設(shè)備,其中,所述控制單元將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的寫操作定向到第一增量盤文件,使得在第一增量盤文件中存儲(chǔ)在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。12.如權(quán)利要求11所述的設(shè)備,其中,所述控制單元將在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的寫操作定向到第二增量盤文件,使得在第二增量盤文件中存儲(chǔ)在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變。13.如權(quán)利要求12所述的設(shè)備,其中,所述控制單元在合并單元進(jìn)行所述合并之前暫?;顒?dòng)虛擬機(jī)和其中的應(yīng)用程序活動(dòng)進(jìn)程,并且將虛擬盤鏡像文件設(shè)置為可寫。14.如權(quán)利要求13所述的設(shè)備,其中,如果在第一增量盤文件和第二增量盤文件之間存在沖突,則所述合并單元基于第二增量盤文件來(lái)改變虛擬盤鏡像文件。15.如權(quán)利要求9或14所述的設(shè)備,其中,所述遷移單元按照以下方式來(lái)遷移所述活動(dòng)進(jìn)程獲取所述活動(dòng)進(jìn)程在活動(dòng)虛擬機(jī)中使用的虛擬存儲(chǔ)器地址;根據(jù)活動(dòng)虛擬機(jī)管理的虛擬存儲(chǔ)器地址與物理機(jī)中的物理存儲(chǔ)器地址之間的映射關(guān)系,將所獲取的虛擬存儲(chǔ)器地址轉(zhuǎn)換為物理機(jī)中的物理存儲(chǔ)器地址;將對(duì)所述物理存儲(chǔ)器地址的控制權(quán)從活動(dòng)虛擬機(jī)移交給備份虛擬機(jī);并且,在升級(jí)后的客戶操作系統(tǒng)中創(chuàng)建所述Java應(yīng)用程序的備份進(jìn)程,并將用于該備份進(jìn)程的存儲(chǔ)空間指向所述物理存儲(chǔ)器地址。16.如權(quán)利要求9或15所述的設(shè)備,其中,所述遷移單元按照以下方式來(lái)遷移所述資源找出所述活動(dòng)進(jìn)程在對(duì)應(yīng)的Java虛擬機(jī)、活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)、活動(dòng)虛擬機(jī)、以及物理機(jī)中占用的所有資源;并且按照從下層到上層的順序?qū)⑺鏊匈Y源遷移到備份虛擬機(jī)中。全文摘要公開(kāi)了一種升級(jí)活動(dòng)虛擬機(jī)的客戶操作系統(tǒng)的方法和設(shè)備。所述方法包括復(fù)制活動(dòng)虛擬機(jī)以產(chǎn)生備份虛擬機(jī),該備份虛擬機(jī)使用被設(shè)置為只讀的活動(dòng)虛擬機(jī)的虛擬盤鏡像文件作為其虛擬盤鏡像文件;升級(jí)備份虛擬機(jī)的客戶操作系統(tǒng);將在活動(dòng)虛擬機(jī)運(yùn)行期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變與在所述升級(jí)期間要對(duì)虛擬盤鏡像文件進(jìn)行的改變合并到該虛擬盤鏡像文件中;暫停備份虛擬機(jī);將在活動(dòng)虛擬機(jī)中運(yùn)行的Java應(yīng)用程序的活動(dòng)進(jìn)程遷移到備份虛擬機(jī)中以產(chǎn)生備份進(jìn)程;將所述Java應(yīng)用程序的活動(dòng)進(jìn)程占用的資源遷移到備份虛擬機(jī)中,使得該備份進(jìn)程占用相同的資源;以及恢復(fù)運(yùn)行備份虛擬機(jī)。文檔編號(hào)G06F9/445GK101727331SQ20081017190公開(kāi)日2010年6月9日申請(qǐng)日期2008年10月24日優(yōu)先權(quán)日2008年10月24日發(fā)明者向哲,夏寅賁,田啟明,高志國(guó)申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
兴城市| 康定县| 岗巴县| 钦州市| 潞西市| 屯门区| 桑日县| 永安市| 于都县| 开江县| 库尔勒市| 巴林左旗| 乌苏市| 利津县| 莒南县| 秦皇岛市| 沁阳市| 阳山县| 珠海市| 天柱县| 江门市| 南京市| 黑山县| 龙川县| 承德县| 隆林| 固镇县| 独山县| 巩留县| 莆田市| 乐清市| 威信县| 息烽县| 历史| 海安县| 长沙市| 闽清县| 盐津县| 海盐县| 南城县| 靖远县|