CN115454712A - Check code recovery method, system, electronic equipment and storage medium - Google Patents
Check code recovery method, system, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN115454712A CN115454712A CN202211409901.7A CN202211409901A CN115454712A CN 115454712 A CN115454712 A CN 115454712A CN 202211409901 A CN202211409901 A CN 202211409901A CN 115454712 A CN115454712 A CN 115454712A
- Authority
- CN
- China
- Prior art keywords
- check code
- global
- local
- transformation
- data block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000011084 recovery Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000009466 transformation Effects 0.000 claims abstract description 196
- 238000006243 chemical reaction Methods 0.000 claims abstract description 38
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 10
- 230000014509 gene expression Effects 0.000 claims description 7
- 230000001131 transforming effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 20
- 238000013500 data storage Methods 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 21
- 238000012937 correction Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008263 repair mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
The application discloses a check code recovery method, a check code recovery system, electronic equipment and a storage medium, and belongs to the technical field of data storage. The check code recovery method comprises the following steps: generating a global check code and a local check code of the data block; determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code; generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation; determining a transformation parameter for transformation between the global check code and the local check code according to the check code transformation relation; and recovering the error-reported global check code or local check code by using the transformation parameters. The process of recovering the check code does not need to carry out recoding calculation according to the data code, the calculation amount of recovering the check code can be reduced, and the recovery efficiency of the check code is improved.
Description
Technical Field
The present disclosure relates to the field of data storage, and in particular, to a method and system for recovering a check code, an electronic device, and a storage medium.
Background
In the face of the storage requirement of mass data, the distributed storage gradually replaces the dominant position of unified storage by the advantages of low cost, good expandability and the like, and has gained more and more attention in the aspects of theoretical research and practical application. On the other hand, a distributed storage system usually comprises a plurality of nodes, and the system often has node failure due to software and hardware failures, human errors and the like. In order to improve the data reliability of the distributed storage system and ensure that the data collection node can realize the reconstruction of the original file with high probability, a certain amount of redundancy needs to be additionally stored on the basis of storing the original data, so that the system can still normally operate under the condition that partial nodes fail, and the data collection node can still realize decoding recovery of the original file. Meanwhile, in order to maintain the reliability of the system, failed nodes need to be repaired in time, and a well-designed node repair mechanism is very important.
Most of distributed storage is data for protecting users, so that when a scene such as power failure occurs, the data of the users can be recovered, and usually, an erasure correction disk group is constructed by using the above erasure correction algorithm and the like to protect the erasure correction disk group. When data protection is performed by using erasure correction of the RS, all remaining data need to be taken out for operation in any error. The LRC (local check code) improves the error correction speed under the single error scene with the maximum probability by increasing the local redundant codes. However, all erasure correction disk group protection presupposes the integrity of the parity code block, and although the LRC improves the speed of data disk error recovery, the error of the parity code block still needs to take out all the remaining data blocks.
Therefore, how to reduce the calculation amount of recovering the check code and improve the recovery efficiency of the check code is a technical problem that needs to be solved by those skilled in the art at present.
Disclosure of Invention
The application aims to provide a check code recovery method, a check code recovery system, an electronic device and a storage medium, which can reduce the calculation amount of recovery of check codes and improve the recovery efficiency of check codes.
In order to solve the above technical problem, the present application provides a check code recovery method, including:
generating a global check code and a local check code of the data block;
determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code;
generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation;
determining a transformation parameter for transformation between the global check code and the local check code according to the check code transformation relation;
and recovering the error-reported global check code or local check code by using the transformation parameters.
Optionally, the generating the global check code of the data block includes:
and generating the global check codes corresponding to all the data blocks through an RS algorithm.
Optionally, determining a first transformation relationship between the data block and the global check code includes:
determining the first transformation relation between the data block and the global check code according to an RS algorithm;
wherein the first transformation relationship is: p is a radical of i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;p i Denotes the ith global check code, a i1 、a i2 、…、a ik Represents the calculation p i K RS algorithm parameters, x, used j Represents the jth data block, j is more than or equal to 1 and less than or equal to k, and k represents the total number of the data blocks.
Optionally, the generating the local check code of the data block includes:
and dividing all the data blocks into m data block groups, and generating a local check code corresponding to each data block group through an RS algorithm.
Optionally, determining the second transformation relationship between the data block and the local check code includes:
determining the second transformation relation between the data block and the local check code according to an RS algorithm;
wherein the second transformation relation is: lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st ;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, l n1 、l n2 、…、l nt Represents the calculation of lp n T RS algorithm parameters, x, used s1 、x s2 、…、x st Denotes the s1 th to st th data blocks.
Optionally, generating a check code transformation relationship between the global check code and the local check code by combining the first transformation relationship and the second transformation relationship, includes:
establishing an equation set according to the first transformation relations corresponding to all the global check codes and the second transformation relations corresponding to all the local check codes;
solving the equation set to obtain the check code transformation relation; wherein, the expression corresponding to the check code transformation relation is as follows: lp 1 ⊕lp 2 ⊕…⊕lp m ⊕p 1 *pp 1 ⊕p 2 *pp 2 …⊕p r *pp r =0;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, m represents the total number of the local check codes, p i Represents the ith global check code, i is more than or equal to 1 and less than or equal to r, r represents the total number of the global check codes, pp i A transformation parameter representing a transformation between the global check code and the local check code.
Optionally, recovering the error-reported global check code or local check code by using the transformation parameter includes:
if the target local check code is in error, judging whether the number of the target local check codes is more than 1;
and if the number of the target local check codes is equal to 1, recovering the target local check codes by using the transformation parameters, all the global check codes and all the local check codes except the target local check codes.
Optionally, after determining whether the number of the target local check codes is greater than 1, the method further includes:
if the number of the target local check codes is larger than 1, setting the data block group corresponding to the target local check codes as a target data block group;
and recovering the target local check code by using all the data blocks in the target data block group.
Optionally, recovering the error-reported global check code or local check code by using the transformation parameter includes:
if the target global check code is in error, judging whether the number of the target global check codes is more than 1;
and if the number of the target global check codes is equal to 1, recovering the target global check codes by using the transformation parameters, all the local check codes and all the global check codes except the target global check codes.
Optionally, determining whether the number of the target global check codes is greater than 1 further includes:
and if the number of the target global check codes is larger than 1, recovering the target global check codes by using the data blocks.
Optionally, the method further includes:
judging whether the data block has errors or not;
if yes, recovering the error-reported data block by using the global check code or the local check code.
Optionally, before generating the global check code and the local check code of the data block, the method further includes:
and receiving original data stored by a user, and splitting the original data to obtain k data blocks.
The present application further provides a check code recovery system, which includes:
the check code generating module is used for generating a global check code and a local check code of the data block;
the transformation relation determining module is used for determining a first transformation relation between the data block and the global check code and determining a second transformation relation between the data block and the local check code; the check code conversion relation is used for combining the first conversion relation and the second conversion relation to generate a check code conversion relation of the global check code and the local check code;
the parameter determining module is used for determining a transformation parameter for transforming between the global check code and the local check code according to the check code transformation relation;
and the check code recovery module is used for recovering the error-reported global check code or local check code by using the transformation parameters.
The application also provides a storage medium, on which a computer program is stored, and when the computer program is executed, the steps executed by the check code recovery method are realized.
The application also provides an electronic device, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor realizes the step executed by the check code recovery method when calling the computer program in the memory.
The application provides a check code recovery method, which comprises the following steps: generating a global check code and a local check code of the data block; determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code; generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation; determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation; and recovering the error-reported global check code or local check code by using the transformation parameters.
After the global check code and the local check code of the data block are obtained, the check code conversion relation is determined according to the conversion relation between the data block and the global check code and the local check code respectively, and the global check code and the local check code can be converted mutually based on the check code conversion relation. And determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation, and recovering the wrong global check code or local check code by using the transformation parameters when the global check code or local check code reports errors. The process of recovering the check code does not need to carry out recoding calculation according to the data code, the calculation amount of recovering the check code can be reduced, and the recovery efficiency of the check code is improved. The application also provides a check code recovery system, a storage medium and an electronic device, which have the beneficial effects and are not repeated herein.
Drawings
In order to more clearly illustrate the embodiments of the present application, the drawings required for the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained by those skilled in the art without inventive effort.
Fig. 1 is a flowchart of a check code recovery method according to an embodiment of the present application;
FIG. 2 is a diagram illustrating an exemplary structure of an LRC according to an embodiment of the present disclosure;
fig. 3 is a schematic diagram illustrating a relationship between a global check code and a local check code according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a check code recovery system according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
Referring to fig. 1, fig. 1 is a flowchart of a check code recovery method according to an embodiment of the present disclosure.
The specific steps may include:
s101: generating a global check code and a local check code of the data block;
the embodiment can be applied to a distributed storage system, and the embodiment can receive original data stored by a user, split the original data to obtain k data blocks, and then generate r global check codes and m local check codes of the k data blocks according to an erasure code algorithm.
Erasure Code (Erasure Code) belongs to a forward error correction technique in the coding theory, and is applied to the communication field for the first time to solve the problems of loss and loss in data transmission. Erasure coding techniques have been introduced into the storage area because of their superior effectiveness in preventing data loss. Erasure codes can effectively reduce storage overhead on the premise of ensuring the same reliability, so erasure code technology is widely applied to various large storage systems and data centers.
The erasure codes are of various types, and RS codes (Reed-Solomon codes) applied in a distributed environment are more common in a real storage system. The RS code is associated with two parameters k and r. Given the two positive integers k and r, the RS code encodes k data blocks into r additional check codes (i.e., data in the check blocks). The way in which r check codes are encoded based on the vandermonde matrix or the cauchy matrix is referred to as RS erasure coding using vandermonde matrix or cauchy matrix encoding. In this embodiment, all the data blocks may be further divided into m data block groups, and a local check code corresponding to each data block group is generated through an RS algorithm, where each data block group corresponds to one local check code. After the global check code and the local check code are obtained, whether the data block has errors can be judged; if yes, recovering the error-reported data block by using the global check code or the local check code.
S102: determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code;
wherein the step canDetermining a first transformation relation between the data block and the global check code in a generation mode according to the global check code, wherein the process comprises the following steps: generating global check codes corresponding to all the data blocks through an RS algorithm, and determining the first transformation relation between the data blocks and the global check codes according to the RS algorithm; wherein the first transformation relationship is: p is a radical of i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;p i Represents the ith global check code, a i1 、a i2 、…、a ik Indicating the calculation of the ith global check code p i K RS algorithm parameters, x, used j Represents the jth data block, j is more than or equal to 1 and less than or equal to k, and k represents the total number of the data blocks.
In this step, a second transformation relationship between the data block and the local check code may also be determined according to a generation manner of the local check code, and the process is as follows: dividing all the data blocks into m data block groups, generating a local check code corresponding to each data block group through an RS algorithm, and determining the second transformation relation between the data blocks and the local check codes according to the RS algorithm; wherein the second transformation relation is: lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st ;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, l n1 、l n2 、…、l nt Indicating the calculation of lp n T RS algorithm parameters, x, used s1 、x s2 、…、x st Denotes the s1 th to st th data blocks.
S103: generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation;
the first transformation relation describes the relation between the data block and the global check code, the second transformation relation describes the relation between the data block and the local check code, and the check code transformation relation between the global check code and the local check code can be obtained by combining formulas of the first transformation relation and the second transformation relation.
S104: determining a transformation parameter for transformation between the global check code and the local check code according to the check code transformation relation;
after the check code transformation relation is obtained, transformation parameters for transformation between the global check code and the local check code can be determined, the local check code can be obtained according to the global check code and the transformation parameters, and the global check code can also be obtained according to the local check code and the transformation parameters.
S105: and recovering the error-reported global check code or local check code by using the transformation parameters.
Before this step, there may be an operation of detecting whether the global check code or the local check code reports an error; if the global check code reports errors, the local check code, the transformation parameters and part of the global check code can be used for recovering the error-reported global check code; if the local check code reports errors, the global check code, the transformation parameters and part of the local check code can be used for recovering the error-reported local check code. In the above scheme, when any check code is erroneous, only the remaining other check code blocks need to be read, and all data blocks do not need to be read. Therefore, the recovery speed of the check code block is improved on the premise that the redundant storage block is not added and the effect of the local check code is not influenced. The present embodiment does not add redundant code blocks, and improves the LRC improved algorithm for recovering speed when check code blocks are in error, so that the formed erasure correcting disk group can have the advantage of quick recovery in any single error scenario.
In this embodiment, after the global check code and the local check code of the data block are obtained, the check code transformation relationship is determined according to the transformation relationships between the data block and the global check code and the local check code, and the global check code and the local check code can be mutually converted based on the check code transformation relationship. And determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation, and recovering the wrong global check code or local check code by using the transformation parameters when the global check code or local check code reports an error. The check code recovery process does not need to carry out recoding calculation according to the data code, so that the calculation amount of the recovery check code can be reduced, and the recovery efficiency of the check code is improved.
As a possible implementation manner, the embodiment corresponding to fig. 1 may generate the check code transformation relationship between the global check code and the local check code by combining the first transformation relationship and the second transformation relationship, including: establishing an equation set according to the first transformation relations corresponding to all the global check codes and the second transformation relations corresponding to all the local check codes; solving the equation set to obtain the check code transformation relation;
wherein, the above-mentioned equation set can be:
p i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;
lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st 。
the expression corresponding to the check code conversion relation is as follows:
lp 1 ⊕lp 2 ⊕…⊕lp m ⊕p 1 *pp 1 ⊕p 2 *pp 2 …⊕p r *pp r =0;
in the above expression, lp n (i.e., lp) 1 、lp 2 、…、lp m ) Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, m represents the total number of the local check codes, p i (i.e. p) 1 、p 2 、…、p r ) Represents the ith global check code, i is more than or equal to 1 and less than or equal to r, r represents the total number of the global check codes, pp i (i.e., pp) 1 、pp 2 、…、pp r ) And the transformation parameters represent transformation between the global check code and the local check code.
After all the global check codes and the local check codes are obtained in S101 in the embodiment corresponding to fig. 1, a set of transformation parameters pp corresponding to the above expressions may be calculated and obtained based on the expressions corresponding to the above check code transformation relations 1 、pp 2 、…、pp r And storing the transformation parameters.
As a further description of the corresponding embodiment of fig. 1, the check code may be recovered in the following manner, and the specific process includes the following steps:
step 1: generating a global check code and a local check code of the data block;
and 2, step: determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code;
and step 3: generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation;
and 4, step 4: determining a transformation parameter for transformation between the global check code and the local check code according to the check code transformation relation;
and 5: if the target local check code is in error, judging whether the number of the target local check codes is more than 1; if the number of the target local check codes is equal to 1, recovering the target local check codes by using the transformation parameters, all the global check codes and all the local check codes except the target local check codes; if the number of the target local check codes is larger than 1, setting the data block group corresponding to the target local check codes as a target data block group; and recovering the target local check code by using all the data blocks in the target data block group.
Step 6: if the target global check code is in error, judging whether the number of the target global check codes is more than 1; if the number of the target global check codes is equal to 1, recovering the target global check codes by using the transformation parameters, all the local check codes and all the global check codes except the target global check codes; and if the number of the target global check codes is larger than 1, recovering the target global check codes by using the data blocks.
In the above scheme, when any check code is erroneous, only the remaining other check code blocks need to be read, and all data blocks do not need to be read. Therefore, the recovery speed of the check code block is improved on the premise that the redundant storage block is not added and the effect of the local check code is not influenced. In this embodiment, redundant code blocks are not added, and an LRC improved algorithm for increasing the recovery speed when check code blocks are in error is used, so that the composed erasure correcting disk group can have the advantage of fast recovery in any single error scenario.
The flow described in the above embodiment is explained below by an embodiment in practical use.
RS erasure codes based on vandermonde matrices are as follows:
the RS erasure code based on the Cauchy matrix is as follows:
the k x k matrix in the above description corresponds to k original data blocks, and the r x k matrix in the lower part corresponds to an encoding matrix, which is obtained by correlating with original data D 1 To D k Multiplying to obtain newly added P 1 To P r I.e. the data of the r check blocks obtained by encoding (i.e. the check code). When a plurality of r data are randomly made to have errors or are lost in transmission and the errors need to be corrected, the inverse matrix of the matrix corresponding to the residual data is multiplied by the data, and the original data block D is obtained 1 To D k 。
With D 1 To D k Data loss, decoding for example, the process is as follows:
it is known that the core concept of erasure codes is to construct a reversible coding matrix to generate the parity data, and the inverse matrix can be calculated to recover the original data. Common RS erasure codes use either the above-described cauchy matrix or vandermonde matrix, which has the advantage that the resulting matrix is definitely invertible, any sub-matrix thereof is also invertible, and the size expansion of the matrix is simple.
The calculation of the common RS erasure code inverse matrix adopts highThe method is applicable to inversion of any reversible matrix, but the method is not optimized according to the characteristics of matrix coding, so that a large amount of redundant operation is introduced although the calculation is regulated. When k data blocks are stored and r check data blocks are added, the error probability of a single data block needing to be recovered accounts for 99.75% (2007 storage technical annual meeting statistical data), and the Gaussian elimination requirement (k + r) is used 3 The secondary operation can obtain the required inverse matrix, and then the corresponding data block is recovered.
The LRC (local check code) is an improved algorithm for RS, and can be applied to Windows Azure Storage (WAS) storage. Fig. 2 shows a simple structure of an LRC, and fig. 2 is a diagram illustrating a structure of an LRC according to an embodiment of the present disclosure. As shown in fig. 2, x1-x5 represent data blocks stored by 5 users, p1 and p2 represent global check codes generated by RS, and lp1 and lp2 represent local check codes generated by RS.
The process of obtaining the global check codes p1 and p2 through calculation of the RS algorithm is as follows:
in the above formula, a and b represent different parameters, the specific data values of the parameters are determined by RS formula relations such as Van der Monte or Cauchy, and the operation is realized by multiplication and addition iteration of Galois fields.
As can be seen from the above, when only p1 and p2 exist, all data blocks need to be fetched for operation when any error occurs, that is, for the example in fig. 2, at least five data blocks need to be read at a time to complete the operation.
LRC proposes the concept of local check codes, such as lp1 and lp2 in fig. 2, and generates the local check codes by first grouping data blocks x1-x5 based on the relationship and properties of the data blocks, such as the example in fig. 2, where x1-x3 are grouped and x4 and x5 are grouped. Then there are:
from the above, 99.75% of the error occurrences are single error scenarios, and then the fast recovery can be performed by using lp1 and lp2 for any user data (x 1-x 5) error in the above example. That is, based on the relationship of formula (2), when an error occurs in any one of x1 to x3, the xor recovery can be performed by using lp1 by only reading the remaining two blocks of data. When an error occurs in any one of x4 and x5, only lp2 and the remaining data block need to be read for recovery. This is a significant improvement over the need to read at least the quintile data when recovering using p1 and p 2.
The LRC is only an improvement of any error, and when more than one error occurs, the data blocks for global check p1 and p2 are needed, so the security of the global check code is as important as the guarantee requirement of data security, but when the global check code has an error, the conventional LRC cannot recover by using the local check code of the LRC, and even if encoding needs to be performed again, the data blocks to be read are all the data blocks, and the efficiency is poor. The embodiment aims at the problem, and improves the generation method of the LRC, so that the single error (99.75% of probability occurrence) of the check code block can be quickly recovered on the premise of not increasing redundancy.
Referring to fig. 3, fig. 3 is a schematic diagram of a relationship between a global check code and a local check code provided in an embodiment of the present application, in fig. 3, x1, x2, x3, x4, and x5 represent data of a data block, p1 and p2 represent the global check code, lp1 and lp2 represent the local check code, l1, l2, and l3 represent parameters for calculating lp1, l4 and l5 represent parameters for calculating lp2, and pp1 and pp2 represent transformation parameters for transforming between the global check code and the local check code.
In order to improve the decoding speed of p1 and p2 in single error, the present embodiment uses the transformation parameters pp1 and pp2 as the third group of partial codes, and to save redundant data blocks, the operation result is equal to the exclusive or operation based on lp1 and lp2, which is expressed as:
in order to enable the formula (3) to be satisfied, the generation relationship between lp1 and lp2 needs to be improved, and is expressed as:
li and ppi in the above equations (3) and (4) are the operation parameters proposed in this embodiment, and the parameter values thereof depend on the grouping relationship, i.e. the number of data blocks, the grouping manner, and the number of check codes. As in the case of fig. 3, for any RS algorithm, the above combination of equations can be expressed based on the relationship of equation (1) in conjunction with p1p 2:
since li and ppi are the operation parameters proposed in this embodiment, in order to make the operation formula hold, the operation parameters need to satisfy a certain condition during assignment, and the condition can be derived and calculated by formula (5), and the analysis and transformation of formula (5) can obtain:
if the formula (5) is established, the relationship of the formula (6) needs to be satisfied.
After verification, all values of li and ppi in fig. 3 can be obtained based on the formula (6).
To illustrate the above equation, assume that the RS algorithm uses the vandermonde relationship at this time, namely:
then a valid solution can be simply found based on the above equation: pp1= pp2=1, l1=2, l2=3, l3=4, l4=5, l5=6; the verification relationship is as follows:
If the above relationship is established, the formula (3) is established.
Therefore, when the method is implemented by using the embodiment, lp1 and lp2, and pp1 and pp2 form a local erasure group. Because the setting-based relationship is:
therefore, any redundant storage does not need to be additionally added. For any error of the check codes lp1, lp2, p1, p2, the error correction relationship can be obtained as follows:
compared with the above-mentioned LRC, it can be seen that any error check code thereof only needs to read the remaining other check code blocks, and does not need to read all the data blocks. Therefore, the recovery speed of the check code block is improved on the premise that the redundant storage block is not added and the effect of the local check code is not influenced. The present embodiment does not add redundant code blocks, and improves the LRC improved algorithm for recovering speed when check code blocks are in error, so that the formed erasure correcting disk group can have the advantage of quick recovery in any single error scenario.
The embodiment provides an improved scheme based on the LRC, and by improving the encoding and decoding mode, the check code block can obtain the same effect as the data code block recovery under the protection of the local check code block without changing the recovery effect of the local check code block and without adding any redundant storage, so that the data reading amount required by the recovery is reduced, and the recovery speed is improved. In this embodiment, after the global check code and the local check code of the data block are obtained, the check code transformation relationship is determined according to the transformation relationships between the data block and the global check code and the local check code, and the global check code and the local check code can be mutually converted based on the check code transformation relationship. And determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation, and recovering the wrong global check code or local check code by using the transformation parameters when the global check code or local check code reports errors. The process of recovering the check code does not need to carry out recoding calculation according to the data code, the calculation amount of recovering the check code can be reduced, and the recovery efficiency of the check code is improved.
Referring to fig. 4, fig. 4 is a schematic structural diagram of a check code recovery system according to an embodiment of the present application;
the system may include:
a check code generation module 401, configured to generate a global check code and a local check code of a data block;
a transformation relation determining module 402, configured to determine a first transformation relation between the data block and the global check code, and determine a second transformation relation between the data block and the local check code; the check code conversion relation is used for combining the first conversion relation and the second conversion relation to generate a check code conversion relation of the global check code and the local check code;
a parameter determining module 403, configured to determine, according to the check code transformation relationship, transformation parameters for transformation between the global check code and the local check code;
a check code recovery module 404, configured to recover the error-reported global check code or local check code by using the transformation parameter.
The embodiment can be applied to a distributed storage system, and the embodiment can receive original data stored by a user, split the original data to obtain k data blocks, and then generate r global check codes and m local check codes of the k data blocks according to an erasure code algorithm.
In this embodiment, the first transformation relationship between the data block and the global check code may be determined according to a generation manner of the global check code, and the process thereof is as follows: generating global check codes corresponding to all the data blocks through an RS algorithm, and determining the first transformation relation between the data blocks and the global check codes according to the RS algorithm; wherein the first transformation relationship is: p is a radical of formula i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;p i Denotes the ith global check code, a i1 、a i2 、…、a ik Indicating the calculation of the ith global check code p i K RS algorithm parameters, x, used j Represents the jth data block, j is more than or equal to 1 and less than or equal to k, and k represents the total number of the data blocks.
In this embodiment, the second transformation relationship between the data block and the local check code may also be determined according to the generation manner of the local check code, and the process is as follows: dividing all the data blocks into m data block groups, generating a local check code corresponding to each data block group through an RS algorithm, and determining the second transformation relation between the data blocks and the local check codes according to the RS algorithm; wherein the second transformation relation is: lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st ;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, l n1 、l n2 、…、l nt Indicating the calculation of lp n T RS calculations usedMethod parameter, x s1 、x s2 、…、x st Denotes the s1 th to st th data blocks.
The first transformation relation describes the relation between the data block and the global check code, the second transformation relation describes the relation between the data block and the local check code, and the check code transformation relation between the global check code and the local check code can be obtained through a formula combining the first transformation relation and the second transformation relation.
After the check code transformation relation is obtained, transformation parameters for transformation between the global check code and the local check code can be determined, the local check code can be obtained according to the global check code and the transformation parameters, and the global check code can also be obtained according to the local check code and the transformation parameters.
Before this step, there may be an operation of detecting whether the global check code or the local check code reports an error; if the global check code reports errors, the local check code, the transformation parameters and part of the global check code can be used for recovering the error-reported global check code; if the local check code reports errors, the global check code, the transformation parameters and part of the local check code can be used for recovering the error-reported local check code.
In this embodiment, after the global check code and the local check code of the data block are obtained, the check code transformation relationship is determined according to the transformation relationships between the data block and the global check code and the local check code, and the global check code and the local check code can be mutually converted based on the check code transformation relationship. And determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation, and recovering the wrong global check code or local check code by using the transformation parameters when the global check code or local check code reports errors. The process of recovering the check code does not need to carry out recoding calculation according to the data code, the calculation amount of recovering the check code can be reduced, and the recovery efficiency of the check code is improved.
Further, the generating the global check code of the data block by the check code generating module 401 includes: and generating the global check codes corresponding to all the data blocks through an RS algorithm.
Further, the process of the transformation relation determining module 402 determining the first transformation relation between the data block and the global check code includes: determining the first transformation relation between the data block and the global check code according to an RS algorithm;
wherein the first transformation relationship is: p is a radical of i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;p i Denotes the ith global check code, a i1 、a i2 、…、a ik Represents the calculation p i K RS algorithm parameters, x, used j Represents the jth data block, j is more than or equal to 1 and less than or equal to k, and k represents the total number of the data blocks.
Further, the process of generating the local check code of the data block by the check code generation module 401 includes: and dividing all the data blocks into m data block groups, and generating a local check code corresponding to each data block group through an RS algorithm.
Further, the process of the transformation relation determining module 402 determining the second transformation relation between the data block and the partial check code includes: determining the second transformation relation between the data block and the local check code according to an RS algorithm;
wherein the second transformation relation is: lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st ;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, l n1 、l n2 、…、l nt Indicating the calculation of lp n T RS algorithm parameters, x, used s1 、x s2 、…、x st Denotes the s1 th to st th data blocks.
Further, the process of generating the check code transformation relationship between the global check code and the local check code by the transformation relationship determining module 402 combining the first transformation relationship and the second transformation relationship includes: establishing an equation set according to the first transformation relations corresponding to all the global check codes and the second transformation relations corresponding to all the local check codes; solving the equation set to obtain the check code transformation relation; wherein, the expression corresponding to the check code conversion relation is as follows: lp 1 ⊕lp 2 ⊕…⊕lp m ⊕p 1 *pp 1 ⊕p 2 *pp 2 …⊕p r *pp r =0;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, m represents the total number of the local check codes, p i Representing the ith global check code, i is more than or equal to 1 and less than or equal to r, r represents the total number of the global check codes, pp i And the transformation parameters represent transformation between the global check code and the local check code.
Further, the process of the check code recovery module 404 using the transformation parameters to recover the error-reported global check code or local check code includes: if the target local check code is in error, judging whether the number of the target local check codes is more than 1; and if the number of the target local check codes is equal to 1, recovering the target local check codes by using the transformation parameters, all the global check codes and all the local check codes except the target local check codes.
Further, the check code recovery module 404 is further configured to set, after determining whether the number of the target local check codes is greater than 1, if the number of the target local check codes is greater than 1, the data block group corresponding to the target local check codes as a target data block group; and recovering the target local check code by using all the data blocks in the target data block group.
Further, the process of the check code recovery module 404 using the transformation parameters to recover the error-reported global check code or local check code includes: if the target global check code is in error, judging whether the number of the target global check codes is more than 1; and if the number of the target global check codes is equal to 1, recovering the target global check codes by using the transformation parameters, all the local check codes and all the global check codes except the target global check codes.
Further, the check code recovery module 404 is further configured to recover the target global check code by using the data block if the number of the target global check codes is greater than 1 after determining whether the number of the target global check codes is greater than 1.
Further, the method also comprises the following steps:
the data block recovery module is used for judging whether the data block has errors or not; if yes, recovering the error-reported data block by using the global check code or the local check code.
Further, the method also comprises the following steps:
and the data splitting module is used for receiving original data stored by a user before generating the global check code and the local check code of the data blocks, and splitting the original data to obtain k data blocks.
Since the embodiment of the system part corresponds to the embodiment of the method part, the embodiment of the system part is described with reference to the embodiment of the method part, and is not repeated here.
The present application also provides a storage medium on which a computer program is stored, which when executed, can implement the steps provided by the above embodiments. The storage medium may include: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, an optical disk, or other various media capable of storing program codes.
The steps implemented when the computer program is executed include: generating a global check code and a local check code of the data block; determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code; generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation; determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation; and recovering the error-reported global check code or local check code by using the transformation parameters.
The application further provides an electronic device, which may include a memory and a processor, where the memory stores a computer program, and the processor may implement the steps provided by the foregoing embodiments when calling the computer program in the memory. Of course, the electronic device may also include various network interfaces, power supplies, and the like.
The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. For the system disclosed by the embodiment, the description is relatively simple because the system corresponds to the method disclosed by the embodiment, and the relevant points can be referred to the method part for description. It should be noted that, for those skilled in the art, it is possible to make several improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.
It is further noted that, in the present specification, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising a," "8230," "8230," or "comprising" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
Claims (15)
1. A check code recovery method, comprising:
generating a global check code and a local check code of the data block;
determining a first transformation relation between the data block and the global check code, and determining a second transformation relation between the data block and the local check code;
generating a check code conversion relation of the global check code and the local check code by combining the first conversion relation and the second conversion relation;
determining transformation parameters for transformation between the global check code and the local check code according to the check code transformation relation;
and recovering the global check code or the local check code which reports errors by using the transformation parameters.
2. The check code recovery method of claim 1, wherein the generating the global check code of the data block comprises:
and generating the global check codes corresponding to all the data blocks through an RS algorithm.
3. The check code recovery method of claim 2, wherein determining the first transformation relationship between the data block and the global check code comprises:
determining the first transformation relation between the data block and the global check code according to the RS algorithm;
wherein the first transformation relationship is: p is a radical of formula i =a i1 *x 1 ⊕a i2 *x 2 ⊕…⊕a ik *x k ;p i Represents the ith of the global check code, a i1 、a i2 、…、a ik Represents the calculation p i K RS algorithm parameters, x, used j Represents the j-th data block, j is more than or equal to 1 and less than or equal to k, and k represents the total number of the data blocks.
4. The parity check code recovery method of claim 1, wherein the generating the local parity check code of the data block comprises:
dividing all the data blocks into m data block groups, and generating the local check code corresponding to each data block group through an RS algorithm.
5. The check code recovery method of claim 4, wherein determining the second transformation relationship between the data block and the local check code comprises:
determining the second transformation relation between the data block and the local check code according to the RS algorithm;
wherein, the second transformation relation is as follows: lp n =l n1 *x s1 ⊕l n2 *x s2 ⊕…⊕l nt *x st ;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, l n1 、l n2 、…、l nt Indicating the calculation of lp n T RS algorithm parameters, x, used s1 、x s2 、…、x st Represents the s1 th to st th data blocks.
6. The check code recovery method according to claim 1, wherein generating a check code transformation relation between the global check code and the local check code by combining the first transformation relation and the second transformation relation comprises:
establishing an equation set according to the first transformation relations corresponding to all the global check codes and the second transformation relations corresponding to all the local check codes;
solving the equation set to obtain the check code transformation relation; wherein, the expression corresponding to the check code transformation relation is as follows: lp 1 ⊕lp 2 ⊕…⊕lp m ⊕p 1 *pp 1 ⊕p 2 *pp 2 …⊕p r *pp r =0;lp n Representing the nth local check code, n is more than or equal to 1 and less than or equal to m, m represents the total number of the local check codes, p i Represents the ith global check code, i is more than or equal to 1 and less than or equal to r, r represents the total number of the global check codes, pp i The transformation parameters representing the transformation between the global check code and the local check code.
7. The parity check code recovery method according to claim 1, wherein the recovering the error-reported global parity check code or the local parity check code using the transformation parameter comprises:
if the target local check code is in error, judging whether the number of the target local check codes is more than 1;
and if the number of the target local check codes is equal to 1, recovering the target local check codes by using the transformation parameters, all the global check codes and all the local check codes except the target local check codes.
8. The check code recovery method of claim 7, wherein after determining whether the number of the target local check codes is greater than 1, further comprising:
if the number of the target local check codes is larger than 1, setting the data block group corresponding to the target local check codes as a target data block group;
and recovering the target local check code by using all the data blocks in the target data block group.
9. The parity check code recovery method of claim 1, wherein the recovering the error-reported global parity check code or the local parity check code using the transformation parameters comprises:
if the target global check code is in error, judging whether the number of the target global check codes is more than 1;
and if the number of the target global check codes is equal to 1, recovering the target global check codes by using the transformation parameters, all the local check codes and all the global check codes except the target global check codes.
10. The check code recovery method according to claim 9, after determining whether the number of the target global check codes is greater than 1, further comprising:
and if the number of the target global check codes is larger than 1, recovering the target global check codes by using the data blocks.
11. The check code recovery method of claim 1, further comprising:
judging whether the data block has errors or not;
if so, recovering the error-reported data block by using the global check code or the local check code.
12. The parity check code recovery method of claim 1, further comprising, before generating the global parity check code and the local parity check code of the data block:
and receiving original data stored by a user, and splitting the original data to obtain k data blocks.
13. A check code recovery system, comprising:
the check code generating module is used for generating a global check code and a local check code of the data block;
a transformation relation determining module, configured to determine a first transformation relation between the data block and the global check code, and determine a second transformation relation between the data block and the local check code; the check code conversion relation is used for combining the first conversion relation and the second conversion relation to generate a check code conversion relation of the global check code and the local check code;
the parameter determining module is used for determining a transformation parameter for transforming between the global check code and the local check code according to the check code transformation relation;
and the check code recovery module is used for recovering the global check code or the local check code which reports errors by using the transformation parameters.
14. An electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the check code recovery method according to any one of claims 1 to 12 when calling the computer program in the memory.
15. A storage medium having stored thereon computer-executable instructions which, when loaded and executed by a processor, carry out the steps of the check code recovery method according to any one of claims 1 to 12.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211409901.7A CN115454712B (en) | 2022-11-11 | 2022-11-11 | Check code recovery method, system, electronic equipment and storage medium |
PCT/CN2023/085989 WO2024098647A1 (en) | 2022-11-11 | 2023-04-03 | Check-code recovery method and system, electronic device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211409901.7A CN115454712B (en) | 2022-11-11 | 2022-11-11 | Check code recovery method, system, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115454712A true CN115454712A (en) | 2022-12-09 |
CN115454712B CN115454712B (en) | 2023-02-28 |
Family
ID=84295542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211409901.7A Active CN115454712B (en) | 2022-11-11 | 2022-11-11 | Check code recovery method, system, electronic equipment and storage medium |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115454712B (en) |
WO (1) | WO2024098647A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115793984A (en) * | 2023-01-03 | 2023-03-14 | 苏州浪潮智能科技有限公司 | Data storage method and device, computer equipment and storage medium |
WO2024098647A1 (en) * | 2022-11-11 | 2024-05-16 | 苏州元脑智能科技有限公司 | Check-code recovery method and system, electronic device and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527993A (en) * | 2016-11-09 | 2017-03-22 | 北京搜狐新媒体信息技术有限公司 | Mass file storage method and device for distributed type system |
CN111858169A (en) * | 2020-07-10 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method, system and related components |
CN114048061A (en) * | 2021-10-09 | 2022-02-15 | 阿里云计算有限公司 | Check block generation method and device |
CN115098295A (en) * | 2022-06-29 | 2022-09-23 | 阿里巴巴(中国)有限公司 | Data local recovery method, equipment and storage medium |
CN115269258A (en) * | 2022-07-27 | 2022-11-01 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method and system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101934204B1 (en) * | 2017-07-28 | 2018-12-31 | 한양대학교 산학협력단 | Erasure Coding Method and Apparatus for Data Storage |
CN107656832B (en) * | 2017-09-18 | 2019-10-25 | 华中科技大学 | A kind of correcting and eleting codes method of low data reconstruction expense |
US11531593B2 (en) * | 2018-09-03 | 2022-12-20 | Here Data Technology | Data encoding, decoding and recovering method for a distributed storage system |
CN111240597B (en) * | 2020-01-15 | 2024-05-17 | 书生星际(北京)科技有限公司 | Method, apparatus, device and computer readable storage medium for storing data |
CN115454712B (en) * | 2022-11-11 | 2023-02-28 | 苏州浪潮智能科技有限公司 | Check code recovery method, system, electronic equipment and storage medium |
-
2022
- 2022-11-11 CN CN202211409901.7A patent/CN115454712B/en active Active
-
2023
- 2023-04-03 WO PCT/CN2023/085989 patent/WO2024098647A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527993A (en) * | 2016-11-09 | 2017-03-22 | 北京搜狐新媒体信息技术有限公司 | Mass file storage method and device for distributed type system |
CN111858169A (en) * | 2020-07-10 | 2020-10-30 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method, system and related components |
CN114048061A (en) * | 2021-10-09 | 2022-02-15 | 阿里云计算有限公司 | Check block generation method and device |
CN115098295A (en) * | 2022-06-29 | 2022-09-23 | 阿里巴巴(中国)有限公司 | Data local recovery method, equipment and storage medium |
CN115269258A (en) * | 2022-07-27 | 2022-11-01 | 山东云海国创云计算装备产业创新中心有限公司 | Data recovery method and system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098647A1 (en) * | 2022-11-11 | 2024-05-16 | 苏州元脑智能科技有限公司 | Check-code recovery method and system, electronic device and storage medium |
CN115793984A (en) * | 2023-01-03 | 2023-03-14 | 苏州浪潮智能科技有限公司 | Data storage method and device, computer equipment and storage medium |
CN115793984B (en) * | 2023-01-03 | 2023-04-28 | 苏州浪潮智能科技有限公司 | Data storage method, device, computer equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
WO2024098647A1 (en) | 2024-05-16 |
CN115454712B (en) | 2023-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115454712B (en) | Check code recovery method, system, electronic equipment and storage medium | |
US8522122B2 (en) | Correcting memory device and memory channel failures in the presence of known memory device failures | |
CN107086870B (en) | Repair the MDS array code coding and coding/decoding method of more piece point failure | |
US8127212B2 (en) | System and method for determining the fault-tolerance of an erasure code | |
Silberstein et al. | Error resilience in distributed storage via rank-metric codes | |
US8489916B2 (en) | Multi-disk fault-tolerant system, method for generating a check block, and method for recovering a data block | |
CN111078460B (en) | Fast erasure code calculation method | |
CN114281270B (en) | Data storage method, system, equipment and medium | |
CN111697976B (en) | RS erasure correcting quick decoding method and system based on distributed storage | |
CN112799875B (en) | Method, system, device and medium for verification recovery based on Gaussian elimination | |
CN111858169B (en) | Data recovery method, system and related components | |
EP3852275A1 (en) | Method, device and apparatus for storing data, computer readable storage medium | |
CN112000512B (en) | Data restoration method and related device | |
CN113505019B (en) | Erasure code data and verification recovery method, device and equipment and readable medium | |
CN114153651B (en) | Data encoding method, device, equipment and medium | |
CN111682874A (en) | Data recovery method, system, equipment and readable storage medium | |
WO2017041232A1 (en) | Encoding and decoding framework for binary cyclic code | |
Song et al. | A Low complexity design of reed solomon code algorithm for advanced RAID system | |
CN115269258A (en) | Data recovery method and system | |
CN114244376B (en) | Data encoding method, system, device and medium | |
CN117950916B (en) | High-reliability data backup method and system | |
CN114879904B (en) | Data storage erasure method, device, equipment and readable storage medium | |
RU2812948C1 (en) | Method for ensuring integrity and availability of information in distributed data storage systems | |
Sun et al. | Hybrid Redundancy Fault Tolerant Codec in Distributed Storage System | |
CN115632664A (en) | Local repair code structure based on complete cycle difference set and fault node repair method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |