本申請涉及計算機(jī),尤其涉及一種計算節(jié)點內(nèi)存管理方法、裝置、設(shè)備及程序產(chǎn)品。
背景技術(shù):
1、在數(shù)據(jù)遷移、實時業(yè)務(wù)高并發(fā)處理等對系統(tǒng)穩(wěn)定性要求極高的應(yīng)用場景中,計算節(jié)點在分布式數(shù)據(jù)庫架構(gòu)中作為核心處理單元,需在擴(kuò)容或縮容時,從源端存儲節(jié)點讀取存量數(shù)據(jù)及增量數(shù)據(jù),并將數(shù)據(jù)暫存至計算節(jié)點的內(nèi)存隊列中,最終寫入目標(biāo)存儲節(jié)點。因此,計算節(jié)點內(nèi)存管理是至關(guān)重要的。
2、目前,現(xiàn)有的計算節(jié)點內(nèi)存管理方法主要是采用固定大小的內(nèi)存隊列對數(shù)據(jù)進(jìn)行緩存管理。該方法需要預(yù)先為內(nèi)存隊列分配容量,并通過配置的內(nèi)存閾值控制隊列寫入與溢出。
3、然而,現(xiàn)有的計算節(jié)點內(nèi)存管理方法因依賴靜態(tài)配置,導(dǎo)致現(xiàn)有的計算節(jié)點內(nèi)存管理方法的內(nèi)存資源利用率較低。
技術(shù)實現(xiàn)思路
1、本申請?zhí)峁┮环N計算節(jié)點內(nèi)存管理方法、裝置、設(shè)備及程序產(chǎn)品,用以達(dá)到提高內(nèi)存資源利用率的效果。
2、第一方面,本申請?zhí)峁┮环N計算節(jié)點內(nèi)存管理方法,包括:
3、構(gòu)建多級隊列體系,所述多級隊列體系包括至少兩級存儲介質(zhì)的隊列單元,所述隊列單元按存儲介質(zhì)性能分層設(shè)置;
4、基于計算節(jié)點的可用內(nèi)存,以及,預(yù)設(shè)比例系數(shù),計算所述多級隊列體系中所述各級隊列單元的容量閾值;
5、根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量,并在高優(yōu)先級隊列單元滿載時將數(shù)據(jù)遷移至低優(yōu)先級隊列單元。
6、在一種可能的實施方式中,所述根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量,包括:
7、檢測所述高優(yōu)先級隊列單元的內(nèi)存占用量;
8、在所述高優(yōu)先級隊列單元的所述內(nèi)存占用量達(dá)到所述容量閾值的情況下,將數(shù)據(jù)遷移至低優(yōu)先級隊列單元;
9、根據(jù)所述低優(yōu)先級隊列單元的可用容量更新其容量閾值。
10、在一種可能的實施方式中,所述根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量之后,包括:
11、在所述可用內(nèi)存增加的情況下時,將低優(yōu)先級隊列單元中的數(shù)據(jù)異步遷移至高優(yōu)先級隊列單元,并更新高優(yōu)先級隊列單元的容量閾值。
12、在一種可能的實施方式中,所述構(gòu)建多級隊列體系,包括下述內(nèi)容中的至少一種:
13、基于數(shù)據(jù)訪問頻率將數(shù)據(jù)劃分為熱點數(shù)據(jù)、常規(guī)數(shù)據(jù)和冷數(shù)據(jù),并分別存儲至不同優(yōu)先級的所述隊列單元;所述熱點數(shù)據(jù)為訪問頻率高、處理時效性強(qiáng)的數(shù)據(jù),所述冷數(shù)據(jù)為訪問頻率低、處理時效性要求低的數(shù)據(jù);
14、根據(jù)數(shù)據(jù)處理時效性調(diào)整所述隊列單元的優(yōu)先級,所述數(shù)據(jù)處理時效性指示數(shù)據(jù)需要被處理的時間敏感程度。
15、在一種可能的實施方式中,所述構(gòu)建多級隊列體系之后,根據(jù)數(shù)據(jù)特征動態(tài)調(diào)整各級隊列單元的優(yōu)先級權(quán)重,所述數(shù)據(jù)特征包括所述數(shù)據(jù)訪問頻率、數(shù)據(jù)大小,以及,處理時效性中的至少一種特征。
16、在一種可能的實施方式中,所述計算所述多級隊列體系中所述各級隊列單元的容量閾值之后,包括:
17、在所述計算節(jié)點的可用內(nèi)存變化的情況下,動態(tài)修正所述預(yù)設(shè)比例系數(shù);
18、基于所述修正的預(yù)設(shè)比例系數(shù)以及所述優(yōu)先級權(quán)重,更新所述各級隊列單元的容量閾值。
19、在一種可能的實施方式中,所述更新所述各級隊列單元的容量閾值,包括:
20、在所述計算節(jié)點的可用內(nèi)存變化的情況下,根據(jù)歷史內(nèi)存使用趨勢預(yù)測未來內(nèi)存需求,調(diào)整所述各級隊列單元的容量閾值。
21、第二方面,本申請?zhí)峁┮环N計算節(jié)點內(nèi)存管理裝置,包括:
22、構(gòu)建模塊,用于構(gòu)建多級隊列體系,所述多級隊列體系包括至少兩級存儲介質(zhì)的隊列單元,所述隊列單元按存儲介質(zhì)性能分層設(shè)置;
23、計算模塊,用于基于計算節(jié)點的可用內(nèi)存,以及,預(yù)設(shè)比例系數(shù),計算所述多級隊列體系中所述各級隊列單元的容量閾值;
24、調(diào)整模塊,用于根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量,并在高優(yōu)先級隊列單元滿載時將數(shù)據(jù)遷移至低優(yōu)先級隊列單元。
25、第三方面,本申請實施例提供一種電子設(shè)備,包括:存儲器,處理器;
26、所述存儲器存儲計算機(jī)執(zhí)行指令;
27、所述處理器執(zhí)行所述存儲器存儲的計算機(jī)執(zhí)行指令,使得所述處理器執(zhí)行如上第一方面任一項所述的方法。
28、第四方面,本申請實施例提供一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)執(zhí)行指令,所述計算機(jī)執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)如上第一方面任一項所述的方法。
29、第五方面,本申請實施例提供一種計算機(jī)程序產(chǎn)品,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)如上第一方面任一項所述的方法。
30、本申請?zhí)峁┑囊环N計算節(jié)點內(nèi)存管理方法、裝置、設(shè)備及程序產(chǎn)品,通過構(gòu)建多級隊列體系,為后續(xù)數(shù)據(jù)遷移奠定了基礎(chǔ)。其中,該多級隊列體系包括至少兩級存儲介質(zhì)的隊列單元,該隊列單元按存儲介質(zhì)性能分層設(shè)置?;谟嬎愎?jié)點的可用內(nèi)存,以及,預(yù)設(shè)比例系數(shù),可以計算該多級隊列體系中該各級隊列單元的容量閾值,確保內(nèi)存占用始終控制在安全范圍內(nèi),防止內(nèi)存占用超過閾值。根據(jù)該容量閾值動態(tài)調(diào)整該各級隊列單元的容量,并在高優(yōu)先級隊列單元滿載時將數(shù)據(jù)遷移至低優(yōu)先級隊列單元,提高了內(nèi)存資源的利用率。
1.一種計算節(jié)點內(nèi)存管理方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述容量閾值動態(tài)調(diào)整所述各級隊列單元的容量之后,包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述構(gòu)建多級隊列體系,包括下述內(nèi)容中的至少一種:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述構(gòu)建多級隊列體系之后,根據(jù)數(shù)據(jù)特征動態(tài)調(diào)整各級隊列單元的優(yōu)先級權(quán)重,所述數(shù)據(jù)特征包括數(shù)據(jù)訪問頻率、數(shù)據(jù)大小,以及,處理時效性中的至少一種特征。
6.根據(jù)權(quán)利要求1-5任一項所述的方法,其特征在于,所述計算所述多級隊列體系中所述各級隊列單元的容量閾值之后,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述更新所述各級隊列單元的容量閾值,包括:
8.一種計算節(jié)點內(nèi)存管理裝置,包括:
9.一種電子設(shè)備,其特征在于,包括:處理器,以及與所述處理器通信連接的存儲器;
10.一種計算機(jī)可讀存儲介質(zhì),其特征在于,所述計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)執(zhí)行指令,所述計算機(jī)執(zhí)行指令被處理器執(zhí)行時用于實現(xiàn)如權(quán)利要求1至7任一項所述的方法。
11.一種計算機(jī)程序產(chǎn)品,其特征在于,包括計算機(jī)程序,該計算機(jī)程序被處理器執(zhí)行時實現(xiàn)權(quán)利要求1至7中任一項所述的方法。