CN115904796A - Encoding and decoding method and system of long-chain erasure codes and readable storage medium - Google Patents

Encoding and decoding method and system of long-chain erasure codes and readable storage medium Download PDF

Info

Publication number
CN115904796A
CN115904796A CN202211667277.0A CN202211667277A CN115904796A CN 115904796 A CN115904796 A CN 115904796A CN 202211667277 A CN202211667277 A CN 202211667277A CN 115904796 A CN115904796 A CN 115904796A
Authority
CN
China
Prior art keywords
recovery
dimension
check
chain
cabinet
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.)
Pending
Application number
CN202211667277.0A
Other languages
Chinese (zh)
Inventor
吴晨涛
李颉
过敏意
杨国峰
薛黄真
谷云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202211667277.0A priority Critical patent/CN115904796A/en
Publication of CN115904796A publication Critical patent/CN115904796A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides a coding and decoding method, a system and a readable storage medium of long-chain erasure codes, wherein the method comprises the following steps: s1, minimizing single-error cross-cabinet recovery cost in a quantization mode, selecting a proper data grouping strategy and a proper data placement strategy, and determining coding parameters; s2, sequentially encoding each dimension of the three-dimensional code; and S3, recovering the data by using a decoding algorithm, preferentially using the low-dimensional code for verification recovery, and calling the high-dimensional code to verify and recover each dimension after recovery failure. According to the invention, the single-error cross-cabinet recovery cost is quantitatively analyzed, and the cabinet-level strips are placed based on the analysis result, so that the strips cross fewer cabinets; and at the decoding stage of the long-chain erasure codes, the low-dimensional codes are preferentially used for verification recovery, the high-dimensional codes are called after recovery failure, the network topology is fully considered, the recovery cost of the cross-cabinet is reduced as far as possible, and the recovery performance is improved.

Description

Coding and decoding method and system of long-chain erasure codes and readable storage medium
Technical Field
The invention relates to the technical field of cloud storage, in particular to a coding and decoding method and system for long-chain erasure codes and a readable storage medium.
Background
In the field of cloud storage technology, erasure Codes (ECs) have been widely deployed in various large cloud storage systems to provide high reliability. With the dramatic increase in data volume, the industry and academia are exploring the use of long-chain erasure codes, which are long in banding and have near-optimal memory honor. For example, VAST corporation considers the length of the strip to be 154 (150 + 4).
Long-chain erasure codes can be divided into two categories depending on the generation process.
(1) The universal code is extended from the traditional short-chain erasure codes and can be generated by directly configuring more data blocks and parity blocks in the stripe or reasonably combining a plurality of short chains. RS-based and LRC-based are two main types of generic codes because they are flexible in parameter selection. The TL code based on RS is that (n, k) RS codes are placed in z cabinets, n-k nodes are placed in a single cabinet with topological locality, the recovery bandwidth across the cabinets is reduced as much as possible, data transmission is divided into two parts, namely the cabinet across and the cabinet, wherein n is the length of a single erasure code stripe, and k is the number of data blocks of the single erasure code stripe. And the LRC code utilizes the checking locality, 1 local checking block is generated by each r data blocks, r is the number of single data block groups of the two-dimensional erasure code stripe, 1 node is placed in a single cabinet, the number of nodes participating in the recovery process is reduced as much as possible, and the reconstruction is divided into two processes of local recovery and global recovery.
(2) The special code is specially designed for long chains, and ECWide is the research of the first system, and the combined locality is proposed to reduce the transmission traffic of a single error across the cabinet network as much as possible. The (n, k, r) LRC codes are placed in z cabinets, the essence is the compromise between two schemes of TL codes and LRC codes, and the storage cost and the recovery cost are between the two schemes.
In the existing method, due to the limitation of coding layout and data placement, a large number of cabinets participate in the construction of long-chain erasure codes, and the overhead of crossing cabinets is greatly improved. Moreover, the existing method only focuses on single error recovery, and lacks consideration on concurrent errors, which usually causes global recovery of the whole stripe, and seriously reduces the total recovery performance.
Disclosure of Invention
The invention aims to provide a coding and decoding method, a system and a readable storage medium of long-chain erasure codes, which solve the problem of degraded recovery performance of the erasure codes in the existing long-chain scene.
In order to achieve the above object, the present invention provides a coding and decoding method for long-chain erasure codes, comprising the following steps:
the method comprises the following steps:
s1, minimizing single-error cross-cabinet recovery cost in a quantization mode, selecting a proper data grouping strategy and a proper data placement strategy, and determining coding parameters;
s2, sequentially coding each dimension of the three-dimensional code;
and S3, recovering the data by using a decoding algorithm, preferentially using the low-dimensional code for verification recovery, and calling the high-dimensional code to verify and recover each dimension after recovery failure.
Optionally, the S1 specifically includes:
s11, determining the total number m of check blocks according to the length n of a given long-chain erasure code strip and the number k of data blocks:
m=n-k
s12, quantifying the number c of the blocks placed in a single cabinet by a single erasure code strip:
c≤m-m l
wherein m is the number of check blocks of a single erasure code stripe, m l The number of check blocks for the first dimension of a single erasure code stripe;
s13, quantizing the single-error cross-cabinet recovery cost lambda:
Figure BDA0004015004900000021
s14, minimizing the single-error cross-cabinet recovery cost lambda, selecting a proper data grouping strategy and a proper data placement strategy, and determining encoding parameters.
Optionally, the encoding parameters include the number of cabinets spanned by a single erasure code stripe, the number of blocks placed by a single cabinet, and the number of check blocks in each dimension.
Optionally, the S2 specifically includes:
for the first layer of codes generated by the adjacent cabinets, XOR codes are selected to realize quick in-cabinet recovery for single errors; for the second layer of coding between the cabinets, HH coding is selected, and the fault tolerance of the cabinet level is realized with low storage cost; and aiming at the third layer of codes generated by all the data blocks, RS codes are selected to provide global fault tolerance.
Optionally, the S3 specifically includes:
s31, using a first dimension to check and recover: for all first-layer check chains, performing local repair according to the surviving first-dimension check block set;
s32, using second dimension check recovery: checking and grouping each surviving second-dimension check block set, judging the number of the fault data blocks, and executing joint recovery according to the surviving first-dimension check block set and the surviving second-dimension check block set under the condition that the number of the surviving second-dimension check blocks is not exceeded;
s33, using a third dimension to check and recover: and when the recovery by using the first dimension check and the recovery by using the second dimension check fail, performing global recovery according to the surviving first dimension check block set, the surviving second dimension check block set and the surviving third dimension check block set.
Optionally, in S31, when a single block fails, local recovery is performed according to the surviving first-dimension check block set; when a plurality of blocks fail, firstly traversing all the surviving first-dimension check block sets, recovering the check chain of the single block failure, and waiting for the recovery of the higher-dimension codes by the rest failure data blocks.
Optionally, before performing the step S31, the step S3 further includes:
after reaching the period of batch reconstruction, relevant coding parameters and failure conditions are collected for the stripes needing to be restored in a given recovery turn.
Optionally, each time a data block is successfully recovered, the corresponding data block is added to the missing data set.
Based on the same inventive concept, the present application also provides a coding and decoding system for long-chain erasure codes, comprising:
the quantization module is configured to minimize single-error cross-cabinet recovery cost in a quantization mode, select a proper data grouping strategy and a proper data placement strategy and determine coding parameters;
an encoding module configured to encode each dimension of the three-dimensional encoding in turn;
and the decoding module is configured to recover the data by using a decoding algorithm, check recovery is performed by preferentially using the low-dimensional codes, and check recovery is performed on each dimension by calling the high-dimensional codes after recovery failure.
Based on the same inventive concept, the present application further provides a readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, can implement the long-chain erasure coding and decoding method as described above.
In the coding and decoding method, system and readable storage medium for long-chain erasure codes provided by the invention, the single-error cross-cabinet recovery cost is quantitatively analyzed, and the cabinet-level strips are placed based on the analysis result, so that the strips cross less cabinets; and at the decoding stage of the long-chain erasure codes, the low-dimensional codes are preferentially used for verification recovery, the high-dimensional codes are called after recovery failure, the network topology is fully considered, the recovery cost of the cross-cabinet is reduced as far as possible, and the recovery performance is improved.
Drawings
It will be appreciated by those skilled in the art that the drawings are provided for a better understanding of the invention and do not constitute any limitation to the scope of the invention. Wherein:
fig. 1 is a flowchart of a long-chain erasure coding and decoding method according to an embodiment of the present invention;
fig. 2 is a schematic diagram of an encoding and decoding apparatus for long-chain erasure correction codes according to an embodiment of the present invention.
In the drawings:
100-a quantization module; 200-an encoding module; 300-decoding module.
Detailed Description
To further clarify the objects, advantages and features of the present invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. It is to be noted that the drawings are in a very simplified form and are all used in a non-precise scale for the purpose of facilitating and distinctly aiding in the description of the embodiments of the present invention. To make the objects, features and advantages of the present invention comprehensible, reference is made to the accompanying drawings. It should be understood that the structures, proportions, sizes, and other elements shown in the drawings and described herein are illustrative only and are not intended to limit the scope of the invention, which is to be given the full breadth of the appended claims and any and all modifications, equivalents, and alternatives to those skilled in the art should be construed as falling within the spirit and scope of the invention.
As used in this application, the singular forms "a," "an," and "the" include plural referents unless the content clearly dictates otherwise. As used in this disclosure, the term "or" is generally employed in its sense including "and/or" unless the content clearly dictates otherwise. As used in this disclosure, the term "plurality" is generally employed in its sense including "at least one" unless the content clearly dictates otherwise. As used in this disclosure, the term "at least two" is generally employed in a sense including "two or more" unless the content clearly dictates otherwise. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or to implicitly indicate the number of technical features indicated. Thus, features defined as "first", "second", "third" may explicitly or implicitly include one or at least two of the features.
In the description of the present invention, unless otherwise explicitly specified or limited, the terms "mounted," "connected," and "secured" are to be construed broadly and may, for example, be fixedly connected, detachably connected, or integral to one another; can be mechanically or electrically connected; they may be directly connected or indirectly connected through intervening media, or may be connected through the use of two elements or the interaction of two elements. The specific meanings of the above terms in the present invention can be understood in specific cases to those skilled in the art.
Referring to fig. 1, fig. 1 is a flowchart of a long-chain erasure coding and decoding method according to an embodiment of the present invention. The embodiment provides a coding and decoding method of long-chain erasure codes, which comprises the following steps:
s1, minimizing single-error cross-cabinet recovery cost in a quantization mode, selecting a proper data grouping strategy and a proper data placement strategy, and determining coding parameters;
s2, sequentially coding each dimension of the three-dimensional code;
and S3, recovering the data by using a decoding algorithm, preferentially using the low-dimensional codes for verification recovery, and calling the high-dimensional codes to verify and recover each dimension after recovery failure.
The invention carries out quantitative analysis on the single-error cross-cabinet recovery cost, and carries out cabinet-level strip placement based on the analysis result, so that strips cross less cabinets; and at the decoding stage of the long-chain erasure codes, the low-dimensional codes are preferentially used for verification recovery, the high-dimensional codes are called after recovery failure, the network topology is fully considered, the recovery cost of the cross-cabinet is reduced as far as possible, and the recovery performance is improved.
Firstly, step S1 is executed, single-error cross-cabinet recovery cost is minimized through a quantization mode, a proper data grouping strategy and a proper data placement strategy are selected, and encoding parameters are determined.
The S1 specifically comprises:
s11, determining the total number m of check blocks according to the length n of a given long-chain erasure code strip and the number k of data blocks:
m=n-k
s12, quantizing the blocks of the single erasure code strip placed in the single cabinetNumber c, long chain erasure code using m of first dimension l Individual checks provide single error fast recovery using higher dimension m-m l The checks provide for cabinet level fault tolerance. To provide a fault tolerance capability at the enclosure level, the number of blocks c we place in a single enclosure cannot exceed the number of high dimensional checks:
c≤m-m l
wherein m is the number of check blocks of a single erasure code stripe, m l The number of check blocks for the first dimension of a single erasure code stripe;
s13, quantifying the single-error cross cabinet recovery cost lambda, wherein the number of the single-packet cross cabinets is the number m of the packets l And the number c of blocks placed in a single cabinet, the single-error cross-cabinet recovery cost λ is quantified as follows:
Figure BDA0004015004900000051
s14, minimizing single-error cross-cabinet recovery cost, selecting a proper data grouping strategy and a proper data placement strategy, and determining coding parameters. Since the value of the total number m of checks is deterministic, in order to minimize the cross cabinet recovery cost λ, the first layer checks the number m l The number c of the placement blocks and the number c of the placement blocks of the single cabinet are equal as much as possible, so that the cabinet placement strategy and the cabinet grouping strategy can be determined according to the principle, and the parameter selection work of the long-chain erasure codes is completed.
In this embodiment, the encoding parameters include the number of cabinets spanned by a single erasure code stripe, the number of blocks placed in a single cabinet, and the number of check blocks in each dimension.
Then, step S2 is performed to encode each dimension of the three-dimensional code in turn. The S2 specifically comprises the following steps:
for the first layer of codes generated by the adjacent cabinets, XOR codes are selected, so that rapid in-cabinet recovery can be realized for single errors; for the second layer of coding between the cabinets, HH coding is selected, so that the fault tolerance of the cabinet level can be realized with low storage cost; and aiming at the third layer of codes generated by all the data blocks, RS codes are selected so as to provide global fault tolerance.
And finally, executing a step S3, restoring the data by using a decoding algorithm, preferentially using the low-dimensional code for verification restoration, and calling the high-dimensional code to verify and restore each dimension after restoration failure. The S3 specifically includes:
s31, using a first dimension to check and recover: for all first-layer check chains, performing local repair according to the surviving first-dimension check block set;
s32, using second dimension check recovery: checking and grouping each surviving second-dimension check block set, judging the number of the fault data blocks, and executing joint recovery according to the surviving first-dimension check block set and the surviving second-dimension check block set under the condition that the number of the surviving second-dimension check blocks is not exceeded;
s33, using a third dimension to check and recover: and when the recovery by using the first dimension check and the recovery by using the second dimension check fail, performing global recovery according to the surviving first dimension check block set, the surviving second dimension check block set and the surviving third dimension check block set.
Before executing the S31, the S3 further includes:
after reaching the period of batch reconstruction, relevant coding parameters and failure conditions are collected for the stripes needing to be restored in a given recovery turn.
In this embodiment, S3 is a decoding algorithm, and needs to fully utilize the advantages of layered coding, and the input of the decoding algorithm includes a location vector F [ t ] of a data block fault](t is the number of failed data blocks), surviving data block set D S A first surviving dimension check block set L, a second surviving dimension check block set Q and a third surviving dimension check block set G, wherein the output of the decoding algorithm is a lost data set D L
S31 is performed first, and recovery is performed using the first dimension check. L local repair (XOR-based single block repair) is performed first for all first level check chains. When a single block fails, the first layer of L check chains may perform local recovery; when a plurality of blocks of faults occur, all the first-layer L check chains are traversed firstly, and the check chains of the single block of faults are recoveredAnd, the remaining failed blocks wait for the recovery of the higher dimensional coding. In performing a single block recovery process, the input to the L check chain decoding is D temp The output is L _ Party _ Decoding (D) temp ) Each time a data block is successfully recovered, the corresponding data block is added to the missing data set D L In the method, the number t of fault blocks is updated to t-1.
D temp =D s ∈XORGroup j ∪L j
D L +=L_Parity_Decoding(D temp )
And S32 is executed again, and second-dimension check recovery is used. And judging t for each Q check packet, and executing L and Q joint recovery (XOR-based and Hitchiker (HH) -based combined repair) under the condition that the number of Q check blocks is not exceeded. In a single Q check chain, if the number of the fault blocks is less than the total number of the L check and the Q check, the recovery can be successful, and different Q check chains can perform synchronous recovery. In the LQ check chain decoding process, the input of the joint decoding is D temp The output is LQ _ Party _ Joint _ Decoding (D) temp ) Adding the recovered data blocks to the missing data set D L And correspondingly updating the number t of the fault blocks.
D temp =D s ∈HHGroup j ∪Q j ∪L
D L +=LQ_Parity_Joint_Decoding(D temp )
Finally, S33 is executed, and the third dimension is used for check recovery. If all of the above mentioned recoveries fail, a global recovery based on L, Q, G (XOR-based, HH-based, and RS-based combined recovery) is triggered. If the decoding is successful, outputting the recovered missing data set D L (ii) a If the decoding still fails, the number of failures is declared to exceed the fault tolerance capability and the data is lost.
The decoding algorithm makes full use of the advantages of layered coding, the core idea is that from bottom to top, low-dimensional coding is preferentially used for recovery, and high-dimensional coding is called after recovery failure, so that the recovery cost of crossing cabinets under a multi-error scene can be greatly reduced. Meanwhile, the network topology is fully considered, the recovery cost of the cross-cabinet is reduced as much as possible, and the recovery performance is improved.
Referring to fig. 2, based on the same inventive concept, an embodiment of the present invention further provides a long-chain erasure coding and decoding system, including:
the quantization module 100 is configured to minimize single-error cross-cabinet recovery cost by a quantization manner, select an appropriate data grouping strategy and data placement strategy, and determine encoding parameters;
an encoding module 200 configured to encode each dimension of the three-dimensional code in turn;
and the decoding module 300 is configured to recover the data by using a decoding algorithm, perform check recovery by preferentially using the low-dimensional codes, and perform check recovery on each dimension by calling the high-dimensional codes after recovery failure.
Based on the same inventive concept, the present application further proposes a readable storage medium, on which a computer program is stored, which, when being executed by a processor, is capable of implementing the long-chain erasure coding and decoding method as described above in the above-mentioned feature description.
The readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device, such as, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. The computer programs described herein may be downloaded from a readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives the computer program from the network and forwards the computer program for storage in a readable storage medium in the respective computing/processing device. Computer programs for carrying out operations of the present invention may be assembly instructions, instruction Set Architecture (ISA) instructions, machine related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer program may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), can execute computer-readable program instructions to implement various aspects of the present invention by utilizing state information of a computer program to personalize the electronic circuitry.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer programs. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the programs, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a computer program may also be stored in a readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the readable storage medium storing the computer program comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the computer program which executes on the computer, other programmable apparatus or other devices implements the functions/acts specified in the flowchart and/or block diagram block or blocks.
To sum up, the embodiment of the present invention provides a method, a system, and a readable storage medium for encoding and decoding long-chain erasure codes, wherein a single-error cross-cabinet recovery cost is quantitatively analyzed, and a cabinet-level strip is placed based on an analysis result, so that the strip spans fewer cabinets; meanwhile, in the decoding stage of the long-chain erasure codes, the low-dimensional codes are preferentially used for check recovery, the high-dimensional codes are called after recovery failure, the network topology is fully considered, the recovery cost of the cross-cabinet is reduced as far as possible, and the recovery performance is improved.
The above description is only for the purpose of describing the preferred embodiments of the present invention, and is not intended to limit the scope of the present invention, and any variations and modifications made by those skilled in the art based on the above disclosure are within the scope of the present invention. It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations fall within the scope of the present invention and its equivalent technology, it is intended that the present invention also include such modifications and variations.

Claims (10)

1. A coding and decoding method of long-chain erasure codes is characterized by comprising the following steps:
s1, minimizing single-error cross-cabinet recovery cost in a quantization mode, selecting a proper data grouping strategy and a proper data placement strategy, and determining coding parameters;
s2, sequentially encoding each dimension of the three-dimensional code;
and S3, recovering the data by using a decoding algorithm, preferentially using the low-dimensional codes for verification recovery, and calling the high-dimensional codes to verify and recover each dimension after recovery failure.
2. The long-chain erasure coding and decoding method according to claim 1, wherein the S1 specifically includes:
s11, determining the total number m of check blocks according to the length n of a given long-chain erasure code strip and the number k of data blocks:
m=n-k
s12, quantifying the number c of blocks placed in a single cabinet by a single erasure code strip:
c≤m-m l
wherein m is the number of check blocks of a single erasure code stripe, m l The number of check blocks for the first dimension of a single erasure code stripe;
s13, quantizing the single-error cross-cabinet recovery cost lambda:
Figure FDA0004015004890000011
s14, minimizing the single-error cross-cabinet recovery cost lambda, selecting a proper data grouping strategy and a proper data placement strategy, and determining encoding parameters.
3. The long-chain erasure coding and decoding method according to claim 1 or 2, wherein the coding parameters include the number of cabinets spanned by a single erasure coding strip, the number of blocks placed by a single cabinet and the number of check blocks per dimension.
4. The long-chain erasure coding and decoding method according to claim 1, wherein the S2 specifically includes:
for the first layer of codes generated by the adjacent cabinets, XOR codes are selected to realize quick in-cabinet recovery for single errors; for the second layer of coding between the cabinets, HH coding is selected, and the fault tolerance of the cabinet level is realized with low storage cost; and RS codes are selected for the third layer of codes generated by all the data blocks so as to provide global fault tolerance.
5. The long-chain erasure coding and decoding method according to claim 1, wherein the S3 specifically comprises:
s31, using a first dimension to check and recover: for all first-layer check chains, performing local repair according to the surviving first-dimension check block set;
s32, using second dimension check recovery: checking and grouping each surviving second-dimension check block set, judging the number of the fault data blocks, and executing joint recovery according to the surviving first-dimension check block set and the surviving second-dimension check block set under the condition that the number of the surviving second-dimension check blocks is not exceeded;
s33, using a third dimension to check and recover: and when the recovery by using the first dimension check and the recovery by using the second dimension check fail, performing global recovery according to the surviving first dimension check block set, the surviving second dimension check block set and the surviving third dimension check block set.
6. The long-chain erasure coding and decoding method according to claim 5, wherein in S31, when a single block fails, a local recovery is performed according to the surviving first-dimension parity block set; when a plurality of blocks fail, firstly traversing all the surviving first-dimension check block sets, recovering the check chain of the single block failure, and waiting for the recovery of the higher-dimension codes by the rest failure data blocks.
7. The long-chain erasure coding and decoding method according to claim 5, wherein before performing the S31, the S3 further comprises:
after a period of batch reconstruction is reached, relevant encoding parameters and failure conditions are collected for the stripes that need to be recovered for a given recovery turn.
8. The long-chain erasure coding and decoding method according to claim 5, wherein each time a data block is successfully recovered, the corresponding data block is added to the lost data set.
9. A long-chain erasure coding/decoding system, comprising:
the quantization module is configured to minimize single-error cross-cabinet recovery cost in a quantization mode, select a proper data grouping strategy and a proper data placement strategy and determine coding parameters;
an encoding module configured to encode each dimension of the three-dimensional encoding in turn;
and the decoding module is configured to recover the data by using a decoding algorithm, check recovery is performed by preferentially using the low-dimensional codes, and check recovery is performed on each dimension by calling the high-dimensional codes after recovery failure.
10. A readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, is capable of implementing the long-chain erasure coding and decoding method according to any one of claims 1-8.
CN202211667277.0A 2022-12-23 2022-12-23 Encoding and decoding method and system of long-chain erasure codes and readable storage medium Pending CN115904796A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211667277.0A CN115904796A (en) 2022-12-23 2022-12-23 Encoding and decoding method and system of long-chain erasure codes and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211667277.0A CN115904796A (en) 2022-12-23 2022-12-23 Encoding and decoding method and system of long-chain erasure codes and readable storage medium

Publications (1)

Publication Number Publication Date
CN115904796A true CN115904796A (en) 2023-04-04

Family

ID=86483368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211667277.0A Pending CN115904796A (en) 2022-12-23 2022-12-23 Encoding and decoding method and system of long-chain erasure codes and readable storage medium

Country Status (1)

Country Link
CN (1) CN115904796A (en)

Similar Documents

Publication Publication Date Title
US10140172B2 (en) Network-aware storage repairs
US9280416B1 (en) Selection of erasure code parameters for no data repair
CN110502365B (en) Data storage and recovery method and device and computer equipment
US9141679B2 (en) Cloud data storage using redundant encoding
CN111149093A (en) Data coding, decoding and repairing method of distributed storage system
Le Scouarnec Exact scalar minimum storage coordinated regenerating codes
CN114153651B (en) Data encoding method, device, equipment and medium
CN114281270B (en) Data storage method, system, equipment and medium
US20100153822A1 (en) Constructing Forward Error Correction Codes
US20200250034A1 (en) Data storage methods and systems
CN112000512B (en) Data restoration method and related device
KR20180030935A (en) Apparatus and method for implementing X-FEP erase code in a distributed storage system
US10740182B2 (en) Erased memory page reconstruction using distributed coding for multiple dimensional parities
US20160285476A1 (en) Method for encoding and decoding of data based on binary reed-solomon codes
CN106537352A (en) Distributed storage data recovery
KR101621752B1 (en) Distributed Storage Apparatus using Locally Repairable Fractional Repetition Codes and Method thereof
CN114116297B (en) Data encoding method, device, equipment and medium
CN114968119A (en) Data protection method, device, equipment and storage medium
CN108028666A (en) Data integrity detects and correction
CN115904796A (en) Encoding and decoding method and system of long-chain erasure codes and readable storage medium
US9489252B1 (en) File recovery using diverse erasure encoded fragments
CN113258938B (en) Construction method for rapidly repairing erasure codes in single-node fault
CN115756947A (en) Data consistency verification method, device and system of distributed data storage system
CN114691414A (en) Check block generation method and data recovery method
CN107615248B (en) Distributed data storage method, control equipment and system

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