1.一種存儲空間回收方法,其特征在于,所述方法包括:
接收分布式文件系統(tǒng)中主節(jié)點發(fā)送的存儲空間回收請求,所述存儲空間回收請求至少包括一個數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述存儲空間回收請求是由所述主節(jié)點在確定所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值后發(fā)送的;
根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定所述待刪除文件,將所述待刪除文件的文件頭復(fù)制到臨時文件中,并對所述待刪除文件執(zhí)行添加文件洞處理;
將所述數(shù)據(jù)塊中非刪除文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中;
以所述臨時文件替換所述數(shù)據(jù)塊中原始寫入文件,完成所述數(shù)據(jù)塊的存儲空間回收。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
為所述數(shù)據(jù)塊中包含的每一個文件均設(shè)置一個刪除標(biāo)識,所述刪除標(biāo)識存儲在每一個文件的文件頭中;
為所述待刪除文件中的每一個文件的刪除標(biāo)識設(shè)置第一標(biāo)記。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述待刪除文件的文件頭復(fù)制到臨時文件中,并對所述待刪除文件執(zhí)行添加文件洞處理,包括:
若所述數(shù)據(jù)塊中一個文件的刪除標(biāo)識取值為所述第一標(biāo)記,則確定所述文件為待刪除文件,將所述文件的文件頭復(fù)制到所述臨時文件中,并調(diào)用系統(tǒng)指針在所述文件的除文件頭之外的其他部分添加文件洞。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述待刪除文件的文件頭復(fù)制到臨時文件中,并對所述待刪除文件執(zhí)行添加文件洞處理,包括:
若至少兩個連續(xù)存儲文件的刪除標(biāo)識均取值為所述第一標(biāo)記,則在所述至少兩個連續(xù)存儲的文件中選取一個文件的文件頭;
將所述文件頭中存儲的文件尺寸更新為所述至少兩個連續(xù)存儲文件的文件尺寸之和;
將更新后的文件頭復(fù)制到所述臨時文件中,并調(diào)用系統(tǒng)指針在所述文件的除文件頭之外的其他部分中添加文件洞。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述調(diào)用系統(tǒng)指針在所述文件除文件頭之外的其他部分中添加文件洞,包括:
調(diào)用所述系統(tǒng)指針依次跳過所述文件的文件數(shù)據(jù)和文件尾,以在所述文件數(shù)據(jù)以及所述文件尾的存儲位置處形成文件洞。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述將所述數(shù)據(jù)塊中非刪除文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中,包括:
若所述數(shù)據(jù)塊中一個文件的刪除標(biāo)識取值為第二標(biāo)記,則確定所述文件為所述非刪除文件,將所述文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
在接收到所述分布式文件系統(tǒng)中主節(jié)點發(fā)送的存儲空間回收請求后,將所述存儲空間回收請求發(fā)送至存儲有所述數(shù)據(jù)塊的其他副本的其他數(shù)據(jù)節(jié)點;
在均完成對所述數(shù)據(jù)塊的存儲空間回收操作后,向所述主節(jié)點返回存儲空間回收完成響應(yīng)。
8.一種存儲空間回收方法,其特征在于,所述方法包括:
周期性獲取分布式文件系統(tǒng)中存儲的數(shù)據(jù)塊狀態(tài)表,所述數(shù)據(jù)塊狀態(tài)表中記錄了至少一個數(shù)據(jù)塊的刪除文件尺寸和待刪除文件的文件標(biāo)識;
對于每一個數(shù)據(jù)塊,若所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值,則獲取所述數(shù)據(jù)塊的屬性信息;
根據(jù)所述屬性信息,向所述數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點發(fā)送存儲空間回收請求,所述存儲空間回收請求中至少包括所述數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述數(shù)據(jù)節(jié)點用于根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定待刪除文件,并對所述待刪除文件執(zhí)行添加文件洞處理,完成所述數(shù)據(jù)塊的存儲空間回收。
9.一種存儲空間回收裝置,其特征在于,所述裝置包括:
接收模塊,被配置為接收分布式文件系統(tǒng)中主節(jié)點發(fā)送的存儲空間回收請求,所述存儲空間回收請求至少包括一個數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述存儲空間回收請求是由所述主節(jié)點在確定所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值后發(fā)送的;
第一復(fù)制模塊,被配置為根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定所述待刪除文件,將所述待刪除文件的文件頭復(fù)制到臨時文件中,并對所述待刪除文件執(zhí)行添加文件洞處理;
第二復(fù)制模塊,被配置為將所述數(shù)據(jù)塊中非刪除文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中;
替換模塊,被配置為以所述臨時文件替換所述數(shù)據(jù)塊中原始寫入文件,完成所述數(shù)據(jù)塊的存儲空間回收。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:
第一設(shè)置模塊,被配置為為所述數(shù)據(jù)塊中包含的每一個文件均設(shè)置一個刪除標(biāo)識,所述刪除標(biāo)識存儲在每一個文件的文件頭中;
第二設(shè)置模塊,被配置為為所述待刪除文件中的每一個文件的刪除標(biāo)識設(shè)置第一標(biāo)記。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一復(fù)制模塊,被配置為若所述數(shù)據(jù)塊中一個文件的刪除標(biāo)識取值為所述第一標(biāo)記,則確定所述文件為待刪除文件,將所述文件的文件頭復(fù)制到所述臨時文件中,并調(diào)用系統(tǒng)指針在所述文件的除文件頭之外的其他部分添加文件洞。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一復(fù)制模塊,被配置為若至少兩個連續(xù)存儲文件的刪除標(biāo)識均取值為所述第一標(biāo)記,則在所述至少兩個連續(xù)存儲的文件中選取一個文件的文件頭;將所述文件頭中存儲的文件尺寸更新為所述至少兩個連續(xù)存儲文件的文件尺寸之和;將更新后的文件頭復(fù)制到所述臨時文件中,并調(diào)用系統(tǒng)指針在所述文件的除文件頭之外的其他部分中添加文件洞。
13.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于,所述第一復(fù)制模塊,被配置為調(diào)用所述系統(tǒng)指針依次跳過所述文件的文件數(shù)據(jù)和文件尾,以在所述文件數(shù)據(jù)以及所述文件尾的存儲位置處形成文件洞。
14.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第二復(fù)制模塊,被配置為若所述數(shù)據(jù)塊中一個文件的刪除標(biāo)識取值為第二標(biāo)記,則確定所述文件為所述非刪除文件,將所述文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中。
15.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:
發(fā)送模塊,被配置為在接收到所述分布式文件系統(tǒng)中主節(jié)點發(fā)送的存儲空間回收請求后,將所述存儲空間收回請求發(fā)送至存儲有所述數(shù)據(jù)塊的其他副本的其他數(shù)據(jù)節(jié)點;
返回模塊,被配置為在均完成對所述數(shù)據(jù)塊的存儲空間回收操作后,向所述主節(jié)點返回空間回收完成響應(yīng)。
16.一種存儲空間回收裝置,其特征在于,所述裝置包括:
第一獲取模塊,被配置為周期性獲取分布式文件系統(tǒng)中存儲的數(shù)據(jù)塊狀態(tài)表,所述數(shù)據(jù)塊狀態(tài)表中記錄了至少一個數(shù)據(jù)塊的刪除文件尺寸和待刪除文件的文件標(biāo)識;
第二獲取模塊,被配置為對于每一個數(shù)據(jù)塊,若所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值,則獲取所述數(shù)據(jù)塊的屬性信息;
發(fā)送模塊,被配置為根據(jù)所述屬性信息,向所述數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點發(fā)送存儲空間回收請求,所述存儲空間回收請求中至少包括所述數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述數(shù)據(jù)節(jié)點用于根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定待刪除文件,并對所述待刪除文件執(zhí)行添加文件洞處理,完成所述數(shù)據(jù)塊的存儲空間回收。
17.一種存儲空間回收裝置,其特征在于,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:接收分布式文件系統(tǒng)中主節(jié)點發(fā)送的存儲空間回收請求,所述存儲空間回收請求至少包括一個數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述存儲空間回收請求是由所述主節(jié)點在確定所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值后發(fā)送的;根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定所述待刪除文件,將所述待刪除文件的文件頭復(fù)制到臨時文件中,并對所述待刪除文件執(zhí)行添加文件洞處理;將所述數(shù)據(jù)塊中非刪除文件的文件頭、文件數(shù)據(jù)和文件尾復(fù)制到所述臨時文件中;以所述臨時文件替換所述數(shù)據(jù)塊中原始寫入文件,完成所述數(shù)據(jù)塊的存儲空間回收。
18.一種存儲空間回收裝置,其特征在于,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
其中,所述處理器被配置為:周期性獲取分布式文件系統(tǒng)中存儲的數(shù)據(jù)塊狀態(tài)表,所述數(shù)據(jù)塊狀態(tài)表中記錄了至少一個數(shù)據(jù)塊的刪除文件尺寸和待刪除文件的文件標(biāo)識;對于每一個數(shù)據(jù)塊,若所述數(shù)據(jù)塊的刪除文件尺寸大于預(yù)設(shè)閾值,則獲取所述數(shù)據(jù)塊的屬性信息;根據(jù)所述屬性信息,向所述數(shù)據(jù)塊所在的數(shù)據(jù)節(jié)點發(fā)送存儲空間回收請求,所述存儲空間回收請求中至少包括所述數(shù)據(jù)塊中待刪除文件的文件標(biāo)識,所述數(shù)據(jù)節(jié)點用于根據(jù)所述文件標(biāo)識在所述數(shù)據(jù)塊中確定待刪除文件,并對所述待刪除文件執(zhí)行添加文件洞處理,完成所述數(shù)據(jù)塊的存儲空間回收。