Cloud-native global file system with data exporter
US-11874807-B1 · Jan 16, 2024 · US
US2023086123A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2023086123-A1 |
| Application number | US-202017799705-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 24, 2020 |
| Priority date | Feb 14, 2020 |
| Publication date | Mar 23, 2023 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Disclosed in the present application are a multi-shared directory tree-oriented control method and system. The method includes: setting a number of circular queues and a number of worker execution units in a Samba configuration file of a server according to a number of directories to be shared; running a Samba main process on the server; obtaining a data read-write test request from a client; and orienting request tasks of individual directories to individual worker execution units according to the data read-write test request by using a Server Message Block (SMB) message header data-based adaptive equalization control algorithm. The system includes an Input/Output (IO) execution unit, a plurality of worker execution units, a setting unit, a request obtaining unit, and a concurrency control unit. According to the present application, the data processing efficiency of a Samba server and the data processing efficiency of a client may be effectively improved.
Opening claim text (preview).
1 . A multi-shared directory tree-oriented control method, comprising: setting a number of circular queues and a number of worker execution units in a Samba configuration file of a server according to a number of directories to be shared, wherein each of the worker execution units is configured to perform a calculation process in a Samba process, each of the circular queues is configured to perform data exchange between an Input/Output (10) execution unit and a corresponding one of the worker execution units, and the lO execution unit is configured to obtain a directory request and orient the directory request to the corresponding one of the worker execution units; running a Samba main process on the server; obtaining a data read-write test request from a client; and orienting request tasks of individual directories to individual worker execution units according to the data read-write test request by using a Server Message Block (SMB) message header data-based adaptive equalization control algorithm, wherein one lO execution unit is matched with a plurality of the worker execution units. 2 . The multi-shared directory tree-oriented control method according to claim 1 , wherein the step of orienting, request tasks of individual directories to individual worker execution units according to the data read-write test request by using the SMB message header data-based adaptive equalization control algorithm comprises: setting a hash table length for a TREE Identifier (ID) and a remainder N for a division method according to a number of practically shared directories of the server, wherein the division method is used to calculate a hash table index; extracting a TREE ID field in an input-port SMB message; judging whether the TREE ID field is 0; in response to the TREE ID field being 0, executing an original Samba processing logic in the lO execution unit; in response to the TREE ID field not being 0, calculating and determining a corresponding one of the circular queues through a hash table by taking the TREE ID field of header data of the input-port SMB message as a keyword; calculating, by the lO execution unit, an input flow rate according to a time interval between a currently received input-port SMB message and a latest message with the same TREE ID; judging whether the input flow rate exceeds a set input flow rate threshold; in response to the input flow rate exceeding the set input flow rate threshold, enabling a new worker execution unit; and associating the new worker execution unit with an lO circular queue corresponding to the TREE ID field. 3 . The multi-shared directory tree-oriented control method according to claim 1 , wherein the method further comprises: performing concurrency control on the lO execution unit and the corresponding one of the worker execution units by using a lock-free atomic operation queue. 4 . The multi-shared directory tree-oriented control method according to claim 3 , wherein the lock-free atomic operation queue is a Compared And Swap (CAS) atomic operation queue. 5 . The multi-shared directory tree-oriented control method according to claim 3 , wherein the performing concurrency control on the lO execution unit and the corresponding one of the worker execution units by using the lock-free atomic operation queue comprises: in an input direction, setting a concurrent lock-free atomic operation queue between the lO execution unit and each of the worker execution units, and in response to an SMB message flow rate increasing, enabling a new worker execution unit; in an output direction, setting a concurrent lock-free atomic operation queue between each of the worker execution units and the lO execution unit; during data storage, encapsulating an input message as a fixed-length request object in Samba; during concurrent data processing, setting that a single-producer multiple-consumer model is used for an input-direction circular queue and that a multiple-producer single-consumer model is used for an output-direction circular queue; and by a producer, continuously writing data and modifying a position of a writer pointer, and by a consumer, continuously reading data and modifying a position of a read pointer. 6 - 10 . (canceled) 11 . The multi-shared directory tree-oriented control method according to claim 2 , wherein the method further comprises: performing concurrency control on the lO execution unit and the corresponding one of the worker execution units by using a lock-free atomic operation queue. 12 . The multi-shared directory tree-oriented control method according to claim 1 , wherein the running the Samba main process on the server comprises: in response to the Samba main process receiving a mounting of a first shared directory to the client and being forked to obtain a smb daemon (smbd) subprocess for initialization, an lO thread and a plurality of worker threads are created as execution units. 13 . A multi-shared directory tree-oriented control device, comprising: a processor; and a memory, storing a computer instruction executable by the processor, and upon execution of the computer instruction, is configured to: set a number of circular queues and a number of worker execution units in a Samba configuration file of a server according to a number of directories to be shared, wherein each of the worker execution units is configured to perform a calculation process in a Samba process, each of the circular queues is configured to perform data exchange between an Input/Output (10) execution unit and a corresponding one of the worker execution units, and the lO execution unit is configured to obtain a directory request and orient the directory request to the corresponding one of the worker execution units; run a Samba main process on the server; obtain a data read-write test request from a client; and orient request tasks of individual directories to individual worker execution units according to the data read-write test request by using a Server Message Block (SMB) message header data-based adaptive equalization control algorithm, wherein one lO execution unit is matched with a plurality of the worker execution units. 14 . The multi-shared directory tree-oriented control device according to claim 13 , wherein the processor, upon execution of the computer instruction, is further configured to: set a hash table length for a TREE Identifier (ID) and a remainder N for a division method according to a number of practically shared directories of the server, wherein the division method is used to calculate a hash table index; extract a TREE ID field in an input-port SMB message; judge whether the TREE ID field is 0; in response to the TREE lD field being 0, execute an original Samba processing logic in the lO execution unit; in response to the TREE lD field not being 0, calculate and determine a corresponding one of the circular queues through a hash table by taking the TREE ID field of header data of the input-port SMB message as a keyword; calculate, by the lO execution unit, an input flow rate according to a time interval between a currently received input-port SMB message and a latest message with the same TREE lD; judge whether the input flow rate exceeds a set input flow rate threshold; in response to the input flow rate exceeding the set input flow rate threshold, enable a new worker execution unit; and associate the new worker execution unit with an lO circular queue corresponding to the TREE lD field. 15 . The multi-shared directory tree-oriented control device according to claim 13 , wherein the processor, upon execution of the computer instruction, is further configured to: perform concurrency control on the
Management specifically adapted to NAS (management of storage area networks [SAN] G06F3/067) · CPC title
Support for shared access to files; File sharing support · CPC title
Wraparound memory, e.g. overrun or underrun detection · CPC title
Message passing systems or structures, e.g. queues · CPC title
Hash-based (content-based indexing of textual data G06F16/31) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.