按照該順序執(zhí)行模型差異算法輸出的操作,部署、更新相應硬件和軟件,最終獲得所需的虛擬環(huán)境。
【主權項】
1.一種云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng),其特征在于:包括依次連接的配置輸入模塊、配置解析模塊、模型差異計算模塊和操作執(zhí)行模塊, 所述配置輸入模塊接收用戶輸入的配置文件并傳入配置解析模塊; 所述配置解析模塊驗證所接收配置文件的合法性和解析用戶描述,檢測不符合格式要求的描述并返回錯誤信息,并解析合法文本內容生成相應模型; 所述模型差異計算模塊計算兩個模型之間的差異,輸出從模型A轉換到模型B所需的最少操作集合,模型A可以為空,用于計算首次部署虛擬環(huán)境時需要的操作集合;并且,模型差異計算模塊與配置解析模塊之間設置有模型存儲模塊,所述模型存儲模塊存儲配置解析模塊生成的模型,該模型用于更新時進行的模型差異計算; 所述操作執(zhí)行模塊執(zhí)行模型差異計算模塊輸出的所有操作集合,本模塊包括有三個子模塊:操作排序模塊,以及分別與操作排序模塊連接的硬件操作執(zhí)行模塊和軟件操作執(zhí)行豐吳塊; 所述硬件操作執(zhí)行模塊的另一端分別連接有相互聯(lián)通的云計算平臺和硬件資源池模塊;所述軟件操作執(zhí)行模塊的另一端連接有自動化軟件配置管理工具,自動化軟件配置管理工具上還連接有軟件包注冊模塊。
2.根據(jù)權利要求1所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng),其特征在于:所述云計算平臺和自動化軟件配置管理工具上均設有編程接口; 所述硬件資源池模塊設定資源池容量且維護池中虛擬機資源; 所述操作執(zhí)行模塊在創(chuàng)建虛擬機時優(yōu)先使用硬件資源池中虛擬機,刪除虛擬機時將虛擬機放入資源池而不是立即銷毀虛擬機,除非當前資源池容量已經達到預先設定的最大值; 所述軟件包注冊模塊在自動化軟件配置管理工具上注冊新的軟件包; 所述操作排序模塊根據(jù)操作對象在模型所表示的圖形上的拓撲序進行反向排序形成工作流,硬件操作執(zhí)行模塊執(zhí)行對虛擬機的增加、刪除、修改操作,軟件操作執(zhí)行模塊于執(zhí)行對軟件的增加、刪除和修改操作。
3.—種根據(jù)權利要求1或2任意一項所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于:包括以下步驟: (1)用戶按照虛擬環(huán)境配置描述規(guī)約描述所需虛擬環(huán)境,形成配置文件;其中,虛擬環(huán)境包括虛擬機硬件資源和軟件系統(tǒng),以及相互之間的關系; (2)解析上述所得的配置文件生成模型,模型由頂點和邊形成有向圖,頂點表示虛擬機和軟件包,邊表示頂點之間的關系,有向圖整體表示所需虛擬環(huán)境; (3)進行模型差異計算得到部署或更新時需要執(zhí)行的操作集合,并對該操作集合進行排序形成工作流,其中,所述操作集合中的操作包括對頂點和邊的增加、刪除和修改; (4)生成硬件資源池,在實際部署前創(chuàng)建虛擬機硬件資源;并使用該硬件資源池和云計算平臺提供的編程接口執(zhí)行硬件相關操作; (5)將部署和更新所涉及的軟件在自動化軟件配置管理工具上注冊為軟件包,注冊后的軟件包中包括有安裝文件、安裝方法、卸載方法和配置修改方法,且該軟件包用于本次部署和后續(xù)更新以及其他部署和更新; (6)使用自動化軟件配置管理工具提供的編程接口和已注冊的軟件包執(zhí)行軟件相關操作,對軟件進行安裝、卸載和修改; (7)按照步驟(3)所得工作流順序,執(zhí)行所述硬件相關操作和所述軟件相關操作后獲得虛擬環(huán)境; (8)修改配置文件并再次提交可以重復上述過程更新已部署的虛擬環(huán)境。
4.根據(jù)權利要求3所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于:所述步驟(I)中配置文件的描述規(guī)約包括: 使用kindOf關鍵詞聲明虛擬機類型和軟件包類型,在語句末尾使用with關鍵詞添加屬性描述具體配置; 使用hostOn關鍵詞聲明某軟件包安裝于某虛擬機; 使用cbpengOn關鍵詞聲明軟件包與軟件包之間的依賴關系,在語句末尾使用at關鍵詞聲明所涉及的軟件包配置項,未指定配置項的使用缺省配置項。
5.根據(jù)權利要求3所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于:所述步驟(2)中,邊表示的關系包括軟件包與虛擬機之間的hostOn、軟件包與軟件包之間的dependOn關系; 所述各個頂點和邊的屬性集為:頂點的屬性表示虛擬機的名字、配置類型以及軟件包的名字、類型、版本和具體配置;邊的屬性表示僅用于軟件包與軟件包之間的cbpendOn關系以及該dependOn關系所涉及的具體配置,軟件包與虛擬機之間的hostOn關系不帶屬性。
6.根據(jù)權利要求3所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于:所述步驟(3)中,進行模型差異計算輸出從模型A轉換到模型B所需的操作集合,其具體計算過程包括: 設定四個集合,匹配集合M、新增集合N、刪除集合D和修改集合C,集合M表示完全一致不需要進行操作,集合N表示需要創(chuàng)建新的虛擬機或安裝新的軟件包,集合D表示刪除虛擬機或軟件包,集合C表示修改軟件包的配置或將虛擬機的類型進行更改,且修改虛擬機的類型由刪除原虛擬機和創(chuàng)建新虛擬機組成; 對比模型A和模型B,利用頂點的名字匹配各頂點,利用邊的起始點、終止點和屬性集匹配各邊,將所有匹配的對放入集合M ; 掃描所有模型A中不存在但在模型B中存在的頂點和邊,放入集合N,即這些頂點和邊需要新建; 掃描所有模型A中存在但在模型B中不存在的頂點和邊,放入集合D,即這些頂點和邊需要刪除; 掃描M集合中所有匹配的對,將任何有屬性更改的對放入集合C并標明修改之處,即這些頂點和邊的屬性需要修改; 掃描集合M和集合C中初始點是軟件包、終止點是虛擬機的邊,如果該虛擬機處于集合N、D或C中,即該虛擬機已經不是原來的那臺,則說明軟件包從原來所處的虛擬機上移動了新創(chuàng)建的虛擬機上,應將該軟件包頂點和該邊放入集合N,表示在新創(chuàng)建的虛擬機上安裝該軟件包; 最后,為集合N中元素生成新建操作,為集合D中元素生成刪除操作,為集合C中元素生成修改操作,忽略集合M中元素。
7.根據(jù)權利要求3所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于,所述步驟(3)中,所述工作流具體是指,將操作集合中的操作按照操作對象在模型有向圖上的拓撲序即依賴關系進行反向排序:從拓撲序最大、依賴關系最深的對象開始依次執(zhí)行到拓撲序最小、依賴關系最淺的對象,保證操作對象的依賴對象會先于本操作對象被創(chuàng)建。
8.根據(jù)權利要求3所述的云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)的方法,其特征在于:所述步驟(4)中,生成硬件資源池后設定資源池容量的最大值和最小值,調用云計算平臺提供的編程接口發(fā)出指令生成虛擬機直至達到最大容量,硬件資源池中的虛擬機在部署和更新時被優(yōu)先使用,其中,硬件資源池容量的最大值和最小值是一組鍵值對,表示不同虛擬機配置類型所對應的容量; 在執(zhí)行硬件相關操作時,若需新建硬件資源,優(yōu)先使用硬件資源池中的資源,硬件資源池中資源無法滿足執(zhí)行操作時,向云計算平臺提供的編程接口發(fā)出指令創(chuàng)建資源;若需刪除資源,優(yōu)先將資源放入硬件資源池中,除非硬件資源池中相應類型資源數(shù)量以達最大值,這種情況下將銷毀該資源;使用過硬件資源池中的資源后,若資源池中相應資源的數(shù)量少于規(guī)定的最小值,則會向云計算平臺提供的編程接口發(fā)出指令創(chuàng)建一定量資源滿足最小值。
【專利摘要】本發(fā)明公開一種云計算平臺中快速部署和更新虛擬環(huán)境系統(tǒng)及其方法,用配置文件描述虛擬環(huán)境,將配置文件解析為模型,計算模型差異獲得操作集合,對操作集合排序后執(zhí)行,執(zhí)行過程中使用云計算平臺提供的編程接口和硬件資源池操作虛擬硬件,使用自動化軟件配置管理工具提供的編程接口操作軟件,所有操作執(zhí)行完畢后獲得所需虛擬環(huán)境,修改配置文件再次提交可以重復上述過程更新已部署的虛擬環(huán)境。本發(fā)明從多個方面極大的簡化用戶在部署虛擬環(huán)境時的工作,提供了對虛擬環(huán)境的更新能力,加速了部署和更新過程,提高了配置的復用能力,具有廣闊的應用推廣前景。
【IPC分類】G06F9-445, G06F9-455
【公開號】CN104699508
【申請?zhí)枴緾N201510133806
【發(fā)明人】曹春, 馬曉星, 余東亮
【申請人】南京大學
【公開日】2015年6月10日
【申請日】2015年3月25日...