IP Library Granted Patent US 12,117,905
Granted Patent B2
US 12,117,905 · App. 18/044,885 · Granted Oct 15, 2024

Method and system for performing check recovery based on Gaussian elimination, device, and medium

Inventors: Ruizhen Wu (Shandong, CN); Mingming Wang (Shandong, CN); Lin Wang (Shandong, CN)
Assignee: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
G06F11/1448G06F11/1435G06F17/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,117,905
App. No.
18/044,885
Granted
Oct 15, 2024
Kind
B2
Abstract

The present disclosure discloses a method and a system for performing check recovery based on Gaussian elimination, a apparatus, and a storage medium. The method includes: a disk array by using normal data blocks and normal check blocks is constructed, a first reference matrix constructed by using coding matrix rows corresponding to the normal data blocks and the normal check blocks is converted into an inverse matrix through Gaussian elimination; it is determined that coding matrix rows corresponding to a predetermined quantity of blocks, and a second reference matrix is constructed by using the coding matrix rows, the abnormal data blocks, and the abnormal check blocks; and the inverse matrix and the second reference matrix are multiplied to obtain a first matrix, the first matrix and the disk array are multiplied to obtain an output matrix, and original data are obtained according to the output matrix.

Claims (70)

1. A method for performing check recovery based on Gaussian elimination, comprising:

in response to an abnormality of a distributed storage, determining a number of abnormal data blocks and a number of abnormal check blocks to judge whether there is a check block that needs to be recovered;

in response to that there is the check block that needs to be recovered, constructing a disk array by using normal data blocks and normal check blocks, constructing a first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and converting the first reference matrix into an inverse matrix through Gaussian elimination;

determining coding matrix rows corresponding to a predetermined quantity of blocks which are randomly selected from the normal data blocks and the normal check blocks, and constructing a second reference matrix by using the coding matrix rows corresponding to the predetermined quantity of blocks which are randomly selected, the abnormal data blocks, and the abnormal check blocks; and

multiplying the inverse matrix and the second reference matrix to obtain a first matrix, multiplying the first matrix and the disk array to obtain an output matrix, and obtaining original data of the abnormal data blocks and original data of the abnormal check blocks according to the output matrix.

2. The method as claimed in claim 1 , further comprising:

in response to that there is no check block that needs to be recovered, constructing the disk array by using the normal data blocks and the normal check blocks, constructing the first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and converting the first reference matrix into the inverse matrix through Gaussian elimination; and

multiplying the inverse matrix and the disk array to obtain a second output matrix, and obtaining original data of the abnormal data blocks according to the second output matrix.

3. The method as claimed in claim 1 , wherein the determining the number of abnormal data blocks and the number of abnormal check blocks to judge whether there is the check block that needs to be recovered comprises:

judging whether a sum of the abnormal data blocks and the abnormal check blocks is less than a first threshold value; and

in response to that the sum of the abnormal data blocks and the abnormal check blocks is less than the first threshold value, separately determining the number of the abnormal data blocks and the number of the abnormal check blocks.

4. The method as claimed in claim 3 , wherein the randomly selecting, from the normal data blocks and the normal check blocks, coding matrix rows corresponding to the predetermined quantity of blocks comprises:

determining the predetermined quantity according to a difference value between the first threshold value and the sum.

5. The method as claimed in claim 1 , wherein constructing the disk array by using normal data blocks and normal check blocks comprising:

determining disks corresponding to the normal data blocks

and determining disks corresponding to the normal check blocks; and

constructing the disk array by using the disks corresponding to the normal data blocks and the disks corresponding to the normal check blocks.

6. The method as claimed in claim 5 , wherein determining the disks corresponding to the normal data blocks and determining the disks corresponding to the normal check blocks comprising:

selecting the normal data block and the normal check blocks; and

reading the disks corresponding to the normal data blocks and the disks corresponding to the normal check blocks to calculating, so that the disk array is constructed.

7. The method as claimed in claim 1 , wherein constructing the first reference matrix by using the coding matrix rows corresponding to the normal data blocks and the normal check blocks comprising:

obtaining a coding matrix corresponding to data blocks and check blocks;

reading the coding matrix rows corresponding to the normal data blocks and the normal check blocks through the coding matrix; and

constructing the first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks.

8. The method as claimed in claim 1 , wherein converting the first reference matrix into the inverse matrix through Gaussian elimination comprising:

performing elementary row transformation on the first reference matrix to obtain the inverse matrix.

9. The method as claimed in claim 8 , wherein performing elementary row transformation on the first reference matrix to obtain the inverse matrix comprising:

multiplying or dividing the rows of the first reference matrix by a preset value;

exchanging a position between the rows of the first reference matrix; and

adding or subtracting the rows of the first reference matrix to obtain the inverse matrix.

10. A computer apparatus, comprising:

at least one processor and a memory,

wherein the memory stores a computer instruction capable of running on the processor, the computer instruction when executed by a processor, cause the processor to:

in response to an abnormality of a distributed storage, determine a number of abnormal data blocks and a number of abnormal check blocks to judge whether there is a check block that needs to be recovered;

in response to that there is the check block that needs to be recovered, construct a disk array by using normal data blocks and normal check blocks, construct a first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and convert the first reference matrix into an inverse matrix through Gaussian elimination;

determine coding matrix rows corresponding to a predetermined quantity of blocks which are randomly selected from the normal data blocks and the normal check blocks, and construct a second reference matrix by using the coding matrix rows corresponding to the predetermined quantity of blocks which are randomly selected, the abnormal data blocks, and the abnormal check blocks; and

multiply the inverse matrix and the second reference matrix to obtain a first matrix, multiply the first matrix and the disk array to obtain an output matrix, and obtain original data of the abnormal data blocks and original data of the abnormal check blocks according to the output matrix.

11. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

in response to that there is no check block that needs to be recovered, construct the disk array by using the normal data blocks and the normal check blocks, construct the first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and convert the first reference matrix into the inverse matrix through Gaussian elimination; and

multiply the inverse matrix and the disk array to obtain a second output matrix, and

obtain original data of the abnormal data blocks according to the second output matrix.

12. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

judge whether a sum of the abnormal data blocks and the abnormal check blocks is less than a first threshold value; and

in response to that the sum of the abnormal data blocks and the abnormal check blocks is less than the first threshold value, separately determine the number of the abnormal data blocks and the number of the abnormal check blocks.

13. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

determine the predetermined quantity according to a difference value between a first threshold value and a sum.

14. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

determine disks corresponding to the normal data blocks and determining disks corresponding to the normal check blocks; and

construct the disk array by using the disks corresponding to the normal data blocks and the disks corresponding to the normal check blocks.

15. The computer apparatus as claimed in claim 14 , wherein the computer instruction when executed by the processor, cause the processor to:

select the normal data block and the normal check blocks; and

read the disks corresponding to the normal data blocks and the disks corresponding to the normal check blocks to calculating, so that the disk array is constructed.

16. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

obtain a coding matrix corresponding to data blocks and check blocks;

read the coding matrix rows corresponding to the normal data blocks and the normal check blocks through the coding matrix; and

construct the first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks.

17. The computer apparatus as claimed in claim 10 , wherein the computer instruction when executed by the processor, cause the processor to:

perform elementary row transformation on the first reference matrix to obtain the inverse matrix.

18. The computer apparatus as claimed in claim 17 , wherein the computer instruction when executed by the processor, cause the processor to:

multiply or dividing the rows of the first reference matrix by a preset value;

exchange a position between the rows of the first reference matrix; and

add or subtract the rows of the first reference matrix to obtain the inverse matrix.

19. A non-transitory computer-readable storage medium, storing a computer program, wherein the computer program when executed by a processor, cause the processor to:

in response to an abnormality of a distributed storage, determine a number of abnormal data blocks and a number of abnormal check blocks to judge whether there is a check block that needs to be recovered;

in response to that there is the check block that needs to be recovered, construct a disk array by using normal data blocks and normal check blocks, construct a first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and convert the first reference matrix into an inverse matrix through Gaussian elimination;

determine coding matrix rows corresponding to a predetermined quantity of blocks which are randomly selected from the normal data blocks and the normal check blocks, and construct a second reference matrix by using the coding matrix rows corresponding to the predetermined quantity of block which are randomly selected, the abnormal data blocks, and the abnormal check blocks; and

multiply the inverse matrix and the second reference matrix to obtain a first matrix, multiply the first matrix and the disk array to obtain an output matrix, and obtain original data of the abnormal data blocks and original data of the abnormal check blocks according to the output matrix.

20. The computer-readable storage medium as claimed in claim 19 , wherein the computer program when executed by the processor, cause the processor to:

in response to that there is no check block that needs to be recovered, construct the disk array by using the normal data blocks and the normal check blocks, construct the first reference matrix by using coding matrix rows corresponding to the normal data blocks and the normal check blocks, and convert the first reference matrix into the inverse matrix through Gaussian elimination; and

multiply the inverse matrix and the disk array to obtain a second output matrix, and obtain original data of the abnormal data blocks according to the second output matrix.

Assignments (2)
LICENSE Recorded Jun 30, 2026
From: IEIT SYSTEMS CO., LTD
To: AIVRES SYSTEMS INC.
Reel/Frame 075857/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: WU, RUIZHEN; WANG, MINGMING; WANG, LIN
To: INSPUR SUZHOU INTELLIGENT TECHNOLOGY CO., LTD.
Reel/Frame 063052/0898 →
Priority Claims (1)
CN 202011510959.1 · Dec 18, 2020 · national
Continuity (1)
Related Publication 20230350759A1 · Nov 2, 2023