本技術涉及計算機,尤其涉及一種數據處理方法、裝置及存儲介質。
背景技術:
1、分布式存儲系統能同時提供對象、文件、塊存儲服務。分布式文件系統允許同時有多個客戶端對文件進行讀寫操作,有時可能有成千上萬個客戶端并發訪問,為了保護分布式文件系統數據安全,一般每個客戶端會設置不同的訪問權限訪問專屬的目錄,但有些時候一些運維或者管理員用戶可能需要文件系統根目錄的全部訪問權限,如果出現操作失誤,比如誤刪除了文件系統的根目錄,則會導致分布式文件系統的數據都會丟失。目前有些分布式文件系統提供了回收站的功能,通過在客戶端設置回收站來防止誤刪除操作,不過這種方式設置繁瑣,需要每個客戶端都設置,在成千上萬客戶端的情況下,運維工作比較大,而且分布式存儲系統暫時沒有提供類似回收站功能。
技術實現思路
1、本技術提供了一種數據處理方法、裝置及存儲介質,可以便于在客戶端用戶誤刪數據的情況下,通過初始索引信息,快速查找并恢復誤刪的數據;以及降低數據存儲池的存儲壓力。
2、一方面,本技術提供了一種數據處理方法,所述方法包括:
3、接收客戶端發送的數據刪除請求;所述數據刪除請求攜帶待刪除數據對應的目標目錄標識以及目標文件標識;所述待刪除數據存儲于所述目標文件標識對應的目標文件中;
4、基于所述數據刪除請求,將元數據池中的所述目標文件從目標目錄遷移至預設目錄中,并獲取當前周期對應的緩存刪除文件;所述目標目錄為所述目標目錄標識對應的目錄,所述當前周期為所述目標目錄遷移至所述預設目錄的時間對應的第一預設時段;所述緩存刪除文件為所述預設目錄在所述當前周期內存儲的文件;所述緩存刪除文件包括所述目標文件;
5、在數據索引池的目標索引對象中寫入所述緩存刪除文件對應的初始索引信息;
6、在所述初始索引信息寫入所述目標索引對象之后的第二預設時段,獲取所述目標索引對象中存儲時間超過預設閾值的索引信息,得到綜合索引信息;
7、在所述數據存儲池中查找與所述綜合索引信息相匹配的目標數據,并刪除所述目標數據。
8、另一方面提供了一種數據處理裝置,所述裝置包括:
9、請求接收模塊,用于接收客戶端發送的數據刪除請求;所述數據刪除請求攜帶待刪除數據對應的目標目錄標識以及目標文件標識;所述待刪除數據存儲于所述目標文件標識對應的目標文件中;
10、數據遷移模塊,用于基于所述數據刪除請求,將元數據池中的所述目標文件從目標目錄遷移至預設目錄中,并獲取當前周期對應的緩存刪除文件;所述目標目錄為所述目標目錄標識對應的目錄,所述當前周期為所述目標目錄遷移至所述預設目錄的時間對應的第一預設時段;所述緩存刪除文件為所述預設目錄在所述當前周期內存儲的文件;所述緩存刪除文件包括所述目標文件;
11、索引寫入模塊,用于在數據索引池的目標索引對象中寫入所述緩存刪除文件對應的初始索引信息;
12、綜合索引獲取模塊,用于在所述初始索引信息寫入所述目標索引對象之后的第二預設時段,獲取所述目標索引對象中存儲時間超過預設閾值的索引信息,得到綜合索引信息;
13、數據刪除模塊,用于在所述數據存儲池中查找與所述綜合索引信息相匹配的目標數據,并刪除所述目標數據。
14、在一些實施例中,所述裝置還可以包括:
15、文件轉移模塊,用于將所述元數據池中的所述緩存刪除文件轉移至預處理模塊中;
16、初始索引信息獲取模塊,用于在所述預處理模塊中解析所述緩存刪除文件,并獲取所述緩存刪除文件對應的初始索引信息;
17、信息轉移模塊,用于將所述預處理模塊中所述初始索引信息,轉移至所述數據索引池中。
18、在一些實施例中,所述初始索引信息獲取模塊可以包括:
19、解析子模塊,用于在所述預處理模塊中解析所述緩存刪除文件,得到所述緩存刪除文件對應的絕對路徑標識、數據池標識以及對象標識;
20、信息確定子模塊,用于將所述緩存刪除文件對應的絕對路徑標識、數據池標識以及對象標識,確定為所述緩存刪除文件對應的初始索引信息。
21、在一些實施例中,所述索引寫入模塊包括:
22、對象數據解析子模塊,用于在所述數據索引池中將所述緩存刪除文件解析成對象數據;
23、數據轉化子模塊,用于獲取所述對象數據對應的絕對路徑標識、數據池標識以及對象標識,并轉化為鍵值對數據;
24、分片號確定子模塊,用于對所述對象數據對應的絕對路徑標識、數據池標識以及對象標識,進行哈希取余,得到所述對象數據的分片號;
25、目標索引對象確定子模塊,用于在所述數據索引池中查找與所述對象數據的分片號相匹配的預設索引對象,得到所述目標索引對象;
26、數據寫入子模塊,用于在所述目標索引對象中寫入所述鍵值對數據。
27、在一些實施例中,所述數據轉化子模塊包括:
28、標識獲取單元,用于獲取所述對象數據對應的絕對路徑標識、數據池標識以及對象標識;
29、對象尺寸獲取單元,用于獲取所述對象數據對應的對象尺寸;
30、數據構建單元,用于根據所述對象數據對應的絕對路徑標識、數據池標識、對象標識以及對象尺寸,構建所述鍵值對數據。
31、在一些實施例中,所述數據索引池包括至少兩個預設索引對象,所述裝置還包括:
32、分片號獲取模塊,用于獲取每個預設索引對象對應的對象標識、生成時間以及分片號;
33、索引標識生成模塊,用于根據每個預設索引對象對應的對象標識、生成時間以及分片號,生成每個預設索引對象的索引對象標識;
34、在一些實施例中,目標索引對象確定子模塊包括:
35、目標索引對象標識確定單元,用于在所述數據索引池中查找與所述對象數據的分片號相匹配的索引對象標識,得到目標索引對象標識;
36、目標索引對象確定單元,用于將所述目標索引對象標識對應的預設索引對象,確定為所述目標索引對象。
37、在一些實施例中,所述對象數據為至少兩個,所述裝置還包括:
38、對象數據獲取模塊,用于獲取所述絕對路徑標識對應的至少兩個所述對象數據;
39、一級對象確定模塊,用于獲取所述至少兩個所述對象數據各自對應的目標索引對象,作為一級索引對象;
40、二級對象構建模塊,用于基于所述絕對路徑標識以及至少兩個所述目標索引對象,構建二級索引對象;
41、索引關系構建模塊,用于根據所述二級索引對象與所述一級索引對象的對應關系,構建索引對象關聯關系。
42、在一些實施例中,所述目標索引對象標識確定單元包括:
43、匹配子單元,用于在所述數據索引池中查找與所述絕對路徑標識相匹配的所述二級索引對象;
44、第一標識獲取子單元,用于根據所述索引對象關聯關系,確定所述二級索引對象對應的所述一級索引對象,獲取所述一級索引對象對應的一級索引對象標識;
45、第二標識獲取子單元,用于從所述一級索引對象標識中,查找與每個對象數據的分片號相匹配的索引對象標識,得到每個對象數據對應的目標索引對象標識。
46、在一些實施例中,所述數據刪除模塊包括:
47、標識獲取子模塊,用于在所述數據存儲池中解析所述綜合索引信息,獲取所述緩存刪除文件對應的絕對路徑標識、數據池標識以及對象標識;
48、一級標識查找子模塊,用于基于所述緩存刪除文件對應的絕對路徑標識,查找一級目標索引對象標識;
49、二級標識匹配子模塊,用于在所述數據存儲池中查找與所述一級目標索引對象標識匹配的二級候選索引對象標識;
50、第一篩選子模塊,用于基于所述緩存刪除文件對應的對象標識,從所述二級候選索引對象標識中篩選二級目標索引對象標識;
51、第二篩選子模塊,用于基于所述緩存刪除文件對應的數據池標識,在所述二級目標索引對象標識對應的數據池中篩選目標數據池;
52、數據刪除子模塊,用于在所述目標數據池中查找所述目標數據,并刪除所述目標數據。
53、在一些實施例中,所述裝置還包括:
54、綜合索引對象確定模塊,用于在所述數據索引池中確定所述綜合索引信息對應的綜合索引對象;
55、對象刪除模塊,用于刪除所述數據索引池中的所述綜合索引對象。
56、在一些實施例中,所述裝置還包括:
57、對象數據池獲取模塊,用于獲取所述數據存儲池中的對象數據池;所述對象數據池中包括預設數量的對象數據;
58、對象標識生成模塊,用于根據所述對象數據池的索引編號以及每個對象數據在所述對象數據池的位置信息,生成每個對象數據的對象標識;
59、對象標識存儲模塊,用于在所述數據存儲池中存儲所述預設數量的對象數據以及每個對象數據的對象標識。
60、在一些實施例中,所述裝置還包括:
61、恢復請求接收模塊,用于接收所述客戶端發送的數據恢復請求,所述數據恢復請求攜帶待恢復數據的待恢復對象尺寸;
62、索引信息轉移模塊,用于基于所述待恢復對象尺寸,在所述數據索引池中查找所述待恢復數據的索引信息并將所述待恢復數據的索引信息轉移至所述恢復模塊;
63、標識解析模塊,用于在所述恢復模塊中解析所述待恢復數據的索引信息,得到所述待恢復數據對應的絕對路徑標識、數據池標識以及對象標識;
64、目標標識新增模塊,用于在所述元數據池中根據所述待恢復數據的絕對路徑標識,在目錄樹中新增所述待恢復數據對應的目錄標識。
65、在一些實施例中,所述裝置還可以包括:
66、待恢復數據池確定模塊,用于在所述數據存儲池中確定與所述待恢復數據的數據池標識相匹配的數據池,得到待恢復數據池;
67、數據轉移模塊,用于根據所述待恢復數據對應的對象標識以及待恢復對象尺寸,確定所述待恢復數據池中的待恢復數據,并將所述待恢復數據轉移至新增數據池中存儲。
68、另一方面提供了一種數據處理設備,所述設備包括處理器和存儲器,所述存儲器中存儲有至少一條指令或至少一段程序,所述至少一條指令或所述至少一段程序由所述處理器加載并執行以實現如上所述的數據處理方法。
69、另一方面提供了一種計算機存儲介質,所述計算機存儲介質存儲有至少一條指令或至少一段程序,所述至少一條指令或至少一段程序由處理器加載并執行以實現如上所述的數據處理方法。
70、另一方面提供了一種計算機程序產品或計算機程序,該計算機程序產品或計算機程序包括計算機指令,該計算機指令存儲在計算機可讀存儲介質中。計算機設備的處理器從計算機可讀存儲介質讀取該計算機指令,處理器執行該計算機指令,使得該計算機設備執行以實現如上所述的數據處理方法。
71、本技術提供的數據處理方法、裝置及存儲介質,具有如下技術效果:
72、本技術接收客戶端發送的數據刪除請求;數據刪除請求攜帶待刪除數據對應的目標目錄標識以及目標文件標識;待刪除數據存儲于目標文件標識對應的目標文件中;基于數據刪除請求,將元數據池中的目標文件從目標目錄遷移至預設目錄中,從而實現刪除客戶端中的目標文件;并獲取當前周期對應的緩存刪除文件;目標目錄為目標目錄標識對應的目錄,當前周期為目標目錄遷移至預設目錄的時間對應的第一預設時段;緩存刪除文件為預設目錄在當前周期內存儲的文件;緩存刪除文件包括目標文件;在數據索引池的目標索引對象中寫入緩存刪除文件對應的初始索引信息;從而便于在客戶端用戶誤刪數據的情況下,可以通過初始索引信息,快速查找并恢復誤刪的數據;本發明在初始索引信息寫入目標索引對象之后的第二預設時段,獲取目標索引對象中存儲時間超過預設閾值的索引信息,得到綜合索引信息;在數據存儲池中查找與綜合索引信息相匹配的目標數據,并刪除目標數據;從而可以實現定期刪除數據池中存儲時間較長的客戶端指示刪除的數據,降低數據存儲池的存儲壓力。