云環(huán)境下基于動態(tài)預測模型的虛擬機部署方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明涉及一種云環(huán)境下基于動態(tài)預測模型的虛擬機部署方法及系統(tǒng)。
【背景技術】
[0002] 信息化高速發(fā)展的今天,無論是國家政府、大中小企業(yè)以及個人用戶,各行各業(yè)都 看好云計算模式所蘊藏著潛在的機遇,一場以云計算為主角的信息化革命正在全球范圍內(nèi) 如火如荼的演繹著。隨著IT技術的高速發(fā)展,以及網(wǎng)絡的廣泛普及,越來越多的應用正在 轉(zhuǎn)移到云環(huán)境上。作為一項新穎的資源整合技術,云計算將傳統(tǒng)的軟件、硬件等IT資源看 成基礎設施,并以服務的方式提供給使用者。云計算之所以稱作為"云",是因為作為各種服 務的基礎設施并不是存在用戶本地,而是存在于網(wǎng)絡中;用戶在使用該類服務時并不需要 知道該服務存在于哪里。
[0003] 數(shù)據(jù)中心從傳統(tǒng)型發(fā)展為目前的云計算模式,共經(jīng)歷了漫長的40多年的發(fā)展變 革;由于數(shù)據(jù)中心規(guī)模的擴大和功能的多樣性,隨之出現(xiàn)的問題是數(shù)據(jù)中心的可靠性及維 護管理的巨大成本。傳統(tǒng)數(shù)據(jù)中心主要關注應用的穩(wěn)定性、數(shù)據(jù)的安全性和運行的可靠性, 而對資源的利用率、節(jié)能等問題考慮的較少;目前云環(huán)境中的資源利用率依舊不高。數(shù)據(jù)中 心資源利用率不高的原因并不是因為硬件設備本身消耗能源低效率,而是因為數(shù)據(jù)中心存 在低效的使用方式。
[0004] 為了提高云環(huán)境資源使用率,一方面可以通過提高工業(yè)設計水平來提高服務器的 性能;另一方面可以通過優(yōu)化云環(huán)境中資源整合策略,提高服務器整合率,從而達到資源的 高效利用。而云計算的核心技術是虛擬化,通過虛擬化可以將應用程序的執(zhí)行環(huán)境以打包 的方式轉(zhuǎn)到云平臺中去執(zhí)行,實現(xiàn)了程序的執(zhí)行環(huán)境與物理環(huán)境的隔離;云環(huán)境中的計算、 存儲、應用都可以抽象化為資源,而且虛擬化技術提供了平臺的管理、擴展、備份機制。因此 對虛擬資源管理是云計算中的一個主要研宄方向,其中包括資源的分配、資源的調(diào)度、資源 的存儲。云環(huán)境中的虛擬機作為計算資源的執(zhí)行者,通過虛擬化技術共享使用云環(huán)境中各 種資源;而要真正的讓云使用者像使用水電一樣基于按需來使用資源,云平臺需要處理好 資源的匹配。而且云環(huán)境中的應用種類繁多,加上基于按需消耗的用戶需求也是實時的動 態(tài)變化,同時需要考慮云平臺提供者的效益等相關因素,使得云環(huán)境下虛擬機資源的分配 變得非常的復雜化。因此,高效的云環(huán)境下虛擬機資源的整合成為目前的工業(yè)界亟需解決 的問題。
[0005] 虛擬化技術是云計算中的重要技術之一,虛擬化技術最大的特點是能夠快速的對 云環(huán)境中的資源進行融合,并最大限度的對整合的資源進行有效利用,是云計算的技術支 撐。
[0006] 按照虛擬化應用可以分成如下幾類:
[0007] 平臺虛擬化(PlatformVirtualization),如服務器平臺虛擬化
[0008] 資源虛擬化(ResourceVirtualization),如內(nèi)存、存儲、網(wǎng)絡資源等
[0009] 應用虛擬化(ApplicationVirtualization),如仿真技術,模擬技術等通過虛擬 化技術,多個虛擬機將共享云環(huán)境中的各種硬件資源;而不同的虛擬機上運行著各自的應 用,虛擬化技術將各個虛擬機隔離開來?;诠蚕淼乃枷?,每個物理服務器上將部署多個虛 擬機,因此確保多個虛擬機能高效的使用云環(huán)境中的虛擬資源,是當前云環(huán)境下資源調(diào)度 的核心問題。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明所解決的技術問題是,針對現(xiàn)有技術的不足,提供了一種云環(huán)境下基于動 態(tài)預測模型的虛擬機部署方法及系統(tǒng),能優(yōu)化云環(huán)境中的資源配置,提高云環(huán)境下資源的 使用率。
[0011] 本發(fā)明的技術方案為:
[0012] 一種云環(huán)境下基于動態(tài)預測模型的虛擬機部署方法,系統(tǒng)包括控制節(jié)點、N個待部 署的虛擬機VM1,VM2,. . .,VMi,. . .,VMn以及M個物理節(jié)點PMi,PM2,. . .,PMj,. . .,PMm;所述控 制節(jié)點中設置有請求列表模塊、監(jiān)視模塊、調(diào)度模塊、預測模塊和放置模塊;
[0013] 所述虛擬機部署算法包括以下步驟:
[0014] (1)配置參數(shù),包括配置各個虛擬機的默認初始內(nèi)存配額;
[0015] (2)請求列表模塊將待部署的虛擬機VM1,VM2. ..VMi. ..VMn按照虛擬機的默認初 始內(nèi)存配額大小進行降序排列;
[0016](3)調(diào)度模塊先判斷待部署的虛擬機列表的長度VMList.SizeO,若VMList. Size() >0,則從VMList中選擇第一個虛擬機,然后調(diào)用預測模塊為該虛擬機尋找合適的物 理節(jié)點;否則,結束部署;
[0017] (4)預測模塊根據(jù)監(jiān)視模塊中物理節(jié)點PMjI已經(jīng)部署的虛擬機的歷史內(nèi)存消耗 實際值,動態(tài)計算物理節(jié)點PMj上所有虛擬機在第t個時刻的內(nèi)存消耗預測值總和;根據(jù)內(nèi) 存消耗預測值總和選出合適的物理節(jié)點,然后調(diào)用放置模塊,將該虛擬機部署到一個合適 的物理節(jié)點上;
[0018] (5)部署完一個虛擬機后,令VMList.Size() =VMList.Size()-1;跳轉(zhuǎn)至步驟 (3)〇
[0019] 所述步驟(4)中的動態(tài)計算物理節(jié)點PMj上所有虛擬機在第t個時刻內(nèi)存消耗預 測值總和的步驟為:首先獲得物理節(jié)點PMj上已經(jīng)部署的虛擬機列表vmListTemp,然后分 別獲得每個虛擬機的歷史內(nèi)存消耗實際值,再基于P階的AR時間序列模型計算每個虛擬機 在第t個時刻的內(nèi)存消耗預測值;最后得到物理節(jié)點PMj上所有虛擬機在第t個時刻的內(nèi) 存消耗預測值總和。
[0020] p階的AR時間序列模型為:
[0021]
【主權項】
1. 一種云環(huán)境下基于動態(tài)預測模型的虛擬機部署方法,其特征在于,系統(tǒng)包 括控制節(jié)點、N個待部署的虛擬機VM 1, VM2, ...,VMi, ...,VMn以及M個物理節(jié)點 PM1, PM2, ...,PMp ...,PMm;所述控制節(jié)點中設置有請求列表模塊、監(jiān)視模塊、調(diào)度模塊、預 測模塊和放置模塊; 所述虛擬機部署方法包括以下步驟: (1) 配置參數(shù),包括配置各個虛擬機的默認初始內(nèi)存配額; (2) 請求列表模塊將待部署的虛擬機VM1, VM2. .. VMi. .. VMn按照虛擬機的默認初始內(nèi)存 配額大小進行降序排列; (3) 調(diào)度模塊先判斷待部署的虛擬機列表的長度VMList. Size (),若VMList. Size () >0,則從VMList中選擇第一個虛擬機,然后調(diào)用預測模塊為該虛擬機尋找合適的物 理節(jié)點;否則,結束部署; (4) 預測模塊根據(jù)監(jiān)視模塊中物理節(jié)點PMj上已經(jīng)部署的虛擬機的歷史內(nèi)存消耗實際 值,動