計算資源分配方法
【專利摘要】本發(fā)明提供了一種計算資源分配方法,其包括以下步驟:步驟一,根據(jù)評估的因素項(xiàng)對任務(wù)請求的各項(xiàng)計算資源進(jìn)行評估,評估的因素項(xiàng)包括計算資源因素和限制因素,判斷評估是否有效,如果評估有效則執(zhí)行步驟二;如果評估無效則執(zhí)行步驟四;步驟二,如果評估有效,按預(yù)分配策略預(yù)分配計算資源,將預(yù)分配成功的計算資源映射加入任務(wù)資源計劃;步驟三,實(shí)際分配計算資源,并根據(jù)任務(wù)資源計劃中的預(yù)分配計算資源映射執(zhí)行任務(wù);步驟四,如果評估無效,給出評估反饋,并將計算資源請求的任務(wù)歸屬于計算池。本發(fā)明計算資源分配方法實(shí)現(xiàn)按需的分配計算資源,確保在計算資源預(yù)分配前對當(dāng)前的集群資源進(jìn)行有效評估,盡早的暴露資源瓶頸。
【專利說明】計算資源分配方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種分配方法,具體地,涉及一種計算資源分配方法。
【背景技術(shù)】
[0002] 云桌面集群的計算資源分配方法在整個集群起著至關(guān)重要作用,其優(yōu)劣直接決定 了整個集群資源的利用率及其下各個服務(wù)器的負(fù)載均衡狀況。
[0003] 目前,現(xiàn)有的技術(shù)中,資源分配方法主要有以下缺陷:
[0004] -、現(xiàn)有的計算資源分配方法主要僅涉及資源方面因素:CPU(中央處理器)、內(nèi) 存,但由于一般的集群管理系統(tǒng)缺少對資源的量化實(shí)時統(tǒng)計,導(dǎo)致無法對集群計算資源進(jìn) 行精確的調(diào)度分配;
[0005] 二、計算資源分配時僅考慮目標(biāo)服務(wù)器中的計算資源是否足夠,若能滿足即將虛 擬機(jī)操作任務(wù)分發(fā)該節(jié)點(diǎn)處理,否則提示"資源不足"導(dǎo)致執(zhí)行失敗,此次任務(wù)就此失敗,只 能等待資源重新調(diào)整滿足后,重新發(fā)起任務(wù),不能實(shí)現(xiàn)按需資源分配;
[0006] 三、任務(wù)由各種原因執(zhí)行失敗后,提供給管理員的提示為簡單的"資源不足",無法 正確的反應(yīng)計算資源分配過程中的瓶頸所在,不利于管理員后續(xù)資源的擴(kuò)充或策略調(diào)整等 行為。
【發(fā)明內(nèi)容】
[0007] 針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種計算資源分配方法,其實(shí)現(xiàn)按 需的分配計算資源,確保在計算資源預(yù)分配前對當(dāng)前的集群資源進(jìn)行有效評估,盡早的暴 露資源瓶頸。
[0008] 根據(jù)本發(fā)明的一個方面,提供一種計算資源分配方法,其特征在于,其包括以下步 驟:
[0009] 步驟一,根據(jù)評估的因素項(xiàng)對任務(wù)請求的各項(xiàng)計算資源進(jìn)行評估,判斷評估是否 有效,如果評估有效則執(zhí)行步驟二;如果評估無效則執(zhí)行步驟四;
[0010] 步驟二,如果評估有效,按預(yù)分配策略預(yù)分配計算資源,將預(yù)分配成功的計算資源 映射加入任務(wù)資源計劃;
[0011] 步驟三,實(shí)際分配計算資源,并根據(jù)任務(wù)資源計劃中的預(yù)分配計算資源映射執(zhí)行 任務(wù);
[0012] 步驟四,如果評估無效,給出評估反饋,并將計算資源請求的任務(wù)歸屬于計算池。
[0013] 優(yōu)選地,所述步驟一包括以下步驟:步驟十一,根據(jù)操作用戶對各個服務(wù)器的權(quán) 限,獲取可用服務(wù)器的可分配計算資源量;步驟十二,根據(jù)用戶請求獲取各個計算資源的評 估的因素項(xiàng)進(jìn)行評估,判斷評估是否有效,如果評估有效則執(zhí)行步驟二;如果評估無效則執(zhí) 行步驟四。
[0014] 優(yōu)選地,所述步驟二包括以下步驟:步驟二十一,獲取現(xiàn)有各個服務(wù)器的計算資源 的使用分布情況,以及已被預(yù)分配凍結(jié)的計算資源,通過預(yù)分配策略計算各個服務(wù)器權(quán)重; 步驟二十二,根據(jù)各個服務(wù)器權(quán)重進(jìn)行服務(wù)器的計算資源預(yù)分配,并實(shí)時更新權(quán)重表;步驟 二十三,凍結(jié)此部分預(yù)分配的計算資源,并更新至預(yù)分配資源表,同時生成任務(wù)資源計劃, 將預(yù)分配成功的計算資源映射加入任務(wù)資源計劃,并向下分發(fā)。
[0015] 優(yōu)選地,所述步驟二十一是利用集群資源統(tǒng)計方式獲取現(xiàn)有各個服務(wù)器的計算資 源的使用分布情況,利用預(yù)分配資源表獲取各個服務(wù)器被預(yù)分配凍結(jié)的計算資源。
[0016] 優(yōu)選地,所述任務(wù)資源計劃中包括各個目標(biāo)服務(wù)器以及所預(yù)分配給任務(wù)的計算資 源,預(yù)分配的計算資源在該任務(wù)結(jié)束之前僅能由該任務(wù)占用。
[0017] 優(yōu)選地,所述步驟三包括以下步驟:步驟三十一,根據(jù)任務(wù)資源計劃中的預(yù)分配計 算資源映射執(zhí)行任務(wù),判斷任務(wù)是否執(zhí)行成功;步驟三十二,如果任務(wù)執(zhí)行成功,并實(shí)際占 用計算資源,即實(shí)際分配計算資源,更新預(yù)分配資源表相應(yīng)資源由凍結(jié)至實(shí)際占用;步驟 三十三,如果任務(wù)執(zhí)行失敗,進(jìn)行回滾并釋放預(yù)分配的計算資源。
[0018] 優(yōu)選地,所述步驟四包括以下步驟:步驟四i^一,如果計算資源評估無效,反饋計 算資源瓶頸或未成功分配計算資源的實(shí)體的信息;步驟四十二,將未能成功預(yù)分配計算資 源的請求轉(zhuǎn)至計算池下,在計算池下執(zhí)行任務(wù),判斷請求任務(wù)是否成功;步驟四十三,如果 請求任務(wù)成功,則未占用資源;步驟四十四,如果請求任務(wù)失敗,則進(jìn)行回滾。
[0019] 優(yōu)選地,所述評估的因素項(xiàng)包括計算資源因素和限制因素。
[0020] 優(yōu)選地,所述限制因素包括參數(shù)限制和權(quán)限限制。
[0021] 優(yōu)選地,所述預(yù)分配策略為可指定的用于各個服務(wù)器分配計算資源的策略。
[0022] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:一,本發(fā)明在計算資源分配前增加 對目標(biāo)服務(wù)器的資源評估,評估項(xiàng)可擴(kuò)展,且給出正確詳細(xì)的評估反饋。二,本發(fā)明通過預(yù) 分配計算資源,避免相同資源被重復(fù)分配。三,本發(fā)明可以按策略預(yù)分配,配置策略可以靈 活應(yīng)對不同環(huán)境。四,當(dāng)預(yù)分配資源不足夠時,本發(fā)明可實(shí)現(xiàn)計算池下按需的分配計算資 源。
【專利附圖】
【附圖說明】
[0023] 通過閱讀參照以下附圖對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、 目的和優(yōu)點(diǎn)將會變得更明顯:
[0024] 圖1為本發(fā)明計算資源分配方法的流程圖。
[0025] 圖2為本發(fā)明中步驟一的具體流程圖。
[0026] 圖3為本發(fā)明中步驟二的具體流程圖。
[0027] 圖4為本發(fā)明中步驟三的具體流程圖。
[0028] 圖5為本發(fā)明中步驟四的具體流程圖。
【具體實(shí)施方式】
[0029] 下面結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù) 人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù) 人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn)。這些都屬于本發(fā)明 的保護(hù)范圍。
[0030] 如圖1所示,本發(fā)明計算資源分配方法包括以下步驟:
[0031] 步驟一,根據(jù)評估的因素項(xiàng)對任務(wù)請求的各項(xiàng)計算資源進(jìn)行評估,評估的因素項(xiàng) 包括計算資源因素(比如CPU、內(nèi)存等資源因素)和限制因素,判斷評估是否有效,如果評估 有效則執(zhí)行步驟二;如果評估無效則執(zhí)行步驟四;限制因素包括參數(shù)限制(例如:服務(wù)器最 大虛擬機(jī)數(shù))、權(quán)限限制(如請求任務(wù)的用戶對某服務(wù)器無操作權(quán)限,則不能使用該服務(wù)器 的資源)等;
[0032] 步驟二,如果評估有效,按預(yù)分配策略預(yù)分配計算資源;
[0033] 步驟三,實(shí)際分配計算資源,將預(yù)分配成功的計算資源映射加入任務(wù)資源計劃并 執(zhí)行任務(wù);比如,如果是批量操作時,允許部分虛擬機(jī)分配成功;
[0034] 步驟四,如果評估無效,給出評估反饋,并將計算資源請求的任務(wù)歸屬于計算池。
[0035] 其中,預(yù)分配策略為可指定的用于各個服務(wù)器分配計算資源的策略,如:默認(rèn)使用 均衡分配策略(各個服務(wù)器的權(quán)重于其嘗試分配資源次數(shù)成反比,即嘗試次數(shù)越多,其權(quán) 限越低),若已知第一服務(wù)器A、第二服務(wù)器B且假設(shè)兩臺服務(wù)器都可以滿足兩臺虛擬機(jī)的 計算資源請求,現(xiàn)有兩臺虛擬機(jī)請求計算資源,則第一服務(wù)器A、第二服務(wù)器B上各預(yù)分配 一臺虛擬機(jī)所需的計算資源。
[0036] 如圖2所示,所述步驟一包括以下步驟:步驟十一,根據(jù)操作用戶對各個服務(wù)器的 權(quán)限,獲取可用服務(wù)器的可分配計算資源量;步驟十二,根據(jù)用戶請求獲取各個計算資源的 評估的因素項(xiàng)進(jìn)行評估,判斷評估是否有效,如果有效則執(zhí)行步驟二;如果無效則執(zhí)行步驟 四。其中,步驟十一具體包括以下步驟:在集群下注冊物理主機(jī)為各個服務(wù)器并加入集群下 的計算池中;配置服務(wù)器的各項(xiàng)系統(tǒng)參數(shù),包括資源虛擬化參數(shù)、資源限制參數(shù);通過虛擬 化參數(shù)換算物理主機(jī)所持有的計算資源成虛擬化資源,并存儲于計算池的資源統(tǒng)計表中, 在資源統(tǒng)計示圖中展現(xiàn);安全管理員為當(dāng)前用戶分配對象權(quán)限,限制當(dāng)前用戶能操作的服 務(wù)器等資源的權(quán)限;當(dāng)前用戶自定義任務(wù)配置(比如,虛擬機(jī)配制),并向任務(wù)調(diào)度管理平 臺發(fā)出任務(wù)請求(比如創(chuàng)建虛擬機(jī)請求);任務(wù)調(diào)度管理平臺處理該任務(wù)請求,從資源統(tǒng)計 表中獲取實(shí)時的計算資源分配情況,作為計算資源評估的依據(jù);從用戶請求中抽取出計算 資源的最小請求量,并且通過用戶權(quán)限獲取可用服務(wù)器的可分配計算資源量,同時結(jié)合對 象參數(shù)限制初始化評估的因素項(xiàng)。步驟十二具體是根據(jù)用戶請求獲取各個計算資源的最小 請求量以及對象參數(shù)限制等評估的因素項(xiàng)進(jìn)行評估。例如,創(chuàng)建虛擬機(jī)的評估的因素項(xiàng)包 括CPU、服務(wù)器在線狀態(tài)、服務(wù)器最大虛擬機(jī)參數(shù)限制。
[0037] 如圖3所示,所述步驟二包括以下步驟:步驟二十一,獲取現(xiàn)有各個服務(wù)器的計算 資源的使用分布情況,以及已被預(yù)分配凍結(jié)的計算資源,并且從用戶請求中提取預(yù)分配策 略,通過預(yù)分配策略計算各個服務(wù)器分配權(quán)重;步驟二十二,根據(jù)各個服務(wù)器分配權(quán)重進(jìn) 行服務(wù)器的計算資源預(yù)分配,并實(shí)時更新權(quán)重表;步驟二十三,凍結(jié)此部分預(yù)分配的計算資 源,并更新至預(yù)分配資源表,同時生成任務(wù)資源計劃,將預(yù)分配成功的計算資源映射加入任 務(wù)資源計劃,并向下分發(fā)。步驟二十一是利用集群資源統(tǒng)計方式獲取現(xiàn)有各個服務(wù)器的計 算資源的使用分布情況,利用預(yù)分配資源表獲取各個服務(wù)器被預(yù)分配凍結(jié)的計算資源,這 樣可以精確的對集群進(jìn)行計算資源的分配。任務(wù)資源計劃中包括各個目標(biāo)服務(wù)器以及所預(yù) 分配給任務(wù)的計算資源,預(yù)分配的計算資源在該任務(wù)結(jié)束之前僅能由該任務(wù)占用。其中,集 群資源統(tǒng)計方式是通過對集群下各個物理服務(wù)器的資源進(jìn)行實(shí)時監(jiān)控,并將監(jiān)控的結(jié)果進(jìn) 行統(tǒng)計量化,最終反應(yīng)出各服務(wù)器的資源使用情況。
[0038] 如圖4所示,所述步驟三包括以下步驟:步驟三十一,根據(jù)任務(wù)資源計劃中的預(yù)分 配計算資源映射執(zhí)行任務(wù)(比如,任務(wù)調(diào)度管理平臺根據(jù)計算資源預(yù)分配成功后的任務(wù)資 源計劃向各個目標(biāo)服務(wù)器發(fā)送物理創(chuàng)建虛擬機(jī)任務(wù)請求),判斷任務(wù)是否執(zhí)行成功;步驟 三十二,如果任務(wù)執(zhí)行成功,并實(shí)際占用計算資源,即實(shí)際分配計算資源,更新預(yù)分配資源 表相應(yīng)資源由凍結(jié)至實(shí)際占用;步驟三十三,如果任務(wù)執(zhí)行失敗,進(jìn)行回滾并釋放預(yù)分配的 計算資源(即歸還預(yù)分配的計算資源)。
[0039] 如圖5所示,所述步驟四包括以下步驟:步驟四十一,如果計算資源評估無效,反 饋計算資源瓶頸或未成功分配計算資源的實(shí)體(虛擬機(jī))的信息;步驟四十二,將未能成功 預(yù)分配計算資源的請求轉(zhuǎn)至計算池下,在計算池下執(zhí)行請求任務(wù)(比如,在計算池下創(chuàng)建 虛擬機(jī)實(shí)例),判斷請求任務(wù)是否成功;步驟四十三,如果請求任務(wù)成功(比如,虛擬機(jī)實(shí)例 創(chuàng)建成功),則未占用資源;步驟四十四,如果請求任務(wù)失?。ū热缣摂M機(jī)實(shí)例創(chuàng)建失敗), 則進(jìn)行回滾。其中,虛擬機(jī)實(shí)例為關(guān)閉狀態(tài)時,若需啟動則需選擇一臺計算資源足夠的服務(wù) 器作為宿主。例如,依次對虛擬機(jī)的各個評估的因素項(xiàng)檢查,若有不滿足的則評估無效,給 出反饋。如:若CPU數(shù)量不足,則反饋資源瓶頸為CPU數(shù)量,并分別顯示請求資源數(shù)量以及 實(shí)際可分配的資源數(shù)。同時將虛擬機(jī)直接創(chuàng)建于計算池下,等待服務(wù)器資源足夠時,再選擇 服務(wù)器占用計算資源。
[0040] 本發(fā)明具有如下的特點(diǎn):
[0041] 一,利用集群資源統(tǒng)計方式獲取實(shí)時的集群計算資源使用情況,在資源分配前產(chǎn) 生當(dāng)前集群的計算資源的使用分布情況,從而精確的對集群進(jìn)行計算資源的分配。
[0042] 二,計算資源分配中首先對任務(wù)請求的各項(xiàng)資源進(jìn)行評估,評估的因素項(xiàng)除了計 算資源因素(CPU、內(nèi)存),還包括一些限制因素,比如參數(shù)限制(例如:服務(wù)器最大虛擬機(jī) 數(shù))、權(quán)限限制(如請求任務(wù)的用戶對某服務(wù)器無操作權(quán)限,則不能使用該服務(wù)器的資源) 等,這些評估項(xiàng)可根據(jù)需要擴(kuò)展,這樣就確保在計算資源預(yù)分配前對當(dāng)前的集群資源進(jìn)行 有效評估,盡早的暴露資源瓶頸。
[0043] 三,若計算資源評估有效后,計算資源分配方法按照策略分配資源并產(chǎn)生任務(wù)資 源計劃,任務(wù)資源計劃中包括各個目標(biāo)服務(wù)器以及所預(yù)分配給任務(wù)的資源,預(yù)分配的計算 資源在該任務(wù)結(jié)束之前僅能該任務(wù)占用,從而杜絕了資源分配到實(shí)際占用的時間差導(dǎo)致的 任務(wù)執(zhí)行失敗的隱患。
[0044] 四,若計算資源評估失效后,即計算池下的所有服務(wù)器無足夠的資源進(jìn)行預(yù)分配, 此時將該任務(wù)的資源請求分配至計算池下,不影響任務(wù)的繼續(xù)執(zhí)行,即該任務(wù)產(chǎn)生的虛擬 機(jī)實(shí)例歸屬于計算池,實(shí)際并未占用計算資源。當(dāng)計算池下的服務(wù)器有足夠的資源容納該 虛擬機(jī),且需要該虛擬機(jī)占用計算資源(如啟動虛擬機(jī)),則選擇可用資源的服務(wù)器當(dāng)作宿 主運(yùn)行虛擬機(jī)。同時若服務(wù)器下某些虛擬機(jī)已經(jīng)停機(jī),則此時這些虛擬機(jī)可以從服務(wù)器遷 出至計算池下,釋放其實(shí)際占用的計算資源,如此便實(shí)現(xiàn)了按需的計算資源分配。
[0045] 以上對本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述 特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影 響本發(fā)明的實(shí)質(zhì)內(nèi)容。
【權(quán)利要求】
1. 一種計算資源分配方法,其特征在于,其包括以下步驟: 步驟一,根據(jù)評估的因素項(xiàng)對任務(wù)請求的各項(xiàng)計算資源進(jìn)行評估,判斷評估是否有效, 如果評估有效則執(zhí)行步驟二;如果評估無效則執(zhí)行步驟四; 步驟二,如果評估有效,按預(yù)分配策略預(yù)分配計算資源,將預(yù)分配成功的計算資源映射 加入任務(wù)資源計劃; 步驟三,實(shí)際分配計算資源,并根據(jù)任務(wù)資源計劃中的預(yù)分配計算資源映射執(zhí)行任 務(wù); 步驟四,如果評估無效,給出評估反饋,并將計算資源請求的任務(wù)歸屬于計算池。
2. 根據(jù)權(quán)利要求1所述的計算資源分配方法,其特征在于,所述步驟一包括以下步驟: 步驟十一,根據(jù)操作用戶對各個服務(wù)器的權(quán)限,獲取可用服務(wù)器的可分配計算資源 量; 步驟十二,根據(jù)用戶請求獲取各個計算資源的評估的因素項(xiàng)進(jìn)行評估,判斷評估是否 有效,如果評估有效則執(zhí)行步驟二;如果評估無效則執(zhí)行步驟四。
3. 根據(jù)權(quán)利要求2所述的計算資源分配方法,其特征在于,所述步驟二包括以下步驟: 步驟二十一,獲取現(xiàn)有各個服務(wù)器的計算資源的使用分布情況,以及已被預(yù)分配凍結(jié) 的計算資源,通過預(yù)分配策略計算各個服務(wù)器權(quán)重; 步驟二十二,根據(jù)各個服務(wù)器權(quán)重進(jìn)行服務(wù)器的計算資源預(yù)分配,并實(shí)時更新權(quán)重 表; 步驟二十三,凍結(jié)此部分預(yù)分配的計算資源,并更新至預(yù)分配資源表,同時生成任務(wù)資 源計劃,將預(yù)分配成功的計算資源映射加入任務(wù)資源計劃,并向下分發(fā)。
4. 根據(jù)權(quán)利要求3所述的計算資源分配方法,其特征在于,所述步驟二十一是利用集 群資源統(tǒng)計方式獲取現(xiàn)有各個服務(wù)器的計算資源的使用分布情況,利用預(yù)分配資源表獲取 各個服務(wù)器被預(yù)分配凍結(jié)的計算資源。
5. 根據(jù)權(quán)利要求3所述的計算資源分配方法,其特征在于,所述任務(wù)資源計劃中包括 各個目標(biāo)服務(wù)器以及所預(yù)分配給任務(wù)的計算資源,預(yù)分配的計算資源在該任務(wù)結(jié)束之前僅 能由該任務(wù)占用。
6. 根據(jù)權(quán)利要求3所述的計算資源分配方法,其特征在于,所述步驟三包括以下步驟: 步驟三十一,根據(jù)任務(wù)資源計劃中的預(yù)分配計算資源映射執(zhí)行任務(wù),判斷任務(wù)是否執(zhí)行成 功;步驟三十二,如果任務(wù)執(zhí)行成功,并實(shí)際占用計算資源,即實(shí)際分配計算資源,更新預(yù)分 配資源表相應(yīng)資源由凍結(jié)至實(shí)際占用;步驟三十三,如果任務(wù)執(zhí)行失敗,進(jìn)行回滾并釋放預(yù) 分配的計算資源。
7. 根據(jù)權(quán)利要求6所述的計算資源分配方法,其特征在于,所述步驟四包括以下步驟: 步驟四十一,如果計算資源評估無效,反饋計算資源瓶頸或未成功分配計算資源的實(shí)體的 信息;步驟四十二,將未能成功預(yù)分配計算資源的請求轉(zhuǎn)至計算池下,在計算池下執(zhí)行任 務(wù),判斷請求任務(wù)是否成功;步驟四十三,如果請求任務(wù)成功,則未占用資源;步驟四十四, 如果請求任務(wù)失敗,則進(jìn)行回滾。
8. 根據(jù)權(quán)利要求1所述的計算資源分配方法,其特征在于,所述評估的因素項(xiàng)包括計 算資源因素和限制因素。
9. 根據(jù)權(quán)利要求8所述的計算資源分配方法,其特征在于,所述限制因素包括參數(shù)限 制和權(quán)限限制。
10.根據(jù)權(quán)利要求1所述的計算資源分配方法,其特征在于,所述預(yù)分配策略為可指定 的用于各個服務(wù)器分配計算資源的策略。
【文檔編號】H04L29/08GK104158841SQ201410326067
【公開日】2014年11月19日 申請日期:2014年7月9日 優(yōu)先權(quán)日:2014年7月9日
【發(fā)明者】丁帆, 謝朝陽, 朱宏濤, 張鋼, 尹道明, 丁星, 武靜 申請人:中電科華云信息技術(shù)有限公司