本發(fā)明涉及資源分配技術(shù)領(lǐng)域,特別是涉及一種系統(tǒng)資源部署策略的獲取方法、裝置及電子設(shè)備。
背景技術(shù):
單機(jī)多實(shí)例的資源部署,是指在一臺物理機(jī)上部署多個消耗資源的實(shí)例,例如,在mysql集群中,在每臺物理機(jī)上部署多個mysql實(shí)例,分配給不同的業(yè)務(wù)人員使用;在mongodb集群中,在每臺物理機(jī)上部署多個mongodb實(shí)例,分配給不同的業(yè)務(wù)人員使用。
目前,在單機(jī)多實(shí)例的資源部署場景中,想要將實(shí)例部署到系統(tǒng)中的某一臺物理機(jī),需要運(yùn)維人員對物理機(jī)當(dāng)前的cpu、內(nèi)存、網(wǎng)絡(luò)、磁盤等資源的使用情況進(jìn)行綜合考量來確定一臺物理機(jī)部署實(shí)例。
當(dāng)集群中有大量物理機(jī)時,運(yùn)維人員通常根據(jù)收到的業(yè)務(wù)資源請求中的資源需求,以及個人的歷史經(jīng)驗(yàn),并綜合考慮大量物理機(jī)當(dāng)前的資源使用情況,憑借自己的主觀判斷來選擇合適的物理機(jī)來完成系統(tǒng)資源部署,選擇合適的物理機(jī)可稱為一個部署策略?,F(xiàn)有技術(shù)中,由于是人工選擇部署策略,因此所選擇的部署策略的可靠性較低。因此,亟需提供一種客觀的、可靠性較高的系統(tǒng)資源部署策略的獲取方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種系統(tǒng)資源部署策略的獲取方法、裝置及電子設(shè)備,以解決現(xiàn)有技術(shù)中人工選擇部署策略所導(dǎo)致的部署策略可靠性較低的問題。具體技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提供了一種系統(tǒng)資源部署策略的獲取方法,包括:
接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求;
獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;
獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略;
從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略;
根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率;
判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值;
若判斷結(jié)果為否,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;
若判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略;
判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;
當(dāng)所述候選資源部署策略的數(shù)量未達(dá)到所述預(yù)設(shè)數(shù)值時,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;
當(dāng)所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略;
如上所述的方法,其中,所述根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率,包括:
判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù);
若未達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求;所述業(yè)務(wù)資源請求采樣序列是根據(jù)所述當(dāng)前系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個可行部署策略時,根據(jù)預(yù)存的歷史業(yè)務(wù)資源請求記錄生成的;
將所述第二業(yè)務(wù)資源請求確定為當(dāng)前業(yè)務(wù)資源請求;
根據(jù)所述第一當(dāng)前可行部署策略,將系統(tǒng)中各物理機(jī)的第二資源使用狀態(tài)信息確定為第二系統(tǒng)資源使用狀態(tài)信息;
根據(jù)所述第二系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中是否存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個第二可行部署策略;
若存在所述至少一個第二可行部署策略,記錄所述第一當(dāng)前可行部署策略的部署次數(shù),從所述至少一個第二可行部署策略中選擇一個未選擇過的第二可行部署策略確定為第二當(dāng)前可行部署策略;
判斷是否達(dá)到預(yù)設(shè)連續(xù)部署次數(shù);
若未達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求的步驟;
若達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;
若不存在所述至少一個第二可行部署策略,返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;
若達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),將記錄的所述第一當(dāng)前可行部署策略的部署次數(shù)確定為所述第一當(dāng)前可行部署策略的模擬計(jì)算成功次數(shù);
根據(jù)所述第一當(dāng)前可行部署策略的所述模擬計(jì)算成功次數(shù)以及所述預(yù)設(shè)模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率。
如上所述的方法,其中,所述當(dāng)所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略,包括:
若所述預(yù)設(shè)數(shù)值為1,直接將所述候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略;
若所述預(yù)設(shè)數(shù)值大于1,則輸出所述候選資源部署策略;接收選擇指令,將所述選擇指令對應(yīng)的候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略。
如上所述的方法,其中,所述接收待部署業(yè)務(wù)的業(yè)務(wù)資源請求之后,還包括:
將所述業(yè)務(wù)資源請求記錄至所述歷史業(yè)務(wù)資源請求記錄中。
如上所述的方法,其中,所述業(yè)務(wù)資源請求采樣序列中包含的采樣業(yè)務(wù)資源請求數(shù)量為:所述預(yù)設(shè)模擬計(jì)算次數(shù)與所述預(yù)設(shè)連續(xù)部署次數(shù)的乘積。
第二方面,本發(fā)明實(shí)施例提供了一種系統(tǒng)資源部署策略的獲取裝置,包括:
接收模塊,用于接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求;
獲取模塊,用于獲取系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;
第一獲取模塊,用于獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;
第二獲取模塊,用于獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略;
選擇模塊,用于從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略;
計(jì)算記錄模塊,用于根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率;
第一判斷模塊,用于判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值;
第一觸發(fā)模塊,用于若所述第一判斷模塊的判斷結(jié)果為否,觸發(fā)所述選擇模塊;
第一確定模塊,用于若所述第一判斷模塊的判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略;
第二判斷模塊,用于判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;
第二確定模塊,用于當(dāng)所述第二判斷模塊判斷所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略;
第二觸發(fā)模塊,用于當(dāng)所述第二判斷模塊判斷所述候選資源部署策略的數(shù)量未達(dá)到所述預(yù)設(shè)數(shù)值時,觸發(fā)所述選擇模塊。
如上所述的裝置,其中,所述計(jì)算記錄模塊具體用于:
判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù);
若未達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求;所述業(yè)務(wù)資源請求采樣序列是根據(jù)所述當(dāng)前系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個可行部署策略時,根據(jù)預(yù)存的歷史業(yè)務(wù)資源請求記錄生成的;
將所述第二業(yè)務(wù)資源請求確定為當(dāng)前業(yè)務(wù)資源請求;
根據(jù)所述第一當(dāng)前可行部署策略,將系統(tǒng)中各物理機(jī)的第二資源使用狀態(tài)信息確定為第二系統(tǒng)資源使用狀態(tài)信息;
根據(jù)所述第二系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中是否存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個第二可行部署策略;
若存在所述至少一個第二可行部署策略,記錄所述第一當(dāng)前可行部署策略的部署次數(shù),從所述至少一個第二可行部署策略中選擇一個未選擇過的第二可行部署策略確定為第二當(dāng)前可行部署策略;
判斷是否達(dá)到預(yù)設(shè)連續(xù)部署次數(shù);
若未達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求的步驟;
若達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;
若不存在所述至少一個第二可行部署策略,返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;
若達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),將記錄的所述第一當(dāng)前可行部署策略的部署次數(shù)確定為所述第一當(dāng)前可行部署策略的模擬計(jì)算成功次數(shù);
根據(jù)所述第一當(dāng)前可行部署策略的所述模擬計(jì)算成功次數(shù)以及所述預(yù)設(shè)模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率。
如上所述的裝置,其中,所述第二確定模塊具體用于:
若所述預(yù)設(shè)數(shù)值為1,直接將所述候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略;
若所述預(yù)設(shè)數(shù)值大于1,則輸出所述候選資源部署策略;接收選擇指令,將所述選擇指令對應(yīng)的候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略。
如上所述的裝置,其中,還包括:
記錄模塊,用于將所述業(yè)務(wù)資源請求記錄至所述歷史業(yè)務(wù)資源請求記錄中。
如上所述的裝置,其中,所述業(yè)務(wù)資源請求采樣序列中包含的采樣業(yè)務(wù)資源請求數(shù)量為:所述預(yù)設(shè)模擬計(jì)算次數(shù)與所述預(yù)設(shè)連續(xù)部署次數(shù)的乘積。
第三方面,本發(fā)明實(shí)施例提供了一種電子設(shè)備,包括處理器、通信接口、存儲器和通信總線,其中,處理器,通信接口,存儲器通過通信總線完成相互間的通信;
存儲器,用于存放計(jì)算機(jī)程序;
處理器,用于執(zhí)行存儲器上所存放的程序時,實(shí)現(xiàn)本發(fā)明實(shí)施例第一方面的任意一種方法步驟。
第四方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)中存儲有指令,當(dāng)其在計(jì)算機(jī)上運(yùn)行時,使得計(jì)算機(jī)執(zhí)行上述任一所述的系統(tǒng)資源部署策略的獲取方法。
第五方面,本發(fā)明實(shí)施例還提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時,使得計(jì)算機(jī)執(zhí)行上述任一所述的系統(tǒng)資源部署策略的獲取方法。
本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法、裝置及電子設(shè)備,接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求;獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略;從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略;根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率;判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值;若判斷結(jié)果為否,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;若判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略;判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;當(dāng)所述候選資源部署策略的數(shù)量未達(dá)到所述預(yù)設(shè)數(shù)值時,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;當(dāng)所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略??梢姡诮邮盏降谝粯I(yè)務(wù)資源請求后,通過大量的模擬計(jì)算,最終確定出可靠性較高的系統(tǒng)資源部署策略。當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法的流程示意圖;
圖2為圖1所示實(shí)施例中步驟105的具體流程示意圖;
圖3為本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例的電子設(shè)備的示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
首先需要說明的是,在接收到待部署業(yè)務(wù)的業(yè)務(wù)資源請求后,可以先根據(jù)業(yè)務(wù)資源請求中的標(biāo)簽判斷待部署業(yè)務(wù)是否是重要業(yè)務(wù),若待部署業(yè)務(wù)是重要業(yè)務(wù),則選擇一臺新的物理機(jī)部署業(yè)務(wù)資源請求,若待部署業(yè)務(wù)是普通業(yè)務(wù),則使用本發(fā)明實(shí)施例提供的方法確定業(yè)務(wù)資源請求的部署策略。
在部署普通業(yè)務(wù)資源請求時,通常希望能夠?qū)⒈M可能多的業(yè)務(wù)資源請求部署至系統(tǒng)中現(xiàn)有的物理機(jī)上,由于對已部署業(yè)務(wù)的遷移通常負(fù)擔(dān)都比較大,還有可能會影響業(yè)務(wù)運(yùn)行的穩(wěn)定,因此需要盡可能避免對已部署業(yè)務(wù)進(jìn)行遷移。因此,對一種系統(tǒng)資源部署策略優(yōu)劣的衡量方法,是可以在不遷移現(xiàn)有已部署業(yè)務(wù)資源的情況下,能夠保證當(dāng)前系統(tǒng)在不擴(kuò)容的前提下盡可能多的部署新的業(yè)務(wù)資源請求。
下面對本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法進(jìn)行詳細(xì)說明。
圖1為本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法的流程示意圖。如圖1所示,本實(shí)施例提供的方法可由系統(tǒng)資源部署策略的獲取裝置執(zhí)行,具體的,本實(shí)施例提供的方法可以包括:
步驟101、接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求。
所述第一業(yè)務(wù)資源請求中可以包含所述待部署業(yè)務(wù)所需cpu占用率、內(nèi)存占用率等信息。例如,對于計(jì)算操作,所述第一業(yè)務(wù)資源請求中可以包含所需的內(nèi)存占用率信息,對于查詢操作,所述第一業(yè)務(wù)資源請求中可以同時包含cpu占用率、內(nèi)存占用率等信息。
進(jìn)一步的,在接收到所述第一業(yè)務(wù)資源請求之后,所述系統(tǒng)資源部署策略的獲取裝置可以將所述業(yè)務(wù)資源請求記錄至所述歷史業(yè)務(wù)資源請求記錄中,以便于在以后的模擬計(jì)算過程中生成所述業(yè)務(wù)資源請求采樣序列。
步驟102、獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息。
所述第一資源使用狀態(tài)信息具體可以包括各物理機(jī)的cpu使用率、內(nèi)存使用率、磁盤空余容量和網(wǎng)絡(luò)流量大小等信息。
步驟103、獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略。
具體的,在接收到待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求并確定第一系統(tǒng)資源使用狀態(tài)信息(即各物理機(jī)的cpu使用率、內(nèi)存使用率、磁盤空余容量和網(wǎng)絡(luò)流量大小)后,對于單個物理機(jī)而言,當(dāng)上述狀態(tài)信息中的所有參量值均不超過其對應(yīng)預(yù)設(shè)上限值時,該物理機(jī)的狀態(tài)信息才滿足資源限制條件,此時判斷為所述系統(tǒng)中存在能夠滿足所述第一業(yè)務(wù)資源請求的至少一個可部署物理機(jī),并將所述至少一個可部署物理機(jī)確定為所述至少一個第一可行部署策略。
可以理解的是,若判斷系統(tǒng)中不存在滿足所述第一業(yè)務(wù)資源請求的至少一個第一可行部署策略時,則需要通過擴(kuò)展系統(tǒng)容量或?qū)σ巡渴饦I(yè)務(wù)進(jìn)行遷移才能滿足所述第一業(yè)務(wù)資源請求。擴(kuò)容或業(yè)務(wù)遷移均可參照現(xiàn)有技術(shù),在此不再贅述。
步驟104、從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略。
步驟105、根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率。
在本步驟中,具體的,請參照圖2,對于所述第一當(dāng)前可行部署策略,可以執(zhí)行以下步驟:
步驟1051、判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)。
步驟1052、若未達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求;所述業(yè)務(wù)資源請求采樣序列是根據(jù)所述當(dāng)前系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個可行部署策略時,根據(jù)預(yù)存的歷史業(yè)務(wù)資源請求記錄生成的。
需要說明的是,所述業(yè)務(wù)資源請求采樣序列中包含的采樣業(yè)務(wù)資源請求數(shù)量為:所述預(yù)設(shè)模擬計(jì)算次數(shù)與所述預(yù)設(shè)連續(xù)部署次數(shù)的乘積。在模擬計(jì)算過程中,需要遍歷所述業(yè)務(wù)資源請求采樣序列。
步驟1053、將所述第二業(yè)務(wù)資源請求確定為當(dāng)前業(yè)務(wù)資源請求。
步驟1054、根據(jù)所述第一當(dāng)前可行部署策略,將系統(tǒng)中各物理機(jī)的第二資源使用狀態(tài)信息確定為第二系統(tǒng)資源使用狀態(tài)信息。
步驟1055、根據(jù)所述第二系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中是否存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個第二可行部署策略;若不存在所述至少一個第二可行部署策略,返回上述步驟1061。
步驟1056、若存在所述至少一個第二可行部署策略,記錄所述第一當(dāng)前可行部署策略的部署次數(shù),從所述至少一個第二可行部署策略中選擇一個未選擇過的第二可行部署策略確定為第二當(dāng)前可行部署策略。
步驟1057、判斷是否達(dá)到預(yù)設(shè)連續(xù)部署次數(shù);若未達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回上述步驟1052;若達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回上述步驟1061。
步驟1058、若達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),將記錄的所述第一當(dāng)前可行部署策略的部署次數(shù)確定為所述第一當(dāng)前可行部署策略的模擬計(jì)算成功次數(shù)。
步驟1059、根據(jù)所述第一當(dāng)前可行部署策略的所述模擬計(jì)算成功次數(shù)以及所述預(yù)設(shè)模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率。
如圖1所示,步驟106、判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值。
若判斷結(jié)果為否,返回上述步驟104。
步驟107、若判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略。
步驟108、判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值。
若未達(dá)到,返回上述步驟104。
步驟109、當(dāng)所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略。
具體的,實(shí)際應(yīng)用中,若所述預(yù)設(shè)數(shù)值為1,直接將所述候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略;若所述預(yù)設(shè)數(shù)值大于1,則輸出所述候選資源部署策略;接收選擇指令,將所述選擇指令對應(yīng)的候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略。
在應(yīng)用本實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法的過程中,對于第一業(yè)務(wù)資源請求r,假設(shè)系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息為s0={s1(0),s2(0),...,sm(0),...,sm(0)},其中s1(0)至sm(0)為系統(tǒng)中m臺物理機(jī)各自的資源使用狀態(tài)信息;在這種資源使用狀態(tài)下,可以選擇將第一業(yè)務(wù)資源請求r部署至任意一臺物理機(jī),因此共有m種可能的部署策略。
假設(shè)將第一業(yè)務(wù)資源請求r部署至第m臺物理機(jī),由于各種資源都是線性可加的,因此以sm(0)+r表示第m臺物理機(jī)的新的資源使用狀態(tài)。通過判別函數(shù)f(sm(0)+r)判斷,物理機(jī)新的資源使用狀態(tài)是否滿足資源限制條件,即,如果第m臺物理機(jī)新的資源使用狀態(tài)沒有超過第m臺物理機(jī)的最大資源利用率,則確定將第一業(yè)務(wù)資源請求r部署至第m臺物理機(jī)是一個第一可行部署策略;如果有資源使用狀態(tài)超出第m臺物理機(jī)的最大資源利用率,則確定將第一業(yè)務(wù)資源請求r部署至第m臺物理機(jī)不是一個可行的部署策略。如果將所述第一業(yè)務(wù)資源請求r部署至第m臺物理機(jī)是不可行的部署策略,則無需繼續(xù)考慮該部署策略。
可以理解的是,在實(shí)際應(yīng)用中,通常認(rèn)為一個可行部署策略能夠滿足預(yù)設(shè)連續(xù)部署次數(shù)時,就是一個可靠性高的部署策略,因此,在本實(shí)施例中,采用的是深度優(yōu)先搜索算法。
具體的,在判斷存在至少一個第一可行部署策略后,從中選擇一個第一可行部署策略確定為第一當(dāng)前可行部署策略,假設(shè)將所述第一當(dāng)前可行部署策略部署至第m臺物理機(jī)后,系統(tǒng)的資源使用狀態(tài)會發(fā)生變化,獲取第二系統(tǒng)資源使用狀態(tài)后,從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求,并判斷系統(tǒng)是否能夠繼續(xù)滿足第二業(yè)務(wù)資源請求,當(dāng)能夠滿足預(yù)設(shè)連續(xù)部署次數(shù)時,說明第一當(dāng)前可行部署策略在本次模擬計(jì)算過程中可以滿足要求。以上為深度優(yōu)先搜索算法的一次模擬計(jì)算過程,通過大量模擬計(jì)算并記錄模擬計(jì)算成功次數(shù),最終可以獲得所述第一當(dāng)前可行部署策略的連續(xù)成功部署概率,當(dāng)該連續(xù)成功部署概率大于預(yù)設(shè)概率閾值時,則將所述第一當(dāng)前可行部署策略確定為一個候選系統(tǒng)資源部署策略。
對于每一個第一可行部署策略,都采樣深度優(yōu)先模擬算法進(jìn)行模擬計(jì)算,并在獲得預(yù)設(shè)數(shù)量個候選系統(tǒng)資源部署策略后,立即停止模擬計(jì)算,并顯示給用戶。這樣,可以避免對所有情況進(jìn)行遍歷,從而可以快速得到可靠性高的系統(tǒng)資源部署策略。
本實(shí)施例提供的系統(tǒng)資源部署策略的獲取方法,在接收到第一業(yè)務(wù)資源請求后,根據(jù)第一系統(tǒng)資源使用狀態(tài)以及第一業(yè)務(wù)資源請求,通過大量的模擬計(jì)算獲得每個可行部署策略在系統(tǒng)未來不擴(kuò)容、不遷移的情況下連續(xù)成功部署概率,當(dāng)獲得預(yù)設(shè)數(shù)量個連續(xù)成功部署概率大于預(yù)設(shè)概率閾值的可行部署策略時,停止模擬計(jì)算,且將預(yù)設(shè)數(shù)量個可行部署策略作為候選系統(tǒng)資源部署策略,由于候選系統(tǒng)資源部署策略是大量的模擬計(jì)算的結(jié)果,因此與現(xiàn)有技術(shù)由人工選擇部署策略相比,具有較高的可靠性。
圖3為本發(fā)明實(shí)施例提供的系統(tǒng)資源部署策略的獲取裝置的結(jié)構(gòu)示意圖。如圖3所示,本實(shí)施例提供的系統(tǒng)資源部署策略的獲取裝置300具體可以包括:
接收模塊301,用于接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求;
第一獲取模塊302,用于獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;
第二獲取模塊303,用于獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略;
選擇模塊304,用于從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略;
計(jì)算記錄模塊305,用于根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率;
第一判斷模塊306,用于判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值;
第一觸發(fā)模塊307,用于若所述第一判斷模塊306的判斷結(jié)果為否,觸發(fā)所述選擇模塊304;
第一確定模塊308,用于若所述第一判斷模塊306的判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略;
第二判斷模塊309,用于判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;
第二確定模塊310,用于當(dāng)所述第二判斷模塊309判斷所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略;
第二觸發(fā)模塊311,用于當(dāng)所述第二判斷模塊309判斷所述候選資源部署策略的數(shù)量未達(dá)到所述預(yù)設(shè)數(shù)值時,觸發(fā)所述選擇模塊304。
所述計(jì)算記錄模塊305具體用于:判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù);若未達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求;所述業(yè)務(wù)資源請求采樣序列是根據(jù)所述當(dāng)前系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個可行部署策略時,根據(jù)預(yù)存的歷史業(yè)務(wù)資源請求記錄生成的;將所述第二業(yè)務(wù)資源請求確定為當(dāng)前業(yè)務(wù)資源請求;根據(jù)所述第一當(dāng)前可行部署策略,將系統(tǒng)中各物理機(jī)的第二資源使用狀態(tài)信息確定為第二系統(tǒng)資源使用狀態(tài)信息;根據(jù)所述第二系統(tǒng)資源使用狀態(tài)信息,判斷系統(tǒng)中是否存在滿足所述當(dāng)前業(yè)務(wù)資源請求的至少一個第二可行部署策略;若存在所述至少一個第二可行部署策略,記錄所述第一當(dāng)前可行部署策略的部署次數(shù),從所述至少一個第二可行部署策略中選擇一個未選擇過的第二可行部署策略確定為第二當(dāng)前可行部署策略;判斷是否達(dá)到預(yù)設(shè)連續(xù)部署次數(shù);若未達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述從業(yè)務(wù)資源請求采樣序列中獲取第二業(yè)務(wù)資源請求的步驟;若達(dá)到所述預(yù)設(shè)連續(xù)部署次數(shù),返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;若不存在所述至少一個第二可行部署策略,返回所述判斷是否達(dá)到預(yù)設(shè)模擬計(jì)算次數(shù)的步驟;若達(dá)到所述預(yù)設(shè)模擬計(jì)算次數(shù),將記錄的所述第一當(dāng)前可行部署策略的部署次數(shù)確定為所述第一當(dāng)前可行部署策略的模擬計(jì)算成功次數(shù);根據(jù)所述第一當(dāng)前可行部署策略的所述模擬計(jì)算成功次數(shù)以及所述預(yù)設(shè)模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率。
需要說明的是,所述業(yè)務(wù)資源請求采樣序列中包含的采樣業(yè)務(wù)資源請求數(shù)量為:所述預(yù)設(shè)模擬計(jì)算次數(shù)與所述預(yù)設(shè)連續(xù)部署次數(shù)的乘積。
所述第二確定模塊310具體用于:若所述預(yù)設(shè)數(shù)值為1,直接將所述候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略;若所述預(yù)設(shè)數(shù)值大于1,則輸出所述候選資源部署策略;接收選擇指令,將所述選擇指令對應(yīng)的候選資源部署策略確定為所述第一業(yè)務(wù)資源請求對應(yīng)的系統(tǒng)資源部署策略。
進(jìn)一步的,本實(shí)施例提供的裝置還可以包括記錄模塊,用于將所述業(yè)務(wù)資源請求記錄至所述歷史業(yè)務(wù)資源請求記錄中。
本實(shí)施例提供的系統(tǒng)資源部署策略的獲取裝置,可用于執(zhí)行上述方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本發(fā)明實(shí)施例還提供了一種電子設(shè)備,如圖4所示,包括處理器401、通信接口402、存儲器403和通信總線404,其中,處理器401,通信接口402,存儲器403通過通信總線404完成相互間的通信。
存儲器403,用于存放計(jì)算機(jī)程序;
處理器401,用于執(zhí)行存儲器403上所存放的程序,實(shí)現(xiàn)如下步驟:
接收待部署業(yè)務(wù)的第一業(yè)務(wù)資源請求;
獲取第一系統(tǒng)資源使用狀態(tài)信息;所述第一系統(tǒng)資源使用狀態(tài)信息是所述系統(tǒng)中各物理機(jī)的第一資源使用狀態(tài)信息;
獲取所述系統(tǒng)中與所述第一系統(tǒng)資源使用狀態(tài)信息相匹配的至少一個第一可行部署策略;
從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略;
根據(jù)預(yù)設(shè)模擬算法和模擬計(jì)算次數(shù),計(jì)算并記錄所述第一當(dāng)前可行部署策略在模擬計(jì)算過程中滿足預(yù)設(shè)連續(xù)部署次數(shù)的連續(xù)成功部署概率;
判斷所述連續(xù)成功部署概率是否大于預(yù)設(shè)概率閾值;
若判斷結(jié)果為否,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;
若判斷結(jié)果為是,將所述第一當(dāng)前可行部署策略確定為所述待部署業(yè)務(wù)的一個候選資源部署策略;
判斷所述候選資源部署策略的數(shù)量是否達(dá)到預(yù)設(shè)數(shù)值;
當(dāng)所述候選資源部署策略的數(shù)量未達(dá)到所述預(yù)設(shè)數(shù)值時,返回所述從所述至少一個第一可行部署策略中選擇一個未選擇過的可行部署策略確定為第一當(dāng)前可行部署策略的步驟;
當(dāng)所述候選資源部署策略的數(shù)量達(dá)到預(yù)設(shè)數(shù)值時,從所述候選資源部署策略中確定系統(tǒng)資源部署策略。
上述電子設(shè)備提到的通信總線可以是外設(shè)部件互連標(biāo)準(zhǔn)(peripheralcomponentinterconnect,pci)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(extendedindustrystandardarchitecture,eisa)總線等。該通信總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。
通信接口用于上述電子設(shè)備與其他設(shè)備之間的通信。
存儲器可以包括隨機(jī)存取存儲器(randomaccessmemory,ram),也可以包括非易失性存儲器(non-volatilememory,nvm),例如至少一個磁盤存儲器。可選的,存儲器還可以是至少一個位于遠(yuǎn)離前述處理器的存儲裝置。
上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(digitalsignalprocessing,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)場可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
在本發(fā)明提供的又一實(shí)施例中,還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),該計(jì)算機(jī)可讀存儲介質(zhì)中存儲有指令,當(dāng)其在計(jì)算機(jī)上運(yùn)行時,使得計(jì)算機(jī)執(zhí)行上述實(shí)施例中任一所述的系統(tǒng)資源部署策略的獲取方法。
在本發(fā)明提供的又一實(shí)施例中,還提供了一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)其在計(jì)算機(jī)上運(yùn)行時,使得計(jì)算機(jī)執(zhí)行上述實(shí)施例中任一所述的系統(tǒng)資源部署策略的獲取方法。
在上述實(shí)施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時,可以全部或部分地以計(jì)算機(jī)程序產(chǎn)品的形式實(shí)現(xiàn)。所述計(jì)算機(jī)程序產(chǎn)品包括一個或多個計(jì)算機(jī)指令。在計(jì)算機(jī)上加載和執(zhí)行所述計(jì)算機(jī)程序指令時,全部或部分地產(chǎn)生按照本發(fā)明實(shí)施例所述的流程或功能。所述計(jì)算機(jī)可以是通用計(jì)算機(jī)、專用計(jì)算機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)、或者其他可編程裝置。所述計(jì)算機(jī)指令可以存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,或者從一個計(jì)算機(jī)可讀存儲介質(zhì)向另一個計(jì)算機(jī)可讀存儲介質(zhì)傳輸,例如,所述計(jì)算機(jī)指令可以從一個網(wǎng)站站點(diǎn)、計(jì)算機(jī)、服務(wù)器或數(shù)據(jù)中心通過有線(例如同軸電纜、光纖、數(shù)字用戶線(dsl))或無線(例如紅外、無線、微波等)方式向另一個網(wǎng)站站點(diǎn)、計(jì)算機(jī)、服務(wù)器或數(shù)據(jù)中心進(jìn)行傳輸。所述計(jì)算機(jī)可讀存儲介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)或者是包含一個或多個可用介質(zhì)集成的服務(wù)器、數(shù)據(jù)中心等數(shù)據(jù)存儲設(shè)備。所述可用介質(zhì)可以是磁性介質(zhì),(例如,軟盤、硬盤、磁帶)、光介質(zhì)(例如,dvd)、或者半導(dǎo)體介質(zhì)(例如固態(tài)硬盤solidstatedisk(ssd))等。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實(shí)施例均采用相關(guān)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。