專利名稱:虛擬資源管理方法、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及虛擬資源管理方法、系統(tǒng)及裝置。
背景技術(shù):
隨著信息化進(jìn)程的深入發(fā)展,信息技術(shù)anformation Technology, IT)運(yùn)維所需物理服務(wù)器的數(shù)量不斷增長,每一項業(yè)務(wù)應(yīng)用都部署一臺單獨的物理服務(wù)器,其中多數(shù)物理服務(wù)器的資源沒有得到充分利用,而有些物理服務(wù)器的資源需求卻沒有得到滿足。目前一種分布式虛擬技術(shù)主要是通過對物理資源的虛擬化,從而對資源進(jìn)行再分配,這樣上層應(yīng)用所使用的資源就不受單個物理服務(wù)器限制的,從而提升了整體的資源利用率,有利于配置優(yōu)化。應(yīng)用分布式虛擬技術(shù)的一種分布式虛擬機(jī)監(jiān)控(Distributed Virtual Machine Monitor, DVMM)系統(tǒng)中,多臺服務(wù)器通過用于高性能計算的交換結(jié)構(gòu)的通信鏈接(A switched fabric communications link used in high-performance computing, InfiniBand)連接到hfiniBand交換機(jī)上,這樣每臺服務(wù)器就可以通過hfiniBand網(wǎng)絡(luò)訪問其它服務(wù)器的資源。在DVMM系統(tǒng)中的每臺服務(wù)器上都會利用虛擬資源池中的資源創(chuàng)建虛擬機(jī) (Virtual Machine, VM),其中在虛擬資源池中存放著虛擬化后的服務(wù)器的物理資源(比如內(nèi)存、中央處理器等)。且可以在創(chuàng)建的虛擬機(jī)中運(yùn)行控制域(Control Domain)或輸入輸出域(1/0 Domain),其中在啟動綁定節(jié)點(Boot Strap Node,BSN)即主節(jié)點上運(yùn)行Control Domain,主節(jié)點可以管理虛擬資源池中的資源,且能訪問非啟動綁定節(jié)點(Non-BSN)即從節(jié)點或遠(yuǎn)端節(jié)點的資源,而在遠(yuǎn)端節(jié)點上可以運(yùn)行1/0 Domain。如果主節(jié)點上創(chuàng)建本地固有輸入輸出1/0(Localized 1/0,LI0)的虛擬機(jī)時,遠(yuǎn)端節(jié)點上不需要運(yùn)行1/0 Domainjn 果主節(jié)點上創(chuàng)建分布式IAKDistributed 1/0,DI0)的虛擬機(jī)時,在遠(yuǎn)端節(jié)點上需要運(yùn)行 1/0 Domain。上述現(xiàn)有技術(shù)中,虛擬機(jī)在創(chuàng)建的過程中就決定了運(yùn)行哪個域,且無論是運(yùn)行1/0 Domain還是運(yùn)行Control Domain,都需要占用處理器的一個核(core),該處理器核除了運(yùn)行1/0 Domain或運(yùn)行Control Domain之外,不處理其它業(yè)務(wù)進(jìn)程,這樣造成了資源浪費(fèi)。 例如,在主節(jié)點上創(chuàng)建DIO的虛擬機(jī)時,在遠(yuǎn)端節(jié)點上需要運(yùn)行1/0域,且即使沒有主節(jié)點訪問該遠(yuǎn)端節(jié)點的資源,該遠(yuǎn)端節(jié)點都會使用處理器核來運(yùn)行1/0域,不處理其它業(yè)務(wù)進(jìn)程,從而造成了資源浪費(fèi)。
發(fā)明內(nèi)容
本發(fā)明實施例提供虛擬資源管理方法、系統(tǒng)及裝置,提高了處理器核的使用率,從而降低資源的浪費(fèi)。本發(fā)明實施例提供一種虛擬資源管理方法,該方法包括在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出1/0域,判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的所述輸入輸出I/O域所占用處理器核的信息,所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)所述獲取的處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于業(yè)務(wù)處理。本發(fā)明實施例提供一種虛擬資源管理方法,該方法包括遠(yuǎn)端節(jié)點運(yùn)行輸入輸出 I/O域,判斷所述遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果是,則發(fā)送休眠請求給主節(jié)點,以使得所述主節(jié)點根據(jù)所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用所述處理器核進(jìn)行業(yè)務(wù)處理;停止使用處理器核運(yùn)行I/O域。本發(fā)明實施例提供一種節(jié)點設(shè)備,該節(jié)點設(shè)備包括信息獲取單元,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域; 資源加入單元,用于根據(jù)所述獲取的處理器核的信息,將對應(yīng)所述信息的處理器核的資源歸屬到虛擬資源池中;業(yè)務(wù)處理單元,用于使用所述資源加入單元歸屬到虛擬資源池中的處理器核進(jìn)行業(yè)務(wù)處理。本發(fā)明實施例還提供一種節(jié)點設(shè)備,該節(jié)點設(shè)備包括休眠判斷單元,用于在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域,判斷所述遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài);休眠請求發(fā)送單元,用于當(dāng)所述休眠判斷單元判斷所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),則發(fā)送休眠請求給主節(jié)點,以使得所述主節(jié)點根據(jù)所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用所述處理器核進(jìn)行業(yè)務(wù)處理;停止運(yùn)行單元,用于停止使用處理器核運(yùn)行I/O域。本發(fā)明實施例還提供一種虛擬資源管理系統(tǒng),包括主節(jié)點和至少一個遠(yuǎn)端節(jié)占.
^ \\\ 所述主節(jié)點,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài),如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)所述獲取的處理器核的信息,將所述信息對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于進(jìn)行業(yè)務(wù)處理;所述遠(yuǎn)端節(jié)點,用于停止使用處理器核運(yùn)行I/O域。本發(fā)明實施例中如果某一個遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),主節(jié)點就會獲取該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用處理器核的信息,并根據(jù)獲取的處理器核的信息,將對應(yīng)所述信息的處理器核的資源歸屬到虛擬資源池中,以使該處理器核可用于業(yè)務(wù)處理。由于遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域,而主節(jié)點將運(yùn)行該I/O域的處理器核加入到虛擬資源池中,使得主節(jié)點可以利用該處理器核的資源進(jìn)行業(yè)務(wù)處理,提高了處理器核的資源使用率,并降低資源的浪費(fèi)。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種DVMM系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明實施例提供的一種虛擬資源管理方法的流程圖;圖3是本發(fā)明實施例中提供的喚醒遠(yuǎn)端節(jié)點的方法流程圖;圖4是本發(fā)明實施例提供的另一種虛擬資源管理方法的流程圖;圖5是本發(fā)明一個具體應(yīng)用實施例提供的虛擬資源管理方法的流程圖;圖6是本發(fā)明另一個具體應(yīng)用實施例提供的虛擬資源管理方法的流程圖;圖7是本發(fā)明另一個具體應(yīng)用實施例提供的虛擬資源管理方法的流程圖;圖8是本發(fā)明實施例提供的一種節(jié)點設(shè)備的結(jié)構(gòu)示意圖;圖9是本發(fā)明實施例提供的另一種節(jié)點設(shè)備的結(jié)構(gòu)示意圖;圖10是本發(fā)明實施例提供的另一種節(jié)點設(shè)備的結(jié)構(gòu)示意圖;圖11是本發(fā)明實施例提供的又一種節(jié)點設(shè)備的結(jié)構(gòu)示意圖;圖12是本發(fā)明實施例提供的又一種節(jié)點設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例提供一種虛擬資源管理方法,適應(yīng)于如圖1所示的DVMM系統(tǒng)中, 該系統(tǒng)中的每個節(jié)點都包括底層驅(qū)動、操作系統(tǒng)內(nèi)核(Linux Kernel)和管理控制臺 (Management Console, MC),其中底層驅(qū)動用來實現(xiàn)對節(jié)點的驅(qū)動,并對該節(jié)點的物理資源整合以及虛擬化;Linux Kernel是操作系統(tǒng)的核心程序;而MC是用來對Linux Kernel的運(yùn)行進(jìn)行管理。且操作系統(tǒng)(Operating System, OS)可以成為MC、Linux Kernel和資源整合的一種實現(xiàn)載體。且該系統(tǒng)中還包括虛擬資源池,該虛擬資源池是各個節(jié)點的物理資源訪問能力的集合,存放著虛擬化后的各個節(jié)點的物理資源包括內(nèi)存、處理器和I/O資源等。該DVMM系統(tǒng)中每個節(jié)點都會利用虛擬資源池中的資源創(chuàng)建VM,其中在虛擬資源池中存放著虛擬化后節(jié)點的物理資源,且創(chuàng)建的VM可以包括MC和Linux Kernel。在主節(jié)點上創(chuàng)建的虛擬機(jī)中的Linux Kernel運(yùn)行控制域,實現(xiàn)對虛擬資源池中虛擬資源的配置和訪問管理;而在遠(yuǎn)端節(jié)點上創(chuàng)建的虛擬機(jī)包括的Linux Kernel中運(yùn)行I/O域,并可以為主節(jié)點提供I/O資源。需要說明的是,該DVMM系統(tǒng)中的一個節(jié)點即為一個物理服務(wù)器。該DVMM系統(tǒng)中主節(jié)點可以通過執(zhí)行如下的方法來進(jìn)行虛擬資源的管理,流程圖如圖2所示,包括步驟101、在遠(yuǎn)端節(jié)點上運(yùn)行I/O域,判斷該遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài),如果該遠(yuǎn)端節(jié)點需要進(jìn)入休眠(sle印)狀態(tài),獲取該遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;且遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域??梢岳斫?,主節(jié)點在運(yùn)行控制域或遠(yuǎn)端節(jié)點在運(yùn)行I/O域時,都需要占用處理器的一個核(core),比如Linux Kernel.當(dāng)某個遠(yuǎn)端節(jié)點停止運(yùn)行1/0域時,為了使用運(yùn)行該I/O域所占用處理器核的資源處理其它業(yè)務(wù),節(jié)省資源,主節(jié)點可以先獲取該處理器核的信息,包括該處理器核的標(biāo)識信息,資源信息,和與遠(yuǎn)端節(jié)點的對應(yīng)關(guān)系信息等。且遠(yuǎn)端節(jié)點是否進(jìn)入休眠狀態(tài),可以由遠(yuǎn)端節(jié)點自己來決定,具體地,如果遠(yuǎn)端節(jié)點發(fā)現(xiàn)在一段時間內(nèi),沒有主節(jié)點訪問該遠(yuǎn)端節(jié)點上的I/O資源,則決定進(jìn)入休眠狀態(tài),這時遠(yuǎn)端節(jié)點就會發(fā)送休眠請求給主節(jié)點,同時遠(yuǎn)端節(jié)點也可以將停止運(yùn)行I/O域的處理器核的信息發(fā)送給主節(jié)點。其中對I/O資源的訪問可以具體為使用遠(yuǎn)端節(jié)點的網(wǎng)卡、硬盤等操作。遠(yuǎn)端節(jié)點是否進(jìn)入休眠狀態(tài)也可以由主節(jié)點來決定,具體地,主節(jié)點可以檢測遠(yuǎn)端節(jié)點是否處于I/O資源訪問的空閑狀態(tài),如果是,即沒有節(jié)點訪問該遠(yuǎn)端節(jié)點的I/O資源,則確定遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài)。在這種情況下,主節(jié)點還需要發(fā)送休眠指令給遠(yuǎn)端節(jié)點,以使得該遠(yuǎn)端節(jié)點停止運(yùn)行I/O域。其中當(dāng)遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時,該遠(yuǎn)端節(jié)點的I/O資源在一段時間內(nèi)沒有被訪問,但是該遠(yuǎn)端節(jié)點還是運(yùn)行I/O域的。主節(jié)點在執(zhí)行步驟101中的獲取時,主節(jié)點可以讀取該主節(jié)點上儲存的遠(yuǎn)端節(jié)點運(yùn)行I/O域的處理器核的信息,還可以接收遠(yuǎn)端節(jié)點發(fā)送的運(yùn)行I/O域的處理器核的信息寸。需要說明的是,上述所說的I/O域是指遠(yuǎn)端節(jié)點的功能,即遠(yuǎn)端節(jié)點可以運(yùn)行I/O 域;而I/O資源是指物理資源,主節(jié)點和遠(yuǎn)端節(jié)點都有I/O資源。步驟102、根據(jù)獲取的處理器核的信息,將該信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使該處理器核可用于業(yè)務(wù)處理??梢岳斫?,將對應(yīng)處理器核的資源歸屬到虛擬資源池中即為將該處理器核加入虛擬資源池中的過程,具體地,主節(jié)點可以將該處理器核的資源信息狀態(tài)修改為未被占用的狀態(tài),并將該處理器核的資源信息的歸屬屬性修改為虛擬資源池。這樣在虛擬資源池中的資源都是未被占用的資源,節(jié)點都可以利用該虛擬資源池中的資源創(chuàng)建虛擬機(jī),從而進(jìn)行業(yè)務(wù)處理。步驟103、使用步驟102中加入虛擬資源池中的處理器核進(jìn)行業(yè)務(wù)處理??梢?,本發(fā)明實施例中如果某一個遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),主節(jié)點就會獲取該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用處理器核的信息,并根據(jù)獲取的處理器核的信息,將對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使該處理器核可用于進(jìn)行業(yè)務(wù)處理。由于遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域,而主節(jié)點將運(yùn)行該I/O域的處理器核加入到虛擬資源池中,使得主節(jié)點可以利用該處理器核的資源進(jìn)行業(yè)務(wù)處理,提高了處理器核的資源使用率,并降低資源的浪費(fèi)。在一個具體的實施例中,遠(yuǎn)端節(jié)點可以處于休眠狀態(tài),也可以處于被喚醒(Wake) 狀態(tài),且每個遠(yuǎn)端節(jié)點在休眠和喚醒兩個狀態(tài)之間的轉(zhuǎn)換是獨立的,相互不影響。當(dāng)遠(yuǎn)端節(jié)點在被喚醒狀態(tài)下,該遠(yuǎn)端節(jié)點使用一個處理器核運(yùn)行I/O域。具體地,主節(jié)點在喚醒遠(yuǎn)端節(jié)點時,可以有如下幾種情況(1)判斷主節(jié)點上是否有I/O資源訪問請求,如果主節(jié)點上有I/O資源訪問請求, 且該I/O資源訪問請求的地址屬于任一休眠狀態(tài)的遠(yuǎn)端節(jié)點的資源,則Al 主節(jié)點將休眠狀態(tài)的遠(yuǎn)端節(jié)點上的一個處理器核的資源移出虛擬資源池;Bl 主節(jié)點發(fā)送喚醒請求給休眠狀態(tài)的遠(yuǎn)端節(jié)點。
可以理解,在主節(jié)點上儲存著各個遠(yuǎn)端節(jié)點的資源信息,包括處理器核的信息,內(nèi)存信息等,當(dāng)該主節(jié)點上在對某一個遠(yuǎn)端節(jié)點的I/O資源訪問請求時,如果該I/O資源訪問請求的地址屬于任一休眠狀態(tài)的遠(yuǎn)端節(jié)點時,主節(jié)點需要喚醒該遠(yuǎn)端節(jié)點。具體地,主節(jié)點可以將該遠(yuǎn)端節(jié)點上的某一個處理器核的資源從虛擬資源池中移出,即將虛擬資源池中第一處理器核的資源信息狀態(tài)修改為被占用的狀態(tài),并將第一處理器核的資源信息的歸屬屬性進(jìn)行修改;然后主節(jié)點再發(fā)送喚醒請求給該休眠狀態(tài)的遠(yuǎn)端節(jié)點。在喚醒請求中可以包括主節(jié)點移出虛擬資源池的該處理器核的信息,這樣遠(yuǎn)端節(jié)點在接收到喚醒請求后,就會使用該移出虛擬資源池的處理器核來運(yùn)行I/O域。(2)參考如圖3所示,判斷主節(jié)點上是否有I/O資源訪問請求,如果主節(jié)點上有I/ 0資源訪問請求,且該I/O資源訪問請求屬于對該主節(jié)點I/O資源的訪問,則A2 判斷該主節(jié)點上的I/O資源是否足夠,如果不夠,則執(zhí)行步驟B2,如果是,則訪問該主節(jié)點中的I/O資源;B2:將任一休眠狀態(tài)的遠(yuǎn)端節(jié)點上的某一個處理器核的資源移出虛擬資源池中, 之后執(zhí)行步驟C2 ;C2 發(fā)送喚醒請求給該休眠狀態(tài)的遠(yuǎn)端節(jié)點,以使得該休眠狀態(tài)的遠(yuǎn)端節(jié)點使用移出虛擬資源池的處理器核來運(yùn)行I/O域??梢岳斫?,在主節(jié)點上儲存著各個遠(yuǎn)端節(jié)點的資源信息,包括處理器核的信息,內(nèi)存信息等,當(dāng)該主節(jié)點上的I/O資源不夠時,比如該主節(jié)點上的硬盤資源或網(wǎng)卡資源不夠時,主節(jié)點可以喚醒任一個休眠狀態(tài)的遠(yuǎn)端節(jié)點。具體地,主節(jié)點可以將該遠(yuǎn)端節(jié)點上的某一個處理器核的資源從虛擬資源池中移出,即將虛擬資源池中一個處理器核的資源信息狀態(tài)修改為被占用的狀態(tài),并將該處理器核的資源信息的歸屬屬性進(jìn)行修改;然后主節(jié)點再發(fā)送喚醒請求給該休眠狀態(tài)的遠(yuǎn)端節(jié)點。在喚醒請求中可以包括主節(jié)點移出虛擬資源池的該處理器核的信息,這樣遠(yuǎn)端節(jié)點在接收到喚醒請求后,就會使用該移出虛擬資源池的處理器核來運(yùn)行I/O域。本發(fā)明實施例還提供一種虛擬資源的管理方法,適應(yīng)于如圖1所示的DVMM系統(tǒng)中,本實施例的方法是DVMM系統(tǒng)中遠(yuǎn)端節(jié)點所執(zhí)行的方法,流程如圖4所示,包括步驟201、在遠(yuǎn)端節(jié)點上運(yùn)行I/O域,判斷該遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果是,則執(zhí)行步驟202,如果不是,則執(zhí)行步驟203 ;其中,遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O 域??梢岳斫?,本實施例中遠(yuǎn)端節(jié)點自己決定是否需要進(jìn)入休眠狀態(tài),且在具體在確定是否需要進(jìn)入休眠狀態(tài)時,可以查看在預(yù)置的一段時間內(nèi),是否有主節(jié)點訪問該遠(yuǎn)端節(jié)點上的I/O資源,如果沒有,則需要進(jìn)入休眠狀態(tài)。具體地,該遠(yuǎn)端節(jié)點可以啟用一個計時器,當(dāng)有主節(jié)點訪問該遠(yuǎn)端節(jié)點的I/O資源時,遠(yuǎn)端節(jié)點就清空該計時器;如果一直沒有主節(jié)點訪問該遠(yuǎn)端節(jié)點的I/O資源,則該計時器會溢出,這種情況下遠(yuǎn)端節(jié)點確定需要進(jìn)入休眠狀態(tài)。步驟202、發(fā)送休眠請求給主節(jié)點,以使得主節(jié)點根據(jù)遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出 I/O域所占用處理器核的信息,將該信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用處理器核進(jìn)行業(yè)務(wù)處理;且遠(yuǎn)端節(jié)點停止使用處理器核運(yùn)行I/O域??梢岳斫?,當(dāng)遠(yuǎn)端節(jié)點決定進(jìn)入休眠狀態(tài),則會發(fā)送休眠請求給主節(jié)點,而主節(jié)點進(jìn)行虛擬資源的管理,具體的管理方法如圖2和3所示,在此不進(jìn)行贅述。且在遠(yuǎn)端節(jié)點發(fā)送的休眠請求中還可以包括該遠(yuǎn)端節(jié)點上運(yùn)行I/O域所占用的處理器核信息。步驟203、繼續(xù)使用該處理器核運(yùn)行I/O域??梢姡景l(fā)明實施例中如果某一個遠(yuǎn)端節(jié)點確定需要進(jìn)入休眠狀態(tài),則該遠(yuǎn)端節(jié)點停止運(yùn)行I/O域且發(fā)送休眠請求給主節(jié)點,由主節(jié)點獲取該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用處理器核的信息,并根據(jù)獲取的處理器核的信息,將對應(yīng)處理器核的資源歸屬到虛擬資源池中,并使用該處理器核進(jìn)行業(yè)務(wù)處理。由于遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域,而主節(jié)點會將運(yùn)行該I/O域的處理器核加入到虛擬資源池中,即將該處理器核的信息歸屬到虛擬資源池中,使得主節(jié)點可以利用該處理器核的資源進(jìn)行其它業(yè)務(wù)處理,提高了處理器核的使用率,并降低資源的浪費(fèi)。在一個具體的實施例中,遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài)是可以由主節(jié)點來決定,這種情況下,主節(jié)點決定讓該遠(yuǎn)端節(jié)點進(jìn)入休眠狀態(tài),則會發(fā)送休眠給該遠(yuǎn)端節(jié)點,當(dāng)該遠(yuǎn)端節(jié)點接收到休眠指令時,則停止使用處理器核運(yùn)行I/O域。在另一個實施例中,遠(yuǎn)端節(jié)點可以處于休眠狀態(tài),也可以處于被喚醒(Wake)狀態(tài),遠(yuǎn)端節(jié)點是否被喚醒是由主節(jié)點來決定,如果需要喚醒,則會將該遠(yuǎn)端節(jié)點上一個處理器核移出虛擬資源池,并發(fā)送喚醒請求給該遠(yuǎn)端節(jié)點。該喚醒請求是用來指示遠(yuǎn)端節(jié)點進(jìn)入被喚醒狀態(tài),即請求該遠(yuǎn)端節(jié)點使用虛擬資源池之外的處理器核來運(yùn)行I/O域,其中該虛擬池之外的處理器核是由主節(jié)點從虛擬資源池中移出的。則在喚醒請求中可以包括主節(jié)點移出虛擬資源池的處理器核的信息,當(dāng)該遠(yuǎn)端節(jié)點接收到喚醒請求后,會利用該處理器核運(yùn)行I/O域。以下以一個具體的實施例來說明本發(fā)明實施例中的虛擬資源管理方法,可以應(yīng)用于如圖1所示的系統(tǒng)中,且本實施例的方法具體為遠(yuǎn)端節(jié)點進(jìn)入休眠狀態(tài)的過程,流程圖如圖5所示,包括步驟301、遠(yuǎn)端節(jié)點進(jìn)行I/O資源空閑偵測,具體地,在遠(yuǎn)端節(jié)點上可以啟用一個計時器,當(dāng)有主節(jié)點訪問該遠(yuǎn)端節(jié)點的I/O資源時,清空該計時器;如果在一段時間內(nèi)沒有主節(jié)點訪問該遠(yuǎn)端節(jié)點的I/O資源,計時器就會溢出,則認(rèn)為是該遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài),此時遠(yuǎn)端節(jié)點可以發(fā)起進(jìn)行休眠狀態(tài)的流程。步驟302、發(fā)送休眠請求到主節(jié)點。步驟303、主節(jié)點可以判斷該主節(jié)點上是否會有該遠(yuǎn)端節(jié)點的I/O資源訪問請求, 如果有,那么回復(fù)拒絕(Reject)消息,并要求遠(yuǎn)端節(jié)點清空計時器;如果沒有,需要首先禁止對該遠(yuǎn)端節(jié)點的I/O資源訪問,然后回復(fù)確認(rèn)(OK)消息。步驟304、遠(yuǎn)端節(jié)點開啟休眠過程,可以同時發(fā)送該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用的處理器核的信息給主節(jié)點。步驟305、主節(jié)點將對應(yīng)的處理器核加入到虛擬資源池,但是在收到從節(jié)點休眠完成的通知前,要禁止使用這個處理器核。步驟306、遠(yuǎn)端節(jié)點停止運(yùn)行I/O域,并釋放出所占用的處理器核,可以通知主節(jié)點該休眠完成,至此主節(jié)點就可以開始使用該新加入到虛擬資源池中的處理器核進(jìn)行業(yè)務(wù)處理。且這時,主節(jié)點上可以保留該遠(yuǎn)端節(jié)點的I/O資源訪問請求地址,以便如果需要對遠(yuǎn)端節(jié)點的I/O資源進(jìn)行訪問時,喚醒該遠(yuǎn)端節(jié)點。可以理解,本實施例是由遠(yuǎn)端節(jié)點自己決定進(jìn)入休眠狀態(tài),從而發(fā)起進(jìn)入休眠狀態(tài)的流程。在其他具體的實施例中,主節(jié)點也可以訪問該遠(yuǎn)端節(jié)點的計時器,從而得知遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài),從而由主節(jié)點發(fā)起讓遠(yuǎn)端節(jié)點進(jìn)行休眠狀態(tài)的流程。則在這種情況下,主節(jié)點會發(fā)送休眠指令給遠(yuǎn)端節(jié)點,要求遠(yuǎn)端節(jié)點停止運(yùn)行I/O域,且主節(jié)點會將該遠(yuǎn)端節(jié)點上運(yùn)行I/O域所占用的處理器核加入虛擬資源池。以下以一個具體的實施例來說明本發(fā)明實施例中的虛擬資源管理方法,可以應(yīng)用于如圖1所示的系統(tǒng)中,且本實施例的方法具體為如果主節(jié)點上有遠(yuǎn)端節(jié)點的I/O資源訪問請求時,發(fā)起該休眠狀態(tài)的遠(yuǎn)端節(jié)點進(jìn)入喚醒狀態(tài)的過程,流程圖如圖6所示,包括步驟401、主節(jié)點上有I/O資源訪問請求,判斷這個I/O資源訪問請求地址是否屬于在遠(yuǎn)端節(jié)點的資源,如果不是,則按照該主節(jié)點I/O資源訪問的方式處理,如果是,則需要喚醒遠(yuǎn)端節(jié)點。步驟402、根據(jù)該I/O資源訪問請求地址,及本主節(jié)點上儲存的I/O資源訪問地址與遠(yuǎn)端節(jié)點的對應(yīng)關(guān)系,確定該I/O資源訪問請求是哪個遠(yuǎn)端節(jié)點的請求。步驟403、如果該遠(yuǎn)端節(jié)點處于休眠狀態(tài),此時該遠(yuǎn)端節(jié)點的處理器核的資源歸屬于虛擬資源池中,則主節(jié)點需要將該遠(yuǎn)端節(jié)點上的一個處理器核移出虛擬資源池。步驟404、主節(jié)點發(fā)送喚醒請求給該遠(yuǎn)端節(jié)點,請求該遠(yuǎn)端節(jié)點使用移出虛擬資源池的處理器核運(yùn)行I/O域,且可以在喚醒請求中攜帶移出虛擬資源池的處理器核的信息。步驟405、遠(yuǎn)端節(jié)點接收到喚醒請求后,使用步驟403中移出虛擬資源池的處理器核運(yùn)行I/O域,并可以在喚醒后通知主節(jié)點,為主節(jié)點提供I/O資源。步驟406、主節(jié)點在接收到遠(yuǎn)端節(jié)點的通知后開啟遠(yuǎn)端節(jié)點的I/O資源訪問。以下以一個具體的實施例來說明本發(fā)明實施例中的虛擬資源管理方法,可以應(yīng)用于如圖1所示的系統(tǒng)中,且本實施例的方法具體為如果主節(jié)點上的I/O資源不夠時,發(fā)起休眠狀態(tài)的遠(yuǎn)端節(jié)點進(jìn)入喚醒狀態(tài)的過程,流程圖如圖7所示,包括步驟501、如果主節(jié)點上有I/O資源訪問請求,確定該I/O資源訪問請求是否是對該主節(jié)點I/O資源的請求,如果是,則執(zhí)行步驟502,如果不是,則可以按照上述實施例中步驟401到406來執(zhí)行。步驟502、主節(jié)點判斷該主節(jié)點的I/O資源是否足夠,如果是,則進(jìn)行本地I/O資源訪問,如果不是,則執(zhí)行步驟503。步驟503、主節(jié)點判斷該主節(jié)點的I/O資源是否可向遠(yuǎn)端節(jié)點擴(kuò)展,若不是,則結(jié)束流程;若是,則準(zhǔn)備遠(yuǎn)端節(jié)點的喚醒流程。步驟504、將虛擬資源池中任一遠(yuǎn)端節(jié)點的處理器核移出,使得該處理器核的歸屬屬性為非虛擬資源池,并發(fā)送喚醒請求給該遠(yuǎn)端節(jié)點。且可以將移出虛擬資源池的處理器核的信息攜帶在喚醒請求中。步驟505、遠(yuǎn)端節(jié)點接收到喚醒請求后,使用步驟504中移出虛擬資源池的處理器核運(yùn)行I/O域,并可以在喚醒后通知主節(jié)點,為主節(jié)點提供I/O資源。步驟506、主節(jié)點在接收到遠(yuǎn)端節(jié)點的通知后開啟遠(yuǎn)端節(jié)點的I/O資源訪問。可見,本發(fā)明實施例的虛擬資源管理方法中,提供了遠(yuǎn)端節(jié)點上休眠和喚醒狀態(tài)的轉(zhuǎn)換,使得在遠(yuǎn)端節(jié)點的I/O資源訪問頻度較低的時候,可以將最大效率地利用該遠(yuǎn)端節(jié)點的處理器核處理其它業(yè)務(wù),從而提升了系統(tǒng)的性能;且在主節(jié)點I/O資源無法滿足需求的時候,比如硬盤剩余容量較少等,可以動態(tài)地利用遠(yuǎn)端節(jié)點上的I/O資源,從而減小主節(jié)點I/O資源的壓力。本發(fā)明實施例提供一種節(jié)點設(shè)備,該節(jié)點可以是終端設(shè)備,也可以是服務(wù)器等,其結(jié)構(gòu)示意圖如圖8所示,包括信息獲取單元10,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;資源加入單元11,用于根據(jù)所述信息獲取單元10獲取的處理器核的信息,將該信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中;以使該處理器核可用于進(jìn)行業(yè)務(wù)處理??梢岳斫?,本發(fā)明實施例的節(jié)點設(shè)備還可以包括業(yè)務(wù)處理單元12,用于使用所述資源加入單元11歸屬到虛擬資源池中的處理器核進(jìn)行業(yè)務(wù)處理。本發(fā)明實施例中如果某一個遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),則節(jié)點設(shè)備中的信息獲取單元10就會獲取該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用處理器核的信息,并由資源加入單元11 根據(jù)獲取的處理器核的信息,將對應(yīng)處理器核的資源歸屬到虛擬資源池中,業(yè)務(wù)處理單元 12就可以使用該處理器核進(jìn)行業(yè)務(wù)處理。由于遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域,而主節(jié)點會將運(yùn)行該I/O域的處理器核加入到虛擬資源池中,即將該處理器核的信息歸屬到虛擬資源池中,使得主節(jié)點可以利用該處理器核的資源進(jìn)行業(yè)務(wù)處理,提高了處理器核的資源使用率,并降低資源的浪費(fèi)。參考圖9所示,在一個具體的實施例中,本實施例中節(jié)點設(shè)備除了包括如圖8所示的結(jié)構(gòu)外,還可以包括休眠接收單元13、資源移出單元14和喚醒發(fā)送單元15,其中休眠接收單元13,用于接收所述遠(yuǎn)端節(jié)點發(fā)送的休眠請求,則根據(jù)所述休眠請求確定所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài);資源移出單元14,用于將休眠狀態(tài)的遠(yuǎn)端節(jié)點上一個處理器核的資源移出所述虛擬資源池;喚醒發(fā)送單元15,用于發(fā)送喚醒請求給所述休眠狀態(tài)的遠(yuǎn)端節(jié)點,以使得所述休眠狀態(tài)的遠(yuǎn)端節(jié)點使用所述虛擬資源池之外的處理器核來運(yùn)行I/O域。本實施例中,當(dāng)休眠接收單元13接收到休眠請求,則認(rèn)為遠(yuǎn)端節(jié)點需要進(jìn)行休眠狀態(tài),由信息獲取單元10獲取該遠(yuǎn)端節(jié)點上運(yùn)行I/O域的處理器核的信息,并由資源加入單元11將該處理器核的信息歸屬到虛擬資源池中;資源移出單元14可以判斷主節(jié)點上是否有I/O資源訪問請求,如果主節(jié)點上有I/O資源訪問請求,且該I/O資源訪問請求的地址屬于休眠狀態(tài)的遠(yuǎn)端節(jié)點的資源,則資源移出單元14將處于休眠狀態(tài)的遠(yuǎn)端節(jié)點上一個處理器核的資源移出虛擬資源池,并由喚醒單元15發(fā)送喚醒請求給該遠(yuǎn)端節(jié)點。實現(xiàn)了遠(yuǎn)端節(jié)點從休眠狀態(tài)到喚醒狀態(tài)的動態(tài)轉(zhuǎn)換。參考圖10所示,在一個具體的實施例中,本實施例中節(jié)點設(shè)備除了包括如圖9所示的結(jié)構(gòu)外,還可以包括空閑檢測單元16、休眠發(fā)送單元17和資源判斷單元18,其中空閑檢測單元16,用于檢測遠(yuǎn)端節(jié)點是否處于I/O資源訪問的空閑狀態(tài);;當(dāng)遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時,所述遠(yuǎn)端節(jié)點的I/O資源在一段時間內(nèi)沒有被訪問。
休眠發(fā)送單元17,用于在所述空閑檢測單元16檢測到所述遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時,發(fā)送休眠指令給所述遠(yuǎn)端節(jié)點,以使得所述遠(yuǎn)端節(jié)點停止運(yùn)行I/O域;資源判斷單元18,用于判斷主節(jié)點上是否有I/O資源訪問請求,如果所述主節(jié)點上有I/O資源訪問請求,且所述I/O資源訪問請求屬于對該主節(jié)點上I/O資源的訪問,判斷所述主節(jié)點上的I/O資源是否足夠。在本實施例中,當(dāng)節(jié)點設(shè)備的空閑檢測單元16檢測到遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài),則認(rèn)為該遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),由信息獲取單元10獲取該遠(yuǎn)端節(jié)點上運(yùn)行I/O域的處理器核的信息,且由休眠發(fā)送單元17發(fā)送休眠指令給遠(yuǎn)端節(jié)點,來觸發(fā)該遠(yuǎn)端節(jié)點進(jìn)入休眠狀態(tài)的流程;且本實施例中資源判斷單元18可以判斷主節(jié)點設(shè)備上是否有I/O資源訪問請求, 如果該主節(jié)點設(shè)備上有I/O資源訪問請求,且該I/O資源訪問請求屬于對該主節(jié)點I/O資源的訪問,則進(jìn)一步判斷主節(jié)點的資源是否足夠,如果不夠則需要擴(kuò)展該主節(jié)點的資源,從而發(fā)起喚醒處于休眠狀態(tài)的遠(yuǎn)端節(jié)點,并由資源移出單元14將處于休眠狀態(tài)的遠(yuǎn)端節(jié)點上一個處理器核的資源移出虛擬資源池,并由喚醒單元15發(fā)送喚醒請求給該遠(yuǎn)端節(jié)點。實現(xiàn)了遠(yuǎn)端節(jié)點從休眠狀態(tài)到喚醒狀態(tài)的動態(tài)轉(zhuǎn)換,且擴(kuò)展了本地資源。本發(fā)明實施例提供一種節(jié)點設(shè)備,該節(jié)點可以是終端設(shè)備,也可以是服務(wù)器等,其結(jié)構(gòu)示意圖如圖11所示,包括休眠判斷單元20,用于在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域,判斷所述遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài);休眠請求發(fā)送單元21,用于當(dāng)所述休眠判斷單元20判斷所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),則發(fā)送休眠請求給主節(jié)點,以使得所述主節(jié)點根據(jù)所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息,將該信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用所述處理器核進(jìn)行業(yè)務(wù)處理;停止運(yùn)行單元22,用于停止使用處理器核運(yùn)行I/O域。本發(fā)明實施例中如果某一個遠(yuǎn)端節(jié)點的休眠判斷單元20判斷需要進(jìn)入休眠狀態(tài),則停止運(yùn)行單元22遠(yuǎn)端節(jié)點停止運(yùn)行I/O域,并由休眠請求發(fā)送單元21發(fā)送休眠請求給主節(jié)點,由主節(jié)點獲取該遠(yuǎn)端節(jié)點運(yùn)行I/O域所占用處理器核的信息,并根據(jù)獲取的處理器核的信息,將對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使該處理器核可用于進(jìn)行業(yè)務(wù)處理。由于遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域,而主節(jié)點將運(yùn)行該I/O域的處理器核加入到虛擬資源池中,使得主節(jié)點可以利用該處理器核的資源進(jìn)行業(yè)務(wù)處理,使得提高了處理器核的使用率,并降低資源的浪費(fèi)。參考圖12所示,在一個具體的實施例中,節(jié)點設(shè)備除了包括如圖11所示的結(jié)構(gòu)外,還可以喚醒接收單元23和域運(yùn)行單元對,其中喚醒接收單元23,用于接收所述主節(jié)點發(fā)送的喚醒請求,所述喚醒請求用于請求所述遠(yuǎn)端節(jié)點使用虛擬資源池之外的處理器核來運(yùn)行I/O域;所述虛擬資源池之外的處理器核是所述主節(jié)點從所述虛擬資源池中移出的;域運(yùn)行單元對,用于使用所述移出虛擬資源池的處理器核運(yùn)行I/O域。本實施例中,可以由喚醒接收單元23接收主節(jié)點發(fā)送的喚醒請求,從而通過域運(yùn)行單元M運(yùn)行I/O域,實現(xiàn)遠(yuǎn)端節(jié)點從休眠狀態(tài)轉(zhuǎn)換到喚醒狀態(tài)。
本發(fā)明實施例還提供一種虛擬資源管理系統(tǒng),可以是如圖1所示的系統(tǒng),具體包括主節(jié)點和至少一個遠(yuǎn)端節(jié)點,其中主節(jié)點,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài),如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)所述獲取的處理器核的信息,將所述信息對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于進(jìn)行業(yè)務(wù)處理;所述虛擬資源池用于存放虛擬化后的節(jié)點物理資源;遠(yuǎn)端節(jié)點,用于停止使用處理器核運(yùn)行I/O域。則該系統(tǒng)中的主節(jié)點的結(jié)構(gòu)可以如圖8到10任一個圖所示的節(jié)點設(shè)備的結(jié)構(gòu),而遠(yuǎn)端節(jié)點的結(jié)構(gòu)可以如圖11或12所示的節(jié)點設(shè)備的結(jié)構(gòu),且主節(jié)點和遠(yuǎn)端節(jié)點可以按照如圖2到7任一個圖所示的方法進(jìn)行虛擬資源的管理。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括ROM、RAM、磁盤或光盤等。以上對本發(fā)明實施例所提供的虛擬資源管理方法、系統(tǒng)及裝置,進(jìn)行了詳細(xì)介紹, 本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種虛擬資源管理方法,其特征在于,包括在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域,判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的所述輸入輸出I/O域所占用處理器核的信息,所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)所述獲取的處理器核的信息,將對應(yīng)所述信息的處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于業(yè)務(wù)處理。
2.如權(quán)利要求1所述的方法,其特征在于,所述判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài)包括接收所述遠(yuǎn)端節(jié)點發(fā)送的休眠請求,則根據(jù)所述休眠請求確定所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,所述判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài)包括檢測所述遠(yuǎn)端節(jié)點是否處于I/O資源訪問的空閑狀態(tài),如果是,則確定所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài);當(dāng)遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時,所述遠(yuǎn)端節(jié)點的I/O資源在一段時間內(nèi)沒有被訪問;且所述將對應(yīng)所述信息的處理器核的資源歸屬到虛擬資源池中之前還包括發(fā)送休眠指令給所述遠(yuǎn)端節(jié)點,以使得所述遠(yuǎn)端節(jié)點停止運(yùn)行I/O域。
4.如權(quán)利要求1至3任一項的方法,其特征在于,還包括判斷主節(jié)點上是否有I/O資源訪問請求,如果主節(jié)點上有I/O資源訪問請求,且所述主節(jié)點上的I/O資源訪問請求的地址屬于休眠狀態(tài)的遠(yuǎn)端節(jié)點的資源,則將所述休眠狀態(tài)的遠(yuǎn)端節(jié)點上一個處理器核的資源移出所述虛擬資源池;發(fā)送喚醒請求給所述休眠狀態(tài)的遠(yuǎn)端節(jié)點,以使得所述休眠狀態(tài)的遠(yuǎn)端節(jié)點使用所述移出虛擬資源池的處理器核來運(yùn)行I/O域。
5.如權(quán)利要求1至3任一項所述的方法,其特征在于,還包括判斷主節(jié)點上是否有I/O資源訪問請求,如果所述主節(jié)點上有I/O資源訪問請求,且所述主節(jié)點上的I/O資源訪問請求屬于對所述主節(jié)點I/O資源的訪問,判斷所述主節(jié)點上的 I/O資源是否足夠,如果不夠,則將休眠狀態(tài)的遠(yuǎn)端節(jié)點上的一個處理器核的資源移出所述虛擬資源池;發(fā)送喚醒請求給所述休眠狀態(tài)的遠(yuǎn)端節(jié)點,以使得所述休眠狀態(tài)的遠(yuǎn)端節(jié)點使用所述移出虛擬資源池的處理器核來運(yùn)行I/O域。
6.一種虛擬資源管理方法,其特征在于,包括遠(yuǎn)端節(jié)點運(yùn)行輸入輸出I/O域,判斷所述遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果是,則發(fā)送休眠請求給主節(jié)點,以使得所述主節(jié)點根據(jù)所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用所述處理器核進(jìn)行業(yè)務(wù)處理;停止使用處理器核運(yùn)行I/O域。
7.如權(quán)利要求6所述的方法,其特征在于,所述確定遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài)具體包括如果在預(yù)置的一段時間內(nèi),所述遠(yuǎn)端節(jié)點上的I/O資源未被訪問,則確定需要進(jìn)入休眠狀態(tài)。
8.如權(quán)利要求6或7所述的方法,其特征在于,接收所述主節(jié)點發(fā)送的喚醒請求,所述喚醒請求用于請求所述遠(yuǎn)端節(jié)點使用非虛擬資源池之外的處理器核來運(yùn)行I/O域,所述非虛擬資源池之外的處理器核是所述主節(jié)點從所述虛擬資源池中移出的;使用所述移出的處理器核運(yùn)行I/O域。
9.一種節(jié)點設(shè)備,其特征在于,包括信息獲取單元,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài),如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),則獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;資源加入單元,用于根據(jù)所述獲取的處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于進(jìn)行業(yè)務(wù)處理。
10.如權(quán)利要求9所述的節(jié)點設(shè)備,其特征在于,還包括休眠接收單元,用于接收所述遠(yuǎn)端節(jié)點發(fā)送的休眠請求,則根據(jù)所述休眠請求確定所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài)。
11.如權(quán)利要求9所述的節(jié)點設(shè)備,其特征在于,還包括空閑檢測單元和休眠發(fā)送單元;所述空閑檢測單元,用于檢測所述遠(yuǎn)端節(jié)點是否處于I/O資源訪問的空閑狀態(tài),如果是,則確定所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài);當(dāng)遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時, 所述遠(yuǎn)端節(jié)點的I/O資源在一段時間內(nèi)沒有被訪問;休眠發(fā)送單元,用于當(dāng)所述空閑檢測單元檢測到所述遠(yuǎn)端節(jié)點處于I/O資源訪問的空閑狀態(tài)時,發(fā)送休眠指令給所述遠(yuǎn)端節(jié)點,以使得所述遠(yuǎn)端節(jié)點停止運(yùn)行I/O域。
12.如權(quán)利要求9至11任一項的節(jié)點設(shè)備,其特征在于,還包括資源移出單元,用于判斷主節(jié)點上是否有I/O資源訪問請求,如果所述主節(jié)點上有I/ 0資源訪問請求,且所述I/O資源訪問請求的地址屬于休眠狀態(tài)的遠(yuǎn)端節(jié)點的資源,則將所述休眠狀態(tài)的遠(yuǎn)端節(jié)點上一個處理器核的資源移出所述虛擬資源池;喚醒發(fā)送單元,用于發(fā)送喚醒請求給所述休眠狀態(tài)的遠(yuǎn)端節(jié)點,以使得所述休眠狀態(tài)的遠(yuǎn)端節(jié)點使用所述移出虛擬資源池的處理器核來運(yùn)行I/O域。
13.如權(quán)利要求9至11任一項所述的節(jié)點設(shè)備,其特征在于,還包括資源判斷單元,用于判斷主節(jié)點上是否有I/O資源訪問請求,如果所述主節(jié)點上有I/O 資源訪問請求,且所述I/O資源訪問請求屬于對所述主節(jié)點I/O資源的訪問,判斷所述主節(jié)點上的I/O資源是否足夠;所述資源移出單元,還用于當(dāng)所述資源判斷單元判斷所述主節(jié)點上的I/O資源不夠, 則將休眠狀態(tài)的遠(yuǎn)端節(jié)點上的一個處理器核的資源移出所述虛擬資源池。
14.一種節(jié)點設(shè)備,其特征在于,包括休眠判斷單元,用于在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域,判斷所述遠(yuǎn)端節(jié)點是否需要進(jìn)入休眠狀態(tài);休眠請求發(fā)送單元,用于當(dāng)所述休眠判斷單元判斷所述遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài), 則發(fā)送休眠請求給主節(jié)點,以使得所述主節(jié)點根據(jù)所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息,將所述信息對應(yīng)的處理器核的資源歸屬到虛擬資源池中,以使用所述處理器核進(jìn)行業(yè)務(wù)處理;停止運(yùn)行單元,用于停止使用處理器核運(yùn)行I/O域。
15.如權(quán)利要求14所述的節(jié)點設(shè)備,其特征在于,還包括喚醒接收單元,用于接收所述主節(jié)點發(fā)送的喚醒請求,所述喚醒請求用于請求所述遠(yuǎn)端節(jié)點使用虛擬資源池之外的處理器核來運(yùn)行I/O域;所述虛擬資源池之外的處理器核是所述主節(jié)點從所述虛擬資源池中移出的處理器核;域運(yùn)行單元,用于使用所述移出虛擬資源池的處理器核運(yùn)行I/O域。
16.一種虛擬資源管理系統(tǒng),其特征在于,包括主節(jié)點和至少一個遠(yuǎn)端節(jié)點;所述主節(jié)點,用于判斷遠(yuǎn)端節(jié)點是否需要進(jìn)行休眠狀態(tài),如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),獲取所述遠(yuǎn)端節(jié)點上運(yùn)行的輸入輸出I/O域所占用處理器核的信息;所述遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)所述獲取的處理器核的信息,將所述信息對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使所述處理器核可用于進(jìn)行業(yè)務(wù)處理;所述遠(yuǎn)端節(jié)點,用于停止使用處理器核運(yùn)行I/O域。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述主節(jié)點是如權(quán)利要求9至13任一項所述的節(jié)點設(shè)備。
18.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述遠(yuǎn)端節(jié)點時如權(quán)利要求14或15所述的節(jié)點設(shè)備。
全文摘要
一種虛擬資源管理方法、系統(tǒng)及設(shè)備,應(yīng)用于通信技術(shù)領(lǐng)域。該虛擬資源管理方法包括在遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域,如果遠(yuǎn)端節(jié)點需要進(jìn)入休眠狀態(tài),則獲取遠(yuǎn)端節(jié)點上運(yùn)行輸入輸出I/O域所占用處理器核的信息;遠(yuǎn)端節(jié)點在休眠狀態(tài)停止運(yùn)行I/O域;根據(jù)獲取的處理器核的信息,將對應(yīng)處理器核的資源歸屬到虛擬資源池中,以使該處理器核可用于進(jìn)行業(yè)務(wù)處理。實現(xiàn)了對虛擬資源的管理。
文檔編號G06F9/46GK102317914SQ201180001516
公開日2012年1月11日 申請日期2011年8月1日 優(yōu)先權(quán)日2011年8月1日
發(fā)明者俞柏峰, 陳奔 申請人:華為技術(shù)有限公司