CN103744750B - Method and device for recovering data - Google Patents

Method and device for recovering data Download PDF

Info

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
Application number
CN201410014238.XA
Other languages
Chinese (zh)
Other versions
CN103744750A (en
Inventor
许焰
孙亚萍
周慧强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201410014238.XA priority Critical patent/CN103744750B/en
Publication of CN103744750A publication Critical patent/CN103744750A/en
Application granted granted Critical
Publication of CN103744750B publication Critical patent/CN103744750B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of data reconstruction method and device
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.
CN201410014238.XA 2014-01-13 2014-01-13 Method and device for recovering data Active CN103744750B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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.