[發明專利]一種降低陣列碼Xcode修復的編譯碼方法及裝置有效
| 申請號: | 201911251196.0 | 申請日: | 2019-12-09 |
| 公開(公告)號: | CN111143108B | 公開(公告)日: | 2023-05-02 |
| 發明(設計)人: | 唐聃;張航;劉敦龍;劉善政 | 申請(專利權)人: | 成都信息工程大學 |
| 主分類號: | G06F11/10 | 分類號: | G06F11/10 |
| 代理公司: | 北京元本知識產權代理事務所(普通合伙) 11308 | 代理人: | 王紅霞 |
| 地址: | 610225 四川省成都*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 降低 陣列 xcode 修復 譯碼 方法 裝置 | ||
本發明公開了一種降低陣列碼Xcode修復的編譯碼方法及裝置,其方法包括:通過對N*N陣列碼Xcode進行編碼處理,得到包含兩行局部編碼數據行和局部冗余塊行的(N+1)*N陣列碼Xcode;在檢測到所述(N+1)*N陣列碼Xcode中的第I列失效時,利用所述兩行局部編碼數據行中的數據塊和所述局部冗余塊行中的局部冗余塊,分別恢復出所述第I列中且位于局部編碼數據行中的兩個數據塊和位于第(N+1)行的局部冗余塊;利用所恢復出所述第I列中的兩個數據塊和所述局部冗余塊,分別恢復所述第I列中的(N?2)個剩余數據。
技術領域
本發明涉及計算機存儲技術領域,特別涉及一種降低陣列碼Xcode修復的編譯碼方法及裝置。
背景技術
糾刪碼技術是一種源自于信道傳輸的編碼技術,后被應用到了存儲系統中,因為其能消耗更低的存儲空間存儲更多的數據的特性被分布式存儲系統使用并逐步得到改進和推廣。糾刪碼中有一類碼稱為陣列碼,是由M.Blaum在1993年提出的。陣列碼與其他常用的線性糾刪碼存在一定的區別。它的算法并不是將全部的數據放入一維的向量中,而是將原數據以及冗余數據按照一定的順序,存放在一個二維(或多維)的陣列中,其中XCODE屬于典型的陣列碼。陣列碼因為其構造簡單,運算速度較快等優勢被廣泛使用,但陣列碼也存在著諸多問題,比如恢復丟失數據時修復成本過高,另一方面修復時間較慢,過長的修復時間容易導致系統在修復時再次丟失數據,因此研究如何降低陣列碼的修復開銷和恢復效率成為熱門問題。
發明內容
根據本發明實施例提供的方案解決的技術問題是如何降低陣列碼的修復開銷和恢復效率。
根據本發明實施例提供的一種降低陣列碼Xcode修復的編譯碼方法,其特征在于,包括:
通過對N*N陣列碼Xcode進行編碼處理,得到包含兩行局部編碼數據行和局部冗余塊行的(N+1)*N陣列碼Xcode;
在檢測到所述(N+1)*N陣列碼Xcode中的第I列失效時,利用所述兩行局部編碼數據行中的數據塊和所述局部冗余塊行中的局部冗余塊,分別恢復出所述第I列中且位于局部編碼數據行中的兩個數據塊和位于第(N+1)行的局部冗余塊;
利用所恢復出所述第I列中的兩個數據塊和所述局部冗余塊,分別恢復所述第I列中的(N-2)個剩余數據。
優選地,所述通過對N*N陣列碼Xcode進行編碼處理,得到包含兩行局部編碼數據行和局部冗余塊行的(N+1)*N陣列碼Xcode包括:
在對N*N陣列碼Xcode進行編碼時,將所述N*N陣列碼Xcode的數據行中選取的兩行數據行劃分到局部編碼數據行集中;
通過對所述局部編碼數據行集中第一行的N個數據塊與第二行的N個數據塊分別進行一對一配對處理,得到N個數據塊集合;
利用所述N個數據塊集合,生成N個局部冗余塊;
將所述N個局部冗余塊依次放置到所述N*N陣列碼Xcode的第N+1行中。
優選地,所述將所述N*N陣列碼Xcode的數據行中選取的兩行數據行劃分到局部編碼數據行集中包括:
按照局部編碼數據行劃分方法,從所述N*N陣列碼Xcode的前N-2數據行中選取第0行數據行和第N-3行數據行;
將所述第0行數據行和第N-3行數據行劃分到局部編碼數據行集中。
優選地,所述通過對所述局部編碼數據行集中第一行的N個數據塊與第二行的N個數據塊分別進行一對一配對處理,得到N個數據塊集合包括:
確定用于配對數據塊的標準列和斜率,其中所述斜率為1或-1;
從所述標準列的第0行出發,以所述斜率為走向,在所述N*N陣列碼Xcode中選出N-2個數據塊;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都信息工程大學,未經成都信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911251196.0/2.html,轉載請聲明來源鉆瓜專利網。





