IP Library Granted Patent US 11,513,947
Granted Patent B2
US 11,513,947 · App. 16/888,788 · Granted Nov 29, 2022

Method, device and computer program product for building and verifying index file

Inventors: Haitao Li (Chengdu, CN); Jie Liu (Chengdu, CN); Jian Wen (Chengdu, CN); Chao Lin (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0246G06F9/30029G06F11/3034G06F12/0864G06F21/602
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,947
App. No.
16/888,788
Granted
Nov 29, 2022
Kind
B2
Abstract

Embodiments of the present disclosure relate to establishing and verifying an index file. The method for establishing an index file includes: in response to receiving a data block to be stored, determining first verification information for verifying the data block and a first storage address for storing the data block. This method further includes: based on the first verification information, determining an index entry for the data block and a second storage address for storing the index entry, wherein the index entry includes the first verification information and the first storage address, and the index entry will be included in the index file. This method further includes: based on the index entry and the second storage address, determining second verification information. This method further includes: based on the second verification information and historical verification information for the index file, determining third verification information for verifying the index file.

Claims (60)

1. A method for establishing an index file, comprising:

in response to receiving a data block to be stored in a backup file system, determining first verification information for verifying the data block and a first storage address for storing the data block in the backup file system;

based on the first verification information, determining an index entry for the data block and a second storage address for storing the index entry, wherein the index entry includes the first verification information and the first storage address, and the index entry will be included in the index file, and wherein determining the second storage address comprises determining an offset address of the index entry in the index file;

based on the index entry and the second storage address, determining second verification information; and

based on the second verification information and historical verification information for the index file, determining third verification information for verifying the index file;

wherein determining the first verification information comprises:

performing a first hash operation on the data block to determine the first verification information;

wherein determining the second storage address comprises:

performing a second hash operation on the first verification information, and

based on a result of the second hash operation, determining the offset address of the index entry in the index file; and

wherein the historical verification information is determined from previously stored index entries.

2. The method according to claim 1 ,

wherein the index entry further includes the second storage address, and

wherein determining the second verification information comprises:

generating the second verification information by performing a third hash operation on the first verification information, the first storage address, and the second verification information in the index entry.

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

storing the third verification information in the historical verification information.

4. The method according to claim 1 , wherein determining the third verification information comprises:

generating the third verification information by performing an XOR operation on the second verification information and the historical verification information.

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

storing the third verification information in a header of the index file.

6. A method for verifying an index file, comprising:

in response to receiving a request for verifying the index file, based on first verification information in at least one index entry in the index file, determining a second storage address for storing the at least one index entry, wherein the first verification information is used for verifying a data block corresponding to the at least one index entry, wherein determining the second storage address for storing the at least one index entry comprises determining an offset address of the index entry in the index file, and wherein the data block is stored in a backup file system;

based on the at least one index entry and the second storage address, determining second verification information; and

based on the second verification information and third verification information for verifying the index file, determining correctness of the index file,

wherein the first verification information is determined by:

performing a first hash operation on the data block to determine the first verification information;

wherein determining the second storage address comprises:

performing a second hash operation on the first verification information; and

based on a result of the second hash operation, determining the offset address of the index entry in the index file; and

wherein the third verification information is determined based on the second verification information and historical information determined from previously stored index entries.

7. The method according to claim 6 ,

wherein the at least one index entry includes multiple index entries, and

wherein determining the second verification information comprises:

generating multiple verification values based on the multiple index entries and multiple second storage addresses for storing the multiple index entries; and

determining the second verification information by performing an XOR operation on the multiple verification values.

8. The method according to claim 6 , wherein determining the correctness of the index file comprises:

determining that the index file is correct according to a determination that the second verification information matches the third verification information.

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

acquiring the third verification information from a header of the index file.

10. An electronic device, comprising: a processor; and

a memory storing computer program instructions, wherein the processor executes the computer program instructions in the memory to control the electronic device to execute a method, the method comprising:

in response to receiving a data block to be stored in a backup file system, determining first verification information for verifying the data block and a first storage address for storing the data block in a backup file system;

based on the first verification information, determining an index entry for the data block and a second storage address for storing the index entry, wherein the index entry includes the first verification information and the first storage address, and the index entry will be included in an index file, and wherein determining the second storage address comprises determining an offset address of the index entry in the index file;

based on the index entry and the second storage address, determining second verification information; and

based on the second verification information and historical verification information for the index file, determining third verification information for verifying the index file,

wherein determining the first verification information comprises:

performing a first hash operation on the data block to determine the first verification information;

wherein determining the second storage address comprises:

performing a second hash operation on the first verification information; and

based on a result of the second hash operation, determining the offset address of the index entry in the index file; and

wherein the historical verification information is determined from previously stored index entries.

11. The electronic device according to claim 10 , wherein the index entry further includes the second storage address, and determining the second verification information comprises:

generating the second verification information by performing a third hash operation on the first verification information, the first storage address, and the second verification information in the index entry.

12. The electronic device according to claim 10 , wherein the method further comprises:

storing the third verification information in the historical verification information.

13. The electronic device according to claim 10 , wherein determining the third verification information comprises:

generating the third verification information by performing an XOR operation on the second verification information and the historical verification information.

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

storing the third verification information in a header of the index file.

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 Jun 4, 2020
From: LI, HAITAO; LIU, JIE; WEN, JIAN; LIN, CHAO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052838/0312 →
Priority Claims (1)
CN 202010220619.9 · Mar 25, 2020 · national
Continuity (1)
Related Publication 20210303458A1 · Sep 30, 2021