本發(fā)明涉及計(jì)算機(jī)存儲(chǔ),尤其涉及一種基于分離式內(nèi)存的多層緩沖管理方法與系統(tǒng)。
背景技術(shù):
1、分離式內(nèi)存架構(gòu)已成為現(xiàn)代數(shù)據(jù)中心和云數(shù)據(jù)庫系統(tǒng)的重要設(shè)計(jì)方向。這種架構(gòu)將計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)進(jìn)行物理分離,并通過高速網(wǎng)絡(luò)(例如,rdma,翻譯為遠(yuǎn)端內(nèi)存直接訪問)連接,使計(jì)算節(jié)點(diǎn)能夠靈活地訪問共享的內(nèi)存池。與傳統(tǒng)緊耦合架構(gòu)相比,分離式內(nèi)存架構(gòu)具有更高的資源利用率、擴(kuò)展性和靈活性,因?yàn)橛?jì)算資源和內(nèi)存資源可以根據(jù)需要獨(dú)立擴(kuò)展。這種架構(gòu)尤其適用于處理大規(guī)模數(shù)據(jù)并且內(nèi)存需求變化頻繁的應(yīng)用場(chǎng)景,如實(shí)時(shí)分析、大數(shù)據(jù)處理和高性能計(jì)算等。
2、然而,這種計(jì)算與內(nèi)存分離的方式也帶來了新的挑戰(zhàn),尤其是在數(shù)據(jù)庫系統(tǒng)的緩沖管理方面。在分離式內(nèi)存架構(gòu)中,由于計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)之間的通信仍然存在一定的延遲,盡管快于傳統(tǒng)磁盤io(輸入輸出),但仍遠(yuǎn)遠(yuǎn)慢于本地內(nèi)存訪問,因此需要在計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)上引入層次化的緩沖管理。
3、在傳統(tǒng)數(shù)據(jù)庫系統(tǒng)中,緩沖管理策略通常駐留在計(jì)算節(jié)點(diǎn)的本地內(nèi)存中,利用哈希表和復(fù)雜的數(shù)據(jù)結(jié)構(gòu)來優(yōu)化本地內(nèi)存與磁盤之間的訪問,以提高緩存命中率。這些緩沖管理策略依賴于維護(hù)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如哈希表、lru(least?recently?used,最近最少使用)鏈表,用于快速查找、插入和刪除緩存數(shù)據(jù)。雖然這些數(shù)據(jù)結(jié)構(gòu)能夠有效地提升本地內(nèi)存與磁盤之間的訪問效率,但也會(huì)帶來顯著的計(jì)算開銷,尤其是當(dāng)數(shù)據(jù)規(guī)模和訪問并發(fā)度增加時(shí)。這不僅會(huì)導(dǎo)致緩沖管理的額外開銷,還可能降低系統(tǒng)的整體性能,進(jìn)而影響數(shù)據(jù)庫系統(tǒng)的效率。因此有必要設(shè)計(jì)新的層次緩沖方案,減少緩沖管理開銷。
4、有鑒于此,特提出本發(fā)明。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種基于分離式內(nèi)存的多層緩沖管理方法與系統(tǒng),在緩沖區(qū)管理中使用虛擬內(nèi)存指針替代傳統(tǒng)緩沖區(qū)中使用的頁標(biāo)識(shí)符,繞過哈希表進(jìn)行地址翻譯的開銷,通過這種方式,實(shí)現(xiàn)了緩沖區(qū)內(nèi)存頁面的高效管理(快速定位和數(shù)據(jù)訪問),避免了在并發(fā)場(chǎng)景下中心化數(shù)據(jù)結(jié)構(gòu)可擴(kuò)展性的問題。
2、本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
3、一種基于分離式內(nèi)存的多層緩沖管理方法,包括:在計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)中分別分配獨(dú)立的緩沖池,協(xié)同實(shí)現(xiàn)分離式內(nèi)存架構(gòu)下的緩沖管理模塊;
4、其中,所述緩沖管理模塊:通過指針轉(zhuǎn)換技術(shù),結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄頁面的位置;通過狀態(tài)機(jī)管理頁面的狀態(tài)變化,實(shí)現(xiàn)頁面的狀態(tài)流轉(zhuǎn)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息;結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄的頁面的位置,進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面分配;根據(jù)頁面的狀態(tài)以及狀態(tài)變化情況進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面回收。
5、一種基于分離式內(nèi)存的多層緩沖管理系統(tǒng),基于前述方法實(shí)現(xiàn),該系統(tǒng)包括:分離式內(nèi)存架構(gòu)下的緩沖管理模塊;所述分離式內(nèi)存架構(gòu)下的緩沖管理模塊通過為計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)中分別分配的獨(dú)立的緩沖池協(xié)同實(shí)現(xiàn);
6、其中,所述緩沖管理模塊:通過指針轉(zhuǎn)換技術(shù),結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄頁面的位置;通過狀態(tài)機(jī)管理頁面的狀態(tài)變化,實(shí)現(xiàn)頁面的狀態(tài)流轉(zhuǎn)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息;結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄的頁面的位置,進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面分配;根據(jù)頁面的狀態(tài)以及狀態(tài)變化情況進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面回收。
7、由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明適用于在分離式內(nèi)存架構(gòu)中,管理計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)之間的緩存和持久化存儲(chǔ)資源,引入的指針轉(zhuǎn)換技術(shù)通過虛擬內(nèi)存地址替代傳統(tǒng)的頁標(biāo)識(shí)符,繞過哈希表的地址翻譯過程,實(shí)現(xiàn)跨節(jié)點(diǎn)的頁面高效定位和數(shù)據(jù)訪問;引入的狀態(tài)同步機(jī)制,可以跟蹤頁面在不同存儲(chǔ)層中的分布,優(yōu)化了頁面在不同層次間遷移的過程,減少了頁面被逐出后再次申請(qǐng)這一特殊情況的開銷;引入的頁面分配機(jī)制可以高效地管理計(jì)算節(jié)點(diǎn)、內(nèi)存節(jié)點(diǎn)和持久化存儲(chǔ)設(shè)備之間的頁面資源,確保在不同場(chǎng)景下的快速響應(yīng)和資源優(yōu)化;引入的頁面回收機(jī)制,能夠及時(shí)回收無效頁面,確保緩沖區(qū)的資源利用率和系統(tǒng)的穩(wěn)定性??傮w而言,本發(fā)明提供的多層緩沖管理方案顯著提升了分離式內(nèi)存架構(gòu)下數(shù)據(jù)庫系統(tǒng)的緩沖管理效率,為高性能分布式數(shù)據(jù)庫提供了更優(yōu)的解決方案。
1.一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,包括:在計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)中分別分配獨(dú)立的緩沖池,協(xié)同實(shí)現(xiàn)分離式內(nèi)存架構(gòu)下的緩沖管理模塊;
2.根據(jù)權(quán)利要求1所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,所述通過指針轉(zhuǎn)換技術(shù),結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄頁面的位置包括:
3.根據(jù)權(quán)利要求1或2所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,所述狀態(tài)機(jī)包括:基本狀態(tài)與中間狀態(tài);基本狀態(tài)包括:hot狀態(tài)、normal狀態(tài)和cold狀態(tài),中間狀態(tài)包括:warm狀態(tài)和cool狀態(tài);以上狀態(tài)均為狀態(tài)機(jī)管理的頁面的狀態(tài);
4.根據(jù)權(quán)利要求3所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,所述實(shí)現(xiàn)頁面的狀態(tài)流轉(zhuǎn)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息包括:流轉(zhuǎn)至hot狀態(tài)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息;其中:
5.根據(jù)權(quán)利要求3所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,所述實(shí)現(xiàn)頁面的狀態(tài)流轉(zhuǎn)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息包括:從hot狀態(tài)開始流轉(zhuǎn)直至cold狀態(tài)并更新所述設(shè)定的數(shù)據(jù)結(jié)構(gòu)中的信息;其中:
6.根據(jù)權(quán)利要求4或5所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,還包括:
7.根據(jù)權(quán)利要求1所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,所述結(jié)合設(shè)定的數(shù)據(jù)結(jié)構(gòu)記錄的頁面的位置,進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面分配包括:
8.根據(jù)權(quán)利要求1所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,根據(jù)頁面的狀態(tài)以及狀態(tài)變化情況進(jìn)行計(jì)算節(jié)點(diǎn)與內(nèi)存節(jié)點(diǎn)中的頁面回收包括:
9.根據(jù)權(quán)利要求8所述的一種基于分離式內(nèi)存的多層緩沖管理方法,其特征在于,還包括:
10.一種基于分離式內(nèi)存的多層緩沖管理系統(tǒng),其特征在于,基于權(quán)利要求1~9任一項(xiàng)所述方法實(shí)現(xiàn),該系統(tǒng)包括:分離式內(nèi)存架構(gòu)下的緩沖管理模塊;所述分離式內(nèi)存架構(gòu)下的緩沖管理模塊通過為計(jì)算節(jié)點(diǎn)和內(nèi)存節(jié)點(diǎn)中分別分配的獨(dú)立的緩沖池協(xié)同實(shí)現(xiàn);