IP Library Granted Patent US 11,740,827
Granted Patent B2
US 11,740,827 · App. 16/874,338 · Granted Aug 29, 2023

Method, electronic device, and computer program product for recovering data

Inventors: Weiyang Liu (Shanghai, CN); Ming Zhang (Shanghai, CN); Qi Wang (Shanghai, CN); Aaron Ren Wang (Shanghai, CN); Yuanyi Liu (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F3/065G06F3/064G06F3/067G06F3/0619
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 11,740,827
App. No.
16/874,338
Granted
Aug 29, 2023
Kind
B2
Abstract

The present disclosure relates to a method, an electronic device, and a computer program product for recovering data. For example, a method for recovering data is provided. The method may comprise acquiring metadata corresponding to to-be-recovered target data, the metadata comprising at least a first part of metadata corresponding to a first set of data blocks and a second part of metadata corresponding to a second set of data blocks. The method may further comprise acquiring, based on the first part of metadata, the first set of data blocks from a first backup storage device in a plurality of backup storage devices that store the target data. The method may further comprise acquiring, based on the second part of metadata, the second set of data blocks from a second backup storage device in the plurality of backup storage devices. In addition, the method may further comprise recovering the target data based on at least the first set of data blocks and the second set of data blocks. As such, the utilization of the backup storage devices can be improved and the time for data recovery can be shortened.

Claims (77)

1. A method for recovering data, comprising:

acquiring metadata corresponding to target data stored in a plurality of storage devices;

dividing the metadata into a first part of metadata and a second part of metadata, wherein the first part of metadata corresponds to a first set of data blocks in the target data and assigned to a first backup storage device in the plurality of storage devices, and the second part of metadata corresponds to a second set of data blocks in the target data and assigned to a second backup storage device in the plurality of storage devices;

acquiring, based on the first part of metadata, the first set of data blocks from the first backup storage device;

acquiring, based on the second part of metadata, the second set of data blocks from the second backup storage device;

determining that one remaining data block of the second set of data blocks failed to be received correctly during the acquiring of the second set of data blocks;

identifying a subset of the second part of metadata that corresponds to the one remaining data block;

acquiring the one remaining data block from the first backup storage device based on the subset of the second part of metadata; and

recovering, by at least one processor, the target data based on at least a combination of the first set of data blocks and the second set of data blocks, wherein the second set of data blocks comprise the one remaining data block, and wherein the first set of data blocks and the second set of data blocks are directly used as the target data.

2. The method of claim 1 , wherein the dividing is based on one or more characteristics comprising data transmission rates, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the data transmission rates of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device with a data transmission rate greater than a predetermined threshold rate as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

3. The method of claim 1 , wherein the dividing is based on one or more characteristics comprising geographical positions, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the geographical positions of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device from which a distance to a system corresponding to the at least one processor for recovering the target data is greater than a predetermined threshold distance as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

4. The method of claim 1 , wherein acquiring the second set of data blocks from the second backup storage device comprises:

determining, according to determination that the first set of data blocks of the first backup storage device has been acquired, the subset of the second part of metadata that corresponds to the one or more remaining data blocks;

acquiring the one or more remaining data blocks corresponding to the subset of the second part of metadata from the first backup storage device and the second backup storage device respectively; and

determining, according to determination that the one or more remaining data blocks of one of the first backup storage device and the second backup storage device have been acquired, the acquired one or more remaining data blocks as a part of the second set of data blocks.

5. The method of claim 1 , further comprising:

determining, according to determination that one data block in the first set of data blocks is not received correctly, metadata of the one data block; and

acquiring, based on the metadata of the one data block, the one data block from the second backup storage device.

6. An electronic device, comprising:

at least one processor; and

at least one memory coupled to the at least one processor and storing instructions configured to be executed by the at least one processor, wherein when executed by the at least one processor, the instructions cause the electronic device to perform actions comprising:

acquiring metadata corresponding to target data stored in a plurality of storage devices;

dividing the metadata into a first part of metadata and a second part of metadata, wherein the first part of metadata corresponds to a first set of data blocks in the target data and assigned to a first backup storage device in the plurality of storage devices, and the second part of metadata corresponds to a second set of data blocks in the target data and assigned to a second backup storage device in the plurality of storage devices;

acquiring, based on the first part of metadata, the first set of data blocks from the first backup storage device;

acquiring, based on the second part of metadata, the second set of data blocks from the second backup storage device;

determining that one remaining data block of the second set of data blocks failed to be received correctly during the acquiring of the second set of data blocks;

identifying a subset of the second part of metadata that corresponds to the one remaining data block;

acquiring the one remaining data block from the first backup storage device based on the subset of the second part of metadata; and

recovering the target data based on at least a combination of the first set of data blocks and the second set of data blocks, wherein the second set of data blocks comprise the one remaining data block, and wherein the first set of data blocks and the second set of data blocks are directly used as the target data.

7. The electronic device of claim 6 , wherein the dividing is based on one or more characteristics comprising data transmission rates, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the data transmission rates of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device with a data transmission rate greater than a predetermined threshold rate as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

8. The electronic device of claim 6 , wherein the dividing is based on one or more characteristics comprising geographical positions, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the geographical positions of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device from which a distance to a system corresponding to the at least one processor for recovering the target data is greater than a predetermined threshold distance as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

9. The electronic device of claim 6 , wherein acquiring the second set of data blocks from the second backup storage device comprises:

determining, according to determination that the first set of data blocks of the first backup storage device has been acquired, the subset of the second part of metadata that corresponds to the one or more remaining data blocks;

acquiring the one or more remaining data blocks corresponding to the subset of the second part of metadata from the first backup storage device and the second backup storage device respectively; and

determining, according to determination that the one or more remaining data blocks of one of the first backup storage device and the second backup storage device have been acquired, the acquired one or more remaining data blocks as a part of the second set of data blocks.

10. The electronic device of claim 6 , wherein the actions further comprise:

determining, according to determination that one data block in the first set of data blocks is not received correctly, metadata of the one data block; and

acquiring, based on the metadata of the one data block, the one data block from the second backup storage device.

11. A computer program product tangibly stored in a non-transitory computer storage medium and comprising machine-executable instructions, which when executed by a processor, cause the processor to perform actions, the actions comprising:

acquiring metadata corresponding to target data stored in a plurality of storage devices;

dividing the metadata into a first part of metadata and a second part of metadata, wherein the first part of metadata corresponds to a first set of data blocks in the target data and assigned to a first backup storage device in the plurality of storage devices, and the second part of metadata corresponds to a second set of data blocks in the target data and assigned to a second backup storage device in the plurality of storage devices;

acquiring, based on the first part of metadata, the first set of data blocks from the first backup storage device;

acquiring, based on the second part of metadata, the second set of data blocks from the second backup storage device;

determining that one remaining data block of the second set of data blocks failed to be received correctly during the acquiring of the second set of data blocks;

identifying a subset of the second part of metadata that corresponds to the one remaining data block;

acquiring the one remaining data block from the first backup storage device based on the subset of the second part of metadata; and

recovering, by the processor, the target data based on at least a combination of the first set of data blocks and the second set of data blocks, wherein the second set of data blocks comprise the one remaining data block, and wherein the first set of data blocks and the second set of data blocks are directly used as the target data.

12. The computer program product of claim 11 , wherein the dividing is based on one or more characteristics comprising data transmission rates, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the data transmission rates of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device with a data transmission rate greater than a predetermined threshold rate as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

13. The computer program product of claim 11 , wherein the dividing is based on one or more characteristics comprising geographical positions, and wherein acquiring the first set of data blocks from the first backup storage device comprises:

determining the geographical positions of the plurality of backup storage devices;

determining, from the plurality of backup storage devices, a backup storage device from which a distance to a system corresponding to the processor for recovering the target data is greater than a predetermined threshold distance as the first backup storage device; and

acquiring, from the first backup storage device, the first set of data blocks corresponding to the first part of metadata.

14. The computer program product of claim 11 , wherein acquiring the second set of data blocks from the second backup storage device comprises:

determining, according to determination that the first set of data blocks of the first backup storage device has been acquired, the subset of the second part of metadata that corresponds to the one or more remaining data blocks;

acquiring the one or more remaining data blocks corresponding to the subset of the second part of metadata from the first backup storage device and the second backup storage device respectively; and

determining, according to determination that the one or more remaining data blocks of one of the first backup storage device and the second backup storage device have been acquired, the acquired one or more remaining data blocks as a part of the second set of data blocks.

15. The computer program product of claim 11 , wherein the actions further comprise:

determining, according to determination that one data block in the first set of data blocks is not received correctly, metadata of the one data block; and

acquiring, based on the metadata of the one data block, the one data block from the second backup storage device.

16. The method of claim 1 , wherein the at least one processor simultaneously acquires the first set of data blocks from the first backup storage device and the second set of data blocks from the second backup storage device.

17. The electronic device of claim 6 , wherein the at least one processor simultaneously acquires the first set of data blocks from the first backup storage device and the second set of data blocks from the second backup storage device.

18. The computer program product of claim 11 , wherein the at least one processor simultaneously acquires the first set of data blocks from the first backup storage device and the second set of data blocks from the second backup storage device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2020
From: LIU, WEIYANG; ZHANG, MING; WANG, QI; WANG, AARON REN; LIU, YUANYI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052666/0873 →
Cited By (1)
US 12,461,896