專利名稱:一種虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展的管理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬機(jī)管理領(lǐng)域,具體涉及一種支持虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展的方 法。
背景技術(shù):
目前業(yè)界有多種虛擬機(jī)技術(shù),包括VMWare、Xen、Hyper-V、KVM等。這些虛擬機(jī)的管 理接口不同,提供的功能也不同。第三方軟件系統(tǒng)要實(shí)現(xiàn)對(duì)虛擬機(jī)的管理,需要在軟件系統(tǒng) 設(shè)計(jì)時(shí)定義好系統(tǒng)所支持的虛擬機(jī)的類型,并定義好該虛擬機(jī)管理提供哪些具體的功能。出于不同原因的考慮,系統(tǒng)初期只支持部分的管理功能。這些原因可能是目前該虛擬機(jī)本身不支持某種功能,會(huì)在后續(xù)的版本中進(jìn)行改進(jìn);該虛擬機(jī)支持的某種功能,軟件管理系統(tǒng)暫時(shí)不支持,會(huì)在后續(xù)的版本中進(jìn)行改 進(jìn);軟件系統(tǒng)需要在后期對(duì)新的功能進(jìn)行支持,若初期沒(méi)有為此功能定義好接口,或 很難預(yù)定義接口,則后期的設(shè)計(jì)開(kāi)發(fā)會(huì)對(duì)之前的系統(tǒng)有較大影響。系統(tǒng)需要重新設(shè)計(jì)這部 分內(nèi)容,開(kāi)發(fā)完成后,也需要用新的系統(tǒng)替代原有的系統(tǒng),無(wú)法實(shí)現(xiàn)對(duì)系統(tǒng)預(yù)定義之外的虛 擬機(jī)管理新功能的動(dòng)態(tài)擴(kuò)展支持。
發(fā)明內(nèi)容
為解決現(xiàn)有的虛擬機(jī)管理軟件系統(tǒng)中,必須預(yù)定義好所有支持的虛擬機(jī)管理功能 接口的缺陷,本發(fā)明提供了一種無(wú)需預(yù)定義虛擬機(jī)管理接口,可以動(dòng)態(tài)添加新的虛擬機(jī)管 理功能的方法。一種虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展的管理方法,將虛擬機(jī)管理功能模塊根據(jù)系統(tǒng)定義 的虛擬機(jī)功能模塊接口重新編寫(xiě),并通過(guò)系統(tǒng)定義的平臺(tái)注冊(cè)方法和系統(tǒng)管理接口將重新 編寫(xiě)管理功能模塊部署到系統(tǒng)指定位置,修改虛擬機(jī)配置信息;包括以下步驟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) (即Hypervisor)信息、虛擬機(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ù)操作信息,定位具體的虛擬機(jī)管理功能模塊,若系統(tǒng)定位成 功,則執(zhí)行步驟6 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;F1、對(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)選的,步驟El中所述定位具體虛擬機(jī)管理功能模塊是根據(jù)操作信息,在系統(tǒng)中 查找具體的該操作所屬的功能模塊。優(yōu)選的,所述模塊接口是針對(duì)所有虛擬機(jī)平臺(tái)抽象出的通用接口。本發(fā)明對(duì)新的虛擬機(jī)管理功能的支持可以實(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)設(shè)計(jì)時(shí)定義好功能擴(kuò)展接口及注冊(cè)服務(wù)管理接口,為系統(tǒng)動(dòng)態(tài)擴(kuò)展新 的虛擬機(jī)管理功能提供機(jī)制;將不同的管理功能劃分成不同的管理功能模塊實(shí)現(xiàn),新的功 能采用新的功能模塊實(shí)現(xiàn)。虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展包括以下步驟步驟1)、根據(jù)系統(tǒng)定義的虛擬機(jī)功能模塊接口,編寫(xiě)新的虛擬機(jī)管理功能模塊。步驟2、、根據(jù)系統(tǒng)定義的虛擬機(jī)平臺(tái)注冊(cè)方法,通過(guò)系統(tǒng)管理接口,將上述模塊部 署到系統(tǒng)指定位置,并修改虛擬機(jī)配置信息。上述技術(shù)方案中,模塊是指系統(tǒng)定義的編程單元,即滿足一定條件的計(jì)算機(jī)代碼 的集合。模塊接口是指系統(tǒng)定義的模塊所要實(shí)現(xiàn)的功能的描述,但不需要定義功能的實(shí)現(xiàn) 過(guò)程。上述功能模塊接口是對(duì)虛擬機(jī)各種管理功能抽象的通用接口,不針對(duì)某種具體類 型的虛擬機(jī)管理功能。系統(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)(即Hypervisor)信息、虛擬機(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ù)操作信息,定位具體的虛擬機(jī)管理功能模塊。若系統(tǒng)定位 成功,則執(zhí)行步驟6 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端。步驟6)、對(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所述定位具體虛擬機(jī)管理功能模塊,是指根據(jù)操作信息,在系統(tǒng)中查 找具體的該操作所屬的功能模塊。上述步驟6所述對(duì)虛擬機(jī)執(zhí)行具體操作,是指根據(jù)操作類型及操作參數(shù),對(duì)虛擬 機(jī)執(zhí)行管理操作。圖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ì)象,并根據(jù)請(qǐng)求信息中的操作信息選擇相應(yīng)的管理功能模塊執(zhí)行具體的虛擬機(jī)管理 操作。Hypervisor連接管理對(duì)象是系統(tǒng)實(shí)現(xiàn)對(duì)虛擬機(jī)管理的輔助模塊。
權(quán)利要求
1.一種虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展的管理方法,其特征在于將虛擬機(jī)管理功能模塊根 據(jù)系統(tǒng)定義的虛擬機(jī)功能模塊接口重新編寫(xiě),并通過(guò)系統(tǒng)定義的平臺(tái)注冊(cè)方法和系統(tǒng)管理 接口將重新編寫(xiě)管理功能模塊部署到系統(tǒng)指定位置,修改虛擬機(jī)配置信息;包括以下步驟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)(即 Hypervisor)信息、虛擬機(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ù)操作信息,定位具體的虛擬機(jī)管理功能模塊,若系統(tǒng)定位成功,則 執(zhí)行步驟6 ;否則提示出錯(cuò)并返回給系統(tǒng)客戶端;F1、對(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所述管理方法,其特征在于步驟El中所述定位具體虛擬機(jī)管理功能 模塊是根據(jù)操作信息,在系統(tǒng)中查找具體的該操作所屬的功能模塊。
8.如權(quán)利要求1所述管理方法,其特征在于所述模塊接口是針對(duì)所有虛擬機(jī)平臺(tái)抽 象出的通用接口。
全文摘要
本發(fā)明提供了一種虛擬機(jī)管理功能動(dòng)態(tài)擴(kuò)展的管理方法,將虛擬機(jī)管理功能模塊根據(jù)系統(tǒng)定義的虛擬機(jī)功能模塊接口重新編寫(xiě),并通過(guò)系統(tǒng)定義的平臺(tái)注冊(cè)方法和系統(tǒng)管理接口將重新編寫(xiě)管理功能模塊部署到系統(tǒng)指定位置,修改虛擬機(jī)配置信息。本發(fā)明對(duì)新的虛擬機(jī)管理功能的支持可以實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展,無(wú)需終止軟件管理系統(tǒng)的運(yùn)行,無(wú)需對(duì)原有系統(tǒng)的代碼進(jìn)行改動(dòng);可以支持不同類型虛擬機(jī)。
文檔編號(hào)G06F9/455GK102129385SQ20111006928
公開(kāi)日2011年7月20日 申請(qǐng)日期2011年3月22日 優(yōu)先權(quán)日2011年3月22日
發(fā)明者樊興軍, 溫鑫, 顏永亮 申請(qǐng)人:曙光信息產(chǎn)業(yè)(北京)有限公司