本技術(shù)涉及資源管理,特別是涉及一種資源管理方法、設(shè)備及介質(zhì)。
背景技術(shù):
1、存儲(chǔ)系統(tǒng)的資源配額管理作為一種高效的資源管理手段,不僅保證了系統(tǒng)的穩(wěn)定性和公平性,還提供了對(duì)資源的細(xì)粒度控制,增強(qiáng)資源的合理使用,提高資源的合理使用性。配額管理在存儲(chǔ)系統(tǒng)中是一種重要的技術(shù),它用于控制和限制磁盤(pán)空間的使用。具體來(lái)說(shuō),存儲(chǔ)系統(tǒng)的配額管理能夠限定節(jié)點(diǎn)或組對(duì)磁盤(pán)存儲(chǔ)資源的最大使用量,從而避免單個(gè)節(jié)點(diǎn)占用過(guò)多資源而影響其他用戶的正常使用。隨著信息技術(shù)的飛速發(fā)展,數(shù)據(jù)量呈指數(shù)級(jí)增長(zhǎng),企業(yè)和個(gè)人的存儲(chǔ)需求也在不斷增加。如何有效管理和利用存儲(chǔ)空間成為一個(gè)亟需解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本技術(shù)實(shí)施例提供一種資源管理方法、設(shè)備及介質(zhì),以便克服上述問(wèn)題或者至少部分地解決上述問(wèn)題。
2、本技術(shù)實(shí)施例第一方面提供了一種資源管理方法,應(yīng)用于集群中的集群控制器,所述方法包括:
3、接收所述集群中的第一節(jié)點(diǎn)發(fā)出的預(yù)申請(qǐng),所述預(yù)申請(qǐng)用于申請(qǐng)目標(biāo)資源;
4、當(dāng)所述集群的總資源的剩余申請(qǐng)量滿足需求時(shí),從所述集群的總資源的剩余申請(qǐng)量中,為所述第一節(jié)點(diǎn)分配所述目標(biāo)資源,并接收所述第一節(jié)點(diǎn)基于所述預(yù)申請(qǐng)的生命周期,主動(dòng)釋放的目標(biāo)資源中的剩余資源;
5、當(dāng)所述集群的總資源的剩余申請(qǐng)量不滿足需求時(shí),強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,并將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn)。
6、可選地,每個(gè)預(yù)申請(qǐng)的生命周期至少包括第一階段和第二階段,所述強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,包括:
7、確定多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量的總和,所述第一目標(biāo)資源為集群中包含的多個(gè)節(jié)點(diǎn)申請(qǐng)的處于第二階段的目標(biāo)資源,其中,在所述第二階段中,所述預(yù)申請(qǐng)的目標(biāo)資源不變化且所述第一目標(biāo)資源中的剩余資源可被同一節(jié)點(diǎn)發(fā)出的處于所述第一階段的其他預(yù)申請(qǐng)直接調(diào)用;
8、判斷所述多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量的總和是否滿足所述第一節(jié)點(diǎn)需要申請(qǐng)的目標(biāo)資源的資源申請(qǐng)量;
9、當(dāng)所述多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量的總和滿足所述第一節(jié)點(diǎn)需要申請(qǐng)的目標(biāo)資源的資源申請(qǐng)量時(shí),強(qiáng)制回收所述多個(gè)第一目標(biāo)資源中的剩余資源。
10、可選地,所述強(qiáng)制回收所述多個(gè)第一目標(biāo)資源中的剩余資源,包括:
11、按照從大到小的順序,對(duì)所述多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量進(jìn)行排序,得到第一列表;
12、遍歷所述第一列表中多個(gè)第一目標(biāo)資源的資源剩余量,對(duì)遍歷到的第一目標(biāo)資源的進(jìn)行累加,并判斷累加過(guò)程中得到的多個(gè)第一目標(biāo)資源的資源剩余量的總和是否滿足所述目標(biāo)資源的資源申請(qǐng)量;
13、當(dāng)所述累加過(guò)程中得到的多個(gè)第一目標(biāo)資源的資源剩余量的總和滿足所述目標(biāo)資源的資源申請(qǐng)量時(shí),結(jié)束對(duì)所述第一列表的遍歷;
14、向所述累加過(guò)程中得到的多個(gè)第一目標(biāo)資源的資源剩余量的總和所對(duì)應(yīng)的剩余資源進(jìn)行回收;
15、所述將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn),包括:將所述累加過(guò)程中得到的多個(gè)第一目標(biāo)資源的資源剩余量的總和所對(duì)應(yīng)的剩余資源分配給所述第一節(jié)點(diǎn)。
16、可選地,所述方法還包括:
17、當(dāng)所述多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量的總和無(wú)法滿足所述第一節(jié)點(diǎn)需要申請(qǐng)的目標(biāo)資源的資源申請(qǐng)量時(shí),確定多個(gè)第二目標(biāo)資源中的剩余資源的資源剩余量的總和,所述第二目標(biāo)資源為集群中包含的多個(gè)節(jié)點(diǎn)申請(qǐng)的處于第一階段的目標(biāo)資源,其中,在所述第一階段中,所述預(yù)申請(qǐng)的目標(biāo)資源可變化且所述第一目標(biāo)資源中的剩余資源可被同一節(jié)點(diǎn)發(fā)出的處于所述第一階段的其他預(yù)申請(qǐng)直接調(diào)用;
18、基于所述多個(gè)第一目標(biāo)資源中的剩余資源的資源剩余量的總和以及所述第一節(jié)點(diǎn)需要申請(qǐng)的目標(biāo)資源的資源申請(qǐng)量,計(jì)算出資源申請(qǐng)量差值;
19、判斷所述多個(gè)第二目標(biāo)資源中的剩余資源的資源剩余量的總和是否滿足所述資源申請(qǐng)量差值;
20、當(dāng)所述多個(gè)第二目標(biāo)資源中的剩余資源的資源剩余量的總和滿足所述資源申請(qǐng)量差值時(shí),強(qiáng)制回收所述多個(gè)第二目標(biāo)資源中的剩余資源。
21、可選地,所述強(qiáng)制回收所述多個(gè)第二目標(biāo)資源中的剩余資源,包括:
22、直接回收所述多個(gè)第一目標(biāo)資源中的剩余資源;
23、按照從大到小的順序,對(duì)所述多個(gè)第二目標(biāo)資源中的剩余資源的資源剩余量進(jìn)行排序,得到第二列表;
24、遍歷所述第二列表中多個(gè)第二目標(biāo)資源的資源剩余量,對(duì)遍歷到的第二目標(biāo)資源的進(jìn)行累加,并判斷累加過(guò)程中得到的多個(gè)第二目標(biāo)資源的資源剩余量的總和是否滿足所述資源申請(qǐng)量差值;
25、當(dāng)所述累加過(guò)程中得到的多個(gè)第二目標(biāo)資源的資源剩余量的總和滿足所述資源申請(qǐng)量差值時(shí),結(jié)束對(duì)所述第二列表的遍歷;
26、向所述累加過(guò)程中得到的多個(gè)第二目標(biāo)資源的資源剩余量的總和所對(duì)應(yīng)的剩余資源進(jìn)行回收;
27、所述將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn),包括:將所述累加過(guò)程中得到的多個(gè)第二目標(biāo)資源的資源剩余量的總和所對(duì)應(yīng)的剩余資源分配給所述第一節(jié)點(diǎn)。
28、可選地,在所述接收第一節(jié)點(diǎn)發(fā)出的預(yù)申請(qǐng)之后,還包括:
29、計(jì)算所述集群的總資源的剩余申請(qǐng)量;
30、判斷所述集群的總資源的剩余申請(qǐng)量與所述目標(biāo)資源的大小關(guān)系,基于所述大小關(guān)系確定所述集群的總資源的剩余申請(qǐng)量是否滿足需求;
31、所述方法還包括:當(dāng)所述集群的總資源的剩余申請(qǐng)量和所述集群中包含的多個(gè)節(jié)點(diǎn)的剩余資源均無(wú)法滿足所述第一節(jié)點(diǎn)的目標(biāo)資源,和/或所述集群的總資源的剩余申請(qǐng)量為零時(shí),發(fā)出超額告警;
32、所述方法還包括:當(dāng)存在多個(gè)第一節(jié)點(diǎn)發(fā)出多個(gè)預(yù)申請(qǐng)時(shí),按照多個(gè)預(yù)申請(qǐng)發(fā)起的先后順序或所述多個(gè)第一節(jié)點(diǎn)上需要處理的業(yè)務(wù)的優(yōu)先級(jí)順序?qū)λ龆鄠€(gè)預(yù)申請(qǐng)進(jìn)行響應(yīng);
33、所述生命周期還包括第三階段,所述方法還包括:接收所述第一節(jié)點(diǎn)在所述第三階段主動(dòng)釋放的目標(biāo)資源中的剩余資源。
34、本技術(shù)實(shí)施例第二方面提供了一種資源管理方法,應(yīng)用于第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)為集群所包含多個(gè)節(jié)點(diǎn)中的任一節(jié)點(diǎn),所述方法包括:
35、向所述集群中的集群控制器發(fā)出預(yù)申請(qǐng),所述預(yù)申請(qǐng)用于申請(qǐng)目標(biāo)資源;
36、接收所述集群分配的目標(biāo)資源,并對(duì)所述預(yù)申請(qǐng)的生命周期進(jìn)行管理,當(dāng)所述生命周期結(jié)束時(shí),將所述目標(biāo)資源中的剩余資源釋放給所述集群,以使所述集群控制器將所述目標(biāo)資源中的剩余資源添加至所述集群的總資源的剩余申請(qǐng)量中;
37、其中,所述目標(biāo)資源是所述集群控制器通過(guò)以下方式分配給所述第一節(jié)點(diǎn)的:當(dāng)所述集群的總資源的剩余申請(qǐng)量滿足需求時(shí),從所述集群的總資源的剩余申請(qǐng)量中,為所述第一節(jié)點(diǎn)分配所述目標(biāo)資源;當(dāng)所述集群的總資源的剩余申請(qǐng)量不滿足需求時(shí),強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,并將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn)。
38、可選地,所述預(yù)申請(qǐng)的生命周期至少包括第一階段、第二階段以及第三階段,所述對(duì)所述預(yù)申請(qǐng)的生命周期進(jìn)行管理,包括:
39、當(dāng)所述預(yù)申請(qǐng)?zhí)幱诘谝浑A段時(shí),優(yōu)先使用所述第一節(jié)點(diǎn)的其他預(yù)申請(qǐng)中處于第二階段的目標(biāo)資源的剩余資源,并將所述預(yù)申請(qǐng)使用的所述第一節(jié)點(diǎn)的其他預(yù)申請(qǐng)中處于第二階段的目標(biāo)資源的剩余資源的資源使用量記錄在所述預(yù)申請(qǐng)的生命周期中的第一階段的資源使用記錄中;
40、當(dāng)所述處于第二階段的目標(biāo)資源的剩余資源無(wú)法滿足所述第一節(jié)點(diǎn)需要申請(qǐng)的目標(biāo)資源的資源申請(qǐng)量時(shí),再向所述集群申請(qǐng)資源;
41、當(dāng)所述預(yù)申請(qǐng)?zhí)幱诘诙A段時(shí),允許第一節(jié)點(diǎn)中處于第一階段的其他預(yù)申請(qǐng)階段消耗處于第二階段的目標(biāo)資源的剩余資源,并將所述其他預(yù)申請(qǐng)使用的所述處于第一階段的其他預(yù)申請(qǐng)階段消耗處于第二階段的目標(biāo)資源的剩余資源的資源使用量記錄在所述其他預(yù)申請(qǐng)的生命周期中的第一階段的資源使用記錄中;
42、當(dāng)所述預(yù)申請(qǐng)?zhí)幱诘谌A段時(shí),將所述預(yù)申請(qǐng)的目標(biāo)資源的剩余資源釋放給所述集群;
43、其中,在所述第一階段中,所述目標(biāo)資源的資源申請(qǐng)量可變化,在所述第二階段和所述第三階段中,所述目標(biāo)資源的資源申請(qǐng)量不可變化。
44、本技術(shù)實(shí)施例第三方面提供了一種資源管理裝置,應(yīng)用于集群中的集群控制器,所述裝置包括:
45、預(yù)申請(qǐng)接收模塊,用于接收所述集群中的第一節(jié)點(diǎn)發(fā)出的預(yù)申請(qǐng),所述預(yù)申請(qǐng)用于申請(qǐng)目標(biāo)資源;
46、分配模塊,用于當(dāng)所述集群的總資源的剩余申請(qǐng)量滿足需求時(shí),從所述集群的總資源的剩余申請(qǐng)量中,為所述第一節(jié)點(diǎn)分配所述目標(biāo)資源,并接收所述第一節(jié)點(diǎn)基于所述預(yù)申請(qǐng)的生命周期,主動(dòng)釋放的目標(biāo)資源中的剩余資源;
47、回收模塊,用于當(dāng)所述集群的總資源的剩余申請(qǐng)量不滿足需求時(shí),強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,并將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn)。
48、本技術(shù)實(shí)施例第四方面提供了一種資源管理裝置,應(yīng)用于第一節(jié)點(diǎn),所述第一節(jié)點(diǎn)為集群所包含多個(gè)節(jié)點(diǎn)中的任一節(jié)點(diǎn),所述裝置包括:
49、申請(qǐng)模塊,用于向所述集群中的集群控制器發(fā)出預(yù)申請(qǐng),所述預(yù)申請(qǐng)用于申請(qǐng)目標(biāo)資源;
50、目標(biāo)資源接收模塊,用于接收所述集群分配的目標(biāo)資源,并對(duì)所述預(yù)申請(qǐng)的生命周期進(jìn)行管理,當(dāng)所述生命周期結(jié)束時(shí),將所述目標(biāo)資源中的剩余資源釋放給所述集群,以使所述集群控制器將所述目標(biāo)資源中的剩余資源添加至所述集群的總資源的剩余申請(qǐng)量中;
51、其中,所述目標(biāo)資源是所述集群控制器通過(guò)以下方式分配給所述第一節(jié)點(diǎn)的:當(dāng)所述集群的總資源的剩余申請(qǐng)量滿足需求時(shí),從所述集群的總資源的剩余申請(qǐng)量中,為所述第一節(jié)點(diǎn)分配所述目標(biāo)資源;當(dāng)所述集群的總資源的剩余申請(qǐng)量不滿足需求時(shí),強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,并將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn)。
52、本技術(shù)實(shí)施例第五方面提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序,其中,所述處理器執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)如第一方面或第二方面所述的資源管理方法。
53、本技術(shù)實(shí)施例第六方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面或第二方面所述的資源管理方法。
54、本技術(shù)的有益效果:
55、本技術(shù)實(shí)施例提供一種資源管理方法、設(shè)備及介質(zhì),應(yīng)用于集群中的集群控制器,所述方法包括:接收所述集群中的第一節(jié)點(diǎn)發(fā)出的預(yù)申請(qǐng),所述預(yù)申請(qǐng)用于申請(qǐng)目標(biāo)資源;當(dāng)所述集群的總資源的剩余申請(qǐng)量滿足需求時(shí),從所述集群的總資源的剩余申請(qǐng)量中,為所述第一節(jié)點(diǎn)分配所述目標(biāo)資源,并接收所述第一節(jié)點(diǎn)基于所述預(yù)申請(qǐng)的生命周期,主動(dòng)釋放的目標(biāo)資源中的剩余資源;當(dāng)所述集群的總資源的剩余申請(qǐng)量不滿足需求時(shí),強(qiáng)制回收所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源,并將所述集群中其他節(jié)點(diǎn)申請(qǐng)的且未主動(dòng)釋放的目標(biāo)資源中的剩余資源分配給所述第一節(jié)點(diǎn)。
56、通過(guò)本技術(shù)的技術(shù)方案,集群中的節(jié)點(diǎn)能夠向集群申請(qǐng)資源,每次申請(qǐng)的資源都進(jìn)行生命周期的管理,當(dāng)生命周期結(jié)束時(shí),將未使用的剩余資源主動(dòng)釋放給集群,以這些釋放的資源能夠被再次分配,避免資源閑置,最大化資源使用。當(dāng)節(jié)點(diǎn)需要向集群申請(qǐng)資源時(shí),而集群當(dāng)前的剩余資源無(wú)法滿足的情況下,集群會(huì)向已經(jīng)分配了資源但未完全使用完且沒(méi)有主動(dòng)釋放資源的節(jié)點(diǎn)的剩余資源進(jìn)行強(qiáng)制回收,將回收的剩余資源給申請(qǐng)資源的節(jié)點(diǎn),從而提高用配額資源分配的公正性,確保資源按需分配,減少資源爭(zhēng)用。并且,這種資源管理方法,還能夠提高集群管理的靈活性,進(jìn)而提高集群的性能和可靠性,減少集群故障,提升用戶體驗(yàn)。