1.一種虛擬機(jī)分配方法,其特征在于,包括:
步驟S1、獲取待分配的各虛擬機(jī)的運行時間和資源配置數(shù)據(jù),所述資源配置數(shù)據(jù)包括:至少一項資源指標(biāo);
步驟S2、按照所述運行時間對各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列;
步驟S3、針對物理機(jī)列表中的各物理機(jī),根據(jù)所述虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出所述物理機(jī)對應(yīng)的最優(yōu)裝機(jī)方案,所述貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個將虛擬機(jī)裝配至所述物理機(jī)中,直至所述物理機(jī)無法繼續(xù)裝配虛擬機(jī);
步驟S4、針對物理機(jī)列表中的各物理機(jī),根據(jù)所述物理機(jī)處于最優(yōu)裝機(jī)方案時所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和所述物理機(jī)的資源配置數(shù)據(jù),計算所述物理機(jī)的資源利用率;
步驟S5、根據(jù)步驟S4的計算結(jié)果,選取處于最優(yōu)裝機(jī)方案時的資源利用率最大的所述物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)步驟3中模擬出的所述優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向所述優(yōu)選物理機(jī)分配虛擬機(jī);
步驟S6、從物理機(jī)列表中刪除所述優(yōu)選物理機(jī),以及從所述虛擬機(jī)序列中刪除已被分配至所述優(yōu)選物理機(jī)的虛擬機(jī);
步驟S7、判斷所述虛擬機(jī)序列中是否還存在虛擬機(jī);
若判斷出所述虛擬機(jī)序列中還存在虛擬機(jī),則繼續(xù)執(zhí)行上述步驟S3。
2.根據(jù)權(quán)利要求1所述的虛擬機(jī)分配方法,其特征在于,資源配置數(shù)據(jù)包括三項資源指標(biāo),分別為:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。
3.根據(jù)權(quán)利要求2所述的虛擬機(jī)分配方法,其特征在于,若在步驟S3中模擬出第J個物理機(jī)通過貪心裝機(jī)規(guī)則可以裝配虛擬機(jī)序列中的前k個虛擬機(jī),則在步驟S4中采用如下公式計算出第J個物理機(jī)的資源利用率EJ:
其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。
4.一種虛擬機(jī)分配系統(tǒng),其特征在于,包括:
獲取模塊,用于獲取待分配的各虛擬機(jī)的運行時間和資源配置數(shù)據(jù);
排序模塊,用于按照所述運行時間對各虛擬機(jī)進(jìn)行排序,并生成虛擬機(jī)序列;
模擬模塊,用于針對物理機(jī)列表中的各物理機(jī),根據(jù)所述虛擬機(jī)序列和貪心裝機(jī)規(guī)則來模擬出所述物理機(jī)對應(yīng)的最優(yōu)裝機(jī)方案,所述貪心裝機(jī)規(guī)則是指從虛擬機(jī)序列中依次逐個將虛擬機(jī)裝配至所述物理機(jī)中,直至所述物理機(jī)無法繼續(xù)裝配虛擬機(jī);
計算模塊,用于針對物理機(jī)列表中的各物理機(jī),根據(jù)所述物理機(jī)處于最優(yōu)裝機(jī)方案時所裝配的各虛擬機(jī)的資源配置數(shù)據(jù)和所述物理機(jī)的資源配置數(shù)據(jù),計算所述物理機(jī)的資源利用率;
分配模塊,用于根據(jù)所述計算模塊的計算結(jié)果,選取處于最優(yōu)裝機(jī)方案時的資源利用率最大的所述物理機(jī)以作為優(yōu)選物理機(jī),并根據(jù)所述模擬模塊模擬出的所述優(yōu)選物理機(jī)的最優(yōu)裝機(jī)方案,向所述優(yōu)選物理機(jī)分配虛擬機(jī);
刪除模塊,用于從物理機(jī)列表中刪除所述優(yōu)選物理機(jī),以及從所述虛擬機(jī)序列中刪除已被分配至所述優(yōu)選物理機(jī)的虛擬機(jī);
判斷模塊,用于判斷所述虛擬機(jī)序列中是否還存在虛擬機(jī),若判斷出所述虛擬機(jī)序列中還存在虛擬機(jī),則控制所述模擬模塊繼續(xù)工作。
5.根據(jù)權(quán)利要求4所述的虛擬機(jī)分配系統(tǒng),其特征在于,資源配置數(shù)據(jù)包括:CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。
6.根據(jù)權(quán)利要求5所述的虛擬機(jī)分配系統(tǒng),其特征在于,若所述模塊模塊模擬出第J個物理機(jī)通過貪心裝機(jī)規(guī)則可以裝配虛擬機(jī)序列中的前k個虛擬機(jī),則所述計算模塊中采用如下公式計算出第J個物理機(jī)的資源利用率EJ:
其中,rucpu、rumem、rui/o分別表示虛擬機(jī)序列中第u個虛擬機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo),CJcpu、CJmem、CJi/o分別表示第J個物理機(jī)的CPU指標(biāo)、內(nèi)存指標(biāo)和磁盤讀寫指標(biāo)。