本技術(shù)涉及計(jì)算機(jī),尤其涉及一種集群負(fù)載均衡方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展及其廣泛應(yīng)用,用戶(hù)規(guī)模和流量不斷增長(zhǎng),web服務(wù)的并發(fā)訪問(wèn)量也開(kāi)始增大,單一服務(wù)器已無(wú)法滿足正常的需要,集群化部署方案因其高可靠性以及可伸縮性被廣泛應(yīng)用。相關(guān)技術(shù)中,web集群負(fù)載均衡機(jī)制主要是基于用戶(hù)體驗(yàn),而很少考慮到集群的能耗問(wèn)題,導(dǎo)致集群的能耗較高,影響了集群的負(fù)載均衡性。
2、綜上,相關(guān)技術(shù)中存在的技術(shù)問(wèn)題有待得到改善。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的主要目的在于提出一種集群負(fù)載均衡方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),能夠降低集群消耗,提升調(diào)度效率。
2、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的一方面提出了一種集群負(fù)載均衡方法,所述方法包括:
3、獲取集群中節(jié)點(diǎn)的初始負(fù)載指標(biāo)數(shù)據(jù);
4、根據(jù)負(fù)載上報(bào)閾值對(duì)所述初始負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行負(fù)載信息更新處理,得到目標(biāo)負(fù)載指標(biāo)數(shù)據(jù);
5、根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息;
6、根據(jù)所述節(jié)點(diǎn)能耗信息從所述集群中分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度。
7、在一些實(shí)施例中,所述根據(jù)負(fù)載上報(bào)閾值對(duì)所述初始負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行負(fù)載信息更新處理,得到目標(biāo)負(fù)載指標(biāo)數(shù)據(jù),包括以下步驟:
8、通過(guò)負(fù)載信息監(jiān)控模塊對(duì)節(jié)點(diǎn)負(fù)載信息進(jìn)行周期性采集處理,得到采集周期負(fù)載信息;
9、對(duì)所述采集周期負(fù)載信息進(jìn)行負(fù)載能力變化計(jì)算處理,得到節(jié)點(diǎn)負(fù)載能力變化率;
10、當(dāng)所述節(jié)點(diǎn)負(fù)載能力變化率大于所述負(fù)載上報(bào)閾值時(shí),對(duì)所述采集周期負(fù)載信息進(jìn)行上報(bào)處理,更新得到所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)。
11、在一些實(shí)施例中,所述對(duì)所述采集周期負(fù)載信息進(jìn)行負(fù)載能力變化計(jì)算處理,得到節(jié)點(diǎn)負(fù)載能力變化率,包括以下步驟:
12、從所述采集周期負(fù)載信息中獲取得到起始時(shí)刻負(fù)載能力和終止時(shí)刻負(fù)載能力;
13、對(duì)所述終止時(shí)刻負(fù)載能力和所述起始時(shí)刻負(fù)載能力進(jìn)行相減處理,并將計(jì)算得到的差與周期時(shí)間值進(jìn)行相除和絕對(duì)值計(jì)算處理,得到所述節(jié)點(diǎn)負(fù)載能力變化率。
14、在一些實(shí)施例中,所述根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息,包括以下步驟:
15、根據(jù)所述能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗計(jì)算處理,得到節(jié)點(diǎn)能耗值;
16、通過(guò)異步執(zhí)行的子線程對(duì)所述節(jié)點(diǎn)能耗值進(jìn)行升序排序存儲(chǔ)至有序集合,得到所述節(jié)點(diǎn)能耗信息。
17、在一些實(shí)施例中,在所述根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息之前,所述方法還包括構(gòu)建所述能耗模型,具體包括以下步驟:
18、搭建實(shí)驗(yàn)集群環(huán)境;
19、對(duì)所述實(shí)驗(yàn)集群環(huán)境進(jìn)行節(jié)點(diǎn)用電信息收集處理,得到用電采樣數(shù)據(jù);
20、根據(jù)多項(xiàng)式回歸模型對(duì)所述用電采樣數(shù)據(jù)進(jìn)行建模處理,得到所述能耗模型。
21、在一些實(shí)施例中,所述根據(jù)所述節(jié)點(diǎn)能耗信息從所述集群中分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度,包括以下步驟:
22、根據(jù)所述節(jié)點(diǎn)能耗信息計(jì)算得到集群節(jié)點(diǎn)平均能耗;
23、根據(jù)所述集群節(jié)點(diǎn)平均能耗對(duì)所述集群進(jìn)行節(jié)點(diǎn)篩選處理,得到初始節(jié)點(diǎn)集合;
24、對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行遍歷排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn);
25、對(duì)所述分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度。
26、在一些實(shí)施例中,所述對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行遍歷排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn),包括以下步驟:
27、根據(jù)節(jié)點(diǎn)服務(wù)實(shí)例的運(yùn)行狀態(tài)對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行篩選處理,得到目標(biāo)節(jié)點(diǎn)集合;
28、對(duì)所述目標(biāo)節(jié)點(diǎn)集合進(jìn)行節(jié)點(diǎn)剩余負(fù)載率計(jì)算處理,得到剩余負(fù)載率;
29、根據(jù)所述剩余負(fù)載率對(duì)所述目標(biāo)節(jié)點(diǎn)集合進(jìn)行排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn)。
30、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種集群負(fù)載均衡裝置,所述裝置包括:
31、第一模塊,用于獲取集群中節(jié)點(diǎn)的初始負(fù)載指標(biāo)數(shù)據(jù);
32、第二模塊,用于根據(jù)負(fù)載上報(bào)閾值對(duì)所述初始負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行負(fù)載信息更新處理,得到目標(biāo)負(fù)載指標(biāo)數(shù)據(jù);
33、第三模塊,用于根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息;
34、第四模塊,用于根據(jù)所述節(jié)點(diǎn)能耗信息從所述集群中分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度。
35、在一些實(shí)施例中,所述第二模塊,用于根據(jù)負(fù)載上報(bào)閾值對(duì)所述初始負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行負(fù)載信息更新處理,得到目標(biāo)負(fù)載指標(biāo)數(shù)據(jù),包括:
36、第一單元,用于通過(guò)負(fù)載信息監(jiān)控模塊對(duì)節(jié)點(diǎn)負(fù)載信息進(jìn)行周期性采集處理,得到采集周期負(fù)載信息;
37、第二單元,用于對(duì)所述采集周期負(fù)載信息進(jìn)行負(fù)載能力變化計(jì)算處理,得到節(jié)點(diǎn)負(fù)載能力變化率;
38、第三單元,用于在所述節(jié)點(diǎn)負(fù)載能力變化率大于所述負(fù)載上報(bào)閾值時(shí),對(duì)所述采集周期負(fù)載信息進(jìn)行上報(bào)處理,更新得到所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)。
39、在一些實(shí)施例中,所述第二單元,用于對(duì)所述采集周期負(fù)載信息進(jìn)行負(fù)載能力變化計(jì)算處理,得到節(jié)點(diǎn)負(fù)載能力變化率,包括:
40、第一子單元,用于從所述采集周期負(fù)載信息中獲取得到起始時(shí)刻負(fù)載能力和終止時(shí)刻負(fù)載能力;
41、第二子單元,用于對(duì)所述終止時(shí)刻負(fù)載能力和所述起始時(shí)刻負(fù)載能力進(jìn)行相減處理,并將計(jì)算得到的差與周期時(shí)間值進(jìn)行相除和絕對(duì)值計(jì)算處理,得到所述節(jié)點(diǎn)負(fù)載能力變化率。
42、在一些實(shí)施例中,所述第三模塊,用于根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息,包括:
43、第四單元,用于根據(jù)所述能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗計(jì)算處理,得到節(jié)點(diǎn)能耗值;
44、第五單元,用于通過(guò)異步執(zhí)行的子線程對(duì)所述節(jié)點(diǎn)能耗值進(jìn)行升序排序存儲(chǔ)至有序集合,得到所述節(jié)點(diǎn)能耗信息。
45、在一些實(shí)施例中,在所述第三模塊,用于根據(jù)能耗模型對(duì)所述目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息之前,所述裝置還包括第五模塊,用于構(gòu)建所述能耗模型,具體包括:
46、第三子單元,用于搭建實(shí)驗(yàn)集群環(huán)境;
47、第四子單元,用于對(duì)所述實(shí)驗(yàn)集群環(huán)境進(jìn)行節(jié)點(diǎn)用電信息收集處理,得到用電采樣數(shù)據(jù);
48、第五子單元,用于根據(jù)多項(xiàng)式回歸模型對(duì)所述用電采樣數(shù)據(jù)進(jìn)行建模處理,得到所述能耗模型。
49、在一些實(shí)施例中,所述第四模塊,用于根據(jù)所述節(jié)點(diǎn)能耗信息從所述集群中分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度,包括:
50、第六單元,用于根據(jù)所述節(jié)點(diǎn)能耗信息計(jì)算得到集群節(jié)點(diǎn)平均能耗;
51、第七單元,用于根據(jù)所述集群節(jié)點(diǎn)平均能耗對(duì)所述集群進(jìn)行節(jié)點(diǎn)篩選處理,得到初始節(jié)點(diǎn)集合;
52、第八單元,用于對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行遍歷排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn);
53、第九單元,用于對(duì)所述分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度。
54、在一些實(shí)施例中,所述第八單元,用于對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行遍歷排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn),包括:
55、第六子單元,用于根據(jù)節(jié)點(diǎn)服務(wù)實(shí)例的運(yùn)行狀態(tài)對(duì)所述初始節(jié)點(diǎn)集合進(jìn)行篩選處理,得到目標(biāo)節(jié)點(diǎn)集合;
56、第七子單元,用于對(duì)所述目標(biāo)節(jié)點(diǎn)集合進(jìn)行節(jié)點(diǎn)剩余負(fù)載率計(jì)算處理,得到剩余負(fù)載率;
57、第八子單元,用于根據(jù)所述剩余負(fù)載率對(duì)所述目標(biāo)節(jié)點(diǎn)集合進(jìn)行排序處理,獲取得到節(jié)點(diǎn)剩余負(fù)載率最大的分配節(jié)點(diǎn)。
58、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)前面所述的方法。
59、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前面所述的方法。
60、本技術(shù)實(shí)施例至少包括以下有益效果:本技術(shù)提供一種集群負(fù)載均衡方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì),該方案通過(guò)獲取集群中節(jié)點(diǎn)的初始負(fù)載指標(biāo)數(shù)據(jù),根據(jù)負(fù)載上報(bào)閾值對(duì)初始負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行負(fù)載信息更新處理,得到目標(biāo)負(fù)載指標(biāo)數(shù)據(jù),能夠?qū)崟r(shí)監(jiān)控各節(jié)點(diǎn)的負(fù)載情況,并基于負(fù)載上報(bào)閾值對(duì)負(fù)載情況進(jìn)行更新,節(jié)省了集群網(wǎng)絡(luò)資源開(kāi)銷(xiāo);另外,該方案根據(jù)能耗模型對(duì)目標(biāo)負(fù)載指標(biāo)數(shù)據(jù)進(jìn)行節(jié)點(diǎn)能耗感知處理,得到節(jié)點(diǎn)能耗信息,根據(jù)節(jié)點(diǎn)能耗信息從集群中分配節(jié)點(diǎn)進(jìn)行任務(wù)調(diào)度,能夠根據(jù)能耗和負(fù)載情況對(duì)任務(wù)進(jìn)行合理調(diào)度,在有效降低集群能耗的同時(shí)使集群各節(jié)點(diǎn)負(fù)載均衡,提升了調(diào)度效率,降低集群運(yùn)營(yíng)成本,實(shí)現(xiàn)綠色節(jié)能的集群管理。