IP Library Granted Patent US 11,513,913
Granted Patent B2
US 11,513,913 · App. 17/120,737 · Granted Nov 29, 2022

Method for storage management, electronic device, and computer program product

Inventors: Qin Liu (Chengdu, CN); Lanjun Liao (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1464G06F11/1469G06F16/137G06F2201/805
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,513,913
App. No.
17/120,737
Granted
Nov 29, 2022
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method for storage management, an electronic device, and a computer program product. According to an exemplary implementation of the present disclosure, a method for storage management includes: generating, at a client, a first backup block for recovering first target data, the client backing up the first target data to a first server and backing up metadata of the first target data to a second server, and the client together with at least one other client and the second server maintaining the same backup chain which includes at least one backup block; adding the first backup block to the backup chain maintained by the client; and distributing the first backup block to the at least one other client and the second server to add the first backup block to the backup chain maintained by the at least one other client and the second server. Therefore, the storage security can be improved.

Claims (104)

1. A method for storage management, comprising:

generating, at a client, a first backup block for recovering first target data, the client backing up the first target data to a first storage server and backing up metadata of the first target data to a second storage server, and the client together with at least one other client and the second storage server maintaining the same backup chain which comprises at least one backup block;

adding the first backup block to the backup chain maintained by the client; and

distributing the first backup block to the at least one other client and the second storage server to add the first backup block to the backup chain maintained by the at least one other client and the second storage server, wherein the first backup block comprises a hash value of the backup block located in front of the first backup block in the backup chain.

2. The method according to claim 1 , wherein the first backup block comprises at least one of the following:

the number of the first backup block in the backup chain,

a random value,

a hash value of the first backup block,

a hash value of the first target data,

file path information for the first target data, the file path information indicating a storage path of at least one file in the first target data on the client, and

a hash value of each of the at least one file.

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

dividing the first target data into a plurality of data fragments;

storing the plurality of data fragments and respective hash values of the plurality of data fragments into the first storage server; and

storing the metadata of the first target data and a hash value of the metadata into the second storage server.

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

if it is determined that a request for deleting the first backup block is received, deleting the first backup block from the backup chain maintained by the client; and

sending a request for deleting the first backup block from the backup chain maintained by the at least one other client and the second storage server to the at least one other client and the second storage server.

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

sending a recovery request for second target data to the first storage server;

receiving a hash value of backup data for the second target data from the first storage server;

selecting, based on the received hash value of the backup data, a second backup block from the backup chain, a hash value of the second target data comprised in the second backup block matching the received hash value of the backup data;

acquiring, based on the second backup block, the backup data for the second target data from the first storage server; and

recovering, based on the backup data, the second target data.

6. The method according to claim 5 , wherein the second target data comprises a target file to be recovered, and acquiring the backup data comprises:

extracting a storage path of the target file on the client from the second backup block;

sending information indicating the storage path to the first storage server;

receiving a hash value of a backup file for the target file from the first storage server;

if it is determined that the received hash value of the backup file matches a hash value of the target file comprised in the second backup block, sending a file recovery request to the first storage server; and

receiving the backup file from the first storage server.

7. The method according to claim 6 , further comprising:

generating a hash value of the recovered target file;

determining whether the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block, and

if the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block, determining that the target file is recovered successfully.

8. An electronic device, comprising:

at least one processing unit; and

at least one memory coupled to the at least one processing unit and storing instructions, which when executed by the at least one processing unit, cause the device to perform actions, the actions comprising:

generating, at a client, a first backup block for recovering first target data, the client backing up the first target data to a first storage server and backing up metadata of the first target data to a second storage server, and the client together with at least one other client and the second storage server maintaining the same backup chain which comprises at least one backup block;

adding the first backup block to the backup chain maintained by the client; and

distributing the first backup block to the at least one other client and the second storage server to add the first backup block to the backup chain maintained by the at least one other client and the second storage server, wherein the first backup block comprises a hash value of the backup block located in front of the first backup block in the backup chain.

9. The device according to claim 8 , wherein the first backup block comprises at least one of the following:

the number of the first backup block in the backup chain,

a random value,

a hash value of the first backup block,

a hash value of the first target data,

file path information for the first target data, the file path information indicating a storage path of at least one file in the first target data on the client, and

a hash value of each of the at least one file.

10. The device according to claim 8 , wherein the actions further comprise:

dividing the first target data into a plurality of data fragments;

storing the plurality of data fragments and respective hash values of the plurality of data fragments into the first storage server; and

storing the metadata of the first target data and a hash value of the metadata into the second storage server.

11. The device according to claim 8 , wherein the actions further comprise:

if it is determined that a request for deleting the first backup block is received, deleting the first backup block from the backup chain maintained by the client; and

sending a request for deleting the first backup block from the backup chain maintained by the at least one other client and the second storage server to the at least one other client and the second storage server.

12. The device according to claim 8 , wherein the actions further comprise:

sending a recovery request for second target data to the first storage server;

receiving a hash value of backup data for the second target data from the first storage server;

selecting, based on the received hash value of the backup data, a second backup block from the backup chain, a hash value of the second target data comprised in the second backup block matching the received hash value of the backup data;

acquiring, based on the second backup block, the backup data for the second target data from the first storage server; and

recovering, based on the backup data, the second target data.

13. The device according to claim 12 , wherein the second target data comprises a target file to be recovered, and acquiring the backup data comprises:

extracting a storage path of the target file on the client from the second backup block;

sending information indicating the storage path to the first storage server;

receiving a hash value of a backup file for the target file from the first storage server;

if it is determined that the received hash value of the backup file matches a hash value of the target file comprised in the second backup block, sending a file recovery request to the first storage server; and

receiving the backup file from the first storage server.

14. The device according to claim 13 , wherein the actions further comprise:

generating a hash value of the recovered target file;

determining whether the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block,

if the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block, determining that the target file is recovered successfully.

15. A non-transitory computer-readable medium comprising machine-executable instructions, which when executed by a machine, cause the machine to perform actions, the actions comprising:

generating, at a client, a first backup block for recovering first target data, the client backing up the first target data to a first storage server and backing up metadata of the first target data to a second storage server, and the client together with at least one other client and the second storage server maintaining the same backup chain which comprises at least one backup block;

adding the first backup block to the backup chain maintained by the client; and

distributing the first backup block to the at least one other client and the second storage server to add the first backup block to the backup chain maintained by the at least one other client and the second storage server, wherein the first backup block comprises a hash value of the backup block located in front of the first backup block in the backup chain.

16. The computer-readable medium according to claim 15 , wherein the first backup block comprises at least one of the following:

the number of the first backup block in the backup chain,

a random value,

a hash value of the first backup block,

a hash value of the first target data,

file path information for the first target data, the file path information indicating a storage path of at least one file in the first target data on the client, and

a hash value of each of the at least one file.

17. The computer-readable medium according to claim 15 , wherein the actions further comprise:

dividing the first target data into a plurality of data fragments;

storing the plurality of data fragments and respective hash values of the plurality of data fragments into the first storage server; and

storing the metadata of the first target data and a hash value of the metadata into the second storage server.

18. The computer-readable medium according to claim 15 , wherein the actions further comprise:

if it is determined that a request for deleting the first backup block is received, deleting the first backup block from the backup chain maintained by the client; and

sending a request for deleting the first backup block from the backup chain maintained by the at least one other client and the second storage server to the at least one other client and the second storage server.

19. The computer-readable medium according to claim 15 , wherein the actions further comprise:

sending a recovery request for second target data to the first storage server;

receiving a hash value of backup data for the second target data from the first storage server;

selecting, based on the received hash value of the backup data, a second backup block from the backup chain, a hash value of the second target data comprised in the second backup block matching the received hash value of the backup data;

acquiring, based on the second backup block, the backup data for the second target data from the first storage server; and

recovering, based on the backup data, the second target data.

20. The computer-readable medium according to claim 19 , wherein the second target data comprises a target file to be recovered, and acquiring the backup data comprises:

extracting a storage path of the target file on the client from the second backup block;

sending information indicating the storage path to the first storage server;

receiving a hash value of a backup file for the target file from the first storage server;

if it is determined that the received hash value of the backup file matches a hash value of the target file comprised in the second backup block, sending a file recovery request to the first storage server; and

receiving the backup file from the first storage server.

21. The computer-readable medium according to claim 20 , wherein the actions further comprise:

generating a hash value of the recovered target file;

determining whether the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block, and

if the hash value of the recovered target file matches the hash value of the target file comprised in the second backup block, determining that the target file is recovered successfully.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2020
From: LIU, QIN; LIAO, LANJUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054637/0814 →
Priority Claims (1)
CN 202011194832.3 · Oct 30, 2020 · national
Continuity (1)
Related Publication 20220138050A1 · May 5, 2022