Cloud disk token management method and device for edge computing, equipment and product
By dynamically adjusting the upper limit of token consumption of cloud disk storage buckets, the shortcomings of cloud disk speed limit mechanism during burst traffic are solved, and user experience and service quality are improved.
Patent Information
- Application Number
- CN202510948588.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2045-07-09
AI Technical Summary
In the prior art, the speed limiting mechanism of cloud disks performs poorly in dealing with burst traffic, resulting in user requests being rejected and affecting user experience.
By filling the tokens into the cloud disk's bucket based on the preset fill rate, and dynamically adjusting the upper limit number of tokens within the unit time by dynamically adjusting the first preset number to the second preset number when the remaining number of tokens in the bucket is greater than or equal to the second preset number and the user requests that the required token is greater than the first preset number, the upper limit number of tokens within the unit time is adjusted from the first preset number to the second preset number.
It realizes the speed limit processing of cloud disks according to user needs, meets the data transmission performance needs of different users, optimizes service quality, avoids user requests being rejected, and improves user experience.
Smart Images

Figure CN120455380A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the fields of edge computing, cloud disks, and computer technology, and in particular to a cloud disk token management method, apparatus, device, and product for edge computing. Background Art
[0002] Edge computing achieves efficient data processing and storage by preprocessing and storing data at edge nodes close to the data source, combined with the powerful storage and computing capabilities of cloud disks.
[0003] Related technologies limit the token refill rate of storage buckets in cloud disks to control user request frequency, effectively preventing resource overload and service anomalies. However, this rate-limiting mechanism often performs poorly when dealing with sudden traffic bursts, resulting in user request rejections and a negative user experience. Summary of the Invention
[0004] This summary section is provided to briefly introduce concepts that will be described in detail in the detailed description section below. This summary section is not intended to identify key features or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] In a first aspect, the present disclosure provides a cloud disk token management method for edge computing, the cloud disk token management method comprising: Filling tokens into a storage bucket of a cloud disk based on a preset filling rate, the cloud disk being deployed on an edge node, the preset filling rate being determined based on a first preset number in token configuration information configured by a user for the storage bucket, the first preset number representing the number of tokens filled into the bucket per unit time; When the remaining number of tokens in the storage bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, the upper limit number of token consumption of the storage bucket within the unit time is adjusted from the first preset number to the second preset number, and the token configuration information includes the second preset number, which is greater than the first preset number.
[0006] In a second aspect, the present disclosure provides a cloud disk token management device for edge computing, the cloud disk token management device comprising: A filling module, configured to fill tokens into a storage bucket of a cloud disk based on a preset filling rate, where the cloud disk is deployed on an edge node, and the preset filling rate is determined based on a first preset number in token configuration information configured by a user for the storage bucket, where the first preset number represents the number of tokens filled into the storage bucket per unit time; An adjustment module is configured to adjust the upper limit of token consumption of the storage bucket within the unit time period from the first preset number to the second preset number when the remaining number of tokens in the storage bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, wherein the token configuration information includes the second preset number, and the second preset number is greater than the first preset number.
[0007] In a third aspect, the present disclosure provides a computer-readable medium having a computer program stored thereon, which implements the steps of the method described in the first aspect when executed by a processing device.
[0008] In a fourth aspect, the present disclosure provides an electronic device, comprising: a storage device having a computer program stored thereon; A processing device is used to execute the computer program in the storage device to implement the steps of the method in the first aspect.
[0009] In a fifth aspect, the present disclosure provides a computer program product, comprising a computer program, which implements the steps of the method described in the first aspect when executed by a processor.
[0010] Through the above technical solution, tokens can be filled into the storage bucket of the cloud disk based on a preset filling rate, and when the remaining number of tokens in the storage bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, the upper limit of the number of tokens consumed by the storage bucket per unit time can be adjusted from the first preset number to the second preset number. By adopting the above method, the rate of filling tokens into the storage bucket can be determined based on the user configuration, so that the cloud disk deployed on the edge node can be speed-limited according to user needs to meet the data transmission performance requirements of different users. In addition, when the user's data transmission request needs to consume more tokens and the storage bucket has the ability to increase the upper limit of token consumption, the upper limit of the number of tokens consumed by the storage bucket per unit time can also be dynamically increased according to the user configuration, thereby improving the processing performance of the cloud disk and optimizing the service quality of the cloud disk. For example, in edge computing scenarios, it can cope with business scenarios with sudden traffic on the cloud disk, avoid user requests being rejected, and thus improve user experience.
[0011] Other features and advantages of the present disclosure will be described in detail in the following detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The above and other features, advantages and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that the originals and elements are not necessarily drawn to scale. In the drawings: Figure 1 is a schematic flow chart of a cloud disk token management method for edge computing according to an exemplary embodiment of the present disclosure; Figure 2 FIG1 is a schematic diagram showing a process of initializing a storage bucket according to an exemplary embodiment of the present disclosure; Figure 3 is a schematic diagram of a token filling process according to an exemplary embodiment of the present disclosure; Figure 4 is a schematic diagram illustrating a process of processing a data transmission request according to an exemplary embodiment of the present disclosure; Figure 5 is a schematic diagram illustrating a process of processing a data transmission request according to an exemplary embodiment of the present disclosure; Figure 6 1 is a schematic structural diagram of a cloud disk token management device for edge computing according to an exemplary embodiment of the present disclosure; Figure 7 The figure is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION
[0013] The following describes embodiments of the present disclosure in more detail with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments described herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.
[0014] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.
[0015] As used herein, the term "including" and its variations are open-ended, i.e., "including but not limited to." The term "based on" means "based, at least in part, on." The term "one embodiment" means "at least one embodiment," the term "another embodiment" means "at least one additional embodiment," and the term "some embodiments" means "at least some embodiments." Other terms are defined in the following description.
[0016] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0017] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".
[0018] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0019] It is understandable that before using the technical solutions disclosed in the various embodiments of this disclosure, the type, scope of use, usage scenarios, etc. of the personal information involved in this disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0020] For example, in response to a user's active request, a prompt message is sent to the user to clearly inform the user that the operation requested will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the electronic device, application, server, storage medium, or other software or hardware that performs the operations of the disclosed technical solution based on the prompt message.
[0021] As an optional but non-limiting implementation, in response to receiving a user's active request, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. Furthermore, the pop-up window may also contain a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0022] It is understandable that the above notification and user authorization process are merely illustrative and do not limit the implementation of the present disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0023] At the same time, it is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0024] Cloud disks are online storage services based on cloud computing technology. Users can upload, store, and share files on cloud servers over the internet, making it easy to access and manage data anytime, anywhere. For example, Ceph Cloud Disk is a cloud storage solution built on the Ceph distributed storage system, providing elastic block storage services for cloud computing businesses.
[0025] Edge computing is a distributed computing architecture that reduces data transmission latency and improves real-time data availability by preprocessing and storing data at edge nodes close to the data source. Combining edge computing with the powerful storage and computing capabilities of cloud storage enables efficient data processing and storage, reducing latency and improving system response speed while optimizing network resource utilization.
[0026] In the related art, if cloud disks are not rate-limited, a single cloud disk used by a single user may consume excessive IOPS (Input / Output Operations Per Second) performance and bandwidth, impacting the quality of service for other users in the same edge computing cluster. Alternatively, the frequency of user requests can be controlled by limiting the token refill rate of the cloud disk, effectively preventing resource overload and service anomalies. In this rate-limiting mechanism, tokens are typically added to a fixed-capacity storage bucket at a fixed rate, typically based on the requested byte length or the number of requests. After receiving a data transfer request from a user, the bucket is checked to see if the current token count meets the required number of tokens for the data transfer request. If the bucket has sufficient tokens—for example, if the requested data length is 100 bytes and requires 100 tokens—then 100 tokens are allocated to the data storage request, and the data transfer request is sent to the cloud disk for data transfer processing. If the bucket does not have sufficient tokens, the data transfer request is rejected or discarded. Therefore, this rate-limiting mechanism cannot meet the performance requirements of different users and often performs poorly with bursty traffic, resulting in user request rejections, which in turn affects the user experience.
[0027] In view of this, the present disclosure provides a cloud disk token management method, device, equipment and product for edge computing to solve the above technical problems.
[0028] The following further explains the embodiments of the present disclosure with reference to the accompanying drawings.
[0029] Figure 1 This is a flow chart of a cloud disk token management method for edge computing according to an exemplary embodiment of the present disclosure, with reference to Figure 1 , the cloud disk token management method may include the following steps: S101: Filling tokens into a storage bucket of a cloud disk based on a preset filling rate.
[0030] Among them, the cloud disk is deployed on the edge node, and the preset filling rate is determined based on the first preset number in the token configuration information configured by the user for the storage bucket. The first preset number represents the number of tokens filled into the storage bucket within a unit time.
[0031] For example, the cloud disk described above may refer to a cloud disk deployed on an edge node in an edge computing scenario, such as a Ceph cloud disk, which is not limited in this disclosure. The cloud disk's storage buckets can store tokens and support token consumption and filling. In this embodiment, a token storage bucket throttling layer can be designed within the cloud disk, providing external quality of service encapsulation capabilities. Cloud disk users can configure the token configuration information required by the token storage bucket throttling layer as needed. The token configuration information may include a first preset number representing the number of tokens to be filled into the storage bucket per unit time. The first preset number can be used to calculate the token fill rate of the storage bucket. The token configuration information may also include a second preset number and a preset burst duration. The second preset number can be understood as the upper limit of the number of tokens that the storage bucket can consume per unit time during a performance burst. The preset burst duration can be understood as the duration during which the upper limit of the number of tokens consumed by the storage bucket per unit time is increased from the first preset number to the second preset number. The second preset number and the preset burst duration can be used to determine the storage bucket capacity, i.e., the total number of tokens that can be placed in the storage bucket. The specific configuration can be determined as needed, which is not limited in this disclosure.
[0032] That is, the user can limit the speed of the cloud disk by configuring the first preset number, and allow cloud disk performance bursts by configuring the second preset number and the preset burst duration.
[0033] S102: When the remaining number of tokens in the bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, the upper limit of token consumption of the bucket within a unit time is adjusted from the first preset number to the second preset number.
[0034] The token configuration information includes a second preset number, which is greater than the first preset number.
[0035] For example, when the user configures the second preset number, it means that the user has configured the relevant parameters required for the performance burst scenario. Further, when the remaining number of tokens in the bucket is greater than or equal to the second preset number, it means that the current remaining number of tokens in the bucket can support increasing the upper limit of token consumption of the bucket per unit time, that is, it has the ability to cope with performance bursts. If the number of tokens filled in the bucket per unit time is less than the number of tokens required for data transmission requests, it means that a performance burst has occurred and more tokens need to be consumed to improve the token allocation efficiency of data transmission requests. Therefore, the upper limit of token consumption of the bucket per unit time can be increased, thereby improving the token allocation efficiency of data transmission requests and avoiding rejection or discarding of user requests.
[0036] Using this method, the rate at which tokens are added to the storage bucket can be determined based on user configuration. This allows for speed limiting of cloud disks deployed on edge nodes based on user needs, thus meeting the data transmission performance requirements of different users. Furthermore, when a user's data transmission request requires more tokens and the storage bucket has the ability to increase the token consumption limit, the storage bucket's token consumption limit per unit time can be dynamically increased based on the user configuration, improving the cloud disk's processing performance and optimizing its service quality. For example, in edge computing scenarios, this can address business scenarios with sudden cloud disk traffic, prevent user requests from being rejected, and thus enhance the user experience.
[0037] In a possible manner, tokens are filled into the storage bucket of the cloud disk based on a preset filling rate, including: for each time interval within the unit time length, filling the storage bucket with a filling number of tokens corresponding to the time interval; wherein the length of the time interval is the larger of the length obtained by dividing the unit time length by the first preset number and the first preset time length.
[0038] For example, the unit duration can be divided into multiple time intervals, each of which is of equal length. This can be understood as the time interval for filling a token. Generally speaking, filling one token at a time is the ideal state for smoothest token consumption. The duration of the time interval can be calculated by dividing the unit time by a first preset number. The token configuration information can include the calculated duration of the time interval, so that tokens can be evenly filled into the storage bucket according to the first preset number set by the user.
[0039] For example, assuming the unit time is 1000 milliseconds, if the first preset number set by the user is 1000, then the duration of each time interval is 1 millisecond, which is equivalent to filling one token every 1 millisecond. Taking into account the performance limitations of the timer, a minimum time interval for token filling can be set. For example, the first preset time length can be set to 50 milliseconds, that is, the duration of each time interval is 50 milliseconds. In other words, if the duration of the time interval calculated based on the first preset number set by the user is less than or equal to the preset time length, the preset time length will be used as the duration of each time interval. If the duration of the time interval calculated based on the first preset number set by the user is greater than the preset time length, the calculated time length will be used as the duration of each time interval.
[0040] Furthermore, it is necessary to calculate the number of tokens filled in each time interval so that the tokens are evenly filled into the storage bucket. For example, in edge computing scenarios, the user request frequency of the cloud disk deployed on the edge node can be controlled according to user configuration to ensure the service quality of the cloud disk deployed on the edge node.
[0041] In a possible manner, the filling quantity corresponding to the time interval is determined as follows: a first preset quantity is divided by the total quantity of all time intervals to obtain a first filling quantity; when the first filling quantity is an integer, the first filling quantity is determined as the filling quantity corresponding to each time interval; when the first filling quantity is a non-integer, for the target time interval in all time intervals, the interval number of the target time interval is divided by the total quantity and then multiplied by the first preset quantity to obtain a second filling quantity, the interval number of the previous time interval of the target time interval is divided by the total quantity and then multiplied by the first preset quantity to obtain a third filling quantity, and the difference obtained by subtracting the rounded value of the second filling quantity from the rounded value of the third filling quantity is used as the filling quantity corresponding to the target time interval.
[0042] For example, the number of tokens filled each time cannot be a decimal. Continuing with the example of a unit time of 1000 milliseconds, assuming the user sets a first preset number of 1000 tokens, and using the default minimum interval of 50 milliseconds, tokens are filled 20 times. The number of tokens required each time is 1000 / 20 = 50 tokens, meaning 50 tokens are required in each time interval. In other words, if the calculated number of tokens filled in each time interval is an integer, token delivery can be performed directly based on the calculated result.
[0043] For example, assuming that the first preset number set by the user is 950, the number that needs to be filled each time is 950 / 20=47.5 tokens, which is not an integer, so it needs to be rounded off, and the total number of tokens filled in the unit time must be equal to the first preset number set by the user.
[0044] In this embodiment, in order to solve the non-integer problem, it is necessary to calculate the number of integer tokens that need to be filled in each time interval. The number of tokens filled in each time interval can be calculated first, and then the difference between the number of tokens filled in this time interval and the number of tokens filled in the previous time interval is taken as the number of tokens that need to be filled in this time interval.
[0045] For example, the number of tokens filled in the i-th time interval can be calculated based on the number of filled time intervals / the total number of intervals × the first preset number, and rounded up or down. The number of tokens filled in the i-th time interval is then the difference between the number of tokens filled in the i-th time interval and the number of tokens filled in the (i-1)-th time interval, where i is a positive integer. That is, using rounding down as an example, the number of tokens filled in the first time interval is (1 / 20 × 950) - (0 / 20 × 950) = 47 - 0 = 47; the number of tokens filled in the second time interval is (2 / 20 × 950) - (1 / 20 × 950) = 95 - 47 = 48, and so on, to calculate the number of tokens required to be filled in each time interval.
[0046] This allows the storage bucket to be evenly filled with tokens at intervals, regardless of whether the user-set first preset number is divisible by the total number of time intervals. This allows edge computing scenarios to control the frequency of cloud disk user requests based on user configuration, ensuring cloud disk service quality.
[0047] It should be noted that the total number of the above time intervals and the serial number of the currently filled time interval can be set with corresponding parameters and encapsulated in the token configuration information, and the present disclosure does not impose any restrictions on this.
[0048] In this embodiment, taking the edge computing scenario as an example, in order to meet the user's sudden performance requirements for the cloud disk, a corresponding bucket data structure can be designed. The bucket data structure includes a first data field for representing the remaining number of tokens in the bucket, a second data field for recording the maximum number of tokens in the bucket, a third data field for representing the number of tokens that can be taken away from the bucket within a unit time, and a fourth data field for representing the total number of tokens that can be filled in the bucket. It can be set specifically according to needs, and this disclosure does not impose any restrictions on this. By designing a data structure for a bucket that allows performance bursts, the user's sudden performance requirements for the cloud disk in the edge computing scenario can be met.
[0049] Among them, the first data field is continuously updated during the token filling and consumption process. When the user does not set the second preset number, the field value corresponding to the second data field is the above-mentioned first preset number. When the user sets the second preset number, the field value corresponding to the second data field is the above-mentioned second preset number. The initial value of the third data field is equal to the field value corresponding to the second data field, and the third data field is continuously updated during the token filling and consumption process. The field value of the fourth data field is the product of the field value corresponding to the second data field and the preset duration. The preset duration represents the duration of adjusting the upper limit of the number of tokens consumed by the storage bucket within a unit time from the first preset number to the upper limit of the second preset number. If not set, the default value can be 1. In this way, the user can configure according to the sudden performance requirements so that the number of tokens accumulated in the storage bucket exceeds the first preset number, thereby allowing performance bursts.
[0050] For example, Figure 2 As shown, the storage bucket can be initialized according to the first preset number, the second preset number and the preset duration configured by the user. If the second preset number is equal to 0, it means that the user has not set the second preset number, then the maximum number of tokens is equal to the first preset number. If the second preset number is not equal to 0, it means that the user has set the second preset number, then the maximum number of tokens is equal to the second preset number. Furthermore, the total fillable quantity is obtained based on the maximum number of tokens and the preset duration, and the initial remaining number of tokens in the storage bucket is initialized to the fillable quantity, and the number of tokens that can be taken away from the storage bucket is initialized to the maximum number of tokens. Subsequently, the remaining number of tokens and the number of tokens that can be taken away from the storage bucket are updated according to the filling and consumption of tokens.
[0051] In addition, based on the data structure of the above-mentioned storage bucket, corresponding methods can be designed to update data fields, such as methods for filling and removing tokens from the storage bucket, methods for updating metadata in the token bucket, etc., which can be set specifically according to needs and are not limited in this disclosure.
[0052] In a possible manner, the cloud disk token management method also includes: in the process of filling tokens into the storage bucket of the cloud disk based on a preset filling rate, updating the remaining number of tokens in the storage bucket and the number of tokens that can be taken away from the storage bucket within a unit time; wherein, the upper limit value of the remaining number of tokens in the storage bucket is the total number of tokens that can be filled in the storage bucket, and the total number that can be filled is the product of a second preset number and a second preset time, and the token configuration information includes the second preset time, and the second preset time represents the upper limit time of adjusting the upper limit number of token consumption of the storage bucket within a unit time from the first preset number to the second preset number, and the upper limit value of the number that can be taken away is the smaller of the updated remaining number of tokens and the preset upper limit value.
[0053] For example, Figure 3As shown, the bucket can be filled with tokens in sequence based on the number of tokens required to be filled in each time interval obtained by the above calculation. If the sum of the remaining number of tokens and the number of tokens in the bucket is less than or equal to the total number of tokens that can be filled in the bucket, the sum of the remaining number of tokens and the number of tokens in the bucket is used as the new remaining number of tokens in the bucket. If the sum of the remaining number of tokens and the number of tokens in the bucket is greater than the total number of tokens that can be filled in the bucket, the total number of tokens that can be filled in the bucket is used as the new remaining number of tokens in the bucket.
[0054] Furthermore, if the new remaining number of tokens in the bucket is greater than the maximum number of tokens, the upper limit is set to the maximum number of tokens. If the new remaining number of tokens in the bucket is less than or equal to the maximum number of tokens, the upper limit is set to the new remaining number of tokens. If the sum of the removable number and the number of tokens in the bucket is less than or equal to the upper limit, the sum of the removable number and the number of tokens in the bucket is used as the new removable number of the bucket. If the sum of the removable number and the number of tokens in the bucket is greater than the upper limit, the upper limit is used as the new removable number of the bucket.
[0055] This allows for dynamic updates of the remaining number of tokens in the bucket and the number of tokens that can be taken away from the bucket within a unit of time. Furthermore, the remaining number of tokens and the number of tokens that can be taken away are controlled to match the token configuration information configured by the user, rather than increasing indefinitely. This allows for edge computing scenarios to control the frequency of user requests to the cloud disk deployed on the edge node based on user configuration, thereby ensuring the service quality of the cloud disk deployed on the edge node. Accordingly, if the tokens in the bucket are consumed, the remaining number of tokens and the number of tokens that can be taken away are simply reduced by the number of tokens consumed, and this disclosure will not be elaborated on here.
[0056] In a possible manner, the cloud disk token management method also includes: when the number of first tokens required for the second data transmission request in the request waiting queue of the storage bucket is less than or equal to the updated removable number, after allocating the first number of tokens to the second data transmission request, the second data transmission request is sent to the cloud disk for data transmission processing.
[0057] For example, continue to refer to Figure 3After filling tokens into the storage bucket, you can check whether the request waiting queue of the storage bucket is empty. If there are data transmission requests in the request waiting queue that were previously waiting because they could not obtain enough tokens, give priority to the data transmission requests in the request waiting queue. The data transmission requests in the request waiting queue can be processed in a first-in-first-out order. The specific setting can be based on the needs, and the present disclosure does not impose any restrictions on this. If the updated removable quantity still cannot meet the number of tokens required for the request waiting, continue to wait for subsequent filled tokens until the number of tokens required for the request waiting is met. And when the updated removable quantity meets the number of tokens required for the request waiting, after allocating the required number of tokens to the request waiting, the request waiting will be sent to the cloud disk for subsequent data transmission processing.
[0058] In the embodiment of the present disclosure, data transmission requests that do not obtain sufficient tokens can be stored through the data request queue to avoid the data transmission requests being directly rejected or discarded. In the process of token filling, it is timely determined whether the number of tokens that can be taken away from the storage bucket per unit time can meet the number of tokens required for the data transmission requests waiting to be processed, so as to give priority to the data transmission requests in the request waiting queue.
[0059] It should be understood that, whether it is a new data transmission request or a data transmission request obtained from the request waiting queue, if the number of tokens that can be taken away from the storage bucket within a unit time does not meet the number of tokens required for the request, then all tokens corresponding to the number that can be taken away will be allocated to the data transmission request, and the data transmission request will be stored in the request waiting queue. After waiting for the remaining required number of tokens to be replenished, the data transmission request will be sent to the edge node of the cloud disk for subsequent data transmission processing.
[0060] In a possible manner, the cloud disk token management method also includes: after any of the following conditions is met, the upper limit number of token consumption of the storage bucket within a unit time length is adjusted from the second preset number to the first preset number: the time length for adjusting the upper limit number of token consumption of the storage bucket within a unit time length from the first preset number to the second preset number is greater than or equal to the third preset time length, the token configuration information includes the third preset time length, and the third preset time length represents the upper limit time length for adjusting the upper limit number of token consumption of the storage bucket within a unit time length from the first preset number to the second preset number; the remaining number of tokens in the storage bucket is less than the second preset number.
[0061] For example, when the duration for adjusting the upper limit number of token consumption of a storage bucket within a unit time period from a first preset number to a second preset number is greater than or equal to the preset time period configured by the user, it indicates that the performance burst time configured by the user has been reached. In this case, the upper limit number of token consumption of the storage bucket within a unit time period can be adjusted from the second preset number to the first preset number, so that the performance burst time of the cloud disk can be flexibly configured according to user needs, thereby improving user experience.
[0062] For example, when the remaining number of tokens in the bucket is less than the second preset number, it means that the number of tokens in the bucket is insufficient to support the performance burst. In this case, the upper limit of token consumption in the bucket per unit time can be adjusted from the second preset number to the first preset number, so that the performance burst duration of the cloud disk deployed on the edge node can be flexibly controlled according to the actual number of tokens in the bucket.
[0063] In a possible manner, the cloud disk token management method also includes: intercepting the third data transmission request sent by the user; when the request waiting queue of the storage bucket is not empty, storing the third data transmission request in the request waiting queue; when the request waiting queue of the storage bucket is empty and the number of second tokens required for the third data transmission request is greater than the number of tokens that can be taken away from the storage bucket within a unit time, storing the third data transmission request in the request waiting queue; when the request waiting queue of the storage bucket is empty and the number of second tokens is less than or equal to the number of tokens that can be taken away from the storage bucket within a unit time, after allocating the second number of tokens to the third data transmission request, the third data transmission request is sent to the cloud disk for data transmission processing.
[0064] For example, Figure 4 As shown, the data transmission request sent by the user can be intercepted by the token bucket current limiting layer, and then the request waiting queue is checked to see if there is a data transmission request that was previously queued due to insufficient tokens. If so, the currently intercepted data transmission request is stored in the request waiting queue and waits. If the request waiting queue is empty, it is determined whether the number of tokens that can be taken away from the bucket within a unit time period meets the number of tokens required by the data transmission request. If so, the required tokens are allocated to the data transmission request, and the current number of tokens that can be taken away is subtracted from the required number of tokens to obtain a new number of tokens that can be taken away, and the current remaining number of tokens is subtracted from the required number of tokens to obtain a new number of tokens that can be taken away. This realizes the token consumption of the bucket in the cloud disk deployed on the edge node, and dynamically updates the remaining number of tokens in the bucket and the number of tokens that can be taken away within a unit time period.
[0065] It should be noted that when a user configures token configuration information, the parameters to be configured may be displayed on a configuration page for the user to configure, and the corresponding token configuration information is determined in response to the user's configuration operation. Multiple configuration information options may also be pre-set, with different configuration information options corresponding to different token configuration information, and the corresponding token configuration information is determined in response to the user's selection operation. The specific configuration can be set as needed, and this disclosure does not impose any restrictions on this.
[0066] The cloud disk token management method provided in the present disclosure can be designed as a part of the cloud disk input and output path in the edge computing scenario, such as Figure 5As shown, the user-entered rate limit sets the bucket capacity, i.e., the total number of tokens that can be filled into the bucket. Tokens are then added to the bucket at a constant interval. All data transfer requests passing through the cloud disk must pass through the token bucket rate limiting layer to calculate tokens. Data transfer requests that successfully obtain a sufficient number of tokens are sent to the next step. This limits the request rate provided by the cloud disk to the rate at which tokens are filled into the bucket, thus achieving both rate and rate limiting. Data transfer requests that do not obtain a sufficient number of tokens are placed in a waiting queue, preventing rejection or discarding of requests and improving the user experience.
[0067] It is worth noting that if the cloud disk is not speed-limited, the IOPS value is large in the performance test, that is, a single user occupies too much IOPS performance and bandwidth performance, affecting the service quality of other users in the edge computing cluster using the cloud disk. After the cloud disk is speed-limited based on the cloud disk token management method provided in the embodiment of the present disclosure, assuming that an IOPS limit of 2000 is added to the cloud disk, and the same performance test case is executed, the IOPS value is controlled at 2000, which can effectively prevent a single user in the edge computing cluster from occupying too much performance, provide a smooth average rate for the cloud disk, and improve the user experience. In addition, an IOPS burst limit of 3000 is added to the cloud disk for 5 seconds, and the same performance test case is executed for a performance burst test. The IOPS value bursts to 300. That is to say, while limiting the speed of the cloud disk deployed on the edge node, it can provide a burst performance limit and burst duration function that allow exceeding the average rate, meet the user's burst performance requirements for the cloud disk, and further improve the user experience.
[0068] Based on the same concept, the embodiment of the present disclosure also provides a cloud disk token management device for edge computing, such as Figure 6 As shown, the cloud disk token management device 600 may include: A filling module 601 is configured to fill tokens into a storage bucket of a cloud disk based on a preset filling rate, where the cloud disk is deployed on an edge node. The preset filling rate is determined based on a first preset number in token configuration information configured by a user for the storage bucket, where the first preset number represents the number of tokens filled into the bucket per unit time. An adjustment module 602 is configured to adjust the upper limit of token consumption of the bucket within the unit time period from the first preset number to the second preset number when the remaining number of tokens in the bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, wherein the token configuration information includes the second preset number, and the second preset number is greater than the first preset number.
[0069] Optionally, the filling module 601 is used to: For each time interval within the unit time length, filling the storage bucket with a filling number of tokens corresponding to the time interval; The duration of the time interval is the larger of the duration obtained by dividing the unit duration by the first preset number and the first preset duration.
[0070] Optionally, the filling quantity corresponding to the time interval is determined by: Dividing the first preset quantity by the total quantity of all the time intervals to obtain a first filling quantity; When the first filling quantity is an integer, determining the first filling quantity as the filling quantity corresponding to each of the time intervals; When the first filling quantity is a non-integer, for the target time interval in all the time intervals, the interval number of the target time interval is divided by the total number and then multiplied by the first preset number to obtain the second filling quantity, the interval number of the previous time interval of the target time interval is divided by the total number and then multiplied by the first preset number to obtain the third filling quantity, and the difference obtained by subtracting the rounded value of the third filling quantity from the rounded value of the second filling quantity is used as the filling quantity corresponding to the target time interval.
[0071] Optionally, the cloud disk token management device 600 further includes an update module, which is configured to: In the process of filling tokens into the storage bucket of the cloud disk based on the preset filling rate, updating the remaining number of tokens in the storage bucket and the number of tokens that can be taken away from the bucket within the unit time; Among them, the upper limit value of the remaining number of tokens in the storage bucket is the total number of tokens that can be filled in the storage bucket, and the total number of tokens that can be filled is the product of the second preset number and the second preset time length. The token configuration information includes the second preset time length, and the second preset time length represents the upper limit time length for adjusting the upper limit number of tokens consumed by the storage bucket within the unit time length from the first preset number to the second preset number, and the upper limit value of the number that can be taken away is the smaller of the updated remaining number of tokens and the preset upper limit value.
[0072] Optionally, the cloud disk token management device 600 further includes an allocation module, which is configured to: When the number of first tokens required for the second data transmission request in the request waiting queue of the storage bucket is less than or equal to the updated removable number, after allocating the first number of tokens to the second data transmission request, the second data transmission request is sent to the cloud disk for data transmission processing.
[0073] Optionally, the cloud disk token management device 600 further includes an adjustment submodule, which is configured to: When any of the following conditions is met, the upper limit of token consumption of the storage bucket within the unit time is adjusted from the second preset number to the first preset number: The duration for adjusting the upper limit number of token consumption of the storage bucket within the unit time length from the first preset number to the second preset number is greater than or equal to a third preset time length, the token configuration information includes the third preset time length, and the third preset time length represents the upper limit time length for adjusting the upper limit number of token consumption of the bucket within the unit time length from the first preset number to the second preset number; The remaining number of tokens in the storage bucket is less than the second preset number.
[0074] Optionally, the cloud disk token management device 600 further includes an interception module, which is configured to: intercepting a third data transmission request sent by the user; If the request waiting queue of the storage bucket is not empty, storing the third data transmission request in the request waiting queue; When the request waiting queue of the storage bucket is empty and the number of second tokens required by the third data transmission request is greater than the number of second tokens that can be taken from the storage bucket within the unit time, storing the third data transmission request in the request waiting queue; When the request waiting queue of the storage bucket is empty and the second token quantity is less than or equal to the number of tokens that can be taken away from the storage bucket within the unit time, after allocating the second token quantity of tokens to the third data transmission request, the third data transmission request is sent to the cloud disk for data transmission processing.
[0075] Based on the same concept, an embodiment of the present disclosure also provides a computer-readable medium on which a computer program is stored. When the program is executed by a processing device, it implements the steps of any of the above-mentioned cloud disk token management methods for edge computing.
[0076] Based on the same concept, an embodiment of the present disclosure further provides an electronic device, which may include: a storage device having a computer program stored thereon; A processing device is used to execute a computer program in a storage device to implement any of the steps of the above-mentioned cloud disk token management method for edge computing.
[0077] Based on the same concept, an embodiment of the present disclosure also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of any of the above-mentioned cloud disk token management methods for edge computing.
[0078] Reference below Figure 7 , which shows a schematic structural diagram of an electronic device 700 suitable for implementing an embodiment of the present disclosure. The terminal device in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present disclosure.
[0079] like Figure 7 As shown, electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 702 or programs loaded from a storage device 708 into a random access memory (RAM) 703. Various programs and data required for the operation of electronic device 700 are also stored in RAM 703. Processing device 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to bus 704.
[0080] Typically, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device 700 to communicate with other devices wirelessly or by wire to exchange data. Figure 7 The electronic device 700 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead.
[0081] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.
[0082] It should be noted that the computer-readable medium described above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable storage media may include, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or components, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such a propagated data signal may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wire, optical cable, RF (radio frequency), or any suitable combination thereof.
[0083] In some embodiments, communications may be conducted using any currently known or later developed network protocol, such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or later developed network.
[0084] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0085] The above-mentioned computer-readable medium carries one or more programs. When the above-mentioned one or more programs are executed by the electronic device, the electronic device is enabled to: fill tokens into the storage bucket of the cloud disk based on a preset filling rate, wherein the cloud disk is deployed at an edge node, and the preset filling rate is determined based on a first preset number in the token configuration information configured by the user for the storage bucket, and the first preset number represents the number of tokens filled into the storage bucket within a unit time length; when the remaining number of tokens in the storage bucket is greater than or equal to a second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, the upper limit number of token consumption of the storage bucket within the unit time length is adjusted from the first preset number to the second preset number, and the token configuration information includes the second preset number, and the second preset number is greater than the first preset number.
[0086] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, or a combination thereof, including, but not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0087] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0088] The modules described in the embodiments of the present disclosure may be implemented in software or hardware, wherein the name of a module does not necessarily limit the module itself.
[0089] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0090] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of machine-readable storage media may include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0091] The above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed. Those skilled in the art should understand that the scope of the present disclosure is not limited to technical solutions formed by specific combinations of the aforementioned technical features. It also encompasses other technical solutions formed by any combination of the aforementioned technical features or their equivalents, without departing from the scope of the above disclosure. For example, a technical solution formed by replacing the aforementioned features with (but not limited to) technical features with similar functions disclosed in this disclosure.
[0092] In addition, although each operation is described in a specific order, this should not be understood as requiring these operations to be performed in the specific order shown or in a sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details have been included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single embodiment in combination. On the contrary, the various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination mode.
[0093] Although the subject matter has been described using language specific to structural features and / or methodological logical acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims. Regarding the apparatus in the above-described embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method and will not be elaborated upon here.
Claims
1. A cloud disk token management method for edge computing, characterized in that: The cloud disk token management method includes: Filling tokens into a storage bucket of a cloud disk based on a preset filling rate, the cloud disk being deployed on an edge node, the preset filling rate being determined based on a first preset number in token configuration information configured by a user for the storage bucket, the first preset number representing the number of tokens filled into the bucket per unit time; When the remaining number of tokens in the storage bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, the upper limit number of token consumption of the storage bucket within the unit time is adjusted from the first preset number to the second preset number, and the token configuration information includes the second preset number, which is greater than the first preset number.
2. The cloud disk token management method for edge computing according to claim 1, characterized in that: Filling tokens into the storage bucket of the cloud disk based on a preset filling rate includes: For each time interval within the unit time length, filling the storage bucket with a filling number of tokens corresponding to the time interval; The duration of the time interval is the larger of the duration obtained by dividing the unit duration by the first preset number and the first preset duration.
3. The cloud disk token management method for edge computing according to claim 2, characterized in that: The fill quantity corresponding to the time interval is determined as follows: Dividing the first preset quantity by the total quantity of all the time intervals to obtain a first filling quantity; When the first filling quantity is an integer, determining the first filling quantity as the filling quantity corresponding to each of the time intervals; When the first filling quantity is a non-integer, for the target time interval in all the time intervals, the interval number of the target time interval is divided by the total number and then multiplied by the first preset number to obtain the second filling quantity, the interval number of the previous time interval of the target time interval is divided by the total number and then multiplied by the first preset number to obtain the third filling quantity, and the difference obtained by subtracting the rounded value of the third filling quantity from the rounded value of the second filling quantity is used as the filling quantity corresponding to the target time interval.
4. The cloud disk token management method for edge computing according to claim 1, characterized in that: The cloud disk token management method further includes: In the process of filling tokens into the storage bucket of the cloud disk based on the preset filling rate, updating the remaining number of tokens in the storage bucket and the number of tokens that can be taken away from the bucket within the unit time; Among them, the upper limit value of the remaining number of tokens in the storage bucket is the total number of tokens that can be filled in the storage bucket, and the total number of tokens that can be filled is the product of the second preset number and the second preset time length. The token configuration information includes the second preset time length, and the second preset time length represents the upper limit time length for adjusting the upper limit number of tokens consumed by the storage bucket within the unit time length from the first preset number to the second preset number, and the upper limit value of the number that can be taken away is the smaller of the updated remaining number of tokens and the preset upper limit value.
5. The cloud disk token management method for edge computing according to claim 4, characterized in that: The cloud disk token management method further includes: When the number of first tokens required for the second data transmission request in the request waiting queue of the storage bucket is less than or equal to the updated removable number, after allocating the first number of tokens to the second data transmission request, the second data transmission request is sent to the cloud disk for data transmission processing.
6. The cloud disk token management method for edge computing according to any one of claims 1 to 5, characterized in that: The cloud disk token management method further includes: When any of the following conditions is met, the upper limit of token consumption of the storage bucket within the unit time is adjusted from the second preset number to the first preset number: The duration for adjusting the upper limit number of token consumption of the storage bucket within the unit time length from the first preset number to the second preset number is greater than or equal to a third preset time length, the token configuration information includes the third preset time length, and the third preset time length represents the upper limit time length for adjusting the upper limit number of token consumption of the bucket within the unit time length from the first preset number to the second preset number; The remaining number of tokens in the storage bucket is less than the second preset number.
7. The cloud disk token management method for edge computing according to any one of claims 1 to 5, characterized in that: The cloud disk token management method further includes: intercepting a third data transmission request sent by the user; If the request waiting queue of the storage bucket is not empty, storing the third data transmission request in the request waiting queue; When the request waiting queue of the storage bucket is empty and the number of second tokens required by the third data transmission request is greater than the number of second tokens that can be taken from the storage bucket within the unit time, storing the third data transmission request in the request waiting queue; When the request waiting queue of the storage bucket is empty and the second token quantity is less than or equal to the number of tokens that can be taken away from the storage bucket within the unit time, after allocating the second token quantity of tokens to the third data transmission request, the third data transmission request is sent to the cloud disk for data transmission processing.
8. A cloud disk token management device for edge computing, characterized in that: The cloud disk token management device includes: A filling module, configured to fill tokens into a storage bucket of a cloud disk based on a preset filling rate, where the cloud disk is deployed on an edge node, and the preset filling rate is determined based on a first preset number in token configuration information configured by a user for the storage bucket, where the first preset number represents the number of tokens filled into the storage bucket per unit time; An adjustment module is configured to adjust the upper limit of token consumption of the storage bucket within the unit time period from the first preset number to the second preset number when the remaining number of tokens in the storage bucket is greater than or equal to the second preset number and the number of tokens required for the first data transmission request sent by the user is greater than the first preset number, wherein the token configuration information includes the second preset number, and the second preset number is greater than the first preset number.
9. A computer-readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processing device, the steps of the method according to any one of claims 1 to 7 are implemented.
10. An electronic device, characterized in that: include: a storage device having a computer program stored thereon; A processing device, configured to execute the computer program in the storage device to implement the steps of the method according to any one of claims 1 to 7.
11. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method and device for adjusting cloud disk resource configuration
CN114760327A
Method, integrated circuit, computing device, storage medium and program product for traffic control
CN118214722A
Token management method and device, equipment and storage medium
CN120234835A
Systems, apparatuses, and methods for request throttling
US11580126B1