CN116185965A - Method, apparatus, device and medium for quality of service control - Google Patents

Method, apparatus, device and medium for quality of service control Download PDF

Info

Publication number
CN116185965A
CN116185965A CN202310486541.9A CN202310486541A CN116185965A CN 116185965 A CN116185965 A CN 116185965A CN 202310486541 A CN202310486541 A CN 202310486541A CN 116185965 A CN116185965 A CN 116185965A
Authority
CN
China
Prior art keywords
directory
quality
service
value
qos
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310486541.9A
Other languages
Chinese (zh)
Other versions
CN116185965B (en
Inventor
郝志敏
李立帅
蒋维
边国伟
汪权
程林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Netapp Technology Ltd
Original Assignee
Lenovo Netapp Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Netapp Technology Ltd filed Critical Lenovo Netapp Technology Ltd
Priority to CN202310486541.9A priority Critical patent/CN116185965B/en
Publication of CN116185965A publication Critical patent/CN116185965A/en
Application granted granted Critical
Publication of CN116185965B publication Critical patent/CN116185965B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present disclosure provides methods, apparatus, devices, and media for quality of service control. The method includes receiving a file processing request; in response to receiving the file processing request, only applying a token for file processing to the directory where the file to be processed is located; and if the token is acquired, processing the file. The method provided by the disclosure can process the file to be processed only by obtaining the token of the catalog where the file to be processed is located, so that the method provided by the disclosure can improve the speed of reading and/or writing operation of the system, ensure that all reading or writing operations in the system can be responded in time, and ensure that the overall operation efficiency of the file system is high.

Description

Method, apparatus, device and medium for quality of service control
Technical Field
The present disclosure relates to the field of quality of service control, and more particularly, to a method, apparatus, device, and medium for quality of service control.
Background
The quality of service (Quality of Service, qoS) is to ensure that when there are multiple services in the system, the services of the system can be obtained relatively uniformly, and the problem that some services occupy a large amount of system resources (such as bandwidth, CPU, etc.) and other services cannot operate normally cannot occur.
Existing file systems (e.g., distributed file systems) are increasingly large in size. There are also more and more services supported on the system. How to ensure that these services do not compete maliciously requires QoS to be introduced in the file system. By setting different performance limits for the directories of different services, the performance of the directories in different services is ensured.
Therefore, a method for quality of service control is needed.
Disclosure of Invention
In view of the foregoing, the present disclosure provides a method for quality of service control. The method provided by the disclosure can process the file to be processed only by obtaining the token of the catalog where the file to be processed is located, so that the method provided by the disclosure can improve the speed of reading and/or writing operation of the system, ensure that all reading or writing operations in the system can be responded in time, and ensure that the overall operation efficiency of the file system is high.
The embodiment of the disclosure provides a method for controlling service quality, which comprises the following steps: receiving a file processing request; in response to receiving the file processing request, only applying a token for file processing to the directory where the file to be processed is located; and if the token is acquired, processing the file.
According to an embodiment of the present disclosure, the tokens are assigned to the directory according to the following manner: acquiring a service quality setting value of the catalogue; determining whether the directory has a quality of service allocation value allocated by a previous level directory of the directory; determining a quality of service quota value for the directory based on the quality of service setting value and the quality of service allocation value if the quality of service allocation value exists; determining a quality of service quota value for the directory based on the quality of service setting value if the quality of service allocation value does not exist; the number of tokens that the catalog can issue is determined based on the quality of service limit value.
According to an embodiment of the present disclosure, the method further comprises: determining whether the directory exists only for the next level of directory; determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present; if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
According to an embodiment of the present disclosure, the method further comprises: acquiring a service quality performance value of the catalog and a service quality quota value of the catalog; the quality of service quota value of the directory is adjusted based on a comparison of the quality of service performance value of the directory and the quality of service quota value of the directory.
According to an embodiment of the present disclosure, the adjusting the qos quota value of the directory includes: reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory; and increasing the quality of service allocation value of the directory by a second predetermined value in the case that the quality of service performance value of the directory is equal to the quality of service quota value of the directory.
The embodiment of the disclosure provides a device for controlling service quality, which comprises: a receiving unit configured to receive a file processing request; the application unit is configured to apply tokens for file processing only to the catalogue where the files to be processed are located in response to receiving the file processing request; and the processing unit is configured to process the file if the token is acquired.
According to an embodiment of the present disclosure, the tokens are assigned to the directory according to the following manner: acquiring a service quality setting value of the catalogue; determining whether the directory has a quality of service allocation value allocated by a previous level directory of the directory; determining a quality of service quota value for the directory based on the quality of service setting value and the quality of service allocation value if the quality of service allocation value exists; determining a quality of service quota value for the directory based on the quality of service setting value if the quality of service allocation value does not exist; the number of tokens that the catalog can issue is determined based on the quality of service limit value.
According to an embodiment of the present disclosure, the apparatus further includes: a determination unit configured to: determining whether the directory exists only for the next level of directory; determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present; if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
According to an embodiment of the present disclosure, the apparatus further includes: an acquisition unit configured to acquire a quality of service performance value of the directory and a quality of service quota value of the directory; an adjustment unit configured to adjust a quality of service quota value of the catalog based on a comparison of the quality of service performance value of the catalog and the quality of service quota value of the catalog.
According to an embodiment of the present disclosure, the adjusting the qos quota value of the directory includes: reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory; and increasing the service quality limit value of the catalog by a second preset value under the condition that the service quality performance value of the catalog is equal to the service quality limit value of the catalog.
The embodiment of the disclosure provides a device for quality of service control, comprising: a processor, and a memory storing computer executable instructions that, when executed by the processor, cause the processor to perform the method as described above.
The disclosed embodiments provide a computer-readable recording medium storing computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, cause the processor to perform the method as described above.
The present disclosure provides a method, apparatus, device, and medium for quality of service control. The method for managing the service quality can only apply tokens for file processing to the directory where the file to be processed is located to process the file, and does not need to apply tokens to all relevant directories on the directory tree where the file to be processed is located as in the prior art to process the file, so that the method provided by the disclosure can improve the speed of read-write operation of a system, ensure that all read-write operations in the system can be responded in time, and ensure that the overall operation efficiency of the file system is high. In addition, the method provided by the disclosure also relates to a new QoS allocation method, which can allocate QoS values of the directories to the next-level directory step by step according to a certain proportion, so that when the file is subjected to read-write operation, the read-write operation can be performed only by acquiring tokens of the previous-level directory, and all tokens with QoS directories are not required to be acquired step by step upwards. When the scene of setting QoS by the multi-layer catalogue exists in the system, the read-write speed of the system can be improved, and all read-write IO in the system can be ensured to be responded as soon as possible. In addition, the method also provides a way (namely a performance feedback mechanism) for adjusting the service quality quota value of the catalogue, so that a system adopting the method can acquire the performance value of the catalogue at fixed time, and adjust the performance quota distributed to each catalogue in real time according to the performance value, thereby enabling the control of the QoS of the system to be more flexible.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings that are required to be used in the description of the embodiments will be briefly described below. It should be apparent that the drawings in the following description are only some exemplary embodiments of the present disclosure, and that other drawings may be obtained from these drawings by those of ordinary skill in the art without undue effort.
FIG. 1 is a schematic diagram of a prior art write operation of a file under a multi-level directory;
fig. 2 illustrates a flow chart of a method 200 for quality of service control according to an embodiment of the present disclosure;
fig. 3 shows a schematic diagram of a QoS allocation module provided by the present disclosure, according to an embodiment of the present disclosure;
FIG. 4 illustrates a flow chart of a first allocation according to an embodiment of the present disclosure;
fig. 5 illustrates a block diagram of an apparatus 500 for quality of service control according to an embodiment of the disclosure;
fig. 6 is a block diagram illustrating an apparatus 600 for quality of service control according to an embodiment of the present disclosure;
fig. 7 shows a schematic diagram of a recording medium according to the present disclosure.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present disclosure more apparent, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present disclosure. It will be apparent that the described embodiments are some, but not all, of the embodiments of the present disclosure. All other embodiments, which can be made by one of ordinary skill in the art without the need for inventive faculty, are within the scope of the present disclosure, based on the described embodiments of the present disclosure.
Unless defined otherwise, technical or scientific terms used in this disclosure should be given the ordinary meaning as understood by one of ordinary skill in the art to which this disclosure belongs. The terms "first," "second," and the like, as used in this disclosure, do not denote any order, quantity, or importance, but rather are used to distinguish one element from another. Likewise, the terms "a," "an," or "the" and similar terms do not denote a limitation of quantity, but rather denote the presence of at least one. The word "comprising" or "comprises", and the like, means that elements or items preceding the word are included in the element or item listed after the word and equivalents thereof, but does not exclude other elements or items. The terms "connected" or "connected," and the like, are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "upper", "lower", "left", "right", etc. are used merely to indicate relative positional relationships, which may also be changed when the absolute position of the object to be described is changed.
In the prior art, quality of service (QoS) control is typically performed by means of tokens (token). I.e., each QoS-set directory holds a certain amount of tokens for each specific time period (e.g., 1 second). When a read and/or write request (hereinafter, for convenience of description, simply referred to as "read and write") arrives, a token is applied to the directory in which QoS is set, and the request for the token is taken to continue processing; if the tokens of the catalog have been issued within a specific time period, the subsequent request can only wait, wait for the next specific time period, and then issue after the token number of the catalog is updated. The directory achieves the goal of limiting its read-write bandwidth or number of Input/Output (I/O) by limiting the number of tokens for a particular period of time.
Unlike block services, directories in a file system are hierarchical. If QoS is set in the multi-level directory, the read-write request of a file needs to be taken to the tokens of all QoS directories on the directory tree where the read-write request is located, and then the real read-write operation can be started. That is, the read-write request of the file needs to take the token of the bottom QoS catalogue first, then check upwards, apply for the token of the higher-level catalogue, apply for the higher-level catalogue step by step in sequence, until obtaining the tokens of all catalogues on the catalogue tree, can not continue to execute the read-write operation.
As shown in fig. 1, the directories dir1 and dir3 have QoS attributes (i.e., qoS1, qoS 3) set, respectively. File1 (file 1) is located under directory dir3, directory dir2 is the upper level directory of directory dir3, directory dir1 is the upper level directory of directory dir2, and the upper level directory of directory dir1 is the root directory (i.e. /). File2 (file 2) is located under directory dir4, and directory dir1 is the upper level directory of directory dir 4.
If a write request is sent to the file1 under the directory dir3 (i.e. when it is desired to write the file1 under the directory dir3 into the hard disk (disk), as shown by reference numeral 3 in fig. 1), the write request needs to apply a token to the directory dir3 (as shown by reference numeral 1 in fig. 1), apply a token to the upper directory dir1 after obtaining the token of the directory dir3 (as shown by reference numeral 2 in fig. 1), and write the file1 into the disk after obtaining the token of the directory dir 1. If the write request is to write file2, then the write operation may continue by applying for a token to dir1 (shown in FIG. 1 as application qos1 token).
In the file system, if QoS attributes are set for the multi-level catalogs, if a read-write request applies to the token of the bottom-level catalogs, but no token exists when the higher-level catalogs are applied, only the next period application can be waited, and so on; if there are multiple directories on the path of a certain file, qoS attributes are set, these requests in the system will have a longer application period because of applying for multiple limited tokens, and the response time of the requests will be longer. While other applications have shorter chains of requests to obtain tokens faster and shorter response times. From the whole system, the read-write request of the client cannot be guaranteed to be fairly and timely responded, and the operation efficiency of the whole system can be influenced.
In order to solve the above-described problems, the present disclosure provides a method for quality of service control. The method provided by the disclosure can process the file to be processed only by obtaining the token of the catalog where the file to be processed is located, so that the method provided by the disclosure can improve the speed of the read-write operation of the system, ensure that all the read-write operations in the system can be responded in time, and ensure that the overall operation efficiency of the file system is high.
The method for quality of service control provided by the present disclosure above will be described in detail with reference to the accompanying drawings.
Fig. 2 illustrates a flow chart of a method 200 for quality of service control according to an embodiment of the present disclosure. As an example, the method 200 may be performed by a processor of a file system. As another example, the method 200 may be performed by a unit in a file system dedicated to QoS control.
Referring to fig. 2, in step S210, a file processing request may be received.
As an example, the file processing request may be a read request, a write request, or the like for a file. The file may be file 1 or file 2 described above in connection with fig. 1.
In step S220, in response to receiving the file processing request, a token for file processing may be applied only to the directory where the file to be processed is located.
As an example, in response to receiving a write request for a file, a token for file processing may be applied only to the directory (such as directory dir3 described in connection with fig. 1) where the file to be processed (such as file 1 described in connection with fig. 1) is located, without continuing to apply the token for file processing to directory dir 1.
According to an embodiment of the present disclosure, the tokens may be assigned to the catalogs according to the following manner:
First, a quality of service setting value for the directory may be obtained.
As an example, the quality of service setting value of a directory may be a QoS setting value set by the directory in the case where QoS attributes are set in a multi-layer directory of a file system. For example, in fig. 1, qoS attributes have been set to the directories dir1 and dir3 in advance, and then the quality of service set value of the directory dir1 may be a value corresponding to the attribute QoS1, and the quality of service set value of the directory dir3 may be a value corresponding to the attribute QoS 3. For example, the QoS setting value may be a bandwidth per a specific time period, such as 100M in the case where the specific time period is 1 second. The QoS setting may also be an I/O number per specific time period, e.g. 1000 in case the specific time period is 1 second.
As an example, the quality of service setting value of the acquisition directory may be a quality of service setting value of the related directory acquired when the QoS attribute is set in the multi-layer directory of the file system. As an example, in the case where a certain directory in the multi-layered directory of the file system is not set with QoS attributes, it is explained that the directory not set with QoS attributes has no limitation in terms of performance (e.g., there is no limitation in terms of performance such as bandwidth, I/O number, etc.), in which case it is not necessary to acquire a quality of service setting value of the directory.
Second, it may be determined whether the directory has a quality of service allocation value assigned to a directory that is a previous level of the directory.
As an example, it is possible to indicate whether or not there is a quality of service allocation value of a previous-level directory allocation of the directory by setting a related flag in advance in attribute information corresponding to the directory. In this case, reading the flag may determine whether the directory has a quality of service assignment value assigned to a directory that is the last level of the directory. For example, a flag1 may be set in metadata of the directory dir1 as described in fig. 1, and when flag1 is equal to 1, it indicates that the directory dir1 has a quality of service allocation value allocated by the directory of the upper level (i.e., root directory) of the directory dir 1; when flag1 is equal to 0, it indicates that directory dir1 does not have a quality of service allocation value allocated by the directory of the upper level (i.e., root directory) of directory dir 1. For another example, a small storage area may be set in metadata of the directory dir1 as shown in fig. 1, where when the value of the storage area is greater than 0, it indicates that there is a quality of service allocation value allocated by the previous directory and the value of the storage area is the quality of service allocation value; when the value of the storage area is equal to 0, it indicates that there is no quality of service allocation value of the previous-level directory allocation.
As an example, the quality of service allocation value may be a bandwidth per a specific time period, e.g. in case the specific time period is 1 second, the bandwidth may be 50M. The quality of service allocation value may also be an I/O number per specific time period, e.g. 500 in case the specific time period is 1 second. The quality of service allocation value may also be a bandwidth and an I/O number.
Then, if the quality of service assignment value exists, determining a quality of service quota value for the catalog based on the quality of service setting value and the quality of service assignment value; if the quality of service allocation value does not exist, a quality of service quota value for the directory is determined based on the quality of service setting value.
As an example, assuming a quality of service setting of 100M per second for bandwidth, in the absence of a quality of service allocation value, the quality of service quota value for the directory may be determined based on the quality of service setting, e.g., 100M per second for bandwidth may be used as the quality of service quota value for the directory; in the case where a quality of service allocation value is present and the quality of service allocation value is assumed to be 60M per second of bandwidth, then the quality of service quota value for the directory may be determined based on the quality of service setting value and the quality of service allocation value, e.g., the lesser of the quality of service setting value and the quality of service allocation value may be determined as the quality of service quota value for the directory. Likewise, in the case of a quality of service setting of 1000I/Os per second, a similar operation as above may be used to determine the quality of service limit value for the directory of I/Os at that time. This is not described in detail.
Finally, the number of tokens that the catalog can issue may be determined based on the quality of service quota value.
As an example, assuming a quality of service quota value of 100M per second of bandwidth, if five read requests are coming simultaneously within the second, the file size of the reads required for the five read requests are all 20M per second, the number of tokens may be 5; if three read requests are simultaneously coming within the second, the file size of the read required by the three read requests is respectively 20M, 30M and 50M per second, the number of tokens can be 3; if two read requests are coming simultaneously within the second, the file size of the read required for the two read requests is 20M and 40M per second, respectively, the number of tokens may be at least 2.
As another example, assuming a quality of service quota value of 100M per second of bandwidth, 100 tokens may be set in units of 1M, and furthermore, the number of tokens may also be set in units of any other size depending on the actual scenario.
Referring back to fig. 2, in step S230, if the token is acquired, the file is processed.
As an example, in the case of a write request, if a token is acquired, a write operation is performed on the file. In the case of a read request, if a token is acquired, a read operation is performed on the file. In the case of a delete request, the token is obtained and the delete operation is performed on the file.
According to an embodiment of the present disclosure, if a token is not acquired, it is indicated that there is no resource for file processing at this time. In this case, it is necessary to wait for the next specific time period to perform the operation of acquiring the token.
According to an embodiment of the present disclosure, the method 200 provided by the present disclosure may further include determining whether the directory only exists at a next level of directory; determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present; if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
By way of example, it may be determined whether only the next level of directory exists under the directory by way of a lookup or search.
As an example, in the case where the directory exists only the next-level directory, for example, only the next-level directory 2 and directory 3 exist under the directory 1, the quality of service allocation values of the next-level directories 2 and 3 may be determined based on the number 2 of the next-level directories 2 and 3. Assuming that the qos quota value for directory 1 is 100M per second of bandwidth, the qos allocations for the next level of directory 1, directories 2 and 3, may both be 50M per second of bandwidth (i.e., 100/2).
As an example, in the case where there are files under the directory in addition to the next-level directory, if there are next-level directories 2 and 3 and 10 files under the directory 1 and 5 files under each of the directories 2 and 3, the quality of service allocation values of the next-level directories 2 and 3 may be determined based on the number of files included in the next-level directories 2 and 3 and the number of files under the directory 1. Assuming that the qos quota value of directory 1 is 100M per second of bandwidth, the qos allocation values of the next level directories 2 and 3 may each be 25M per second of bandwidth (i.e., (100/20) ×5). When the next-level directory (such as the next-level directories 2 and 3 described above) has a QoS set value, the QoS quota value of the next-level directory may be determined based on the QoS set value and the QoS allocation value, for example, the smaller one of the QoS set value and the QoS allocation value is determined as the QoS quota value of the next-level directory. When the QoS setting value does not exist in the next-level directory, the QoS quota value of the next-level directory may be determined based on the QoS allocation value, e.g., the QoS allocation value is determined as the QoS quota value of the next-level directory.
According to an embodiment of the present disclosure, the method 200 provided by the present disclosure may further include: acquiring a service quality performance value of the catalog and a service quality quota value of the catalog; the quality of service quota value of the directory is adjusted based on a comparison of the quality of service performance value of the directory and the quality of service quota value of the directory. The adjusting the qos quota value of the directory may include: reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory; and increasing the quality of service allocation value of the directory by a second predetermined value in the case that the quality of service performance value of the directory is equal to the quality of service quota value of the directory.
By way of example, the quality of service performance value of the inventory may be a performance statistic of the inventory over a period of time, such as a bandwidth statistic, an I/O count statistic, etc. of the inventory over five particular time periods.
As an example, in each of the five specific time periods, the bandwidth usage of the directory is 40M, and the qos quota value of the directory is 60M per second of bandwidth, in this case, it is explained that the qos quota value given to the directory is more (i.e. 60M > 40M), at this time, the qos quota value of the directory may be reduced by a first predetermined value, for example, the first predetermined value is (qos quota value—qos performance value) ×30%, where 30% may be flexibly adjusted according to the actual situation. After the first predetermined value is decremented, at which point the qos quota value of the directory is 54M per second of bandwidth, the decremented amount (i.e., 6M) may be recorded as a stored value in the upper level directory of the directory as a performance value for the upper level directory available for reassignment.
As another example, the bandwidth usage of the directory is 60M and the qos quota value of the directory is 60M per second for each of the five specific time periods, in which case it is indicated that the qos quota value allocated to the directory is likely to be insufficient, and the qos quota value of the directory may be increased by a second predetermined value, for example, the second predetermined value is 10% of the qos quota value, where 10% may be flexibly adjusted according to the actual situation and the stored value. In the case where the above-mentioned stored value does not exist, the above-mentioned increase of the qos quota value of the directory may not be performed, that is, it is required to ensure that the sum of the qos quota value of the directory after the increase and the qos quota values of other directories sharing the same upper level directory with the directory is less than or equal to the qos quota value of the same upper level directory.
The method for quality of service management provided by the present disclosure is described in detail above and in conjunction with fig. 2. As can be seen from the above description, the method for service quality management provided by the present disclosure may apply for a token for file processing to a directory where a file to be processed is located, so that the file processing may be performed only without applying for tokens to all relevant directories on a directory tree where the file to be processed is located as in the prior art, so that the method provided by the present disclosure may improve the speed of read/write operation of a system, ensure that all read/write operations in the system can be responded in time, and make the overall operation efficiency of the file system high. In addition, the method provided by the present disclosure further relates to a new QoS allocation method (as described above related to a QoS quota value and a QoS allocation value), where the new QoS allocation method can allocate QoS values (such as a quota value) of a directory to a next-level directory step by step (as described above related to a QoS quota value and a QoS allocation value) according to a certain proportion, so that when a file performs a read-write operation, the read-write operation can be performed only by acquiring tokens of a previous-level directory, and all tokens with QoS directories are not required to be acquired step by step upwards. When the scene of setting QoS by the multi-layer catalogue exists in the system, the read-write speed of the system can be improved, and all read-write IO in the system can be ensured to be responded as soon as possible. In addition, the method also provides a way (namely a performance feedback mechanism) for adjusting the service quality quota value of the catalogue, so that a system adopting the method can acquire the performance value of the catalogue at fixed time, and adjust the performance quota distributed to each catalogue in real time according to the performance value, thereby enabling the control of the QoS of the system to be more flexible.
The above-described methods provided by the present disclosure will be further described, by way of example.
The present disclosure proposes how to prevent read-write operations from being affected by acquiring a plurality of token when QoS is set in a file system multi-layer directory, so as to ensure that a system provides services according to a predetermined service mode, and ensure that the system operation can be responded in time.
As shown in fig. 3 below, fig. 3 shows a schematic diagram of a QoS allocation module provided by the present disclosure according to an embodiment of the present disclosure.
Referring to fig. 3, a QoS allocation module may be added to the file system, and the QoS allocation module may allocate appropriate quota values to each directory according to a certain policy, where each directory limits the read-write performance of the directory according to the allocated QoS quota values.
Referring to fig. 3, the QoS allocation module may include an allocation module 310, a data collection module 320, a data reporting module 330, and a directory QoS processing module 340.
The allocation module 310 is the core of the overall QoS allocation module, and it reads all the directories to which QoS setting values have been allocated and allocates the QoS setting values to the respective subdirectories according to a certain policy. The flow of the first allocation is shown in fig. 4.
First, the allocation module 310 obtains Qos setting values (i.e., preset performance limits, such as bandwidth or number of read/write operations per second (Input/Output Operations Per Second, IOPS)) set on a certain directory at S410; it is then checked whether this directory is assigned a QoS allocation value by its previous level directory (i.e., S420, whether the directory has a QoS allocation value assigned by the previous level directory of the directory. If so, at S430, taking the smaller of the QoS setting value and the QoS allocation value as the QoS limit value for the directory; if not, the QoS setting value is taken as the QoS limit value for the directory at S430. Next, at S440, it is determined whether there is only the next level directory under the directory? If yes, at S450, the QoS quota value is evenly allocated to the next-level directory, and the QoS quota value is used as the QoS allocation value of the next-level directory, and then the allocation ends at S490; if not, then at S460, it is determined whether there are only files under the directory? If so, then the allocation ends at S490; if not, the ratio of the number of files under the directory to the number of files under the next level directory is calculated at S470, then the running QoS quota value is allocated to the directory and the next directory according to the ratio at S480, and finally the allocation proceeds to S490 to end.
After the operations described in fig. 4, the corresponding directory may be operated according to the QoS quota value.
The catalog QoS processing module 340 may record the QoS allocation value, take a smaller QoS allocation value and the QoS setting value of the catalog as the QoS quota value of the catalog, and allocate the QoS allocation value to the next catalog, and meanwhile, the data collection module 320 may collect the QoS performance values of the files and the catalog under the catalog and send the QoS performance values to the data reporting module 330 in a summarized manner. The data reporting module 330 reports the QoS performance value of each directory on the node to the data collecting module 320, and the data collecting module 320 collects the QoS performance value data of the directories reported by each node, and records the QoS performance value data in the data storage area of the node after finishing. Examples of QoS values for each directory recorded by the data collection module 320 may be as shown in table 1 below:
table 1: qoS value of each directory of records
Figure SMS_1
The allocation module 310 compares the performance statistics (i.e., qoS performance values) of each directory collected by the data collection module 320 with the QoS quota value of the previous directory, and if the QoS performance value of a certain directory is much smaller than the QoS quota value within a period of time, the allocation module 310 reduces the QoS quota value of the directory by 30% (modifiable) of the difference (QoS quota value-QoS performance value) (i.e., the first predetermined value) and records the reduced amount as a stored value in the previous directory as a performance value for the previous directory to be reassigned. If some of the sub-directory performance statistics always reach the QoS quota value, i.e., full load operation, then the allocation module 310 will attempt to reassign the reassignable performance value of its previous level directory reservation to that sub-directory, 10% of the QoS quota value before each increment (i.e., the second predetermined value described above). The allocation module 310 flexibly adjusts the QoS quota value of each directory according to the current system operation condition and the performance statistics value of each directory, so that the whole system is in a stable and efficient operation state.
As can be seen from the above examples provided by the present disclosure, the above method provided by the present disclosure can determine the optimal QoS quota value of the present-stage directory, and meanwhile, the previous-stage directory may collect the read-write performance value of the next-stage directory, and after a certain calculation and comparison, adjust the QoS quota value allocated to each next-stage directory, so as to meet the requirement of the QoS quota value of the directory, and make each directory obtain the maximum performance configuration as much as possible.
The present disclosure provides an apparatus for quality of service control in addition to the above-described method for quality of service control, and the above description of the method for quality of service control is equally applicable to an apparatus for quality of service control which will be described below unless explicitly stated otherwise.
Fig. 5 illustrates a block diagram of an apparatus 500 for quality of service control according to an embodiment of the disclosure.
Referring to fig. 5, the apparatus 500 may include a receiving unit 510, an applying unit 520, and a processing unit 530.
According to an embodiment of the present disclosure, the receiving unit 510 may be configured to receive a file processing request.
As an example, the file processing request may be a read request, a write request, or the like for a file. The file may be file 1 or file 2 described above in connection with fig. 1.
According to an embodiment of the present disclosure, the applying unit 520 may be configured to apply, in response to receiving the file processing request, only a token for file processing to a directory where a file to be processed is located.
As an example, in response to receiving a write request for a file, a token for file processing may be applied only to the directory (such as directory dir3 described in connection with fig. 1) where the file to be processed (such as file 1 described in connection with fig. 1) is located, without continuing to apply the token for file processing to directory dir 1.
According to an embodiment of the present disclosure, the tokens may be assigned to the catalogs according to the following manner:
first, a quality of service setting value for the directory may be obtained.
As an example, the quality of service setting value of a directory may be a QoS setting value set by the directory in the case where QoS attributes are set in a multi-layer directory of a file system. For example, in fig. 1, qoS attributes have been set to the directories dir1 and dir3 in advance, and then the quality of service set value of the directory dir1 may be a value corresponding to the attribute QoS1, and the quality of service set value of the directory dir3 may be a value corresponding to the attribute QoS 3. For example, the QoS setting value may be a bandwidth per a specific time period, such as 100M in the case where the specific time period is 1 second. The QoS setting may also be an I/O number per specific time period, e.g. 1000 in case the specific time period is 1 second.
As an example, the quality of service setting value of the acquisition directory may be a quality of service setting value of the related directory acquired when the QoS attribute is set in the multi-layer directory of the file system. As an example, in the case where a certain directory in the multi-layered directory of the file system is not set with QoS attributes, it is explained that the directory not set with QoS attributes has no limitation in terms of performance (e.g., there is no limitation in terms of performance such as bandwidth, I/O number, etc.), in which case it is not necessary to acquire a quality of service setting value of the directory.
Second, it may be determined whether the directory has a quality of service allocation value assigned to a directory that is a previous level of the directory.
As an example, it is possible to indicate whether or not there is a quality of service allocation value of a previous-level directory allocation of the directory by setting a related flag in advance in attribute information corresponding to the directory. In this case, reading the flag may determine whether the directory has a quality of service assignment value assigned to a directory that is the last level of the directory. For example, a flag1 may be set in metadata of the directory dir1 as described in fig. 1, and when flag1 is equal to 1, it indicates that the directory dir1 has a quality of service allocation value allocated by the directory of the upper level (i.e., root directory) of the directory dir 1; when flag1 is equal to 0, it indicates that directory dir1 does not have a quality of service allocation value allocated by the directory of the upper level (i.e., root directory) of directory dir 1. For another example, a small storage area may be set in metadata of the directory dir1 as shown in fig. 1, where when the value of the storage area is greater than 0, it indicates that there is a quality of service allocation value allocated by the previous directory and the value of the storage area is the quality of service allocation value; when the value of the storage area is equal to 0, it indicates that there is no quality of service allocation value of the previous-level directory allocation.
As an example, the quality of service allocation value may be a bandwidth per a specific time period, e.g. in case the specific time period is 1 second, the bandwidth may be 50M. The quality of service allocation value may also be an I/O number per specific time period, e.g. 500 in case the specific time period is 1 second. The quality of service allocation value may also be a bandwidth and an I/O number.
Then, if the quality of service assignment value exists, determining a quality of service quota value for the catalog based on the quality of service setting value and the quality of service assignment value; if the quality of service allocation value does not exist, a quality of service quota value for the directory is determined based on the quality of service setting value.
As an example, assuming a quality of service setting of 100M per second for bandwidth, in the absence of a quality of service allocation value, the quality of service quota value for the directory may be determined based on the quality of service setting, e.g., 100M per second for bandwidth may be used as the quality of service quota value for the directory; in the case where a quality of service allocation value is present and the quality of service allocation value is assumed to be 60M per second of bandwidth, then the quality of service quota value for the directory may be determined based on the quality of service setting value and the quality of service allocation value, e.g., the lesser of the quality of service setting value and the quality of service allocation value may be determined as the quality of service quota value for the directory. Likewise, in the case of a quality of service setting of 1000I/Os per second, a similar operation as above may be used to determine the quality of service limit value for the directory of I/Os at that time. This is not described in detail.
Finally, the number of tokens that the catalog can issue may be determined based on the quality of service quota value.
As an example, assuming a quality of service quota value of 100M per second of bandwidth, if five read requests are coming simultaneously within the second, the file size of the reads required for the five read requests are all 20M per second, the number of tokens may be 5; if three read requests are simultaneously coming within the second, the file size of the read required by the three read requests is respectively 20M, 30M and 50M per second, the number of tokens can be 3; if two read requests are coming simultaneously within the second, the file size of the read required for the two read requests is 20M and 40M per second, respectively, the number of tokens may be at least 2.
As another example, assuming a quality of service quota value of 100M per second of bandwidth, 100 tokens may be set in units of 1M, and furthermore, the number of tokens may also be set in units of any other size depending on the actual scenario.
With continued reference to fig. 5, in accordance with an embodiment of the present disclosure, the processing unit 530 may be configured to process the file if the token is acquired.
As an example, in the case of a write request, if a token is acquired, a write operation is performed on the file. In the case of a read request, if a token is acquired, a read operation is performed on the file. In the case of a delete request, the token is obtained and the delete operation is performed on the file.
According to an embodiment of the present disclosure, if a token is not acquired, it is indicated that there is no resource for file processing at this time. In this case, it is necessary to wait for the next specific time period to perform the operation of acquiring the token.
According to an embodiment of the present disclosure, the apparatus 500 may further comprise a determining unit, which may be configured to: determining whether the directory exists only for the next level of directory; determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present; if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
By way of example, it may be determined whether only the next level of directory exists under the directory by way of a lookup or search.
As an example, in the case where the directory exists only the next-level directory, for example, only the next-level directory 2 and directory 3 exist under the directory 1, the quality of service allocation values of the next-level directories 2 and 3 may be determined based on the number 2 of the next-level directories 2 and 3. Assuming that the qos quota value for directory 1 is 100M per second of bandwidth, the qos allocations for the next level of directory 1, directories 2 and 3, may both be 50M per second of bandwidth (i.e., 100/2).
As an example, in the case where there are files under the directory in addition to the next-level directory, if there are next-level directories 2 and 3 and 10 files under the directory 1 and 5 files under each of the directories 2 and 3, the quality of service allocation values of the next-level directories 2 and 3 may be determined based on the number of files included in the next-level directories 2 and 3 and the number of files under the directory 1. Assuming that the qos quota value of directory 1 is 100M per second of bandwidth, the qos allocation values of the next level directories 2 and 3 may each be 25M per second of bandwidth (i.e., (100/20) ×5). When the next-level directory (such as the next-level directories 2 and 3 described above) has a QoS set value, the QoS quota value of the next-level directory may be determined based on the QoS set value and the QoS allocation value, for example, the smaller one of the QoS set value and the QoS allocation value is determined as the QoS quota value of the next-level directory. When the QoS setting value does not exist in the next-level directory, the QoS quota value of the next-level directory may be determined based on the QoS allocation value, e.g., the QoS allocation value is determined as the QoS quota value of the next-level directory.
According to an embodiment of the present disclosure, the apparatus 500 may further include an obtaining unit and an adjusting unit, wherein the obtaining unit may be configured to obtain a quality of service performance value of the directory and a quality of service quota value of the directory; the adjustment unit may be configured to adjust the quality of service quota value of the catalog based on a comparison of the quality of service performance value of the catalog and the quality of service quota value of the catalog. According to an embodiment of the disclosure, the adjusting the qos quota value of the directory may include: reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory; and increasing the service quality limit value of the catalog by a second preset value under the condition that the service quality performance value of the catalog is equal to the service quality limit value of the catalog.
By way of example, the quality of service performance value of the inventory may be a performance statistic of the inventory over a period of time, such as a bandwidth statistic, an I/O count statistic, etc. of the inventory over five particular time periods.
As an example, in each of the five specific time periods, the bandwidth usage of the directory is 40M, and the qos quota value of the directory is 60M per second of bandwidth, in this case, it is explained that the qos quota value given to the directory is more (i.e. 60M > 40M), at this time, the qos quota value of the directory may be reduced by a first predetermined value, for example, the first predetermined value is (qos quota value—qos performance value) ×30%, where 30% may be flexibly adjusted according to the actual situation. After the first predetermined value is decremented, at which point the qos quota value of the directory is 54M per second of bandwidth, the decremented amount (i.e., 6M) may be recorded as a stored value in the upper level directory of the directory as a performance value for the upper level directory available for reassignment.
As another example, the bandwidth usage of the directory is 60M and the qos quota value of the directory is 60M per second for each of the five specific time periods, in which case it is indicated that the qos quota value allocated to the directory is likely to be insufficient, and the qos quota value of the directory may be increased by a second predetermined value, for example, the second predetermined value is 10% of the qos quota value, where 10% may be flexibly adjusted according to the actual situation and the stored value. In the case where the above-mentioned stored value does not exist, the above-mentioned increase of the qos quota value of the directory may not be performed, that is, it is required to ensure that the sum of the qos quota value of the directory after the increase and the qos quota values of other directories sharing the same upper level directory with the directory is less than or equal to the qos quota value of the same upper level directory.
The apparatus for quality of service management provided by the present disclosure is described above and in detail in connection with fig. 5. As can be seen from the above description, the device for service quality management provided by the present disclosure may apply for a token for file processing to a directory where a file to be processed is located, so that the file processing may be performed only without applying for tokens to all relevant directories on a directory tree where the file to be processed is located as in the prior art, so that the device provided by the present disclosure may improve the speed of read/write operation of a system, ensure that all read/write operations in the system can be responded in time, and make the overall operation efficiency of the file system high. In addition, the device provided by the disclosure also relates to a new QoS allocation mode (as described above relates to the QoS quota value and the QoS allocation value), which can allocate the QoS value (such as the quota value) of the directory to the next-stage directory step by step (as described above relates to the QoS quota value and the QoS allocation value) according to a certain proportion, so that when the file is subjected to the read-write operation, the read-write operation can be performed only by acquiring the token of the previous-stage directory, and all the tokens provided with the QoS directory do not need to be acquired step by step upwards. When the scene of setting QoS by the multi-layer catalogue exists in the system, the read-write speed of the system can be improved, and all read-write IO in the system can be ensured to be responded as soon as possible. In addition, the device also provides a mode (namely a performance feedback mechanism) for adjusting the service quality limit value of the catalogue, so that a system adopting the device can acquire the performance value of the catalogue at fixed time, and adjust the performance limit allocated to each catalogue in real time according to the performance value, thereby enabling the control of the QoS of the system to be more flexible.
In addition to the methods and apparatus for quality of service control described above, the present disclosure also provides devices and media for quality of service control. The following description will be made with reference to the accompanying drawings. The above description of the method or apparatus for quality of service control applies equally to the device and medium for quality of service control to be described below, unless explicitly stated otherwise.
Fig. 6 is a block diagram illustrating an apparatus 600 for quality of service control according to an embodiment of the present disclosure.
Referring to fig. 6, a device 600 may include a processor 601 and a memory 602. The processor 601 and the memory 602 may be connected by a bus 603.
The processor 601 may perform various actions and processes according to programs stored in the memory 602. In particular, the processor 601 may be an integrated circuit chip having signal processing capabilities. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like, and may be of the X86 architecture or ARM architecture.
The memory 602 stores computer instructions that, when executed by the processor 601, implement the method for quality of service control described above. The memory 602 may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (ddr SDRAM), enhanced Synchronous Dynamic Random Access Memory (ESDRAM), synchronous Link Dynamic Random Access Memory (SLDRAM), and direct memory bus random access memory (DR RAM). It should be noted that the memory of the methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
Fig. 7 shows a schematic diagram of a recording medium according to the present disclosure.
As shown in fig. 7, the recording medium 700 has stored thereon computer-executable instructions 710. When executed by a processor, the computer-executable instructions 710 may perform a method according to embodiments of the present disclosure described with reference to the above figures. The recording medium in the embodiments of the present disclosure may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (ddr SDRAM), enhanced Synchronous Dynamic Random Access Memory (ESDRAM), synchronous Link Dynamic Random Access Memory (SLDRAM), and direct memory bus random access memory (DR RAM). It should be noted that the memory of the methods described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
It is noted that the flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In general, the various example embodiments of the disclosure may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device. While aspects of the embodiments of the present disclosure are illustrated or described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that the blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
The exemplary embodiments of the invention described in detail above are illustrative only and are not limiting. It will be appreciated by those skilled in the art that various modifications and combinations of the embodiments or features thereof can be made without departing from the principles and spirit of the invention, and such modifications are intended to be within the scope of the invention.

Claims (12)

1. A method for quality of service control, comprising:
receiving a file processing request;
in response to receiving the file processing request, only applying a token for file processing to the directory where the file to be processed is located;
and if the token is acquired, processing the file.
2. The method of claim 1, wherein the tokens are assigned to the directory according to the following:
acquiring a service quality setting value of the catalogue;
determining whether the directory has a quality of service allocation value allocated by a previous level directory of the directory;
determining a quality of service quota value for the directory based on the quality of service setting value and the quality of service allocation value if the quality of service allocation value exists;
determining a quality of service quota value for the directory based on the quality of service setting value if the quality of service allocation value does not exist;
The number of tokens that the catalog can issue is determined based on the quality of service limit value.
3. The method of claim 2, further comprising:
determining whether the directory exists only for the next level of directory;
determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present;
if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
4. A method according to claim 2 or claim 3, further comprising:
acquiring a service quality performance value of the catalog and a service quality quota value of the catalog;
the quality of service quota value of the directory is adjusted based on a comparison of the quality of service performance value of the directory and the quality of service quota value of the directory.
5. The method of claim 4, wherein the adjusting the quality of service limit value of the directory comprises:
reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory;
And increasing the quality of service allocation value of the directory by a second predetermined value in the case that the quality of service performance value of the directory is equal to the quality of service quota value of the directory.
6. An apparatus for quality of service control, comprising:
a receiving unit configured to receive a file processing request;
the application unit is configured to apply tokens for file processing only to the catalogue where the files to be processed are located in response to receiving the file processing request;
and the processing unit is configured to process the file if the token is acquired.
7. The apparatus of claim 6, wherein the token is assigned to the directory according to the following:
acquiring a service quality setting value of the catalogue;
determining whether the directory has a quality of service allocation value allocated by a previous level directory of the directory;
determining a quality of service quota value for the directory based on the quality of service setting value and the quality of service allocation value if the quality of service allocation value exists;
determining a quality of service quota value for the directory based on the quality of service setting value if the quality of service allocation value does not exist;
The number of tokens that the catalog can issue is determined based on the quality of service limit value.
8. The apparatus of claim 7, further comprising:
a determination unit configured to:
determining whether the directory exists only for the next level of directory;
determining a quality of service allocation value for the next level of directory based on the number of next level of directories if only the next level of directories are present;
if there are files in the directory in addition to the next-level directory, a quality of service allocation value for the next-level directory is determined based on the number of files included in the next-level directory and the number of files in the directory.
9. The apparatus of claim 7 or claim 8, further comprising:
an acquisition unit configured to acquire a quality of service performance value of the directory and a quality of service quota value of the directory;
an adjustment unit configured to adjust a quality of service quota value of the catalog based on a comparison of the quality of service performance value of the catalog and the quality of service quota value of the catalog.
10. The apparatus of claim 9, wherein the adjusting the quality of service limit value of the directory comprises:
Reducing the quality of service limit value of the directory by a first predetermined value in case the quality of service performance value of the directory is less than the quality of service limit value of the directory;
and increasing the service quality limit value of the catalog by a second preset value under the condition that the service quality performance value of the catalog is equal to the service quality limit value of the catalog.
11. An apparatus for quality of service control, comprising:
a processor, and
a memory storing computer-executable instructions that, when executed by a processor, cause the processor to perform the method of any of claims 1-5.
12. A computer readable recording medium storing computer executable instructions, wherein the computer executable instructions when executed by a processor cause the processor to perform the method of any one of claims 1-5.
CN202310486541.9A 2023-05-04 2023-05-04 Method, apparatus, device and medium for quality of service control Active CN116185965B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310486541.9A CN116185965B (en) 2023-05-04 2023-05-04 Method, apparatus, device and medium for quality of service control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310486541.9A CN116185965B (en) 2023-05-04 2023-05-04 Method, apparatus, device and medium for quality of service control

Publications (2)

Publication Number Publication Date
CN116185965A true CN116185965A (en) 2023-05-30
CN116185965B CN116185965B (en) 2023-08-04

Family

ID=86446676

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310486541.9A Active CN116185965B (en) 2023-05-04 2023-05-04 Method, apparatus, device and medium for quality of service control

Country Status (1)

Country Link
CN (1) CN116185965B (en)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064639A (en) * 2012-12-28 2013-04-24 华为技术有限公司 Method and device for storing data
CN108762687A (en) * 2018-06-05 2018-11-06 星环信息科技(上海)有限公司 I/O service quality control method, device, equipment and storage medium
CN110365765A (en) * 2019-07-11 2019-10-22 网宿科技股份有限公司 A kind of bandwidth scheduling method and device of cache server
CN111198848A (en) * 2020-01-03 2020-05-26 南京领行科技股份有限公司 Distributed file access method, system, server and storage medium
CN111352586A (en) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 Directory aggregation method, device, equipment and medium for accelerating file reading and writing
CN111427841A (en) * 2020-02-26 2020-07-17 平安科技(深圳)有限公司 Data management method and device, computer equipment and storage medium
CN114116649A (en) * 2021-11-05 2022-03-01 浪潮云信息技术股份公司 Method and system for realizing QoS (quality of service) of file storage
CN114442937A (en) * 2021-12-31 2022-05-06 北京云宽志业网络技术有限公司 File caching method and device, computer equipment and storage medium
CN114844923A (en) * 2022-04-26 2022-08-02 湖北华宝智通科技有限公司 Internet of vehicles service quality detection system and method
CN115426374A (en) * 2022-08-29 2022-12-02 济南浪潮数据技术有限公司 Service quality control method, device, equipment and storage medium
US20230082508A1 (en) * 2021-09-13 2023-03-16 Quixotic Holdings, LLC Tokenized bandwidth and network availability in a network
CN115933985A (en) * 2022-12-28 2023-04-07 上海威固信息技术股份有限公司 Distributed storage QoS control method and system
CN115987974A (en) * 2022-12-30 2023-04-18 上海威固信息技术股份有限公司 Lightweight FTP service method and system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064639A (en) * 2012-12-28 2013-04-24 华为技术有限公司 Method and device for storing data
CN108762687A (en) * 2018-06-05 2018-11-06 星环信息科技(上海)有限公司 I/O service quality control method, device, equipment and storage medium
CN110365765A (en) * 2019-07-11 2019-10-22 网宿科技股份有限公司 A kind of bandwidth scheduling method and device of cache server
CN111198848A (en) * 2020-01-03 2020-05-26 南京领行科技股份有限公司 Distributed file access method, system, server and storage medium
CN111352586A (en) * 2020-02-23 2020-06-30 苏州浪潮智能科技有限公司 Directory aggregation method, device, equipment and medium for accelerating file reading and writing
CN111427841A (en) * 2020-02-26 2020-07-17 平安科技(深圳)有限公司 Data management method and device, computer equipment and storage medium
US20230082508A1 (en) * 2021-09-13 2023-03-16 Quixotic Holdings, LLC Tokenized bandwidth and network availability in a network
CN114116649A (en) * 2021-11-05 2022-03-01 浪潮云信息技术股份公司 Method and system for realizing QoS (quality of service) of file storage
CN114442937A (en) * 2021-12-31 2022-05-06 北京云宽志业网络技术有限公司 File caching method and device, computer equipment and storage medium
CN114844923A (en) * 2022-04-26 2022-08-02 湖北华宝智通科技有限公司 Internet of vehicles service quality detection system and method
CN115426374A (en) * 2022-08-29 2022-12-02 济南浪潮数据技术有限公司 Service quality control method, device, equipment and storage medium
CN115933985A (en) * 2022-12-28 2023-04-07 上海威固信息技术股份有限公司 Distributed storage QoS control method and system
CN115987974A (en) * 2022-12-30 2023-04-18 上海威固信息技术股份有限公司 Lightweight FTP service method and system

Also Published As

Publication number Publication date
CN116185965B (en) 2023-08-04

Similar Documents

Publication Publication Date Title
US9317214B2 (en) Operating a memory management controller
US7363331B2 (en) File device and file access method
US20030120778A1 (en) Data processing system and method
CN110109868B (en) Method, apparatus and computer program product for indexing files
US20190026317A1 (en) Memory use in a distributed index and query system
US10649967B2 (en) Memory object pool use in a distributed index and query system
CN105224244A (en) The method and apparatus that a kind of file stores
CN113064553B (en) Data storage method, device, equipment and medium
CN112948169A (en) Data backup method, device, equipment and storage medium
CN116185965B (en) Method, apparatus, device and medium for quality of service control
CN114063907A (en) Storage space allocation method, system, storage medium and equipment
US10254973B2 (en) Data management system and method for processing distributed data
WO2018171266A1 (en) Video monitoring data storage method and device
US10430106B2 (en) Policy based tiered allocation for hybrid storage devices
US20140304226A1 (en) Storage system
CN113377278A (en) Solid state disk, garbage recycling and controlling method, equipment, system and storage medium
CN111404828A (en) Method and device for realizing global flow control
CN116932196A (en) Data processing method, device, equipment and system of fusion system
US20170160981A1 (en) Management of paging in compressed storage
CN111506254A (en) Distributed storage system and management method and device thereof
CN113918098A (en) Data processing method, device, equipment and medium
CN113672171A (en) Distributed object storage method, device and system and metadata server
CN115328387A (en) Data compression method and device
US11016685B2 (en) Method and defragmentation module for defragmenting resources
CN115150402B (en) Cloud resource allocation method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40090938

Country of ref document: HK