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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 242
- 239000011159 matrix material Substances 0.000 claims abstract description 144
- 230000008439 repair process Effects 0.000 claims description 39
- 238000004590 computer program Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 10
- 230000008929 regeneration Effects 0.000 claims description 6
- 238000011069 regeneration method Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 230000006854 communication Effects 0.000 abstract description 13
- 238000004364 calculation method Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000011084 recovery Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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
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 are,detRepresenting 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.
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)
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 |
-
2024
- 2024-01-25 CN CN202410102237.4A patent/CN117632041A/en active Pending
Patent Citations (11)
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)
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 |