本技術涉及數據存儲,特別是涉及一種數據處理方法、對象存儲系統、裝置、設備、介質和產品。
背景技術:
1、隨著數據的大量增長,出現了很多類型的數據存儲系統,比如,基于對象協議的對象存儲系統和基于文件協議的文件存儲系統,對象存儲系統具備高度可擴展性和高可用性的優點,適用于大量不可變數據的長期存儲;文件系統具備良好的本地性能,適用于需要共享文件的場景。
2、然而,目前的存儲系統無法兼容多種類型的數據存儲系統,實現多種類型數據存儲。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠兼容多種類型的數據存儲系統、實現多種類型數據存儲的數據處理方法、對象存儲系統、裝置、設備、介質和產品。
2、第一方面,本技術提供了一種數據處理方法,應用于對象存儲系統,包括:
3、接收第一用戶終端發送的第一數據處理請求;所述第一數據處理請求中攜帶目標存儲地址和待處理數據;所述目標存儲地址包括對象存儲地址或文件存儲地址;
4、對所述目標存儲地址進行映射處理,生成目標路徑,并在所述目標路徑下對所述待處理數據進行處理。
5、上述數據處理方法中,接收第一用戶終端發送的第一數據處理請求;第一數據處理請求中攜帶目標存儲地址和待處理數據;目標存儲地址包括對象存儲地址或文件存儲地址;對目標存儲地址進行映射處理,生成目標路徑,并在目標路徑下對待處理數據進行處理。無論第一數據處理請求中攜帶的目標存儲地址是對象存儲地址還是文件存儲地址,本技術實施例中的對象存儲系統均可以通過映射處理的方式,生成該目標存儲地址對應的目標路徑,從而,能夠在目標路徑下語義無損地實現對象存儲或文件存儲對應的數據處理,故本技術實施例能夠在保證對象協議和文件協議均語義無損的情況下,實現多數據之間的協議互通。
6、在其中一個實施例中,所述對所述目標存儲地址進行映射處理,生成目標路徑,包括:
7、對所述目標存儲地址進行解析,得到多個地址;
8、根據各所述地址的等級和所述目標存儲地址,構建所述目標路徑;所述目標路徑為文件目錄或對象區域。
9、本實施例中,可以對目標存儲地址進行解析,得到多個地址,從而能夠根據各地址的等級和目標存儲地址,準確地構建出對象存儲地址對應的對象區域,或者,準確地構建出文件存儲地址對應的文件目錄,如此,后續即可在對象區域或文件目錄中實現多種類型數據的處理流程。
10、在其中一個實施例中,所述根據各所述地址的等級和所述目標存儲地址,構建所述目標路徑,包括:
11、若所述目標存儲地址為所述文件存儲地址,則根據各所述地址的等級確定根節點地址和多個葉子節點地址,并根據所述根節點地址和所述多個葉子節點地址構建樹形結構的文件目錄;
12、若所述目標存儲地址為所述對象存儲地址,則根據各所述地址的等級構建扁平化結構的對象區域。
13、本實施例中,若目標存儲地址為文件存儲地址,則可以根據各地址的等級確定根節點地址和多個葉子節點地址,并能夠根據根節點地址和多個葉子節點地址,將對象協議中的地址準確地進行映射,得到樹形結構的文件目錄。若目標存儲地址為對象存儲地址,則能夠根據各地址的等級,將文件協議中的地址準確地進行映射,得到扁平化結構的對象區域。
14、在其中一個實施例中,所述方法還包括:
15、在所述第一數據處理請求的類型為對象存儲類型,且所述第一數據處理請求為數據寫請求時,對所述待處理數據預寫入的對象區域進行拆分,得到多個小對象區域,并從所述多個小對象區域中確定與所述待處理數據對應的目標小對象區域,以及將所述待處理數據寫入至所述目標小對象區域。
16、本實施例中,在第一數據處理請求的類型為對象存儲類型,且第一數據處理請求為數據寫請求時,可以對待處理數據預寫入的對象區域進行拆分,得到多個小對象區域,并從多個小對象區域中確定與待處理數據對應的目標小對象區域,以及將待處理數據寫入至目標小對象區域。如此,僅需要對拆分后的小對象進行覆蓋寫操作,能夠極大減少了寫放大,即能夠在對象協議中加入文件協議的功能,使得在不改變對象整體覆蓋寫語義的同時,又支持了文件語義的小io覆蓋寫功能。
17、在其中一個實施例中,所述方法還包括:
18、在所述第一數據處理請求的類型為對象存儲類型,且所述第一數據處理請求為數據讀請求時,對所述待處理數據所在的對象區域進行加鎖操作,并從所述待處理數據所在的對象區域中讀取數據。
19、本實施例中,在第一數據處理請求的類型為對象存儲類型,且第一數據處理請求為數據讀請求時,可以對待處理數據所在的對象區域進行加鎖操作,并從待處理數據所在的對象區域中讀取數據。如此,能夠在對象協議中增加對象級別的分布式鎖,從而能夠保證采用多協議并發訪問同一對象或文件過程中的數據一致性。
20、在其中一個實施例中,所述方法還包括:
21、接收不同的第二用戶終端發送的第二數據處理請求;所述第二數據處理請求的類型為對象存儲類型,且所述第二數據處理請求為訪問請求;
22、從所述訪問請求對應的對象區域中的記錄信息中獲取鑒權標識;
23、根據所述鑒權標識對各所述第二數據處理請求進行鑒權操作,得到各所述第二用戶終端對應的鑒權結果。
24、本實施例中,再接收不同的第二用戶終端發送的對象存儲類型的訪問請求時,可以從訪問請求對應的對象區域中的記錄信息中獲取鑒權標識,從而,能夠根據鑒權標識對各第二數據處理請求進行鑒權操作,即能夠在多個協議同時訪問同一個文件或對象時,實現多個協議的權限互通。
25、第二方面,本技術還提供了一種對象存儲系統,所述對象存儲系統包括數據管理模塊、元數據映射模塊、區域拆分模塊、權限映射模塊和鎖管理模塊;
26、所述數據管理模塊,用于接收第一用戶終端發送的第一數據處理請求,并調用所述元數據映射模塊對目標存儲地址進行映射處理,生成目標路徑,并在所述目標路徑下對待處理數據進行處理;所述第一數據處理請求中攜帶目標存儲地址和待處理數據;所述目標存儲地址包括對象存儲地址或文件存儲地址;
27、所述數據管理模塊,還用于在所述第一數據處理請求的類型為對象存儲類型,且所述第一數據處理請求為數據寫請求時,調用所述區域拆分模塊對所述待處理數據預寫入的對象區域進行拆分,得到多個小對象區域,并從所述多個小對象區域中確定與所述待處理數據對應的目標小對象區域,以及將所述待處理數據寫入至所述目標小對象區域;
28、所述數據管理模塊,還用于在所述第一數據處理請求的類型為對象存儲類型,且所述第一數據處理請求為數據讀請求時,調用所述權限映射模塊對所述待處理數據所在的對象區域進行加鎖操作,并從所述待處理數據所在的對象區域中讀取數據;
29、所述數據管理模塊,還用于接收不同的第二用戶終端發送的第二數據處理請求;所述第二數據處理請求的類型為對象存儲類型,且所述第二數據處理請求為訪問請求;以及調用鎖管理模塊從所述訪問請求對應的對象區域中的記錄信息中獲取鑒權標識,并根據所述鑒權標識對各所述第二數據處理請求進行鑒權操作,得到各所述第二用戶終端對應的鑒權結果。
30、第三方面,本技術還提供了一種數據處理裝置,應用于對象存儲系統,包括:
31、接收模塊,用于接收第一用戶終端發送的第一數據處理請求;所述第一數據處理請求中攜帶目標存儲地址和待處理數據;所述目標存儲地址包括對象存儲地址或文件存儲地址;
32、處理模塊,用于對所述目標存儲地址進行映射處理,生成目標路徑,并在所述目標路徑下對所述待處理數據進行處理。
33、第四方面,本技術還提供了一種計算機設備。所述計算機設備包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現上述第一方面中任一項實施例中的方法的步驟。
34、第五方面,本技術還提供了一種計算機可讀存儲介質。所述計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述第一方面中任一項實施例中的方法的步驟。
35、第六方面,本技術還提供了一種計算機程序產品。所述計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現上述第一方面中任一項實施例中的方法的步驟。
36、上述數據處理方法、對象存儲系統、裝置、設備、介質和產品,接收第一用戶終端發送的第一數據處理請求;第一數據處理請求中攜帶目標存儲地址和待處理數據;目標存儲地址包括對象存儲地址或文件存儲地址;對目標存儲地址進行映射處理,生成目標路徑,并在目標路徑下對待處理數據進行處理。無論第一數據處理請求中攜帶的目標存儲地址是對象存儲地址還是文件存儲地址,本技術實施例中的對象存儲系統均可以通過映射處理的方式,生成該目標存儲地址對應的目標路徑,從而,能夠在目標路徑下語義無損地實現對象存儲或文件存儲對應的數據處理,故本技術實施例能夠在保證對象協議和文件協議均語義無損的情況下,實現多數據之間的協議互通。