System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及數據存儲,尤其涉及一種基于crush規則的文件存儲方法、裝置、終端及介質。
技術介紹
1、作為一個分布式存儲系統(ceph),如何合理地分布數據非常重要。隨著大規模分布式存儲系統的出現,系統必須能夠平均的分布數據和負載,最大化系統的利用率,并且能夠處理系統的擴展和系統故障。crush規則可以很好地滿足分布式存儲系統的需求。ceph將系統的所有硬件資源描述成一個樹狀結構,然后再基于這個樹狀結構按照一定的容錯規則生成一個邏輯上的樹形結構,即可作為crush?map。crush規則是基于一張描述當前集群資源狀態的map(即crush?map)按照一定的規則(rules)來得到磁盤邏輯單元osd(objectstorage?daemon)列表,以便基于該crush規則來確定將數據分布至哪一個osd。但是,目前crush規則基本是預先已經設置好的,并且與存儲池綁定,當存在新的crush規則時,在進行數據分布是無法靈活的選擇對應的crush規則,影響數據分布存儲的效率。
2、因此,現有技術還有待改進和提高。
技術實現思路
1、本專利技術要解決的技術問題在于,針對現有技術的上述缺陷,提供一種基于crush規則的文件存儲方法、裝置、終端及介質,旨在解決現有技術中當存在新的crush規則時,在進行數據分布是無法靈活的選擇對應的crush規則,影響數據分布存儲的效率的問題。
2、為了解決上述技術問題,本專利技術所采用的技術方案如下:
3、第一方面,本專
4、接收待存儲文件,確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息;
5、基于所述目錄信息,確定所述目錄信息所對應的crush規則;
6、確定所述crush規則的規則屬性信息,并基于所述規則屬性信息對所述待存儲文件進行存儲,其中,所述規則屬性信息用于反映所述crush規則是原始分布規則或者新建分布規則。
7、在一種實現方式中,所述確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息,包括:
8、對所述待存儲文件進行解析,得到解析內容,并對所述解析內容進行字符識別,得到所述標識信息;
9、基于所述標識信息,確定所述標識信息所對應的標識屬性,所述標識屬性用于反映所述待存儲文件的文件類型;
10、基于所述標識屬性,確定與所述標識屬性所對應的目錄信息。
11、在一種實現方式中,所述基于所述標識信息,確定所述標識信息所對應的標識屬性,包括:
12、獲取預設的標識定義對照表,所述標識定義對照表反映了若干個標識所對應的屬性;
13、將所述標識信息與所述標識定義對照表進行匹配,得到所述標識信息對應的標識屬性。
14、在一種實現方式中,所述基于所述標識屬性,確定與所述標識屬性所對應的目錄信息,包括:
15、基于所述標識屬性,確定與所述標識屬性所對應的類型信息,所述類型信息用于反映所述待存儲文件的文件類型;
16、基于所述類型信息,確定與所述類型信息所對應的目錄信息。
17、在一種實現方式中,所述基于所述目錄信息,確定所述目錄信息所對應的crush規則,包括:
18、將所述目錄信息與新建目錄進行匹配,得到匹配結果;
19、若所述匹配結果為匹配失敗,則確定所述目錄信息為原始目錄,并獲取所述原始目錄所對應的原始crush規則;
20、若所述匹配結果為匹配成功,則確定所述目錄信息為新建目錄,并獲取所述新建目錄所對應的新建crush規則。
21、在一種實現方式中,所述確定所述crush規則的規則屬性信息,并基于所述規則屬性信息對所述待存儲文件進行存儲,包括:
22、若所述crush規則為原始crush規則,則確定所述規則屬性信息為原始分布規則,則基于所述原始分布規則對所述待存儲文件進行分布式存儲;
23、若所述crush規則為新建crush規則,則確定所述規則屬性信息為新建分布規則,則基于所述新建分布規則對所述待存儲文件進行分布式存儲。
24、在一種實現方式中,所述基于所述新建分布規則對所述待存儲文件進行分布式存儲,包括:
25、對所述待存儲文件進行切片處理,得到若干文件分片;
26、基于所述新建分布規則,確定與所述新建分布規則所對應的目標磁盤,并將若干文件分片存儲至所述目標磁盤中。
27、第二方面,本專利技術實施例還提供一種基于crush規則的文件存儲裝置,其中,所述文件存儲裝置應用于分布式文件存儲系統,所述裝置包括:
28、標識分析模塊,用于接收待存儲文件,確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息;
29、規則確定模塊,用于基于所述目錄信息,確定所述目錄信息所對應的crush規則;
30、文件存儲模塊,用于確定所述crush規則的規則屬性信息,并基于所述規則屬性信息對所述待存儲文件進行存儲,其中,所述規則屬性信息用于反映所述crush規則是原始分布規則或者新建分布規則。
31、第三方面,本專利技術實施例還提供一種終端,其中,所述終端包括存儲器、處理器及存儲在存儲器中并可在處理器上運行的基于crush規則的文件存儲程序,處理器執行基于crush規則的文件存儲程序時,實現上述方案中任一項的基于crush規則的文件存儲方法的步驟。
32、第四方面,本專利技術實施例還提供一種計算機可讀存儲介質,其中,計算機可讀存儲介質上存儲有基于crush規則的文件存儲程序,所述基于crush規則的文件存儲程序被處理器執行時,實現上述方案中任一項所述的基于crush規則的文件存儲方法的步驟。
33、有益效果:與現有技術相比,本專利技術提供了一種基于crush規則的文件存儲方法,本專利技術首先接收待存儲文件,確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息。然后,基于所述目錄信息,確定所述目錄信息所對應的crush規則。最后,確定所述crush規則的規則屬性信息,并基于所述規則屬性信息對所述待存儲文件進行存儲,其中,所述規則屬性信息用于反映所述crush規則是原始分布規則或者新建分布規則。本專利技術可基于待存儲文件來確定對應的crush規則,以便使用合適的crush規則來對待存儲文件進行分布式存儲,即便存在新建的crush規則也可以使用該新建的crush規則進行文件存儲,從而實現數據的靈活管理和高效存儲。
本文檔來自技高網...【技術保護點】
1.一種基于Crush規則的文件存儲方法,其特征在于,所述文件存儲方法應用于分布式文件存儲系統,所述方法包括:
2.根據權利要求1所述的基于Crush規則的文件存儲方法,其特征在于,所述確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息,包括:
3.根據權利要求2所述的基于Crush規則的文件存儲方法,其特征在于,所述基于所述標識信息,確定所述標識信息所對應的標識屬性,包括:
4.根據權利要求2所述的基于Crush規則的文件存儲方法,其特征在于,所述基于所述標識屬性,確定與所述標識屬性所對應的目錄信息,包括:
5.根據權利要求1所述的基于Crush規則的文件存儲方法,其特征在于,所述基于所述目錄信息,確定所述目錄信息所對應的Crush規則,包括:
6.根據權利要求5所述的基于Crush規則的文件存儲方法,其特征在于,所述確定所述Crush規則的規則屬性信息,并基于所述規則屬性信息對所述待存儲文件進行存儲,包括:
7.根據權利要求6所述的基于Crush規則的文件存儲方法,其特征在于,所述基于
8.一種基于Crush規則的文件存儲裝置,其特征在于,所述文件存儲裝置應用于分布式文件存儲系統,所述裝置包括:
9.一種終端,其特征在于,所述終端包括存儲器、處理器及存儲在所述存儲器中并可在所述處理器上運行的基于Crush規則的文件存儲程序,所述處理器執行基于Crush規則的文件存儲程序時,實現如權利要求1-7任一項所述的基于Crush規則的文件存儲方法的步驟。
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有基于Crush規則的文件存儲程序,所述基于Crush規則的文件存儲程序被處理器執行時,實現如權利要求1-7任一項所述的基于Crush規則的文件存儲方法的步驟。
...【技術特征摘要】
1.一種基于crush規則的文件存儲方法,其特征在于,所述文件存儲方法應用于分布式文件存儲系統,所述方法包括:
2.根據權利要求1所述的基于crush規則的文件存儲方法,其特征在于,所述確定所述待存儲文件所攜帶的標識信息,并確定所述標識信息所對應的目錄信息,包括:
3.根據權利要求2所述的基于crush規則的文件存儲方法,其特征在于,所述基于所述標識信息,確定所述標識信息所對應的標識屬性,包括:
4.根據權利要求2所述的基于crush規則的文件存儲方法,其特征在于,所述基于所述標識屬性,確定與所述標識屬性所對應的目錄信息,包括:
5.根據權利要求1所述的基于crush規則的文件存儲方法,其特征在于,所述基于所述目錄信息,確定所述目錄信息所對應的crush規則,包括:
6.根據權利要求5所述的基于crush規則的文件存儲方法,其特征在于,所述確定所述crush規則的規則屬性...
【專利技術屬性】
技術研發人員:張勤,余登峰,余玲,尹遠,
申請(專利權)人:柏科數據技術深圳股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。