IP Library Granted Patent US 9,904,599
Granted Patent B2
US 9,904,599 · App. 14/456,690 · Granted Feb 27, 2018

Method, device, and system for data reconstruction

Inventors: Yu Yin (Shenzhen, CN); Daohui Wang (Shenzhen, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F11/1446G06F11/1662G06F11/2094G06F17/303G06F17/30979G06F11/0727G06F11/0757
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 9,904,599
App. No.
14/456,690
Granted
Feb 27, 2018
Kind
B2
Abstract

A method for data reconstruction includes: obtaining a data migration list, where the data migration list indicates a partition with data to be migrated on a storage node with data to be migrated; generating a data migration task according to the data migration list and routing table information, where the routing table information indicates correspondence between a storage node in a cluster and a partition; and concurrently executing data migration tasks of a storage node in the cluster to reconstruct data. In addition, a device for data reconstruction and a storage system are further provided accordingly.

Claims (69)

1. A method for data reconstruction in a cluster having a plurality of storage nodes, wherein each storage node includes a plurality of partitions, the method comprising:

identifying, by a device, first partitions of a plurality of first storage nodes that store backup data of a first faulty storage node based on routing table information, wherein at least two partitions in the cluster store backup data for each partition of the first faulty storage node

and wherein each first partition stores backup data for a corresponding partition of the first faulty storage node;

generating, by the device, one or more first data migration tasks for migrating backup data from the first partitions of the plurality of first storage nodes to second partitions of a plurality of second storage nodes;

identifying, by the device, a second faulty storage node and that the second faulty storage node is one of the first or second storage nodes in the one or more first data migration tasks;

when the second faulty storage node is one of the first storage nodes in the one or more first data migration tasks, identifying a third partition of a third storage node which stores backup data for a first partition of the first faulty storage node, updating the one or more first data migration tasks by replacing a second partition of the second faulty storage node with the third partition of the third storage node;

when the second faulty storage node is one of the second storage nodes in the one or more first data migration tasks, identifying one or more fourth storage nodes to store backup data for one or more partitions of the first faulty storage node, updating the one or more first data migration tasks by replacing the second faulty storage node with the one or more fourth storage nodes; and

executing, by the device, the updated one or more first data migration tasks.

2. The method according to claim 1 , further comprising:

obtaining status information of the storage nodes in the cluster;

adjusting a number of partitions according to the status information of the storage nodes in the cluster to obtain a partition adjustment result; and

updating original routing table information according to the partition adjustment result to obtain the routing table information.

3. The method according to claim 1 , further comprising:

generating, by the device, one or more second data migration tasks for migrating backup data of the second faulty storage node from partitions of a plurality of fifth storage nodes to partitions of a plurality of sixth storage nodes, wherein the fifth storage nodes store the backup data of the second faulty storage node; and

combining the updated one or more first data migration tasks and the second data migration tasks.

4. The method according to claim 3 , wherein the combining the updated one or more first data migration tasks and the second data migration tasks comprises:

adding the second data migration tasks to a migration task queue to which the updated one or more first data migration tasks belong; and

executing tasks in the migration task queue substantially in parallel.

5. The method according to claim 2 , wherein when status information of the second storage node is not received within a predetermined time period, determining, by the device, that the second storage node is a faulty storage node.

6. The method of claim 1 , further comprising:

executing, by the device, the updated one or more first data migration tasks substantially in parallel to reconstruct the first faulty storage node.

7. The method of claim 2 , further comprising:

determining a data migration list based on the original routing table information and the routing table information; and

obtaining the second partitions of the plurality of second storage nodes based on the data migration list.

8. A device comprising:

a memory storage comprising instructions; and

one or more processors in communication with the memory,

wherein the one or more processors execute the instructions to:

identify first partitions of a plurality of first storage nodes that store backup data of a first faulty storage node based on routing table information, wherein at least two partitions in a cluster store backup data for each partition of the first faulty storage node

and wherein each first partition stores backup data for a corresponding partition of the first faulty storage node;

generate one or more first data migration tasks for migrating backup data from the first partitions of the plurality of first storage nodes to second partitions of a plurality of second storage nodes;

identify a second faulty storage node and that the second faulty storage node is one of the first or second storage nodes in the one or more first data migration tasks;

when the second faulty storage node is one of the first storage nodes in the one or more first data migration tasks, identify a third partition of a third storage node which stores backup data for a first partition of the first faulty storage node, update the one or more first data migration tasks by replacing a second partition of the second faulty storage node with the third partition of the third storage node;

when the second faulty storage node is one of the second storage nodes in the one or more first data migration tasks, identify one or more fourth storage nodes to store backup data for one or more partitions of the first faulty storage node, update the one or more first data migration tasks by replacing the second faulty storage node with the one or more fourth storage nodes; and

execute the updated one or more first data migration tasks.

9. The device according to claim 8 , wherein the processors execute instructions to:

obtain status information of the storage nodes in the cluster;

adjust a number of partitions according to the status information of the storage nodes in the cluster to obtain a partition adjustment result; and

update original routing table information according to the partition adjustment result to obtain the routing table information.

10. The device according to claim 8 , wherein the processors execute instructions to:

generate one or more second data migration tasks for migrating backup data of the second faulty storage node from partitions of a plurality of fifth storage nodes to partitions of a plurality of sixth storage nodes, wherein the fifth storage nodes store the backup data of the second faulty storage node; and

combine the updated one or more first data migration tasks and the second data migration tasks.

11. The device according to claim 10 , wherein the processors execute instructions to:

add the second data migration tasks to a migration task queue to which the updated one or more first data migration tasks belong; and

execute tasks in the migration task queue substantially in parallel.

12. The device according to claim 9 , wherein the processors execute instructions to:

determine a data migration list based on the original routing table information and the routing table information; and

obtain the second partitions of the plurality of second storage nodes based on the data migration list.

13. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:

identifying first partitions of a plurality of first storage nodes that store backup data of a first faulty storage node based on routing table information, wherein at least two partitions in a cluster store backup data for each partition of the first faulty storage node

and wherein each first partition stores backup data for a corresponding partition of the first faulty storage node;

generating one or more first data migration tasks for migrating backup data from the first partitions of the plurality of first storage nodes to second partitions of a plurality of second storage nodes;

identifying a second faulty storage node and that the second faulty storage node is one of the first or second storage nodes in the one or more first data migration tasks;

when the second faulty storage node is one of the first storage nodes in the one or more first data migration tasks, identifying a third partition of a third storage node which stores backup data for a first partition of the first faulty storage node, updating the one or more first data migration tasks by replacing a second partition of the second faulty storage node with the third partition of the third storage node;

when the second faulty storage node is one of the second storage nodes in the one or more first data migration tasks, identifying one or more fourth storage nodes to store backup data for one or more partitions of the first faulty storage node, updating the one or more first data migration tasks by replacing the second faulty storage node with the one or more fourth storage nodes; and

executing, by the device, the updated one or more first data migration tasks.

14. The non-transitory computer-readable medium according to claim 13 , wherein the operations include:

obtaining status information of storage nodes in the cluster;

adjusting a number of partitions according to the status information of the storage nodes in the cluster to obtain a partition adjustment result; and

updating original routing table information according to the partition adjustment result to obtain the routing table information.

15. The non-transitory computer-readable medium according to claim 13 , wherein the operations include:

generating one or more second data migration tasks for migrating backup data of the second faulty storage node from partitions of a plurality of fifth storage nodes to partitions of a plurality of sixth storage nodes, wherein the third storage nodes store the backup data of the second faulty storage node; and

combining the updated one or more first data migration tasks and the second data migration tasks.

16. The non-transitory computer-readable medium according to claim 15 , wherein the operations include:

adding the second data migration tasks to a migration task queue to which the updated one or more first data migration tasks belong; and

executing tasks in the migration task queue substantially in parallel.

17. The non-transitory computer-readable medium according to claim 14 , wherein the processors execute instructions to:

determine a data migration list based on the original routing table information and the routing table information; and

obtain the second partitions of the plurality of second storage nodes based on the data migration list.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2022
From: HUAWEI TECHNOLOGIES CO., LTD.
To: XFUSION DIGITAL TECHNOLOGIES CO., LTD.
Reel/Frame 058682/0312 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2014
From: YIN, YU; WANG, DAOHUI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 033609/0792 →
Continuity (2)
Continuation PCTCN2012070983 · Feb 9, 2012
Related Publication 20140351636A1 · Nov 27, 2014