本發(fā)明涉及資源管理,尤其涉及基于服務(wù)流量預(yù)測的開源系統(tǒng)資源調(diào)度管理方法及系統(tǒng)。
背景技術(shù):
1、隨著云計(jì)算和分布式系統(tǒng)的快速發(fā)展,開源系統(tǒng)已廣泛應(yīng)用于各類互聯(lián)網(wǎng)服務(wù)和企業(yè)應(yīng)用中。這些開源系統(tǒng)通常由多個(gè)服務(wù)節(jié)點(diǎn)組成,共同提供計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)等資源服務(wù)。在實(shí)際運(yùn)行過程中,各服務(wù)節(jié)點(diǎn)面臨的流量負(fù)載往往呈現(xiàn)出明顯的時(shí)間波動(dòng)性和不均衡性,這對系統(tǒng)資源的高效調(diào)度和管理提出了嚴(yán)峻挑戰(zhàn)。傳統(tǒng)的資源調(diào)度管理方法主要基于靜態(tài)配置或簡單的負(fù)載均衡策略,難以適應(yīng)復(fù)雜多變的服務(wù)流量環(huán)境。
2、現(xiàn)有的資源調(diào)度方法大多依賴于當(dāng)前系統(tǒng)狀態(tài)進(jìn)行決策,缺乏對未來流量變化的預(yù)測能力,導(dǎo)致系統(tǒng)在面對突發(fā)流量時(shí)反應(yīng)滯后,無法提前做好資源準(zhǔn)備,容易造成服務(wù)質(zhì)量下降或資源浪費(fèi)。
3、傳統(tǒng)的負(fù)載均衡算法通常采用固定權(quán)重或簡單的輪詢機(jī)制,未能充分考慮服務(wù)節(jié)點(diǎn)的異構(gòu)性和動(dòng)態(tài)變化特性,難以根據(jù)節(jié)點(diǎn)的實(shí)際計(jì)算能力和當(dāng)前負(fù)載狀況進(jìn)行精細(xì)化的資源分配,降低了系統(tǒng)整體的資源利用效率。
4、現(xiàn)有的資源調(diào)度策略往往缺乏全局優(yōu)化視角,未能同時(shí)兼顧服務(wù)響應(yīng)時(shí)間和資源利用率等多維度指標(biāo),在資源分配決策過程中難以平衡系統(tǒng)性能與資源成本之間的關(guān)系,導(dǎo)致在高負(fù)載情況下系統(tǒng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例提供基于服務(wù)流量預(yù)測的開源系統(tǒng)資源調(diào)度管理方法及系統(tǒng),能夠解決現(xiàn)有技術(shù)中的問題。
2、本發(fā)明實(shí)施例的第一方面,獲取開源系統(tǒng)中各服務(wù)節(jié)點(diǎn)的歷史流量數(shù)據(jù),基于所述歷史流量數(shù)據(jù),構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型,通過所述深度神經(jīng)網(wǎng)絡(luò)模型對各服務(wù)節(jié)點(diǎn)未來時(shí)間窗口內(nèi)的流量進(jìn)行預(yù)測,得到預(yù)測流量數(shù)據(jù);
3、根據(jù)所述預(yù)測流量數(shù)據(jù),結(jié)合各服務(wù)節(jié)點(diǎn)的計(jì)算能力參數(shù),計(jì)算動(dòng)態(tài)權(quán)重系數(shù);
4、實(shí)時(shí)采集開源系統(tǒng)中各服務(wù)節(jié)點(diǎn)的資源狀態(tài)信息,并基于所述資源狀態(tài)信息計(jì)算得到各服務(wù)節(jié)點(diǎn)的資源可用度指標(biāo);
5、將所述動(dòng)態(tài)權(quán)重系數(shù)和所述資源可用度指標(biāo)輸入至改進(jìn)的蟻群算法中,其中:使用所述動(dòng)態(tài)權(quán)重系數(shù)作為蟻群算法的啟發(fā)式信息,使用所述資源可用度指標(biāo)作為路徑選擇的約束條件,通過迭代優(yōu)化過程生成資源分配方案,所述迭代優(yōu)化過程中的信息素更新規(guī)則基于服務(wù)響應(yīng)時(shí)間和資源利用率進(jìn)行動(dòng)態(tài)調(diào)整;
6、根據(jù)所述資源分配方案,生成服務(wù)遷移序列和資源分配指令,按照所述服務(wù)遷移序列的順序執(zhí)行服務(wù)遷移操作,并根據(jù)所述資源分配指令調(diào)整各服務(wù)節(jié)點(diǎn)的資源配置。
7、通過所述深度神經(jīng)網(wǎng)絡(luò)模型對各服務(wù)節(jié)點(diǎn)未來時(shí)間窗口內(nèi)的流量進(jìn)行預(yù)測,得到預(yù)測流量數(shù)據(jù)包括:
8、所述深度神經(jīng)網(wǎng)絡(luò)模型包括:輸入層,用于接收預(yù)處理后的訓(xùn)練數(shù)據(jù);特征提取層,采用一維卷積網(wǎng)絡(luò)提取時(shí)序特征;注意力機(jī)制層,用于計(jì)算不同時(shí)間點(diǎn)的特征權(quán)重;長短時(shí)記憶網(wǎng)絡(luò)層,用于捕獲時(shí)序數(shù)據(jù)的長期依賴關(guān)系;全連接層,用于特征降維和組合;輸出層,輸出預(yù)測結(jié)果;
9、基于所述歷史流量數(shù)據(jù)采用滑動(dòng)時(shí)間窗口方法構(gòu)建訓(xùn)練數(shù)據(jù),通過所述訓(xùn)練數(shù)據(jù)訓(xùn)練所述深度神經(jīng)網(wǎng)絡(luò)模型,使用自適應(yīng)學(xué)習(xí)率的優(yōu)化算法進(jìn)行模型參數(shù)更新,引入早停機(jī)制防止過擬合,并通過交叉驗(yàn)證確定最優(yōu)模型參數(shù);
10、設(shè)定預(yù)測時(shí)間窗口的長度,將所述歷史流量數(shù)據(jù)輸入已訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)模型,通過模型前向傳播得到未來時(shí)間窗口內(nèi)的預(yù)測流量數(shù)據(jù)。
11、所述計(jì)算動(dòng)態(tài)權(quán)重系數(shù)包括:
12、將所述預(yù)測流量數(shù)據(jù)與預(yù)設(shè)流量閾值的比值作為基礎(chǔ)權(quán)重,結(jié)合所述基礎(chǔ)權(quán)重與服務(wù)節(jié)點(diǎn)的計(jì)算能力參數(shù)確定表征服務(wù)節(jié)點(diǎn)負(fù)載均衡程度的動(dòng)態(tài)權(quán)重系數(shù);
13、將服務(wù)節(jié)點(diǎn)的處理器核心數(shù)乘以單核心基準(zhǔn)性能得到處理器性能得分;將內(nèi)存容量除以基準(zhǔn)內(nèi)存容量得到內(nèi)存性能得分;將網(wǎng)絡(luò)傳輸速率除以基準(zhǔn)傳輸速率得到網(wǎng)絡(luò)性能得分;
14、將所述基礎(chǔ)權(quán)重與所述處理器性能得分的乘積記為第一子權(quán)重;將所述基礎(chǔ)權(quán)重與所述內(nèi)存性能得分的乘積記為第二子權(quán)重;將所述基礎(chǔ)權(quán)重與所述網(wǎng)絡(luò)性能得分的乘積記為第三子權(quán)重;
15、將所述第一子權(quán)重、所述第二子權(quán)重、第三子權(quán)重的加權(quán)平均值作為表征服務(wù)節(jié)點(diǎn)負(fù)載均衡程度的動(dòng)態(tài)權(quán)重系數(shù)。
16、使用所述動(dòng)態(tài)權(quán)重系數(shù)作為蟻群算法的啟發(fā)式信息,使用所述資源可用度指標(biāo)作為路徑選擇的約束條件,通過迭代優(yōu)化過程生成資源分配方案,所述迭代優(yōu)化過程中的信息素更新規(guī)則基于服務(wù)響應(yīng)時(shí)間和資源利用率進(jìn)行動(dòng)態(tài)調(diào)整包括:
17、設(shè)置蟻群算法的初始參數(shù),包括螞蟻數(shù)量、信息素初始值、信息素?fù)]發(fā)系數(shù)和最大迭代次數(shù);
18、計(jì)算各服務(wù)節(jié)點(diǎn)的路徑選擇概率:將各服務(wù)節(jié)點(diǎn)的動(dòng)態(tài)權(quán)重系數(shù)的倒數(shù)作為啟發(fā)式信息值;將可用cpu數(shù)量低于第一預(yù)設(shè)閾值或者可用內(nèi)存容量低于第二預(yù)設(shè)閾值或者可用網(wǎng)絡(luò)帶寬低于第三預(yù)設(shè)閾值的服務(wù)節(jié)點(diǎn)的路徑選擇概率設(shè)置為零;對剩余服務(wù)節(jié)點(diǎn),將信息素濃度與啟發(fā)式信息值的乘積除以所有可選服務(wù)節(jié)點(diǎn)乘積之和,得到路徑選擇概率;
19、分配螞蟻群在不同節(jié)點(diǎn)出發(fā),每個(gè)螞蟻獨(dú)立執(zhí)行以下步驟:
20、記錄已訪問的服務(wù)節(jié)點(diǎn);基于路徑選擇概率選擇下一個(gè)可訪問的服務(wù)節(jié)點(diǎn);計(jì)算當(dāng)前路徑下的負(fù)載方差;當(dāng)訪問完所有服務(wù)節(jié)點(diǎn)或負(fù)載方差小于預(yù)設(shè)負(fù)載均衡閾值時(shí),完成一次路徑搜索;
21、對每條搜索路徑執(zhí)行以下操作:獲取路徑上各服務(wù)節(jié)點(diǎn)的服務(wù)響應(yīng)時(shí)間,計(jì)算平均響應(yīng)時(shí)間;獲取路徑上各服務(wù)節(jié)點(diǎn)的資源利用率,計(jì)算平均資源利用率;計(jì)算平均響應(yīng)時(shí)間與基準(zhǔn)響應(yīng)時(shí)間的比值,得到時(shí)間評價(jià)系數(shù);計(jì)算平均資源利用率與基準(zhǔn)利用率的比值,得到利用率評價(jià)系數(shù);根據(jù)時(shí)間評價(jià)系數(shù)和利用率評價(jià)系數(shù)計(jì)算信息素增量;按照預(yù)設(shè)的信息素?fù)]發(fā)系數(shù)更新路徑上的信息素濃度,并疊加信息素增量;
22、當(dāng)達(dá)到最大迭代次數(shù)或連續(xù)多次迭代的負(fù)載方差變化小于收斂閾值時(shí),選取負(fù)載方差最小的路徑作為資源分配方案。
23、根據(jù)時(shí)間評價(jià)系數(shù)和利用率評價(jià)系數(shù)計(jì)算信息素增量;按照預(yù)設(shè)的信息素?fù)]發(fā)系數(shù)更新路徑上的信息素濃度,并疊加信息素增量包括:
24、將所述時(shí)間評價(jià)系數(shù)和所述利用率評價(jià)系數(shù)分別平方;將兩個(gè)評價(jià)系數(shù)的平方值相加;將相加結(jié)果除以評價(jià)系數(shù)數(shù)量;將計(jì)算結(jié)果乘以預(yù)設(shè)的路徑期望增益系數(shù),得到信息素增量;
25、獲取路徑當(dāng)前的信息素濃度;將信息素濃度乘以預(yù)設(shè)的信息素保留率;將信息素增量疊加至當(dāng)前信息素濃度;判斷更新后的信息素濃度是否在預(yù)設(shè)區(qū)間內(nèi);若超出預(yù)設(shè)區(qū)間則將信息素濃度設(shè)置為區(qū)間邊界值。
26、根據(jù)所述資源分配方案,生成服務(wù)遷移序列和資源分配指令,按照所述服務(wù)遷移序列的順序執(zhí)行服務(wù)遷移操作,并根據(jù)所述資源分配指令調(diào)整各服務(wù)節(jié)點(diǎn)的資源配置包括:
27、所述資源分配方案包括待遷移的源服務(wù)節(jié)點(diǎn)列表、目標(biāo)服務(wù)節(jié)點(diǎn)列表以及每個(gè)服務(wù)節(jié)點(diǎn)的目標(biāo)資源配置值;
28、獲取每個(gè)待遷移的源服務(wù)節(jié)點(diǎn)列表上運(yùn)行的服務(wù)實(shí)例的資源占用量;計(jì)算目標(biāo)服務(wù)節(jié)點(diǎn)列表中服務(wù)節(jié)點(diǎn)的剩余可用資源量;根據(jù)服務(wù)實(shí)例的資源占用量對源服務(wù)節(jié)點(diǎn)進(jìn)行優(yōu)先級(jí)排序;根據(jù)剩余可用資源量對目標(biāo)服務(wù)節(jié)點(diǎn)進(jìn)行優(yōu)先級(jí)排序;將優(yōu)先級(jí)最高的源節(jié)點(diǎn)與優(yōu)先級(jí)最高的目標(biāo)節(jié)點(diǎn)進(jìn)行匹配,生成遷移序列;
29、計(jì)算每個(gè)服務(wù)節(jié)點(diǎn)當(dāng)前的資源配置值與目標(biāo)資源配置值的差值;對于需要擴(kuò)容的服務(wù)節(jié)點(diǎn),生成資源擴(kuò)容指令;對于需要減容的服務(wù)節(jié)點(diǎn),生成資源減容指令;將所述資源擴(kuò)容指令和資源減容指令組成資源分配指令集。
30、本發(fā)明實(shí)施例的第二方面,提供基于服務(wù)流量預(yù)測的開源系統(tǒng)資源調(diào)度管理系統(tǒng),包括:
31、第一單元,用于獲取開源系統(tǒng)中各服務(wù)節(jié)點(diǎn)的歷史流量數(shù)據(jù),基于所述歷史流量數(shù)據(jù),構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型,通過所述深度神經(jīng)網(wǎng)絡(luò)模型對各服務(wù)節(jié)點(diǎn)未來時(shí)間窗口內(nèi)的流量進(jìn)行預(yù)測,得到預(yù)測流量數(shù)據(jù);
32、第二單元,用于根據(jù)所述預(yù)測流量數(shù)據(jù),結(jié)合各服務(wù)節(jié)點(diǎn)的計(jì)算能力參數(shù),計(jì)算動(dòng)態(tài)權(quán)重系數(shù);
33、第三單元,用于實(shí)時(shí)采集開源系統(tǒng)中各服務(wù)節(jié)點(diǎn)的資源狀態(tài)信息,并基于所述資源狀態(tài)信息計(jì)算得到各服務(wù)節(jié)點(diǎn)的資源可用度指標(biāo);
34、第四單元,用于將所述動(dòng)態(tài)權(quán)重系數(shù)和所述資源可用度指標(biāo)輸入至改進(jìn)的蟻群算法中,其中:使用所述動(dòng)態(tài)權(quán)重系數(shù)作為蟻群算法的啟發(fā)式信息,使用所述資源可用度指標(biāo)作為路徑選擇的約束條件,通過迭代優(yōu)化過程生成資源分配方案,所述迭代優(yōu)化過程中的信息素更新規(guī)則基于服務(wù)響應(yīng)時(shí)間和資源利用率進(jìn)行動(dòng)態(tài)調(diào)整;
35、第五單元,用于根據(jù)所述資源分配方案,生成服務(wù)遷移序列和資源分配指令,按照所述服務(wù)遷移序列的順序執(zhí)行服務(wù)遷移操作,并根據(jù)所述資源分配指令調(diào)整各服務(wù)節(jié)點(diǎn)的資源配置。
36、本發(fā)明實(shí)施例的第三方面,提供一種電子設(shè)備,包括:
37、處理器;
38、用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
39、其中,所述處理器被配置為調(diào)用所述存儲(chǔ)器存儲(chǔ)的指令,以執(zhí)行前述所述的方法。
40、本發(fā)明實(shí)施例的第四方面,提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述所述的方法。
41、本技術(shù)的有益效果如下:
42、本發(fā)明通過構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型對服務(wù)節(jié)點(diǎn)流量進(jìn)行預(yù)測,并結(jié)合計(jì)算能力參數(shù)計(jì)算動(dòng)態(tài)權(quán)重系數(shù),實(shí)現(xiàn)了對系統(tǒng)資源需求的準(zhǔn)確預(yù)判,有效避免了傳統(tǒng)靜態(tài)資源分配方式導(dǎo)致的資源浪費(fèi)和服務(wù)質(zhì)量下降問題。
43、本發(fā)明將動(dòng)態(tài)權(quán)重系數(shù)和資源可用度指標(biāo)融入改進(jìn)的蟻群算法中,使用動(dòng)態(tài)權(quán)重作為啟發(fā)式信息,資源可用度作為約束條件,通過迭代優(yōu)化生成資源分配方案,提高了資源調(diào)度的靈活性和適應(yīng)性,能夠根據(jù)流量變化動(dòng)態(tài)調(diào)整資源分配策略。
44、本發(fā)明基于預(yù)測流量和計(jì)算能力參數(shù)的動(dòng)態(tài)權(quán)重計(jì)算機(jī)制,結(jié)合資源狀態(tài)的實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)了系統(tǒng)資源的高效分配和負(fù)載均衡,顯著提升了開源系統(tǒng)的整體性能和穩(wěn)定性,降低了系統(tǒng)響應(yīng)時(shí)間,提高了資源利用率,為用戶提供更加流暢的服務(wù)體驗(yàn)。