IP Library Granted Patent US 12681901
Granted Patent B2
US 12681901 · App. 19/007,011 · Granted Jul 14, 2026

De-duplication

Inventors: Tianbo Zhang (Shanghai, CN); Heyang Sun (Shanghai, CN); Xiao Le Shang (Shanghai, CN); Lu Lei (Shanghai, CN)
Assignee: DELL PRODUCTS L.P.
G06F16/1748
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 12681901
App. No.
19/007,011
Granted
Jul 14, 2026
Kind
B2
Abstract

The present disclosure relates to de-duplication. An example method includes acquiring mirror files, wherein each mirror file in the mirror files includes at least one layer. The method further includes generating a directory by de-duplicating layers of the mirror files. The method further includes redirecting the de-duplicated mirror files to the directory by using hard links. The method further includes packaging the redirected mirror files and the directory into a target package. Beneficially, the mirror files can be de-duplicated in a unit of layer, and the flexibility in downloading a part of the mirror files can further be ensured.

Claims (75)

1 . A method, comprising:

acquiring, by a system comprising at least one processor, mirror files comprising layers, wherein each mirror file of the mirror files comprises at least one respective layer;

generating a directory by de-duplicating the layers of the mirror files, resulting in de-duplicated mirror files;

using hard links, redirecting the de-duplicated mirror files to the directory, resulting in redirected mirror files; and

packaging the redirected mirror files and the directory into a target package,

wherein each layer of the layers comprises a layer name and layer data, and wherein the generating of the directory by de-duplicating the layers of the mirror files comprises:

for each mirror file of the mirror files, acquiring at least one layer name of the at least one respective layer comprised in the mirror file, wherein different layers of the at least one respective layer have different layer names, the acquiring for each mirror file resulting in layer names of the mirror files; and

establishing at least one sub-directory according to the layer names of the mirror files, wherein identical layer names of the layer names correspond to a same directory entry in the at least one sub-directory.

2 . The method claim 1 , wherein the generating of the directory by de-duplicating the layers of the mirror files further comprises:

adding layer data corresponding to each layer name of the layer names to the at least one sub-directory to obtain the directory; and

removing the layers of the mirror files.

3 . The method of claim 1 , wherein each mirror file of the mirror files comprises a respective list of the at least one respective layer comprised in the mirror file.

4 . The method of claim 1 , wherein each layer name is expressed in the format of character string, wherein the directory comprises sub-directories, and wherein the establishing of the at least one sub-directory according to the layer names of the mirror files comprises:

for each layer name of the at least one respective layer of each mirror file:

acquiring a preset number of characters in the layer name as a first name of the layer name;

detecting whether there is a sub-directory identical to the first name; and

adding, in response to detecting that there is the sub-directory identical to the first name, the layer name to the sub-directory as a directory entry of the sub-directory.

5 . The method of claim 4 , further comprising:

establishing, in response to detecting that there is no sub-directory identical to the first name, a first sub-directory according to the first name; and

adding the layer name to the first sub-directory as the directory entry of the first sub-directory.

6 . The method of claim 1 , wherein the redirecting of the de-duplicated mirror files to the directory comprises:

for each layer name of the layer names:

acquiring a matching directory entry from the directory according to the layer name; and

establishing a target file in the mirror file by using a hard link of the hard links, the target file pointing to layer data corresponding to the matching directory entry.

7 . The method of claim 6 , wherein the matching directory entry has a same name as the layer name.

8 . The method of claim 1 , further comprising:

uploading the target package to a network node; and

downloading the target package from the network node as part of a request to deploy the mirror files of the target package.

9 . The method of claim 1 , further comprising:

uploading the target package to a network node; and

downloading, in response to a request to deploy a target mirror file in the mirror files, the target mirror file in the target package from the network node.

10 . The method of claim 9 , further comprising:

adding a read-write layer to the target mirror file to obtain an adjusted mirror file; and

executing the adjusted target mirror file according to various layers of the adjusted target mirror file.

11 . A device, comprising:

at least one processor; and

at least one memory coupled to the at least one processor and having instructions stored therein, wherein the instructions, when executed by the at least one processor, cause the device to perform operations, comprising:

acquiring mirror files comprising layers, wherein each mirror file in the mirror files comprises at least one corresponding layer;

generating a directory by de-duplicating the layers of the mirror files, resulting in de-duplicated mirror files;

redirecting the de-duplicated mirror files to the directory by using hard links, resulting in redirected mirror files; and

packaging the redirected mirror files and the directory into a target package,

wherein the at least one corresponding layer of each mirror file comprises at least one corresponding layer name and corresponding layer data, and wherein generating the directory by the de-duplicating of the layers of the mirror files comprises:

acquiring the at least one corresponding layer name of the at least one corresponding layer comprised in each mirror file, in aggregate resulting in layer names of the mirror files, wherein different layers have different layer names; and

establishing at least one sub-directory according to the layer names of the mirror files, wherein identical layer names of the layer names correspond to the same directory entry in the at least one sub-directory.

12 . The device of claim 11 , wherein generating the directory by the de-duplicating of the layers of the mirror files comprises:

adding the layer data corresponding to each layer name to the at least one sub-directory to obtain the directory; and

removing the layers of the mirror files.

13 . The device of claim 11 , wherein each mirror file of the mirror files comprises a list, and the list records the at least one corresponding layer name of the at least one corresponding layer comprised in the mirror file.

14 . The device of claim 11 , wherein the at least one corresponding layer name is expressed in the format of character string, wherein the directory comprises sub-directories, and the establishing of the at least one sub-directory according to the layer names of the mirror files comprises:

for each layer name of the at least one corresponding layer of each mirror file:

acquiring a preset number of characters in the at least one corresponding layer name as at least one name of the at least one corresponding layer name;

detecting whether there is a sub-directory identical to the at least one name; and

adding, in response to determining that the sub-directory identical to the at least one name is present, the at least one corresponding layer name to the sub-directory as a directory entry of the sub-directory.

15 . The device of claim 14 , wherein the operations further comprise:

establishing, in response to determining that the sub-directory identical to the at least one name is absent, at least one first sub-directory according to the at least one name; and

adding the at least one layer name to the at least one first sub-directory as a directory entry of the at least one first sub-directory.

16 . The device of claim 11 , wherein the redirecting of the de-duplicated mirror files to the directory by using hard links comprises:

acquiring each layer name of the at least one corresponding layer name of each mirror file in the mirror files, resulting in acquired layer names; and

for each layer name of the acquired layer names:

acquiring a matching directory entry from the directory according to the layer name; and

establishing a target file in the mirror file by using a hard link, the target file pointing to layer data corresponding to the matching directory entry.

17 . The device of claim 16 , wherein the matching directory entry has the same name as the layer name.

18 . A computer program product, the computer program product being stored on a non-transitory computer-readable medium and comprising machine-executable instructions, wherein the machine-executable instructions, when executed, cause a machine to perform acts, comprising:

acquiring a group of mirror files, wherein each mirror file in the group of mirror files comprises at least one layer;

generating a directory by de-duplicating a group of layers of the group of mirror files;

redirecting the group of de-duplicated mirror files to the directory by using hard links; and

packaging the group of redirected mirror files and the directory into a target package,

wherein the at least one layer of each mirror file comprises at least one corresponding layer name and corresponding layer data, and wherein generating the directory by the de-duplicating of the group of layers of the group of mirror files comprises:

acquiring the at least one layer name of the at least one layer comprised in each mirror file, in aggregate resulting in layer names of the mirror files, wherein different layers have different layer names; and

establishing at least one sub-directory according to the layer names of the mirror files, wherein identical layer names of the layer names correspond to the same directory entry in the at least one sub-directory.

19 . The computer program product of claim 18 , wherein the acts further comprise:

uploading the target package to a node; and

downloading the target package from the node in response to deploying the group of mirror files of the target package.

20 . The computer program product of claim 18 , wherein the acts further comprise:

downloading, in response to deploying a target mirror file in the group of mirror files, the target mirror file in the target package from a node.