本申請涉及計算機,尤其涉及一種基于反向索引的空間回收方法、裝置、設備及存儲介質。
背景技術:
1、在分布式存儲、數據庫及大數據處理領域,尤其是在金融和醫療數據管理中,為優化海量小文件的存儲與訪問性能,現有技術普遍采用“小文件合并”技術。該技術將多個小文件或數據塊聚合到一個更大的數據塊(稱為“合并塊”)中進行存儲,并為每個小文件創建一個正向索引,記錄其在該合并塊內的偏移量和長度。這種做法有效減少了元數據總量和底層存儲系統的i/o壓力,提升了順序讀寫性能。
2、然而,這種合并存儲策略引入了一個新的挑戰:空間回收效率問題。當合并塊中的小文件被頻繁刪除或修改(導致舊數據失效)時,合并塊內部會產生大量的“碎片化”空閑空間。為了回收這些空間,需要執行垃圾回收(gc)流程,將仍然有效的小文件遷移到新的合并塊中,然后釋放原合并塊占用的存儲空間。
3、目前主流的空間回收技術主要依賴于全局掃描與遍歷,存在顯著缺陷:現有方案通常僅在合并塊的整體有效數據占比低于某個閾值時,才觸發對該塊的垃圾回收。這種機制雖然簡單,但不夠精細。它無法感知合并塊內部數據的“冷熱”分布,可能一個合并塊中大部分有效數據是罕被訪問的“冷數據”(如歷史金融交易記錄或歸檔的醫療影像),但為了回收少量空間,卻觸發了對整個塊的數據遷移,觸發不必要的空間回收操作。在垃圾回收過程中,為了找出某個特定合并塊中所有仍有效的小文件,系統必須執行一次全局元數據掃描。回收器需要遍歷整個正向索引元數據?,將所有指向該合并塊的正向索引篩選出來,才能確定需要遷移的有效文件列表。當系統存儲了數十億甚至數百億個小文件(如金融交易明細記錄或醫療影像文件)時,這種全局遍歷操作不僅需要消耗大量的計算機資源,由于全局掃描耗時漫長,從觸發回收到完成空間釋放的周期很長,空間回收效率也非常低下。
4、因此,在金融和醫療數據存儲領域,如何快速、精準地定位合并塊內有效小文件,從而實現高效空間回收,成為亟待解決的技術問題,對于保障金融交易系統的高效處理和醫療信息系統的穩定運行具有重要意義。
技術實現思路
1、本申請提供了一種基于反向索引的空間回收方法、裝置、設備及存儲介質,旨在解決現有的空間回收技術由于采用全局掃描的方式定位合并塊內有效小文件,導致空間回收效率低下的技術問題。
2、第一方面,本申請提供一種基于反向索引的空間回收方法,所述基于反向索引的空間回收方法包括以下步驟:
3、為存儲空間中每個存儲文件創建指向合并塊的正向索引,以及為每個所述合并塊創建唯一對應的反向索引;
4、在觸發第一合并塊的空間回收事件時,讀取所述第一合并塊的反向索引,獲得有效文件清單;
5、從所述第一合并塊中讀取所述有效文件清單對應的有效文件數據,并將所述有效文件數據遷移至所述存儲空間中當前可用的第二合并塊;
6、在所述有效文件數據遷移完成后,更新所述有效存儲數據對應的所述正向索引,并刪除所述第一合并塊以及所述第一合并塊對應的所述反向索引。
7、第二方面,本申請還提供一種基于反向索引的空間回收裝置,所述基于反向索引的空間回收裝置包括:
8、索引構建模塊,用于為存儲空間中每個存儲文件創建指向合并塊的正向索引,以及為每個所述合并塊創建唯一對應的反向索引;
9、空間回收觸發模塊,用于在觸發第一合并塊的空間回收事件時,讀取所述第一合并塊的反向索引,獲得有效文件清單;
10、數據遷移模塊,用于從所述第一合并塊中讀取所述有效文件清單對應的有效文件數據,并將所述有效文件數據遷移至所述存儲空間中當前可用的第二合并塊;
11、索引更新模塊,用于在所述有效文件數據遷移完成后,更新所述有效存儲數據對應的所述正向索引,并刪除所述第一合并塊以及所述第一合并塊對應的所述反向索引。
12、第三方面,本申請還提供一種計算機設備,所述計算機設備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執行的計算機程序,其中所述計算機程序被所述處理器執行時,實現如上述的基于反向索引的空間回收方法的步驟。
13、第四方面,本申請還提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序,其中所述計算機程序被處理器執行時,實現如上述的基于反向索引的空間回收方法的步驟。
14、本申請提供一種基于反向索引的空間回收方法、裝置、計算機設備及存儲介質,本申請方法為每個存儲文件創建指向合并塊的正向索引,同時為每個合并塊創建唯一對應的反向索引,為快速定位和管理文件提供了基礎。在觸發空間回收事件時,通過讀取反向索引直接獲得有效文件清單,避免了傳統方法中耗時的全局元數據掃描,顯著提高了空間回收的效率;根據有效文件清單從第一合并塊中讀取有效文件數據,并將其遷移至當前可用的第二合并塊,僅處理有效數據,減少了不必要的i/o操作。在數據遷移完成后,更新正向索引并刪除第一合并塊及其反向索引,釋放了存儲空間,進一步優化了存儲資源的利用。本申請方法通過精細化的索引管理和按需回收策略,極大提升了空間回收效率,降低了存儲系統資源消耗,增強了存儲系統的存儲性能和可擴展性。
1.一種基于反向索引的空間回收方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于反向索引的空間回收方法,其特征在于,所述在觸發第一合并塊的空間回收事件時,讀取所述第一合并塊的反向索引,獲得有效文件清單之前,還包括:
3.根據權利要求2所述的基于反向索引的空間回收方法,其特征在于,所述空間回收監測指標包括已用空間比例、碎片率、有效文件密度、空間回收gc優先級評分中的至少一種;
4.根據權利要求1所述的基于反向索引的空間回收方法,其特征在于,所述在觸發第一合并塊的空間回收事件時,讀取所述第一合并塊的反向索引,獲得有效文件清單之前,還包括:
5.根據權利要求1所述的基于反向索引的空間回收方法,其特征在于,所述將所述有效文件數據遷移至所述存儲空間中當前可用的第二合并塊,包括:
6.根據權利要求1所述的基于反向索引的空間回收方法,其特征在于,所述為存儲空間中每個存儲文件創建指向合并塊的正向索引,以及為每個所述合并塊創建唯一對應的反向索引之后,還包括:
7.根據權利要求1所述的基于反向索引的空間回收方法,其特征在于,所述為存儲空間中每個存儲文件創建指向合并塊的正向索引,以及為每個所述合并塊創建唯一對應的反向索引之后,還包括:
8.一種基于反向索引的空間回收裝置,其特征在于,所述基于反向索引的空間回收裝置包括:
9.一種計算機設備,其特征在于,所述計算機設備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執行的計算機程序,其中所述計算機程序被所述處理器執行時,實現如權利要求1至7中任一項所述的基于反向索引的空間回收方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有計算機程序,其中所述計算機程序被處理器執行時,實現如權利要求1至7中任一項所述的基于反向索引的空間回收方法的步驟。