專利名稱:一種異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬機(jī)管理領(lǐng)域,具體涉及一種對(duì)異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展支持的方法。
背景技術(shù):
虛擬機(jī)運(yùn)行在虛擬機(jī)平臺(tái)(即Hypervisor)上,對(duì)虛擬機(jī)的各種管理操作是通過(guò)對(duì)虛擬機(jī)平臺(tái)的操作實(shí)現(xiàn)的。對(duì)不同類型虛擬機(jī)的管理,需要軟件管理系統(tǒng)支持對(duì)不同類型虛擬機(jī)平臺(tái)的管理。目前業(yè)界有多種虛擬機(jī)平臺(tái),包括VMware、Xen、Hyper-V、KVM等。這些虛擬機(jī)平臺(tái)的管理接口各不相同,提供的功能也有不同。軟件管理系統(tǒng)要實(shí)現(xiàn)對(duì)虛擬機(jī)的管理,需要在系統(tǒng)設(shè)計(jì)之初定義好系統(tǒng)所支持的虛擬機(jī)平臺(tái)的類型,并定義好對(duì)該虛擬機(jī)平臺(tái)的操作接口。若要提供對(duì)異構(gòu)虛擬機(jī)平臺(tái)的支持,需要分別定義好不同的虛擬機(jī)平臺(tái)的操作接口。系統(tǒng)運(yùn)行期間,只能提供對(duì)預(yù)先定義好的虛擬機(jī)平臺(tái)的支持。新的虛擬機(jī)平臺(tái)無(wú)法動(dòng)態(tài)添加到軟件管理系統(tǒng)中,即無(wú)法實(shí)現(xiàn)對(duì)系統(tǒng)預(yù)定義之外的虛擬機(jī)平臺(tái)的動(dòng)態(tài)擴(kuò)展支持。
發(fā)明內(nèi)容
為解決現(xiàn)有的虛擬機(jī)平臺(tái)軟件管理系統(tǒng)中,必須預(yù)定義所支持的虛擬機(jī)平臺(tái)的操作接口的缺陷,本發(fā)明提供了一種無(wú)需預(yù)定義虛擬機(jī)平臺(tái)操作接口,可以動(dòng)態(tài)添加新的虛擬機(jī)平臺(tái)的方法。一種異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展管理方法,將虛擬機(jī)平臺(tái)的對(duì)象模塊、平臺(tái)管理功能模塊和管理功能模塊分別根據(jù)系統(tǒng)相應(yīng)的模塊接口重新編寫并部署到系統(tǒng)指定位置;步驟如下Al、系統(tǒng)客戶端向系統(tǒng)服務(wù)端發(fā)送對(duì)虛擬機(jī)操作的請(qǐng)求信息;Bi、系統(tǒng)服務(wù)端接收到請(qǐng)求信息后,對(duì)信息內(nèi)容進(jìn)行分析,分別獲取到虛擬機(jī)平臺(tái)信息、虛擬機(jī)信息及操作信息;Cl、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)平臺(tái)信息,定位虛擬機(jī)平臺(tái)類型,若系統(tǒng)支持該類型的虛擬機(jī)平臺(tái),則執(zhí)行步驟4 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;D1、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)信息,定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī),若系統(tǒng)定位成功,則執(zhí)行步驟5 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;E1、系統(tǒng)服務(wù)端根據(jù)操作信息,對(duì)虛擬機(jī)執(zhí)行具體的操作,若系統(tǒng)服務(wù)端執(zhí)行操作成功,則將操作結(jié)果返回給系統(tǒng)客戶端;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。優(yōu)選的,所述系統(tǒng)客戶端與系統(tǒng)服務(wù)端分別為B/S架構(gòu)及C/S架構(gòu)軟件系統(tǒng)的客戶端與服務(wù)端。優(yōu)選的,步驟Bl中所述虛擬機(jī)平臺(tái)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)平臺(tái)的類型的全局唯一 ID。
優(yōu)選的,步驟Bl中所述虛擬機(jī)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)的信息,包括虛擬機(jī)的全局唯一 ID、虛擬機(jī)名稱、虛擬機(jī)類型、虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID。優(yōu)選的,步驟Cl中定位虛擬機(jī)平臺(tái)類型是根據(jù)虛擬機(jī)平臺(tái)類型ID,在系統(tǒng)中查找已注冊(cè)的虛擬機(jī)平臺(tái)類型,若成功則表示系統(tǒng)支持該類型的虛擬機(jī)平臺(tái)。優(yōu)選的,步驟Dl中定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī)是根據(jù)虛擬機(jī)類型及虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID,在系統(tǒng)中查找具體的運(yùn)行該虛擬機(jī)的平臺(tái),再根據(jù)虛擬機(jī)ID及虛擬機(jī)名稱,在系統(tǒng)中查找具體的虛擬機(jī)。優(yōu)選的,所述模塊接口是根據(jù)虛擬機(jī)平臺(tái)抽象出的通用接口。本發(fā)明對(duì)異構(gòu)虛擬機(jī)平臺(tái)的支持可以實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展,無(wú)需終止軟件管理系統(tǒng)的運(yùn)行,無(wú)需對(duì)原有系統(tǒng)的代碼進(jìn)行改動(dòng);可以支持不同類型虛擬機(jī)。
圖1是本發(fā)明虛擬機(jī)架構(gòu)圖
具體實(shí)施例方式系統(tǒng)基于動(dòng)態(tài)可擴(kuò)展的架構(gòu)進(jìn)行設(shè)計(jì),以模塊為單位進(jìn)行功能的劃分及實(shí)現(xiàn)。系統(tǒng)在運(yùn)行時(shí),各模塊之間可通過(guò)全局唯一 ID進(jìn)行查找并訪問(wèn)模塊定義的接口,組織起系統(tǒng)內(nèi)部的信息流。系統(tǒng)定義了模塊擴(kuò)展接口及注冊(cè)服務(wù)管理接口,為系統(tǒng)動(dòng)態(tài)擴(kuò)展新的虛擬機(jī)平臺(tái)提供機(jī)制。在上述機(jī)制的作用下,動(dòng)態(tài)擴(kuò)展新的虛擬機(jī)平臺(tái),包括以下步驟步驟1)、根據(jù)系統(tǒng)定義的虛擬機(jī)平臺(tái)對(duì)象模塊接口,編寫新的虛擬機(jī)平臺(tái)對(duì)象模塊。步驟幻、根據(jù)系統(tǒng)定義的虛擬機(jī)平臺(tái)管理功能模塊接口,編寫新的虛擬機(jī)平臺(tái)管理功能模塊。步驟幻、根據(jù)系統(tǒng)定義的虛擬機(jī)管理功能模塊接口,編寫新的虛擬機(jī)管理功能模塊。步驟4)、根據(jù)系統(tǒng)定義的虛擬機(jī)平臺(tái)注冊(cè)方法,通過(guò)系統(tǒng)管理接口,將上述3個(gè)模塊部署到系統(tǒng)指定位置,并修改虛擬機(jī)平臺(tái)配置信息。上述技術(shù)方案中,模塊是指系統(tǒng)定義的編程單元,即滿足一定條件的計(jì)算機(jī)代碼的集合。模塊接口是指系統(tǒng)定義的模塊所要實(shí)現(xiàn)的功能的描述,但不需要定義功能的實(shí)現(xiàn)過(guò)程。上述3類接口是對(duì)各種虛擬機(jī)平臺(tái)的通用接口,不針對(duì)特定類型的虛擬機(jī)平臺(tái)。系統(tǒng)對(duì)某個(gè)虛擬機(jī)的管理流程包括以下步驟步驟1)、系統(tǒng)客戶端向系統(tǒng)服務(wù)端發(fā)送對(duì)虛擬機(jī)操作的請(qǐng)求信息。步驟2、、系統(tǒng)服務(wù)端接收到請(qǐng)求信息后,對(duì)信息內(nèi)容進(jìn)行分析,分別獲取到虛擬機(jī)平臺(tái)信息、虛擬機(jī)信息及操作信息。步驟幻、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)平臺(tái)信息,定位虛擬機(jī)平臺(tái)類型。若系統(tǒng)支持該類型的虛擬機(jī)平臺(tái),則執(zhí)行步驟4 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。步驟4)、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)信息,定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī)。若系統(tǒng)定位成功,則執(zhí)行步驟5 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。步驟5)、系統(tǒng)服務(wù)端根據(jù)操作信息,對(duì)虛擬機(jī)執(zhí)行具體的操作。若系統(tǒng)服務(wù)端執(zhí)行操作成功,則將操作結(jié)果返回給系統(tǒng)客戶端;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。上述系統(tǒng)客戶端與系統(tǒng)服務(wù)端,分別指B/S架構(gòu)及C/S架構(gòu)軟件系統(tǒng)的客戶端與服務(wù)端。上述步驟2所述虛擬機(jī)平臺(tái)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)平臺(tái)的類型的全局唯一 ID。采用字符串格式定義。字符串長(zhǎng)度不限。上述步驟2所述虛擬機(jī)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)的信息,包括虛擬機(jī)的全局唯一 ID、虛擬機(jī)名稱、虛擬機(jī)類型、虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID。上述步驟2所述操作信息是指對(duì)虛擬機(jī)操作的內(nèi)容,包括具體操作類型,操作參數(shù)。上述步驟3所述定位虛擬機(jī)平臺(tái)類型,是指根據(jù)虛擬機(jī)平臺(tái)類型ID,在系統(tǒng)中查找已注冊(cè)的虛擬機(jī)平臺(tái)類型。查找成功則表示系統(tǒng)支持該類型的虛擬機(jī)平臺(tái)。上述步驟4所述定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī),是指根據(jù)虛擬機(jī)類型及虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID,在系統(tǒng)中查找具體的運(yùn)行該虛擬機(jī)的平臺(tái),再根據(jù)虛擬機(jī)ID及虛擬機(jī)名稱,在系統(tǒng)中查找具體的虛擬機(jī)。上述步驟5所述對(duì)虛擬機(jī)執(zhí)行具體操作,是指根據(jù)操作類型及操作參數(shù),對(duì)虛擬機(jī)執(zhí)行管理操作。對(duì)虛擬機(jī)的管理是通過(guò)對(duì)虛擬機(jī)平臺(tái)的操作實(shí)現(xiàn)的。系統(tǒng)對(duì)虛擬機(jī)平臺(tái)進(jìn)行管理,需要系統(tǒng)對(duì)虛擬機(jī)平臺(tái)進(jìn)行支持,定義對(duì)虛擬機(jī)平臺(tái)的管理接口。本發(fā)明將虛擬機(jī)平臺(tái)與虛擬機(jī)平臺(tái)管理功能抽象成不同的功能模塊,并實(shí)現(xiàn)系統(tǒng)定義的功能接口,以模塊注冊(cè)的方式添加到系統(tǒng)中,從而實(shí)現(xiàn)異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展。圖1表示系統(tǒng)運(yùn)行時(shí)各個(gè)模塊之間的層次關(guān)系圖。系統(tǒng)服務(wù)端接收到請(qǐng)求時(shí),各個(gè)模塊之間的調(diào)用關(guān)系是自上而下的依次調(diào)用,來(lái)實(shí)現(xiàn)對(duì)虛擬機(jī)的管理功能。圖中Hypervisor插件管理對(duì)象負(fù)責(zé)接收請(qǐng)求并分析信息,選擇不同的虛擬機(jī)平臺(tái)對(duì)象, 即Hypervisor插件對(duì)象。Hypervisor插件對(duì)象根據(jù)請(qǐng)求信息中的虛擬機(jī)信息選擇相應(yīng)的虛擬機(jī)對(duì)象,并調(diào)用相應(yīng)的功能模塊執(zhí)行具體的虛擬機(jī)管理操作。功能模塊對(duì)象及 Hypervisor連接管理對(duì)象是系統(tǒng)實(shí)現(xiàn)對(duì)虛擬機(jī)管理的輔助模塊。
權(quán)利要求
1.一種異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展管理方法,其特征在于將虛擬機(jī)平臺(tái)的對(duì)象模塊、 平臺(tái)管理功能模塊和管理功能模塊分別根據(jù)系統(tǒng)相應(yīng)的模塊接口重新編寫并部署到系統(tǒng)指定位置;步驟如下Al、系統(tǒng)客戶端向系統(tǒng)服務(wù)端發(fā)送對(duì)虛擬機(jī)操作的請(qǐng)求信息;Bi、系統(tǒng)服務(wù)端接收到請(qǐng)求信息后,對(duì)信息內(nèi)容進(jìn)行分析,分別獲取到虛擬機(jī)平臺(tái)信息、虛擬機(jī)信息及操作信息;Cl、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)平臺(tái)信息,定位虛擬機(jī)平臺(tái)類型,若系統(tǒng)支持該類型的虛擬機(jī)平臺(tái),則執(zhí)行步驟4 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;D1、系統(tǒng)服務(wù)端根據(jù)虛擬機(jī)信息,定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī),若系統(tǒng)定位成功, 則執(zhí)行步驟5 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;E1、系統(tǒng)服務(wù)端根據(jù)操作信息,對(duì)虛擬機(jī)執(zhí)行具體的操作,若系統(tǒng)服務(wù)端執(zhí)行操作成功,則將操作結(jié)果返回給系統(tǒng)客戶端;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。
2.如權(quán)利要求1所述管理方法,其特征在于所述系統(tǒng)客戶端與系統(tǒng)服務(wù)端分別為B/ S架構(gòu)及C/S架構(gòu)軟件系統(tǒng)的客戶端與服務(wù)端。
3.如權(quán)利要求1所述管理方法,其特征在于步驟Bl中所述虛擬機(jī)平臺(tái)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)平臺(tái)的類型的全局唯一 ID。
4.如權(quán)利要求1所述管理方法,其特征在于步驟Bl中所述虛擬機(jī)信息是指系統(tǒng)定義的用于標(biāo)識(shí)虛擬機(jī)的信息,包括虛擬機(jī)的全局唯一 ID、虛擬機(jī)名稱、虛擬機(jī)類型、虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID。
5.如權(quán)利要求1所述管理方法,其特征在于步驟Cl中定位虛擬機(jī)平臺(tái)類型是根據(jù)虛擬機(jī)平臺(tái)類型ID,在系統(tǒng)中查找已注冊(cè)的虛擬機(jī)平臺(tái)類型,若成功則表示系統(tǒng)支持該類型的虛擬機(jī)平臺(tái)。
6.如權(quán)利要求1所述管理方法,其特征在于步驟Dl中定位具體的虛擬機(jī)平臺(tái)及虛擬機(jī)是根據(jù)虛擬機(jī)類型及虛擬機(jī)所屬的虛擬機(jī)平臺(tái)ID,在系統(tǒng)中查找具體的運(yùn)行該虛擬機(jī)的平臺(tái),再根據(jù)虛擬機(jī)ID及虛擬機(jī)名稱,在系統(tǒng)中查找具體的虛擬機(jī)。
7.如權(quán)利要求1所述管理方法,其特征在于所述模塊接口是根據(jù)虛擬機(jī)平臺(tái)抽象出的通用接口。
全文摘要
本發(fā)明提供了一種異構(gòu)虛擬機(jī)平臺(tái)動(dòng)態(tài)擴(kuò)展管理方法,將虛擬機(jī)平臺(tái)的對(duì)象模塊、平臺(tái)管理功能模塊和管理功能模塊分別根據(jù)系統(tǒng)相應(yīng)的模塊接口重新編寫并部署到系統(tǒng)指定位置。本發(fā)明對(duì)異構(gòu)虛擬機(jī)平臺(tái)的支持可以實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展,無(wú)需終止軟件管理系統(tǒng)的運(yùn)行,無(wú)需對(duì)原有系統(tǒng)的代碼進(jìn)行改動(dòng);可以支持不同類型虛擬機(jī)。
文檔編號(hào)H04L29/06GK102170428SQ201110068680
公開日2011年8月31日 申請(qǐng)日期2011年3月22日 優(yōu)先權(quán)日2011年3月22日
發(fā)明者徐燁, 樊興軍, 溫鑫 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司