本公開涉及云計(jì)算,尤其涉及一種資源開通方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在云主機(jī)的創(chuàng)建過程中,經(jīng)過調(diào)度服務(wù)篩選后會選擇出一個(gè)最佳的計(jì)算節(jié)點(diǎn),然后將云主機(jī)開通在這個(gè)計(jì)算節(jié)點(diǎn)上。
2、在資源開通過程中,為了避免數(shù)據(jù)競爭引起的資源占用并發(fā)問題,通常通過悲觀鎖的機(jī)制進(jìn)行并發(fā)限制。即當(dāng)一個(gè)計(jì)算節(jié)點(diǎn)需要處理多個(gè)資源開通請求時(shí),悲觀鎖機(jī)制可以保證一次只有一個(gè)資源開通請求能被正常處理(即完成資源開通操作),在此期間,其他資源開通請求均處于阻塞等待的狀態(tài)。這種方式雖然可以在資源競爭過程中保證數(shù)據(jù)的準(zhǔn)確性,但這種方式會嚴(yán)重制約平臺的吞吐量,無法做到快速、準(zhǔn)確、實(shí)時(shí)交付,不能為客戶提供穩(wěn)定的服務(wù)。
技術(shù)實(shí)現(xiàn)思路
1、為了解決上述技術(shù)問題,本公開提供了一種資源開通方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)。
2、第一方面,本公開提供了一種資源開通方法,包括:
3、當(dāng)獲取到當(dāng)前批次的資源開通請求時(shí),對目標(biāo)計(jì)算節(jié)點(diǎn)的資源上悲觀鎖,目標(biāo)計(jì)算節(jié)點(diǎn)為調(diào)度服務(wù)確定的用于處理當(dāng)前批次中各資源開通請求的計(jì)算節(jié)點(diǎn);根據(jù)當(dāng)前批次中的每一個(gè)資源開通請求,對目標(biāo)計(jì)算節(jié)點(diǎn)的資源進(jìn)行預(yù)分配,得到與每一個(gè)資源開通請求對應(yīng)的分配信息,并釋放悲觀鎖;調(diào)用與資源開通請求相同數(shù)量的線程,分別根據(jù)每一個(gè)資源開通請求對應(yīng)的分配信息執(zhí)行相應(yīng)的資源開通操作。
4、本公開實(shí)施例提供的技術(shù)方案與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn):
5、本實(shí)施例提供的資源開通操作,在獲取到當(dāng)前批次的資源開通請求時(shí),對目標(biāo)計(jì)算節(jié)點(diǎn)的資源上悲觀鎖,在根據(jù)當(dāng)前批次的資源開通請求完成對目標(biāo)計(jì)算節(jié)點(diǎn)資源的預(yù)分配并得到與各資源開通請求分別對應(yīng)的分配信息后,釋放悲觀鎖;并通過調(diào)用的多個(gè)線程并行執(zhí)行資源開通操作;在本實(shí)施例提供的方案中,通過上鎖階段的批量資源預(yù)處理和釋放鎖后的并行處理,顯著提高了高并發(fā)場景下資源開通的效率;相比傳統(tǒng)的悲觀鎖方式,該方案通過批量預(yù)分配和并行處理,減少了頻繁加鎖和資源競爭的問題,提高了系統(tǒng)的吞吐量和響應(yīng)速度,在保證數(shù)據(jù)準(zhǔn)確性的前提下,實(shí)現(xiàn)了快速、實(shí)時(shí)的資源交付,從而能夠更好地滿足客戶需求,提供穩(wěn)定的服務(wù)。
6、在一可選實(shí)施方式中,在當(dāng)獲取到當(dāng)前批次的資源開通請求時(shí),對目標(biāo)計(jì)算節(jié)點(diǎn)的資源上悲觀鎖之前,方法還包括:
7、接收至少兩個(gè)資源開通請求;由至少兩個(gè)資源開通請求形成請求隊(duì)列;以預(yù)設(shè)數(shù)量的資源開通請求作為一個(gè)批次,將請求隊(duì)列劃分為至少一個(gè)批次。
8、在一可選實(shí)施方式中,預(yù)設(shè)數(shù)量的確定方式包括:
9、讀取目標(biāo)計(jì)算節(jié)點(diǎn)的cpu負(fù)載;將cpu負(fù)載所屬負(fù)載區(qū)間對應(yīng)的數(shù)量確定為預(yù)設(shè)數(shù)量。
10、在一可選實(shí)施方式中,在根據(jù)當(dāng)前批次中的每一個(gè)資源開通請求,對目標(biāo)計(jì)算節(jié)點(diǎn)的資源進(jìn)行預(yù)分配之后,方法還包括:
11、對目標(biāo)計(jì)算節(jié)點(diǎn)中已經(jīng)完成預(yù)分配的資源添加標(biāo)簽,標(biāo)簽用以表征資源的使用狀態(tài)。
12、在一可選實(shí)施方式中,在調(diào)用與資源開通請求相同數(shù)量的線程,分別根據(jù)每一個(gè)資源開通請求對應(yīng)的分配信息執(zhí)行相應(yīng)的資源開通操作之后,方法還包括:
13、將資源開通狀態(tài)記錄于日志文件中。
14、在一可選實(shí)施方式中,方法還包括:
15、當(dāng)資源開通操作失敗時(shí),記錄操作失敗的原因;執(zhí)行與原因?qū)?yīng)的補(bǔ)救操作,以完成資源開通。
16、在一可選實(shí)施方式中,當(dāng)原因?yàn)轭A(yù)分配失敗時(shí),執(zhí)行與原因?qū)?yīng)的補(bǔ)救操作,以完成資源開通,包括:
17、重新基于資源開通請求進(jìn)行資源預(yù)分配操作,并調(diào)用工作線程重新基于預(yù)分配操作得到的分配信息執(zhí)行資源開通操作。
18、第二方面,本公開提供了一種資源開通裝置,包括:
19、上鎖模塊,用于當(dāng)獲取到當(dāng)前批次的資源開通請求時(shí),對目標(biāo)計(jì)算節(jié)點(diǎn)的資源上悲觀鎖,目標(biāo)計(jì)算節(jié)點(diǎn)為調(diào)度服務(wù)確定的用于處理當(dāng)前批次中各資源開通請求的計(jì)算節(jié)點(diǎn);預(yù)分配模塊,用于根據(jù)當(dāng)前批次中的每一個(gè)資源開通請求,對目標(biāo)計(jì)算節(jié)點(diǎn)的資源進(jìn)行預(yù)分配,得到與每一個(gè)資源開通請求對應(yīng)的分配信息,并釋放悲觀鎖;資源開通模塊,用于調(diào)用與資源開通請求相同數(shù)量的線程,分別根據(jù)每一個(gè)資源開通請求對應(yīng)的分配信息執(zhí)行相應(yīng)的資源開通操作。
20、第三方面,本公開提供了一種計(jì)算機(jī)設(shè)備,包括:
21、存儲器和處理器,存儲器和處理器之間互相通信連接,存儲器中存儲有計(jì)算機(jī)指令,處理器通過執(zhí)行計(jì)算機(jī)指令,從而執(zhí)行
技術(shù)實(shí)現(xiàn)要素:
中第一方面及其任一實(shí)施方式的資源開通方法。
22、第四方面,本公開提供了一種計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)指令,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行發(fā)明內(nèi)容中第一方面及其任一實(shí)施方式的資源開通方法。
1.一種資源開通方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述當(dāng)獲取到當(dāng)前批次的資源開通請求時(shí),對目標(biāo)計(jì)算節(jié)點(diǎn)的資源上悲觀鎖之前,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)設(shè)數(shù)量的確定方式包括:
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,在所述根據(jù)所述當(dāng)前批次中的每一個(gè)所述資源開通請求,對所述目標(biāo)計(jì)算節(jié)點(diǎn)的資源進(jìn)行預(yù)分配之后,所述方法還包括:
5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,在所述調(diào)用與所述資源開通請求相同數(shù)量的線程,分別根據(jù)每一個(gè)所述資源開通請求對應(yīng)的分配信息執(zhí)行相應(yīng)的資源開通操作之后,所述方法還包括:
6.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)所述原因?yàn)轭A(yù)分配失敗時(shí),所述執(zhí)行與所述原因?qū)?yīng)的補(bǔ)救操作,以完成資源開通,包括:
8.一種資源開通裝置,其特征在于,包括:
9.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:
10.一種計(jì)算機(jī)可讀存儲介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行權(quán)利要求1至7中任一項(xiàng)所述的資源開通方法。