本說明書實施例屬于區(qū)塊鏈,尤其涉及一種收斂失效文件位置的方法和回收重寫頁的方法及計算機(jī)設(shè)備。
背景技術(shù):
1、區(qū)塊鏈(blockchain)是分布式數(shù)據(jù)存儲、點對點傳輸、共識機(jī)制、加密算法等計算機(jī)技術(shù)的新型應(yīng)用模式。區(qū)塊鏈系統(tǒng)中按照時間順序?qū)?shù)據(jù)區(qū)塊以順序相連的方式組合成鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),并以密碼學(xué)方式保證的不可篡改和不可偽造的分布式賬本。由于區(qū)塊鏈具有去中心化、信息不可篡改、自治性等特性,區(qū)塊鏈也受到人們越來越多的重視和應(yīng)用。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的在于提供一種收斂失效文件位置的方法和回收重寫頁的方法及計算機(jī)設(shè)備,包括:
2、一種收斂失效文件位置的方法,在基于連續(xù)版本的葉子頁邏輯頁中全部樹節(jié)點內(nèi)容的變化生成基礎(chǔ)頁和增量頁的過程中,以及在異步執(zhí)行垃圾回收和重建索引的過程中:
3、當(dāng)所述垃圾回收過程中生成新的數(shù)據(jù)文件后,獲取所述新數(shù)據(jù)文件對應(yīng)基礎(chǔ)頁/增量頁的最大版本,并獲取該新數(shù)據(jù)文件中的狀態(tài)key與其所在新數(shù)據(jù)文件位置的對應(yīng)關(guān)系;
4、在重建索引過程,對于所述獲取的最大版本之前版本的基礎(chǔ)頁/增量頁重建索引以生成重寫頁;
5、對于所述獲取的最大版本之后版本的基礎(chǔ)頁/增量頁,基于所述獲取的新數(shù)據(jù)文件中的狀態(tài)key與其所在新數(shù)據(jù)文件位置的對應(yīng)關(guān)系生成最大版本之后版本的基礎(chǔ)頁/增量頁中的映射關(guān)系。
6、一種回收重寫頁的方法,包括:
7、查找索引文件中的重寫頁,對于重寫頁中重映射關(guān)系中的狀態(tài)key,在所述索引文件中查找基礎(chǔ)頁/增量頁中相同狀態(tài)key的映射關(guān)系;
8、采用所述重寫頁中的新數(shù)據(jù)文件位置修正查找到的所述基礎(chǔ)頁/增量頁中相同狀態(tài)key的映射關(guān)系中的數(shù)據(jù)文件位置。
9、一種計算機(jī)設(shè)備,包括:
10、處理器;
11、以及存儲器,其中存儲有程序,其中在所述處理器執(zhí)行所述程序時,執(zhí)行上述方法中任一項的操作。
1.一種收斂失效文件位置的方法,在基于連續(xù)版本的葉子頁邏輯頁中全部樹節(jié)點內(nèi)容的變化生成基礎(chǔ)頁和增量頁的過程中,以及在異步執(zhí)行垃圾回收和重建索引的過程中:
2.如權(quán)利要求1所述的方法,所述對于所述獲取的最大版本之前版本的基礎(chǔ)頁/增量頁重建索引所述,包括:
3.一種基于權(quán)利要求1的回收重寫頁的方法,包括:
4.如權(quán)利要求3所述的方法,所述在索引文件中查找基礎(chǔ)頁/增量頁中相同狀態(tài)key的映射關(guān)系,包括:
5.如權(quán)利要求3所述的方法,所述重寫頁具有版本。
6.如權(quán)利要求5所述的方法,所述重寫頁的版本為其所包含的狀態(tài)key到新數(shù)據(jù)文件位置的映射關(guān)系中狀態(tài)key的最大版本。
7.如權(quán)利要求5所述的方法,所述重寫頁的版本為其對應(yīng)的原基礎(chǔ)頁/增量頁的最大版本。
8.如權(quán)利要求5所述的方法,在前向查找的過程中遇到增量頁終止。
9.如權(quán)利要求5所述的方法,所述增量頁中包含對樹節(jié)點按生成/修改行為產(chǎn)生的增量,基礎(chǔ)頁中表示所述邏輯頁當(dāng)前版本的內(nèi)存頁中對應(yīng)的全部樹節(jié)點的內(nèi)容但不包含對樹節(jié)點按生成/修改行為產(chǎn)生的增量。
10.如權(quán)利要求3所述的方法,所述方法還包括:刪除所述重寫頁。
11.如權(quán)利要求3所述的方法,所述采用所述重寫頁中的新數(shù)據(jù)文件位置修正查找到的所述基礎(chǔ)頁/增量頁中相同狀態(tài)key的映射關(guān)系中的數(shù)據(jù)文件位置,包括:
12.如權(quán)利要求11所述的方法,所述第一分段sst在第二分段之后生成。
13.如權(quán)利要求11所述的方法,所述第一分段的sst的斷點信息包括sst的版本。
14.如權(quán)利要求11所述的方法,所述sst的版本包括是該sst中包含的basepage/deltapage的版本。
15.如權(quán)利要求11所述的方法,回收起點包括存儲介質(zhì)中待回收文件所在連續(xù)空間末尾的較新生成的sst。
16.如權(quán)利要求11所述的方法,對第一分段sst回收完畢后,記錄該第一分段的sst的斷點信息,暫?;厥?;之后恢復(fù)回收,執(zhí)行所述讀取所述記錄的第一分段的sst斷點信息并繼續(xù)回收第一分段的sst之前的第二分段sst;
17.如權(quán)利要求16所述的方法,所述其它任務(wù)包括前臺任務(wù)、flush任務(wù)、裁剪任務(wù)或compaction任務(wù)。
18.如權(quán)利要求16所述的方法,在前臺事務(wù)處理負(fù)載降低到預(yù)設(shè)閾值以下時恢復(fù)回收。
19.對于采用lsm結(jié)構(gòu)的存儲結(jié)構(gòu)中,以level從新到舊的順序執(zhí)行或從舊到新的順序執(zhí)行上述權(quán)利要求11~18中任一項所述的回收方法。
20.對于采用lsm結(jié)構(gòu)的存儲結(jié)構(gòu)中,并行的在多個level中執(zhí)行上述權(quán)利要求11~18中任一項所述的回收方法。
21.一種計算機(jī)設(shè)備,包括: