CN117632041A - Distributed storage method and device based on regenerated codes and electronic equipment - Google Patents

Distributed storage method and device based on regenerated codes and electronic equipment Download PDF

Info

Publication number
CN117632041A
CN117632041A CN202410102237.4A CN202410102237A CN117632041A CN 117632041 A CN117632041 A CN 117632041A CN 202410102237 A CN202410102237 A CN 202410102237A CN 117632041 A CN117632041 A CN 117632041A
Authority
CN
China
Prior art keywords
node
original data
determining
nodes
stored
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
CN202410102237.4A
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.)
Tianjin Branch Of National Computer Network And Information Security Management Center
Nankai University
National Computer Network and Information Security Management Center
Original Assignee
Tianjin Branch Of National Computer Network And Information Security Management Center
Nankai University
National Computer Network and Information Security Management Center
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 Tianjin Branch Of National Computer Network And Information Security Management Center, Nankai University, National Computer Network and Information Security Management Center filed Critical Tianjin Branch Of National Computer Network And Information Security Management Center
Priority to CN202410102237.4A priority Critical patent/CN117632041A/en
Publication of CN117632041A publication Critical patent/CN117632041A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention provides a distributed storage method and device based on a regenerated code and electronic equipment, and belongs to the technical field of distributed storage. The method comprises the following steps: acquiring original data to be stored, and determining an original data vector corresponding to the original data; determining a coding matrix of each system node in the distributed storage system and a coding matrix of each check node in the distributed storage system; determining a first regenerated code data vector stored by each system node based on the coding matrix and the original data vector of each system node; and respectively determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector. And sending the first regenerated code data vector to a corresponding system node for storage, and sending the second regenerated code data vector to a corresponding check node for storage. According to the scheme, the vectors are used as units for storage, and each unit vector is integrally encoded and decoded in the communication process, so that the computing resources are saved.

Description

Distributed storage method and device based on regenerated codes and electronic equipment
Technical Field
The present invention relates to the field of distributed storage technologies, and in particular, to a distributed storage method, apparatus, and electronic device based on a regenerated code.
Background
From the beginning of the computer age, storage of data has been the most central need. The emerging industries such as big data, internet of things and the like have higher requirements on data storage in the continuously developing process, and the traditional storage system cannot meet the requirements of mass data on storage capacity, performance, hardware cost and data security. Therefore, a storage system realizing the characteristics of mass data storage and the requirements of users is becoming a focus of attention of various industries.
Distributed storage technology is mature day by day, and a new development direction is brought to mass data storage. As a representative cloud storage system, a distributed storage system is a preferred platform for dealing with enterprise data center data storage due to characteristics such as flexibility, expandability, and low cost. The distributed storage system is different from the traditional storage system in that data are stored in a plurality of nodes in a scattered manner; and meanwhile, a redundancy strategy is adopted to ensure the safety and integrity of the data stored on each node. The distributed storage system is widely applied to the fields of engineering calculation, weather data storage, education and scientific research data storage and the like.
While distributed storage techniques are widely used, some of the problems that arise remain to be solved. Because some storage systems are large-scale with inexpensive commercial hardware, node failure is difficult to avoid during system operation. How to ensure efficient recovery of data on a failed node in the event of a system node failure is a concern. In order to reduce service faults and economic losses caused by node failure, a distributed storage system adopts a certain redundancy mechanism so that data on failed nodes can be recovered in time after part of nodes fail. Common redundancy techniques are multi-copy strategies and erasure-code strategies. The idea of the multi-copy technology is that original data are copied into a plurality of identical copies, and the copies are respectively stored on different data nodes, so that redundant backup is realized, and when data on a certain storage node is lost, the lost data can be recovered by any one copy; the erasure code is a forward error correction technology, more copies of the erasure code are stored, but the erasure code has overlarge calculation cost and transmission cost and low repair efficiency in the repair process, and the regenerated code is generated. The generation of the regenerated code is mainly used for solving the problem of overlarge consumption of MDS bandwidth, and represents the optimal trade-off between the storage size and the repair bandwidth, specifically, when the data size stored on each node in a given system is given, the optimal lower bound of the data size required to be transmitted in the node repair process can be obtained.
However, in current distributed storage technologies based on regenerated codes, the storage nodes are responsible for holding scalar data. In actual communication, these scalar data can be transmitted in the channel after being encoded and modulated, and finally demodulated and decoded at the receiving end to recover the original data. In such conventional storage techniques, the symbols in the data need to be encoded and decoded one by one, and then combined into a symbol stream for transmission in the network (or in a channel). This process is computationally intensive, consumes a large amount of computational resources, and results in lower transmission efficiency.
Disclosure of Invention
The invention provides a distributed storage method, a device and electronic equipment based on a regenerated code, which are used for solving the problems of large scalar data coding calculation amount, more occupied calculation resources and low transmission efficiency in the actual communication process in the prior art. By storing the unit vectors, the whole unit vectors are encoded and decoded in the communication process, and each vector is calculated once, so that the calculation resources are saved, and the network transmission efficiency is improved.
The invention provides a distributed storage method based on a regenerated code, which comprises the following steps:
acquiring original data to be stored, and determining an original data vector corresponding to the original data;
Determining a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
and respectively determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector.
And sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
According to the distributed storage method based on the reproduction code provided by the invention, the original data to be stored is obtained, and the original data vector corresponding to the original data is determined, which comprises the following steps:
acquiring original data to be stored, wherein the original data comprises characters with values on a spread domain;
converting each character in the original data into a row vector on a finite field corresponding to the spread field;
and determining an original data vector corresponding to the original data based on the row vector corresponding to each character.
According to the distributed storage method based on the regenerated code provided by the invention, the method for determining the coding matrix of each system node in the distributed storage system comprises the following steps:
determining the number of row vectors stored in each system node based on the number of row vectors in the original data vector;
determining the number of original symbols corresponding to the original data vector based on the number of the row vectors and the length of the row vectors in the original data vector;
for each system node, constructing a coding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols.
According to the distributed storage method based on the regenerated code provided by the invention, the coding matrix of the system node is constructed based on the number of row vectors stored in the system node, the length of the row vectors and the number of the original symbols, and the method comprises the following steps:
constructing a coding matrix of the system node
Indicate->In the coding matrix of the individual system nodes +.>The>A block matrix, inEqual to->In the case of (1) determining->Block matrix- >Is->In->Not equal to->In the case of (1) determining->Block matrix->Is->,/>,/>
Wherein,is of order +.>Matrix of->Representing the number of said original symbols, +.>Representing the number of row vectors stored in said system node,/->Representing the length of the row vector, +.>,/>Representing the total number of nodes of the system, +.>Is of order +.>Is a unit matrix of (a).
According to the distributed storage method based on the regenerated codes, the invention determines the coding matrix of each check node in the distributed storage system, and comprises the following steps:
determining scalar form cauchy matrixes corresponding to all check nodes based on a scalar regeneration code construction mode;
determining a scalar form coding matrix corresponding to each check node based on the cauchy matrix;
for each check node, according to the slave spread domainTo finite field->Matrix ring on->Ring isomorphic mapping->Isomorphic mapping of elements of the coding matrix in scalar form to +.>Obtaining a coding matrix of the check node, < >>Representing via ring isomorphism mapping->Thereafter->A collection of elements thereon.
The distributed storage method based on the regenerated code provided by the invention further comprises the following steps:
receiving a data reading request, and establishing connection with any first number of storage nodes of the distributed storage system based on the data reading request, wherein the first number is the same as the number of the system nodes, and the any first number of storage nodes comprises the system nodes and/or the check nodes;
Respectively acquiring data vectors stored in any first number of storage nodes;
and recovering all the original data based on the data vectors stored in the arbitrary first number of storage nodes.
The distributed storage method based on the regenerated code provided by the invention further comprises the following steps:
establishing connection with any second number of storage nodes of the distributed storage system under the condition that the existence of the failure node is determined, wherein the second number is larger than the number of the system nodes and smaller than the sum of the numbers of the system nodes and the check nodes, and the any second number of storage nodes comprises the system nodes and/or the check nodes;
and acquiring repair vectors sent by the storage nodes with any second quantity respectively, and determining information which should be stored by the failure node based on the repair vectors, wherein the repair vectors are sent after the nodes encode the stored data vectors, and the number of the repair vectors is smaller than that of the data vectors.
The invention also provides a distributed storage device based on the regenerated code, which comprises:
the acquisition module is used for acquiring the original data to be stored and determining an original data vector corresponding to the original data;
The first determining module is used for determining the coding matrix of each system node in the distributed storage system and the coding matrix of each check node in the distributed storage system;
a second determining module, configured to determine a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
and the third determining module is used for respectively determining second regenerated code data vectors stored by the check nodes based on the coding matrix of the check nodes and the original data vectors.
And the storage module is used for sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
The invention also provides an electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing a distributed storage method based on a regenerated code as described in any of the above when executing the program.
The present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a distributed storage method based on a regenerated code as described in any of the above.
The invention also provides a computer program product comprising a computer program which, when executed by a processor, implements a distributed storage method based on a regenerated code as described in any of the above.
According to the distributed storage method, the distributed storage device and the electronic equipment based on the reproduction codes, the original data vector corresponding to the original data is determined according to the scalar form of the original data to be stored. Further determining the coding matrix of each system node and the coding matrix of each check node in the distributed storage nodes, and further determining the first regenerated code data vector stored on each system node and the second regenerated code data vector stored on each check node through the operation of the original data vector and the coding matrix. In the scheme, the system nodes and the check nodes in the distributed storage system store vector data, in the actual communication process, each unit vector is integrally encoded and decoded, and each vector can be calculated once to be transmitted through modulation and enter a channel and received from the channel after demodulation, so that the computing resources are saved, and the network transmission efficiency is improved. And the vector-based storage and routing are performed, so that the splicing and segmentation of bit streams are avoided, and the I/O loss of the distributed storage system can be reduced.
Drawings
In order to more clearly illustrate the invention or the technical solutions of the prior art, the following description will briefly explain the drawings used in the embodiments or the description of the prior art, and it is obvious that the drawings in the following description are some embodiments of the invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic flow chart of a distributed storage method based on a regenerated code according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a distributed storage system according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a distributed storage system restoration and repair process provided by an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of a distributed storage device based on a regenerated code according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is apparent that the described embodiments are some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In view of the technical problems existing in the prior art, an embodiment of the present application provides a distributed storage method based on a regenerated code, and fig. 1 is a schematic flow chart of the distributed storage method based on the regenerated code provided in the embodiment of the present invention, as shown in fig. 1, where the distributed storage method based on the regenerated code includes:
step 101, obtaining original data to be stored, and determining an original data vector corresponding to the original data.
In one embodiment, the obtaining the original data to be stored, and determining the original data vector corresponding to the original data, includes:
acquiring original data to be stored, wherein the original data comprises characters with values on a spread domain;
converting each character in the original data into a row vector on a finite field corresponding to the spread field;
and determining an original data vector corresponding to the original data based on the row vector corresponding to each character.
Specifically, it should be noted that the execution body of each embodiment of the present application may be a processor, a server, or the like, or may be an electronic device, such as a terminal device, a client, or the like, that integrates the functions of the processor or the server. In the following embodiments, description will be made taking an execution subject as a client as an example.
For example, for a distributed storage system, the original data to be stored is the information of the source node. Considering that the original data is stored in character units, each character can be converted into a binary bit stream which can be regarded as a value in a finite fieldVector on the upper.
When the original data includes the value in the spread domainCharacters on the upper part, altogether->In the case of a character, it is necessary to convert each character in the original data into a finite field corresponding to the spread field +.>Upper row vector, length of row vector is +.>. Wherein->,/>Is prime (+)>And =2 indicates a 2 scale).
The theory basis for this conversion is that the domain expansionIs +.>Can be expressed as a value in the finite field +.>The upper one is +.>Is a row vector of (a).
Assume thatIs spread->In finite field->The above group of radicals is as follows:
wherein,indicate->Coefficient of->Then expand the domain->Element->Vectors can be usedTo represent.
Based on the theoretical basis, the first of the original dataPersonal character->Can use a length of +.>Is>Indicating a length of +.>Is>The element value of the Chinese medicine is in the finite field +.>. The original data vector corresponding to the original data can be determined based on the row vector corresponding to each character in the original data >The method comprises the following steps:
wherein the original data vectorThe number of the original symbols is->And each.
Step 102, determining a coding matrix of each system node in the distributed storage system and a coding matrix of each check node in the distributed storage system.
In one embodiment, the determining the coding matrix of each system node in the distributed storage system includes:
determining the number of row vectors stored in each system node based on the number of row vectors in the original data vector;
determining the number of original symbols corresponding to the original data vector based on the number of the row vectors and the length of the row vectors in the original data vector;
for each system node, constructing a coding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols.
Specifically, fig. 2 is a schematic structural diagram of a distributed storage system according to an embodiment of the present invention, and as shown in fig. 2, after receiving original data, a client encodes the original data and then sends the encoded original data to each storage node in each distributed storage system. The distributed storage system may include, for example The storage nodes are respectively->. Before distributed storage, it is preferred to select a storage request from +.>Determining the number of system nodes in the individual storage nodes>And the number of check nodes +.>. Wherein the number of row vectors stored in each storage node is +.>,/>The vector sum stored in each system node is the original data vector. Each check node is used for storing redundant data, and the redundant data is part of the original data vector repeatedly stored.
From the original data vectorThe number of middle row vectors +.>And length of row vector->Determining the number of original symbols corresponding to the original data vector>
Determining the number of row vectors stored in each storage nodeThereafter, the number of row vectors stored in each storage node can be based on +.>(i.e., memory overhead) and repair bandwidth->And determining the minimum repair bandwidth according to the relation between the two. Wherein the memory overhead->And repairBandwidth->Expressed as:
wherein,and the number of the storage nodes which need to be connected in repair after one storage node fails.
After determining the minimum repair bandwidth, the minimum repair bandwidth may be based onDetermine->And->Wherein>Representing the number of vectors transmitted by each of the storage nodes connected during repair, the storage node pair +. >Post-coding generation of individual vectorsAnd (3) a vector. It will be appreciated that when fewer storage nodes are connected when repair is required, then +.>Increase +.>When the number of vectors transmitted by the storage node connected when repair is needed is small, the value of (a) is reduced>Increase +.>But in determining +.>The value of (2) needs to be ensured that the following condition is met>
Based on the above determination, a reproduction code in the vector sense can be determinedRegenerated codeThe coding matrix is expressed as +.>Wherein->Indicate->Individual storage nodesCorresponding coding matrix, when->When (I)>Coding matrix representing system nodes whenWhen (I)>Representing the encoding matrix of the check node.
Next, a coding matrix of the system node is constructed based on the number of row vectors stored in the system node, the length of the row vectors, and the number of original symbols.
In one embodiment, the constructing the encoding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols includes:
constructing a coding matrix of the system node
Indicate->In the coding matrix of the individual system nodes +.>The >A block matrix, inEqual to->In the case of (1) determining->Block matrix->Is->In->Not equal to/>In the case of (1) determining->Block matrix->Is->,/>,/>
Wherein,is of order +.>Matrix of->Representing the number of said original symbols, +.>Representing the number of row vectors stored in said system node,/->Representing the length of the row vector, +.>,/>Representing the total number of nodes of the system, +.>Is of order +.>Is a unit matrix of (a).
Exemplary, assume a frontThe storage nodes are system nodes, and any system node is aimed atThe corresponding coding matrix is +.>Divided into->And (3) a plurality of block matrixes are obtained:
wherein,indicate->In the coding matrix of the individual system nodes +.>The>A block matrix->,/>,/>,/>Is of order +.>Is a unit matrix of (a).
Bringing the corresponding values of each block matrix into the coding matrixAnd obtaining the coding matrix of the system node.
In one embodiment, determining an encoding matrix for each check node in a distributed storage system includes:
determining scalar form cauchy matrixes corresponding to all check nodes based on a scalar regeneration code construction mode;
determining a scalar form coding matrix corresponding to each check node based on the cauchy matrix;
For each check node, according to the slave spread domainTo finite field->Matrix ring on->Ring isomorphic mapping->Isomorphic mapping of elements of the coding matrix in scalar form to +.>Obtaining a coding matrix of the check node, < >>Representing via ring isomorphism mapping->Thereafter->A collection of elements thereon.
ExampleAlternatively, the scalar regeneration code may be constructed by a MISER code, and the scalar form cauchy matrix corresponding to all the check nodes is determined based on the MISER code
Wherein,indicate->Check node->,(/>Indicate->Matrix of individual check nodes->Middle->Sub-matrix, < >>,/>)。
By scalar form cauchy matrixThe coding matrix in scalar form of each check node can be obtained>
Wherein the method comprises the steps of,/>Indicate->The first +.in the scalar form of the coding matrix corresponding to the check node>A block matrix->Sub-matrix->All elements of the sequence are valued in the expansion domain +.>,/>Representation->Is>A sub-matrix.
From the spread domainTo finite field->Matrix ring on->Constructional map->
Wherein,representing finite field->To matrix ring->Is of the same form, 18>,/>Is a finite field->Polynomial representation of the upper element, +.>Representing coefficients->Representation->Is->Power of->,/>Representing the length of the row vector, +.>Representing matrix polynomials,/- >Representing finite field->A matrix on the matrix.
In a matrixIs a finite field->Generating a friendly matrix of polynomials, then from the expanded domain +.>To finite field->Matrix ring on->Mapping of->Mapping +.>According to the ring isomorphism mapping->Blocking matrix->The elements in (a) are mapped to->Obtaining +.>Block matrix->
Wherein,,/>is->A matrix on the matrix.
Assume that there is a finite fieldFrom primitive polynomial->Generate (I)>Is->Is a friend matrix. Due to->Is to useMapping is obtained, so that the block matrix +.>Sub-blocks of->Are all surrounded by friend matrix>The composition is formed. The sub-blocks are first calculated as a whole, which corresponds to:
assuming that the resulting matrix isDue to->Mapping relation(s)>Corresponding to the finite field->Is a certain element->This is exactly the determinant calculation of the coding matrix of the MISER (MDS (Maximum Distance Separable), interference-aligning Systematic, exact-Regenerating code, maximum distance separable, interference aligned, systematic, exact-reproduction coding) code before mapping, and there is->Therefore there aredetRepresenting a polynomial that computes a block matrix.
According to the generation theory of the finite field,,/>,/>the variables are represented by the values of the variables,the degree (degree) of a polynomial is expressed, referring to the exponent of the highest power of the variable in the polynomial. Also because the primitive polynomial is irreducible +. >
Determining polynomialsAnd->So that->Handle->Replaced byThe following steps are:
due toThen->Therefore->Is a reversible matrix, < >>Representing an identity matrix, i.e. a matrix with a diagonal angle of 1. />Representing polynomial +.>And polynomial->A maximum convention polynomial (Greatest Common Divisor) which is the maximum divisible polynomial having the highest power +.>And polynomial->Is a polynomial of (a).
Similarly, it can be demonstrated that when the sub-matrices of the coding matrix of the original misr code are reversible, the mapped vector network encoded sub-matrices remain reversible. The vector code is an MDS (Maximum Distance Separable, extremely distance separable) code, andthe functions of reconstruction data and accurate repair data of the MISER code can be maintained.
The regenerated code eliminates redundant elements in an interference alignment mode, and finally the original information of the failure node is obtained through matrix inversion.
Step 103, determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector.
Step 104, determining second regenerated code data vectors stored by the check nodes based on the coding matrix of the check nodes and the original data vectors respectively.
Specifically, the coding matrix corresponding to each system node is obtainedAnd the coding matrix corresponding to each check node respectively +.>After (I)>The first regenerated code data vector corresponding to each system node is +.>First->Second regenerated code data corresponding to each check nodeVector is->
Step 105, sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
Specifically, after determining the first regenerated code data vector stored on each system node and the second regenerated code data vector stored on the check node, the client is respectively connected with each system node and the check node in the distributed storage system, so as to send the first regenerated code data vector respectively corresponding to each system node, and send the second regenerated code data vector respectively corresponding to each check node.
According to the distributed storage method based on the reproduction codes, the original data vector corresponding to the original data is determined according to the scalar form of the original data to be stored, and the original data vector is the vector form of the original data. Further determining the coding matrix of each system node and the coding matrix of each check node in the distributed storage nodes, and further determining the first regenerated code data vector stored on each system node and the second regenerated code data vector stored on each check node through the operation of the original data vector and the coding matrix. In the scheme, the system nodes and the check nodes in the distributed storage system store vector data, and in the actual communication process, each unit vector is integrally encoded and decoded, and the channel transmission can be carried out through modulation once calculation aiming at each vector, so that the calculation resources are saved, and the network transmission efficiency is improved. And the vector-based storage and routing are performed, so that the splicing and segmentation of bit streams are avoided, and the I/O loss of the distributed storage system can be reduced.
In one embodiment, further comprising:
receiving a data reading request, and establishing connection with any first number of storage nodes of the distributed storage system based on the data reading request, wherein the first number is the same as the number of the system nodes, and the any first number of storage nodes comprises the system nodes and/or the check nodes;
respectively acquiring data vectors stored in any first number of storage nodes;
and recovering all the original data based on the data vectors stored in the arbitrary first number of storage nodes.
Specifically, fig. 3 is a schematic diagram of a recovery and repair process of a distributed storage system according to an embodiment of the present invention, as shown in fig. 3, when a sink node wants to obtain original data, a data reading request is sent to a client, after the client receives the data reading request, the client establishes connection with any first number of storage nodes of the distributed storage system based on the data reading request, and obtains data vectors stored in the first number of storage nodes respectively, and then can recover all original data according to the data vectors stored in any first number of storage nodes. The first number is the same as the number of system nodes.
It can be understood that in the case of no failure of the system nodes, when data recovery is performed, all the system nodes are preferable to perform data recovery, and in this case, all the original data can be obtained only by performing the splicing processing on the first reproduction code data vector in all the system nodes. In the case of failure of the system node, the failed system node can be repaired first, and then all the system nodes are prioritized for data recovery.
Of course, it is also possible to select the system node and the check node, or select the check node to perform data recovery, but when recovering the second regenerated code data vector in the check node determined by the method in the above embodiment, the matrix needs to be first calculated by inversion, and the calculation resource needs to be occupied.
In one embodiment, further comprising:
establishing connection with any second number of storage nodes of the distributed storage system under the condition that the existence of the failure node is determined, wherein the second number is larger than the number of the system nodes and smaller than the sum of the numbers of the system nodes and the check nodes, and the any second number of storage nodes comprises the system nodes and/or the check nodes;
And acquiring repair vectors sent by the storage nodes with any second quantity respectively, and determining information which should be stored by the failure node based on the repair vectors, wherein the repair vectors are sent after the nodes encode the stored data vectors, and the number of the repair vectors is smaller than that of the data vectors.
Specifically, fig. 3 is a schematic diagram of a recovery and repair process of a distributed storage system according to an embodiment of the present invention, where, as shown in fig. 3, a client determines that a failed node existsUnder the condition of (1), establishing connection with any second number of storage nodes of the distributed storage system, acquiring repair vectors sent by any second number of storage nodes, and determining based on the repair vectorsTo be stored in order to +_ for the failed node>Recovery is carried out to obtain->. The repair vector is sent out after each node codes the stored data vector, the number of the repair vector is smaller than that of the data vector, and the repair bandwidth is further ensuredLess than recovery bandwidth->
In the above embodiment, by applying the regeneration code to the distributed cloud backup system, the original data is divided into a plurality of data packets, and additional redundant information is added to each data packet, so that lost or damaged data can be repaired or reconstructed according to the redundant information of other data packets, the amount of information transmitted during repair can be effectively reduced, valuable bandwidth resources are saved, high availability of the distributed storage system is ensured, network interference can be effectively prevented, and benefits in storage capacity of storage nodes can be brought. The storage mode not only provides high availability, but also has good expansibility. With the increase of services, distributed storage systems and storage nodes are more and more, and can be elastically expanded according to requirements.
The present invention is described below with reference to a distributed storage device based on a reproduction code, and the distributed storage device based on a reproduction code and the distributed storage method based on a reproduction code described below may be referred to correspondingly.
Fig. 4 is a schematic structural diagram of a distributed storage device based on a regenerated code according to an embodiment of the present invention, as shown in fig. 4, where the distributed storage device based on a regenerated code includes: an acquisition module 401, a first determination module 402, a second determination module 403, a third determination module 404, and a storage module 405;
an obtaining module 401, configured to obtain original data to be stored, and determine an original data vector corresponding to the original data;
a first determining module 402, configured to determine a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
a second determining module 403, configured to determine a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
a third determining module 404, configured to determine a second regenerated code data vector stored by each of the check nodes based on the encoding matrix of each of the check nodes and the original data vector.
And the storage module 405 is configured to send the first regenerated code data vector to the corresponding system node for storage, and send the second regenerated code data vector to the corresponding check node for storage.
According to the distributed storage device based on the reproduction codes, the original data vector corresponding to the original data is determined according to the scalar form of the original data to be stored, and the original data vector is the vector form of the original data. Further determining the coding matrix of each system node and the coding matrix of each check node in the distributed storage nodes, and further determining the first regenerated code data vector stored on each system node and the second regenerated code data vector stored on each check node through the operation of the original data vector and the coding matrix. In the scheme, the system nodes and the check nodes in the distributed storage system store vector data, and in the actual communication process, each unit vector is integrally encoded and decoded, and the channel transmission can be carried out through modulation once calculation aiming at each vector, so that the calculation resources are saved, and the network transmission efficiency is improved. And the vector-based storage and routing are performed, so that the splicing and segmentation of bit streams are avoided, and the I/O loss of the distributed storage system can be reduced.
In one embodiment, the obtaining module 401 is specifically configured to:
acquiring original data to be stored, wherein the original data comprises characters with values on a spread domain;
converting each character in the original data into a row vector on a finite field corresponding to the spread field;
and determining an original data vector corresponding to the original data based on the row vector corresponding to each character.
In one embodiment, the first determining module 402 is specifically configured to:
determining the number of row vectors stored in each system node based on the number of row vectors in the original data vector;
determining the number of original symbols corresponding to the original data vector based on the number of the row vectors and the length of the row vectors in the original data vector;
for each system node, constructing a coding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols.
In one embodiment, the first determining module 402 is specifically configured to:
constructing a coding matrix of the system node
Indicate->In the coding matrix of the individual system nodes +.>The >A block matrix, inEqual to->In the case of (1) determining->Block matrix->Is->In->Not equal to->In the case of (1) determining->Block matrix->Is->,/>,/>
Wherein,is of order +.>Matrix of->Representing the number of said original symbols, +.>Representing the number of row vectors stored in said system node,/->Representing the length of the row vector, +.>,/>Representing the total number of nodes of the system, +.>Is of order +.>Is a unit matrix of (a).
In one embodiment, the first determining module 402 is specifically configured to:
determining scalar form cauchy matrixes corresponding to all check nodes based on a scalar regeneration code construction mode;
determining a scalar form coding matrix corresponding to each check node based on the cauchy matrix;
for each check node, according to the slave spread domainTo finite field->Matrix ring on->Ring isomorphic mapping->Isomorphic mapping of elements of the coding matrix in scalar form to +.>Obtaining a coding matrix of the check node, < >>Representing via ring isomorphism mapping->Thereafter->A collection of elements thereon.
In one embodiment, the apparatus further comprises a recovery module for:
receiving a data reading request, and establishing connection with any first number of storage nodes of the distributed storage system based on the data reading request, wherein the first number is the same as the number of the system nodes, and the any first number of storage nodes comprises the system nodes and/or the check nodes;
Respectively acquiring data vectors stored in any first number of storage nodes;
and recovering all the original data based on the data vectors stored in the arbitrary first number of storage nodes.
In one embodiment, the apparatus further comprises a repair module for:
establishing connection with any second number of storage nodes of the distributed storage system under the condition that the existence of the failure node is determined, wherein the second number is larger than the number of the system nodes and smaller than the sum of the numbers of the system nodes and the check nodes, and the any second number of storage nodes comprises the system nodes and/or the check nodes;
and acquiring repair vectors sent by the storage nodes with any second quantity respectively, and determining information which should be stored by the failure node based on the repair vectors, wherein the repair vectors are sent after the nodes encode the stored data vectors, and the number of the repair vectors is smaller than that of the data vectors.
Fig. 5 illustrates a physical schematic diagram of an electronic device, as shown in fig. 5, which may include: processor 510, communication interface (Communications Interface) 520, memory 530, and communication bus 540, wherein processor 510, communication interface 520, memory 530 complete communication with each other through communication bus 540. Processor 510 may invoke logic instructions in memory 530 to perform a method of distributed storage based on regenerated code, the method comprising:
Acquiring original data to be stored, and determining an original data vector corresponding to the original data;
determining a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
and respectively determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector.
And sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
Further, the logic instructions in the memory 530 described above may be implemented in the form of software functional units and may be stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
In another aspect, the present invention also provides a computer program product, the computer program product including a computer program, the computer program being storable on a non-transitory computer readable storage medium, the computer program, when executed by a processor, being capable of executing the distributed storage method based on the regenerated code provided by the above methods, the method comprising: acquiring original data to be stored, and determining an original data vector corresponding to the original data;
determining a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
and respectively determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector.
And sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
In yet another aspect, the present invention also provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, is implemented to perform the method of regenerative code-based distributed storage provided by the above methods, the method comprising: acquiring original data to be stored, and determining an original data vector corresponding to the original data;
Determining a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
and respectively determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector.
And sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A distributed storage method based on a regenerated code, comprising:
acquiring original data to be stored, and determining an original data vector corresponding to the original data;
determining a coding matrix of each system node in a distributed storage system and a coding matrix of each check node in the distributed storage system;
determining a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
determining a second regenerated code data vector stored by each check node based on the coding matrix of each check node and the original data vector;
and sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
2. The method for distributed storage based on a reproduction code according to claim 1, wherein the obtaining the original data to be stored, determining the original data vector corresponding to the original data, includes:
acquiring original data to be stored, wherein the original data comprises characters with values on a spread domain;
Converting each character in the original data into a row vector on a finite field corresponding to the spread field;
and determining an original data vector corresponding to the original data based on the row vector corresponding to each character.
3. The method for distributed storage based on regenerative codes according to claim 2, wherein determining the coding matrix of each system node in the distributed storage system comprises:
determining the number of row vectors stored in each system node based on the number of row vectors in the original data vector;
determining the number of original symbols corresponding to the original data vector based on the number of the row vectors and the length of the row vectors in the original data vector;
for each system node, constructing a coding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols.
4. The distributed storage method according to claim 3, wherein the constructing the coding matrix of the system node based on the number of row vectors stored in the system node, the length of the row vectors and the number of original symbols comprises:
Constructing a coding matrix of the system node
Indicate->In the coding matrix of the individual system nodes +.>The>A block matrix of->Equal toIn the case of (1) determining->Block matrix->Is->In->Not equal to->In the case of (1) determining->Block matrix->Is->,/>,/>
Wherein,is of order +.>Matrix of->Representing the number of said original symbols, +.>Representing the number of row vectors stored in said system node,/->Representing the length of the row vector, +.>,/>Representing the total number of nodes of the system, +.>Is of order +.>Is a unit matrix of (a).
5. The method for distributed storage based on regenerated codes according to claim 2, wherein determining the encoding matrix of each check node in the distributed storage system comprises:
determining scalar form cauchy matrixes corresponding to all check nodes based on a scalar regeneration code construction mode;
determining a scalar form coding matrix corresponding to each check node based on the cauchy matrix;
for each check node, according to the slave spread domainTo finite field->Matrix ring on->Ring isomorphic mapping of (2)Isomorphic mapping of elements of the coding matrix in scalar form to +.>Obtaining a coding matrix of the check node, Representing via ring isomorphism mapping->Thereafter->A collection of elements thereon.
6. The method of regenerative code-based distributed storage as claimed in any one of claims 1 to 5, further comprising:
receiving a data reading request, and establishing connection with any first number of storage nodes of the distributed storage system based on the data reading request, wherein the first number is the same as the number of the system nodes, and the any first number of storage nodes comprises the system nodes and/or the check nodes;
respectively acquiring data vectors stored in any first number of storage nodes;
and recovering all the original data based on the data vectors stored in the arbitrary first number of storage nodes.
7. The method of regenerative code-based distributed storage as claimed in any one of claims 1 to 5, further comprising:
establishing connection with any second number of storage nodes of the distributed storage system under the condition that the existence of the failure node is determined, wherein the second number is larger than the number of the system nodes and smaller than the sum of the numbers of the system nodes and the check nodes, and the any second number of storage nodes comprises the system nodes and/or the check nodes;
And acquiring repair vectors sent by the storage nodes with any second quantity respectively, and determining information which should be stored by the failure node based on the repair vectors, wherein the repair vectors are sent after the nodes encode the stored data vectors, and the number of the repair vectors is smaller than that of the data vectors.
8. A distributed storage device based on a reproduction code, comprising:
the acquisition module is used for acquiring the original data to be stored and determining an original data vector corresponding to the original data;
the first determining module is used for determining the coding matrix of each system node in the distributed storage system and the coding matrix of each check node in the distributed storage system;
a second determining module, configured to determine a first regenerated code data vector stored by each system node based on the coding matrix of each system node and the original data vector;
a third determining module, configured to determine a second regenerated code data vector stored by each check node based on the encoding matrix of each check node and the original data vector;
and the storage module is used for sending the first regenerated code data vector to the corresponding system node for storage, and sending the second regenerated code data vector to the corresponding check node for storage.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the distributed storage method based on regenerated code according to any of claims 1 to 7 when executing the program.
10. A non-transitory computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when executed by a processor, implements the distributed storage method based on a regenerated code according to any one of claims 1 to 7.
CN202410102237.4A 2024-01-25 2024-01-25 Distributed storage method and device based on regenerated codes and electronic equipment Pending CN117632041A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410102237.4A CN117632041A (en) 2024-01-25 2024-01-25 Distributed storage method and device based on regenerated codes and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410102237.4A CN117632041A (en) 2024-01-25 2024-01-25 Distributed storage method and device based on regenerated codes and electronic equipment

Publications (1)

Publication Number Publication Date
CN117632041A true CN117632041A (en) 2024-03-01

Family

ID=90035786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410102237.4A Pending CN117632041A (en) 2024-01-25 2024-01-25 Distributed storage method and device based on regenerated codes and electronic equipment

Country Status (1)

Country Link
CN (1) CN117632041A (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776129A (en) * 2016-12-01 2017-05-31 陕西尚品信息科技有限公司 A kind of restorative procedure of the multinode data file based on minimum memory regeneration code
CN106921393A (en) * 2017-03-02 2017-07-04 湖南城市学院 A kind of digital evidence integrality based on computer forensics preserves control system
CN107844272A (en) * 2017-10-31 2018-03-27 成都信息工程大学 A kind of cross-packet coding and decoding method for improving error correcting capability
CN108923960A (en) * 2018-06-20 2018-11-30 华中科技大学 A kind of memory node restorative procedure for assisting regeneration code based on agency
CN109062724A (en) * 2018-07-21 2018-12-21 湖北大学 A kind of correcting and eleting codes conversion method and terminal
CN110750382A (en) * 2019-09-18 2020-02-04 华中科技大学 Minimum storage regeneration code coding method and system for improving data repair performance
CN111682874A (en) * 2020-06-11 2020-09-18 山东云海国创云计算装备产业创新中心有限公司 Data recovery method, system, equipment and readable storage medium
CN111858169A (en) * 2020-07-10 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 Data recovery method, system and related components
CN115237662A (en) * 2022-06-24 2022-10-25 北京航空航天大学 Distributed storage node error correction method and system
CN115858230A (en) * 2021-09-27 2023-03-28 华为技术有限公司 Maximum distance separable code construction, repair method and related device
CN115883589A (en) * 2022-11-29 2023-03-31 杭州电子科技大学 Dynamic node selection method and system for data repair in distributed storage

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776129A (en) * 2016-12-01 2017-05-31 陕西尚品信息科技有限公司 A kind of restorative procedure of the multinode data file based on minimum memory regeneration code
CN106921393A (en) * 2017-03-02 2017-07-04 湖南城市学院 A kind of digital evidence integrality based on computer forensics preserves control system
CN107844272A (en) * 2017-10-31 2018-03-27 成都信息工程大学 A kind of cross-packet coding and decoding method for improving error correcting capability
CN108923960A (en) * 2018-06-20 2018-11-30 华中科技大学 A kind of memory node restorative procedure for assisting regeneration code based on agency
CN109062724A (en) * 2018-07-21 2018-12-21 湖北大学 A kind of correcting and eleting codes conversion method and terminal
CN110750382A (en) * 2019-09-18 2020-02-04 华中科技大学 Minimum storage regeneration code coding method and system for improving data repair performance
CN111682874A (en) * 2020-06-11 2020-09-18 山东云海国创云计算装备产业创新中心有限公司 Data recovery method, system, equipment and readable storage medium
CN111858169A (en) * 2020-07-10 2020-10-30 山东云海国创云计算装备产业创新中心有限公司 Data recovery method, system and related components
CN115858230A (en) * 2021-09-27 2023-03-28 华为技术有限公司 Maximum distance separable code construction, repair method and related device
CN115237662A (en) * 2022-06-24 2022-10-25 北京航空航天大学 Distributed storage node error correction method and system
CN115883589A (en) * 2022-11-29 2023-03-31 杭州电子科技大学 Dynamic node selection method and system for data repair in distributed storage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋海龙: ""基于柯西矩阵的最小带宽再生码研究"", 湖南大学学报(自然科学版), 25 August 2017 (2017-08-25), pages 157 - 165 *
宋海龙;王伟平;肖亚龙;: "基于柯西矩阵的最小带宽再生码研究", 湖南大学学报(自然科学版), no. 08, 25 August 2017 (2017-08-25), pages 157 - 165 *

Similar Documents

Publication Publication Date Title
Papailiopoulos et al. Locally repairable codes
JP4773356B2 (en) Error correcting multi-stage code generator and decoder for a communication system having a single transmitter or multiple transmitters
US9647698B2 (en) Method for encoding MSR (minimum-storage regenerating) codes and repairing storage nodes
CN109643258B (en) Multi-node repair using high-rate minimal storage erase code
CN103688515B (en) The coding of a kind of minimum bandwidth regeneration code and memory node restorative procedure
CN104079370B (en) channel decoding method and device
KR101270815B1 (en) In-place transformations with applications to encoding and decoding various classes of codes
CN105991227B (en) Data coding method and device
US20210271552A1 (en) Methods for data recovery of a distributed storage system and storage medium thereof
CN110233728B (en) Fountain code-based continuous variable quantum key distribution data coordination method
CN111858169B (en) Data recovery method, system and related components
CN113391946B (en) Coding and decoding method for erasure codes in distributed storage
CN106209302B (en) Data transmission processing method and device
KR101621752B1 (en) Distributed Storage Apparatus using Locally Repairable Fractional Repetition Codes and Method thereof
CN111786681B (en) Cascade decoding method suitable for data post-processing of CV-QKD system
CN103650462B (en) Coding, decoding and the data recovery method of selfreparing code based on homomorphism and storage system thereof
CN110233698B (en) Method for encoding and decoding polarization code, transmitting device, receiving device, and medium
CN114598331A (en) Polar code encoding method, coding and decoding method and device
Mahdaviani et al. Bandwidth adaptive & error resilient MBR exact repair regenerating codes
WO2022110691A1 (en) Coding method, decoding method, electronic device and storage medium
CN111447044B (en) Distributed storage method and transmission decoding method
US10505672B2 (en) FEC decoding apparatus and method
CN117632041A (en) Distributed storage method and device based on regenerated codes and electronic equipment
CN108512553B (en) Truncated regeneration code construction method for reducing bandwidth consumption
CN109639393B (en) Sliding window network coding method based on quadratic permutation polynomial

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