IP Library › Granted Patent US 11,200,204
Granted Patent B2
US 11,200,204 · App. 16/285,175 · Granted Dec 14, 2021

Method, device and computer program product for searching a file

Inventors: Yi Wang (Chengdu, CN); Qingxiao Zheng (Chengdu, CN); Lanjun Liao (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F16/152G06F11/1451G06F16/128G06F16/137G06F2201/84
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,200,204
App. No.
16/285,175
Filed
Feb 25, 2019
Granted
Dec 14, 2021
Kind
B2
Art Unit
2159
USPC
707/649
Abstract

Embodiments of the present disclosure provide method, device and computer program product for file search. The method for file search comprises: determining a hash value associated with an identification of a file to be searched; determining, from a plurality of candidate location chains, a target location chain associated with the hash value; determining, from the target location chain, a target element based on the identification, the target element indicating an address of the file to be searched in a memory; and acquiring the file from the memory based on the address.

Claims (55)

1. A method of searching a file, comprising:

determining a hash value associated with an identification of a file to be searched via SHA-1 algorithm;

generating a plurality of candidate location chains and a plurality of address arrays associated with the plurality of candidate location chains, each of the plurality of address arrays storing the hash value and an address of the plurality of candidate location chains, wherein an address of a candidate element in the file to be searched is added into the plurality of candidate location chains;

determining, from the plurality of candidate location chains, a target location chain associated with the hash value;

determining, from the target location chain, a target element based on the identification, the target element including a file name and an address of the target element for the file to be searched in a memory, the address of the target element in the target location pointing to an address of a corresponding target element in a container of the file to be searched, wherein determining the target location chain comprises:

selecting a candidate location chain from the plurality of candidate location chains based on the address of the plurality of candidate location chains stored in the plurality of address arrays, the selected candidate location chain having a candidate hash value, the candidate hash value being determined based on a particular hash value corresponding to an element in the selected candidate location chain, and

in response to the particular hash value being matched with the candidate hash value, determining the selected candidate location chain as the target location chain; and

acquiring the file from the memory based on the address of the target element.

2. The method of claim 1 , wherein determining the hash value comprises:

calculating an initial hash value based on the identification; and

selecting, from the initial hash value, a predetermined number of consecutive bits as the hash value.

3. The method of claim 2 , wherein selecting from the initial hash value the predetermined number of consecutive bits comprises:

selecting the predetermined number of consecutive bits starting from a lowest bit of the initial hash value.

4. The method of claim 3 , wherein the initial hash value has 160 bits, and wherein the predetermined number of consecutive bits is 12.

5. The method of claim 2 , wherein selecting from the initial hash value the predetermined number of consecutive bits comprises:

selecting the predetermined number of consecutive bits starting from a lowest bit of the initial hash value.

6. The method of claim 1 , wherein determining from the target location chain the target element comprises:

determining candidate identifications comprised in respective elements of the target location chain; and

in response to the identification being matched with one of the candidate identifications, determining an element corresponding to the matched candidate identification as the target element.

7. The method of claim 1 , further comprising:

acquiring a location of the file to be searched in a backup server, wherein the file to be searched is utilized for a backup process; and

generating a backup for an image file and an altered block file of the backup process based on the file to be searched.

8. The method of claim 7 , wherein the location of the file to be searched is represented by a ddr_file in the backup server, and wherein the file to be searched is stored in the container.

9. A device for searching a file, comprising:

a processing unit;

a memory coupled to the processing unit and stored with instructions, the instructions, when executed by the processing unit, perform following actions of:

determining a hash value associated with an identification of a file to be searched via SHA-1 algorithm;

generating a plurality of candidate location chains and a plurality of address arrays associated with the plurality of candidate location chains, each of the plurality of address arrays storing the hash value and an address of the plurality of candidate location chains, wherein an address of a candidate element in the file to be searched is added into the plurality of candidate location chains;

selecting, from the plurality of candidate location chains, a target location chain associated with the hash value;

determining, from the target location chain, a target element based on the identification, the target element including a file name and an address of the target element for the file to be searched in the memory, the address of the target element in the target location pointing to an address of a corresponding target element in a container of the file to be searched, wherein determining the target location chain comprises:

selecting a candidate location chain from the plurality of candidate location chains based on the address of the plurality of candidate location chains stored in the plurality of address arrays, the selected candidate location chain having a candidate hash value, the candidate hash value being determined based on a particular hash value corresponding to an element in the selected candidate location chain, and

in response to the particular hash value being matched with the candidate hash value, determining the selected candidate location chain as the target location chain; and

acquiring the file from the memory based on the address of the target element.

10. The device of claim 9 , wherein determining the hash value comprises:

calculating an initial hash value based on the identification; and

selecting, from the initial hash value, a predetermined number of consecutive bits as the hash value.

11. The device of claim 10 , wherein selecting from the initial hash value the predetermined number of consecutive bits comprises:

selecting the predetermined number of consecutive bits starting from a lowest bit of the initial hash value.

12. The device of claim 9 , wherein determining from the target location chain the target element comprises:

determining candidate identifications comprised in respective elements of the target location chain; and

in response to the identification being matched with one of the candidate identifications, determining an element corresponding to the matched candidate identification as the target element.

13. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations, the operations comprising:

determining a hash value associated with an identification of a file to be searched via SHA-1 algorithm;

generating a plurality of candidate location chains and a plurality of address arrays associated with the plurality of candidate location chains, each of the plurality of address arrays storing the hash value and an address of the plurality of candidate location chains, wherein an address of a candidate element in the file to be searched is added into the plurality of candidate location chains;

determining, from the plurality of candidate location chains, a target location chain associated with the hash value;

determining, from the target location chain, a target element based on the identification, the target element including a file name and an address of the target element for the file to be searched in a memory, the address of the target element in the target location pointing to an address of a corresponding target element in a container of the file to be searched, wherein determining the target location chain comprises:

selecting a candidate location chain from the plurality of candidate location chains based on the address of the plurality of candidate location chains stored in the plurality of address arrays, the selected candidate location chain having a candidate hash value, the candidate hash value being determined based on a particular hash value corresponding to an element in the selected candidate location chain, and

in response to the particular hash value being matched with the candidate hash value, determining the selected candidate location chain as the target location chain; and

acquiring the file from the memory based on the address of the target element.

14. The machine-readable medium of claim 13 , wherein determining the hash value comprises:

calculating an initial hash value based on the identification; and

selecting, from the initial hash value, a predetermined number of consecutive bits as the hash value.

15. The machine-readable medium of claim 13 , wherein determining from the target location chain the target element comprises:

determining candidate identifications comprised in respective elements of the target location chain; and

in response to the identification being matched with one of the candidate identifications, determining an element corresponding to the matched candidate identification as the target element.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0466) 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 CORPORATION; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0486 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 050405 FRAME 0534 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058001/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0466 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2019
From: WANG, YI; ZHENG, QINGXIAO; LIAO, LANJUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 048431/0836 →
Priority Claims (1)
CN 201811191427.9 · Oct 12, 2018 · national
Continuity (1)
Related Publication 20200117638A1 · Apr 16, 2020
Cited By (3)
US 12,608,640 US 12,689,868 US 12,749,003