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