System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據庫,具體涉及一種基于數據修改頻率的分布式存儲方法、裝置與電子設備。
技術介紹
1、糾刪碼(erasure?codes,ec)是一種數據保護方法,主要用于數據存儲和網絡傳輸中,以確保數據的可靠性和容錯性。它通過將數據分割成片段,并創建冗余數據塊來進行編碼,這些編碼后的數據片段被存儲在不同的位置,如不同的磁盤、存儲節點或其他地理位置。糾刪碼的核心技術包括多項式插值或過采樣,這些技術使得系統能夠在部分數據丟失的情況下恢復原始數據。
2、糾刪碼的系統可以表示為“n=k+m”,其中“k”代表原始數據塊的數量,“m”代表添加的校驗塊(冗余數據塊)的數量,“n”則是總的編碼后數據塊的數量。例如,在“ec?10/16”配置中,會有6個額外的校驗塊(m)被添加到10個原始數據塊(k)中,這些編碼后的16個數據片段(n)會被分散存儲在不同的位置。即使有高達m個數據塊丟失或損壞,原始數據仍然可以從剩余的數據塊中恢復。
3、在實際應用中,糾刪碼被廣泛應用于分布式存儲系統、對象存儲、云計算和大規模數據傳輸等領域。
4、在糾刪碼技術中,如果文件被部分修改可能需要重新編碼整個文件,這可能會產生較大的計算和網絡開銷。因此,糾刪碼通常適合于數據修改不頻繁的場景。本申請意在擴展糾刪碼適用場景,降低相關計算和網絡開銷。糾刪碼(erasure?codes,ec)是一種數據保護方法,主要用于數據存儲和網絡傳輸中,以確保數據的可靠性和容錯性。它通過將數據分割成片段,并創建冗余數據塊來進行編碼,這些編碼后的數據片段被存儲在不
5、糾刪碼的系統可以表示為“n=k+m”,其中“k”代表原始數據塊的數量,“m”代表添加的校驗塊(冗余數據塊)的數量,“n”則是總的編碼后數據塊的數量。例如,在“ec?10/16”配置中,會有6個額外的校驗塊(m)被添加到10個原始數據塊(k)中,這些編碼后的16個數據片段(n)會被分散存儲在不同的位置。即使有高達m個數據塊丟失或損壞,原始數據仍然可以從剩余的數據塊中恢復。
6、在實際應用中,糾刪碼被廣泛應用于分布式存儲系統、對象存儲、云計算和大規模數據傳輸等領域。
7、在糾刪碼技術中,如果文件被部分修改可能需要重新編碼整個文件,這可能會產生較大的計算和網絡開銷。因此,糾刪碼通常適合于數據修改不頻繁的場景。本申請意在擴展糾刪碼適用場景,降低相關計算和網絡開銷。
技術實現思路
1、有鑒于此,本申請公開一種基于數據修改頻率的分布式存儲方法。所述方法可以包括,獲取待存儲數據文件包含的數據分區,以及與所述數據分區的修改頻率等級對應的目標編碼策略;其中,不同數據修改頻率等級對應不同的糾刪碼編碼策略,修改頻率等級越高對應編碼策略指示編碼使用的數據塊數量越小;根據所述目標編碼策略包括的第一數量,將所述數據分區包括的多個數據塊劃分為至少一個數據條帶,所述數據條帶包括所述第一數量的數據塊;針對每一所述數據條帶,對其包含的所述第一數量的數據塊進行編碼得到所述目標編碼策略包括的第二數量的校驗塊,并將所述第一數量的數據塊和所述第二數量的校驗塊分布式存儲至不同的存儲節點。
2、在一些實施例中,修改頻率等級至少包括兩個等級;生成編碼策略的方法包括:獲取與最低等級對應的第一編碼策略,所述第一編碼策略包括糾刪碼技術中參與編碼的數據塊的數量和編碼生成的校驗塊的數量;根據其它等級與所述最低等級的距離,減小所述第一編碼策略中的參與編碼的數據塊的數量,得到與所述其它等級對應的第二編碼策略。
3、在一些實施例中,所述根據其它等級與所述最低等級的距離,減小所述第一編碼策略中的參與編碼的數據塊的數量,包括:根據所述距離,等比例減小所述第一編碼策略中的參與編碼的數據塊的數量;或者,根據所述距離,等差減小所述第一編碼策略中的參與編碼的數據塊的數量。
4、在一些實施例中,所述方法還包括:更新所述數據分區的修改頻率等級;其中,響應于所述數據分區內數據的產生時刻距離當前時刻的時長為預設時長內,將所述數據分區的修改頻率等級更新為較高等級;響應于所述數據分區內數據的產生時刻距離所述當前時刻的時長超過預設時長,將所述數據分區的修改頻率等級更新為較低等級;響應于所述數據分區內數據被操作的頻次超過預設頻次,將所述數據分區的修改頻率等級更新為較高等級;響應于所述數據分區內數據被操作的頻次在所述預設頻次內,將所述數據分區的修改頻率等級更新為較低等級;響應于所述數據分區的修改頻率等級被調整,在分布式存儲系統空閑時刻,獲取已經存儲的所述數據分區的數據并按照調整后的修改頻率等級對應的編碼策略進行分布式存儲。
5、在一些實施例中,所述數據文件為數據表,針對所述數據表的至少一列字段設置固定長度,以根據所述固定長度分配固定存儲空間存儲所述列字段的字段內容,使得修改所述字段內容不會改變該字段占用的存儲空間大小,不會改變數據塊的順序;所述方法還包括:建立數據塊和所述數據塊包含的字段內容之間的對應關系。
6、在一些實施例中,所述方法包括:響應于針對目標字段內容的修改操作,根據所述對應關系,獲取與所述目標字段內容對應的目標數據塊;更新所述目標數據塊;根據更新后的所述目標數據塊更新所述目標數據塊對應的目標校驗塊。
7、在一些實施例中,所述根據更新后的所述目標數據塊更新所述目標數據塊對應的目標校驗塊,包括:獲取與所述目標數據塊對應的目標校驗塊;根據所述目標校驗塊與更新前的所述目標數據塊,通過矩陣逆運算得到中間值;根據所述中間值與更新后的所述目標數據塊,通過矩陣運算得到更新后的目標校驗塊。
8、在一些實施例中,所述方法還包括:針對至少一個所述列字段,統計最長字段長度,以及所述最長字段出現的頻次;在所述最長字段出現的頻次達到預設次數的情形下,將所述列字段的固定長度更新為所述最長字段長度;在所述最長字段未達到設置的初始固定長度并且達到預設時間長度最長字段未發生改變的情形下,將所述列字段的固定長度更新為所述最長字段長度;在將所述列字段的固定長度更新為所述最長字段長度之后,響應于所述列字段接收到大于所述最長字段長度的目標字段內容,將所述目標字段內容的長度于所述列字段的初始固定長度進行比較,如果所述目標字段內容的長度的大于所述初始固定長度,丟棄該目標字段內容,如果目標字段內容的長度小于等于所述初始固定長度,將所述列字段的固定長度更新為所述目標字段內容的長度。
9、本申請還提出一種基于數據修改頻率的分布式存儲裝置,所述裝置包括:獲取模塊,獲取待存儲數據文件包含的數據分區,以及與所述數據分區的修改頻率等級對應的目標編碼策略;其中,不同數據修改頻率等級對應不同的糾刪碼編碼策略,修改頻率等級越高對應編碼策略指示編碼使用的數據塊數量越小;劃分模塊,根據所述目標編碼策略包括的第一數量,將所述數據分區包括的多個數據塊劃分為至少一個本文檔來自技高網...
【技術保護點】
1.一種基于數據修改頻率的分布式存儲方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,修改頻率等級至少包括兩個等級;生成編碼策略的方法包括:
3.根據權利要求2所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述根據其它等級與所述最低等級的距離,減小所述第一編碼策略中的參與編碼的數據塊的數量,包括:
4.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述數據文件為數據表,針對所述數據表的至少一列字段設置固定長度,以根據所述固定長度分配固定存儲空間存儲所述列字段的字段內容,使得修改所述字段內容不會改變該字段占用的存儲空間大小,不會改變數據塊的順序;
6.根據權利要求5所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述方法包括:
7.根據權利要求6所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述根據更新后的所述目標數據塊更新所述目標數據
8.根據權利要求5所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述方法還包括:
9.一種基于數據修改頻率的分布式存儲裝置,其特征在于,所述裝置包括:
10.一種電子設備,其特征在于,包括:
...【技術特征摘要】
1.一種基于數據修改頻率的分布式存儲方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,修改頻率等級至少包括兩個等級;生成編碼策略的方法包括:
3.根據權利要求2所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述根據其它等級與所述最低等級的距離,減小所述第一編碼策略中的參與編碼的數據塊的數量,包括:
4.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述方法還包括:
5.根據權利要求1所述的基于數據修改頻率的分布式存儲方法,其特征在于,所述數據文件為數據表,針對所述數據表的至少一列字段設置固定長度...
【專利技術屬性】
技術研發人員:劉維霞,
申請(專利權)人:靈岫科技深圳有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。