本發(fā)明涉及云服務(wù)器資源管理,尤其涉及一種云負(fù)載預(yù)測(cè)方法及裝置。
背景技術(shù):
1、隨著云原生和微服務(wù)架構(gòu)的不斷演進(jìn),容器化技術(shù)已經(jīng)成為現(xiàn)代軟件開發(fā)與部署中不可或缺的一部分。kubernetes(簡(jiǎn)稱k8s)作為領(lǐng)先的開源容器編排平臺(tái),其在自動(dòng)化部署、管理和擴(kuò)展容器應(yīng)用方面的能力已被全球許多頂尖科技公司如amazon、google和microsoft所認(rèn)可和采用。這一平臺(tái)不僅優(yōu)化了開發(fā)流程,還通過其高效的資源管理策略,提高了應(yīng)用的可用性和擴(kuò)展性。然而,傳統(tǒng)的k8s資源調(diào)度器主要采用反應(yīng)式策略,即基于當(dāng)前系統(tǒng)狀態(tài)來做出資源分配決策。這種方法在應(yīng)對(duì)靜態(tài)或可預(yù)測(cè)的負(fù)載變化時(shí)表現(xiàn)良好,但在面對(duì)高度動(dòng)態(tài)和不確定的工作環(huán)境時(shí),則可能導(dǎo)致資源分配不足或過剩,從而影響服務(wù)的穩(wěn)定性和效率。為了解決這一問題,越來越多的企業(yè)和技術(shù)開發(fā)者開始探索預(yù)測(cè)性擴(kuò)展策略。這種策略不僅分析當(dāng)前的系統(tǒng)負(fù)載,還綜合歷史數(shù)據(jù)和各種預(yù)測(cè)模型來預(yù)測(cè)未來可能的負(fù)載變化,從而提前做好資源分配和調(diào)整準(zhǔn)備。
2、預(yù)測(cè)性擴(kuò)展的主要優(yōu)點(diǎn)是能夠通過預(yù)測(cè)未來的資源需求,提前進(jìn)行資源調(diào)配,有效避免因負(fù)載突增而導(dǎo)致的資源短缺或服務(wù)中斷。此外,這種方法還可以根據(jù)預(yù)測(cè)結(jié)果動(dòng)態(tài)調(diào)整資源,以最大化資源使用效率,減少不必要的資源浪費(fèi),從而在保障服務(wù)質(zhì)量的同時(shí),也降低了運(yùn)營(yíng)成本。
3、盡管預(yù)測(cè)性擴(kuò)展提供了許多潛在的好處,但在實(shí)際應(yīng)用中仍面臨著一些挑戰(zhàn)。現(xiàn)有的預(yù)測(cè)模型往往需要處理復(fù)雜多變的工作負(fù)載,這對(duì)模型的準(zhǔn)確性和魯棒性提出了更高的要求。此外,不同應(yīng)用和環(huán)境下的工作負(fù)載特性可能大相徑庭,這就需要模型能夠適應(yīng)這種高度異質(zhì)性。
4、因此,為了克服這些缺陷,本技術(shù)提出了一種云負(fù)載預(yù)測(cè)方法及裝置。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)的目的是提供一種云負(fù)載預(yù)測(cè)方法及裝置,旨在解決上述的問題。
2、為實(shí)現(xiàn)上述目的,本技術(shù)提供如下技術(shù)方案:
3、本技術(shù)提供一種云負(fù)載預(yù)測(cè)方法,包括:
4、獲取原始時(shí)間序列數(shù)據(jù),并對(duì)所述原始時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理,得到預(yù)處理數(shù)據(jù);
5、對(duì)所述預(yù)處理數(shù)據(jù)進(jìn)行分解,得到短期特征、長(zhǎng)期特征和預(yù)設(shè)剩余分量;
6、將所述短期特征輸入預(yù)先構(gòu)建的短期預(yù)測(cè)模型,輸出短期信息;將所述長(zhǎng)期特征輸入預(yù)先構(gòu)建的長(zhǎng)期預(yù)測(cè)模型,輸出長(zhǎng)期信息;
7、將所述短期信息、所述長(zhǎng)期信息和所述預(yù)設(shè)剩余分量輸入多層感知機(jī)中,得到預(yù)測(cè)結(jié)果;所述預(yù)測(cè)結(jié)果用于云集群資源管理系統(tǒng)的自動(dòng)資源擴(kuò)展決策。
8、進(jìn)一步的,在獲取原始時(shí)間序列數(shù)據(jù),并對(duì)所述原始時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理,得到預(yù)處理數(shù)據(jù)的步驟中,具體包括下述步驟:
9、采用z分?jǐn)?shù)對(duì)所述原始時(shí)間序列數(shù)據(jù)進(jìn)行規(guī)范化,計(jì)算公式為:
10、
11、其中x為原始時(shí)間序列數(shù)據(jù);n為數(shù)據(jù)點(diǎn)的數(shù)量;μ為原始時(shí)間序列數(shù)據(jù)的平均值;σ為原始時(shí)間序列數(shù)據(jù)的標(biāo)準(zhǔn)差;z為標(biāo)準(zhǔn)化后的數(shù)據(jù)值,即預(yù)處理數(shù)據(jù)。
12、進(jìn)一步的,在將所述短期特征輸入預(yù)先構(gòu)建的短期預(yù)測(cè)模型,輸出短期信息的步驟中,具體包括下述步驟:
13、采用基于gru算法作為所述短期預(yù)測(cè)模型;
14、所述短期特征輸入至一維卷積中;將卷積后的特征再輸入至兩層gru網(wǎng)絡(luò)中;
15、通過relu激活函數(shù)、正則化和密集層,生成短期信息作為輸出。
16、進(jìn)一步的,所述gru算法中還包括:
17、假設(shè)在時(shí)間步t,選取輸入的短期特征xt、過去隱藏狀態(tài)ht-1以及短期預(yù)測(cè)模型的參數(shù)w;
18、計(jì)算當(dāng)前時(shí)間步的更新門zt,重置門rt和候選隱藏狀態(tài)
19、zt=σ(wz·[ht-1,xt])
20、rt=σ(wr·[ht-1,xt])
21、
22、其中σ為sigmoid函數(shù);⊙為元素級(jí)乘法;[·]為矩陣乘法;tanh為雙曲正切函數(shù),表示為:
23、
24、基于更新門zt和候選隱藏狀態(tài)計(jì)算當(dāng)前隱藏狀態(tài)ht,公式為:
25、
26、其中更新門zt控制過去隱蔵狀態(tài)ht-1與侯選隱藏狀態(tài)之間的平衡。
27、進(jìn)一步的,在將所述長(zhǎng)期特征輸入預(yù)先構(gòu)建的長(zhǎng)期預(yù)測(cè)模型,輸出長(zhǎng)期信息的步驟中,具體包括下述步驟:
28、將所述原始時(shí)間序列數(shù)據(jù)通過嵌入層轉(zhuǎn)換為高維向量表示,包括兩個(gè)部分:值嵌入和時(shí)間嵌入;其中值嵌入為時(shí)間序列中的數(shù)值,時(shí)間嵌入用于捕捉時(shí)間信息;
29、輸入嵌入后,采用自注意力機(jī)制對(duì)長(zhǎng)時(shí)間序列進(jìn)行建模;
30、通過多尺度卷積模塊,提取長(zhǎng)時(shí)間序列中的局部特征和模式;
31、通過若干個(gè)編碼器層堆疊對(duì)嵌入后的長(zhǎng)時(shí)間序列進(jìn)行處理,提取長(zhǎng)時(shí)間序列的特征信息;由解碼器層生成預(yù)測(cè)結(jié)果;其中所述編碼器層包括自注意力機(jī)制、多尺度卷積模塊、殘差連接和歸一化層;
32、在編碼器層輸出后,將長(zhǎng)時(shí)間序列的中間狀態(tài)進(jìn)行稀疏化處理;
33、通過全連接層將解碼器層生成的預(yù)測(cè)結(jié)果映射至預(yù)測(cè)的時(shí)間序列值上,輸出長(zhǎng)期信息。
34、進(jìn)一步的,所述長(zhǎng)期預(yù)測(cè)模型中,還包括:
35、在自注意力機(jī)制中,對(duì)于每個(gè)注意力頭部i計(jì)算注意力分?jǐn)?shù)矩陣,公式為:
36、
37、其中qi、ki和vi分別為第i個(gè)頭部的查詢、鍵和值矩陣;dk為鍵向量的維度;
38、通過引入稀疏誘導(dǎo)機(jī)制,獲取查詢和鍵之間的關(guān)系,具體公式為:
39、
40、其中m(qi,k)為計(jì)算注意力分?jǐn)?shù)的函數(shù);qi為查詢向量,測(cè)量查詢和鍵之間的相似性;k為鍵向量集合,即注意力機(jī)制中的鍵;ki是鍵向量集合中的一個(gè)元素,長(zhǎng)度為lk;
41、通過卷積、激活和最大池化操作生成下一層的特征表示,具體公式為:
42、
43、其中為時(shí)間步t的j+1層的特征表示,通過卷積操作、指數(shù)線性單元激活函數(shù)和最大池化操作獲得;為時(shí)間步t的j層的特征表示,其中ab為預(yù)設(shè)的切片或子集選擇。
44、進(jìn)一步的,所述多層感知機(jī)包括:由若干個(gè)神經(jīng)元組成的輸入層、由若干個(gè)神經(jīng)元和隱藏層組成的輸出層;其中所述輸入層和輸出層都采用relu激活函數(shù)。
45、本技術(shù)提供一種云負(fù)載預(yù)測(cè)裝置,包括:
46、預(yù)處理模塊:獲取原始時(shí)間序列數(shù)據(jù),并對(duì)所述原始時(shí)間序列數(shù)據(jù)進(jìn)行預(yù)處理,得到預(yù)處理數(shù)據(jù);
47、分解模塊:對(duì)所述預(yù)處理數(shù)據(jù)進(jìn)行分解,得到短期特征、長(zhǎng)期特征和預(yù)設(shè)剩余分量;
48、預(yù)測(cè)模塊:將所述短期特征輸入預(yù)先構(gòu)建的短期預(yù)測(cè)模型,輸出短期信息;將所述長(zhǎng)期特征輸入預(yù)先構(gòu)建的長(zhǎng)期預(yù)測(cè)模型,輸出長(zhǎng)期信息;
49、輸出模塊:將所述短期信息、所述長(zhǎng)期信息和所述預(yù)設(shè)剩余分量輸入多層感知機(jī)中,得到預(yù)測(cè)結(jié)果;所述預(yù)測(cè)結(jié)果用于云集群資源管理系統(tǒng)的自動(dòng)資源擴(kuò)展決策。
50、本技術(shù)提供一種設(shè)備,所述設(shè)備包括處理器、與所述處理器耦接的存儲(chǔ)器,其中,所述存儲(chǔ)器存儲(chǔ)有用于實(shí)現(xiàn)一種云負(fù)載預(yù)測(cè)方法的程序指令;所述處理器用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的所述程序指令以實(shí)現(xiàn)一種云負(fù)載預(yù)測(cè)。
51、本技術(shù)提供一種存儲(chǔ)介質(zhì),存儲(chǔ)有處理器可運(yùn)行的程序指令,所述程序指令用于執(zhí)行一種云負(fù)載預(yù)測(cè)方法。
52、本技術(shù)提供了一種云負(fù)載預(yù)測(cè)方法及裝置,具有以下有益效果:
53、(1)本技術(shù)通過將原始時(shí)間序列數(shù)據(jù)分解為短期特征、長(zhǎng)期特征和預(yù)設(shè)剩余分量;幫助預(yù)測(cè)模型捕捉長(zhǎng)期和短期時(shí)間序列中的信息;通過集成長(zhǎng)期和短期時(shí)間序列信息,能夠更全面地理解云工作負(fù)載的時(shí)間變化,從而實(shí)現(xiàn)更智能和自適應(yīng)的彈性擴(kuò)展決策;
54、(2)通過精確的負(fù)載預(yù)測(cè)和資源調(diào)度,本技術(shù)旨在減少資源浪費(fèi),優(yōu)化系統(tǒng)性能,提高服務(wù)質(zhì)量,從而滿足用戶需求并支持云平臺(tái)的可持續(xù)發(fā)展;增強(qiáng)了對(duì)負(fù)載時(shí)間變化的全面理解,使得彈性擴(kuò)展的決策更加智能和適應(yīng)性更強(qiáng);
55、(3)通過創(chuàng)新的數(shù)據(jù)處理和多層感知器(mlp)算法,能夠在不同的預(yù)測(cè)場(chǎng)景中提供準(zhǔn)確的資源需求預(yù)測(cè),以支持更有效的資源管理和調(diào)度策略;
56、(4)通過真實(shí)軌跡和測(cè)試平臺(tái)評(píng)估了幾種基線方法的有效性和可用性,結(jié)果表明,本技術(shù)提出的方法在減少服務(wù)水平目標(biāo)(slo)違約和改善資源利用率方面具有顯著效果。