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

一種復(fù)制虛擬機(jī)的方法和系統(tǒng)的制作方法

文檔序號(hào):6397363閱讀:295來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種復(fù)制虛擬機(jī)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種復(fù)制虛擬機(jī)的方法和系統(tǒng)
背景技術(shù)
云計(jì)算作為一種新型的基于Internet的服務(wù)供應(yīng)方式,已經(jīng)對(duì)于IT的服務(wù)理念產(chǎn)生深遠(yuǎn)的影響。隨著IT企業(yè)和社會(huì)對(duì)云計(jì)算理念的關(guān)注,及科研人員對(duì)云計(jì)算需求和實(shí)現(xiàn)方法的探索與研究,云計(jì)算的神秘面紗正逐漸被揭開(kāi)。人們?cè)谠朴?jì)算諸多方面已經(jīng)達(dá)成了共識(shí),如資源流轉(zhuǎn)、按需分配、按量計(jì)費(fèi)等;云計(jì)算在應(yīng)用上分為三層,即云基礎(chǔ)設(shè)施即服務(wù)(IaaS)、云平臺(tái)即服務(wù)(PaaS)和云軟件即服務(wù)(SaaS),分別面向硬件基礎(chǔ)設(shè)施,平臺(tái)服務(wù)和應(yīng)用服務(wù)三個(gè)領(lǐng)域云計(jì)算。云計(jì)算實(shí)現(xiàn)的資源整合,必然會(huì)帶來(lái)運(yùn)算任務(wù)的高度集中。云計(jì)算的優(yōu)勢(shì)是可以在非常短的時(shí)間內(nèi)聚集大量的計(jì)算資源(包括物理機(jī)和虛擬機(jī))來(lái)完成以前的互聯(lián)網(wǎng)時(shí)代無(wú)法完成短時(shí)間大計(jì)算量的處理任務(wù)。虛擬機(jī)復(fù)制,本質(zhì)上是虛擬機(jī)內(nèi)存的快速?gòu)?fù)制,是將父虛擬機(jī)的實(shí)時(shí)狀態(tài),即實(shí)時(shí)的內(nèi)存信息分發(fā)到不同的主機(jī)上,然后每個(gè)內(nèi)存副本在主機(jī)上成為新的子虛擬機(jī)進(jìn)行運(yùn)行計(jì)算。在現(xiàn)有的虛擬機(jī)復(fù)制系統(tǒng)中,如何實(shí)現(xiàn)快速?gòu)?fù)制是最大的挑戰(zhàn)。一個(gè)上G內(nèi)存虛擬機(jī)的復(fù)制是一個(gè)非常消耗資源的操作,如果復(fù)制多份,將對(duì)父虛擬機(jī)運(yùn)行的主機(jī)帶來(lái)非常大的負(fù)載和網(wǎng)絡(luò)阻塞。根據(jù)測(cè)試結(jié)果,隨著復(fù)制虛擬機(jī)數(shù)量的增加,對(duì)主機(jī)系統(tǒng)帶來(lái)的延遲將是線(xiàn)性增長(zhǎng)。

發(fā)明內(nèi)容
本發(fā)明提供一種復(fù)制虛擬機(jī)的方法和系統(tǒng),要解決的技術(shù)問(wèn)題是如何縮短虛擬機(jī)復(fù)制流程。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了如下技術(shù)方案一種復(fù)制虛擬機(jī)的方法,包括當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),承載該父虛擬機(jī)的終端獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù),并向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);其他終端根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果;在父虛擬機(jī)得到的執(zhí)行結(jié)果后,承載該父虛擬機(jī)的終端發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作。優(yōu)選的,所述方法還具有如下特點(diǎn)所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù)。優(yōu)選的,所述方法還具有如下特點(diǎn)所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。優(yōu)選的,所述方法還具有如下特點(diǎn)所述方法還包括在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,如果子虛擬機(jī)向父虛擬機(jī)發(fā)起內(nèi)存申請(qǐng)后,承載該父虛擬機(jī)的終端根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息,并向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息;承載子虛擬機(jī)的終端加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù)。優(yōu)選的,所述方法還具有如下特點(diǎn)該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。優(yōu)選的,所述方法還具有如下特點(diǎn)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端。優(yōu)選的,所述方法還具有如下特點(diǎn)所述方法還包括向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。一種復(fù)制虛擬機(jī)的系統(tǒng),包括承載父虛擬機(jī)的終端,包括獲取裝置,用于當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);發(fā)送裝置,與所述獲取裝置相連,用于向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);控制裝置,用于在父虛擬機(jī)得到子虛擬機(jī)執(zhí)行計(jì)算任務(wù)的執(zhí)行結(jié)果后,發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作;承載子虛擬機(jī)的終端,包括執(zhí)行裝置,用于根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);上報(bào)裝置,與所述執(zhí)行裝置和所述控制裝置相連,用于當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù)。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)所述承載該父虛擬機(jī)的終端,還包括申請(qǐng)裝置,用于在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,機(jī)向父虛擬機(jī)發(fā)起內(nèi)存申請(qǐng);
其中所述執(zhí)行裝置在加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù);承載該父虛擬機(jī)的終端,還包括識(shí)別裝置,與所述申請(qǐng)裝置相連,用于根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息;所述發(fā)送裝置還用于向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端。優(yōu)選的,所述系統(tǒng)還具有如下特點(diǎn)所述發(fā)送裝置,還用于向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。與現(xiàn)有技術(shù)不同,本發(fā)明提供的實(shí)施例通過(guò)按需內(nèi)存復(fù)制,并不完整的復(fù)制虛擬機(jī)的所有內(nèi)存,這樣就可以大大提高虛擬機(jī)的復(fù)制速度。另外通過(guò)分布式系統(tǒng),將計(jì)算完成的任務(wù)傳回父虛擬機(jī)。復(fù)制的子虛擬機(jī)就可以快速關(guān)閉,即時(shí)釋放資源。這樣,就實(shí)現(xiàn)了虛擬機(jī)的快速?gòu)?fù)制和即時(shí)釋放。


圖1為本發(fā)明提供的復(fù)制虛擬機(jī)的方法實(shí)施例的流程示意圖;圖2為本發(fā)明應(yīng)用實(shí)例中快速虛擬機(jī)復(fù)制系統(tǒng)流程示意圖;圖3為本發(fā)明應(yīng)用實(shí)例中內(nèi)存按需復(fù)制示意圖;圖4為本發(fā)明應(yīng)用實(shí)例中內(nèi)存快速?gòu)?fù)制示意圖;圖5為本發(fā)明提供的復(fù)制虛擬機(jī)的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。圖1為本發(fā)明提供的復(fù)制虛擬機(jī)的方法實(shí)施例的流程示意圖。圖1所示方法實(shí)施例,包括步驟101、當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),承載該父虛擬機(jī)的終端獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);其中,該步驟的目的是使復(fù)制出的虛擬機(jī)不包括父虛擬機(jī)的磁盤(pán)等,僅使用最低限度的內(nèi)存資源,完成對(duì)應(yīng)的計(jì)算任務(wù),即子虛擬機(jī)僅完成父虛擬機(jī)交付的計(jì)算任務(wù),不執(zhí)行其他任務(wù);步驟102、承載該父虛擬機(jī)的終端向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);步驟103、其他終端根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī);步驟104、其他終端上的子虛擬機(jī)執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);步驟105、當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果;步驟106、在父虛擬機(jī)得到的執(zhí)行結(jié)果后,承載該父虛擬機(jī)的終端發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作。下面對(duì)本發(fā)明提供的方法實(shí)施例作進(jìn)一步說(shuō)明其中,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù);而所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。在實(shí)際應(yīng)用中,在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,可能會(huì)發(fā)現(xiàn)計(jì)算所需的部分內(nèi)存并不存在,原因是沒(méi)有完全復(fù)制過(guò)來(lái),則子虛擬機(jī)進(jìn)入暫停狀態(tài),向父虛擬機(jī)發(fā)起內(nèi)存,承載該父虛擬機(jī)的終端根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息,并向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息;而承載子虛擬機(jī)的終端加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù)。其中該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端。為了避免后續(xù)其他終端也向父虛擬機(jī)申請(qǐng)內(nèi)存,所述方法還包括向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。由上可以看出,本發(fā)明建立一種按需內(nèi)存復(fù)制機(jī)制,僅將子虛擬機(jī)運(yùn)行所需要的內(nèi)存進(jìn)行復(fù)制即可,這將大大提高虛擬機(jī)的復(fù)制速度。另外每個(gè)復(fù)制出來(lái)的子虛擬機(jī)經(jīng)常只完成計(jì)算任務(wù),即該任務(wù)一般是計(jì)算密集型,而不會(huì)產(chǎn)生IO訪(fǎng)問(wèn)請(qǐng)求,所以每個(gè)復(fù)制出來(lái)的子虛擬機(jī)并不需要存儲(chǔ)數(shù)據(jù),該虛擬機(jī)只需要在每個(gè)主機(jī)上的內(nèi)存中存在,這樣一旦計(jì)算任務(wù)結(jié)束,子虛擬機(jī)把運(yùn)算結(jié)果返回給父虛擬機(jī)后,子虛擬機(jī)可以快速關(guān)閉,釋放資源。下面進(jìn)行進(jìn)一步說(shuō)明圖2為本發(fā)明應(yīng)用實(shí)例中快速虛擬機(jī)復(fù)制系統(tǒng)流程示意圖。經(jīng)過(guò)實(shí)驗(yàn),得到如下結(jié)論,每個(gè)從虛擬機(jī)復(fù)制得到的子虛擬機(jī)在啟動(dòng)時(shí),只需要父虛擬機(jī)很小部分的內(nèi)存信息,相應(yīng)的,每個(gè)子虛擬機(jī)在運(yùn)行過(guò)程中也只需要訪(fǎng)問(wèn)父虛擬機(jī)的很小一部分的內(nèi)存信息。步驟Al、內(nèi)存分析模塊獲取子虛擬機(jī)運(yùn)行所需的內(nèi)存信息,;其中,一個(gè)子虛擬機(jī)所需的內(nèi)存信息包括該虛擬機(jī)啟動(dòng)所需的內(nèi)存信息和用于與父虛擬機(jī)交互時(shí)所使用的內(nèi)存信息,而這些內(nèi)存信息是需要通過(guò)分析和識(shí)別得到,下面進(jìn)行分別說(shuō)明
對(duì)于子虛擬機(jī)如何單獨(dú)啟動(dòng)運(yùn)行,這就需要對(duì)父虛擬機(jī)的內(nèi)存進(jìn)行分析,抽取出運(yùn)行所需的基本內(nèi)存信息,即子虛擬機(jī)啟動(dòng)所需內(nèi)存主要包括父虛擬機(jī)的元數(shù)據(jù)和操作系統(tǒng)內(nèi)核管理數(shù)據(jù)。用于與父虛擬機(jī)交互時(shí)所使用的內(nèi)存信息是通過(guò)如下方式確定和下發(fā)的當(dāng)子虛擬機(jī)啟動(dòng)后需要同父虛擬機(jī)交互時(shí),虛擬機(jī)監(jiān)控器中內(nèi)存分析模塊會(huì)發(fā)現(xiàn)子虛擬機(jī)的CPU將訪(fǎng)問(wèn)一塊丟失的內(nèi)存,此時(shí)內(nèi)存分析模塊會(huì)剝奪分給這個(gè)VCPU的時(shí)間片,將該VCPU切入暫停狀態(tài),并從父虛擬機(jī)中獲取這部分內(nèi)存信息,將該VCPU所訪(fǎng)問(wèn)的內(nèi)存信息作為與父虛擬機(jī)交互時(shí)所使用的內(nèi)存信息。步驟A2、內(nèi)存復(fù)制模塊對(duì)子虛擬所需的內(nèi)存信息進(jìn)行復(fù)制,包括圖3為本發(fā)明應(yīng)用實(shí)例中內(nèi)存按需復(fù)制示意圖。具體說(shuō)明如下對(duì)于子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,復(fù)制方式如下當(dāng)父虛擬機(jī)一直處于運(yùn)行狀態(tài),上述的內(nèi)存數(shù)據(jù)一直處于活躍狀態(tài),無(wú)法進(jìn)行復(fù)制,此時(shí)可以將父虛擬機(jī)進(jìn)入短暫的暫停狀態(tài),進(jìn)入暫停狀態(tài)后,快速的將對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,將拷貝得到的內(nèi)存塊中的內(nèi)存信息作為復(fù)制得到的子虛擬機(jī)啟動(dòng)所需的內(nèi)存息;在父虛擬機(jī)處于暫停狀態(tài)時(shí),父虛擬機(jī)的外部IO數(shù)據(jù)會(huì)全部緩存到主機(jī)系統(tǒng)中,當(dāng)父虛擬機(jī)恢復(fù)時(shí),再由父虛擬機(jī)傳遞給子虛擬機(jī),所以說(shuō)整個(gè)暫停過(guò)程是非常快而且不會(huì)導(dǎo)致虛擬機(jī)數(shù)據(jù)丟失的。當(dāng)然,子虛擬機(jī)除了啟動(dòng)時(shí)所需內(nèi)存外,在虛擬機(jī)的運(yùn)行過(guò)程中,還會(huì)有一部分?jǐn)?shù)據(jù)需要從父虛擬機(jī)處獲取,這部分內(nèi)存也需要獲取。而這部分內(nèi)存是通過(guò)如下方式確定和下發(fā)的當(dāng)子虛擬機(jī)啟動(dòng)后需要同父虛擬機(jī)交互時(shí),處于虛擬機(jī)監(jiān)控器中的內(nèi)存分析模塊會(huì)發(fā)現(xiàn)某個(gè)VCPU將訪(fǎng)問(wèn)一塊丟失的內(nèi)存,此時(shí)內(nèi)存分析模塊會(huì)剝奪分給這個(gè)VCPU的時(shí)間片,將該VCPU切入暫停狀態(tài),并從父虛擬機(jī)中獲取這部分內(nèi)存信息,將數(shù)據(jù)從父虛擬機(jī)中拷貝至子虛擬機(jī)所處的主機(jī)中,然后將VCPU跳轉(zhuǎn)至運(yùn)行狀態(tài),從而保證子虛擬機(jī)的正確運(yùn)行。圖4為本發(fā)明應(yīng)用實(shí)例中內(nèi)存快速?gòu)?fù)制示意圖。由于每個(gè)子虛擬機(jī)需要跟父虛擬機(jī)交互的內(nèi)容大致相同,他們一般需要執(zhí)行相同的代碼和訪(fǎng)問(wèn)相同的數(shù)據(jù)結(jié)構(gòu)。如果每個(gè)虛擬機(jī)都等到運(yùn)行的時(shí)候向父虛擬機(jī)發(fā)起訪(fǎng)問(wèn)請(qǐng)求,然后再傳輸,這樣產(chǎn)生的網(wǎng)絡(luò)流量負(fù)載是相當(dāng)驚人的。所以當(dāng)有某個(gè)子虛擬機(jī)向父虛擬機(jī)申請(qǐng)內(nèi)存數(shù)據(jù)時(shí),將這些數(shù)據(jù)通過(guò)網(wǎng)絡(luò)組播給所有的子虛擬機(jī)。在一次操作中將數(shù)據(jù)發(fā)送給所有的子虛擬機(jī)比點(diǎn)對(duì)點(diǎn)的每次發(fā)送要極大的降低網(wǎng)絡(luò)負(fù)載和提高效率。步驟A3、當(dāng)子虛擬機(jī)的計(jì)算任務(wù)結(jié)束時(shí),關(guān)閉子虛擬機(jī);由于每個(gè)子虛擬機(jī)在主機(jī)上不存在存儲(chǔ)系統(tǒng),所以在子虛擬機(jī)運(yùn)算的結(jié)果全部存在內(nèi)存中,這樣關(guān)閉虛擬機(jī)操作將變得非常簡(jiǎn)單而且快速。每個(gè)子虛擬機(jī)被創(chuàng)建時(shí),都是帶有特殊的唯一標(biāo)識(shí),在父虛擬機(jī)所處的主機(jī)上,維護(hù)一張任務(wù)列表,這些列表維護(hù)了虛擬機(jī)的任務(wù)和唯一標(biāo)識(shí),當(dāng)子虛擬機(jī)運(yùn)算結(jié)束時(shí),會(huì)將運(yùn)算結(jié)果的內(nèi)存信息返回給父虛擬機(jī),然后父虛擬機(jī)通過(guò)唯一標(biāo)識(shí)對(duì)子虛擬機(jī)實(shí)現(xiàn)關(guān)閉,這樣由于不需要同步內(nèi)存和存儲(chǔ)里面的數(shù)據(jù),虛擬機(jī)的關(guān)閉時(shí)間將大大縮短,而且子虛擬機(jī)運(yùn)算所占據(jù)的內(nèi)存將全部釋放,實(shí)現(xiàn)資源的聞效利用。上述的目標(biāo)主要是通過(guò)虛擬機(jī)的復(fù)制來(lái)實(shí)現(xiàn)的。但是在虛擬機(jī)的復(fù)制中,經(jīng)常需要實(shí)現(xiàn)虛擬機(jī)的快速?gòu)?fù)制,希望在非常短的時(shí)間內(nèi),完成計(jì)算資源的準(zhǔn)備;當(dāng)計(jì)算任務(wù)完成時(shí),希望可以即時(shí)釋放資源,讓資源可以用于其它計(jì)算任務(wù)。由上可以看出,采用一個(gè)內(nèi)存分析模塊來(lái)計(jì)算哪些內(nèi)存信息是子虛擬機(jī)所必須的,復(fù)制出的子虛擬機(jī)并不是完整的復(fù)制父虛擬機(jī)的全部?jī)?nèi)存信息,這樣就可以大大提高虛擬機(jī)的復(fù)制速度,再采用內(nèi)存復(fù)制模塊來(lái)將需要復(fù)制的內(nèi)存信息組播給所有的復(fù)制出來(lái)的子虛擬機(jī),通過(guò)在一次操作中將數(shù)據(jù)發(fā)送給所有的子虛擬機(jī)來(lái)提高復(fù)制的速度,進(jìn)而采用內(nèi)存回收模塊來(lái)實(shí)現(xiàn)子虛擬機(jī)的快速關(guān)閉。內(nèi)存回收模塊負(fù)責(zé)將子虛擬機(jī)運(yùn)算結(jié)果返回給父虛擬機(jī),然后直接關(guān)閉子虛擬機(jī),釋放其內(nèi)存信息。圖5為本發(fā)明提供的復(fù)制虛擬機(jī)的系統(tǒng)實(shí)施例的結(jié)構(gòu)示意圖。圖5所示復(fù)制虛擬機(jī)的系統(tǒng)實(shí)施例,包括承載該父虛擬機(jī)的終端,包括獲取裝置,用于當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);發(fā)送裝置,與所述獲取裝置相連,用于向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);控制裝置,用于在父虛擬機(jī)得到子虛擬機(jī)執(zhí)行計(jì)算任務(wù)的執(zhí)行結(jié)果后,發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作;承載子虛擬機(jī)的終端,包括執(zhí)行裝置,用于根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);上報(bào)裝置,與所述執(zhí)行裝置和所述控制裝置相連,用于當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果。其中,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù)。其中,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。其中,所述承載該父虛擬機(jī)的終端,還包括申請(qǐng)裝置,用于在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,機(jī)向父虛擬機(jī)發(fā)起內(nèi)存申請(qǐng);其中所述執(zhí)行裝置在加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù);承載該父虛擬機(jī)的終端,還包括識(shí)別裝置,與所述申請(qǐng)裝置相連,用于根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息;所述發(fā)送裝置還用于向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息。其中,該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。其中,所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端??蛇x的,所述發(fā)送裝置,還用于向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。本發(fā)明提供的實(shí)施例通過(guò)按需內(nèi)存復(fù)制,并不完整的復(fù)制虛擬機(jī)的所有內(nèi)存,這樣就可以大大提高虛擬機(jī)的復(fù)制速度。另外通過(guò)分布式系統(tǒng),將計(jì)算完成的任務(wù)傳回父虛擬機(jī)。復(fù)制的子虛擬機(jī)就可以快速關(guān)閉,即時(shí)釋放資源。這樣,就實(shí)現(xiàn)了虛擬機(jī)的快速?gòu)?fù)制和即時(shí)釋放。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求所述的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種復(fù)制虛擬機(jī)的方法,其特征在于,包括: 當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),承載該父虛擬機(jī)的終端獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù),并向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù); 其他終端根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù); 當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果; 在父虛擬機(jī)得到的執(zhí)行結(jié)果 后,承載該父虛擬機(jī)的終端發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括: 當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,如果子虛擬機(jī)向父虛擬機(jī)發(fā)起內(nèi)存申請(qǐng)后,承載該父虛擬機(jī)的終端根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息,并向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息; 承載子虛擬機(jī)的終端加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的:在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括: 暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端。
7.根據(jù)權(quán)利要求4至6任一所述的方法,其特征在于,所述方法還包括: 向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。
8.一種復(fù)制虛擬機(jī)的系統(tǒng),其特征在于,包括: 承載父虛擬機(jī)的終端,包括: 獲取裝置,用于當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù); 發(fā)送裝置,與所述獲取裝置相連,用于向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù); 控制裝置,用于在父虛擬機(jī)得到子虛擬機(jī)執(zhí)行計(jì)算任務(wù)的執(zhí)行結(jié)果后,發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作; 承載子虛擬機(jī)的終端,包括: 執(zhí)行裝置,用于根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);上報(bào)裝置,與所述執(zhí)行裝置和所述控制裝置相連,用于當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息包括父虛擬機(jī)的元數(shù)據(jù)以及父虛擬機(jī)的操作系統(tǒng)內(nèi)核數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括:當(dāng)檢測(cè)到父虛擬機(jī)進(jìn)入暫停狀態(tài)后,將存儲(chǔ)有所述子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息對(duì)應(yīng)的內(nèi)存數(shù)據(jù)拷貝到一個(gè)內(nèi)存塊中,并發(fā)送給其他終端。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于:所述承載該父虛擬機(jī)的終端,還包括:申請(qǐng)裝置,用于在子虛擬機(jī)執(zhí)行計(jì)算任務(wù)過(guò)程中,機(jī)向父虛擬機(jī)發(fā)起內(nèi)存申請(qǐng); 其中所述執(zhí)行裝置在加載所申請(qǐng)的內(nèi)存信息,并繼續(xù)執(zhí)行所述計(jì)算任務(wù);承載該父虛擬機(jī)的終端,還包括:識(shí)別裝置,與所述申請(qǐng)裝置相連,用于根據(jù)子虛擬機(jī)訪(fǎng)問(wèn)過(guò)程中本地內(nèi)存的狀態(tài)信息,確定該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息;所述發(fā)送裝置還用于向所述承載子虛擬機(jī)的終端發(fā)送該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,該子虛擬機(jī)所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式確定的:在子虛擬機(jī)訪(fǎng)問(wèn)父虛擬機(jī)后,如果檢測(cè)到該子虛擬機(jī)訪(fǎng)問(wèn)一丟失的內(nèi)存,則將所訪(fǎng)問(wèn)的丟失的內(nèi)存作為與父虛擬機(jī)交互所需的內(nèi)存信息。
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所申請(qǐng)的內(nèi)存信息是通過(guò)如下方式發(fā)送的,包括:暫停發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的訪(fǎng)問(wèn),將與所述父虛擬機(jī)交互所需的內(nèi)存信息拷貝到一個(gè)內(nèi)存塊中,并發(fā)送承載該發(fā)起內(nèi)存申請(qǐng)的子虛擬機(jī)的終端。
14.根據(jù)權(quán)利要求11至13任一所述的系統(tǒng),其特征在于:所述發(fā)送裝置,還用于向父虛擬機(jī)所有的子虛擬機(jī)均發(fā)送該子虛擬申請(qǐng)的內(nèi)存信息。
全文摘要
本發(fā)明提供一種復(fù)制虛擬機(jī)的方法和系統(tǒng)。所述方法,包括當(dāng)發(fā)起將一虛擬機(jī)作為父虛擬機(jī)進(jìn)行虛擬機(jī)復(fù)制操作時(shí),承載該父虛擬機(jī)的終端獲取子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù),并向其他終端發(fā)送子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息以及父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);其他終端根據(jù)子虛擬機(jī)啟動(dòng)所需的內(nèi)存信息,啟動(dòng)子虛擬機(jī),并執(zhí)行父虛擬機(jī)的計(jì)算任務(wù)數(shù)據(jù);當(dāng)子虛擬機(jī)的計(jì)算任務(wù)執(zhí)行結(jié)束后,向所述父虛擬機(jī)上報(bào)執(zhí)行結(jié)果;在父虛擬機(jī)得到的執(zhí)行結(jié)果后,承載該父虛擬機(jī)的終端發(fā)起關(guān)閉已執(zhí)行完計(jì)算任務(wù)的子虛擬機(jī)的操作。
文檔編號(hào)G06F9/455GK103077072SQ20131000114
公開(kāi)日2013年5月1日 申請(qǐng)日期2013年1月4日 優(yōu)先權(quán)日2013年1月4日
發(fā)明者熊坤, 張東 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安乡县| 溆浦县| 孝义市| 隆安县| 巨鹿县| 通榆县| 吉林省| 武邑县| 固安县| 大洼县| 新闻| 大渡口区| 四会市| 南和县| 无棣县| 筠连县| 泉州市| 姚安县| 长武县| 简阳市| 高邮市| 陇西县| 青州市| 大名县| 炉霍县| 宁蒗| 札达县| 清水河县| 荣昌县| 永康市| 基隆市| 时尚| 和田市| 大埔区| 金川县| 望奎县| 钦州市| 富裕县| 万安县| 罗山县| 西乌珠穆沁旗|