IP Library › Granted Patent US 12,321,312
Granted Patent B2
US 12,321,312 · App. 18/346,471 · Granted Jun 3, 2025

Distributed storage system, method, device, and storage medium for metadata management

Inventors: Junfeng Liu (Zhejiang, CN); Wenhui Yao (Beijing, CN); Xiaodong Wang (Zhejiang, CN); Chenyi You (Zhejiang, CN)
Assignee: Alibaba (China) Co., Ltd.
G06F16/122G06F16/182G06F16/235G06F16/2365
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 12,321,312
App. No.
18/346,471
Granted
Jun 3, 2025
Kind
B2
Abstract

A system for distributed storage includes a distributed file system for distributed storage of data, distributed metadata service nodes configured to run in different processes and configured to manage metadata of the data, in which the distributed metadata service nodes are configured with corresponding condition files, control nodes configured to compete for a permission to update the condition file to become a master control node, and obtain an operation permission on the data as the master control. The master control node is configured to utilize the operation on the data to control consistency of the condition files of the distributed metadata service nodes.

Claims (86)

1. A system for distributed storage, comprising:

a distributed file system for distributed storage of data;

distributed metadata service nodes configured to run in different processes and configured to manage metadata of the data, wherein the distributed metadata service nodes are configured with corresponding condition files;

control nodes configured to compete for a permission to update a condition file of a metadata service node to become a master control node, and obtain an operation permission on the data as the master control node, wherein the condition files are files configured to provide an operating condition for the control nodes to operate data in the distributed file system;

wherein the master control node is configured to utilize the operation on the data to control consistency of the condition files of the distributed metadata service nodes.

2. The system of claim 1 , wherein the distributed metadata service nodes each comprise:

a metadata node configured to manage an identifier of the data; and

a namespace node configured to manage a directory tree of the distributed file system;

wherein the master control node is configured to utilize the operation on the data to control consistency of the condition files of the distributed metadata service nodes by the operation on the data to control a condition file on the metadata node to be the same as a condition file on the namespace node.

3. The system of claim 2 , wherein when competing for the permission to update the condition file of the metadata service node to become the master control node, the control nodes are configured to provide an update request to the namespace node, the update request provided by each control node comprises an updated content of the condition file of the metadata service node and an original content of a condition file recorded by the control node;

wherein the namespace node is configured to:

compare the original content of the condition file recorded by the control node with a content of the condition file on the namespace node;

for a target update request carrying the original content the same as the content of the condition file on the namespace node, update the content of the condition file on the namespace node to the updated content carried by the target update request to obtain a target condition file; and

return an update success message to the control node providing the target update request; and

wherein the control nodes are configured to determine the control node receiving the update success message as the master control node.

4. The system of claim 2 , wherein when utilizing the operation on the data to control the condition file on the metadata node to be the same as the condition file on the namespace node, the master control node is configured to provide a first operation request to the namespace node, the first operation request comprising a first content of the condition file recorded by the master control node;

wherein the namespace node is configured to:

compare the first content with a second content of the condition file on the namespace node;

in response to the first content and the second content being the same, return an identifier of data to be operated on for the first operation request and version information of the condition file on the namespace node to the master control node;

wherein the master control node is configured to:

generate a second operation request based on the first content, the identifier of the data to be operated on, and the version information of the condition file of the namespace node; and

provide the second operation request to the metadata node; and

wherein the metadata node is configured to update the content of the condition file of the metadata node to the first content in response to the version information of the condition file of the namespace node being later than the version information of the condition file of the metadata node.

5. A method for metadata management, applicable to a master control node, comprising:

acquiring an operation permission on data in a distributed file system by competing with other control nodes for a permission to update condition files configured in distributed metadata service nodes, wherein the condition files are files configured to provide an operating condition for the control nodes to operate data in the distributed file system; and

controlling, by an operation on the data, the condition files of the distributed metadata service nodes to be updated to be consistent with each other.

6. The method of claim 5 , wherein controlling, by the operation on the data, the condition files of the distributed metadata service nodes to be updated to be consistent with each other comprises:

controlling, by the operation on the data, condition files on a metadata node and a namespace node in the distributed metadata service nodes to be updated to the same condition file.

7. The method of claim 6 , wherein controlling, by the operation on the data, the condition files on the metadata node and the namespace node in the distributed metadata service nodes to be the same comprises:

providing a first operation request to the namespace node, the first operation request comprising a first content of the condition file recorded by the master control node, for the namespace node to return an identifier of data to be operated on for the first operation request and version information of the condition file on the namespace node in response to the first content being the same as a second content of the condition file on the namespace node;

generating a second operation request based on the first content, the identifier of the data to be operated on, and the version information of the condition file of the namespace node; and

providing the second operation request to the metadata node, for the metadata node to update the content of the condition file of the metadata node to the first content in response to the version information of the condition file of the namespace node being later than version information of the condition file of the metadata node.

8. The method of claim 5 , wherein the method is further applicable to distributed metadata service nodes, and the method further comprises:

acquiring an operation request for data in a distributed file system provided by a master control node; and

updating, in response to the operation request, condition files of the distributed metadata service nodes to be consistent with each other.

9. The method of claim 8 , wherein updating, in response to the operation request, the condition files of the distributed metadata service nodes to be consistent with each other comprises:

updating, by a metadata node and a namespace node in the distributed metadata service nodes, in response to the operation request, condition files on the metadata node and the namespace node in the distributed metadata service nodes to the same condition file.

10. The method of claim 9 , wherein updating, by the metadata node and the namespace node in the distributed metadata service nodes, in response to the operation request, the condition files on the metadata node and the namespace node in the distributed metadata service nodes to the same condition file comprises:

receiving, by the metadata node, a first operation request provided by the master control node, the first operation request comprising a first content of the condition file recorded by the master control node;

comparing, by the namespace node, the first content with a second content of the condition file on the namespace node;

in response to the first content and the second content being the same, returning, by the namespace node, an identifier of data to be operated on for the first operation request and version information of the condition file on the namespace node to the master control node;

receiving, by the metadata node, a second operation request generated by the master control node based on the first content, the identifier of the data to be operated on, and the version information of the condition file of the namespace node; and

in response to the version information of the condition file of the namespace node being later than the version information of the condition file of the metadata node, updating, by the metadata node, the content of the condition file of the metadata node to the first content.

11. The method of claim 9 , further comprising:

receiving, by the namespace node, a first condition file deletion request sent by the master control node;

in response to the first condition file deletion request, determining, by the namespace node, a target metadata node configured with a condition file to be deleted;

sending, by the namespace node, a second condition file deletion request to the target metadata node;

in response to the second condition file deletion request, deleting, by the target metadata node, the condition file to be deleted;

returning, by the target metadata node, a deletion success message to the namespace node; and

in response to the deletion success message, deleting, by the namespace node, the condition file to be deleted.

12. The method of claim 11 , wherein sending, by the namespace node, the second condition file deletion request to the target metadata node comprises:

in response to the first condition file deletion request, timing, by the namespace node, a delay duration; and

in response to the delay duration reaching a set duration, sending, by the namespace node, a second condition file deletion request to the target metadata node.

13. The method of claim 9 , further comprising:

periodically querying, by the metadata node, the condition file of the namespace node according to a set query cycle; and

in response to a condition file found in the metadata node being non-existent in the namespace node, deleting, by the metadata node, the condition file being non-existent in the namespace node from the metadata node.

14. A computing device, comprising:

a memory for storing a computer program;

a communication component; and

one or more processors coupled to the memory and the communication component and configured to execute the computer program to perform operations comprising:

acquiring an operation permission on data in a distributed file system by competing with other control nodes for a permission to update condition files configured in distributed metadata service nodes, wherein the condition files are files configured to provide an operating condition for the control nodes to operate data in the distributed file system; and

controlling, by an operation on the data, the condition files of the distributed metadata service nodes to be updated to be consistent with each other.

15. The computing device of claim 14 , wherein controlling, by the operation on the data, the condition files of the distributed metadata service nodes to be updated to be consistent with each other comprises:

controlling, by the operation on the data, condition files on a metadata node and a namespace node in the distributed metadata service nodes to be updated to the same condition file.

16. The computing device of claim 15 , wherein controlling, by the operation on the data, the condition files on the metadata node and the namespace node in the distributed metadata service nodes to be the same comprises:

providing a first operation request to the namespace node, the first operation request comprising a first content of the condition file recorded by a master control node, for the namespace node to return an identifier of data to be operated on for the first operation request and version information of the condition file on the namespace node in response to the first content being the same as a second content of the condition file on the namespace node;

generating a second operation request based on the first content, the identifier of the data to be operated on, and the version information of the condition file of the namespace node; and

providing the second operation request to the metadata node, for the metadata node to update the content of the condition file of the metadata node to the first content in response to the version information of the condition file of the namespace node being later than version information of the condition file of the metadata node.

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

acquiring an operation request for data in a distributed file system provided by a master control node; and

updating, in response to the operation request, condition files of distributed metadata service nodes to be consistent with each other.

18. The computing device of claim 17 , wherein updating, in response to the operation request, the condition files of the distributed metadata service nodes to be consistent with each other comprises:

updating, by a metadata node and a namespace node in the distributed metadata service nodes, in response to the operation request, condition files on the metadata node and the namespace node in the distributed metadata service nodes to the same condition file.

19. The computing device of claim 18 , wherein updating, by the metadata node and the namespace node in the distributed metadata service nodes, in response to the operation request, the condition files on the metadata node and the namespace node in the distributed metadata service nodes to the same condition file comprises:

receiving, by the metadata node, a first operation request provided by the master control node, the first operation request comprising a first content of the condition file recorded by the master control node;

comparing, by the namespace node, the first content with a second content of the condition file on the namespace node;

in response to the first content and the second content being the same, returning, by the namespace node, an identifier of data to be operated on for the first operation request and version information of the condition file on the namespace node to the master control node;

receiving, by the metadata node, a second operation request generated by the master control node based on the first content, the identifier of the data to be operated on, and the version information of the condition file of the namespace node; and

in response to the version information of the condition file of the namespace node being later than the version information of the condition file of the metadata node, updating, by the metadata node, the content of the condition file of the metadata node to the first content.

20. The computing device of claim 18 , wherein the operations further comprise:

receiving, by the namespace node, a first condition file deletion request sent by the master control node;

in response to the first condition file deletion request, determining, by the namespace node, a target metadata node configured with a condition file to be deleted;

sending, by the namespace node, a second condition file deletion request to the target metadata node;

in response to the second condition file deletion request, deleting, by the target metadata node, the condition file to be deleted;

returning, by the target metadata node, a deletion success message to the namespace node; and

in response to the deletion success message, deleting, by the namespace node, the condition file to be deleted.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2026
From: ALIBABA (CHINA) CO., LTD.
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075438/0326 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2023
From: LIU, JUNFENG; YAO, WENHUI; WANG, XIAODONG; YOU, CHENYI
To: ALIBABA (CHINA) CO., LTD.
Reel/Frame 064287/0428 →
Priority Claims (1)
CN 202210828426.0 · Jul 13, 2022 · national
Continuity (1)
Related Publication 20240020267A1 · Jan 18, 2024
References Cited (11)
US 6240416B1 · Immon · 2001 [cited by examiner]
US 20160321295A1 · Dalton · 2016 [cited by examiner]
US 20210279151A1 · Sarkar · 2021 [cited by examiner]
US 20210389883A1 · Derryberry · 2021 [cited by examiner]
CN 103631820A · 2014 [cited by examiner]
CN 106599308A · 2017 [cited by examiner]
CN 106815254A · 2017 [cited by examiner]
CN 111597148A · 2020 [cited by examiner]
CN 112749136A · 2021 [cited by examiner]
CN 112860276A · 2021 [cited by examiner]
Article entitled “The Technical Practice of Distributed Locks in a Storage System”, by KingJames, dated Jan. 12, 2021 (Year: 2021). [cited by examiner]