IP Library Patent Application 16862478
Patent Application
App. No. 16/862,478

METHOD, DEVICE AND COMPUTER PROGRAM PRODUCT FOR BACKUPING DATA

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 None
App. No.
16/862,478
Abstract

Embodiments of the present disclosure relate to a method, device and computer program product for backing up data. The method comprises determining, for a data backup to be performed, a first deduplication rate related to a first target server and a second deduplication rate related to a second target server. The method comprises selecting a suitable target server from the first target server and the second target server according to the first deduplication rate and the second deduplication rate. In addition, the method further comprises replicating a portion of data in the data backup to the selected suitable target server.

Claims (68)

1 . A method for backing up data, comprising:

determining, for a data backup to be performed, a first deduplication rate related to a first target server and a second deduplication rate related to a second target server;

selecting a target server from the first target server and the second target server based on the first deduplication rate and the second deduplication rate; and

replicating a portion of data in the data backup to the selected target server.

2 . The method according to claim 1 , wherein selecting the target server from the first target server and the second target server comprises:

selecting, from a plurality of target servers, a target server having a maximum degree of duplication with the data backup, wherein the plurality of target servers at least comprising the first target server and the second target server.

3 . The method according to claim 1 , wherein determining that the first deduplication rate related to the first target server and the second deduplication rate related to the second target server comprises:

dividing data in the data backup into a plurality of data chunks;

obtaining a hash value of each data chunk in the plurality of data chunks to obtain a plurality of hash values;

sending a hash query message to each of the first target server and the second target server to query which of the plurality of hash values exist on the first target server and the second target server; and

determining the first deduplication rate and the second deduplication rate based on a hash query result, wherein the hash query result is received in response to the hash query message.

4 . The method according to claim 3 , wherein:

determining the first deduplication rate and the second deduplication rate comprises determining the first deduplication rate and the second deduplication rate at a first time; and

replicating the portion of data in the data backup to the selected target server comprises replicating the portion of data in the data backup to the selected target server at a second time, the first time being a predetermined time before the second time.

5 . The method according to claim 4 , wherein the sending the hash query message to the first target server and the second target server comprises:

in response to both the first target server and the second target server completing garbage collection at the first time, sending the hash query message to each of the first target server and the second target server; and

setting, by the first target server and the second target server, a hash value corresponding to a data chunk that is not garbage collected at the second time as a valid hash value upon replication.

6 . The method according to claim 3 , wherein the method further comprises:

storing the hash query result from the first target server and the second target server in a cache.

7 . The method according to claim 6 , wherein the selecting the target server from the first target server and the second target server comprises:

determining one or more data chunks in the data backup that need to be replicated to the selected target server; and

updating, based on the determination, one or more hash values corresponding to the one or more data chunks in the cache.

8 . The method according to claim 7 , wherein the data backup to be performed is a first data backup, and the method further comprises:

for a second data backup to be performed:

in response to a first hash value of a first data chunk in the second data backup existing in the cache, not sending any hash query message for the first hash value to the first target server and the second target server; and

in response to a second hash value of a second data chunk in the second data backup missing in the cache, sending a hash query message for the second hash value to each of the first target server and the second target server.

9 . An electronic device, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions thereon, the instructions, when executed by the processing unit, performing a method, the method comprising:

determining, for a data backup to be performed, a first deduplication rate related to a first target server and a second deduplication rate related to a second target server;

selecting a target server from the first target server and the second target server based on the first deduplication rate and the second deduplication rate; and

replicating a portion of data in the data backup to the selected target server.

10 . The device according to claim 9 , wherein selecting the target server from the first target server and the second target server comprises:

selecting, from a plurality of target servers, a target server having a maximum degree of duplication with the data backup, wherein the plurality of target servers at least comprising the first target server and the second target server.

11 . The device according to claim 9 , wherein determining that the first deduplication rate related to the first target server and the second deduplication rate related to the second target server comprises:

dividing data in the data backup into a plurality of data chunks;

obtaining a hash value of each data chunk in the plurality of data chunks to obtain a plurality of hash values;

sending a hash query message to each of the first target server and the second target server to query which of the plurality of hash values exist on the first target server and the second target server; and

determining the first deduplication rate and the second deduplication rate based on a hash query result, wherein the hash query result is received in response to the hash query message.

12 . The device according to claim 11 , wherein:

determining the first deduplication rate and the second deduplication rate comprises determining the first deduplication rate and the second deduplication rate at a first time; and

replicating the portion of data in the data backup to the selected target server comprises replicating the portion of data in the data backup to the selected target server at a second time, the first time being a predetermined time before the second time.

13 . The device according to claim 12 , wherein the sending the hash query message to the first target server and the second target server comprises:

in response to both the first target server and the second target server completing garbage collection at the first time, sending the hash query message to each of the first target server and the second target server; and

setting, by the first target server and the second target server, a hash value corresponding to a data chunk that is not garbage collected at the second time as a valid hash value upon replication.

14 . The device according to claim 11 , wherein the method further comprises:

storing the hash query result from the first target server and the second target server in a cache.

15 . The device according to claim 14 , wherein the selecting the target server from the first target server and the second target server comprises:

determining one or more data chunks in the data backup that need to be replicated to the selected target server; and

updating, based on the determination, one or more hash values corresponding to the one or more data chunks in the cache.

16 . The device according to claim 15 , wherein the data backup to be performed is a first data backup, and the method further comprises:

for a second data backup to be performed:

in response to a first hash value of a first data chunk in the second data backup existing in the cache, ceasing to not sending any hash query message for the first hash value to the first target server and the second target server; and

in response to a second hash value of a second data chunk in the second data backup missing in the cache, sending a hash query message for the second hash value to each of the first target server and the second target server.

17 . A computer program product tangibly stored on a non-transitory computer readable medium and comprising computer-executable instructions, the computer-executable instructions, when executed, causing a computer to perform a method, the method comprising:

determining, for a data backup to be performed, a first deduplication rate related to a first target server and a second deduplication rate related to a second target server;

selecting a target server from the first target server and the second target server based on the first deduplication rate and the second deduplication rate; and

replicating a portion of data in the data backup to the selected target server.

18 . The computer program product of claim 17 , wherein selecting the target server from the first target server and the second target server comprises:

selecting, from a plurality of target servers, a target server having a maximum degree of duplication with the data backup, wherein the plurality of target servers at least comprising the first target server and the second target server.

19 . The computer program product of claim 17 , wherein determining that the first deduplication rate related to the first target server and the second deduplication rate related to the second target server comprises:

dividing data in the data backup into a plurality of data chunks;

obtaining a hash value of each data chunk in the plurality of data chunks to obtain a plurality of hash values;

sending a hash query message to each of the first target server and the second target server to query which of the plurality of hash values exist on the first target server and the second target server; and

determining the first deduplication rate and the second deduplication rate based on a hash query result, wherein the hash query result is received in response to the hash query message.

20 . The computer program product of claim 19 ,

determining the first deduplication rate and the second deduplication rate comprises determining the first deduplication rate and the second deduplication rate at a first time; and

replicating the portion of data in the data backup to the selected target server comprises replicating the portion of data in the data backup to the selected target server at a second time, the first time being a predetermined time before the second time.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 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 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: ZHAO, JINGRONG; ZHENG, QINGXIAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052541/0388 →