CN103744750B - Method and device for recovering data - Google Patents
Method and device for recovering data Download PDFInfo
- Publication number
- CN103744750B CN103744750B CN201410014238.XA CN201410014238A CN103744750B CN 103744750 B CN103744750 B CN 103744750B CN 201410014238 A CN201410014238 A CN 201410014238A CN 103744750 B CN103744750 B CN 103744750B
- Authority
- CN
- China
- Prior art keywords
- block
- slope
- row
- sub
- data
- 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.)
- Active
Links
Abstract
An embodiment of the invention discloses a method and a device for recovering data. The method and the device in the embodiment of the invention have the advantages that second parity blocks are computed by means of exclusive-or operation on all data sub-blocks, slope lines which conform to preset slopes pass the data sub-blocks, redundant data can be set for an optional amount of data blocks, lost data can be recovered only by means of exclusive-or operation on corresponding sub-blocks in first parity blocks and the second parity blocks when the data are lost and need to be recovered by the aid of the redundant data, and accordingly the data recovery efficiency can be improved.
Description
Technical field
The present invention relates to field of computer technology, more particularly to a kind of data reconstruction method and device.
Background technology
At present, by RAID(Redundant Array of Independent Disks, independent magnetic patch redundant array)
Technology carries out redundancy process to data storage, and carries out data recovery by redundant data.In prior art, application is more
RAID method mainly has:RDP(Row-Diagonal Parity, row diagonal verifies)And EVENODD(Even odd).
What Fig. 1 showed RDP realizes principle schematic.As shown in figure 1, having 4 pieces of data blocks D0, D1, D2, D3 and 2 pieces
Check block P and Q.Every piece of data block is divided into four sub-blocks, and the sub-block that D0 is divided into includes:D00, D01, D02 and
D03;The sub-block that D1 is divided into includes:D10, D11, D12 and D13;The sub-block that D2 is divided into includes:D20, D21, D22 and
D23;The sub-block that D3 is divided into includes:D30, D31, D32 and D33.Respective for D0-D3 sub-block is clapped into one in order
Row, the sub-block array shown in composition Fig. 1.It can be seen that, the every a line in array can form a band(stripe), a total of
Four bands stripe0, stripe1, stripe2 and stripe3.Check block P includes four sub-blocks:P0, P1, P2 and P3, P0,
P1, P2 and P3 are obtained through XOR by the sub-block being each located in band respectively.Check block Q includes four sub-blocks:
Q0, Q1, Q2 and Q3, wherein, Q0 is obtained by D00, D11, D22 and D33 XOR, and Q1 is obtained by D10, D21, D32 and P3 XOR, Q2
Obtained by D20, D31, P2 and D03 XOR, Q3 is obtained by D30, P1, D02 and D13 XOR.When there being dropout of data block, Ke Yili
With check block and remaining data block, the data of loss is recovered.
It is assumed that data block number is M in RDP technology, this technical requirements(M+1)Must be prime number, that is,:Application RDP is carried out
During data recovery, the number of data block will be subject to certain restrictions;Additionally, when data block number be M when it is desirable to each
Data block must be divided into M block sub-block, and therefore, this technology application scene is very limited.Additionally, in this technology,
Counting check block P needs XOR M* (M-1) secondary, and calculating check block Q needs XOR M* (M-1) secondary, that is, calculate verification
Block needs XOR 2*M* (M-1) secondary altogether.It can be seen that, due to computationally intensive, the inefficiency of data recovery.
What Fig. 2 showed EVENODD realizes principle schematic.As shown in Fig. 2 have five pieces of data blocks D0, D1, D2, D3 and
D4, and by calculated two check block P and Q of algorithm of EVENODD.Each data block is divided into four subdatas
Block, the sub-block that D0 is divided into includes:D00, D01, D02 and D03;The sub-block that D1 is divided into includes:D10, D11, D12 and
D13;The sub-block that D2 is divided into includes:D20, D21, D22 and D23;The sub-block that D3 is divided into includes:D30, D31, D32 and
D33;The sub-block that D4 is divided into includes:D40, D41, D42 and D43.Sub-block array shown in Fig. 2 includes four bars
Band:Stripe0, stripe1, stripe2 and stripe3.Check block P includes four sub-blocks:P0, P1, P2 and P3, P0, P1, P2
Obtained through XOR by the sub-block being each located in band respectively with P3.From unlike RDP technology, EVENODD
Algorithm, when calculating check block Q, needs corresponding data block and data block S to carry out XOR, herein, S by D40, D31,
D22 and D13 obtains through XOR.In check block Q, Q0 is obtained by S, D41, D32, D23 and D00 XOR, Q1 by S, D42,
D33, D10 and D01 XOR obtains, and Q2 is obtained by S, D43, D20, D11 and D02 XOR, and Q3 is different by S, D30, D21, D12 and D03
Or obtain.
It is assumed that data block number is M in EVENODD technology, it must be prime number that algorithm requires data block total number M, therefore,
This technology application scene is very limited.Additionally, XOR required for check block P is that (N-1) * (N-1) is secondary, calculating Q needs
Want XOR (N-1) * (N-1) secondary, calculating S needs XOR(N-2)Secondary, being additionally, since calculating Q needs to use data block
S, computational complexity is higher, it will largely effect on the efficiency of data recovery.
It can be seen that, when existing application RAID technique carries out data recovery, there is strict restriction to the number of data block, application is subject to
Limit.
Content of the invention
A kind of data reconstruction method and device is provided, enabling to any number of data block in the embodiment of the present invention
Setting redundant data, improves data recovering efficiency.
In order to solve above-mentioned technical problem, the embodiment of the invention discloses following technical scheme:
In a first aspect, providing a kind of data reconstruction method, including:
Obtain the N number of data block being stored in one or more storage devices, each data block is divided into M subdata
Block, all sub-blocks after decile is formed the matrix distribution of N*M, wherein, N and M is the integer more than 1, and N represents matrix
Line number, M represents matrix column number;
Determine row verification data set, described row verification data set includes M row verification data, each row verification data
By carrying out obtaining after XOR to all sub-blocks in each row;
Determine at least one oblique verification data set, each oblique verification data set includes multiple oblique verification datas, each
Tiltedly verification data value is to carry out XOR to all sub-blocks in the described matrix with the straight-line pass of preset slope
After obtain:
When described preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Individual data block, all subdatas in the described matrix that the one or more negative slope straight line that absolute value is less than or equal to 1 passes through
Block carries out XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data block of every a line is passed through as straight line using in m column one
Data block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR
Computing, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 whole
Number;When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, the
Two slopes are not equal to first slope but absolute value is equal to the absolute value of first slope;The absolute value of the 3rd slope is less than
The absolute value of second slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, class successively
Push away;
When there being described dropout of data block, will be lost using described row verification data set and described oblique verification data set
Data block in sub-block recovered.
In conjunction with above-mentioned in a first aspect, in the first possible implementation, when preset slope is negative slope, with the
The data block that in N row, the sub-block of each row passes through as straight line, absolute value be less than or equal to 1 one or more negative tiltedly
All sub-blocks in the described matrix that rate straight line passes through, including data below block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending 0 expansion
Columns after exhibition;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
In conjunction with one side face, in the possible implementation of second, when preset slope is positive slope, with M
The data block that in row, the sub-block of every a line passes through as straight line, the one or more positive slope straight line more than or equal to 1
Through described matrix in all sub-blocks, including data below block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending 0 expansion
Line number after exhibition;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
In conjunction with above-mentioned in a first aspect, and the possible implementation of the first to second, in the third possible implementation
In, described when there being described dropout of data block, will be lost using described row verification data set and described oblique verification data set
Data block in sub-block recovered, including:
When there being L described dropout of data block, by row verification data set and(L-1)Individual described preset slope corresponds to
Oblique verification data set, the sub-block in L data block of loss is recovered, L is more than or equal to 1 and to be less than or equal to
The positive integer of N.
In conjunction with one side face, with the third possible implementation, in the 4th kind of possible implementation, described work as
When having L described dropout of data block, using row verification data set and(L-1)The corresponding oblique check number of individual described preset slope
According to set, the sub-block in L data block of loss is recovered, including:
According to described(L-1)The priority of the corresponding slope straight line of individual described preset slope order from high to low, according to
The sub-block of the loss in secondary recovery first row;
When only remaining in described first row one loss sub-block when, using through described first row row verification data
Recover the sub-block that in described first row, last is lost;
According to row order, successively by residue(M-1)The sub-block of the loss in row is recovered;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of
Slope straight line priority.
Second aspect, provides a kind of Data Recapture Unit, including:
Data block acquisition module, for obtaining the N number of data block being stored in one or more storage devices, by every number
It is divided into M sub-block according to block, all sub-blocks after decile are formed the matrix distribution of N*M, wherein, N and M is greatly
In 1 integer, N represents the line number of matrix, and M represents matrix column number;
Row verification data set determining module, for determining row verification data set, described row verification data set includes M
Individual row verification data, each row verification data is by carrying out obtaining after XOR to all sub-blocks in each row;
Tiltedly verification data set determining module, for determining at least one oblique verification data set, each oblique verification data
Set includes multiple oblique verification datas, and each oblique verification data value is in the described matrix with the straight-line pass of preset slope
All sub-blocks carry out XOR after obtain:
When described preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Individual data block, all subdatas in the described matrix that the one or more negative slope straight line that absolute value is less than or equal to 1 passes through
Block carries out XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data block of every a line is passed through as straight line using in m column one
Data block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR
Computing, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 whole
Number;When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, the
Two slopes are not equal to first slope but absolute value is equal to the absolute value of first slope;The absolute value of the 3rd slope is less than
The absolute value of second slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, class successively
Push away;
Data block recovery module, for when there being described dropout of data block, using described row verification data set and described
Sub-block in the data block of loss is recovered by tiltedly verification data set.
In conjunction with above-mentioned second aspect, in the first possible implementation, when preset slope is negative slope, with the
The data block that in N row, the sub-block of each row passes through as straight line, absolute value be less than or equal to 1 one or more negative tiltedly
All sub-blocks in the described matrix that rate straight line passes through, including data below block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending 0 expansion
Columns after exhibition;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
In conjunction with above-mentioned second aspect, in the possible implementation of second, when preset slope is positive slope, with the
The data block that in M row, the sub-block of every a line passes through as straight line, the one or more positive slope straight line more than or equal to 1
Through described matrix in all sub-blocks, including data below block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending 0 expansion
Line number after exhibition;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
In conjunction with above-mentioned second aspect, and the implementation that the first to second is possible, in the third possible implementation
In, when there being L described dropout of data block,
Described data block recovery module, especially by row verification data set and(L-1)Individual described preset slope corresponds to
Oblique verification data set, the sub-block in L data block of loss is recovered, L is more than or equal to 1 and to be less than or equal to
The positive integer of N.
In conjunction with above-mentioned second aspect, and the third possible implementation, in the 4th kind of possible implementation, described
Data block recovery module, including:
First recovery unit, for according to described(L-1)The priority of the corresponding slope straight line of individual described preset slope
Order from high to low, recovers the sub-block of the loss in first row successively;
Second recovery unit, for when only remaining in described first row one loss sub-block when, using through described
The row verification data of first row recovers the sub-block that in described first row, last is lost;
3rd recovery unit, for according to row order, successively by residue(M-1)The sub-block of the loss in row carries out extensive
Multiple;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of
Slope straight line priority.
In the embodiment of the present invention, using the XOR fortune between all sub-blocks that the slope line meeting presetting slope passes through
Calculate the second check block, redundant data can be set to any number of data block, and loss of data is occurring, using redundancy
When data carries out the recovery losing data, only pass through the XOR fortune between the corresponding sub block in the first check block and the second check block
Calculate and can achieve, therefore, it is possible to improve data recovering efficiency.
Brief description
In order to be illustrated more clearly that the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing
Have technology description in required use accompanying drawing be briefly described it should be apparent that, for those of ordinary skill in the art
Speech, without having to pay creative labor, can also obtain other accompanying drawings according to these accompanying drawings.
Fig. 1 be prior art in RDP realize principle schematic
Fig. 2 be prior art in EVENODD realize principle schematic;
The flow chart of the data reconstruction method embodiment that Fig. 3 provides for the present invention;
Fig. 4 is the arrangement mode schematic diagram of each sub-block in the embodiment of the present invention;
Fig. 5 is the calculation schematic diagram of row check block in the embodiment of the present invention;
Fig. 6 is the calculating schematic diagram that in the embodiment of the present invention, slope is oblique verification data set when -1;
Fig. 7 is to exceed the schematic diagram partly supplementing as 0 of M row in the embodiment of the present invention in Nth row;
Fig. 8 is the calculating schematic diagram that in the embodiment of the present invention, slope is oblique verification data set when+1;
Fig. 9 is slope straight line schematic diagram when six data blocks, five check blocks;
Figure 10-18 is data block recovery process schematic diagram when losing 4 pieces of data blocks in 5 data blocks;
The Data Recapture Unit schematic diagram that Figure 19 provides for the present invention;
A kind of Data Recapture Unit schematic diagram based on computer system realization that Figure 20 provides for the present invention.
Specific embodiment
In order that those skilled in the art more fully understand the technical scheme in the embodiment of the present invention, and make the present invention real
Apply the above-mentioned purpose of example, feature and advantage can become apparent from understandable, below in conjunction with the accompanying drawings to technical side in the embodiment of the present invention
Case is described in further detail.
First, a kind of data reconstruction method of present invention offer is provided.
Referring to Fig. 3, the flow process of the data reconstruction method embodiment providing for the present invention, handling process specifically can be wrapped
Include:
Step 301, acquisition are stored in the N number of data block in one or more storage devices, and each data block is divided into M
Individual sub-block, all sub-blocks after decile is formed the matrix distribution of N*M, wherein, N and M is the integer more than 1, N
Represent the line number of matrix, M represents matrix column number.
In this step, data block can correspond to data in a certain disk or certain file data is divided into
Several parts, each data block corresponds to a part therein.Disk can be usually hard disk, for example:Traditional mechanical hard disk, solid-state
Hard disk(Solid State Disk, SSD)Deng.
Each data block is divided into equal number of sub-block, the sub-block of all data blocks is arranged as N*M
Array format, wherein, N and M is the integer more than 1, and N represents the line number of matrix, and M represents matrix column number.Correspond to each
All sub-blocks of data block are located at independent a line in array, and the original position sub-block of each row is located at the first of array
Row.
As shown in figure 4, the array arrangement mode for each sub-block in the embodiment of the present invention.Assume there are 4 pieces of data blocks:
D0, D1, D2 and D3, every piece of data block is divided into four sub-blocks, and the sub-block that D0 is divided into includes:D00、D01、D02
And D03;The sub-block that D1 is divided into includes:D10, D11, D12 and D13;The sub-block that D2 is divided into includes:D20、D21、D22
And D23;The sub-block that D3 is divided into includes:D30, D31, D32 and D33.Respectively respective for D0-D3 sub-block is arranged on solely
Vertical a line, head and the tail aligned in position between each row, that is,:The original position sub-block of each row is located at the first row of array.
Step 302, determine row verification data set, described row verification data set includes M row verification data, each row
Verification data is by carrying out obtaining after XOR to all sub-blocks in each row.
In this step, sequentially all sub-blocks in each row are carried out XOR, the operation result of each row
For a row verification data, M row verification data composition row verification data set.
Still, the calculation of row verification data is as shown in figure 5, by with arrow taking sub-block array shown in Fig. 4 as a example
The data block that dotted line passes through will participate in an XOR, and result of calculation is a row verification data.According in array in Fig. 5
Row order, by each row in all sub-blocks carry out XOR, respectively obtain result of calculation P0, P1, P2 and P3, P0,
The set of P1, P2 and P3 constitutes row verification data set, in the embodiment of the present invention, represents row verification data set with P.
Step 303, determine at least one oblique verification data set, each oblique verification data set includes multiple oblique check numbers
According to, each oblique verification data value be all sub-blocks in the described matrix with the straight-line pass of preset slope are carried out different
Or obtain after computing:
When described preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Individual data block, all subdatas in the described matrix that the one or more negative slope straight line that absolute value is less than or equal to 1 passes through
Block carries out XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data block of every a line is passed through as straight line using in m column one
Data block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR
Computing, obtains the value of each oblique verification data, wherein, partly supplements as 0 by exceed in m column;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 whole
Number;When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, the
Two slopes are not equal to first slope but absolute value is equal to the absolute value of first slope;The absolute value of the 3rd slope is less than
The absolute value of second slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, class successively
Push away.
In the embodiment of the present invention, preset slope is 1/n, n be not equal to 0 integer, that is,:±1、±1/2、±1/3、±
1/4 ... when illustrating positive negative slope below, which sub-block in matrix for each bar negative slope straight line.
(1)When preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Data block, absolute value is less than or equal to all sub-blocks in the 1 described matrix of one or more negative slope straight line process, bag
Include data below block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending 0 expansion
Columns after exhibition;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
Fig. 6 show the calculating schematic diagram of the oblique verification data set that slope under this embodiment is when -1, herein, with Q
Represent that slope is oblique verification data set when -1.In Fig. 6, the subdata that passed straight through by the slope that the slope with arrow is -1
Block will participate in an XOR, and result of calculation each time is one of Q tiltedly verification data.Wherein, oblique verification data
Q0 is the backup of D30, and oblique verification data Q1 is obtained by D20 and D31 XOR, and oblique verification data Q2 is obtained by D10, D21 and D32 XOR
Arrive, oblique verification data Q3 is obtained by D00, D11, D22 and D33 XOR, oblique verification data Q4 is obtained by D01, D12 and D23 XOR,
Tiltedly verification data Q5 is obtained by D02 and D13 XOR, and oblique verification data Q6 is the backup of D03.The oblique verification data sequentially generating
Q0-Q6 constitutes oblique verification data set Q.
It should be noted that the institute in the described matrix that each bar negative slope straight line that absolute value is less than or equal to 1 passes through
During having sub-block to carry out XOR, for the ease of calculating, needing exceeding partly supplementing of M row in Nth row is 0.
As shown in fig. 7, when calculating Q4-Q6, will be 0 beyond partly supplementing of 4 row in corresponding row respectively.
(2)When preset slope is positive slope, the sub-block of every a line passes through as straight line using in m column one
Data block, all sub-blocks in the described matrix that the one or more positive slope straight line more than or equal to 1 passes through, including following
Data block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending 0 expansion
Line number after exhibition;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
Fig. 8 show the calculating schematic diagram of the oblique verification data set that slope under this implementation is when+1, herein, with R
Represent that slope is oblique verification data set when+1.In Fig. 8, the data block being passed through by the line with arrow will participate in an XOR
Computing, result of calculation is one of R tiltedly verification data.Wherein, oblique verification data R0 is the backup of D00, and R1 is by D10 and D01
XOR obtains, and R2 is obtained by D20, D11 and D02 XOR, and R3 is obtained by D30, D21, D12 and D03 XOR, R4 by D31, D22 and
D13 XOR obtains, and R5 is obtained by D32 and D23 XOR, and R6 is the backup of D33.Oblique verification data R0-R6 sequentially generating is constituted
Tiltedly verification data set R.
Equally, all data blocks in will be greater than the described matrix that each bar positive slope straight line equal to 1 passes through carry out different
Or in calculating process, for the ease of calculating, needing exceeding partly supplementing of M row in Nth row is 0.
6 data blocks are given in Fig. 9(D0~D5), five check blocks when slope straight line situation, five check blocks according to
Secondary it is:P, Q, R, S and T.Q and R is symmetrical, and it is also symmetrical that slope is respectively -1 and 1, S and T, and slope is respectively -1/2
With 1/2.By that analogy, it is possible to obtain slope is the arbitrarily oblique verification data of 1/n.
Step 304, when there being described dropout of data block, using described row verification data set and described oblique verification data collection
Close and the sub-block in the data block of loss is recovered.
In the embodiment of the present invention, using row verification data set and oblique verification data set, redundancy is carried out to data block
Setting.When there being data block data to lose, it is possible to use row verification data set and oblique verification data set, recover loss
Sub-block, and then, recover whole data block.
In the embodiment of the present invention, using the XOR between the sub-block that each bar slope straight line meeting presetting slope passes through
Computing calculates oblique verification data set, and, by carrying out being arranged after XOR to all sub-blocks in each row
Verification data set, by oblique verification data set and row verification data set, constitutes the redundancy to any number of data block
Data, and there is loss of data, when carrying out, using redundant data, the recovery losing data, only pass through corresponding in redundant data
XOR between verification data can achieve, therefore, it is possible to improve data recovering efficiency.
In the embodiment of the present invention, oblique verification data calculates acquisition using non-recurrence mode.Calculating due to oblique verification data
All take pure XOR mode to generate according to specific slope, be calculated school with respect in prior art according to establishing an equation
Test the mode of block, the calculating speed of check block can be greatly improved.
When there being described dropout of data block, will be lost using described row verification data set and described oblique verification data set
Data block in sub-block recovered, this implementation specifically includes:
When there being L described dropout of data block, by row verification data set and(L-1)Individual described preset slope corresponds to
Oblique verification data set, the sub-block in L data block of loss is recovered, L is more than or equal to 1 and to be less than or equal to
The positive integer of N.
In this implementation, when there being the dropout of data block of some numbers, that is, need equal number of verification data set
Carry out losing the recovery of data block.For example:When there being 2 dropout of data block, then 2 verification data set are needed to be lost
The recovery of 2 data blocks, 2 verification datas include:Row verification data set and the corresponding oblique verification data of 1 preset slope
Set, this preset slope can be+1 or -1, and corresponding oblique verification data set can be:Q or R;Lose when there being 5 data blocks
During mistake, then need the recovery of 5 data blocks that 5 verification data set are lost, 5 verification datas include:Row check number
According to set and the corresponding oblique verification data set of 4 preset slopes, the corresponding oblique verification data set of 4 preset slopes divides
Do not include:Q, R, S and T.
Explanation below using row verification data set and(L-1)The corresponding oblique verification data collection of individual described preset slope
Close, during the sub-block in L data block of loss is recovered, the priority selecting sequence of slope.Specific as follows:
According to described(L-1)The priority of the corresponding slope straight line of individual described preset slope order from high to low, according to
The sub-block of the loss in secondary recovery first row;
When only remaining in described first row one loss sub-block when, using through described first row row verification data
Recover the sub-block that in described first row, last is lost;
According to row order, successively by residue(M-1)The sub-block of the loss in row is recovered;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of
Slope straight line priority.
Still taking lose the scene of 5 data blocks as a example, need 5 data blocks that 5 verification data set are lost
Recover, 5 verification data set include:Row verification data set P and 4 oblique verification data set:Q, R, S and T.For S and
T, because on the two slope straight line, adjacent sub-block distance is distal to adjacent sub-block distance on Q and R slope straight line, then
The priority of S and T is higher than Q and R;The slope absolute value of Q with R is identical, high for the priority of the slope straight line of negative value according to slope
In slope be on the occasion of slope straight line priority, then the priority of Q be higher than R priority;And, it is extensive due to carrying out according to row
Multiple.Then when recover this row in only remaining one loss sub-block when, recover this using the row verification data through this row
A sub-block to be restored afterwards.By that analogy, according to row order, successively the sub-block of the loss in remaining columns is carried out
Recover.
Taking lose 4 pieces of data blocks in 5 data blocks as a example, by diagram, illustrate to lose the recovery process of data block.When losing
When losing 4 data blocks, need 4 verification data set:P, Q, R and S.The priority orders of Q, R and S are:S is higher than Q, and Q is higher than
R, then recovery process is specific as follows:
(1)As shown in Figure 10, recover D40 with S0, in figure dash area sub-block represents loss sub-block;
(2)As shown in figure 11, recover D41 with S1;
(3)As shown in figure 12, recover D30 with Q1;
(4)As shown in figure 13, recover D10 with R1;
(5)As shown in figure 14, recover D20 with P0;
So far, the sub-block full recovery that first row is lost finishes;
(6)As shown in figure 15, recover D42 with S2;
(7)As shown in figure 16, recover D31 with Q2;
(8)As shown in figure 17, recover D11 with R2;
(9)As shown in figure 18, recover D21 with P1;
So far, secondary series full recovery finishes.
In the same manner, the 3rd~the tenth this rule of leu can all be resumed out.
Corresponding with the data reconstruction method embodiment that the present invention provides, present invention also offers a kind of data recovery dress
Put.
As shown in figure 19, a kind of embodiment of the Data Recapture Unit providing for the present invention, this device specifically can include:
Data block acquisition module 1901, for obtaining the N number of data block being stored in one or more storage devices, will be every
Individual data block is divided into M sub-block, all sub-blocks after decile is formed the matrix distribution of N*M, wherein, N and M is equal
It is the integer more than 1, N represents the line number of matrix, and M represents matrix column number.
Row verification data set determining module 1902, for determining row verification data set, described row verification data set
Including M row verification data, each row verification data is by carrying out obtaining after XOR to all sub-blocks in each row
Arrive.
Tiltedly verification data set determining module 1903, for determining at least one oblique verification data set, each tiltedly verifies
Data acquisition system includes multiple oblique verification datas, and each oblique verification data value is to the described square of the straight-line pass of preset slope
All sub-blocks in battle array obtain after carrying out XOR.
When described preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Individual data block, all subdatas in the described matrix that the one or more negative slope straight line that absolute value is less than or equal to 1 passes through
Block carries out XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data block of every a line is passed through as straight line using in m column one
Data block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR
Computing, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 whole
Number;When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, the
Two slopes are not equal to first slope but absolute value is equal to the absolute value of first slope;The absolute value of the 3rd slope is less than
The absolute value of second slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, class successively
Push away;
Data block recovery module 1904, for when there being described dropout of data block, using described row verification data set and
Sub-block in the data block of loss is recovered by described oblique verification data set.
Wherein, data block can correspond to data in a certain disk or certain file data is divided into several portions
Point, each data block corresponds to a part therein.Disk can be usually hard disk, for example:Traditional mechanical hard disk, solid state hard disc
Deng.Each data block is divided into equal number of sub-block, the sub-block of all data blocks is arranged as the array of N*M
Form, wherein, N and M is the integer more than 1, and N represents the line number of matrix, and M represents matrix column number.Each data block corresponding
All sub-blocks be located at independent a line in array, the original position sub-block of each row is located at the first row of array.
Additionally, sequentially all sub-blocks in each row are carried out XOR, the operation result of each row is one
Individual row verification data, M row verification data constitutes row verification data set.
In the embodiment of the present invention, using the XOR between the sub-block that each bar slope straight line meeting presetting slope passes through
Computing calculates oblique verification data set, and, by carrying out being arranged after XOR to all sub-blocks in each row
Verification data set, by oblique verification data set and row verification data set, constitutes the redundancy to any number of data block
Data, and there is loss of data, when carrying out, using redundant data, the recovery losing data, only pass through corresponding in redundant data
XOR between verification data can achieve, therefore, it is possible to improve data recovering efficiency.
Above-mentioned preset slope be 1/n, n be not equal to 0 integer, that is,:± 1, ± 1/2, ± 1/3, ± 1/4 ... below
When positive negative slope is described, which sub-block in matrix for each bar negative slope straight line.
(1)When preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Data block, absolute value is less than or equal to all sub-blocks in the 1 described matrix of one or more negative slope straight line process, bag
Include data below block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending 0 expansion
Columns after exhibition;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
(2)When preset slope is positive slope, the sub-block of every a line passes through as straight line using in m column one
Data block, all sub-blocks in the described matrix that the one or more positive slope straight line more than or equal to 1 passes through, including following
Data block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending 0 expansion
Line number after exhibition;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, son also in a matrix
Data block.
When there being L described dropout of data block, carry out implementing of data recovery using described data block recovery module
Mode is:By row verification data set and(L-1)The corresponding oblique verification data set of individual described preset slope, by lose
Sub-block in L data block is recovered, L be more than or equal to 1 and less than or equal to N positive integer.
Under this data recovery mode, described data block recovery module, specifically can include:
First recovery unit, for according to described(L-1)The priority of the corresponding slope straight line of individual described preset slope
Order from high to low, recovers the sub-block of the loss in first row successively;
Second recovery unit, for when only remaining in described first row one loss sub-block when, using through described
The row verification data of first row recovers the sub-block that in described first row, last is lost;
3rd recovery unit, for according to row order, successively by residue(M-1)The sub-block of the loss in row carries out extensive
Multiple;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of
Slope straight line priority.
In the embodiment of the present invention, oblique verification data calculates acquisition using non-recurrence mode.Calculating due to oblique verification data
All take pure XOR mode to generate according to specific slope, be calculated school with respect in prior art according to establishing an equation
Test the mode of block, the calculating speed of check block can be greatly improved.
Present invention also offers a kind of Data Recapture Unit based on computer system realization, as shown in figure 20, specifically real
In existing, the device of the embodiment of the present invention can include:Processor 2001, memory 2002, bus 2003 and receiver 2004;Its
In, described processor 2001, memory 2002 and receiver 2004 are connected with each other by described bus 2003;Described memory
2002 are used for storing computer executed instructions;Described receiver is stored in N number of in one or more storage devices for acquisition
Data block, each data block is divided into M sub-block, all sub-blocks after decile is formed the matrix distribution of N*M,
Wherein, N and M is the integer more than 1, and N represents the line number of matrix, and M represents matrix column number.
Described processor 2001 executes the described computer executed instructions of described memory 2002 storage, and execution is following to grasp
Make:
Determine row verification data set, described row verification data set includes M row verification data, each row verification data
By carrying out obtaining after XOR to all sub-blocks in each row;
Determine at least one oblique verification data set, each oblique verification data set includes multiple oblique verification datas, each
Tiltedly verification data value is to carry out XOR to all sub-blocks in the described matrix with the straight-line pass of preset slope
After obtain:
When described preset slope is negative slope, the sub-block of each row passes through as straight line using in Nth row one
Individual data block, all subdatas in the described matrix that the one or more negative slope straight line that absolute value is less than or equal to 1 passes through
Block carries out XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data block of every a line is passed through as straight line using in m column one
Data block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR
Computing, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 whole
Number;When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, the
Two slopes are not equal to first slope but absolute value is equal to the absolute value of first slope;The absolute value of the 3rd slope is less than
The absolute value of second slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, class successively
Push away;
When there being described dropout of data block, will be lost using described row verification data set and described oblique verification data set
Data block in sub-block recovered.
In the embodiment of the present invention, processor can be central processing unit(central processing unit,CPU), specially
Use integrated circuit(application-specific integrated circuit,ASIC)Deng.
Computer-readable storage medium can have program stored therein, and may include data provided in an embodiment of the present invention and pass during this program performing
Part or all of step in each embodiment of defeated method.Described storage medium can be magnetic disc, CD, read-only store-memory
Body(Read-Only Memory, ROM)Or random access memory(Random Access Memory, RAM)Deng.
Those of ordinary skill in the art are it is to be appreciated that combine the list of each example of the embodiments described herein description
Unit and algorithm steps, being capable of being implemented in combination in electronic hardware or computer software and electronic hardware.These functions are actually
To be executed with hardware or software mode, the application-specific depending on technical scheme and design constraint.Professional and technical personnel
Each specific application can be used different methods to realize described function, but this realization is it is not considered that exceed
The scope of the present invention.
Those skilled in the art can be understood that, for convenience and simplicity of description, the system of foregoing description,
Equipment and the specific work process of unit, may be referred to the corresponding process in preceding method embodiment, will not be described here.
It should be understood that disclosed system, apparatus and method in several embodiments provided herein, permissible
Realize by another way.For example, apparatus embodiments described above are only schematically, for example, described unit
Divide, only a kind of division of logic function, actual can have other dividing mode when realizing, for example multiple units or assembly
Can in conjunction with or be desirably integrated into another system, or some features can be ignored, or does not execute.Another, shown or
The coupling each other discussing or direct-coupling or communication connection can be by some interfaces, the indirect coupling of equipment or unit
Close or communicate to connect, can be electrical, mechanical or other forms.
The described unit illustrating as separating component can be or may not be physically separate, show as unit
The part showing can be or may not be physical location, you can with positioned at a place, or can also be distributed to multiple
On NE.The mesh to realize this embodiment scheme for some or all of unit therein can be selected according to the actual needs
's.
In addition, can be integrated in a processing unit in each functional unit in each embodiment of the present invention it is also possible to
It is that unit is individually physically present it is also possible to two or more units are integrated in a unit.
If described function realized using in the form of SFU software functional unit and as independent production marketing or use when, permissible
It is stored in a computer read/write memory medium.Based on such understanding, technical scheme is substantially in other words
Partly being embodied in the form of software product of part that prior art is contributed or this technical scheme, this meter
Calculation machine software product is stored in a storage medium, including some instructions with so that a computer equipment(Can be individual
People's computer, server, or network equipment etc.)Or processor(processor)Side described in execution each embodiment of the present invention
The all or part of step of method.And aforesaid storage medium includes:USB flash disk, portable hard drive, read-only storage(ROM, Read-Only
Memory), random access memory(RAM, Random Access Memory), magnetic disc or CD etc. are various can store journey
The medium of sequence code.
The above, the only specific embodiment of the present invention, but protection scope of the present invention is not limited thereto, and any
Those familiar with the art the invention discloses technical scope in, change or replacement can be readily occurred in, all should contain
Cover within protection scope of the present invention.Therefore, protection scope of the present invention should described be defined by scope of the claims.
Claims (8)
1. a kind of data reconstruction method is it is characterised in that include:
Obtain the N number of data block being stored in one or more storage devices, each data block be divided into M sub-block,
All sub-blocks after decile are formed the matrix distribution of N*M, wherein, N and M is the integer more than 1, and N represents matrix
Line number, M represents matrix column number;
Determine row verification data set, described row verification data set includes M row verification data, and each row verification data is passed through
All sub-blocks in each row are carried out obtaining after XOR;
Determine at least one oblique verification data set, each oblique verification data set includes multiple oblique verification datas, each oblique school
Testing data value is all sub-blocks in the described matrix with the straight-line pass of preset slope to be carried out obtain after XOR
Arrive:
When described preset slope is negative slope, the number that the sub-block of each row passes through as straight line using in Nth row
Enter according to all sub-blocks in the described matrix that block, the one or more negative slope straight line that absolute value is less than or equal to 1 pass through
Row XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data that the data block of every a line is passed through as straight line using in m column
Block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR,
Obtain the value of each oblique verification data, wherein, be 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 integer;
When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, second
Slope be not equal to first slope but absolute value be equal to first slope absolute value;The absolute value of the 3rd slope is less than second
The absolute value of individual slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, the like;
When there being described dropout of data block, the number that will be lost using described row verification data set and described oblique verification data set
Recovered according to the sub-block in block;
Wherein, when preset slope is positive slope, the number that the sub-block of every a line passes through as straight line using in m column
According to all sub-blocks in the described matrix that block, the one or more positive slope straight line more than or equal to 1 pass through, including following number
According to block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending after 0 extension
Line number;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, subdata also in a matrix
Block.
2. method according to claim 1 it is characterised in that
When preset slope is negative slope, the data block that the sub-block of each row passes through as straight line using in Nth row,
Absolute value is less than or equal to all sub-blocks in the 1 described matrix of one or more negative slope straight line process, including following
Data block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending after 0 extension
Columns;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, subdata also in a matrix
Block.
3. method according to claim 1 and 2 it is characterised in that described when there being described dropout of data block, using described
Sub-block in the data block of loss is recovered by row verification data set and described oblique verification data set, including:
When there being L described dropout of data block, corresponding tiltedly by row verification data set and (L-1) individual described preset slope
Verification data set, the sub-block in L data block of loss is recovered, and L is more than or equal to 1 and to be less than or equal to N
Positive integer.
4. method according to claim 3 it is characterised in that described when there being L described dropout of data block, using row school
Test data acquisition system and the corresponding oblique verification data set of (L-1) individual described preset slope, the son in the L data block that will lose
Data block is recovered, including:
According to the priority order from high to low of the corresponding slope straight line of described (L-1) individual described preset slope, extensive successively
The sub-block of the loss in multiple first row;
When only remaining in described first row one loss sub-block when, using through described first row row verification data recover
The sub-block that in described first row, last is lost;
According to row order, successively the sub-block of the loss in remaining (M-1) row is recovered;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of oblique
The priority of rate straight line.
5. a kind of Data Recapture Unit is it is characterised in that include:
Data block acquisition module, for obtaining the N number of data block being stored in one or more storage devices, by each data block
It is divided into M sub-block, all sub-blocks after decile are formed the matrix distribution of N*M, wherein, N and M is more than 1
Integer, N represents the line number of matrix, and M represents matrix column number;
Row verification data set determining module, for determining row verification data set, described row verification data set includes M row
Verification data, each row verification data is by carrying out obtaining after XOR to all sub-blocks in each row;
Tiltedly verification data set determining module, for determining at least one oblique verification data set, each oblique verification data set
Including multiple oblique verification datas, each oblique verification data value is to the institute in the described matrix with the straight-line pass of preset slope
Sub-block is had to obtain after carrying out XOR:
When described preset slope is negative slope, the number that the sub-block of each row passes through as straight line using in Nth row
Enter according to all sub-blocks in the described matrix that block, the one or more negative slope straight line that absolute value is less than or equal to 1 pass through
Row XOR, obtains the value of each oblique verification data, wherein, is 0 by exceeding partly supplementing of M row in Nth row;
When described preset slope is positive slope, the data that the data block of every a line is passed through as straight line using in m column
Block, all data blocks that will be greater than in the described matrix that the one or more positive slope straight line equal to 1 passes through carry out XOR,
Obtain the value of each oblique verification data, wherein, be 0 by exceeding partly supplementing of M row in Nth row;
Wherein, the straight line of described preset slope include one or more slopes be 1/n straight line, n be not equal to 0 integer;
When preset slope is one, slope is 1 or -1;When preset slope is multiple, first slope is -1, second
Slope be not equal to first slope but absolute value be equal to first slope absolute value;The absolute value of the 3rd slope is less than second
The absolute value of individual slope, the 4th slope is not equal to the 3rd slope but is equal to the absolute value of the 3rd slope, the like;
Data block recovery module, for when there being described dropout of data block, using described row verification data set and described oblique school
Test data acquisition system to be recovered the sub-block in the data block of loss;
Wherein, when preset slope is positive slope, the number that the sub-block of every a line passes through as straight line using in m column
According to all sub-blocks in the described matrix that block, the one or more positive slope straight line more than or equal to 1 pass through, including following number
According to block:
First sub-block is m row data block in m column, and m is the integer more than 0, and m includes N row is carried out mending after 0 extension
Line number;
Second sub-block is that m-1 row M+ | n | arranges;
3rd sub-block is that m-2 row M+2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, subdata also in a matrix
Block.
6. device according to claim 5 it is characterised in that
When preset slope is negative slope, the data block that the sub-block of each row passes through as straight line using in Nth row,
Absolute value is less than or equal to all sub-blocks in the 1 described matrix of one or more negative slope straight line process, including following
Data block:
First sub-block is kth column data block in Nth row, and k is the integer more than 0, and k includes M row are carried out mending after 0 extension
Columns;
Second sub-block is that N-1 row k- | n | arranges;
3rd sub-block is that N-2 row k-2 | n | arranges;
The like, last block sub-block be pass through for the last time above-mentioned rule calculating after, subdata also in a matrix
Block.
7. the device according to claim 6 or 5 is it is characterised in that when there being L described dropout of data block,
Described data block recovery module, corresponding tiltedly especially by row verification data set and (L-1) individual described preset slope
Verification data set, the sub-block in L data block of loss is recovered, and L is more than or equal to 1 and to be less than or equal to N
Positive integer.
8. device according to claim 7 is it is characterised in that described data block recovery module, including:
First recovery unit, for the priority according to the corresponding slope straight line of described (L-1) individual described preset slope from height
To low order, recover the sub-block of the loss in first row successively;
Second recovery unit, for when only remaining in described first row a loss sub-block when, using through described first
The row verification data of row recovers the sub-block that in described first row, last is lost;
3rd recovery unit, for according to row order, being recovered the sub-block of the loss in remaining (M-1) row successively;
Wherein it is determined that the mode of the priority of described slope straight line is:
When adjacent sub-block distance on slope straight line is more remote, then the priority of this slope straight line is higher;
In two slope straight lines of absolute value identical, slope be negative value slope straight line priority higher than slope be on the occasion of oblique
The priority of rate straight line.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014238.XA CN103744750B (en) | 2014-01-13 | 2014-01-13 | Method and device for recovering data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410014238.XA CN103744750B (en) | 2014-01-13 | 2014-01-13 | Method and device for recovering data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744750A CN103744750A (en) | 2014-04-23 |
CN103744750B true CN103744750B (en) | 2017-02-15 |
Family
ID=50501770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410014238.XA Active CN103744750B (en) | 2014-01-13 | 2014-01-13 | Method and device for recovering data |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744750B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294032B (en) * | 2016-08-05 | 2019-06-28 | 上海交通大学 | A kind of caching method and system of the recovery of disk array single-deck |
CN108228382B (en) * | 2018-01-11 | 2021-08-10 | 成都信息工程大学 | Data recovery method for single-disk fault of EVENODD code |
CN108712230A (en) * | 2018-04-08 | 2018-10-26 | 罗建平 | Fault data restorative procedure |
CN109324920B (en) * | 2018-10-09 | 2022-03-04 | 杭州兔小二科技实业有限公司 | Method for checking and correcting byte array and intelligent equipment |
CN115543697B (en) * | 2022-11-30 | 2023-03-10 | 北京网智易通科技有限公司 | Electronic archive storage method and device, electronic equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321905B2 (en) * | 2004-09-30 | 2008-01-22 | International Business Machines Corporation | System and method for efficient data recovery in a storage array utilizing multiple parity slopes |
CN101719086A (en) * | 2009-11-30 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Fault-tolerant processing method and device of disk array and fault-tolerant system |
CN102667727A (en) * | 2009-09-25 | 2012-09-12 | 网络存储技术公司 | N-way parity technique for enabling recovery from up to N storage device failures |
US8522125B1 (en) * | 2010-04-09 | 2013-08-27 | The Research Foundation Of State University Of New York | System and method for efficient horizontal maximum distance separable raid |
-
2014
- 2014-01-13 CN CN201410014238.XA patent/CN103744750B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7321905B2 (en) * | 2004-09-30 | 2008-01-22 | International Business Machines Corporation | System and method for efficient data recovery in a storage array utilizing multiple parity slopes |
CN102667727A (en) * | 2009-09-25 | 2012-09-12 | 网络存储技术公司 | N-way parity technique for enabling recovery from up to N storage device failures |
CN101719086A (en) * | 2009-11-30 | 2010-06-02 | 成都市华为赛门铁克科技有限公司 | Fault-tolerant processing method and device of disk array and fault-tolerant system |
US8522125B1 (en) * | 2010-04-09 | 2013-08-27 | The Research Foundation Of State University Of New York | System and method for efficient horizontal maximum distance separable raid |
Non-Patent Citations (1)
Title |
---|
"STAR : An Efficient Coding Scheme for Correcting Triple Storage Node Failures";Cheng Huang;《IEEE transactions on Computers》;20080528;第57卷(第7期);第1页第1段-2页第8段,图1 * |
Also Published As
Publication number | Publication date |
---|---|
CN103744750A (en) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744750B (en) | Method and device for recovering data | |
CN107145939B (en) | Computer vision processing method and device of low-computing-capacity processing equipment | |
CN104156283B (en) | Data reconstruction method, device and storage system | |
JP4905161B2 (en) | RAID device and data restoration device using Galois field | |
JP4546413B2 (en) | Parallel computer reduction processing method and parallel computer | |
Stoll | Invariant potential theory in the unit ball of Cn | |
US7188270B1 (en) | Method and system for a disk fault tolerance in a disk array using rotating parity | |
US7934120B2 (en) | Storing data redundantly | |
CN105612500A (en) | High performance system providing selective merging of dataframe segments in hardware | |
CN101084486B (en) | Method and system for syndrome generation and data recovery | |
EP2115562B1 (en) | High performance raid-6 system architecture with pattern matching | |
CN101625652B (en) | Multi-disk fault-tolerant system and methods for generating check block and recovering data block | |
CN103412799B (en) | Data reconstruction method, data recovery apparatus and distributed memory system | |
JP2011041326A5 (en) | ||
CN102834866B (en) | For integrated data and the head protection of tape drive | |
US20150100819A1 (en) | Method of Recovering Data in a Storage Device | |
CN105808170B (en) | A kind of RAID6 coding methods that can repair single disk error | |
CN110750381B (en) | Error correction method and device based on NAND FLASH memory | |
CN105302492A (en) | RAID reconstruction method and device | |
CN104850504A (en) | Equation parallel computing method for accelerating XOR based RAID-6 coding/decoding process | |
US20050050384A1 (en) | System for improving parity generation and rebuild performance | |
CN102096558A (en) | Data storage method and device | |
CN107111529A (en) | Tracked using the change of the redundancy in logical time | |
CN107534449B (en) | Decoding device, decoding method, and program | |
EP2924577A1 (en) | Storage control apparatus, storage control program, and storage control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200417 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou Patentee before: Huawei Technologies Co.,Ltd. |