一種資源優(yōu)化調(diào)度方法及虛擬機(jī)宿主機(jī)優(yōu)化選擇方法
【專(zhuān)利摘要】提供一種資源優(yōu)化調(diào)度方法,能夠根據(jù)當(dāng)前數(shù)據(jù)中心中所有物理機(jī)資源上剩余可用的資源值序列、用戶此次調(diào)度請(qǐng)求的資源大小值確定最終的調(diào)度序列,還提供一種基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法,利用所述一種資源調(diào)度優(yōu)化方法,通過(guò)分析用戶虛擬機(jī)資源申請(qǐng)調(diào)度記錄模塊中所屬不同業(yè)務(wù)類(lèi)別的已有用戶虛擬機(jī)申請(qǐng)配置及資源調(diào)度信息,為新用戶推薦最優(yōu)化的虛擬機(jī)配置,并自動(dòng)選擇宿主機(jī)進(jìn)行配置。所述方法能夠保證用戶虛擬機(jī)配置申請(qǐng)的高效合理性,提高資源配置和其所申請(qǐng)的業(yè)務(wù)的相關(guān)性,提升資源利用率。
【專(zhuān)利說(shuō)明】一種資源優(yōu)化調(diào)度方法及虛擬機(jī)宿主機(jī)優(yōu)化選擇方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及資源調(diào)度【技術(shù)領(lǐng)域】,具體涉及云操作系統(tǒng)下的資源優(yōu)化調(diào)度和選擇方法。
【背景技術(shù)】
[0002]當(dāng)前,云計(jì)算逐漸被行業(yè)認(rèn)可,云數(shù)據(jù)中心操作系統(tǒng)逐漸實(shí)現(xiàn)并付諸于實(shí)踐。如何保證數(shù)據(jù)中心資源的高效利用,是衡量一個(gè)云計(jì)算操作系統(tǒng)是否高效的關(guān)鍵。而虛擬機(jī)既是云計(jì)算操系統(tǒng)中核心的業(yè)務(wù)邏輯單元和載體,同時(shí)也是資源分配的基本邏輯單位,虛擬機(jī)資源的高效合理分配對(duì)于數(shù)據(jù)中心資源利用率的提升有著重要的作用。
[0003]大多數(shù)同類(lèi)系統(tǒng)在虛擬機(jī)宿主機(jī)選擇時(shí),只考慮用戶自主設(shè)定的選擇(而用戶往往對(duì)某些業(yè)務(wù)類(lèi)別對(duì)資源的需求配置狀況也不是很了解),沒(méi)有考慮不同業(yè)務(wù)類(lèi)別下對(duì)于不同資源因素如CPU、內(nèi)存等的不同要求,導(dǎo)致了虛擬機(jī)資源申請(qǐng)配置信息不合理,物理宿主機(jī)資源利用率不高的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]為了保證用戶虛擬機(jī)配置申請(qǐng)的高效合理性,提高資源配置和其所申請(qǐng)的業(yè)務(wù)的相關(guān)性,提升資源利用率,我們提出了云計(jì)算操作系統(tǒng)中的一種資源優(yōu)化調(diào)度方法。所述方法包括:
[0005]S1:獲取輸入的所述剩余可用的資源值序列M=Iml, m2,..., mn}和所述用戶此次調(diào)度請(qǐng)求的資源值Q ;
[0006]S2:依次取M中的記錄mi,其中i=l,2,……n,與Q做差值,得到一個(gè)差值隊(duì)列;`[0007]S3:判斷得到的所述差值隊(duì)列中的值是否全為負(fù)值;若否,進(jìn)入步驟S4;否則,進(jìn)入步驟S5 ;
[0008]S4:將所述差值隊(duì)列中第一個(gè)大于等于O的值所對(duì)應(yīng)的資源值記錄至最優(yōu)資源隊(duì)列中,記為{[P1,N1],…,[Pi,Ni]},其中,Pi代表資源信息,Ni代表該資源信息的配置數(shù)量,接著進(jìn)入步驟S9 ;
[0009]S5:判斷資源隊(duì)列是否為空,若否,則取上步驟S2中得到的所述差值隊(duì)列中值最大的記錄Li,將其對(duì)應(yīng)的mi所對(duì)應(yīng)的資源值記錄至最優(yōu)資源隊(duì)列中,記為{[ΡΙ,ΝΙ],…,[Pi,Ni]},其中,Pi代表資源信息,Ni代表該資源信息的配置數(shù)量,接著進(jìn)入步驟S6 ;否貝U,進(jìn)入步驟S8 ;
[0010]S6:從M中刪掉步驟S5中已經(jīng)記錄至最優(yōu)資源隊(duì)列中的資源值,得到更新后的剩余可用的資源值序列;
[0011]S7:將更新后的剩余可用的資源值序列中記錄的資源值與步驟S5中得到的Li的絕對(duì)值作差,得到一新的差值隊(duì)列,進(jìn)入步驟S3 ;
[0012]S8:獲取目標(biāo)資優(yōu)化隊(duì)列失敗,向信息提示模塊發(fā)送失敗信息;方法結(jié)束;
[0013]S9:輸出目標(biāo)資源最優(yōu)隊(duì)列,并向信息提示模塊發(fā)送成功信息;方法結(jié)束。[0014]本發(fā)明的另外一個(gè)實(shí)施例還提供一種基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法,所述方法包括:
[0015]S1:用戶進(jìn)入云操作系統(tǒng)門(mén)戶,輸入該次申請(qǐng)的業(yè)務(wù)類(lèi)別;判斷是否是新業(yè)務(wù)類(lèi)另Ij,若是,進(jìn)入步驟S2,否則進(jìn)入步驟S4 ;
[0016]S2:根據(jù)預(yù)設(shè)的類(lèi)別-虛擬機(jī)推薦配置模塊中的記錄,推薦合理的虛擬機(jī)配置;
[0017]S3:根據(jù)所述虛擬機(jī)配置,隨機(jī)選擇資源池中一未被配置使用的物理機(jī)資源進(jìn)行配置;完成后,更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度模塊中的信息記錄,方法結(jié)束;
[0018]S4:進(jìn)入用戶資源調(diào)度記錄模塊,獲取該業(yè)務(wù)類(lèi)別下已有用戶資源歷史調(diào)度信息記錄,獲得該業(yè)務(wù)類(lèi)別下所有用戶的“平均”配置信息詳單,作為向該用戶推薦的配置詳單,記為:[C,M],其中C和M分別代表CPU資源和內(nèi)存資源;
[0019]S5:根據(jù)所述用戶資源調(diào)度記錄模塊記錄的信息,分別獲取與該業(yè)務(wù)相關(guān)的物理機(jī)CPU資源隊(duì)列Pc={cl, c2,,*..οη}和與該業(yè)務(wù)相關(guān)的物理機(jī)內(nèi)存資源隊(duì)列Pm= {ml, m2,…,mn},其中ci和mi分別表示標(biāo)號(hào)為i的物理機(jī)上剩余的CPU資源和內(nèi)存資源,其中i=l,
2,......,n;
[0020]S6:針對(duì)步驟S5 得到的隊(duì)列Pc調(diào)用權(quán)利要求1所述方法進(jìn)行處理,判斷獲取CPU資源最優(yōu)物理機(jī)隊(duì)列是否成功;若是,則得到CPU資源最優(yōu)物理機(jī)隊(duì)列,記為D ;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將記錄為CPU資源最優(yōu)物理機(jī)隊(duì)列D中;
[0021]S7:判斷隊(duì)列D中記錄的內(nèi)存資源是否滿足用戶此次調(diào)度請(qǐng)求的內(nèi)存資源值的要求,若是,則表明隊(duì)列D可同時(shí)滿足CPU資源和內(nèi)存資源的分配需求,進(jìn)入步驟S8 ;若否,進(jìn)入步驟S9 ;
[0022]S8:根據(jù)所述隊(duì)列D記錄的信息配置用戶申請(qǐng)的虛擬機(jī),記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度記錄模塊中的記錄,方法結(jié)束;
[0023]S9:刪除內(nèi)存資源隊(duì)列Pm與隊(duì)列D中重復(fù)的信息,得一更新后的內(nèi)存資源隊(duì)列Pm’,同時(shí),將所述用戶此次調(diào)度請(qǐng)求的內(nèi)存資源值與隊(duì)列D中記錄的各個(gè)物理機(jī)的剩余內(nèi)存資源之和作差,得到最新的內(nèi)存比較值Ml ;
[0024]S10:對(duì)步驟S9中得到的內(nèi)存資源隊(duì)列Pm’調(diào)用權(quán)利要求1所述的方法進(jìn)行處理,其中輸入為內(nèi)存資源隊(duì)列Pm’和所述最新的內(nèi)存比較值Ml,輸出為最優(yōu)的內(nèi)存物理機(jī)優(yōu)化隊(duì)列;判斷獲取最優(yōu)的內(nèi)存物理機(jī)優(yōu)化隊(duì)列是否成功,若是,直接獲取輸出的內(nèi)存物理機(jī)優(yōu)化隊(duì)列;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將其記錄為內(nèi)存物理機(jī)優(yōu)化隊(duì)列,記所述內(nèi)存物理機(jī)優(yōu)化隊(duì)列為B ;
[0025]Sll:根據(jù)所述隊(duì)列D記錄的信息配置用戶申請(qǐng)的CPU和內(nèi)存,根據(jù)所述隊(duì)列B記錄的信息配置用戶申請(qǐng)的內(nèi)存;
[0026]S12:記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度信息模塊中的信息記錄,方法結(jié)束。
[0027]本發(fā)明的有益效果是能夠保證用戶虛擬機(jī)配置申請(qǐng)的高效合理性,提高資源配置和其所申請(qǐng)的業(yè)務(wù)的相關(guān)性,提升資源利用率。
【專(zhuān)利附圖】
【附圖說(shuō)明】[0028]附圖1為本發(fā)明提出的一種資源優(yōu)化調(diào)度方法流程圖。
[0029]附圖2為本發(fā)明提出的一種基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法流程圖。
【具體實(shí)施方式】
[0030]結(jié)合附圖1和2對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
[0031]正如
【發(fā)明內(nèi)容】
中所描述的,本發(fā)明的體系結(jié)構(gòu)主要包括:一種資源優(yōu)化調(diào)度發(fā)現(xiàn)方法(I);基于業(yè)務(wù)類(lèi)別特征相關(guān)的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法(2)。
[0032]一種資源優(yōu)化調(diào)度方法(I)是該策略的基礎(chǔ),從輸入的源資源隊(duì)列中選擇最符合配置要求的目標(biāo)資源隊(duì)列;參照附圖1,該方法的輸入?yún)?shù)為源資源隊(duì)列M和資源比較值Q,輸出結(jié)果為目標(biāo)資源隊(duì)列N。其中,源資源隊(duì)列指的是目前數(shù)據(jù)中心中所有物理機(jī)資源上剩余可用的資源值序列,即可供調(diào)度的剩余資源值序列,以?xún)?nèi)存大小舉例:M={10,3,5,7,2}表示該數(shù)據(jù)中心中還有5臺(tái)物理機(jī)有剩余內(nèi)存資源,且按照其被調(diào)度次數(shù)從大到小的順序排列(假設(shè)物理的id標(biāo)志信息依次為1,2,3,4,5),剩余資源數(shù)依次為序列中數(shù)字;資源比較值Q即為用戶此次調(diào)度請(qǐng)求的資源大小值,例如說(shuō)Q=4 ;目標(biāo)資源隊(duì)列即為最終的調(diào)度序列,因?yàn)镸中的第一臺(tái)物理機(jī)上的剩余資源為10,而請(qǐng)求的只有4,故一次調(diào)用即可滿足此次要求,本例中的輸出隊(duì)列為N= {[1,4]},其中I為物理資源的標(biāo)志位,4為在該資源上的配直里。
[0033]參照附圖2,基于業(yè)務(wù)類(lèi)別特征相關(guān)的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法(2)是該策略的核心,是指利用前述一中資源調(diào)度優(yōu)化方法,通過(guò)分析用戶虛擬機(jī)資源申請(qǐng)調(diào)度記錄模塊中所屬不同業(yè)務(wù)類(lèi)別的已有用戶虛擬機(jī)申請(qǐng)配置及資源調(diào)度信息(如CPU、內(nèi)存、配置的宿主物理機(jī)信息等),為該用戶(新進(jìn)用戶)推薦最優(yōu)化的虛擬機(jī)配置,并自動(dòng)選擇宿主機(jī)進(jìn)行配置的方法。
`[0034]云計(jì)算操作系統(tǒng)下一種基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇策略的方法包括如下:
[0035]1.一種資源優(yōu)化調(diào)度算法
[0036]一種資源優(yōu)化調(diào)度算法,能夠基于輸入的源資源隊(duì)列M和資源比較值Q,自動(dòng)選擇發(fā)現(xiàn)、輸出最優(yōu)化的目標(biāo)資源隊(duì)列N。參照附圖1,方法包括如下步驟:
[0037]S1:獲取輸入的源資源隊(duì)列M=Iml, m2,- ,mn}和資源比較值Q ;
[0038]S2:依次取M中的記錄mi,其中i=l,2,……n,與資源比較值Q做差值,得到一差值結(jié)果隊(duì)列,其中mi對(duì)應(yīng)源資源隊(duì)列中的某一源資源信息;
[0039]S3:判斷得到的差值隊(duì)列中的值是否全為負(fù)值;若否,進(jìn)入步驟S4 ;否則,進(jìn)入步驟S5 ;
[0040]S4:將上述差值隊(duì)列中第一個(gè)大于等于O的值(由于隊(duì)列是按資源調(diào)用次數(shù)降序排列,第一個(gè)大于等于O的值,必然是被調(diào)用次數(shù)排在前面的資源,優(yōu)先記錄之前調(diào)用次數(shù)大的資源,提高資源整合利用率)所對(duì)應(yīng)的資源信息記錄至最優(yōu)資源隊(duì)列中:{[P1,NI],…,[Pi, Ni]},其中,Pi在此代表資源信息,因?yàn)樵撍惴ㄊ琴Y源優(yōu)化調(diào)度算法,舉例來(lái)說(shuō)在計(jì)算資源調(diào)度時(shí),Pi可指代CPU、內(nèi)存的載體一物理主機(jī);在存儲(chǔ)資源調(diào)度時(shí),Pi可指代物理磁盤(pán)等存儲(chǔ)設(shè)備。Ni代表在資源上的配置量。接著進(jìn)入步驟S9;[0041]S5:判斷資源隊(duì)列是否為空,若否,則取上一步得到的差值隊(duì)列中值最大的記錄Li (負(fù)值),將其對(duì)應(yīng)的mi所對(duì)應(yīng)的源資源信息記錄至最優(yōu)資源隊(duì)列中,接著進(jìn)入步驟S6 ;否則,進(jìn)入步驟S8 ;
[0042]S6:更新源資源隊(duì)列M,即從M中刪掉上一步中已經(jīng)記錄至最優(yōu)資源隊(duì)列中的源資源信息,得到更新后的源資源隊(duì)列;
[0043]S7:將更新后的源資源隊(duì)列中記錄的源資源信息與前述步驟中得到的Li的絕對(duì)值作差,得到一新的差值隊(duì)列,進(jìn)入步驟S3 ;
[0044]S8:獲取目標(biāo)資優(yōu)化隊(duì)列失敗,向信息提示模塊發(fā)送失敗信息;方法結(jié)束。
[0045]S9:輸出目標(biāo)資源最優(yōu)隊(duì)列,并向信息提示模塊發(fā)送成功信息;方法結(jié)束。
[0046]2.基于業(yè)務(wù)類(lèi)別特征相關(guān)的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法
[0047]參照附圖2,基于業(yè)務(wù)類(lèi)別特征相關(guān)的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法,根據(jù)前述的“一種資源優(yōu)化調(diào)度發(fā)現(xiàn)方法”,通過(guò)對(duì)用戶所申請(qǐng)的業(yè)務(wù)類(lèi)別下其他用戶已有的虛擬機(jī)申請(qǐng)配置及資源(宿主物理機(jī))調(diào)度信息,為該用戶推薦最合理的虛擬機(jī)配置詳單,自動(dòng)為其選擇最優(yōu)化的宿主物理機(jī)并進(jìn)行配置。該方法包括如下策略:
[0048]①用戶輸入申請(qǐng)的業(yè)務(wù)類(lèi)別后,云計(jì)算操作系統(tǒng)首先要判斷該業(yè)務(wù)類(lèi)別是否是已有的;
[0049]②用戶在每次虛擬機(jī)申請(qǐng)配置請(qǐng)求成功后都要更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度記錄模塊中的記錄。
[0050]基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法分為12個(gè)步驟,具體如下:
[0051]S1:用戶進(jìn)入云操作系統(tǒng)門(mén)戶,`輸入該次申請(qǐng)的業(yè)務(wù)類(lèi)別;判斷是否是新業(yè)務(wù)類(lèi)另Ij,若是,進(jìn)入步驟S2,否則進(jìn)入步驟S4 ;
[0052]S2:根據(jù)預(yù)設(shè)的類(lèi)別-虛擬機(jī)推薦配置模塊中的記錄(基于對(duì)IT領(lǐng)域內(nèi)不同業(yè)務(wù)類(lèi)別的相關(guān)資源配置情況的統(tǒng)計(jì)分析得出,如軟件測(cè)試業(yè)務(wù)、財(cái)務(wù)分析業(yè)務(wù)等對(duì)計(jì)算資源CPU、內(nèi)存等有不同的需求),推薦合理的虛擬機(jī)配置(主要考慮計(jì)算資源CPU/內(nèi)存);
[0053]S3:根據(jù)配置,隨機(jī)選擇資源池中一未被配置使用的物理機(jī)資源進(jìn)行配置;完成后,更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度模塊中的信息記錄,方法結(jié)束;
[0054]S4:進(jìn)入用戶資源調(diào)度記錄模塊,獲取該業(yè)務(wù)類(lèi)別下已有用戶資源歷史調(diào)度信息記錄,獲得該業(yè)務(wù)類(lèi)別下所有用戶的“平均”配置信息詳單(基于已有用戶的群體智慧,社區(qū)達(dá)成的“共識(shí)”),即為該用戶推薦的配置詳單,記為:[C,M],其中C和M分別代表CPU和內(nèi)存;
[0055]S5:根據(jù)資源調(diào)度使用模塊信息記錄,分別獲取:1)與該業(yè)務(wù)相關(guān)的物理機(jī)隊(duì)列源(基于CPU資源)Pc={cl,c2,,一cn} ;2)與該業(yè)務(wù)相關(guān)的物理機(jī)隊(duì)列源(基于內(nèi)存資源)Pm= {ml, m2, -,mn};注意:二者是分別獨(dú)立統(tǒng)計(jì)的,都是基于該主機(jī)被調(diào)用次數(shù)“降序”排列,只不過(guò)表現(xiàn)形式(統(tǒng)計(jì)內(nèi)容)一個(gè)是CPU相關(guān),另一個(gè)是內(nèi)存相關(guān),其中ci和mi分別表示標(biāo)號(hào)為i的物理機(jī)上剩余的cpu和內(nèi)存資源,其中i=l,2,……,n;
[0056]S6:對(duì)上面得到的Pc調(diào)用前述“一種資源優(yōu)化調(diào)度發(fā)現(xiàn)方法”;判斷獲取CPU最優(yōu)物理機(jī)隊(duì)列是否成功;若是(成功),則直接獲取輸出的CPU優(yōu)化物理機(jī)隊(duì)列D ;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將其記錄至CPU優(yōu)化物理機(jī)隊(duì)列D中;即最終都能得到CPU優(yōu)化物理機(jī)隊(duì)列D ;
[0057]S7:判斷得到的物理機(jī)隊(duì)列中的物理機(jī)上,內(nèi)存資源是否滿足M的要求;若是,則表明該物理機(jī)隊(duì)列可同時(shí)滿足CPU和內(nèi)存資源的分配需求,記錄該物理機(jī)隊(duì)列信息A(將隊(duì)列D中記錄信息復(fù)制到隊(duì)列A中),接著進(jìn)入步驟S8 ;若否,進(jìn)入步驟S9 ;
[0058]S8:在獲得的物理機(jī)隊(duì)列A上配置用戶申請(qǐng)的虛擬機(jī)(主要是計(jì)算資源:內(nèi)存和CPU);接著,記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度記錄模塊中的記錄;方法結(jié)束。
[0059]S9:記錄前述步驟中得到的CPU優(yōu)化物理機(jī)隊(duì)列D,刪除Pm與D中重復(fù)的信息(因?yàn)?,此處設(shè)定配置過(guò)CPU的物理機(jī),其內(nèi)存也會(huì)被配置,因此隊(duì)列D中的物理機(jī)CPU和內(nèi)存都會(huì)被配置,所以在對(duì)Pm調(diào)用‘一種資源調(diào)度優(yōu)化發(fā)現(xiàn)方法’前,必須在Pm中去掉與D中重復(fù)的記錄),得一更新后的Pm ;同時(shí),將M值與CPU優(yōu)化物理機(jī)隊(duì)列中各個(gè)物理機(jī)的剩余內(nèi)存之和作差,得最新的內(nèi)存比較值Ml ;
[0060]S10:對(duì)上一步中得到的Pm調(diào)用“一種資源優(yōu)化調(diào)度發(fā)現(xiàn)方法”,輸入為最新的基于內(nèi)存資源的該業(yè)務(wù)相關(guān)的物理機(jī)隊(duì)列Pm和最新的內(nèi)存比較值Ml,輸出為最優(yōu)的內(nèi)存物理機(jī)優(yōu)化隊(duì)列;判斷獲取內(nèi)存最優(yōu)化物理機(jī)隊(duì)列是否成功,若是,直接獲取輸出的內(nèi)存優(yōu)化物理機(jī)隊(duì)列;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將其記錄至內(nèi)存優(yōu)化隊(duì)列中;不論是或否,都能保證能夠得到最優(yōu)的內(nèi)存優(yōu)化物理機(jī)隊(duì)列,設(shè)為隊(duì)列B ;
[0061]S11:在物理機(jī)隊(duì)列D (CPU優(yōu)化物理機(jī)隊(duì)列)上配置用戶申請(qǐng)的CPU和內(nèi)存,在物理機(jī)隊(duì)列B (內(nèi)存優(yōu)化物理機(jī)隊(duì)列)上配置用戶申請(qǐng)的內(nèi)存;
[0062]S12:記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度信息模塊中的信息記錄;方法結(jié)束。
[0063]當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
【權(quán)利要求】
1.一種資源優(yōu)化調(diào)度方法,能夠根據(jù)當(dāng)前數(shù)據(jù)中心中所有物理機(jī)資源上剩余可用的資源值序列、用戶此次調(diào)度請(qǐng)求的資源大小值確定最終的調(diào)度序列,其特征在于,所述方法包: S1:獲取輸入的所述剩余可用的資源值序列M=Iml, m2,..., mn}和所述用戶此次調(diào)度請(qǐng)求的資源值Q ; S2:依次取M中的記錄mi,其中i=l,2,……n,與Q做差值,得到一個(gè)差值隊(duì)列; S3:判斷得到的所述差值隊(duì)列中的值是否全為負(fù)值;若否,進(jìn)入步驟S4;否則,進(jìn)入步驟S5 ; S4:將所述差值隊(duì)列中第一個(gè)大于等于O的值所對(duì)應(yīng)的資源值記錄至最優(yōu)資源隊(duì)列中,記為{[P1,N1],…,[Pi,Ni]},其中,Pi代表資源信息,Ni代表該資源信息的配置數(shù)量,接著進(jìn)入步驟S9 ; S5:判斷資源隊(duì)列是否為空,若否,則取上步驟S2中得到的所述差值隊(duì)列中值最大的記錄Li,將其對(duì)應(yīng)的mi所對(duì)應(yīng)的資源值記錄至最優(yōu)資源隊(duì)列中,記為{[Ρ1,Ν1]^..,[Pi,Ni]},其中,Pi代表資源信息,Ni代表該資源信息的配置數(shù)量,接著進(jìn)入步驟S6 ;否貝U,進(jìn)入步驟S8 ; S6:從M中刪掉步驟S5中已經(jīng)記錄至最優(yōu)資源隊(duì)列中的資源值,得到更新后的剩余可用的資源值序列; S7:將更新后的剩余可用的資源值序列中記錄的資源值與步驟S5中得到的Li的絕對(duì)值作差,得到一新的差值隊(duì)列,進(jìn)入步驟S3 ; S8:獲取目標(biāo)資優(yōu)化隊(duì)列失敗,向信息提示模塊發(fā)送失敗信息;方法結(jié)束; S9:輸出目標(biāo)資源最優(yōu)隊(duì)列,并向信息提示模塊發(fā)送成功信息;方法結(jié)束。
2.一種基于業(yè)務(wù)類(lèi)別特征的虛擬機(jī)宿主機(jī)優(yōu)化選擇方法,其特征在于,所述方法包括: Si:用戶進(jìn)入云操作系統(tǒng)門(mén)戶,輸入該次申請(qǐng)的業(yè)務(wù)類(lèi)別;判斷是否是新業(yè)務(wù)類(lèi)別,若是,進(jìn)入步驟S2,否則進(jìn)入步驟S4 ; S2:根據(jù)預(yù)設(shè)的類(lèi)別-虛擬機(jī)推薦配置模塊中的記錄,推薦合理的虛擬機(jī)配置; S3:根據(jù)所述虛擬機(jī)配置,隨機(jī)選擇資源池中一未被配置使用的物理機(jī)資源進(jìn)行配置;完成后,更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度模塊中的信息記錄,方法結(jié)束; S4:進(jìn)入用戶資源調(diào)度記錄模塊,獲取該業(yè)務(wù)類(lèi)別下已有用戶資源歷史調(diào)度信息記錄,獲得該業(yè)務(wù)類(lèi)別下所有用戶的“平均”配置信息詳單,作為向該用戶推薦的配置詳單,記為:[C,M],其中C和M分別代表CPU資源和內(nèi)存資源; S5:根據(jù)所述用戶資源調(diào)度記錄模塊記錄的信息,分別獲取與該業(yè)務(wù)相關(guān)的物理機(jī)CPU資源隊(duì)列Pc={cl,c2,,-cn}和與該業(yè)務(wù)相關(guān)的物理機(jī)內(nèi)存資源隊(duì)列Pm= {ml,m2,…,mn},其中ci和mi分別表示標(biāo)號(hào)為i的物理機(jī)上剩余的CPU資源和內(nèi)存資源,其中i=l,2,......,?。?; S6:針對(duì)步驟S5得到的隊(duì)列Pc調(diào)用權(quán)利要求1所述方法進(jìn)行處理,判斷獲取CPU資源最優(yōu)物理機(jī)隊(duì)列是否成功;若是,則得到CPU資源最優(yōu)物理機(jī)隊(duì)列,記為D ;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將記錄為CPU資源最優(yōu)物理機(jī)隊(duì)列D中;S7:判斷隊(duì)列D中記錄的內(nèi)存資源是否滿足用戶此次調(diào)度請(qǐng)求的內(nèi)存資源值的要求,若是,則表明隊(duì)列D可同時(shí)滿足CPU資源和內(nèi)存資源的分配需求,進(jìn)入步驟S8 ;若否,進(jìn)入步驟S9 ; S8:根據(jù)所述隊(duì)列D記錄的信息配置用戶申請(qǐng)的虛擬機(jī),記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度記錄模塊中的記錄,方法結(jié)束; S9:刪除內(nèi)存資源隊(duì)列Pm與隊(duì)列D中重復(fù)的信息,得一更新后的內(nèi)存資源隊(duì)列Pm’,同時(shí),將所述用戶此次調(diào)度請(qǐng)求的內(nèi)存資源值與隊(duì)列D中記錄的各個(gè)物理機(jī)的剩余內(nèi)存資源之和作差,得到最新的內(nèi)存比較值Ml ; SlO:對(duì)步驟S9中得到的內(nèi)存資源隊(duì)列Pm’調(diào)用權(quán)利要求1所述的方法進(jìn)行處理,其中輸入為內(nèi)存資源隊(duì)列Pm’和所述最新的內(nèi)存比較值Ml,輸出為最優(yōu)的內(nèi)存物理機(jī)優(yōu)化隊(duì)列;判斷獲取最優(yōu)的內(nèi)存物理機(jī)優(yōu)化隊(duì)列是否成功,若是,直接獲取輸出的內(nèi)存物理機(jī)優(yōu)化隊(duì)列;若否,則隨機(jī)從資源池中選擇一未被配置的物理機(jī)資源,并將其記錄為內(nèi)存物理機(jī)優(yōu)化隊(duì)列,記所述內(nèi)存物理機(jī)優(yōu)化隊(duì)列為B ; Sll:根據(jù)所述隊(duì)列D記錄的信息配置用戶申請(qǐng)的CPU和內(nèi)存,根據(jù)所述隊(duì)列B記錄的信息配置用戶申請(qǐng)的內(nèi)存; S12:記錄并更新用戶虛擬機(jī)申請(qǐng)配置信息記錄模塊和用戶資源調(diào)度信息模塊中的信息記錄,方 法結(jié)束。
【文檔編號(hào)】H04L29/06GK103701934SQ201410014417
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2014年1月13日 優(yōu)先權(quán)日:2014年1月13日
【發(fā)明者】于輝, 李新虎, 郭鋒, 劉俊朋, 劉正偉 申請(qǐng)人:浪潮(北京)電子信息產(chǎn)業(yè)有限公司