A QoS Management Method for a Directory-Based Distributed Storage System

By adopting a directory-based QoS management method in a distributed storage system, using a tree directory structure and a variety of directory item types, flexible and efficient resource management is achieved, the problem of insufficient forms of traditional QoS rules is solved, and the service quality assurance needs of diverse business scenarios is met.

CN117931799BActive Publication Date: 2025-06-24SHANDONG BAIMENG INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410023109.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-04
Publication Date
2025-06-24
Estimated Expiration
2044-01-04

AI Technical Summary

Technical Problem

The existing distributed storage systems have problems that they are difficult to meet the needs of diversified business scenarios in ensuring quality of service (QoS). Especially in public and private cloud environments, traditional QoS rules are not enough to achieve flexible and efficient resource management.

Method used

The QoS management method of a directory-based distributed storage system is adopted, and the QoS rules are represented through a tree directory structure, which distinguishes reserved directory items, weighted directory items and free directory items. Combined with the timing heartbeat mechanism and quota algorithm, multiple quota modes are realized to meet the needs of different scenarios.

Benefits of technology

It realizes more flexible and efficient resource management, can meet the service quality assurance needs in common scenarios of public and private clouds, reduces the load of QoS control nodes, and improves the availability and stability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117931799B_ABST
    Figure CN117931799B_ABST
Patent Text Reader

Abstract

The present invention is applicable to the field of distributed storage, and provides a QoS management method for a directory-based distributed storage system. The method includes: the QoS controller loads an aggregated directory tree according to the QoS directory tree creation rule, and distributes the QoS directory tree to the data nodes; the QoS controller periodically sends heartbeats to the data nodes to obtain the control right of the data nodes and obtain the local resource view of the data nodes, and aggregates and maintains the system global resource view; the QoS controller initiates a reconfiguration process every several heartbeats according to the preset settings, performs first- and second-level quotas according to the global resource view, translates the quota result into a re-quota instruction and distributes it to the data nodes; after receiving the re-quota instruction sent by the QoS controller, the data nodes perform third-level quotas and finally execute the resource allocation. The embodiments of the present application implement flexible and diverse quota modes through various directory item types to meet the service quality assurance in common scenarios of public clouds and private clouds.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of distributed storage, and in particular relates to a QoS management method of a distributed storage system based on a directory. Background Art

[0002] With the rapid development of computer technology, the traditional stand-alone application service deployment model is unable to meet the management needs brought about by the surge in the scale of application services of enterprises, institutions and organizations, and has gradually developed into a service computing model, which is widely used in information service fields such as business, finance and medical care. As a specific manifestation of service computing, cloud computing has the characteristics of high flexibility, high scalability and high cost-effectiveness, so it is accepted and respected by the majority of enterprises, and also lays the foundation for its rapid development.

[0003] Cloud computing uses distributed resources to achieve high performance, usually serving multi-service and multi-tenant business scenarios. Therefore, Quality of Service (QoS) assurance is essential, and this is also true for distributed storage systems that serve as the backend of cloud computing storage. SolidFire believes that QoS should not be a feature, but an architectural issue that should be carefully considered at the beginning of storage system design. However, unlike resources such as memory, network, and CPU, distributed storage systems have the characteristics of long IO paths, complex access modes, and heterogeneous storage devices. In addition, data access often involves multiple resource types such as memory, network, and CPU, which is more technically difficult and more challenging to implement. At the same time, different business scenarios have diverse requirements for QoS organizational models. Public cloud platforms often serve multi-tenant models, and the allocation and control of storage resources are managed by cloud service providers. Customers purchase service types and resource capabilities on demand, but resource control is relatively limited, mostly reflected in hard isolation to avoid the "neighborhood effect". Private cloud platforms often serve multi-service models, and organizations can independently control the allocation and adjustment of storage resources, perform more fine-grained resource management and customization according to needs, and have higher flexibility. Therefore, diverse QoS organization requirements bring challenges to the implementation of distributed storage QoS.

[0004] Currently, the QoS rules of common storage systems are mainly reflected in one-to-one, one-to-many, many-to-one and many-to-many control modes, and the service quality quota model is relatively monotonous, which is difficult to meet the service quality assurance in common scenarios of public clouds and private clouds. Summary of the invention

[0005] The purpose of the embodiments of the present invention is to provide a QoS management method for a distributed storage system based on a directory, aiming to solve the problems raised in the above background technology.

[0006] In an embodiment of the present invention, on the one hand, a QoS management method for a directory-based distributed storage system includes the following steps:

[0007] Step 1: The QoS controller loads the aggregated directory tree according to the QoS directory tree creation rule and distributes the QoS directory tree to the data nodes.

[0008] Step 2: The QoS controller periodically sends heartbeats to the data nodes to obtain control of the data nodes and obtain the local resource view of the data nodes, and aggregates and maintains the system global resource view.

[0009] Step 3: The QoS controller initiates a reconfiguration process every several heartbeats according to the preset settings, performs first- and second-level quotas according to the global resource view, and translates the quota results into re-quota instructions and distributes them to the data nodes.

[0010] Step 4: After receiving the re-quota instruction sent by the QoS control node, the data node performs a third-level quota and finally executes the resource allocation.

[0011] Specifically, the directory entries of the QoS directory tree in Step 1 include three types: reserved directory entries, weighted directory entries, and free directory entries. The reserved directory entries have reserved parameters, indicating the resources reserved for this entity. Even if the demand of this entity is less than at a certain moment, the reserved resources will not be allocated to other entities. At the same time, this entity will not use more than resources; the weighted directory entries have weight parameters , upper limit parameters , and demand parameters ; it means that the resources of this entity are preferentially satisfied , but if the resources demanded by this entity are less than , resources less than can also be allocated to it; at the same time, this entity will not use more than resources. If the resources occupied by this entity are between and and at a certain moment and this entity has been rate-limited, it will obtain resources with a weight of . The free directory entries allocate resources freely according to the demand and do not set any parameters. To measure the resource usage of each directory entry, two new parameters, capacity and used , are newly set for each directory entry; The resources allocated to a certain directory entry, Resources used for a certain directory entry. The QoS controller loads the aggregated directory tree according to the QoS directory tree creation rules, including: taking the root directory entry as a reserved directory entry and taking the descendant directory entries of the free directory entry as free directory entries; if there are only two types of direct sub-directory entries for a weighted directory entry, namely reserved directory entries and weighted directory entries, then the parameters of the weighted directory entry other than the weight are set to null. If there are free directory entries among the direct sub-directory entries of a weighted directory entry, the parameters are not set to null.

[0012] Furthermore, the QoS controller aggregating the null parameters of the directory entries in the QoS directory tree specifically includes:

[0013] Any directory entry represents all the requirements of its sub-directory entries. After loading the QoS directory tree, it is necessary to aggregate the null parameters in the obtained directory entries. For a certain directory entry and its sub-directory entries , the aggregation formula for its null parameters is:

[0014]

[0015]

[0016]

[0017]

[0018] Among them, among them represents the parameter of the directory entry , represents the parameter of the directory entry , represents the parameter of the directory entry , is the number of sub-directory entries of the directory entry .

[0019] Furthermore, the heartbeat sent by the QoS control node in step two carries a monotonically increasing version number. Each time a heartbeat is sent, this version number is incremented by 1. The data node maintains the largest version number it has seen. When the version number of the heartbeat received by the data node is less than this version number, the request packet is discarded. At the same time, the data node counts the resources occupied by each directory entry according to the QoS directory tree and returns them to the QoS control node carried by the heartbeat response. The QoS control node aggregates the local resource views returned by all data nodes to form a global resource view. A data node that does not respond to the heartbeat is set to Stale until it responds to a certain heartbeat.

[0020] Further, the two - level quotas of the QoS control node in step three are referred to as the first - level quota and the second - level quota. The scope of the first - level quota is all directory entries from the root directory to the sibling directory level of the last non - fully - free directory entry. The scope of the second - level quota is the last - level directory entries of the first - level quota and all data nodes.

[0021] Specifically, the algorithm process of the first - level quota is as follows: within its scope, for any directory entry and its sub - directory entries ; The specific calculation of the first - level quota according to the global resource view includes:

[0022] Calculate the available quota of ;

[0023] For any and , that is, the sub - directory entry that is rate - limited and does not meet the minimum requirement , make , ;

[0024] For any , that is, the sub - directory entry that is not rate - limited , make , ;

[0025] For any and , that is, the sub - directory entry that is rate - limited and whose capacity is between and , make , ;

[0026] If there is no sub - directory entry that is rate - limited and whose capacity is between and , then for any sub - directory entry of non - reserved directory entries , make , ;

[0027] Recursively execute the above steps for sub - directory entries;

[0028] Where represents 's parameter , represents 's parameter , and the other sign functions are consistent with the previous ones.

[0029] Specifically, the scope of the second-level quota is the last-level directory entry of the first-level quota and all data nodes. The specific algorithm process is as follows: within its scope, for any directory entry and the associated data nodes :

[0030] Calculate the resource change ;

[0031] If none of the data nodes are rate-limited, all data nodes will bear equally and terminate the process;

[0032] For any , that is, the data nodes not rate-limited , make , ;

[0033] If , for any , that is, the data nodes with capabilities exceeding the average capability , and any , that is, the data nodes with capabilities not exceeding the average capability , make , ;

[0034] If , for any , that is, the data nodes with capabilities exceeding the average capability , make , and the sign function remains the same as the previous one.

[0035] Furthermore, when the second-level quota calculates the newly allocated capabilities of all directory entries and corresponding data nodes in the scope, it is translated into a re-quota instruction containing the target data node address, the target directory entry, and the capability increment, and is sent to the corresponding data node.

[0036] Furthermore, after the data node receives the re-quota instruction sent by the QoS control node in step four, it performs the third-level quota. The scope of the third-level quota is the complement of the QoS directory tree and the scope of the first-level quota and the last-level directory entry of the first-level quota scope.

[0037] Specifically, the algorithm process of the third-level quota is as follows: within its scope, for any directory entry and its sub-directory entries , the method further includes:

[0038] Obtain the resource change according to the re-quota instruction of the QoS control node ;

[0039] If , so that For any , that is, the sub-directory entries not limited by traffic If , so that , , for any sub-directory entry , so that If , the reduced quota is evenly distributed to the extra capabilities of the sub-directory entries not limited by traffic;

[0040] If ; if all sub-directory entries are either limited by traffic or not limited by traffic, so that ; otherwise, for the sub-directory entries limited by traffic , so that ;

[0041] Recursively execute the above steps for the sub-directory entries. Each data node will perform the final resource allocation according to the third-level quota results of its last-level directory entries.

[0042] A QoS management method for a directory-based distributed storage system provided by an embodiment of the present invention uses a tree-like directory structure to represent the QoS rules of the distributed storage system. Compared with common rule forms such as one-to-one, one-to-many, many-to-one, and many-to-many, it strengthens the association relationship between restricted entities and highlights the hierarchical semantics; at the same time, the present invention classifies the directory entries of the QoS directory into multiple types. Through the combined stacking of different types of directory entries, multiple quota modes can be realized to meet the common scenario requirements of current public clouds and private clouds, so as to implement a more flexible and versatile QoS solution for the distributed storage system; it refines the responsibility chain allocation of QoS control nodes and storage nodes, and realizes a two-level quota algorithm for QoS control nodes and a one-level quota algorithm for data nodes according to the resource vision required by the quota algorithm, jointly realizing the quota of the entire system. At the same time, the present invention moves tasks down as much as possible, reduces the load of QoS control nodes that are more likely to become system bottlenecks, improves the availability and stability of the system. The QoS representation mode based on the tree-like directory can better reflect the hierarchical relationship between restricted entities, and realizes flexible and diverse quota modes through multiple types of directory entries to meet the service quality guarantee in common scenarios of public clouds and private clouds. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1 Shows a schematic diagram of the overall process of a QoS management method for a directory-based distributed storage system according to an embodiment of the present invention;

[0044] Figure 2Shows a case diagram of the QoS directory tree in a certain organizational context in a QoS management method for a directory-based distributed storage system according to an embodiment of the present invention;

[0045] Figure 3 Shows the overall architecture diagram of a QoS management method for a directory-based distributed storage system according to an embodiment of the present invention;

[0046] Figure 4 Shows a schematic diagram of the aggregation process of the QoS directory tree in a QoS management method for a directory-based distributed storage system according to an embodiment of the present invention. Detailed implementation manners

[0047] In order to make the objectives, technical solutions and advantages of the present invention clearer and more understandable, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0048] The following describes in detail the specific implementation of the present invention in combination with specific embodiments.

[0049] A QoS management method for a directory-based distributed storage system provided by the present invention solves the technical problems in the background art.

[0050] Combined with Figure 1 To illustrate this embodiment, a QoS management method for a directory-based distributed storage system given in this embodiment specifically includes the following steps:

[0051] Step S1, the QoS controller loads the aggregated directory tree according to the QoS directory tree creation rule and distributes the QoS directory tree to the data nodes.

[0052] First, the QoS controller loads the QoS directory tree from the configuration file according to the QoS directory tree structure and creation rule. An example of the QoS directory tree is as Figure 2 shown. The directory entries of the QoS directory tree include three types: reserved directory entries, weighted directory entries, and free directory entries. The reserved directory entries have reserved parameters, indicating the resources reserved for this entity. Even if the demand of this entity is less than , the reserved resources will not be allocated to other entities. At the same time, this entity will not use more than ; the weighted directory entries have weight parameters , upper limit parameters , and demand parameters ; it means that the resources of this entity are preferentially satisfied , but if the resources demanded by this entity are less than , it can also be allocated less than if the resources demanded by this entity are less than resources; at the same time, this entity will not use more than resources. If the resources occupied by this entity at a certain moment are between and and this entity has been rate-limited, it will obtain resources with a weight of . The free directory entries allocate resources freely according to requirements without setting any parameters; to measure the resource usage of each directory entry, two new parameters are set for each directory entry, the ability and the used ; The resources allocated to a certain directory entry, The resources used by a certain directory entry. The QoS controller loads the aggregated directory tree according to the QoS directory tree creation rules, including: taking the root directory entry as the reserved directory entry and the descendant directory entries of the free directory entry as the free directory entry; if the direct sub-directory entries of a certain weighted directory entry are only of two types, the reserved directory entry and the weighted directory entry, then the parameters of this weighted directory entry except for the weight are set to empty. If there are free directory entries among the direct sub-directory entries of a certain weighted directory entry, the parameters are not set to empty.

[0053] Then the QoS controller aggregates the empty parameters of the directory entries in the QoS directory tree. Any directory entry should be able to represent all the requirements of its sub-directory entries. Therefore, after loading the QoS directory tree, it is necessary to aggregate the empty parameters in the directory entries obtained in S11. For a certain directory entry and its sub-directory entries , the aggregation formula for its empty parameters is:

[0054]

[0055]

[0056]

[0057]

[0058] Among them, represents the parameter of the directory entry , represents the parameter of the directory entry , represents the parameter of the directory entry , is the number of sub-directory entries of the directory entry .

[0059] The aggregation process of the empty parameters of the QoS directory tree is shown by the dotted arrow in Figure 4 as shown.

[0060] Finally, the QoS controller distributes the QoS directory tree to the data nodes. The overall architecture diagram of the present invention is as Figure 3 shown.

[0061] Step S2: The QoS controller periodically sends heartbeats to the data nodes to obtain the control right of the data nodes and obtain the local resource view of the data nodes, and aggregates and maintains the system global resource view.

[0062] The heartbeat sent by the QoS control node carries a monotonically increasing version number. Each time a heartbeat is sent, this version number is incremented by 1. The data node maintains the largest version number it has seen. When the version number of the heartbeat received by the data node is less than this version number, the request packet is discarded. At the same time, the data node counts the resources occupied by each directory entry according to the QoS directory tree and is carried back to the QoS control node by the heartbeat response. The QoS control node aggregates the local resource views returned by all data nodes to form a global resource view. The data nodes that do not respond to the heartbeat are set to Stale until they respond to a certain heartbeat.

[0063] Step S3: The QoS controller initiates a reconfiguration process every several heartbeats according to the preset settings, performs first- and second-level quotas according to the global resource view, and translates the quota results into re-quota instructions and distributes them to the data nodes.

[0064] The scope of the first-level quota is all directory entries from the root directory to the sibling directory layer of the last non-fully free directory entry. Its algorithm process is that within its scope, for any directory entry and its sub-directory entries , calculate the available quota of ; for any and , that is, the sub-directory entry that is rate-limited and does not meet the minimum requirements, make , ; for any , that is, the sub-directory entry that is not rate-limited, make , ; for any and , that is, the sub-directory entry that is rate-limited and has its capacity between and , make ; if there is no sub-directory entry that is rate-limited and has its capacity between and , then for any sub-directory entry of the non-reserved directory entry, make ; Recursively execute the above process for sub - directory entries. Among them represents the parameter of , represents the parameter of , and the rest of the sign functions are consistent with the foregoing.

[0065] The scope of the second - level quota is the last - level directory entry of the first - level quota and all data nodes. Its algorithm process is that within its scope, for any directory entry and related data nodes , calculate the resource change ; If all data nodes are not rate - limited, all data nodes equally bear and terminate the process; For any , that is, the data nodes not rate - limited , make , ; If , for any , that is, the data nodes with capabilities exceeding the average capability , and any , that is, the data nodes with capabilities not exceeding the average capability , make , ; If , for any , that is, the data nodes with capabilities exceeding the average capability , make . The sign function is consistent with the foregoing.

[0066] When the second - level quota calculates the newly allocated capabilities of all directory entries and corresponding data nodes in the scope, it is translated into a re - quota instruction containing the target data node address, target directory entry, and capability increment, and sent to the corresponding data node.

[0067] Step S4: After receiving the re - quota instruction sent by the QoS control node, the data node performs the third - level quota and finally executes the resource allocation.

[0068] When the data node receives the re - quota instruction sent by the QoS control node, it performs the third - level quota. The scope of the third - level quota is the complement of the QoS directory tree and the first - level quota scope combined with the last - level directory entry of the first - level quota. Its algorithm process is that within its scope, for any directory entry and its sub - directory entries , obtain the resource change according to the re - quota instruction of the QoS control node; If , make ; For any , that is, the sub - directory entries not limited by flow : If , make , , for any sub - directory entry , make ; If , distribute the reduced quota equally to the extra capacity of the sub - directory entries not limited by flow; If ; If all sub - directory entries are either limited by flow or not limited by flow, make ; Otherwise, for the sub - directory entries limited by flow , make ; Recursively execute the above process for sub - directory entries.

[0069] Finally, each data node will perform the final resource allocation according to the third - level quota result of its last - level directory entry.

[0070] In the above - mentioned embodiments of the present invention, a QoS management method for a directory - based distributed storage system is provided. The present application uses a tree - like directory structure to represent the QoS rules of the distributed storage system. Compared with the common rule forms such as one - to - one, one - to - many, many - to - one, and many - to - many, it strengthens the association relationship between restricted entities and highlights the hierarchical semantics; at the same time, the present invention classifies the directory entries of the QoS directory into multiple types. Through the combined stacking of different types of directory entries, multiple quota modes can be realized to meet the common scenario requirements of current public clouds and private clouds, so as to realize a more flexible and versatile QoS solution for the distributed storage system; it refines the responsibility chain allocation of the QoS control node and the storage node, and realizes the quota algorithms at two levels of the QoS control node and one level of the data node according to the resource view required by the quota algorithm, and jointly realizes the quota of the entire system. At the same time, the present invention moves tasks down as much as possible, reduces the load of the QoS control node, which is more likely to become the system bottleneck, and improves the availability and stability of the system. The QoS representation mode based on the tree - like directory can better reflect the hierarchical relationship between restricted entities, and realizes flexible and diverse quota modes through multiple types of directory entries to ensure the service quality in common scenarios of public clouds and private clouds.

[0071] In order to enable the above - mentioned method and system to run smoothly, in addition to the above - mentioned various modules, the system can also include more or fewer components than those described above, or combine certain components, or different components. For example, it can include input - output devices, network access devices, buses, processors, and memories, etc.

[0072] It should be understood that although the steps in the flowcharts of the embodiments of the present invention are shown in sequence according to the indication of the arrows, these steps are not necessarily executed in the sequence indicated by the arrows. Unless there is a clear indication in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other sequences. Moreover, at least a part of the steps in each embodiment may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or sub-steps or stages of other steps.

[0073] The above are only the preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.

Claims

1. A QoS management method for a directory-based distributed storage system, characterized in that: The method comprises: The QoS controller loads the aggregate directory tree according to the QoS directory tree creation rules and sends the QoS directory tree to the data node; The QoS controller periodically sends heartbeats to data nodes to gain control over them and obtain local resource views of data nodes, and aggregates and maintains the global resource view of the system; The QoS controller initiates the reconfiguration process every several heartbeats according to the preset settings, performs the first and second level quotas according to the global resource view, translates the quota results into re-quota instructions and sends them to the data nodes; After receiving the re-quota instruction sent by the QoS controller, the data node performs the third-level quota and finally executes the resource allocation.

2. The QoS management method of a directory-based distributed storage system according to claim 1, characterized in that: The QoS controller loads the aggregate directory tree according to the QoS directory tree creation rule, and sends the QoS directory tree to the data node, specifically including: The QoS controller loads the QoS directory tree from the configuration file according to the structure and creation rules of the QoS directory tree; The QoS controller aggregates the empty parameters of the directory items in the QoS directory tree; The QoS controller sends the QoS directory tree to the data nodes.

3. The QoS management method of a directory-based distributed storage system according to claim 2, characterized in that: The QoS controller aggregates the directory entry empty parameters in the QoS directory tree specifically including: Any directory item represents all the requirements of its sub-directory items. After loading the QoS directory tree, the empty parameters in the obtained directory items need to be aggregated. For a directory item D i and its subdirectory items SD j , the aggregation formula of its empty parameter is: Weight(D i )=1 Among them, Reservation (D i ) indicates directory entry D i Parameters R, Demand (D i ) indicates directory entry D i Parameter D, Limit(D i ) indicates directory entry D i The parameter L, n is the directory entry D i The number of subdirectories, Weight (D i ) indicates directory entry D i The weight parameter of .

4. The QoS management method of a directory-based distributed storage system according to claim 3, characterized in that: The directory items of the QoS directory tree include three types: reserved directory items, weighted directory items, and free directory items. The reserved directory items have a reservation parameter, which means that R resources are reserved for the entity. Even if the entity's demand is less than R at a certain moment, the reserved resources will not be allocated to other entities, and the entity will not use more than R resources. The weighted directory items have a weight parameter W, an upper limit parameter L, and a demand parameter D. It means that the resources of the entity D are given priority, but if the resources required by the entity are less than D, it can also be allocated less than D resources. At the same time, the entity will not use more than L resources. If the resources occupied by the entity at a certain moment are between D and L, and the entity has been limited, it will obtain resources with the weight of D. Source, free directory items freely allocate resources according to demand without setting any parameters; in order to measure the resource usage of each directory item, two new parameters are set for each directory item, capacity c and used U; C is the resource allocated to a directory item, U is the resource used by a directory item, and the QoS controller loads the aggregate directory tree according to the QoS directory tree creation rules, including: taking the root directory item as a reserved directory item and taking the descendant directory items of the free directory item as free directory items; if the direct child directory items of a weight directory item have only two types, reserved directory items and weight directory items, then the parameters of the weight directory item except the weight are set to blank, if the direct child directory items of a weight directory item have free directory items, then the parameters are not set to blank.

5. The QoS management method for a directory-based distributed storage system according to claim 4, characterized in that: The QoS controller periodically sends heartbeats to the data nodes to obtain control over the data nodes and obtain the local resource view of the data nodes, and aggregates and maintains the global resource view of the system, including: The QoS control node sends a heartbeat with a version number to all data nodes. The version number is incremented by 1 after each heartbeat. After the data node receives the heartbeat sent by the QoS control node, if the version number carried in the heartbeat is smaller than the maximum version number it maintains, the heartbeat is discarded. Otherwise, the resources occupied by each directory item are counted according to the QoS directory tree to form a local resource view of the data node, which is carried by the heartbeat response and returned to the QoS control node; When the QoS control node receives responses from all data nodes or times out in this round of heartbeats, it aggregates all received local resource views of data nodes into a global resource view; Set the data node that does not respond to the heartbeat to Stale until it responds in a round of heartbeats; Repeat the above process at every preset time interval until it stops.

6. The QoS management method for a directory-based distributed storage system according to claim 5, characterized in that: The two-level quotas implemented by the QoS control node according to the global resource view are called the first-level quota and the second-level quota. The scope of the first-level quota is all directory items in the brother directory layer from the root directory to the last non-fully free directory item. Within its scope, for any directory item D i and its subdirectory items SD j ; The first-level quota allocation based on the global resource view includes: Calculate D i Available quota For any C(SD k ) <D(SD k ) and U(SD k )>C(SD k )*0.8, that is, the SD of the sub-directory item that is limited and does not meet the minimum requirement k , so that C(SD k )=Max{C(SD k )*1.2, L(SD k )}, For any U(SD q ) <C(SD q )*0.8, that is, the SD of the sub-directory item that is not restricted q , so that C(SD q )=C(SD q )*0.9, For any D(SD l ) <C(SD l ) <L(SD l ) and U(SD l )>C(SD l )*0.8, that is, the sub-directory item SD that is limited and has a capacity between D and L l ,make If there is no sub-directory item SD that is limited and has a capacity between D and L i , then for any sub-directory item SD of a non-reserved directory item p ,make Recursively perform the above steps on subdirectory entries; Among them, U(SD k ) indicates SD k Parameters U, C (SD k ) indicates SD k Parameters C, R(SD k ) indicates SD k Parameters R, D (SD k ) indicates SD k Parameters D, L (SD k ) indicates SD k Parameters L, W (SD k ) indicates SD k Parameter W, n is the directory entry D i The number of subdirectory items, SD k and SD q They represent the sub-directory items that are limited and do not meet the minimum requirement and the sub-directory items that are not limited. l Indicates the sub-directory item that is limited and has a capacity between D and L.

7. The QoS management method for a directory-based distributed storage system according to claim 6, characterized in that: The scope of the second-level quota is the last level directory item of the first-level quota and all data nodes. The specific process of the algorithm is as follows: within its scope, for any directory item D i And related data node DN j : Computing resource changes If all data nodes are not limited, all data nodes will bear ΔC on average and terminate the process; For any U(DN k )<C(DN k )*0.8, that is, the DN of the data node that is not limited k ,make C(DN k )=C(DN k )-0.5*[C(DN k )-U(DN k )]; If ΔC>0, for any That is, the data node DN whose capacity exceeds the average capacity l , and any That is, the data node DN whose capacity does not exceed the average capacity p ,make C(DN l )=C(DN l )*0.9; If ΔC<0, for any That is, the data node DN whose capacity exceeds the average capacity l ,make 8. The QoS management method for a directory-based distributed storage system according to claim 7, characterized in that: The translating the quota result into a re-quota instruction and sending it to the data node includes: After the second-level quota calculates the newly allocated capacity of all directory entries and corresponding data nodes in the scope, it translates it into a re-quota instruction containing the target data node address, target directory entry and capacity increment, and sends it to the corresponding data node.

9. The QoS management method for a directory-based distributed storage system according to claim 8, characterized in that: The system further comprises: After receiving the re-quota instruction sent by the QoS control node, the data node performs the third-level quota; The data node will make final resource allocation based on the third-level quota results of its last-level directory entry.

10. The QoS management method for a directory-based distributed storage system according to claim 9, characterized in that: The scope of the third-level quota is the complement of the QoS directory tree and the scope of the first-level quota and the last directory item of the scope of the first-level quota. Within its scope, for any directory item D i and its subdirectory items SD j , the method further comprises: Obtain resource change ΔC according to the re-quota instruction of the QoS control node; If ΔC<0, let ΔC=|ΔC|; for any U(SD k )<C(SD k )*0.8, that is, the SD of the sub-directory item that is not restricted k :like make C(SD k )=U(SD k ), for any subdirectory entry SD j ,make like Evenly distribute the reduced quota ΔC to the excess capacity of the sub-directory items that are not limited; If ΔC>0; if all sub-directory items SD j All are limited or none are limited, so Otherwise, for the sub-directory item SD that is restricted k ,make Recursively perform the above steps for subdirectory entries.

Citation Information

Patent Citations

  • File storage system and file storage method capable of easily counting files

    CN111400249A

  • System and method for managing usage quotas

    US6832248B1