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

一種虛擬機(jī)遷移的方法、目的宿主機(jī)和源宿主機(jī)的制作方法

文檔序號:10534584閱讀:316來源:國知局
一種虛擬機(jī)遷移的方法、目的宿主機(jī)和源宿主機(jī)的制作方法
【專利摘要】本發(fā)明提供了一種虛擬機(jī)遷移方法、目的宿主機(jī)和源宿主機(jī),虛擬機(jī)遷移方法,應(yīng)用于目的宿主機(jī),包括:當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù);停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;在目的宿主機(jī)上啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問臟頁面時,發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面;將目標(biāo)頁面替換臟頁面。本發(fā)明提供的實(shí)施例能夠有效地降低虛擬機(jī)遷移過程的同步數(shù)據(jù)量。
【專利說明】
一種虛擬機(jī)遷移的方法、目的宿主機(jī)和源宿主機(jī)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種虛擬機(jī)迀移方法、目的宿主機(jī)和源宿主機(jī)。
【背景技術(shù)】
[0002]虛擬機(jī)迀移是指將虛擬機(jī)內(nèi)存狀態(tài)從一個主機(jī)或存儲位置迀移到另一個主機(jī)或存儲位置,是云計(jì)算應(yīng)用應(yīng)具備的功能之一。
[0003]目前,虛擬機(jī)內(nèi)存迀移的主要方式是,源宿主機(jī)上運(yùn)行虛擬機(jī),并將虛擬機(jī)當(dāng)前的內(nèi)存狀態(tài)完整地復(fù)制到目的宿主機(jī),由于源宿主機(jī)上一直運(yùn)行虛擬機(jī),那么對于更新的數(shù)據(jù)還需要通過內(nèi)存輪迭代的方式重新進(jìn)行更新,如:在第一次迀移過程中,虛擬機(jī)更新了內(nèi)存狀態(tài)I和內(nèi)存狀態(tài)2,那么,在第一次迀移完成之后,還需要進(jìn)行第二次迀移以更新內(nèi)存狀態(tài)I和內(nèi)存狀態(tài)2,而在第二次迀移過程中,虛擬機(jī)又更新了內(nèi)存狀態(tài)3和內(nèi)存狀態(tài)4,則還需要進(jìn)行第三次迀移更新內(nèi)存狀態(tài)3和內(nèi)存狀態(tài)4,通過如此迭代的方式直至再無更新,現(xiàn)有的這種方式雖然能夠保持虛擬機(jī)正常運(yùn)行,但大幅度的增加了虛擬機(jī)迀移過程的同步數(shù)據(jù)量。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供了一種虛擬機(jī)迀移方法、目的宿主機(jī)和源宿主機(jī),能夠有效地降低虛擬機(jī)迀移過程的同步數(shù)據(jù)量。
[0005]—種虛擬機(jī)迀移方法,應(yīng)用于目的宿主機(jī),包括:
[0006]當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲所述源宿主機(jī)發(fā)送的所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù);
[0007 ]停止所述源宿主機(jī)中的虛擬機(jī)運(yùn)行,將所述源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與所述第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面;
[0008]在所述目的宿主機(jī)上啟動所述虛擬機(jī),當(dāng)所述虛擬機(jī)訪問所述臟頁面時,發(fā)送更新臟頁面請求給所述源宿主機(jī),并接收所述源宿主機(jī)返回的與所述臟頁面對應(yīng)的目標(biāo)頁面;
[0009]將所述目標(biāo)頁面替換所述臟頁面。
[0010]優(yōu)選地,上述方法,進(jìn)一步包括:設(shè)置位圖文件;
[0011]所述標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面,包括:確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面,在所述位圖文件中對所述未同步頁面標(biāo)注為缺頁狀態(tài);
[0012]在所述目的宿主機(jī)上啟動所述虛擬機(jī)之后,在所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)之前,進(jìn)一步包括:判斷所述虛擬機(jī)訪問的當(dāng)前頁面在所述位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則執(zhí)行所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)。
[0013]優(yōu)選地,在所述確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面之后,進(jìn)一步包括:確定所述差異頁面對應(yīng)的所述第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到所述位圖文件;
[0014]所述接收所述源宿主機(jī)返回的與所述臟頁面對應(yīng)的目標(biāo)頁面,包括:根據(jù)所述位圖文件中目標(biāo)頁面的位置,觸發(fā)所述源宿主機(jī)定位并復(fù)制所述目標(biāo)頁面,接收所述源宿主機(jī)發(fā)送的所述復(fù)制的所述目標(biāo)頁面。
[0015]優(yōu)選地,在所述虛擬機(jī)訪問的當(dāng)前頁面在所述位圖文件中標(biāo)注為缺頁狀態(tài)之后,在所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)之前,進(jìn)一步包括:判斷所述當(dāng)前頁面是否為空閑頁面,如果是,則直接為所述當(dāng)前頁面分配一個零頁面,并恢復(fù)所述虛擬機(jī)運(yùn)行;否則,執(zhí)行所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)。
[0016]一種虛擬機(jī)迀移方法,應(yīng)用于源宿主機(jī),包括:
[0017]當(dāng)虛擬機(jī)運(yùn)行在所述源宿主機(jī)時,將所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給目的宿主機(jī),更新所述第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù);
[0018]停止所述源宿主機(jī)中的虛擬機(jī)運(yùn)行,并在所述目的宿主機(jī)上啟動所述虛擬機(jī);
[0019]當(dāng)所述虛擬機(jī)訪問臟頁面時,接收所述目的宿主機(jī)發(fā)送的更新臟頁面請求,并根據(jù)所述更新臟頁面請求,發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述目的宿主機(jī)。
[0020]優(yōu)選地,所述發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述目的宿主機(jī),包括:
[0021 ]確定目標(biāo)頁面的位置,定位并復(fù)制所述目標(biāo)頁面,并將所述目標(biāo)頁面發(fā)送給所述目的宿主機(jī)。
[0022]—種目的宿主機(jī),包括:第一迀移控制器、存儲單元、標(biāo)記單元、缺頁請求控制器,其中,
[0023]所述第一迀移控制器,用于當(dāng)虛擬機(jī)運(yùn)行在外設(shè)的源宿主機(jī)時,接收所述外設(shè)的源宿主機(jī)發(fā)送的所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù),并將所述第一內(nèi)存數(shù)據(jù)發(fā)送給所述存儲單元,并接收外設(shè)的源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面,將目標(biāo)頁面替換存儲單元存儲的臟頁面
[0024]所述存儲單元,用于接收并存儲所述第一迀移控制器所述第一內(nèi)存數(shù)據(jù);
[0025]所述標(biāo)記單元,用于停止所述外設(shè)的源宿主機(jī)中的虛擬機(jī)運(yùn)行,將所述外設(shè)的源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與所述存儲單元存儲的第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面;
[0026]所述缺頁請求控制器,用于確定所述標(biāo)記單元標(biāo)記的臟頁面,啟動所述虛擬機(jī),當(dāng)所述虛擬機(jī)訪問所述標(biāo)記單元標(biāo)記的臟頁面時,發(fā)送更新臟頁面請求給所述外設(shè)的源宿主機(jī)。
[0027]優(yōu)選地,上述目的宿主機(jī),進(jìn)一步包括:判斷單元,其中,
[0028]所述標(biāo)記單元,用于設(shè)置位圖文件,確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面,在所述位圖文件中對所述未同步頁面標(biāo)注為缺頁狀態(tài),并將所述位圖文件提供給所述判斷單元;
[0029]所述判斷單元,用于判斷所述虛擬機(jī)訪問的當(dāng)前頁面在所述標(biāo)記單元提供的位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則觸發(fā)所述缺頁請求控制器;
[0030]所述缺頁請求控制器,用于在接收到所述判斷單元的觸發(fā)時,執(zhí)行所述發(fā)送更新所述臟頁面請求給所述外設(shè)的源宿主機(jī)。
[0031]優(yōu)選地,
[0032]所述標(biāo)記單元,用于確定所述差異頁面對應(yīng)的所述第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到所述位圖文件,并提供所述位圖文件;
[0033]所述缺頁請求控制器,用于訪問所述標(biāo)記單元提供的所述位圖文件,根據(jù)所述位圖文件中目標(biāo)頁面的位置,觸發(fā)所述外設(shè)的源宿主機(jī)定位并復(fù)制所述目標(biāo)頁面,接收所述外設(shè)的源宿主機(jī)發(fā)送的所述復(fù)制的所述目標(biāo)頁面。
[0034]優(yōu)選地,
[0035]所述判斷單元,進(jìn)一步用于判斷所述標(biāo)注為缺頁狀態(tài)的當(dāng)前頁面是否為空閑頁面,如果是,則直接為所述當(dāng)前頁面分配一個零頁面,并恢復(fù)所述虛擬機(jī)運(yùn)行;否則,觸發(fā)所述缺頁請求控制器。
[0036]—種源宿主機(jī),包括:第二迀移控制器和缺頁響應(yīng)控制器,其中,
[0037]所述第二迀移控制器,用于當(dāng)虛擬機(jī)運(yùn)行在所述源宿主機(jī)時,將所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給外設(shè)的目的宿主機(jī),更新所述第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù),在接收到所述缺頁響應(yīng)控制器的觸發(fā)時,根據(jù)所述更新臟頁面請求,發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述外設(shè)的目的宿主機(jī);
[0038]所述缺頁響應(yīng)控制器,用于當(dāng)所述虛擬機(jī)訪問臟頁面時,接收所述外設(shè)的目的宿主機(jī)發(fā)送的更新臟頁面請求,并觸發(fā)所述第二迀移控制器。
[0039]本發(fā)明實(shí)施例提供了一種虛擬機(jī)迀移方法、目的宿主機(jī)和源宿主機(jī),目的宿主機(jī)執(zhí)行的虛擬機(jī)迀移方法,包括:當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù);停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;在目的宿主機(jī)上啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問臟頁面時,發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面;將目標(biāo)頁面替換臟頁面,在本發(fā)明提供的方案中,停止源宿主機(jī)中的虛擬機(jī)運(yùn)行的過程主要為了將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,之后虛擬機(jī)運(yùn)行于目的宿主機(jī)上,在這個過程中,將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)間差異性的頁面重新發(fā)送,這整個過程中,每個差異性的頁面只需經(jīng)過一次迀移,而不會迭代迀移,能夠有效地降低虛擬機(jī)迀移過程的同步數(shù)據(jù)量。
【附圖說明】
[0040]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041 ]圖1是本發(fā)明一個實(shí)施例提供的一種虛擬機(jī)迀移方法的流程圖;
[0042]圖2是本發(fā)明一個實(shí)施例提供的一種虛擬機(jī)迀移方法的流程圖;
[0043]圖3是本發(fā)明一個實(shí)施例提供的一種目的宿主機(jī)的結(jié)構(gòu)示意圖;
[0044]圖4是本發(fā)明另一個實(shí)施例提供的一種目的宿主機(jī)的結(jié)構(gòu)示意圖;
[0045]圖5是本發(fā)明一個實(shí)施例提供的一種源宿主機(jī)的結(jié)構(gòu)示意圖;
[0046]圖6是本發(fā)明一個實(shí)施例提供的目的宿主機(jī)和源宿主機(jī)之間交互的結(jié)構(gòu)示意圖;
[0047]圖7是本發(fā)明又一個實(shí)施例提供的一種虛擬機(jī)迀移方法的流程圖。
【具體實(shí)施方式】
[0048]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0049]如圖1所示,本發(fā)明實(shí)施例提供了一種虛擬機(jī)迀移方法,應(yīng)用于目的宿主機(jī),該方法可以包括以下步驟:
[0050]步驟101:當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù);
[0051 ]步驟102:停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;
[0052]步驟103:在目的宿主機(jī)上啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問臟頁面時,發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面;
[0053]步驟104:將目標(biāo)頁面替換臟頁面。
[0054]在圖1所示的發(fā)明實(shí)施例中,當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù);停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;在目的宿主機(jī)上啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問臟頁面時,發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面;將目標(biāo)頁面替換臟頁面,在本發(fā)明提供的方案中,停止源宿主機(jī)中的虛擬機(jī)運(yùn)行的過程主要為了將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,之后虛擬機(jī)運(yùn)行于目的宿主機(jī)上,在這個過程中,將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)間差異性的頁面重新發(fā)送,這整個過程中,每個差異性的頁面只需經(jīng)過一次迀移,而不會迭代迀移,能夠有效地降低虛擬機(jī)迀移過程的同步數(shù)據(jù)量。
[0055]在本發(fā)明一個實(shí)施例中,上述方法進(jìn)一步包括:設(shè)置位圖文件;步驟102中標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面的【具體實(shí)施方式】,包括:確定第一內(nèi)存數(shù)據(jù)中未同步頁面,在位圖文件中對未同步頁面標(biāo)注為缺頁狀態(tài);在步驟103中,在目的宿主機(jī)上啟動虛擬機(jī)之后,在發(fā)送更新臟頁面請求給源宿主機(jī)之前,進(jìn)一步包括:判斷虛擬機(jī)訪問的當(dāng)前頁面在位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則執(zhí)行發(fā)送更新臟頁面請求給源宿主機(jī),通過在位圖文件中對未同步頁面標(biāo)注為缺頁狀態(tài),那么,通過位圖文件可以準(zhǔn)確的確定出臟頁面,以準(zhǔn)確的定位出臟頁面,從而保證數(shù)據(jù)的更新。
[0056]在本發(fā)明一個實(shí)施例中,在確定第一內(nèi)存數(shù)據(jù)中差異頁面之后,進(jìn)一步包括:確定差異頁面對應(yīng)的第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到位圖文件;步驟103中接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面的【具體實(shí)施方式】,包括:根據(jù)位圖文件中目標(biāo)頁面的位置,觸發(fā)源宿主機(jī)定位并復(fù)制目標(biāo)頁面,接收源宿主機(jī)發(fā)送的復(fù)制的目標(biāo)頁面,通過該過程,能夠準(zhǔn)確的定位出差異頁面對應(yīng)的第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面,保證數(shù)據(jù)更新的準(zhǔn)確性。
[0057]在本發(fā)明一個實(shí)施例中,在虛擬機(jī)訪問的當(dāng)前頁面在位圖文件中標(biāo)注為缺頁狀態(tài)之后,在發(fā)送更新臟頁面請求給源宿主機(jī)之前,進(jìn)一步包括:判斷當(dāng)前頁面是否為空閑頁面,如果是,則直接為當(dāng)前頁面分配一個零頁面,并恢復(fù)虛擬機(jī)運(yùn)行;否則,執(zhí)行發(fā)送更新臟頁面請求給源宿主機(jī),通過該過程保證了臟頁面更新的準(zhǔn)確性。
[0058]在本發(fā)明一個實(shí)施例中,在目的宿主機(jī)上啟動虛擬機(jī)之后,在判斷虛擬機(jī)訪問的當(dāng)前頁面在位圖文件中是否標(biāo)注為缺頁狀態(tài)之前,進(jìn)一步包括:接收到虛擬機(jī)發(fā)送的當(dāng)前頁面缺頁異常,在發(fā)現(xiàn)頁面缺頁異常之后,才訪問位圖文件查看該當(dāng)前頁面標(biāo)注是否為缺頁狀態(tài),而無需一直持續(xù)的訪問位圖文件,有效地提高了迀移效率。
[0059]如圖2所示,本發(fā)明一個實(shí)施例提供一種虛擬機(jī)迀移方法,應(yīng)用于源宿主機(jī),該方法可以包括如下步驟:
[0060]步驟201:當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,將虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給目的宿主機(jī),更新第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù);
[0061]步驟202:停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,并在目的宿主機(jī)上啟動虛擬機(jī);
[0062]步驟203:當(dāng)虛擬機(jī)訪問臟頁面時,接收目的宿主機(jī)發(fā)送的更新臟頁面請求,并根據(jù)更新臟頁面請求,發(fā)送臟頁面對應(yīng)的目標(biāo)頁面給目的宿主機(jī)。
[0063]在本發(fā)明一個實(shí)施例中,步驟203的【具體實(shí)施方式】,包括:確定目標(biāo)頁面的位置,定位并復(fù)制目標(biāo)頁面,并將目標(biāo)頁面發(fā)送給目的宿主機(jī),通過該過程準(zhǔn)確的定位出了目標(biāo)頁面,保證了目標(biāo)頁面的準(zhǔn)確性。
[0064]如圖3所示,本發(fā)明一個實(shí)施例提供一種目的宿主機(jī),該目的宿主機(jī)包括:第一迀移控制器301、存儲單元302、標(biāo)記單元303、缺頁請求控制器304,其中,
[0065]第一迀移控制器301,用于當(dāng)虛擬機(jī)運(yùn)行在外設(shè)的源宿主機(jī)時,接收外設(shè)的源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù),并將第一內(nèi)存數(shù)據(jù)發(fā)送給存儲單元302,并接收外設(shè)的源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面,將目標(biāo)頁面替換存儲單元302存儲的臟頁面。
[0066]存儲單元302,用于接收并存儲第一迀移控制器301第一內(nèi)存數(shù)據(jù);
[0067]標(biāo)記單元303,用于停止外設(shè)的源宿主機(jī)中的虛擬機(jī)運(yùn)行,將外設(shè)的源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與存儲單元302存儲的第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;
[0068]缺頁請求控制器304,用于確定標(biāo)記單元303標(biāo)記的臟頁面,啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問標(biāo)記單元303標(biāo)記的臟頁面時,發(fā)送更新臟頁面請求給外設(shè)的源宿主機(jī)。
[0069]如圖4所示,在本發(fā)明另一實(shí)施例中,目的宿主機(jī),進(jìn)一步包括:判斷單元401,其中,
[0070]標(biāo)記單元303,用于設(shè)置位圖文件,確定第一內(nèi)存數(shù)據(jù)中未同步頁面,在位圖文件中對未同步頁面標(biāo)注為缺頁狀態(tài),并將位圖文件提供給判斷單元401;
[007?]判斷單元401,用于判斷虛擬機(jī)訪問的當(dāng)前頁面在標(biāo)記單元303提供的位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則觸發(fā)缺頁請求控制器304;
[0072]缺頁請求控制器304,用于在接收到判斷單元401的觸發(fā)時,執(zhí)行發(fā)送更新臟頁面請求給外設(shè)的源宿主機(jī)。
[0073]在本發(fā)明另一實(shí)施例中,標(biāo)記單元303,用于確定差異頁面對應(yīng)的第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到位圖文件,并提供位圖文件;
[0074]缺頁請求控制器304,用于訪問標(biāo)記單元303提供的位圖文件,根據(jù)位圖文件中目標(biāo)頁面的位置,觸發(fā)外設(shè)的源宿主機(jī)定位并復(fù)制目標(biāo)頁面,接收外設(shè)的源宿主機(jī)發(fā)送的復(fù)制的目標(biāo)頁面。
[0075]在本發(fā)明又一實(shí)施例中,判斷單元401,進(jìn)一步用于判斷標(biāo)注為缺頁狀態(tài)的當(dāng)前頁面是否為空閑頁面,如果是,則直接為當(dāng)前頁面分配一個零頁面,并恢復(fù)虛擬機(jī)運(yùn)行;否則,觸發(fā)缺頁請求控制器。
[0076]如圖5所示,本發(fā)明實(shí)施例提供一種源宿主機(jī),該源宿主機(jī)包括:第二迀移控制器501和缺頁響應(yīng)控制器502,其中,
[0077]第二迀移控制器501,用于當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,將虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給外設(shè)的目的宿主機(jī),更新第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù),在接收到缺頁響應(yīng)控制器502的觸發(fā)時,根據(jù)更新臟頁面請求,發(fā)送臟頁面對應(yīng)的目標(biāo)頁面給外設(shè)的目的宿主機(jī);
[0078]缺頁響應(yīng)控制器502,用于當(dāng)虛擬機(jī)訪問臟頁面時,接收外設(shè)的目的宿主機(jī)發(fā)送的更新臟頁面請求,并觸發(fā)第二迀移控制器501。
[0079]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見下述的本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0080]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,結(jié)合圖6所示的目的宿主機(jī)中各個單元和源宿主機(jī)中各個單元之間的交互,以主機(jī)運(yùn)行系統(tǒng)為Iinux為例,展開說明,虛擬機(jī)從源宿主機(jī)迀移到目的宿主機(jī)的方法,如圖7所示該方法可以包括以下步驟:
[0081 ]步驟701:確定目的宿主機(jī);
[0082]在該步驟中,目的宿主機(jī)和源宿主機(jī)之間的交互如圖6所示,目的宿主機(jī)601和源宿主機(jī)602中均安裝了 Iinux基礎(chǔ)系統(tǒng),在目的宿主機(jī)601和在源宿主機(jī)602運(yùn)行虛擬化系統(tǒng)(KVM),是實(shí)現(xiàn)虛擬機(jī)運(yùn)行的基礎(chǔ)設(shè)置,該虛擬化系統(tǒng)(KVM)以虛擬化模塊的方式加載進(jìn)入Iinux內(nèi)核運(yùn)行于目的宿主機(jī)601和在源宿主機(jī)602。
[0083]步驟702:當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,目的宿主機(jī)接收源宿主機(jī)發(fā)送的第一內(nèi)存狀態(tài)數(shù)據(jù);
[0084]如圖6所示,在該步驟中,源宿主機(jī)602的用戶態(tài)進(jìn)程(QEMU)中第二迀移控制器6021從存在于Iunix內(nèi)核的內(nèi)存虛擬化模塊第二KVM_MMU6023中獲取虛擬機(jī)內(nèi)存狀態(tài)的第二EPT表項(xiàng)6024(該第二EPT表項(xiàng)存在于源宿主機(jī)602),同時,第二迀移控制器6021將虛擬機(jī)內(nèi)存狀態(tài)數(shù)據(jù)流發(fā)送給目的宿主機(jī)601的用戶態(tài)進(jìn)程(QEMU)中第一迀移控制器6011,第一迀移控制器6011將虛擬機(jī)內(nèi)存狀態(tài)數(shù)據(jù)流通過內(nèi)存虛擬化模塊第一KVM_MMU6013存儲到第一EPT表項(xiàng)6014(該第一EPT表項(xiàng)存在于目的宿主機(jī)601)。
[0085]步驟703:源宿主機(jī)更新第一內(nèi)存狀態(tài)數(shù)據(jù),形成第二內(nèi)存狀態(tài)數(shù)據(jù);
[0086]在該步驟中,在虛擬機(jī)迀移過程中,虛擬機(jī)仍然運(yùn)行于源宿主機(jī)上,那么,在這個過程中,難免有內(nèi)存狀態(tài)被更新,將更新后的虛擬機(jī)內(nèi)存狀態(tài)數(shù)據(jù)記為第二內(nèi)存狀態(tài)數(shù)據(jù)。
[0087]步驟704:停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存狀態(tài)數(shù)據(jù)與第一內(nèi)存狀態(tài)數(shù)據(jù)進(jìn)行對比;
[0088]該步驟的停止源宿主機(jī)中的虛擬機(jī)運(yùn)行的過程十分短暫,用戶或許根本感受不到虛擬機(jī)被停止過。
[0089]步驟705:確定第一內(nèi)存狀態(tài)數(shù)據(jù)中未同步頁面,在位圖文件中對未同步頁面標(biāo)注為缺頁狀態(tài);
[°09°] 在該步驟中,如圖6所示,位圖文件dirty_bitmap6015位于目的宿主機(jī)601的內(nèi)核態(tài)KVM模塊中,這樣在查詢dirty_bitmap6015時可以直接通過內(nèi)核態(tài)查詢,S卩,在目的宿主機(jī)601的第一迀移控制器6011接收到(1;[1^7_13;[1:1]^口數(shù)據(jù)時,通過第一迀移控制器6011中的1c11系統(tǒng)調(diào)用訪問第一KVM_MMU6013接口,在dirty_bi tmap6015中對未同步頁面設(shè)置缺頁狀態(tài),同時,可通過在KVM虛擬系統(tǒng)中建立dirty_b i tmap副本來保證位圖文件的完整。
[0091]步驟706:確定未同步頁面對應(yīng)的第二內(nèi)存狀態(tài)數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到位圖文件;
[0092]例如:第一內(nèi)存狀態(tài)中未同步頁面I對應(yīng)第二內(nèi)存狀態(tài)中目標(biāo)頁面1,而該目標(biāo)頁面I在源宿主機(jī)的存儲位置為位置a,則將該位置a存儲到位圖文件中,方便對目標(biāo)頁面的定位。
[0093]步驟707:在目的宿主機(jī)上啟動虛擬機(jī);
[0094]在確定好未同步的頁面之后,由于第一內(nèi)存狀態(tài)數(shù)據(jù)已經(jīng)加載到該目的宿主機(jī),那么,虛擬機(jī)能夠在目的宿主機(jī)上啟動。
[0095]步驟708:目的宿主機(jī)上的虛擬機(jī)訪問當(dāng)前頁面;
[0096]前面已經(jīng)提及內(nèi)存狀態(tài)數(shù)據(jù)存儲于EPT表項(xiàng)中,在訪問EPT表項(xiàng)中的內(nèi)存狀態(tài)數(shù)據(jù)過程中,往往以頁為單位進(jìn)行訪問,即內(nèi)存狀態(tài)數(shù)據(jù)由各個頁面數(shù)據(jù)組成,該各個頁面數(shù)據(jù)均可作為當(dāng)前頁面。
[0097]步驟709:當(dāng)虛擬機(jī)訪問當(dāng)前頁面出現(xiàn)缺頁異常時,判斷當(dāng)前頁面在位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則執(zhí)行步驟710;否則,執(zhí)行步驟711;
[0098]在該步驟中,虛擬化系統(tǒng)(KVM)的異常處理入口函數(shù)handle_except1n,根據(jù)異常類型,確定缺頁異常,并通過調(diào)用異常處理函數(shù)KVM_MMU_page_fault確認(rèn)是否是對未同步的臟頁面的訪問即當(dāng)前頁面在位圖文件中是否標(biāo)注為缺頁狀態(tài)。
[0099]步驟710:判斷當(dāng)前頁面是否為空閑頁面,如果是,則執(zhí)行步驟712;否則,執(zhí)行步驟713;
[0100]在該步驟中,仍然通過調(diào)用異常處理函數(shù)KVM_MMU_page_fault判斷當(dāng)前頁面是否為空閑頁面。
[0101]步驟711:按照正常缺頁異常處理邏輯進(jìn)行處理,并執(zhí)行步驟708;
[0102]步驟712:直接為當(dāng)前頁面分配一個零頁面,并恢復(fù)虛擬機(jī)運(yùn)行,結(jié)束當(dāng)前流程;
[0103]在該步驟中,判斷出當(dāng)前頁面對應(yīng)的目的頁面為空閑頁面,即目的頁面的頁面數(shù)據(jù)為空,即可將當(dāng)前頁面中的數(shù)據(jù)清除,并調(diào)用VM_LANCH函數(shù)恢復(fù)虛擬機(jī)運(yùn)行。
[0104]步驟713:目的宿主機(jī)發(fā)送更新臟頁面請求給源宿主機(jī);
[0105]該步驟的具體實(shí)施過程,如圖6所示,目的宿主機(jī)的用戶態(tài)進(jìn)程(QEMU)中缺頁請求控制器6012通過第一 KVM_MMU6013接口接收到更新臟頁面請求,向源宿主機(jī)的用戶態(tài)進(jìn)程(QEMU)中缺頁響應(yīng)控制器6022發(fā)送該更新臟頁面請求,在該請求中包含有位圖文件存儲的目標(biāo)頁面的位置。
[0106]步驟714:根據(jù)目標(biāo)頁面的位置,源宿主機(jī)確定目標(biāo)頁面的位置,定位并復(fù)制目標(biāo)頁面,并將目標(biāo)頁面發(fā)送給目的宿主機(jī);
[0107]在該步驟中,值得說明的是,在根據(jù)地址查找對應(yīng)的EPT表項(xiàng)的過程中,還需要適時地為該地址建立各級EPT表項(xiàng),并將最低級EPT表項(xiàng)設(shè)置為non-present屬性。
[0108]步驟715:目的宿主機(jī)接收源宿主機(jī)發(fā)送的復(fù)制的目標(biāo)頁面。
[0109]該步驟具體過程,如圖6所示,源宿主機(jī)602的用戶態(tài)中第二迀移控制器6021通過源宿主機(jī)602的第二 KVM_MMU6023接口從源宿主機(jī)602的Iinux內(nèi)核中的第二 EPT表項(xiàng)6024中復(fù)制目標(biāo)頁面,并將該目標(biāo)頁面發(fā)送給目的宿主機(jī)601的用戶態(tài)中第一迀移控制器6011,并通過目的宿主機(jī)601的第一KVM_MMU6013接口將目標(biāo)頁面發(fā)送給目的宿主機(jī)601的Iinux內(nèi)核中的第一EPT表項(xiàng)6014,同時,修改目的宿主機(jī)601的Iinux內(nèi)核中位圖文件bitmap6015中頁面的狀態(tài)。
[0110]根據(jù)上述方案,本發(fā)明的各實(shí)施例所提供的虛擬機(jī)迀移方法、目的宿主機(jī)和源宿主機(jī),至少具有如下有益效果:
[0111 ] 1.當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲源宿主機(jī)發(fā)送的虛擬機(jī)的第一內(nèi)存數(shù)據(jù);停止源宿主機(jī)中的虛擬機(jī)運(yùn)行,將源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記第一內(nèi)存數(shù)據(jù)中的臟頁面;在目的宿主機(jī)上啟動虛擬機(jī),當(dāng)虛擬機(jī)訪問臟頁面時,發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面;將目標(biāo)頁面替換臟頁面,在本發(fā)明提供的方案中,停止源宿主機(jī)中的虛擬機(jī)運(yùn)行的過程主要為了將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)進(jìn)行對比,之后虛擬機(jī)運(yùn)行于目的宿主機(jī)上,在這個過程中,將第二內(nèi)存數(shù)據(jù)與第一內(nèi)存數(shù)據(jù)間差異性的頁面重新發(fā)送,這整個過程中,每個差異性的頁面只需經(jīng)過一次迀移,而不會迭代迀移,能夠有效地降低虛擬機(jī)迀移過程的同步數(shù)據(jù)量。
[0112]2.在本發(fā)明實(shí)施例中,通過判斷虛擬機(jī)訪問的當(dāng)前頁面在位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則執(zhí)行發(fā)送更新臟頁面請求給源宿主機(jī),并接收源宿主機(jī)發(fā)送的當(dāng)前頁面對應(yīng)的目標(biāo)頁面,利用目標(biāo)頁面更新當(dāng)前頁面,而不是同時將所有的未同步頁面進(jìn)行同步,實(shí)現(xiàn)了按需復(fù)制同步。
[0113]3.由于本發(fā)明實(shí)施例在進(jìn)行一次完整復(fù)制之后,即停止了源宿主機(jī)上虛擬機(jī)的運(yùn)行,在虛擬機(jī)停止運(yùn)行后,通過對比源宿主機(jī)和目的宿主機(jī)中的內(nèi)存狀態(tài)數(shù)據(jù)即可一次性確定出未同步頁面,在之后虛擬機(jī)運(yùn)行于目的宿主機(jī),避免了內(nèi)存狀態(tài)數(shù)據(jù)的迭代迀移,有效地縮短了總迀移時間。
[0114]4.在本發(fā)明實(shí)施例中,虛擬機(jī)停止的過程只是為了找出未同步頁面,而不涉及數(shù)據(jù)的迀移等復(fù)雜的過程,使得虛擬機(jī)不可訪問的時間較短。
[0115]5.在本發(fā)明實(shí)施例中,只有當(dāng)前臟頁面即未同步頁面被訪問時才會被更新,而無需對未被訪問的臟頁面進(jìn)行更新,使得臟頁面更新更加具有針對性,由于當(dāng)前被訪問的臟頁面數(shù)據(jù)量并不會特別大,其在更新過程中對虛擬機(jī)運(yùn)行影響較小,保證了虛擬機(jī)的應(yīng)用性能不被影響。
[0116]需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
[0117]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計(jì)算機(jī)可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
[0118]最后需要說明的是:以上所述僅為本發(fā)明的較佳實(shí)施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種虛擬機(jī)迀移方法,其特征在于,應(yīng)用于目的宿主機(jī),包括: 當(dāng)虛擬機(jī)運(yùn)行在源宿主機(jī)時,接收并存儲所述源宿主機(jī)發(fā)送的所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù); 停止所述源宿主機(jī)中的虛擬機(jī)運(yùn)行,將所述源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與所述第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面; 在所述目的宿主機(jī)上啟動所述虛擬機(jī),當(dāng)所述虛擬機(jī)訪問所述臟頁面時,發(fā)送更新臟頁面請求給所述源宿主機(jī),并接收所述源宿主機(jī)返回的與所述臟頁面對應(yīng)的目標(biāo)頁面; 將所述目標(biāo)頁面替換所述臟頁面。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:設(shè)置位圖文件; 所述標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面,包括:確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面,在所述位圖文件中對所述未同步頁面標(biāo)注為缺頁狀態(tài); 在所述目的宿主機(jī)上啟動所述虛擬機(jī)之后,在所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)之前,進(jìn)一步包括:判斷所述虛擬機(jī)訪問的當(dāng)前頁面在所述位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則執(zhí)行所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 在所述確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面之后,進(jìn)一步包括:確定所述差異頁面對應(yīng)的所述第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到所述位圖文件; 所述接收所述源宿主機(jī)返回的與所述臟頁面對應(yīng)的目標(biāo)頁面,包括:根據(jù)所述位圖文件中目標(biāo)頁面的位置,觸發(fā)所述源宿主機(jī)定位并復(fù)制所述目標(biāo)頁面,接收所述源宿主機(jī)發(fā)送的所述復(fù)制的所述目標(biāo)頁面。4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于, 在所述虛擬機(jī)訪問的當(dāng)前頁面在所述位圖文件中標(biāo)注為缺頁狀態(tài)之后,在所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)之前,進(jìn)一步包括:判斷所述當(dāng)前頁面是否為空閑頁面,如果是,則直接為所述當(dāng)前頁面分配一個零頁面,并恢復(fù)所述虛擬機(jī)運(yùn)行;否則,執(zhí)行所述發(fā)送更新所述臟頁面請求給所述源宿主機(jī)。5.一種虛擬機(jī)迀移方法,其特征在于,應(yīng)用于源宿主機(jī),包括: 當(dāng)虛擬機(jī)運(yùn)行在所述源宿主機(jī)時,將所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給目的宿主機(jī),更新所述第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù); 停止所述源宿主機(jī)中的虛擬機(jī)運(yùn)行,并在所述目的宿主機(jī)上啟動所述虛擬機(jī); 當(dāng)所述虛擬機(jī)訪問臟頁面時,接收所述目的宿主機(jī)發(fā)送的更新臟頁面請求,并根據(jù)所述更新臟頁面請求,發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述目的宿主機(jī)。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述目的宿主機(jī),包括: 確定目標(biāo)頁面的位置,定位并復(fù)制所述目標(biāo)頁面,并將所述目標(biāo)頁面發(fā)送給所述目的宿主機(jī)。7.—種目的宿主機(jī),其特征在于,包括:第一迀移控制器、存儲單元、標(biāo)記單元、缺頁請求控制器,其中, 所述第一迀移控制器,用于當(dāng)虛擬機(jī)運(yùn)行在外設(shè)的源宿主機(jī)時,接收所述外設(shè)的源宿主機(jī)發(fā)送的所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù),并將所述第一內(nèi)存數(shù)據(jù)發(fā)送給所述存儲單元,并接收外設(shè)的源宿主機(jī)返回的與臟頁面對應(yīng)的目標(biāo)頁面,將目標(biāo)頁面替換存儲單元存儲的臟頁面 所述存儲單元,用于接收并存儲所述第一迀移控制器所述第一內(nèi)存數(shù)據(jù); 所述標(biāo)記單元,用于停止所述外設(shè)的源宿主機(jī)中的虛擬機(jī)運(yùn)行,將所述外設(shè)的源宿主機(jī)中的第二內(nèi)存數(shù)據(jù)與所述存儲單元存儲的第一內(nèi)存數(shù)據(jù)進(jìn)行對比,標(biāo)記所述第一內(nèi)存數(shù)據(jù)中的臟頁面; 所述缺頁請求控制器,用于確定所述標(biāo)記單元標(biāo)記的臟頁面,啟動所述虛擬機(jī),當(dāng)所述虛擬機(jī)訪問所述標(biāo)記單元標(biāo)記的臟頁面時,發(fā)送更新臟頁面請求給所述外設(shè)的源宿主機(jī)。8.根據(jù)權(quán)利要求7所述的目的宿主機(jī),其特征在于,進(jìn)一步包括:判斷單元,其中, 所述標(biāo)記單元,用于設(shè)置位圖文件,確定所述第一內(nèi)存數(shù)據(jù)中未同步頁面,在所述位圖文件中對所述未同步頁面標(biāo)注為缺頁狀態(tài),并將所述位圖文件提供給所述判斷單元; 所述判斷單元,用于判斷所述虛擬機(jī)訪問的當(dāng)前頁面在所述標(biāo)記單元提供的位圖文件中是否標(biāo)注為缺頁狀態(tài),如果是,則觸發(fā)所述缺頁請求控制器; 所述缺頁請求控制器,用于在接收到所述判斷單元的觸發(fā)時,執(zhí)行所述發(fā)送更新所述臟頁面請求給所述外設(shè)的源宿主機(jī)。9.根據(jù)權(quán)利要求8所述的目的宿主機(jī),其特征在于, 所述標(biāo)記單元,用于確定所述差異頁面對應(yīng)的所述第二內(nèi)存數(shù)據(jù)中目標(biāo)頁面的位置,并將該目標(biāo)頁面的位置存儲到所述位圖文件,并提供所述位圖文件; 所述缺頁請求控制器,用于訪問所述標(biāo)記單元提供的所述位圖文件,根據(jù)所述位圖文件中目標(biāo)頁面的位置,觸發(fā)所述外設(shè)的源宿主機(jī)定位并復(fù)制所述目標(biāo)頁面,接收所述外設(shè)的源宿主機(jī)發(fā)送的所述復(fù)制的所述目標(biāo)頁面; 和/或, 所述判斷單元,進(jìn)一步用于判斷所述標(biāo)注為缺頁狀態(tài)的當(dāng)前頁面是否為空閑頁面,如果是,則直接為所述當(dāng)前頁面分配一個零頁面,并恢復(fù)所述虛擬機(jī)運(yùn)行;否則,觸發(fā)所述缺頁請求控制器。10.—種源宿主機(jī),其特征在于,包括:第二迀移控制器和缺頁響應(yīng)控制器,其中, 所述第二迀移控制器,用于當(dāng)虛擬機(jī)運(yùn)行在所述源宿主機(jī)時,將所述虛擬機(jī)的第一內(nèi)存數(shù)據(jù)發(fā)送給外設(shè)的目的宿主機(jī),更新所述第一內(nèi)存數(shù)據(jù)形成第二內(nèi)存數(shù)據(jù),在接收到所述缺頁響應(yīng)控制器的觸發(fā)時,根據(jù)所述更新臟頁面請求,發(fā)送所述臟頁面對應(yīng)的目標(biāo)頁面給所述外設(shè)的目的宿主機(jī); 所述缺頁響應(yīng)控制器,用于當(dāng)所述虛擬機(jī)訪問臟頁面時,接收所述外設(shè)的目的宿主機(jī)發(fā)送的更新臟頁面請求,并觸發(fā)所述第二迀移控制器。
【文檔編號】G06F9/455GK105893114SQ201610206072
【公開日】2016年8月24日
【申請日】2016年4月5日
【發(fā)明人】侯德龍
【申請人】浪潮電子信息產(chǎn)業(yè)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
同仁县| 高淳县| 眉山市| 伊宁市| 麟游县| 密云县| 泽普县| 阳朔县| 靖宇县| 巨野县| 安新县| 太白县| 个旧市| 彩票| 汤原县| 南漳县| 美姑县| 和静县| 临武县| 辽阳县| 文安县| 南雄市| 乡宁县| 松潘县| 云和县| 博乐市| 温泉县| 阳新县| 资源县| 亳州市| 武清区| 泊头市| 金堂县| 红河县| 安溪县| 丹江口市| 南雄市| 孟州市| 汉川市| 馆陶县| 大厂|