System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書涉及計算機,尤其涉及一種對象存儲方法及系統。
技術介紹
1、隨著計算機、互聯網和數字媒體等的進一步普及,以非結構化數據為主的信息急劇增加。非結構化數據可以是指數據結構不規則,沒有預定義數據模型的數據。例如,文檔、文本、圖片、圖像和音頻/視頻信息等。這些非結構化數據是企業重要的信息資產,對企業的業務運作、市場拓寬、日常辦公等方面起到重要的作用。為了避免非結構化數據的丟失,需要對非結構化數據進行備份。
2、目前,非結構化數據的存儲方法通常為對象存儲。在對象存儲中,對象存儲容器用于存儲對象。由于在對象存儲的過程中,對象存儲容器中的對象元數據僅能存儲在預先設定的固定磁盤中,導致對象存儲容器中所能存儲的對象元數據的存儲數量受到磁盤的容量限制。
3、當對象存儲容器中的對象元數據的存儲數量達到磁盤的容量上限時,需要新建一個對象存儲容器用于存儲對象元數據。由于各個對象存儲容器之間的數據并不互通,在檢索對象時,需要對各個對象存儲容器進行遍歷,導致檢索的效率較低。
技術實現思路
1、本說明書提供一種對象存儲方法、裝置、電子設備及機器可讀存儲介質,以提高檢索對象的效率。
2、本說明書采用下述技術方案:
3、本說明書提供了一種對象存儲方法,用于存儲對象的對象存儲容器包含至少一個存儲分區;所述至少一個存儲分區與至少一個磁盤建立了映射關系;包括:
4、獲取待存儲的目標對象,所述目標對象包括:與所述目標對象對應的目標對象標識和與所述目標對象對應
5、確定與所述至少一個存儲分區對應的對象標識范圍,并從與所述至少一個存儲分區對應的對象標識范圍中,查詢與所述目標對象標識所位于的對象標識范圍對應的存儲分區,作為目標存儲分區;
6、將所述目標對象元數據存儲到所述目標存儲分區中的各個磁盤。
7、可選地,所述存儲容器為bucket存儲桶。
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、在本說明書提供的對象存儲方法中,從與至少一個存儲分區對應的對象標識范圍中,查詢與目標對象標識所位于的對象標識范圍對應的存儲分區,作為目標存儲分區,將目標對象元數據存儲到目標存儲分區中的各個磁盤。本方法可以根據檢索對象的對象標識,確定檢索對象所在的存儲分區,對該存儲分區進行遍歷,從而提高檢索對象的效本文檔來自技高網...
【技術保護點】
1.一種對象存儲方法,其特征在于,用于存儲對象的對象存儲容器包含至少一個存儲分區;所述至少一個存儲分區與至少一個磁盤建立了映射關系;所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述存儲容器為Bucket存儲桶。
3.如權利要求1所述的方法,其特征在于,所述對象包括非結構化數據。
4.如權利要求1所述的方法,其特征在于,所述對象存儲方法應用于至少一個存儲節點,所述存儲節點上搭載了至少一個磁盤,所述磁盤用于存儲與所述目標對象對應的目標對象元數據的副本。
5.如權利要求4所述的方法,其特征在于,在獲取待存儲的目標對象之前,包括:
6.如權利要求1所述的方法,其特征在于,確定與所述至少一個存儲分區對應的對象標識范圍,包括:
7.如權利要求1所述的方法,其特征在于,所述對象存儲容器支持對包含的存儲分區進行擴展;
8.如權利要求7所述的方法,其特征在于,在所述對象存儲容器中構建與所述目標存儲分區對應的擴展存儲分區,包括:
9.如權利要求1所述的方法,其特征在于,所述方法還包括:
...【技術特征摘要】
1.一種對象存儲方法,其特征在于,用于存儲對象的對象存儲容器包含至少一個存儲分區;所述至少一個存儲分區與至少一個磁盤建立了映射關系;所述方法包括:
2.如權利要求1所述的方法,其特征在于,所述存儲容器為bucket存儲桶。
3.如權利要求1所述的方法,其特征在于,所述對象包括非結構化數據。
4.如權利要求1所述的方法,其特征在于,所述對象存儲方法應用于至少一個存儲節點,所述存儲節點上搭載了至少一個磁盤,所述磁盤用于存儲與所述目標對象對應的目標對象元數據的副本。
5.如權利要求4所述的方法,其特征在于,在獲取待存儲的目標對象之前,包括:
6.如權利要求1所述的方法,其特征在于,確定與所述至少一個存儲分區對應的對象標識范圍,包括:
7.如權利要求1所述的方法,其特征在于,所述對象存儲容器支...
【專利技術屬性】
技術研發人員:張繼亮,
申請(專利權)人:杭州宏杉科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。