本發(fā)明涉及互聯(lián)云服務(wù),更具體地說(shuō),本發(fā)明涉及基于互聯(lián)云服務(wù)的智能資源調(diào)度與負(fù)載均衡方法。
背景技術(shù):
1、隨著云計(jì)算技術(shù)的發(fā)展,云服務(wù)器資源的調(diào)度與負(fù)載均衡變得尤為重要。有效的資源調(diào)度和負(fù)載均衡可以提高云服務(wù)的可用性、響應(yīng)速度和成本效益。
2、為了進(jìn)行有效的資源需求預(yù)測(cè),并進(jìn)行資源的調(diào)度,實(shí)現(xiàn)用戶需求與資源之間的優(yōu)化調(diào)度與匹配,現(xiàn)有公開(kāi)號(hào)cn111913780a的專利申請(qǐng)?zhí)岢隽嗽朴?jì)算中的資源預(yù)測(cè)與調(diào)度方法,方法包括:s10:根據(jù)資源需求歷史數(shù)據(jù)對(duì)至少一個(gè)虛擬機(jī)進(jìn)行下一時(shí)刻的資源需求預(yù)測(cè);s20:根據(jù)資源需求的預(yù)測(cè)值,對(duì)服務(wù)器上配置給所述虛擬機(jī)的資源進(jìn)行動(dòng)態(tài)調(diào)度。
3、上述方法雖能滿足大部分場(chǎng)景,但對(duì)上述方法以及現(xiàn)有技術(shù)進(jìn)行研究和實(shí)際應(yīng)用發(fā)現(xiàn),上述方法以及現(xiàn)有技術(shù)至少存在以下部分缺陷:
4、現(xiàn)有技術(shù)僅依賴資源需求歷史數(shù)進(jìn)行資源需求預(yù)測(cè),未考慮未來(lái)時(shí)間的多種影響因素,例如是否是工作日、時(shí)間段和時(shí)間區(qū)間等,且資源調(diào)度的靈活性和擴(kuò)展性不足,不支持虛擬機(jī)與容器進(jìn)行混合調(diào)度,導(dǎo)致無(wú)法適應(yīng)復(fù)雜多變的實(shí)際需求。
5、鑒于此,本發(fā)明提出基于互聯(lián)云服務(wù)的智能資源調(diào)度與負(fù)載均衡方法以解決上述問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有技術(shù)的上述缺陷,為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:基于互聯(lián)云服務(wù)的智能資源調(diào)度與負(fù)載均衡方法,包括:
2、采集第一最大請(qǐng)求數(shù)和第二最大請(qǐng)求數(shù),所述第一最大請(qǐng)求數(shù)為單個(gè)容器在cpu資源和內(nèi)存資源不過(guò)載的前提下,每秒處理的最大請(qǐng)求數(shù)量,所述第二最大請(qǐng)求數(shù)為單個(gè)虛擬機(jī)在cpu資源和內(nèi)存資源不過(guò)載的前提下,每秒處理的最大請(qǐng)求數(shù)量;
3、采集未來(lái)單位時(shí)間內(nèi)的時(shí)間區(qū)間;
4、采集單位時(shí)間內(nèi)云服務(wù)器的cpu使用率、內(nèi)存使用率、磁盤(pán)使用率、網(wǎng)絡(luò)延遲時(shí)間和云服務(wù)訪問(wèn)量;
5、對(duì)時(shí)間區(qū)間進(jìn)行分析處理,得到日期屬性標(biāo)簽和時(shí)間段數(shù)值;
6、對(duì)cpu使用率、內(nèi)存使用率、磁盤(pán)使用率、網(wǎng)絡(luò)延遲時(shí)間和云服務(wù)訪問(wèn)量分別進(jìn)行預(yù)處理,得到cpu使用率均值、內(nèi)存使用率均值、磁盤(pán)使用率均值、網(wǎng)絡(luò)延遲均值和訪問(wèn)量均值;
7、將訪問(wèn)預(yù)測(cè)數(shù)據(jù)輸入至預(yù)先訓(xùn)練的訪問(wèn)預(yù)測(cè)模型中,得到預(yù)測(cè)的云服務(wù)訪問(wèn)量;所述訪問(wèn)預(yù)測(cè)數(shù)據(jù)包括cpu使用率均值、內(nèi)存使用率均值、磁盤(pán)使用率均值、網(wǎng)絡(luò)延遲均值、訪問(wèn)量均值、日期屬性標(biāo)簽和時(shí)間段數(shù)值;
8、根據(jù)預(yù)測(cè)的云服務(wù)訪問(wèn)量,結(jié)合第一最大請(qǐng)求數(shù)和第二最大請(qǐng)求數(shù),分別計(jì)算得到虛擬機(jī)需求數(shù)量和容器需求數(shù)量,根據(jù)虛擬機(jī)需求數(shù)量和容器需求數(shù)量對(duì)云服務(wù)的虛擬機(jī)和容器進(jìn)行資源調(diào)度與分配。
9、進(jìn)一步地,所述日期屬性標(biāo)簽的獲取方法包括:
10、s101:判斷時(shí)間區(qū)間的起始點(diǎn)日期與終止點(diǎn)日期是否一致;若不一致,則執(zhí)行s102;若一致,則執(zhí)行s103;
11、s102:若起始點(diǎn)日期為工作日,終止點(diǎn)日期為非工作日,則將日期屬性標(biāo)簽標(biāo)記為a1;若起始點(diǎn)日期為非工作日,終止點(diǎn)日期為工作日,則將日期屬性標(biāo)簽標(biāo)記為a2;
12、s103:若起始點(diǎn)日期和終止點(diǎn)日期均為工作日,則將日期屬性標(biāo)簽標(biāo)記為a3;若起始點(diǎn)日期和終止點(diǎn)日期均為非工作日,則將日期屬性標(biāo)簽標(biāo)記為a4。
13、進(jìn)一步地,所述時(shí)間段數(shù)值的獲取方法包括:
14、s111:預(yù)構(gòu)時(shí)間段數(shù)值表;所述時(shí)間段數(shù)值表包括時(shí)間段,以及時(shí)間段對(duì)應(yīng)的時(shí)間段數(shù)值,所述時(shí)間段不包括年月日。
15、s112:將時(shí)間區(qū)間去除年月日,得到未來(lái)單位時(shí)間的時(shí)間段;所述時(shí)間段數(shù)值表中的時(shí)間段長(zhǎng)度大于或等于未來(lái)單位時(shí)間的時(shí)間段長(zhǎng)度。
16、s113:若未來(lái)單位時(shí)間的時(shí)間段在時(shí)間段數(shù)值表中的時(shí)間段之內(nèi),則未來(lái)單位時(shí)間的時(shí)間段數(shù)值為時(shí)間段數(shù)值表中對(duì)應(yīng)的時(shí)間段數(shù)值;
17、s114:若所述未來(lái)單位時(shí)間的時(shí)間段與時(shí)間段數(shù)值表中的任一時(shí)間段不匹配,即所述未來(lái)單位時(shí)間的時(shí)間段不完全包含于時(shí)間段數(shù)值表中的任一時(shí)間段內(nèi),則計(jì)算未來(lái)單位時(shí)間的時(shí)間段在時(shí)間段數(shù)值表中的各時(shí)間段占比,取占比最大的時(shí)間段對(duì)應(yīng)的時(shí)間段數(shù)值作為未來(lái)單位時(shí)間的時(shí)間段數(shù)值。
18、進(jìn)一步地,所述cpu使用率均值的獲取方法包括:
19、將單位時(shí)間內(nèi)的cpu使用率建立cpu分析集合,所述cpu分析集合包括h個(gè)時(shí)間段的cpu使用率,計(jì)算cpu分析集合中的cpu使用率均值;
20、所述內(nèi)存使用率均值的獲取方法包括:
21、將單位時(shí)間內(nèi)的內(nèi)存使用率建立內(nèi)存分析集合,所述內(nèi)存分析集合包括h個(gè)時(shí)間段的內(nèi)存使用率,計(jì)算內(nèi)存分析集合中的內(nèi)存使用率均值;
22、所述磁盤(pán)使用率均值的獲取方法包括:
23、將單位時(shí)間內(nèi)的磁盤(pán)使用率建立磁盤(pán)分析集合,所述磁盤(pán)分析集合包括h個(gè)時(shí)間段的磁盤(pán)使用率,計(jì)算磁盤(pán)分析集合中的磁盤(pán)使用率均值。
24、進(jìn)一步地,所述網(wǎng)絡(luò)延遲均值的獲取方法包括:
25、將單位時(shí)間內(nèi)的網(wǎng)絡(luò)延遲時(shí)間建立延遲分析集合,所述延遲分析集合包括h個(gè)時(shí)間段的網(wǎng)絡(luò)延遲時(shí)間,計(jì)算延遲分析集合中的網(wǎng)絡(luò)延遲時(shí)間均值;
26、所述訪問(wèn)量均值的獲取方法包括:
27、將單位時(shí)間內(nèi)的云服務(wù)訪問(wèn)量建立訪問(wèn)量分析集合,所述訪問(wèn)量分析集合包括h個(gè)時(shí)間段的云服務(wù)訪問(wèn)量,計(jì)算訪問(wèn)量分析集合中的云服務(wù)訪問(wèn)量均值。
28、進(jìn)一步地,所述訪問(wèn)預(yù)測(cè)模型的訓(xùn)練方法包括:
29、預(yù)先收集訪問(wèn)預(yù)測(cè)數(shù)據(jù)集,所述訪問(wèn)預(yù)測(cè)數(shù)據(jù)集包括訪問(wèn)預(yù)測(cè)數(shù)據(jù)以及訪問(wèn)預(yù)測(cè)數(shù)據(jù)對(duì)應(yīng)的云服務(wù)訪問(wèn)量;將所述訪問(wèn)預(yù)測(cè)數(shù)據(jù)集劃分為訓(xùn)練集與測(cè)試集,構(gòu)建分類(lèi)器,將訓(xùn)練集中的訪問(wèn)預(yù)測(cè)數(shù)據(jù)作為訪問(wèn)預(yù)測(cè)模型的輸入,將訓(xùn)練集中的云服務(wù)訪問(wèn)量作為訪問(wèn)預(yù)測(cè)模型的輸出,以最小化所有預(yù)測(cè)的云服務(wù)訪問(wèn)量的預(yù)測(cè)準(zhǔn)確度之和作為訓(xùn)練目標(biāo);直至預(yù)測(cè)準(zhǔn)確度之和達(dá)到收斂時(shí)停止訓(xùn)練;所述訪問(wèn)預(yù)測(cè)模型為梯度提升樹(shù)模型或長(zhǎng)短期記憶網(wǎng)絡(luò)模型。
30、進(jìn)一步地,所述對(duì)云服務(wù)的虛擬機(jī)和容器進(jìn)行資源調(diào)度與分配的方法包括:
31、s121:根據(jù)預(yù)測(cè)的云服務(wù)訪問(wèn)量,計(jì)算預(yù)測(cè)每秒訪問(wèn)量;
32、s122:獲取部署的虛擬機(jī)與容器的比例,標(biāo)記為部署比例;
33、s123:將部署比例轉(zhuǎn)換成虛擬機(jī)占比和容器占比;
34、s124:根據(jù)預(yù)測(cè)每秒訪問(wèn)量和虛擬機(jī)占比計(jì)算虛擬機(jī)需求數(shù)量;
35、s125:根據(jù)預(yù)測(cè)每秒訪問(wèn)量和容器占比計(jì)算容器需求數(shù)量;
36、s126:使用虛擬機(jī)管理工具在未來(lái)單位時(shí)間內(nèi)自動(dòng)調(diào)整并部署數(shù)量為虛擬機(jī)需求數(shù)量的虛擬機(jī);使用容器管理工具在未來(lái)單位時(shí)間內(nèi)自動(dòng)調(diào)整并部署數(shù)量為容器需求數(shù)量的容器;
37、s127:使用云服務(wù)負(fù)載均衡器將訪問(wèn)請(qǐng)求自動(dòng)分配到容器和虛擬機(jī)上。
38、進(jìn)一步地,所述預(yù)測(cè)每秒訪問(wèn)量的計(jì)算方法包括:
39、將未來(lái)單位時(shí)間轉(zhuǎn)換成秒,標(biāo)記為tm;將tm代入預(yù)測(cè)每秒訪問(wèn)量的計(jì)算公式得到預(yù)測(cè)每秒訪問(wèn)量;所述預(yù)測(cè)每秒訪問(wèn)量的計(jì)算公式為:
40、
41、sfw為預(yù)測(cè)每秒訪問(wèn)量,fwlall為云服務(wù)訪問(wèn)量;
42、所述虛擬機(jī)占比的獲取方法為:
43、
44、xnj為虛擬機(jī)占比,xnjf為虛擬機(jī)的份數(shù),rqf為容器的份數(shù);
45、所述容器占比的獲取方法為:
46、rq=1-xnj;
47、rq為容器占比。
48、進(jìn)一步地,根據(jù)所述預(yù)測(cè)每秒訪問(wèn)量和虛擬機(jī)占比計(jì)算虛擬機(jī)需求數(shù)量的方法包括:
49、s1241:計(jì)算虛擬機(jī)應(yīng)處理的請(qǐng)求數(shù)量,標(biāo)記為虛擬機(jī)處理數(shù)量;
50、所述虛擬機(jī)處理數(shù)量的計(jì)算方法為:
51、xncl=sfw×xnj;
52、xncl為虛擬機(jī)處理數(shù)量,sfw為預(yù)測(cè)每秒訪問(wèn)量,xnj為虛擬機(jī)占比;
53、s1242:計(jì)算虛擬機(jī)初步需求,所述虛擬機(jī)初步需求為虛擬機(jī)處理數(shù)量與第二最大請(qǐng)求數(shù)之商;
54、所述虛擬機(jī)初步需求的計(jì)算方法為:
55、
56、xnxq為虛擬機(jī)初步需求,demax為第二最大請(qǐng)求數(shù);
57、s1243:若xnxq為整數(shù),則xnxq為虛擬機(jī)需求數(shù)量;若xnxq不為整數(shù),判斷xnxq的小數(shù)部分是否大于或等于0.5,若xnxq的小數(shù)部分大于或等于0.5,則為虛擬機(jī)需求數(shù)量,若xnxq的小數(shù)部分小于0.5,則為虛擬機(jī)需求數(shù)量,將虛擬機(jī)需求數(shù)量標(biāo)記為xnsl。
58、進(jìn)一步地,根據(jù)所述預(yù)測(cè)每秒訪問(wèn)量和容器占比計(jì)算容器需求數(shù)量的方法包括:
59、s1251:計(jì)算虛擬機(jī)處理數(shù)量的未處理數(shù)據(jù)數(shù)量,將未處理數(shù)據(jù)數(shù)量標(biāo)記為wcl;
60、所述未處理數(shù)據(jù)數(shù)量的計(jì)算方法為:
61、若xnsl×demax-xncl大于或等于0,則wcl的值為0;若xnsl×demax-xncl小于0,則wcl的值為xncl-xnsl×demax;
62、s1252:計(jì)算容器應(yīng)處理的數(shù)據(jù),標(biāo)記為容器處理數(shù)據(jù);
63、所述容器處理數(shù)據(jù)的計(jì)算方法為:
64、rqcl=sfw×rq+wcl;
65、rqcl為容器處理數(shù)據(jù),sfw為預(yù)測(cè)每秒訪問(wèn)量,rq為容器占比;
66、s1253:計(jì)算容器需求數(shù)量;
67、所述容器需求數(shù)量的計(jì)算方法為:
68、
69、rqsl為容器需求數(shù)量,dymax為第一最大請(qǐng)求數(shù)。
70、本發(fā)明基于互聯(lián)云服務(wù)的智能資源調(diào)度與負(fù)載均衡方法的技術(shù)效果和優(yōu)點(diǎn):采集未來(lái)單位時(shí)間內(nèi)的時(shí)間區(qū)間,經(jīng)分析處理得到日期屬性標(biāo)簽和時(shí)間段數(shù)值,采集單位時(shí)間內(nèi)云服務(wù)器的gpu使用率、內(nèi)存使用率、磁盤(pán)使用率、網(wǎng)絡(luò)延遲時(shí)間和云服務(wù)訪問(wèn)量,對(duì)gpu使用率、內(nèi)存使用率、磁盤(pán)使用率、網(wǎng)絡(luò)延遲時(shí)間和云服務(wù)訪問(wèn)量分別進(jìn)行預(yù)處理,得到cpu使用率均值、內(nèi)存使用率均值、磁盤(pán)使用率均值、網(wǎng)絡(luò)延遲均值和訪問(wèn)量均值,通過(guò)機(jī)器學(xué)習(xí)模型預(yù)測(cè)云服務(wù)訪問(wèn)量,提高了未來(lái)云服務(wù)訪問(wèn)量的預(yù)測(cè)準(zhǔn)確度,為提前分配和調(diào)整資源做了基礎(chǔ)。通過(guò)壓力測(cè)試分別得到容器和虛擬機(jī)每秒可以處理的最大請(qǐng)求數(shù)量,準(zhǔn)確的評(píng)估了容器和虛擬機(jī)處理訪問(wèn)請(qǐng)求的能力。根據(jù)預(yù)測(cè)的云服務(wù)訪問(wèn)量,以及容器和虛擬機(jī)的處理能力,計(jì)算并分配所需的資源數(shù)量,避免過(guò)度配置和資源閑置,從而優(yōu)化資源使用,滿足不同時(shí)間段的需求。本發(fā)明引入未來(lái)時(shí)間的多種影響因素,采用機(jī)器學(xué)習(xí)模型預(yù)測(cè)云服務(wù)訪問(wèn)量,并結(jié)合虛擬機(jī)和容器的混合部署與動(dòng)態(tài)調(diào)度,克服了現(xiàn)有技術(shù)在資源預(yù)測(cè)、調(diào)度靈活性和資源利用率方面的不足。通過(guò)精確的資源管理和優(yōu)化,降低了云服務(wù)供應(yīng)商的運(yùn)營(yíng)成本,提高了云服務(wù)的效益和可用性,實(shí)現(xiàn)負(fù)載均衡。