Flow limiting method and device for edge node and computing equipment

By intercepting requests in edge nodes and performing current limit processing based on traffic quota and performance evaluation indicators, the problem of poor current limiting effect in low Qps high-swallowing scenarios is solved, and stable bandwidth management and improvement of current limiting effect is achieved.

CN119254698APending Publication Date: 2025-01-03SHANGHAI HODE INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411315252.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-19
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

The existing current limiting method has poor results in low Qps high swallowing scenarios, and cannot effectively manage the bandwidth of edge nodes, resulting in poor current limiting effect in high swallowing scenarios.

Method used

By intercepting the data request initiated by the requesting end, the remaining traffic quota is determined based on the total traffic quota of the edge node and the occupied traffic quota in the current period. If the current limit triggering condition is met and the benchmark performance evaluation indicators are stored, the real-time performance evaluation of the edge node can be obtained. Indicators and decide whether to perform current limiting processing based on them to ensure bandwidth stability.

Benefits of technology

It realizes effective current limiting and bandwidth management in low Qps high-swallow scenarios, avoids edge node bandwidth exceeding limits, ensures overall bandwidth stability, and dynamically adjusts the current limit threshold according to real-time conditions, improving the current limit management effect .

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119254698A_ABST
    Figure CN119254698A_ABST
Patent Text Reader

Abstract

The invention discloses a flow limiting method and device for an edge node and computing equipment, and the method comprises the steps: intercepting a data request initiated by a request end; according to the total traffic amount and the occupied traffic amount of the edge node in the current time period, determining a residual traffic amount; if the residual flow limit meets the flow limiting trigger condition and a reference performance evaluation index is stored, obtaining a real-time performance evaluation index of the edge node; and if the real-time performance evaluation index is not smaller than the reference performance evaluation index, performing flow limiting processing on the data request. Through the mode, a flow limiting management mode combining the real-time residual flow limit and the real-time performance is realized, when the residual flow limit of the edge node in the current time period is insufficient, the real-time performance of the edge node is ensured not to exceed a specified upper threshold value, the bandwidth of the edge node in the residual time of the current time period is ensured to be kept stable, and the service life of the edge node is prolonged. And a relatively good current limiting effect and a relatively good bandwidth management effect can be achieved in a low-Qps and high-swallowed scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a current limiting method, device, computing equipment, computer storage medium and computer program product for an edge node. Background Art

[0002] Current limiting is to discard some requests when the service load or Qps (Queries Per Second) exceeds a certain level. It is a common solution to protect the core system of the service path from being dragged down. It is a common overload protection method on the server side. At present, the commonly used current limiting method is to limit the requests of a single process or a single user within a certain period of time when Qps reaches the peak load.

[0003] The existing current limiting method is only applicable to high Qps and low throughput scenarios, but not to low Qps and high throughput scenarios. In high Qps and low throughput scenarios, the number of requests processed per unit time is large, and the amount of data corresponding to the data requests is relatively uniform and small. In low Qps and high throughput scenarios, the number of requests processed per unit time is small, and the amount of data corresponding to the data requests is uneven, and the difference between upstream and downstream data is large. Based on this, the current limiting effect of the existing current limiting solution in low Qps and high throughput scenarios is poor. Summary of the invention

[0004] In view of the above problems, the present application is proposed to provide a method, apparatus, computing device, computer storage medium and computer program product for limiting the flow of edge nodes that overcome the above problems or at least partially solve the above problems.

[0005] According to one aspect of the present application, a current limiting method for an edge node is provided, comprising:

[0006] Intercept the data request initiated by the requester;

[0007] Determine the remaining traffic quota based on the total traffic quota of the edge node and the occupied traffic quota in the current period;

[0008] If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is stored, obtain the real-time performance evaluation index of the edge node;

[0009] If the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is limited.

[0010] Optionally, the method further comprises:

[0011] If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is not stored, obtain the real-time performance evaluation index of the edge node;

[0012] The benchmark performance evaluation index is determined according to the real-time performance evaluation index, the benchmark performance evaluation index is stored, and the data request is subjected to flow limiting processing.

[0013] Optionally, after storing the benchmark performance evaluation indicator, the method further includes:

[0014] At the end of the current period, the benchmark performance evaluation indicators are cleared.

[0015] Optionally, the method further comprises: determining a total amount of traffic of the edge nodes in the current period;

[0016] Each cycle includes multiple time periods divided according to the first duration, and each cycle is divided according to the second duration.

[0017] Optionally, determining the total traffic amount of the edge node in the current period further includes:

[0018] If the current period is the first period in the cycle, the total traffic amount of the edge node in the current period is determined as the supplementary traffic amount;

[0019] If the current period is a period other than the first period in the cycle, the total flow quota of the edge node in the current period is determined according to the cumulative sum of the supplementary flow quota and the period remaining flow quota of at least one period before the current period.

[0020] Optionally, the method further comprises:

[0021] If the real-time performance evaluation index is less than the benchmark performance evaluation index, respond to the data request.

[0022] According to another aspect of the present application, a current limiting device for an edge node is provided, comprising:

[0023] An interception module is used to intercept data requests initiated by the requesting end;

[0024] The first processing module is used to determine the remaining traffic quota according to the total traffic quota and the occupied traffic quota of the edge node in the current period;

[0025] The second processing module is used to obtain the real-time performance evaluation index of the edge node if the remaining traffic quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited.

[0026] Optionally, the second processing module is further used for:

[0027] If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is not stored, obtain the real-time performance evaluation index of the edge node;

[0028] The benchmark performance evaluation index is determined according to the real-time performance evaluation index, the benchmark performance evaluation index is stored, and the data request is subjected to flow limiting processing.

[0029] Optionally, the second processing module is further used for:

[0030] After the benchmark performance evaluation index is stored, the benchmark performance evaluation index is cleared at the end of the current period.

[0031] Optionally, the first processing module is further used for:

[0032] Determine the total amount of traffic at the edge nodes in the current period;

[0033] Each cycle includes multiple time periods divided according to the first duration, and each cycle is divided according to the second duration.

[0034] Optionally, the first processing module is further used for:

[0035] If the current period is the first period in the cycle, the total traffic amount of the edge node in the current period is determined as the supplementary traffic amount;

[0036] If the current period is a period other than the first period in the cycle, the total flow quota of the edge node in the current period is determined according to the cumulative sum of the supplementary flow quota and the period remaining flow quota of at least one period before the current period.

[0037] Optionally, the second processing module is further used for:

[0038] If the real-time performance evaluation index is less than the benchmark performance evaluation index, respond to the data request.

[0039] According to another aspect of the present application, there is provided a computing device, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;

[0040] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the current limiting method of the edge node.

[0041] According to another aspect of the present application, a computer storage medium is provided, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned current limiting method for edge nodes.

[0042] According to another aspect of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the above-mentioned current limiting method for edge nodes.

[0043] According to the flow limiting method, device, computing device, computer storage medium and computer program product of the edge node provided by the embodiment of the present application, the data request initiated by the request end is intercepted; the remaining flow quota is determined according to the total flow quota and the occupied flow quota of the edge node in the current period; if the remaining flow quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored, the real-time performance evaluation index of the edge node is obtained; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited. Through the above method, a flow limiting management method combining real-time remaining flow quota and real-time performance is realized, and a flow limiting management method with time period as the time granularity is realized. Whenever a data request is intercepted, the flow limiting strategy is judged. If the remaining flow quota of the edge node in the current period is insufficient, it is further judged whether the real-time performance of the edge node reaches the specified performance upper limit value. If the specified performance upper limit value has been reached, the data request is flow limited to ensure that the bandwidth of the edge node remains stable during the remaining time of the current period, and a better flow limiting effect and bandwidth management effect can be achieved in the low Qps and high throughput scenario.

[0044] Furthermore, the Qps of the edge node when the current limiting trigger condition is first monitored in the current period is used as the benchmark Qps. When the current limiting trigger condition is met subsequently, the real-time Qps and the benchmark Qps are compared. Only when the real-time Qps is less than the benchmark Qps is the data request responded to, thereby realizing a single-input and single-output current limiting method that limits the continued growth of Qps when the current limiting trigger condition is met, that is, a new data request is allowed to be processed only after a data request is completed, and the continued growth of Qps can be avoided when the remaining traffic quota is insufficient, thereby limiting the overall bandwidth of the edge node and ensuring that the bandwidth of the edge node remains stable for the rest of the current period. In the low Qps and high throughput scenario, it can both effectively limit the flow and keep the overall bandwidth of the edge node stable. At the same time, the benchmark Qps can be determined according to the real-time situation of the edge node, which can ensure that the current limiting threshold is more matched with the real-time online situation of the edge node, further improving the current limiting management effect in the low Qps and high throughput scenario.

[0045] Furthermore, flow limiting management is performed based on time periods as the time granularity, and the bandwidth upper limit of the edge node is used as the limit to quantify the situation of edge node data transmission. The total traffic amount of the edge node is dynamically supplemented at a certain interval within the cycle, which can achieve more refined flow limiting management, ensuring the overall stability of the bandwidth of the edge node while preventing the bandwidth of the edge node from exceeding the limit.

[0046] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0048] Figure 1 A flow chart of a current limiting method for an edge node provided by an embodiment of the present application is shown;

[0049] Figure 2 A flow chart of a current limiting method for an edge node provided by another embodiment of the present application is shown;

[0050] Figure 3 A flow chart of a current limiting method for an edge node provided by another embodiment of the present application is shown;

[0051] Figure 4 A functional structural diagram of a current limiting device of an edge node provided in an embodiment of the present application is shown;

[0052] Figure 5 A schematic diagram of the structure of a computing device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION

[0053] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0054] First, the terms involved in one or more embodiments of the present application are explained.

[0055] Edge node: also known as CDN (Content Delivery Network) edge node. CDN is a technology that deploys nodes at the edge of the network and caches the static resources of the website on edge nodes closer to the user, thereby improving user access speed, reducing bandwidth consumption, and increasing concurrent capacity.

[0056] Performance evaluation indicators: indicators used to measure the system performance of edge nodes, which can reflect the situation of edge nodes processing data requests.

[0057] Qps: Queries Per Second, refers to the number of requests processed per second, and is one of the important indicators for measuring system performance.

[0058] 302 redirection: The server returns a response containing a 302 status code and a Location field, telling the client the new address. The client will automatically jump to the new address and re-initiate the request.

[0059] Figure 1 FIG. 1 is a flow chart of a current limiting method for edge nodes provided by an embodiment of the present application. Figure 1 As shown, the method comprises the following steps:

[0060] Step S110, intercepting the data request initiated by the requesting end.

[0061] The video service scenario is a typical low Qps and high throughput scenario. The edge nodes in the video service system mainly undertake on-demand traffic and live broadcast traffic. The amount of target data requested by each data request is not uniform, and the difference between upstream and downstream data is large.

[0062] In the video service, the request end initiates a request for obtaining on-demand video data or a request for obtaining live video data. After the edge node receives the data request, if no current limiting is required, the target data corresponding to the data request is sent to the request end.

[0063] Step S120, determining the remaining traffic quota according to the total traffic quota of the edge node in the current period and the occupied traffic quota.

[0064] The total traffic quota of the edge node in the current period refers to the total amount of data that the edge node is allowed to send in the current period. The occupied traffic quota of the edge node in the current period refers to the total amount of data that the edge node has sent in the current period, that is, the traffic quota that the edge node has consumed in the current period when the data request is intercepted. The difference between the two is the total amount of data that can be sent in the current period, that is, the remaining traffic quota.

[0065] It can be seen that the method of the embodiment of the present application is to use the time period as the time granularity for flow limiting management. After intercepting the data request, the total traffic amount of the edge node in the current time period and the traffic amount that the edge node has consumed in the current time period are obtained, and the remaining traffic amount is calculated. The processing method of the data request is determined based on the remaining traffic amount.

[0066] Step S130: If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is stored, the real-time performance evaluation index of the edge node is obtained.

[0067] The performance evaluation index is an index used to evaluate the processing of data requests by edge nodes. Optionally, the performance evaluation index is the total number of data requests processed by the edge node per unit time, that is, Qps.

[0068] If the remaining traffic quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored at this time, the real-time performance evaluation index of the edge node is obtained to compare the real-time performance evaluation index with the benchmark performance evaluation index, and determine whether to limit the data request based on the comparison result.

[0069] Step S140: If the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is subjected to flow limiting processing.

[0070] If the real-time performance evaluation index is not less than the benchmark performance evaluation index, that is, the real-time performance of the edge node reaches the specified performance upper limit, the data request will not be responded to and the data request will be limited.

[0071] In summary, according to the flow limiting method of the edge node provided in this embodiment, the data request initiated by the request end is intercepted; the remaining flow quota is determined according to the total flow quota and the occupied flow quota of the edge node in the current time period; if the remaining flow quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored, the real-time performance evaluation index of the edge node is obtained; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited. Through the above method, a flow limiting management method combining the real-time remaining flow quota and the real-time performance is realized, and a flow limiting management method with the time period as the time granularity is realized. Whenever a data request is intercepted, the flow limiting strategy is judged. If the remaining flow quota of the edge node in the current time period is insufficient, it is further judged whether the real-time performance of the edge node reaches the specified performance upper limit value. If the specified performance upper limit value has been reached, the data request is flow limited to ensure that the bandwidth of the edge node remains stable during the remaining time of the current time period, and a better flow limiting effect and bandwidth management effect can be achieved in the low Qps and high throughput scenario.

[0072] Figure 2 FIG. 2 is a flow chart of a current limiting method for an edge node provided by another embodiment of the present application. Figure 2 As shown, the method comprises the following steps:

[0073] Step S210, intercepting the data request initiated by the requesting end.

[0074] By intercepting the data requests sent by the requester through the interception middleware, each data request sent to the edge node will be intercepted, and then the current current limiting strategy of the edge node will be determined.

[0075] Step S220, determining the remaining traffic quota according to the total traffic quota of the edge node in the current period and the occupied traffic quota.

[0076] Before determining the remaining traffic quota, the method also includes: determining the total traffic quota of the edge nodes in the current time period, specifically, when the start time of the current time period is reached, determining the total traffic quota of the edge nodes in the current time period. Among them, each cycle includes multiple time periods divided according to the first time length, and each cycle is divided according to the second time length. That is, the cycle is divided according to the second time length, and the time length of each cycle is the second time length. In each cycle, the time periods are divided according to the first time length, that is, each cycle contains multiple continuous time periods with a time length of the first time length.

[0077] In an optional manner, if the current period is the first period in the cycle, the total flow quota of the edge node in the current period is determined as the supplementary flow quota; if the current period is a period other than the first period in the cycle, the total flow quota of the edge node in the current period is determined based on the cumulative sum of the supplementary flow quota and the period remaining flow quota of at least one period before the current period. Among them, the period remaining flow quota refers to the remaining flow quota at the end of the period, and the specific calculation method is: the total flow quota of the edge node in the period minus the flow quota consumed by the edge node in the period at the end of the period.

[0078] Optionally, the relationship between the bandwidth upper limit, the first duration, the second duration, and the supplementary flow quota of the edge node is as follows: bandwidth upper limit × second duration = second duration / first duration × supplementary flow quota. On the premise of satisfying the above relationship, the specific values ​​of the first duration, the second duration, and the supplementary flow quota can be set according to actual business needs.

[0079] For example, the upper bandwidth limit of the edge node is 1Gb / s. Under this limit, the data sent is limited to 12500000 bytes (1*1000*1000*1000 / 8 / 10) every 100ms. The second duration can be set to 1s, the first duration to 100ms, and the supplementary traffic quota to 12500000 bytes. Then each second is a cycle, and each cycle contains 10 time periods of 100ms.

[0080] Assuming that the data request is intercepted in the i-th time period in the cycle, where i∈[1,n], n is the total number of time periods in a cycle, the remaining traffic quota is calculated as follows:

[0081] B=A i -C i ;

[0082] Among them, B represents the remaining traffic quota, A i represents the total flow amount in the i-th period, C i Indicates the occupied traffic quota of the edge node in the i-th period.

[0083] When i=1, the total flow amount of the i-th period is calculated as: i =N;

[0084] When i is greater than 1, the total flow amount in the i-th period is calculated as follows:

[0085] A i =N+(D1+……D i-1 );

[0086] Among them, N represents the supplementary traffic quota, Di represents the remaining traffic quota of the i-th time period, that is, if the current time period is any time period from the 2nd to the nth time period, the cumulative sum of the remaining traffic quotas of each time period before the current time period plus the supplementary traffic quota, the calculation result is the total traffic quota of the current time period, and when the starting time of any time period is reached, the total traffic quota of the time period is calculated.

[0087] Step S230: If the remaining traffic quota meets the triggering condition, respond to the data request.

[0088] If the remaining traffic quota meets the triggering conditions, indicating that the remaining traffic quota is sufficient, the data request is responded to directly, that is, the requested target data is returned to the requesting end.

[0089] In addition, if the remaining traffic quota meets the rejection trigger conditions, the data request will be directly limited.

[0090] Step S240, if the remaining traffic quota meets the flow limiting trigger condition and the benchmark performance evaluation index is not stored, obtain the real-time performance evaluation index of the edge node; determine the benchmark performance evaluation index according to the real-time performance evaluation index, store the benchmark performance evaluation index, and perform flow limiting on the data request.

[0091] The implementation method of determining whether the remaining traffic quota meets the flow limit triggering condition is as follows: determining whether the remaining traffic quota is between the first traffic quota and the second traffic quota, and the second traffic quota is greater than the first traffic quota; if so, determining that the remaining traffic quota meets the flow limit triggering condition. For example, the first traffic quota is 0, and the second traffic quota is 5% of the total traffic quota of the edge node.

[0092] Correspondingly, the implementation method for determining whether the remaining traffic quota satisfies the trigger condition is as follows: determine whether the remaining traffic quota exceeds the second traffic quota. If so, determine that the remaining traffic quota satisfies the trigger condition. If the trigger condition is met, it means that the amount of target data sent by the edge node to the requesting end in the current time period is small, and there is sufficient traffic quota remaining in the current time period, so the data request can be responded to directly.

[0093] Accordingly, the implementation method of determining whether the remaining traffic quota satisfies the rejection trigger condition is as follows: determining whether the remaining traffic quota does not exceed the first traffic quota, and if so, determining that the remaining traffic quota satisfies the rejection trigger condition. If the remaining traffic quota does not exceed the first traffic quota, indicating that the edge node has sent target data with a data volume close to or even reaching the data volume upper limit (i.e., the total traffic quota of the current period) in the current period, the data request is subjected to flow limiting processing, specifically, the data request is rejected or the data request is redirected, for example, the data request is redirected to other edge nodes through a 302 redirection method.

[0094] If the remaining traffic quota meets the flow limit triggering conditions, the single-input and single-output flow limit mode is enabled, that is, new data requests are allowed to pass after a data request is processed, thereby keeping the number of data requests processed by the edge node unchanged.

[0095] Among them, the performance evaluation index of the edge node is specifically Qps, that is, the number of data requests processed by the edge node per second. If the remaining traffic quota meets the flow limit triggering condition and the benchmark Qps has not been stored at this time, it is necessary to determine a benchmark Qps. Specifically, obtain the real-time Qps of the edge node, determine the benchmark Qps based on the real-time Qps, for example, make the value of the benchmark Qps consistent with the value of the real-time Qps, store the benchmark Qps, and reject this data request.

[0096] After the benchmark performance evaluation index is stored, the benchmark performance evaluation index is cleared at the end of the current period. At the end of the current period, the stored benchmark performance evaluation index is cleared so that a new benchmark performance evaluation index can be stored when the current limiting trigger condition is met in the next period. It can be seen that the benchmark performance evaluation index is dynamically updated and is not always constant.

[0097] In some implementations, the peak load of the system is estimated by means of pre-stress testing, and the estimated peak load is used as the current limiting threshold. However, due to the complexity of online scenarios, it is difficult to simulate each situation online, and it is difficult to set a suitable current limiting threshold. In the embodiment of the present application, the current limiting threshold is determined based on the real-time Qps, and the current limiting threshold that matches the online situation can be determined.

[0098] Step S250: If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is stored, the real-time performance evaluation index of the edge node is obtained.

[0099] If the remaining traffic quota meets the flow limiting trigger condition and the benchmark Qps has been stored at this time, it means that before the current data request is intercepted, the remaining traffic quota when the data request is intercepted has been less than the second traffic quota in the current cycle. In this case, the stored benchmark Qps is used directly to decide whether to allow the data request to pass or to limit the data request.

[0100] Step S260: If the real-time performance evaluation index is not less than the benchmark performance evaluation index, reject the data request or redirect the data request; if the real-time performance evaluation index is less than the benchmark performance evaluation index, respond to the data request.

[0101] If the real-time Qps is not less than the benchmark Qps, the data request is limited, that is, the data request is rejected or redirected. If the real-time Qps is less than the benchmark Qps, the data request is responded to, and the edge node sends the target data corresponding to the data request to the request end.

[0102] The following is a specific example to illustrate the method of the embodiment of the present application. Assuming that the second traffic quota is 5% of the total traffic quota, data requests are intercepted at t1, t2, t3, t4 and t5 in a cycle, and t1, t2, t3 and t4 are in the same time period, and t5 is in the next time period. Data request R1 is intercepted at t1. At this time, the remaining traffic quota exceeds 5% of the total traffic quota of the current time period, and the data request R1 is directly responded to, that is, the target data corresponding to the data request R1 is returned to the request end of the data request R1. This process will occupy the traffic quota in the time period; data request R2 is intercepted at t2, and the remaining traffic quota is 3% of the total traffic quota, which meets the current limiting trigger condition, then the Qps at t2 is stored as the benchmark Qps, and the data request R2 is subjected to current limiting processing; data request R3 is received at t3, and the remaining traffic quota is less than 3% of the total traffic quota, but no data request is completed in the time period from t2 to t3, and the Qp at t3 is less than 3% of the total traffic quota. s is consistent with the Qps at t2, that is, it is equal to the benchmark Qps, then the data request R3 is rejected; the data request R4 is intercepted at t4, and the remaining traffic quota still meets the flow limit triggering condition. In the time period from t3 to t4, at least one data request is processed and completed. The Qps at t4 is less than the benchmark Qps, then the data request R4 is responded to; at some point between t4 and t5, a new time period is reached, and the total traffic quota of the new time period is updated. The data request R5 is received at t5. At this time, the remaining traffic quota exceeds 5% of the total traffic quota, then the data request R5 is responded to directly, and the target data corresponding to the data request R5 is returned to the request end of the data request R5.

[0103] Through the above method, it can be ensured that when the flow limiting trigger conditions are met, the number of data requests processed by the edge node per second will not exceed the set threshold. New data requests will be processed only after completing a data request, thereby limiting the overall bandwidth of the edge node and ensuring that the bandwidth of the edge node remains stable for the rest of the current period.

[0104] To summarize, the current limiting method for edge nodes provided in the embodiment of the present application takes the Qps of the edge node when the current limiting trigger condition is first monitored to be met in the current time period as the benchmark Qps, and compares the real-time Qps with the benchmark Qps when the current limiting trigger condition is met subsequently. Only when the real-time Qps is less than the benchmark Qps is the data request responded to, thereby realizing a single-input and single-output current limiting method that limits the continued growth of Qps when the current limiting trigger condition is met, that is, a new data request is allowed to be processed only after a data request is completed, and can prevent Qps from continuing to grow when the remaining traffic quota is insufficient, thereby limiting the overall bandwidth of the edge node and ensuring that the bandwidth of the edge node is maintained for the remaining time of the current time period. Stable. In the low Qps and high throughput scenario, it can both effectively limit the flow and maintain the overall bandwidth stability of the edge node. At the same time, it can determine the benchmark Qps according to the real-time situation of the edge node, ensure that the flow limiting threshold is more in line with the real-time online situation of the edge node, and further improve the flow limiting management effect in the low Qps and high throughput scenario. Furthermore, flow limiting management is performed based on the time period as the time granularity, and the bandwidth upper limit of the edge node is used as the limit to quantify the situation of edge node data sending. The total traffic amount of the edge node is dynamically supplemented at a certain interval within the cycle, which can achieve more refined flow limiting management, ensuring the overall stability of the bandwidth of the edge node while preventing the bandwidth of the edge node from exceeding the limit.

[0105] Figure 3 A flow chart of a current limiting method for an edge node provided by another embodiment of the present application is shown. Figure 3 As shown, the water level 4 in the flow quota bucket 3 represents the remaining flow quota. In a cycle, the flow quota is replenished to the flow quota bucket 3 at intervals of the first duration by the timer. The interceptor 2 intercepts each received data request, and then determines the flow limiting strategy based on the remaining flow quota and the real-time Qps.

[0106] Assume that the total traffic quota corresponding to traffic quota bucket 3 is N T , the edge node is currently processing two requests. In the current period, for one data request, n1 bytes of data have been sent to the requesting end, and for another data request, n2 bytes of data have been sent to the requesting end. The remaining traffic quota is N L =N T If the remaining traffic quota is zero, execute step S301; if the remaining traffic quota meets the flow limit triggering condition, execute steps S302 and S303; if the remaining traffic quota meets the pass triggering condition, execute step S304.

[0107] Step S301, discarding the data request;

[0108] Step S302, implement a single-in-single-out strategy to maintain Qps;

[0109] Step S303, determine whether the real-time Qps is less than the reference Qps. If the remaining traffic quota meets the flow limit triggering condition and the reference Qps is not stored, the real-time Qps is stored as the reference Qps;

[0110] If the real-time Qps is less than the reference Qps, step S304 is executed; if the real-time Qps is not less than the reference Qps, step S301 is executed.

[0111] Step S304, through the data request, that is, responding to the data request, sending the target data requested by the data request to the requesting end.

[0112] Step S305: Feedback the traffic amount consumed by the edge node in sending the target data.

[0113] For each data request that passes, returning the requested target data to the requesting end consumes traffic quota, records the consumed traffic quota, and then determines the height of the water level line 4 in the traffic quota bucket 3.

[0114] Figure 4 The functional structure diagram of the current limiting device of the edge node provided by the embodiment of the present application is shown. Figure 4 As shown, the device comprises:

[0115] An interception module 41, used for intercepting a data request initiated by a requesting end;

[0116] The first processing module 42 is used to determine the remaining traffic quota according to the total traffic quota and the occupied traffic quota of the edge node in the current period;

[0117] The second processing module 43 is used to obtain the real-time performance evaluation index of the edge node if the remaining traffic quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited.

[0118] In an optional manner, the second processing module 43 is further used for:

[0119] If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is not stored, obtain the real-time performance evaluation index of the edge node;

[0120] The benchmark performance evaluation index is determined according to the real-time performance evaluation index, the benchmark performance evaluation index is stored, and the data request is subjected to flow limiting processing.

[0121] In an optional manner, the second processing module 43 is further used for:

[0122] After the benchmark performance evaluation index is stored, the benchmark performance evaluation index is cleared at the end of the current period.

[0123] In an optional manner, the first processing module 42 is further configured to:

[0124] Determine the total amount of traffic at the edge nodes in the current period;

[0125] Each cycle includes multiple time periods divided according to the first duration, and each cycle is divided according to the second duration.

[0126] In an optional manner, the first processing module 42 is further configured to:

[0127] If the current period is the first period in the cycle, the total traffic amount of the edge node in the current period is determined as the supplementary traffic amount;

[0128] If the current period is a period other than the first period in the cycle, the total flow quota of the edge node in the current period is determined according to the cumulative sum of the supplementary flow quota and the period remaining flow quota of at least one period before the current period.

[0129] In an optional manner, the second processing module 43 is further used for:

[0130] If the real-time performance evaluation index is less than the benchmark performance evaluation index, respond to the data request.

[0131] In summary, according to the flow limiting device of the edge node provided in this embodiment, the data request initiated by the request end is intercepted; the remaining flow quota is determined according to the total flow quota and the occupied flow quota of the edge node in the current time period; if the remaining flow quota meets the flow limiting trigger condition and the benchmark performance evaluation index is stored, the real-time performance evaluation index of the edge node is obtained; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited. Through the above method, a flow limiting management method combining the real-time remaining flow quota and the real-time performance is realized, and a flow limiting management method with the time period as the time granularity is realized. Whenever a data request is intercepted, the flow limiting strategy is judged. If the remaining flow quota of the edge node in the current time period is insufficient, it is further judged whether the real-time performance of the edge node reaches the specified performance upper limit value. If the specified performance upper limit value has been reached, the data request is flow limited to ensure that the bandwidth of the edge node remains stable during the remaining time of the current time period, and better flow limiting effect and bandwidth management effect can be achieved in the low Qps and high throughput scenario.

[0132] An embodiment of the present application provides a non-volatile computer storage medium, which stores at least one executable instruction or computer program, which can enable a processor to perform operations corresponding to the current limiting method of the edge node in any of the above method embodiments.

[0133] An embodiment of the present application provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the current limiting method of the edge node in any of the above method embodiments.

[0134] Figure 5 A schematic diagram of the structure of an embodiment of a computing device of the present application is shown, and the specific embodiment of the present application does not limit the specific implementation of the computing device.

[0135] like Figure 5 As shown, the computing device may include: a processor (processor) 502 , a communications interface (Communications Interface) 504 , a memory (memory) 506 , and a communication bus 508 .

[0136] Wherein: the processor 502, the communication interface 504, and the memory 506 communicate with each other through the communication bus 508. The communication interface 504 is used to communicate with other devices such as a client or other server network elements. The processor 502 is used to execute the program 510, which can specifically execute the relevant steps in the embodiment of the current limiting method for the edge node of the computing device.

[0137] Specifically, the program 510 may include program codes, which include computer operation instructions.

[0138] The processor 502 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or may be processors of different types, such as one or more CPUs and one or more ASICs.

[0139] The memory 506 is used to store the program 510. The memory 506 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0140] The program 510 can be specifically used to enable the processor 502 to execute the current limiting method of the edge node in any of the above-mentioned method embodiments. The specific implementation of each step in the program 510 can refer to the corresponding description in the corresponding steps and units in the current limiting embodiment of the edge node, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the aforementioned method embodiment, which will not be repeated here.

[0141] The algorithm or display provided here are not inherently related to any specific computer, virtual system or other equipment. Various general systems can also be used together with the teaching based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the present application embodiment is not directed to any specific programming language yet. It should be understood that various programming languages ​​can be utilized to realize the content of the present application described here, and the above description of specific languages ​​is to disclose the best mode of implementation of the present application.

[0142] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0143] Similarly, it should be understood that in order to streamline the present application and aid in understanding one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the embodiments of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed application requires more features than the features explicitly recited in each claim. More specifically, as reflected in the claims, the inventive aspects lie in less than all the features of the single embodiment disclosed above. Therefore, the claims that follow the specific embodiment are hereby expressly incorporated into the specific embodiment, with each claim itself serving as a separate embodiment of the present application.

[0144] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0145] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims, any one of the claimed embodiments may be used in any combination.

[0146] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components according to the embodiments of the present application. The application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing a part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0147] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be understood as limitations on the order of execution.

Claims

1. A current limiting method for an edge node, comprising: Intercept the data request initiated by the requester; Determine the remaining traffic quota based on the total traffic quota of the edge node and the occupied traffic quota in the current period; If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is stored, obtain the real-time performance evaluation index of the edge node; If the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is subjected to flow limiting processing.

2. The method according to claim 1, wherein: The method further comprises: If the remaining traffic quota meets the flow limit triggering condition and the benchmark performance evaluation index is not stored, obtain the real-time performance evaluation index of the edge node; A benchmark performance evaluation indicator is determined according to the real-time performance evaluation indicator, the benchmark performance evaluation indicator is stored, and a flow limiting process is performed on the data request.

3. The method according to claim 2, wherein: After storing the benchmark performance evaluation indicator, the method further comprises: When the current period ends, the benchmark performance evaluation indicator is cleared.

4. The method according to any one of claims 1 to 3, wherein: The method further comprises: Determine the total amount of traffic at the edge nodes in the current period; Each cycle includes multiple time periods divided according to the first duration, and each cycle is divided according to the second duration.

5. The method according to claim 4, wherein: Determining the total traffic amount of edge nodes in the current period further includes: If the current time period is the first time period in the cycle, determining the total flow quota of the edge node in the current time period as the supplementary flow quota; If the current period is a period other than the first period in the cycle, the total flow quota of the edge node in the current period is determined according to the cumulative sum of the supplementary flow quota and the period remaining flow quota of at least one period before the current period.

6. The method according to any one of claims 1 to 5, wherein: The method further comprises: If the real-time performance evaluation index is less than the benchmark performance evaluation index, respond to the data request.

7. A current limiting device for an edge node, comprising: An interception module is used to intercept data requests initiated by the requesting end; The first processing module is used to determine the remaining traffic quota according to the total traffic quota and the occupied traffic quota of the edge node in the current period; The second processing module is used to obtain the real-time performance evaluation index of the edge node if the remaining traffic quota meets the flow limiting trigger condition and a benchmark performance evaluation index is stored; if the real-time performance evaluation index is not less than the benchmark performance evaluation index, the data request is flow limited.

8. A computing device comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the current limiting method for an edge node according to any one of claims 1 to 6.

9. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the current limiting method for an edge node according to any one of claims 1 to 6.

10. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to execute operations corresponding to the current limiting method for an edge node according to any one of claims 1 to 6.