本技術(shù)涉及云計算,尤其涉及一種云資源實例調(diào)度方法、裝置及設(shè)備。
背景技術(shù):
1、數(shù)據(jù)中心通常設(shè)置有嚴(yán)格的高可用機(jī)制,以保證其在機(jī)房斷電、機(jī)柜故障等多類場景下的業(yè)務(wù)可用性。但該高可用機(jī)制的實現(xiàn)需要多個部門及系統(tǒng)同時參與,并制定針對各類故障的故障預(yù)案,在故障發(fā)生時還需要結(jié)合人工判斷進(jìn)行云資源實例的重新調(diào)度。
2、隨著技術(shù)的發(fā)展,數(shù)據(jù)中心的模塊化程度和集成度在持續(xù)提高,其物理和軟件拓?fù)湓絹碓綇?fù)雜。同時,由于數(shù)據(jù)中心的物理拓?fù)湟约败浖負(fù)浣Y(jié)構(gòu)在業(yè)務(wù)執(zhí)行過程時通常處于動態(tài)變化中,其對應(yīng)的故障影響范圍,即故障域也處于動態(tài)變化的狀態(tài),導(dǎo)致云資源實例調(diào)度的復(fù)雜性也逐漸增加。
3、相關(guān)技術(shù)中,基于預(yù)先指定的故障預(yù)案,結(jié)合人工判斷的資源調(diào)度方法,雖然能夠在拓?fù)浣Y(jié)構(gòu)變化時實現(xiàn)相應(yīng)的云資源實例調(diào)度,但由于故障預(yù)案通常為基于原始的拓?fù)浣Y(jié)構(gòu)制定的,在數(shù)據(jù)中心拓?fù)浣Y(jié)構(gòu)變化后,其調(diào)度效果無法保證,同時人工判斷的方式也存在調(diào)度效率較低等問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種云資源實例調(diào)度方法、裝置及設(shè)備,用于解決相關(guān)技術(shù)中云資源實例調(diào)度效率低且效果無法保證的問題。
2、第一方面,本技術(shù)實施例提供一種云資源實例調(diào)度方法,該方法包括:
3、獲取待調(diào)度的云資源實例;
4、針對每個云資源實例,基于上述云資源實例的目標(biāo)實例類型,從各故障域中確定至少一個候選故障域;上述目標(biāo)實例類型基于上述目標(biāo)實例類型對應(yīng)的云資源實例的業(yè)務(wù)屬性確定,每個故障域包括至少一個宿主機(jī),且不同級別的故障域之間存在重疊關(guān)系;
5、針對候選故障域中的每個候選宿主機(jī),基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值;
6、針對每個云資源實例,基于上述云資源實例對應(yīng)的各候選宿主機(jī)各自的調(diào)度權(quán)重值,從上述各候選宿主機(jī)中選擇目標(biāo)宿主機(jī),并將上述云資源實例調(diào)度至上述目標(biāo)宿主機(jī)。
7、上述方法,當(dāng)云資源實例或物理拓?fù)浒l(fā)生變化時,通過基于宿主機(jī)的資源量以及故障與的分級信息,實現(xiàn)了云資源實例動態(tài)調(diào)整后做自適應(yīng)調(diào)度,提高了調(diào)度的效率;由于網(wǎng)絡(luò)拓?fù)渥兓瘯r,宿主機(jī)對應(yīng)的故障域會隨之發(fā)生變化,在進(jìn)行宿主機(jī)的選擇時,除參考宿主機(jī)的資源量外,還參考宿主機(jī)當(dāng)前所在的故障域,能夠提高每次在進(jìn)行調(diào)度時的準(zhǔn)確性;采用多級故障域,不同級別的故障域之間可以進(jìn)行重疊,一個宿主機(jī)可以同時位于多個故障域,更貼近于現(xiàn)實場景。
8、在一種可能的實施方式中,上述基于上述云資源實例的目標(biāo)實例類型,從各故障域中確定至少一個候選故障域,包括:
9、針對任一故障域,確定上述故障域包括的參考宿主機(jī)的數(shù)量,其中上述參考宿主機(jī)為包括目標(biāo)實例類型的云資源實例的宿主機(jī);
10、基于各故障域包括的參考宿主機(jī)的數(shù)量,從各故障域中確定至少一個候選故障域。
11、上述方法,基于目標(biāo)實例類型的云資源實例在各故障域的分布情況,從各故障域中選擇候選故障域,能夠盡可能避免與同實例類型的云資源實例分布在同一個故障域,保證了資源分配的負(fù)載均衡。
12、在一種可能的實施方式中,若預(yù)先配置有與上述云資源實例對應(yīng)的反親和集合,上述反親和集合包括與上述待調(diào)度的云資源實例存在反親和關(guān)系的各云資源實例的實例類型;則上述從各故障域中確定至少一個候選故障域之后,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值之前,上述方法還包括:
13、基于各候選故障域中候選宿主機(jī)包括的云資源實例的實例類型,對各候選故障域進(jìn)行篩選,獲得篩選后的候選故障域;上述篩選后的候選故障域中,候選宿主機(jī)包括的云資源實例的實例類型均未位于上述反親和集合;
14、上述針對候選故障域中的每個候選宿主機(jī),基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值,包括:
15、針對篩選后的候選故障域中的每個候選宿主機(jī),基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值。
16、上述方法,由于存在基于業(yè)務(wù)屬性等原因?qū)е略瀑Y源實例之間存在反親和性的場景,對此,本技術(shù)實施例中設(shè)置了與云資源實例對應(yīng)的反親和集合,將不允許與該云資源實例設(shè)置在同一故障域的云資源實例的實例類型存儲在反親和集合中,在確定至少一個候選故障域之后,對各候選故障域進(jìn)行二次篩選,從中剔除與當(dāng)前云資源實例存在反親和關(guān)系的云資源實例所在的候選故障域,保證了后續(xù)調(diào)度后業(yè)務(wù)的正常運(yùn)行。
17、在一種可能的實施方式中,若存在位于多個故障域的任一候選宿主機(jī),則基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值,包括:
18、基于上述任一候選宿主機(jī)的資源量,生成與上述任一候選宿主機(jī)對應(yīng)的第一權(quán)重值;上述資源量用于表征對應(yīng)的候選宿主機(jī)的可用資源;
19、基于上述任一候選宿主機(jī)位于的多個故障域中,各候選故障域分別對應(yīng)的分級信息,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值;上述分級信息基于上述任一候選故障域的拓?fù)浣Y(jié)構(gòu)確定;
20、基于上述第一權(quán)重值與上述第二權(quán)重值,確定上述任一候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值。
21、上述方法,基于候選宿主機(jī)的可用資源以及位于的各候選故障域的分級信息,確定候選故障域的調(diào)度權(quán)重值,能夠準(zhǔn)確評估云資源實例對應(yīng)的候選宿主機(jī)調(diào)度效果,提高了云資源實例調(diào)度時的準(zhǔn)確性。
22、在一種可能的實施方式中,上述分級信息為對應(yīng)的候選故障域的區(qū)域權(quán)重,上述基于上述任一候選宿主機(jī)位于的多個故障域中,各候選故障域分別對應(yīng)的分級信息,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值之前,上述方法還包括:
23、獲取各故障域分別對應(yīng)的覆蓋范圍;
24、基于預(yù)設(shè)的覆蓋范圍與區(qū)域權(quán)重的對應(yīng)關(guān)系,確定各故障域分別對應(yīng)的區(qū)域權(quán)重;其中,上述覆蓋范圍越大對應(yīng)的區(qū)域權(quán)重越大;
25、上述基于上述任一候選宿主機(jī)位于的多個故障域中,各候選故障域分別對應(yīng)的分級信息,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值,包括:
26、對上述各候選故障域分別對應(yīng)的區(qū)域權(quán)重進(jìn)行求和,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值。
27、上述方法,基于覆蓋范圍確定故障域的區(qū)域權(quán)重,并對候選宿主機(jī)位于的各候選故障域的區(qū)域權(quán)重進(jìn)行求和,確定候選宿主機(jī)的第二權(quán)重值,綜合考慮宿主機(jī)位于的多個故障域的信息,保證了第二權(quán)重值的準(zhǔn)確性,進(jìn)而提高了云資源實例調(diào)度時的準(zhǔn)確性。
28、在一種可能的實施方式中,上述獲取待調(diào)度的云資源實例,包括:
29、檢測到任一業(yè)務(wù)對應(yīng)的資源調(diào)度組中的云資源實例發(fā)生變化時,將上述資源調(diào)度組中包括的各云資源實例作為上述待調(diào)度的云資源實例;或者,
30、檢測到任一故障域中的宿主機(jī)發(fā)生變化時,將上述宿主機(jī)當(dāng)前配置的各云資源實例作為上述待調(diào)度的云資源實例。
31、上述方法,在云資源實例發(fā)生變化,或者宿主機(jī)發(fā)生變化時,觸發(fā)獲取待調(diào)度的云資源實例進(jìn)行調(diào)度的過程,能夠保證及時進(jìn)行云資源實例的調(diào)度,提高調(diào)度效率。
32、在一種可能的實施方式中,上述基于上述云資源實例的目標(biāo)實例類型,從各故障域中確定至少一個候選故障域,包括:
33、獲取與上述云資源實例對應(yīng)的調(diào)度范圍;
34、基于上述云資源實例的目標(biāo)實例類型,從位于上述調(diào)度范圍內(nèi)的各故障域中確定至少一個候選故障域。
35、上述方法,通過設(shè)置云資源實例的調(diào)度范圍,從調(diào)度范圍內(nèi)的各故障域中選中候選故障域,能夠保證選擇的候選故障域位于指定范圍內(nèi)。
36、第二方面,本技術(shù)實施例提供一種云資源實例調(diào)度裝置,該裝置包括:
37、獲取模塊,用于獲取待調(diào)度的云資源實例;
38、故障域確定模塊,用于針對每個云資源實例,基于上述云資源實例的目標(biāo)實例類型,從各故障域中確定至少一個候選故障域;上述目標(biāo)實例類型基于上述目標(biāo)實例類型對應(yīng)的云資源實例的業(yè)務(wù)屬性確定,每個故障域包括至少一個宿主機(jī),且不同級別的故障域之間存在重疊關(guān)系;
39、權(quán)重值確定模塊,用于針對候選故障域中的每個候選宿主機(jī),基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值;
40、調(diào)度模塊,用于針對每個云資源實例,基于上述云資源實例對應(yīng)的各候選宿主機(jī)各自的調(diào)度權(quán)重值,從上述各候選宿主機(jī)中選擇目標(biāo)宿主機(jī),并將上述云資源實例調(diào)度至上述目標(biāo)宿主機(jī)。
41、在一種可能的實施方式中,上述故障域確定模塊,具體用于:
42、針對任一故障域,確定上述故障域包括的參考宿主機(jī)的數(shù)量,其中上述參考宿主機(jī)為包括目標(biāo)實例類型的云資源實例的宿主機(jī);
43、基于各故障域包括的參考宿主機(jī)的數(shù)量,從各故障域中確定至少一個候選故障域。
44、在一種可能的實施方式中,若預(yù)先配置有與上述云資源實例對應(yīng)的反親和集合,上述反親和集合包括與上述待調(diào)度的云資源實例存在反親和關(guān)系的各云資源實例的實例類型;則上述故障域確定模塊在從各故障域中確定至少一個候選故障域之后,還用于:
45、基于各候選故障域中候選宿主機(jī)包括的云資源實例的實例類型,對各候選故障域進(jìn)行篩選,獲得篩選后的候選故障域;上述篩選后的候選故障域中,候選宿主機(jī)包括的云資源實例的實例類型均未位于上述反親和集合;
46、上述權(quán)重值確定模塊,具體用于:
47、針對篩選后的候選故障域中的每個候選宿主機(jī),基于上述候選宿主機(jī)的資源量以及位于的故障域的分級信息,確定上述候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值。
48、在一種可能的實施方式中,若存在位于多個故障域的任一候選宿主機(jī),則上述權(quán)重值確定模塊,具體用于:
49、基于上述任一候選宿主機(jī)的資源量,生成與上述任一候選宿主機(jī)對應(yīng)的第一權(quán)重值;上述資源量用于表征對應(yīng)的候選宿主機(jī)的可用資源;
50、基于上述任一候選宿主機(jī)位于的多個故障域中,各候選故障域分別對應(yīng)的分級信息,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值;上述分級信息基于上述任一候選故障域的拓?fù)浣Y(jié)構(gòu)確定;
51、基于上述第一權(quán)重值與上述第二權(quán)重值,確定上述任一候選宿主機(jī)對應(yīng)的調(diào)度權(quán)重值。
52、在一種可能的實施方式中,上述分級信息為對應(yīng)的候選故障域的區(qū)域權(quán)重,上述權(quán)重值確定模塊,具體用于:
53、獲取各故障域分別對應(yīng)的覆蓋范圍;
54、基于預(yù)設(shè)的覆蓋范圍與區(qū)域權(quán)重的對應(yīng)關(guān)系,確定各故障域分別對應(yīng)的區(qū)域權(quán)重;其中,上述覆蓋范圍越大對應(yīng)的區(qū)域權(quán)重越大;
55、上述基于上述任一候選宿主機(jī)位于的多個故障域中,各候選故障域分別對應(yīng)的分級信息,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值,包括:
56、對上述各候選故障域分別對應(yīng)的區(qū)域權(quán)重進(jìn)行求和,生成與上述任一候選宿主機(jī)對應(yīng)的第二權(quán)重值。
57、在一種可能的實施方式中,上述獲取模塊,具體用于:
58、檢測到任一業(yè)務(wù)對應(yīng)的資源調(diào)度組中的云資源實例發(fā)生變化時,將上述資源調(diào)度組中包括的各云資源實例作為上述待調(diào)度的云資源實例;或者,
59、檢測到任一故障域中的宿主機(jī)發(fā)生變化時,將上述宿主機(jī)當(dāng)前配置的各云資源實例作為上述待調(diào)度的云資源實例。
60、在一種可能的實施方式中,上述故障域確定模塊,具體用于:
61、獲取與上述云資源實例對應(yīng)的調(diào)度范圍;
62、基于上述云資源實例的目標(biāo)實例類型,從位于上述調(diào)度范圍內(nèi)的各故障域中確定至少一個候選故障域。
63、第三方面,本技術(shù)實施例提供一種電子設(shè)備,包括存儲器、處理器及存儲在上述存儲器上并可在上述處理器上運(yùn)行的計算機(jī)程序,上述處理器執(zhí)行上述計算機(jī)程序時實現(xiàn)上述云資源實例調(diào)度方法中的步驟。
64、第四方面,本技術(shù)實施例提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,該程序被處理器執(zhí)行時實現(xiàn)本技術(shù)上述的云資源實例調(diào)度方法中的步驟。
65、第五方面,本技術(shù)實施例提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,計算機(jī)程序存儲在計算機(jī)可讀存儲介質(zhì)中;當(dāng)內(nèi)存訪問設(shè)備的處理器從計算機(jī)可讀存儲介質(zhì)讀取計算機(jī)程序時,處理器執(zhí)行計算機(jī)程序,使得內(nèi)存訪問設(shè)備執(zhí)行本技術(shù)上述云資源實例調(diào)度方法中的步驟。
66、上述第二至五方面中的各個方面以及各個方面可能達(dá)到的技術(shù)效果請參照上述針對第一方面或第一方面中的各種可能方案可以達(dá)到的技術(shù)效果說明,這里不再重復(fù)贅述。