Traffic control
By dynamically adjusting the traffic allocation strategy of the back-end data processing components in the data processing equipment, the traffic competition among components is solved and the system service quality is ensured.
Patent Information
- Application Number
- PCT/IB2025/050217
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-22
- Filing Date
- 2025-01-09
- Publication Date
- 2025-07-31
AI Technical Summary
In a multi-component system, sudden traffic increases lead to components competing for network card resources, affecting the system service quality. The existing traffic control methods cannot effectively solve this problem.
By using the target network card to allocate traffic in the data processing equipment, receiving traffic acquisition requests from the backend data processing components, determining their initial traffic and traffic growth gradient, setting the target traffic range, and dynamically adjusting the traffic allocation strategy based on the traffic usage information to avoid sudden traffic increase and resource competition.
It realizes smooth control of the traffic of the back-end data processing component, avoids traffic resonance with the front-end data processing component, and improves the service quality of data processing equipment.
Smart Images

Figure IB2025050217_31072025_PF_FP_ABST
Abstract
Description
Technical Field of Traffic Control
[0001] Embodiments of this specification relate to the field of computer technologies, and particularly to traffic control. Background Art
[0002] Generally, when a system including multiple components provides services, if the traffic used by the services exceeds the load capacity of the system, the services provided by the entire system will be paralyzed. To ensure the stability of the external services provided by the system, traffic control can be adopted to provide a security firewall for the system.
[0003] The current solution is that when multiple components provide services, a separate traffic upper limit is set for each component, that is, each component has its own traffic upper limit, so as to ensure that the traffic used by the entire system does not exceed the load capacity of the system by determining that the traffic used by each component does not exceed the traffic upper limit.
[0004] However, in actual applications, when the traffic requested by one component surges, there may also be a situation where the traffic requested by other components surges. The surging traffic requests of multiple components lead to a situation where components compete for network card resources, affecting the service quality of the system. Therefore, a traffic control solution with higher service quality is needed to solve the above technical problems. Summary of the Invention
[0005] In view of this, embodiments of this specification provide two traffic control methods. One or more embodiments of this specification simultaneously relate to two traffic control devices, a computing device, a computer-readable storage medium, and a computer program product to solve the technical defects existing in the related technologies.
[0006] According to a first aspect of the embodiments of this specification, a traffic control method is provided, which is applied to a data processing device. The data processing device includes a front-end data processing component and a back-end data processing component that share a target network card. The method includes: when traffic is allocated to the front-end data processing component, receiving a traffic acquisition request from the back-end data processing component; in response to the traffic acquisition request, determining the initial traffic and the traffic growth gradient of the back-end data processing component within the current traffic observation time window; according to the initial traffic and the traffic growth gradient, determining the target traffic range within the current traffic observation time window; according to the traffic usage information of the back-end data processing component within the target traffic range, determining a traffic allocation strategy, and according to the traffic allocation strategy, determining the target traffic range within the next traffic observation time window.
[0007] According to the second aspect of the embodiments of the present specification, another traffic control method is provided, which is applied to a data processing device. The data processing device includes a front-end data processing component and a back-end data processing component sharing a target network card. The method includes: when receiving a data processing request sent by the front-end data processing component, performing traffic allocation to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and generating a back-end data processing task during the execution of the data processing request, and triggering the back-end data processing component to execute the back-end data processing task; receiving a traffic acquisition request sent by the back-end data processing component when the back-end data processing component executes the back-end data processing task; in response to the traffic acquisition request, determining the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; determining the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient; determining a traffic allocation strategy according to the traffic usage information of the back-end data processing component for the traffic within the target traffic range, and determining the target traffic range in the next traffic observation time window according to the traffic allocation strategy.
[0008] According to the third aspect of the embodiments of the present specification, a traffic control device is provided, including: a first receiving module configured to receive a traffic acquisition request from a back-end data processing component when performing traffic allocation to a front-end data processing component; a first determination module configured to, in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; a second determination module configured to determine the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient; a third determination module configured to determine a traffic allocation strategy according to the traffic usage information of the back-end data processing component for the traffic within the target traffic range, and determine the target traffic range in the next traffic observation time window according to the traffic allocation strategy.
[0009] According to a fourth aspect of the embodiments of the present specification, another traffic control device is provided, including: a task trigger module configured to, when receiving a data processing request sent by a front-end data processing component, perform traffic allocation to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and generate a back-end data processing task during the execution of the data processing request, and trigger the back-end data processing component to execute the back-end data processing task; a second receiving module configured to receive a traffic acquisition request sent by the back-end data processing component when executing the back-end data processing task; a fourth determination module configured to, in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; a fifth determination module configured to determine the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient; a sixth determination module configured to determine a traffic allocation strategy according to the traffic usage information of the back-end data processing component for the traffic within the target traffic range, and determine the target traffic range within the next traffic observation time window according to the traffic allocation strategy.
[0010] According to a fifth aspect of the embodiments of the present specification, a computing device is provided, including: a memory and a processor; the memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions, and when the computer-executable instructions are executed by the processor, the steps of the above traffic control method are implemented.
[0011] According to a sixth aspect of the embodiments of the present specification, a computer-readable storage medium is provided, which stores computer-executable instructions, and when the instructions are executed by a processor, the steps of the above traffic control method are implemented.
[0012] According to a seventh aspect of the embodiments of the present specification, a computer program product is provided, including computer programs / instructions, and when the computer programs / instructions are executed by a processor, the steps of the above traffic control method are implemented.
[0013] An embodiment of this specification provides a traffic control method, which is applied to a data processing device. The data processing device includes a front-end data processing component and a back-end data processing component that share a target network card. When the target network card distributes traffic to the front-end data processing component, this method receives a traffic acquisition request from the back-end data processing component to determine that there is a traffic acquisition request from the back-end data processing component that competes with the front-end data processing component for network card resources. According to this traffic acquisition request, determine the initial traffic and traffic growth gradient of the back-end data processing component in the current traffic observation window, and determine the target traffic range of the back-end data processing component within the current traffic observation time window according to the initial traffic and traffic growth gradient, so as to limit the traffic control of the back-end data processing component within the current traffic observation time window. That is, within the current traffic observation time window, only allow the back-end data processing component to use traffic within the target traffic range within the current traffic observation time window. After that, determine the traffic distribution strategy according to the traffic usage information of the back-end data processing component for the target traffic range within the current traffic observation time window, and determine the target traffic range within the next traffic observation time window according to the traffic distribution strategy to achieve traffic control within the next traffic observation time window. Moreover, the traffic distribution strategy of the back-end data processing component within the next traffic observation time window is determined by the traffic usage information of the target traffic range within the current traffic observation time window, realizing a controllable target traffic range with the traffic observation time window, avoiding sudden increases in the traffic used by the back-end data processing component, and avoiding the situation of competing for network card resources between the back-end data processing component and the above-mentioned front-end data processing component, thereby improving the service quality of the entire data processing device. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] FIG. 1 is a schematic diagram of the traffic upper limit curve of a traffic control method provided by an embodiment of this specification;
[0015] FIG. 2 is a schematic diagram of the traffic resonance curve of a traffic control method provided by an embodiment of this specification;
[0016] FIG. 3 is a schematic diagram of a specific scenario of a traffic control method provided by an embodiment of this specification;
[0017] FIG. 4 is a flowchart of a traffic control method provided by an embodiment of this specification;
[0018] FIG. 5 is a flowchart of another traffic control method provided by an embodiment of this specification;
[0019] FIG. 6 is a schematic diagram of the traffic control curve of a traffic control method provided by an embodiment of this specification;
[0020] FIG. 7 is a schematic structural diagram of a flow control device provided by an embodiment of this specification;
[0021] FIG. 8 is a schematic structural diagram of another flow control device provided by an embodiment of this specification;
[0022] FIG. 9 is a structural block diagram of a computing device provided by an embodiment of this specification. Detailed implementation manners
[0023] In the following description, many specific details are set forth in order to provide a thorough understanding of this specification. However, this specification can be implemented in many other ways different from those described herein, and those skilled in the art can make similar generalizations without departing from the connotation of this specification. Therefore, this specification is not limited by the specific implementations disclosed below.
[0024] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a", "the", and "said" used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more of the associated listed items.
[0025] It should be understood that although the terms first, second, etc. may be used in one or more embodiments of this specification to describe various information, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein can be interpreted as "when...", "while...", or "in response to determining".
[0026] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data that have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of the relevant data need to comply with the relevant laws, regulations, and standards of the relevant countries and regions, and corresponding operation entrances are provided for the user to select to authorize or reject.
[0027] First, explanations are provided for the noun terms related to one or more embodiments of this specification.
[0028] Distributed storage system: Software that runs on multiple servers and works collaboratively, providing a programming interface similar to that of a block device, such as a block read / write interface.
[0029] Storage cluster: Multiple storage servers that are united through software to provide storage services externally.
[0030] throttle: A technology used to control the maximum amount of traffic that a service component can use.
[0031] Water level: Used to record the proportion of the storage space actually used in the storage cluster to the overall storage space of the cluster.
[0032] LSM: Log-Structured Merge-Tree, a data organization method that combines logs and memory. Data writing only appends and does not overwrite.
[0033] BlockServer service component: In a distributed block storage system, it is a service component used to process user read / write requests and store user data.
[0034] BlockGCWorker service component: A type of garbage collection component. Its main responsibility is to assist BlockServer in garbage collection, including executing garbage collection tasks, managing memory space, etc.; when storing data in the LSM data organization method, since user writes through BlockServer are written in an append-write manner to a new location, the historical data at the old location becomes garbage and needs to be cleaned up and recycled to free up storage space.
[0035] client: The client of a distributed system, which receives user requests and provides an interface for users to write data to the distributed system's cloud disk.
[0036] Generally, in a distributed storage system based on LSM, there are multiple servers, and there are multiple components on one server that use the same network card when processing data. For example, the BlockServer service component and the BlockGCWorker service component deployed on one server. The BlockServer service component is used to process user read / write requests and store user data, and the BlockGCWorker service component is used to recycle the historical data (i.e., garbage data) generated by users writing new data in the LSM data organization method.
[0037] To ensure that each service component does not use excessive traffic and thus squeeze other services, both the Blocks erver service component and the BlockGC Worker service component will pre-set a throttle to limit the upper limit of the traffic that each service component can use (i.e., the throttle upper limit).
[0038] Refer to Figure 1. Figure 1 is a schematic diagram of the upper limit curve of a traffic control method provided by an embodiment of this specification. As shown in Figure 1, Figure 1 shows the upper limit setting methods of the BlockGC Worker service component and the Blocks erver service component, including the throttle upper limit curve of the BlockGC Worker service component (i.e., the curve of the upper limit of the traffic of the backend data processing component in Figure 1), the throttle upper limit curve of the Blocks erver service component (i.e., the curve of the upper limit of the traffic of the frontend data processing component in Figure 1), and the actual traffic curve of the BlockGC Worker (i.e., the curve of the actual traffic of the backend data processing component in Figure 1).
[0039] Specifically, the throttle upper limit of the BlockGC Worker service component is dynamically set according to the storage water level of the storage cluster of the distributed storage system. For example, as shown by the corresponding curve of the BlockGC Worker throttle in Figure 1, when the utilization rate of the cluster water level is less than 50%, the throttle upper limit is set to 200MB / S; when the utilization rate of the cluster water level is above 80%, the throttle upper limit is set to 700MB / S; when the utilization rate of the cluster water level is between 50% and 80%, the throttle upper limit is linearly increased from 200MB / S to 700MB / S; the throttle upper limit of the BlockServer service component is set to a fixed threshold, such as 1000MB / s; the difference between the actual traffic curve of the BlockGC Worker and the throttle upper limit curve of the BlockGC Worker service component is the upper limit of the traffic that can suddenly increase when the BlockGC Worker service component processes data.
[0040] Generally, when the application is not in the peak period, the actual traffic used by the BlockGC Worker service component and the BlockServer service component is relatively low.
[0041] In the case where the application is at its peak and the application traffic from users received by the BlockServer service component surges, the actual traffic used by the BlockServer service component will surge and reach the set throttle upper limit. In this case, due to the surge in the application traffic from users, the amount of data written by users also surges, and the amount of garbage data that needs to be processed by the BlockGCWorker service component surges, resulting in a surge in the actual traffic used by the BlockGCWorker service component, and causing a traffic surge resonance problem between the BlockServer service component and the BlockGCWorker service component.
[0042] Refer to Figure 2. Figure 2 is a schematic diagram of the traffic resonance curve of a traffic control method provided by an embodiment of this specification. As shown in Figure 2, Figure 2 shows the schematic curve of the traffic resonance between the BlockGCWorker service component and the BlockServer service component, including the throttle upper limit curve of the BlockGCWorker service component (i.e., the curve of the traffic upper limit of the backend data processing component in Figure 2), the throttle upper limit curve of the BlockServer service component (i.e., the curve of the traffic upper limit of the frontend data processing component in Figure 2), the actual traffic curve of the BlockGCWorker (i.e., the curve of the actual traffic of the backend data processing component in Figure 2), and the actual traffic curve of the BlockServer service component (i.e., the curve of the actual traffic of the frontend data processing component in Figure 2). As shown in Figure 2, the actual traffic curve of the BlockGCWorker service component and the actual traffic curve of the BlockServer service component in Figure 2 have a traffic surge resonance problem.
[0043] Due to the traffic surge resonance problem of the two service components, the two service components will compete for the resources of the network card, resulting in a decline in the external service quality of the entire system.
[0044] In view of this, in this specification, two traffic control methods are provided. One or more embodiments of this specification are simultaneously related to two traffic control devices, a computing device, a computer-readable storage medium, and a computer program product to solve the technical defects existing in the related art. Refer to Figure 3. Figure 3 shows a schematic diagram of a specific scenario of a traffic control method provided by an embodiment of this specification.
[0045] Refer to Figure 3. Figure 3 shows a schematic diagram of a specific scenario of a traffic control method provided by an embodiment of this specification.
[0046] As shown in Figure 3, the data processing system shown in Figure 3 includes a client 302 and a server 304. In the server 304, a front-end data processing component 3042, a back-end data processing component 3044, and a network card 3046 are deployed. Among them, the client 302 includes, but is not limited to, mobile phones, tablet computers, laptop computers, desktop computers, etc. The server 304 includes, but is not limited to, cloud servers or physical servers. The front-end data processing component 3042 / the back-end data processing component 3044 includes, but is not limited to, hardware components, software components, etc. The network card 3046 includes, but is not limited to, physical network cards, cloud network cards, etc.
[0047] In specific implementation, after the user performs operations such as data storage and data processing on the client 302, the client 302 sends the user request to the server 304. The front-end data processing component 3042 in the server 304 determines the data processing request according to the user request. After the server 304 determines the data processing request of the front-end data processing component 3042, it allocates traffic to the front-end data processing component 3042 through the network card 3046. When the network card 3046 allocates traffic to the front-end data processing component 3042, it receives the traffic acquisition request sent by the back-end data processing component 3044, and according to the traffic control method in the embodiments of this specification, allocates the traffic after traffic control to the back-end data processing component for the back-end data processing component to process the back-end data.
[0048] Specifically, the network card 3046 first determines the back-end data processing component 3044, determines the initial traffic and the traffic growth gradient in the current traffic observation time window (i.e., the traffic observation window in Figure 3). According to the initial traffic and the traffic growth gradient, it determines the target traffic range within the current traffic observation time window, and within the current traffic observation time window, allocates traffic to the back-end data processing component 3044 according to the target traffic range of the current traffic observation time window. The back-end data processing component 3044 can use the allocated traffic within the current traffic observation time window. After that, the network card 3046 determines the traffic allocation strategy according to the traffic usage information when the back-end data processing component 3044 uses the allocated traffic, and determines the target traffic range within the next traffic observation time window accordingly, so as to realize the traffic control of the traffic used by the back-end data processing component 3044 by the network card 3046.
[0049] The traffic control method provided by the embodiments of this specification, when the network card distributes traffic to the front-end data processing component, receives the traffic acquisition request of the back-end data processing component to determine that there is a traffic acquisition request of the back-end data processing component that competes with the front-end data processing component for network card resources. According to this traffic acquisition request, determine the initial traffic and traffic growth gradient of the back-end data processing component in the current traffic observation window, and based on the initial traffic and traffic growth gradient, determine the target traffic range of the back-end data processing component within the current traffic observation time window, so as to limit the traffic control of the back-end data processing component within the current traffic observation time window. That is, within the current traffic observation time window, only allow the back-end data processing component to use traffic within the traffic range that is the target traffic range within the current traffic observation time window. After that, according to the traffic usage information of the back-end data processing component for the target traffic range within the current traffic observation time window, determine the traffic distribution strategy, and according to the traffic distribution strategy, determine the target traffic range within the next traffic observation time window to achieve traffic control within the next traffic observation time window. Moreover, the traffic distribution strategy of the back-end data processing component within the next traffic observation time window is determined by the traffic usage information of the target traffic range within the current traffic observation time window, realizing a controllable target traffic range with the traffic observation time window, avoiding sudden increases in the traffic used by the back-end data processing component, and avoiding the situation of resource contention for the network card between the back-end data processing component and the above-mentioned front-end data processing component, thereby improving the service quality of the entire data processing device.
[0050] Referring to FIG. 4, FIG. 4 is a flowchart of a traffic control method provided by an embodiment of this specification, which is applied to a data processing device. The data processing device includes a front-end data processing component and a back-end data processing component that share a target network card. The method specifically includes the following steps.
[0051] Step 402: When distributing traffic to the front-end data processing component, receive the traffic acquisition request of the back-end data processing component.
[0052] Among them, the data processing device can be understood as any device capable of implementing data processing, including but not limited to terminals, servers, etc. For example, the data processing device can be understood as a laptop computer, a desktop computer, an independent physical server, a server cluster composed of multiple physical servers, a cloud server, etc.
[0053] The front-end data processing component can be understood as a service component in the data processing device that processes user read / write requests and stores user data; the back-end data processing component can be understood as a component in the data processing device that assists the front-end data processing component and performs data processing at the back end. It should be noted that the back-end data processing component can be one or more. In the embodiments of this specification, the case where the back-end data processing component is one is taken as an example for explanation, but it is not limited thereto. The specific implementation manner when there are multiple back-end data processing components can be referred to in the embodiments of this specification.
[0054] For example, when the data processing device is understood as a server of the above-mentioned LSM-based distributed storage system, the front-end data processing component can be understood as the above-mentioned BlockServer service component, and the back-end data processing component can be understood as the above-mentioned BlockGCWorker service component.
[0055] The traffic acquisition request can be understood as a request sent by the back-end data processing component to the data processing device to request the data processing device to allocate traffic.
[0056] In practical applications, when the data processing device receives a read / write request sent by the front-end data processing component, it will allocate traffic to the front-end data processing component. The specific implementation manner is as follows.
[0057] When allocating traffic to the front-end data processing component and before receiving the traffic acquisition request of the back-end data processing component, it further includes: when receiving a data processing request sent by the front-end data processing component, allocating traffic to the front-end data processing component so that the front-end data processing component executes the data processing request according to the allocated traffic, and during the execution of the data processing request, generating a back-end data processing task and triggering the back-end data processing component to execute the back-end data processing task.
[0058] Among them, the data processing request can be understood as a request generated by the data processing system for the data operation instruction of the user on the client and used for data processing; the back-end data processing task can be understood as a data processing task to be executed by the back-end data processing component. Continuing with the above example, the data processing request can be understood as a user request sent by the BlockServer service component to the data processing device after the user has performed operations such as data storage and data processing on the client (i.e., the above-mentioned client), and the back-end data processing task can be understood as a garbage collection task.
[0059] During specific implementation, after the front-end data processing component of the data processing device receives a user's data processing instruction, it generates a data processing request. After the data processing device generates the data processing request, it performs traffic allocation to the front-end data processing component through the target network card. After the traffic allocation, the front-end data processing component can execute the data processing request according to the allocated traffic, and during the process of the front-end data processing component executing the data processing request, it generates a back-end data processing task and triggers the back-end data processing component to execute the back-end data processing task.
[0060] Specifically, when the front-end data processing component executes a data storage request, due to the increase in data write volume, it triggers the garbage collection task of the back-end data processing component, so that the back-end data processing component performs garbage collection to ensure the normal storage of data in the front-end data processing component.
[0061] The traffic control method provided by the embodiments of this specification performs traffic allocation to the front-end data processing component according to the data processing request sent by the front-end data processing component to ensure the normal implementation of the data processing request executed by the front-end data processing component. And when the front-end data processing component generates a back-end data processing task during the execution of the data processing request and triggers the back-end data processing component to execute the back-end data processing task, it performs subsequent traffic control on the back-end data processing component, so that the traffic used by the back-end data processing component during the execution of the back-end data processing task is smooth and there is no sudden increase, avoiding the occurrence of a resonance situation of sudden increase in the traffic used by the back-end data processing component and the front-end data processing component.
[0062] In practical applications, the back-end data processing component will send a traffic acquisition request to the data processing device only when it is executing a back-end data processing task. The specific implementation method is as follows.
[0063] Receiving the traffic acquisition request of the back-end data processing component includes: receiving the traffic acquisition request sent by the back-end data processing component when it is executing the back-end data processing task. Among them, the traffic acquisition request can be understood as a traffic acquisition request sent by the back-end data processing component for the back-end data processing task. The traffic acquisition request contains information about the back-end data processing component and information about the back-end data processing task, for the subsequent traffic allocation by the data processing device to the back-end data processing component.
[0064]
[0065] The traffic control method provided by the embodiments of this specification receives a traffic acquisition request sent by a backend data processing component when executing a backend data processing task, for subsequent control of the traffic used by the backend data processing component, further ensuring the normal implementation of data processing requests by the frontend data processing component.
[0066] Step 404: In response to the traffic acquisition request, determine the initial traffic and traffic growth gradient of the backend data processing component in the current traffic observation time window.
[0067] Among them, the current traffic observation time window can be understood as a preset current duration, during which the data processing device can observe and control the traffic of the backend data processing component. For example, the current traffic observation time window can be understood as the current three minutes.
[0068] It should be noted that in order to ensure the smoothness of the traffic used by the backend data processing component, the setting of the current traffic observation time window needs to meet a preset duration range. For example, the current traffic observation time window cannot be less than one minute and cannot be higher than thirty minutes, etc. The specific preset duration range can be set according to actual needs, and the embodiments of this specification do not limit this.
[0069] The initial traffic of the backend data processing component in the current traffic observation time window can be understood as the basic flow control traffic (traffic for basic traffic control) of the backend data processing component within the current traffic observation time window, that is, the initial traffic of the backend data processing component when no data processing is performed.
[0070] The traffic growth gradient can be understood as the traffic for presetting the traffic growth amplitude. For example, the traffic growth gradient can be set to 70MB / S.
[0071] In practical applications, the traffic growth gradient can also be determined according to the preset duration for the traffic to reach the traffic allocation upper limit, and the specific implementation method is as follows.
[0072] The step of, in response to the traffic acquisition request, determining the initial traffic and traffic growth gradient of the backend data processing component in the current traffic observation time window includes: in response to the traffic acquisition request, determining the initial traffic, preset traffic allocation upper limit, and traffic allocation duration for reaching the preset traffic allocation upper limit of the backend data processing component in the current traffic observation time window; and determining the traffic growth gradient of the current traffic observation time window according to the current traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration.
[0073] Among them, the preset traffic allocation upper limit can be understood as the upper limit of the traffic that the data processing device can allocate to a certain component; the traffic allocation duration reaching the preset traffic allocation upper limit can be understood as a preset duration, which characterizes the preset and assumed total duration from the data processing device starts to allocate traffic to this component until the allocated traffic reaches the upper limit of the traffic that the data processing device can allocate, assuming that the traffic allocation in each traffic observation window is higher than that in the previous traffic observation window during subsequent traffic allocation.
[0074] Continuing with the above example, the preset traffic allocation upper limit of the backend data processing component can be understood as the throttle upper limit of the above-mentioned BlockGCWorker service component, and the traffic allocation duration reaching the preset traffic allocation upper limit can be understood as the preset duration required to reach the throttle upper limit of the BlockGCWorker service component, assuming that the traffic allocated to the BlockGCWorker service component in each traffic observation time window is higher than that in the previous traffic observation time window.
[0075] After obtaining the traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration, the traffic growth gradient can be determined according to the traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration.
[0076] Specifically, the traffic growth gradient = preset traffic allocation upper limit / (traffic allocation duration / traffic observation time window). For example, if the traffic observation time window is 3 minutes, the preset traffic allocation upper limit is 700MB / S, and the traffic allocation duration is 30 minutes, then the traffic growth gradient is 700MB / s / (30 / 3) = 70MB / s.
[0077] The traffic control method provided by the embodiments of this specification determines the traffic growth gradient of the current traffic observation time window by determining and based on the initial traffic, the preset traffic allocation upper limit, and the traffic allocation duration reaching the preset traffic allocation upper limit of the backend data processing component, ensuring the rationality of the traffic growth gradient setting, thereby improving the rationality of the subsequent target traffic range, and enabling the backend data processing component to improve the rationality of using traffic without competing with the frontend data processing component for network card resources.
[0078] Step 406: Determine the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient.
[0079] Among them, the target traffic range within the current traffic observation time window can be understood as the traffic range for allocating traffic to the backend data processing component within the current traffic observation time window, that is, the range of traffic allowed to be used by the backend data processing component. Continuing with the above example, the target traffic range can be understood as the range of traffic allowed to be actually used by the BlockGCWorker service component within the current traffic observation time window.
[0080] In practical applications, the specific implementation method for determining the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient is as follows.
[0081] Determining the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient includes: determining the upper limit traffic within the current traffic observation time window according to the sum of the initial traffic and the traffic growth gradient; determining the lower limit traffic within the current traffic observation time window according to the difference between the initial traffic and the traffic growth gradient; and determining the target traffic range within the current traffic observation time window according to the upper limit traffic and the lower limit traffic.
[0082] Among them, the upper limit traffic within the current traffic observation time window can be understood as the upper limit of the traffic allocated by the data processing device to the backend data processing component through the target network card within the current traffic observation time window; the lower limit traffic within the current traffic observation time window can be understood as the lower limit of the traffic allocated by the data processing device to the backend data processing component through the target network card within the current traffic observation time window.
[0083] In specific implementation, after determining the backend data processing component, the initial traffic within the current traffic window, and the traffic growth gradient as above, using the initial traffic as the base flow control traffic, the sum obtained by adding the initial traffic and the traffic growth gradient is determined as the upper limit traffic within the current traffic observation time window, the difference obtained by subtracting the traffic growth gradient from the initial traffic is determined as the lower limit traffic within the current traffic observation time window, and the traffic range between the upper limit traffic and the lower limit traffic is determined as the target traffic range within the current traffic observation time window.
[0084] For example, if the initial traffic within the current traffic observation time window is 100 MB / S and the traffic growth gradient is 70 MB / S, then the upper limit traffic within the current traffic observation time window is 100 MB / s - 70 MB / s = 30 MB / s, and the lower limit traffic within the current traffic observation time window is 100 MB / s + 70 MB / s = 170 MB / s. Thus, the traffic range between the upper limit traffic and the lower limit traffic, i.e., 30 MB / s to 170 MB / s, is determined as the target traffic range within the current traffic observation time window.
[0085] The traffic control method provided by the embodiments of this specification determines the target traffic range through the sum of the initial traffic and the traffic growth gradient, as well as the difference between the initial traffic and the traffic growth gradient. Thus, it only allows the backend data processing component to probe the traffic with a traffic width equal to the traffic growth gradient upward or downward based on the current traffic observation window, avoiding sudden increases in the traffic used by the backend data processing component, and thus avoiding the situation of competing for network card resources between the backend data processing component and the frontend data processing component, improving the service quality.
[0086] Step 408: Determine the traffic allocation strategy according to the traffic usage information of the backend data processing component for the traffic within the target traffic range, and determine the target traffic range within the next traffic observation time window according to the traffic allocation strategy.
[0087] The traffic usage information can be understood as information including the traffic usage amounts corresponding to each time point of the current traffic observation time window when the backend data processing component uses the traffic within the target traffic range allocated to the data processing device within the current traffic observation time window. For example, if the initial traffic within the current traffic observation time window is 100 MB / S and the traffic growth gradient is 70 MB / S, then the upper limit traffic within the current traffic observation time window is 100 MB / s - 70 MB / s = 30 MB / s, and the lower limit traffic within the current traffic observation time window is 100 MB / s + 70 MB / s = 170 MB / s. Thus, the traffic range between the upper limit traffic and the lower limit traffic, i.e., 30 MB / s to 170 MB / s, is determined as the target traffic range within the current traffic observation time window.
[0088] Optionally, to improve the accuracy of the target traffic range determined for the next traffic observation time window, it can be achieved by controlling the durations of the current traffic observation time window and the next traffic observation time window to be the same, i.e., the durations of the current traffic observation time window and the next traffic observation time window are the same.
[0089] The traffic control method provided by the embodiments of this specification determines a traffic allocation strategy based on the traffic usage information within the target traffic range by the backend data processing component, and determines the target traffic range within the next traffic observation time window according to the traffic allocation strategy, ensuring that the next traffic observation time window conforms to the trend of the traffic used by the backend data processing component. While avoiding sudden increases in the traffic of the backend data processing component, it ensures the normal data processing of the backend data processing component. Moreover, by ensuring that the duration of the current traffic observation time window is the same as that of the next traffic observation time window, it further improves the accuracy and rationality of traffic allocation for the next traffic observation time window of the backend data processing component.
[0090] In practical applications, the specific implementation of determining the traffic allocation strategy based on the traffic usage information within the target traffic range by the backend data processing component and determining the target traffic range within the next traffic observation time window according to the traffic allocation strategy is as follows.
[0091] Determining the traffic allocation strategy based on the traffic usage information within the target traffic range by the backend data processing component and determining the target traffic range within the next traffic observation time window includes: when it is determined that the traffic usage information within the target traffic range by the backend data processing component meets the first traffic allocation condition, determining the first traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the first traffic allocation strategy; or when it is determined that the traffic usage information within the target traffic range by the backend data processing component meets the second traffic allocation condition, determining the second traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the second traffic allocation strategy; or when it is determined that the traffic usage information within the target traffic range by the backend data processing component does not meet the first traffic allocation condition and the second traffic allocation condition, determining the third traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the third traffic allocation strategy.
[0092] Among them, the first traffic allocation condition and the second traffic allocation condition can be understood as conditions regarding the ratio of the actual traffic used to the target traffic range by the backend data processing component for the traffic within the target traffic range within the preset current traffic observation time window.
[0093] In specific implementation, after determining the target traffic range of the current traffic observation window, the data processing device can allocate the traffic within the target traffic range to the backend data processing components within the current traffic observation window, observe and determine the traffic usage information of the backend data processing components for the traffic within the target traffic range, and determine whether the traffic usage information of the backend data processing components for the traffic within the target traffic range meets the first traffic allocation condition or the second traffic allocation condition.
[0094] After that, according to the satisfied traffic allocation condition, determine the corresponding traffic allocation strategy, and according to the traffic allocation strategy, determine the target traffic range within the next traffic observation time window.
[0095] The traffic control method provided by the embodiments of this specification determines whether the traffic usage information of the backend data processing components for the traffic within the target traffic range meets the first traffic allocation condition or the second traffic allocation condition, and determines three traffic allocation strategies according to the judgment result, so as to determine the corresponding traffic allocation strategy for each traffic allocation condition, further improving the accuracy and rationality of determining the target traffic range within the next traffic observation time window.
[0096] In practical applications, traffic allocation can be performed according to the percentage of the upper limit traffic or the lower limit traffic that reaches the target traffic range within the current traffic observation time window in the traffic usage information, so as to ensure the rationality of data processing by the backend data processing components.
[0097] Then, taking the percentage of the used traffic that reaches the upper limit traffic of the target traffic range within the current traffic observation time window in the traffic usage information as a condition, the specific implementation manner of the above steps is as follows. The first traffic allocation condition is that there is more than a preset percentage of used traffic in the traffic usage information that reaches the upper limit traffic of the target traffic range within the current traffic observation time window; correspondingly, determining the first traffic allocation strategy and determining the target traffic range within the next traffic observation time window according to the first traffic allocation strategy includes: determining the first traffic allocation strategy, determining the initial traffic of the next traffic observation time window according to the upper limit traffic of the target traffic range; and determining the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient.
[0098]
[0099] Among them, the preset percentage can be set according to the actual situation, and this specification does not limit it. For example, the preset percentage can be set to 60%.
[0100] The first traffic allocation condition is that there is used traffic exceeding a preset percentage in the traffic usage information and reaching the upper limit of the target traffic range within the current traffic observation time window. It can be understood that within the current traffic observation time window, for the used traffic within the target traffic range by the backend data processing component, the duration corresponding to the used traffic reaching the upper limit of the target traffic range is greater than or equal to the proportion of the preset percentage of the current traffic observation window. For example, if the preset percentage is set to 60%, within the current traffic observation time window, the backend data processing component has 2.4 minutes during which the used traffic reaches 170 MB / S. 2.4 / 3 = 80%, exceeding the preset percentage. That is, the proportion of the used traffic reaching the upper limit of the target traffic range of 170 MB / S by the backend data processing component exceeds the preset percentage of 60%. It is considered that the above determination of the traffic usage information of the backend data processing component within the target traffic range meets the first traffic allocation condition.
[0101] In specific implementation, within the current traffic observation time window, when the duration corresponding to the used traffic reaching the upper limit of the target traffic range in the used traffic within the target traffic range by the backend data processing component occupies the preset percentage of the current traffic observation window, it is considered that within the current traffic observation time window, the traffic required by the backend data processing component is higher than the traffic allocated by the data processing device to the backend data processing component.
[0102] Then, the upper limit of the target traffic range can be determined as the initial traffic for the next traffic observation time window. After that, according to the initial traffic of the next traffic observation time window and the traffic growth gradient, the target traffic range within the next traffic observation time window is determined.
[0103] In practical applications, the specific implementation of determining the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient can also be achieved by referring to the above specific implementation of determining the target traffic range within the current traffic observation time window according to the initial traffic of the current traffic observation time window and the traffic growth gradient. That is, the sum of the initial traffic and the traffic growth gradient is used as the traffic upper limit, and the difference between the initial traffic and the traffic growth gradient is used as the traffic lower limit. The target traffic range is determined according to the traffic upper limit and the traffic lower limit. The same applies to the following two other traffic allocation strategy cases and will not be elaborated here.
[0104] Continuing with the above example, for instance, when determining the traffic usage information of the backend data processing component within the target traffic range and meeting the first traffic allocation condition, the upper limit traffic of 170 MB / s in the target traffic range is determined as the initial traffic for the next traffic observation time window. Subsequently, based on the initial traffic of 170 MB / s in the next traffic observation time window and the traffic growth gradient of 70 MB / s, the target traffic range within the next traffic observation time window is determined to be 100 MB / s to 240 MB / s. Compared with the target traffic range of 30 MB / s to 170 MB / s within the current traffic observation time window, the traffic allocated by the data processing device has an additional traffic width of 70 MB / s.
[0105] Preferably, according to the initial traffic of each traffic observation time window and the traffic growth gradient, a specific implementation manner with the same logic can be adopted to determine the target traffic range within each traffic observation time window, so as to improve the accuracy of traffic control.
[0106] In the traffic control method provided by the embodiments of this specification, when there is a usage traffic exceeding a preset percentage and reaching the upper limit traffic of the target traffic range within the current traffic observation time window in the traffic usage information of the backend data processing component for the target traffic range, it can be explained that the currently allocated traffic is insufficient to support the data processing of the backend data processing component. Then, the upper limit traffic of the target traffic range within the current traffic observation time window can be determined as the initial traffic for the next traffic observation time window. Thus, according to the initial traffic of the next traffic observation time window and the traffic growth gradient, the target traffic range within the next traffic observation time window is determined, further improving the rationality of the target traffic range within the next traffic observation time window.
[0107] Taking the percentage of the usage traffic existing in the traffic usage information reaching the lower limit traffic of the target traffic range within the current traffic observation time window as a condition, the specific implementation manner of the above steps is described as follows.
[0108] The second traffic allocation condition is that there is used traffic exceeding a preset percentage in the traffic usage information and reaching the lower limit traffic of the target traffic range within the current traffic observation time window; correspondingly, determining the second traffic allocation strategy and, according to the second traffic allocation strategy, determining the target traffic range within the next traffic observation time window includes: determining the second traffic allocation strategy, determining the initial traffic of the next traffic observation time window according to the lower limit traffic of the target traffic range; and determining the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient.
[0109] Among them, the second traffic allocation condition is that there is used traffic exceeding a preset percentage in the traffic usage information and reaching the upper limit traffic of the target traffic range within the current traffic observation time window. It can be understood that within the current traffic observation time window, for the used traffic within the target traffic range, the duration corresponding to the used traffic reaching the lower limit traffic of the target traffic range occupies a ratio greater than or equal to the preset percentage of the current traffic observation window. For example, the preset percentage is set to 60%. Within the current traffic observation time window, the back-end data processing component has 2.4 minutes when the used traffic reaches 30 MB / S. 2.4 / 3 = 80%, exceeding the preset percentage, that is, the ratio of the used traffic of the back-end data processing component reaching the lower limit traffic of the target traffic range of 30 MB / S exceeds the preset percentage of 60%. It is considered that the above determination of the traffic usage information of the back-end data processing component for the traffic within the target traffic range meets the second traffic allocation condition.
[0110] Specifically, for the specific implementation manner of the embodiments of this specification, reference may be made to the specific implementation manner of the above-mentioned embodiments of the specification. The difference is only that the reference data in the traffic allocation condition is different, and as a result, the initial traffic of the next traffic observation time in the embodiments of this specification is determined differently by the lower limit traffic of the target traffic range. The embodiments of this specification do not elaborate on this.
[0111] The traffic control method provided by the embodiments of this specification can indicate that the currently allocated traffic is in an overflow state with respect to the data processing of the backend data processing component when, among the traffic usage information within the target traffic range for the backend data processing component, the used traffic exceeds a preset percentage and reaches the lower limit traffic of the target traffic range within the current traffic observation time window. Then, the lower limit traffic of the target traffic range within the current traffic observation time window can be determined as the initial traffic for the next traffic observation time window. Subsequently, based on the initial traffic for the next traffic observation time window and the traffic growth gradient, the target traffic range for the next traffic observation time window can be determined, further improving the rationality of the target traffic range for the next traffic observation time window.
[0112] In addition, in the case where the above first traffic allocation condition and second traffic allocation condition are not satisfied, that is, the traffic usage situation tends to remain stable, the specific implementation manner of the above steps is as follows.
[0113] Determining the third traffic allocation strategy and, based on the third traffic allocation strategy, determining the target traffic range for the next traffic observation time window includes: determining the third traffic allocation strategy and determining the target traffic range for the next traffic observation time window according to the target traffic range within the current traffic observation time window.
[0114] Specifically, in the case where the above first traffic allocation condition and second traffic allocation condition are not satisfied, the target traffic range within the current traffic observation time window is determined as the target traffic range for the next traffic observation time window.
[0115] The traffic control method provided by the embodiments of this specification, in the case where the first traffic allocation condition and second traffic allocation condition are not satisfied, determines the target traffic range within the current traffic observation time window as the target traffic range for the next traffic observation time window, so as to achieve that when there is no need to adjust the target traffic range, the target traffic range for the next traffic observation time window remains unchanged, further improving the rationality of the target traffic range for the next traffic observation time window. The target traffic range for the next traffic observation time window is maintained, further improving the rationality of the target traffic range for the next traffic observation time window.
[0116] In practical applications, after determining the target traffic range for the next traffic observation time window as described above, it is also possible to continue to determine further backward to achieve dynamic traffic control. The specific implementation manner is as follows.
[0117] After determining the target traffic range within the next traffic observation time window, the following steps are further included: determining the next traffic observation time window as the current traffic observation time window, and continuing to execute the steps of determining the traffic allocation strategy according to the traffic usage information of the backend data processing component within the target traffic range, and determining the target traffic range within the next traffic observation time window according to the traffic allocation strategy, until the response to the traffic acquisition request sent by the backend data processing component is completed.
[0118] Specifically, after determining the target traffic range within the next traffic observation time window, the data processing device can allocate corresponding traffic to the backend data processing component to achieve traffic control.
[0119] Furthermore, by determining the next traffic observation time window determined above as the current traffic observation time window, and based on the initial traffic, traffic growth gradient of the determined current traffic observation time window, and determining the traffic usage information of the backend data processing component within the target traffic range, the traffic control of the next traffic observation time window corresponding to the current traffic observation time window can be achieved. The specific implementation method can refer to the embodiments of the above specification.
[0120] The traffic control method provided by the embodiments of this specification realizes the dynamic traffic control of the backend data processing component by determining the next traffic observation time window as the current traffic observation window after determining the target traffic range within the next traffic observation time window, and continuing the above steps. It ensures that the entire process of the backend data processing component using traffic is smooth and without sudden increase, guarantees the normal use of traffic by the frontend data processing component, and thus improves the service quality provided by the entire data processing device.
[0121] The traffic control method provided by the embodiments of this specification, when the target network card distributes traffic to the front-end data processing component, receives the traffic acquisition request of the back-end data processing component to determine that there is a traffic acquisition request of the back-end data processing component that competes for network card resources with the front-end data processing component. According to this traffic acquisition request, determine the initial traffic and traffic growth gradient of the back-end data processing component in the current traffic observation window, and based on the initial traffic and traffic growth gradient, determine the target traffic range of the back-end data processing component within the current traffic observation time window, so as to limit the traffic control of the back-end data processing component within the current traffic observation time window, that is, within the current traffic observation time window, only allow the back-end data processing component to use traffic within the target traffic range within the current traffic observation time window. After that, determine the traffic distribution strategy according to the traffic usage information of the back-end data processing component for the target traffic range within the current traffic observation time window, and based on the traffic distribution strategy, determine the target traffic range within the next traffic observation time window to achieve traffic control within the next traffic observation time window. Moreover, the traffic distribution strategy of the back-end data processing component within the next traffic observation time window is determined by the traffic usage information of the target traffic range within the current traffic observation time window, realizing a controllable target traffic range with the traffic observation time window, avoiding sudden increases in the traffic used by the back-end data processing component, and avoiding the situation of competing for network card resources between the back-end data processing component and the above-mentioned front-end data processing component, thereby improving the service quality of the entire data processing device.
[0122] Referring to FIG. 5, FIG. 5 is a flowchart of another traffic control method provided by an embodiment of this specification, which is applied to a data processing device. The data processing device includes a front-end data processing component and a back-end data processing component that share a target network card. The method specifically includes the following steps.
[0123] Step 502: When receiving the data processing request sent by the front-end data processing component, distribute traffic to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the distributed traffic, and during the execution of the data processing request, generate a back-end data processing task and trigger the back-end data processing component to execute the back-end data processing task.
[0124] Step 504: Receive the traffic acquisition request sent by the back-end data processing component when executing the back-end data processing task.
[0125] Step 506: In response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the backend data processing component within the current traffic observation time window.
[0126] Optionally, the step of, in response to the traffic acquisition request, determining the initial traffic and the traffic growth gradient of the backend data processing component within the current traffic observation time window includes:
[0127] In response to the traffic acquisition request, determine the initial traffic, the preset traffic allocation upper limit, and the traffic allocation duration to reach the preset traffic allocation upper limit of the backend data processing component within the current traffic observation time window;
[0128] Based on the current traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration, determine the traffic growth gradient of the current traffic observation time window.
[0129] Step 508: Based on the initial traffic and the traffic growth gradient, determine the target traffic range within the current traffic observation time window.
[0130] Optionally, the step of, based on the initial traffic and the traffic growth gradient, determining the target traffic range within the current traffic observation time window includes: determining the upper limit traffic within the current traffic observation time window based on the sum of the initial traffic and the traffic growth gradient; determining the lower limit traffic within the current traffic observation time window based on the difference between the initial traffic and the traffic growth gradient; and determining the target traffic range within the current traffic observation time window based on the upper limit traffic and the lower limit traffic.
[0131] Step 510: Based on the traffic usage information of the backend data processing component for the traffic within the target traffic range, determine a traffic allocation strategy, and based on the traffic allocation strategy, determine the target traffic range within the next traffic observation time window.
[0132] Optionally, the duration of the current traffic observation time window is the same as that of the next traffic observation time window.
[0133] Optionally, determining a traffic allocation strategy based on the traffic usage information of the backend data processing component for the traffic within the target traffic range, and determining the target traffic range within the next traffic observation time window according to the traffic allocation strategy includes: when it is determined that the traffic usage information of the backend data processing component for the traffic within the target traffic range meets the first traffic allocation condition, determining a first traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the first traffic allocation strategy; or when it is determined that the traffic usage information of the backend data processing component for the traffic within the target traffic range meets the second traffic allocation condition, determining a second traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the second traffic allocation strategy; or when it is determined that the traffic usage information of the backend data processing component for the traffic within the target traffic range does not meet the first traffic allocation condition and the second traffic allocation condition, determining a third traffic allocation strategy, and determining the target traffic range within the next traffic observation time window according to the third traffic allocation strategy.
[0134] Optionally, the first traffic allocation condition is that there is usage traffic exceeding a preset percentage in the traffic usage information, reaching the upper limit traffic of the target traffic range within the current traffic observation time window; correspondingly, determining the first traffic allocation strategy and determining the target traffic range within the next traffic observation time window according to the first traffic allocation strategy includes: determining the first traffic allocation strategy, determining the initial traffic of the next traffic observation time window according to the upper limit traffic of the target traffic range; and determining the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient.
[0135] Optionally, the second traffic allocation condition is that there is usage traffic exceeding a preset percentage in the traffic usage information, reaching the lower limit traffic of the target traffic range within the current traffic observation time window; correspondingly, determining the second traffic allocation strategy and determining the target traffic range within the next traffic observation time window according to the second traffic allocation strategy includes: determining the second traffic allocation strategy, determining the initial traffic of the next traffic observation time window according to the lower limit traffic of the target traffic range ; and determining the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient.
[0136] Optionally, determining the third traffic allocation policy and determining the target traffic range within the next traffic observation time window according to the third traffic allocation policy includes: determining the third traffic allocation policy and determining the target traffic range within the next traffic observation time window according to the target traffic range within the current traffic observation time window.
[0137] Optionally, after determining the target traffic range within the next traffic observation time window, it further includes: determining the next traffic observation time window as the current traffic observation time window, and continuing to execute the step of determining the traffic allocation policy according to the traffic usage information of the traffic within the target traffic range by the backend data processing component, and determining the target traffic range within the next traffic observation time window according to the traffic allocation policy, until the response to the traffic acquisition request sent by the backend data processing component is completed.
[0138] The traffic control method provided by the embodiments of this specification allocates traffic to the front-end data processing component according to the data processing request sent by the front-end data processing component to ensure the normal implementation of the data processing request by the front-end data processing component, and generates a backend data processing task during the execution of the data processing request by the front-end data processing component, and receives the traffic acquisition request of the backend data processing component and executes subsequent traffic control of the backend data processing component when the backend data processing component is triggered to execute the backend data processing task, so that the traffic used by the backend data processing component during the execution of the backend data processing task is smooth and has no sudden increase, avoiding the sudden increase resonance between the traffic used by the backend data processing component and the front-end data processing component; moreover, according to this traffic acquisition request, determine and determine the target traffic range of the backend data processing component within the current traffic observation time window according to the initial traffic and traffic growth gradient of the backend data processing component within the current traffic observation window, realizing traffic control of the backend data processing component within the current traffic observation time window. After that, determine the traffic allocation policy according to the traffic usage information of the backend data processing component for the target traffic range within the current traffic observation time window, and determine the target traffic range within the next traffic observation time window according to the traffic allocation policy, realizing a controllable target traffic range with the traffic observation time window, avoiding sudden increase in the traffic used by the backend data processing component, thereby avoiding the situation of sudden increase resonance and competing for network card resources between the backend data processing component and the above-mentioned front-end data processing component, thus improving the service quality of the entire data processing device.
[0139] The above is a schematic solution of another traffic control method of this embodiment. It should be noted that the technical solution of this traffic control method and the technical solution of the above-mentioned traffic control method belong to the same concept. For the details not described in detail in the technical solution of this traffic control method, reference can be made to the description of the technical solution of the above-mentioned traffic control method.
[0140] The following takes the application of the traffic control method provided in the embodiments of this specification in a distributed storage system based on LSM as an example in conjunction with FIG. 6 to further illustrate the traffic control method. Among them, FIG. 6 is a schematic diagram of a traffic control curve of a traffic control method provided in an embodiment of this specification. Specifically, taking the traffic control method provided in the embodiments of this specification as an example, it is applied to and deployed in a storage server in a distributed storage system based on LSM (for the convenience of description, hereinafter referred to as the server), and the explanation is made by taking the BlockGCWorker service component (i.e., the backend data processing component) and the BlockServer service component (i.e., the frontend data processing component) as examples.
[0141] Specifically, FIG. 6 includes the throttle upper limit curve of the BlockGCWorker service component (i.e., the preset traffic allocation upper limit of the backend data processing component in the above-mentioned specification embodiment, as shown by the backend data processing component traffic upper limit curve in FIG. 6), the throttle upper limit curve of the BlockServer service component (i.e., the preset traffic allocation upper limit of the frontend data processing component in the above-mentioned specification embodiment, as shown by the frontend data processing component traffic upper limit curve in FIG. 6), the actual traffic usage curve of the BlockServer service component (i.e., the traffic usage of the frontend data processing component in the above-mentioned specification embodiment, as shown by the frontend data processing component actual traffic in FIG. 6), and the basic flow control curves corresponding to each traffic observation window of the BlockGCWorker (i.e., the above-mentioned traffic observation time window) (i.e., the initial traffic corresponding to the backend data processing component and each traffic observation window in the above-mentioned specification embodiment, as shown by the backend data processing component actual traffic curve in FIG. 6).
[0142] Furthermore, the throttle upper limit of the BlockGCWorker service component is dynamically set according to the storage water level of the cluster. For example, as shown by the corresponding curve of gcworker throttle in Figure 6, when the utilization rate of the cluster water level is less than 50%, the throttle upper limit is set to 200MB / s; when the utilization rate of the cluster water level is above 80%, the throttle upper limit is set to 700MB / S; when the utilization rate of the cluster water level is between 50% and 80%, the throttle upper limit is linearly increased from 200MB / S to 700MB / S. The throttle upper limit of the BlockServer service component is set to a fixed threshold, such as 1000MB / S. The difference between the actual used traffic curve of BlockGCWorker and the throttle upper limit curve of the BlockGCWorker service component is the upper limit of the traffic that can suddenly increase when the BlockGCWorker service component processes data. Usually, when the application is not in the peak period, the traffic actually used by the BlockGCWorker service component and the BlockServer service component is relatively low. For example, the actual used traffic of the BlockGCWorker service component can be 100MB / S.
[0143] During specific implementation, to avoid the problem of traffic sudden increase resonance between the BlockServer service component and the BlockGCWorker service component, a traffic observation window is introduced between the throttle traffic upper limit of the BlockGCWorker service component and the actual traffic of the BlockGCWorker service component. Without changing the throttle setting strategy of the BlockGCWorker service component and the BlockServer service component, only the traffic observation window is used to control the used traffic of the BlockGCWorker service component.
[0144] Further, given a traffic observation window Tk (i.e., the above-mentioned traffic observation time window), the actual traffic of the BlockGCWorker service component is allowed to explore the traffic with a traffic width Tt (i.e., the above-mentioned traffic growth gradient) upward or downward based on the current traffic Tb (i.e., the initial value of each traffic observation time window). There is a basic traffic value Tb within each traffic observation window Tk. The initial value of Tb is the traffic Tg of the BlockGCWorker service component when garbage collection has not started yet (i.e., the starting value of the initial value of each traffic observation time window, which is also the initial value of the current traffic observation time window). Within the first traffic observation window Tk (i.e., the current traffic observation time window), the maximum traffic that the BlockGCWorker service component can reach is Tb + Tt (i.e., the upper limit traffic of the target traffic range of the current traffic observation time window).
[0145] After that, when performing traffic control for the next traffic observation window, by determining the traffic usage of the current traffic observation window for the traffic within the traffic width Tt explored upward or downward based on the current traffic Tb, the traffic control method for the BlockGCWorker service component within the next traffic observation window is determined. For example, if the current traffic of the BlockGCWorker service component is Tb and it reaches the traffic of Tb + Tt for more than 60% of the time within the Tk time window, then within the next time window Tk, the basic traffic control of the BlockGCWorker service component (i.e., the initial value within the next traffic observation time window) is increased to Tb = (Tb + Tt). Another example, if the current traffic of the BlockGCWorker service component is Tb and it reaches the traffic of T (Tb - Tt) for more than 60% of the time within the Tk time window, then within the next time window Tk, the basic traffic control of the BlockGCWorker service component (i.e., the initial value within the next traffic observation time window) is adjusted downward to Tb = (Tb - Tt). o
[0146] In this way, following the time sequence of the traffic observation time window, explore backward consistently until the garbage collection of the BlockGCWorker service component is completed.
[0147] It should be noted that the maximum traffic value that Tb + Tt can explore is the throttle upper limit of the BlockGCWorker service component, that is, the maximum value of Tb = gcworker throttle - Tt; the minimum traffic value that Tb + Tt can explore is 0, that is, the minimum value of Tb is Tt.
[0148] In addition, the setting methods of the above Tk, Tt, and Tb are specifically as shown in 1) to 3) below.
[0149] 1) To avoid the sawtooth fluctuation of the traffic used by the BlockGCWorker service component, a traffic observation window Tk is usually set within a reasonable range. For example, the traffic observation window Tk can be set to three minutes.
[0150] 2) To ensure the normal processing of garbage collection by the BlockGCWorker service component, Tt can be set according to actual needs. For example, if it is expected that the traffic used by the BlockGCWorker service component can reach the throttle upper limit of the BlockGCWorker service component within 30 minutes at the fastest, then, according to Tt = 3 minutes and the throttle upper limit of the BlockGCWorker service component = 700 MB / s, Tt can be set to 700 MB / s / (30 / 3) = 70 MB / s. Component throttle upper limit = 700 MB / s, then Tt can be set to 700 MB / s / (30 / 3) = 70 MB / s o
[0151] 3) Set the initial value of Tb to the traffic Tg used by the current BlockGCWorker service component, and according to the above steps, perform dynamic traffic control on the BlockGCWorker service component in a dynamic traffic up and down detection manner (i.e., the above traffic control method).
[0152] The traffic control method provided by the embodiments of this specification performs traffic control on the traffic used by the backend data processing component in the data processing device when executing the backend data processing task triggered by the frontend data processing component during data processing. Specifically, it dynamically controls the traffic used by the backend data processing component through the traffic observation time window, enabling the backend data processing component to execute the backend data processing task with smooth traffic, avoiding the situation of sudden increase and resonance in the traffic used by the backend data processing component and the traffic used by the frontend data processing component, thereby improving the service quality provided by the data processing device.
[0153] Corresponding to the above method embodiments, this specification also provides embodiments of a traffic control device. FIG. 7 shows a schematic structural diagram of a traffic control device provided by an embodiment of this specification. As shown in FIG. 7, the device includes: a first receiving module 702, configured to receive a traffic acquisition request from a backend data processing component when traffic is allocated to a frontend data processing component; a first determination module 704, configured to, in response to the traffic acquisition request, determine an initial traffic volume and a traffic growth gradient of the backend data processing component within a current traffic observation time window; a second determination module 706, configured to determine a target traffic range within the current traffic observation time window according to the initial traffic volume and the traffic growth gradient; a third determination module 708, configured to determine a traffic allocation strategy according to traffic usage information of the backend data processing component within the target traffic range, and determine a target traffic range within a next traffic observation time window according to the traffic allocation strategy.
[0154] Optionally, the third determination module 708 is further configured to: when it is determined that the traffic usage information of the backend data processing component within the target traffic range satisfies a first traffic allocation condition, determine a first traffic allocation strategy, and determine a target traffic range within a next traffic observation time window according to the first traffic allocation strategy; or when it is determined that the traffic usage information of the backend data processing component within the target traffic range satisfies a second traffic allocation condition, determine a second traffic allocation strategy, and determine a target traffic range within a next traffic observation time window according to the second traffic allocation strategy; or when it is determined that the traffic usage information of the backend data processing component within the target traffic range does not satisfy the first traffic allocation condition and the second traffic allocation condition, determine a third traffic allocation strategy, and determine a target traffic range within a next traffic observation time window according to the third traffic allocation strategy.
[0155] Optionally, the first traffic allocation condition is that there is a usage traffic exceeding a preset percentage in the traffic usage information, reaching the upper limit traffic of the target traffic range within the current traffic observation time window; correspondingly, the third determination module 708 is further configured to: determine a first traffic allocation strategy, determine an initial traffic volume of a next traffic observation time window according to the upper limit traffic of the target traffic range; and determine a target traffic range within the next traffic observation time window according to the initial traffic volume of the next traffic observation time window and the traffic growth gradient.
[0156] Optionally, the second traffic allocation condition is that there is a usage traffic exceeding a preset percentage in the traffic usage information, reaching the lower limit traffic of the target traffic range within the current traffic observation time window; correspondingly, the third determination module 708 is further configured to: determine a second traffic allocation policy, determine the initial traffic of the next traffic observation time window according to the lower limit traffic of the target traffic range; determine the target traffic range within the next traffic observation time window according to the initial traffic of the next traffic observation time window and the traffic growth gradient.
[0157] Optionally, the third determination module 708 is further configured to: determine a third traffic allocation policy, and determine the target traffic range within the next traffic observation time window according to the target traffic range within the current traffic observation time window.
[0158] Optionally, the device further includes a seventh determination module, configured to: determine the next traffic observation time window as the current traffic observation time window, and continue to execute the step of determining a traffic allocation policy according to the traffic usage information within the target traffic range by the backend data processing component, and determining the target traffic range within the next traffic observation time window according to the traffic allocation policy, until the response to the traffic acquisition request sent by the backend data processing component is completed.
[0159] Optionally, the first determination module 704 is further configured to: in response to the traffic acquisition request, determine the initial traffic, the preset traffic allocation upper limit, and the traffic allocation duration reaching the preset traffic allocation upper limit of the backend data processing component within the current traffic observation time window; determine the traffic growth gradient of the current traffic observation time window according to the current traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration.
[0160] Optionally, the second determination module 706 is further configured to: determine the upper limit traffic within the current traffic observation time window according to the sum of the initial traffic and the traffic growth gradient; determine the lower limit traffic within the current traffic observation time window according to the difference between the initial traffic and the traffic growth gradient; determine the target traffic range within the current traffic observation time window according to the upper limit traffic and the lower limit traffic.
[0161] Optionally, the duration of the current traffic observation time window is the same as that of the next traffic observation time window.
[0162] Optionally, the device further includes a first task trigger module configured to: when receiving a data processing request sent by the front-end data processing component, perform traffic allocation to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and generate a back-end data processing task during the execution of the data processing request, and trigger the back-end data processing component to execute the back-end data processing task.
[0163] Optionally, the device further includes a third receiving module configured to: receive a traffic acquisition request sent by the back-end data processing component when the back-end data processing component executes the back-end data processing task.
[0164] The above is a schematic solution of a traffic control device according to this embodiment. It should be noted that the technical solution of this traffic control device and the technical solution of the above traffic control method belong to the same concept. For the details not described in the technical solution of the traffic control device, reference can be made to the description of the technical solution of the above traffic control method.
[0165] Corresponding to the above method embodiment, this specification also provides another embodiment of a traffic control device. FIG. 8 shows a schematic structural diagram of another traffic control device provided by an embodiment of this specification. As shown in FIG. 8, the device includes a task trigger module 802, a second receiving module 804, a fourth determination module 806, a fifth determination module 808, and a sixth determination module 810.
[0166] The task trigger module 802 is configured to, when receiving a data processing request sent by the front-end data processing component, perform traffic allocation to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and generate a back-end data processing task during the execution of the data processing request, and trigger the back-end data processing component to execute the back-end data processing task.
[0167] The second receiving module 804 is configured to receive a traffic acquisition request sent by the back-end data processing component when the back-end data processing component executes the back-end data processing task.
[0168] The fourth determination module 806 is configured to, in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window.
[0169] The fifth determination module 808 is configured to determine a target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient.
[0170] The sixth determination module 810 is configured to determine a traffic allocation policy according to the traffic usage information of the backend data processing component for the traffic within the target traffic range, and determine a target traffic range within the next traffic observation time window according to the traffic allocation policy.
[0171] The above is a schematic solution of another traffic control device according to this embodiment. It should be noted that the technical solution of this traffic control device and the technical solution of the above-mentioned another traffic control method belong to the same concept. For the details not described in detail in the technical solution of this traffic control device, reference can be made to the description of the technical solution of the above-mentioned another traffic control method.
[0172] FIG. 9 shows a structural block diagram of a computing device 900 according to an embodiment of the present specification. The components of the computing device 900 include but are not limited to a memory 910 and a processor 920. The processor 920 is connected to the memory 910 through a bus 930, and a database 950 is used to store data.
[0173] The computing device 900 also includes an access device 940 that enables the computing device 900 to communicate via one or more networks 960. Examples of such networks include the Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 940 may include one or more of any type of wired or wireless network interface (e.g., network interface card (NIC)), such as an IEEE802.11 Wireless Local Area Network (WLAN) wireless interface, Worldwide Interoperability for Microwave Access (Wi-MAX) interface, Ethernet interface, Universal Serial Bus (USB) interface, cellular network interface, Bluetooth interface, Near Field Communication (NFC) interface, and so on.
[0174] In one embodiment of the present specification, the above components of the computing device 900 and other components not shown in FIG. 9 may also be connected to each other, for example, via a bus. It should be understood that the block diagram of the computing device shown in FIG. 9 is for illustrative purposes only and is not a limitation on the scope of the present specification. Those skilled in the art may add or replace other components as needed.
[0175] The computing device 900 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 900 can also be a mobile or stationary server.
[0176] Among them, the processor 920 is used to execute the following computer-executable instructions, and when the computer-executable instructions are executed by the processor, the steps of the above-mentioned flow control method are implemented.
[0177] The above is a schematic solution of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the above-mentioned flow control method belong to the same concept. For the details not described in detail in the technical solution of the computing device, reference can be made to the description of the technical solution of the above-mentioned flow control method.
[0178] An embodiment of this specification also provides a computer-readable storage medium, which stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the steps of the above-mentioned flow control method are implemented.
[0179] The above is a schematic solution of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the above-mentioned flow control method belong to the same concept. For the details not described in detail in the technical solution of the storage medium, reference can be made to the description of the technical solution of the above-mentioned flow control method.
[0180] An embodiment of this specification also provides a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the steps of the above-mentioned flow control method are implemented.
[0181] The above is a schematic solution of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the above-mentioned flow control method belong to the same concept. For the details not described in detail in the technical solution of the computer program product, reference can be made to the description of the technical solution of the above-mentioned flow control method.
[0182] The above describes specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the figures do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0183] The computer instructions include computer program code, which may be in the form of source code, object code, executable files, or some intermediate forms, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a portable hard drive, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium, etc. It should be noted that the content included in the computer-readable medium can be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.
[0184] It should be noted that for the foregoing method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of this specification are not limited by the described action sequence, because according to the embodiments of this specification, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments of this specification.
[0185] In the above embodiments, the descriptions of the respective embodiments each have their own emphases. For parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0186] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The alternative embodiments do not elaborate on all the details, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made according to the content of the embodiments of this specification. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments of this specification, so that those skilled in the art can well understand and utilize this specification. This specification is only limited by the claims and their full scope and equivalents.
Claims
Claims 1. A flow control method is applied to a data processing device, where the data processing device includes a front-end data processing component and a back-end data processing component sharing a target network card, and the method includes: When traffic is allocated to the front-end data processing component, receive a traffic acquisition request from the back-end data processing component; In response to the traffic acquisition request, determine the initial traffic and traffic growth gradient of the back-end data processing component in the current traffic observation time window; based on the initial traffic and the traffic growth gradient, determine the target traffic range within the current traffic observation time window; based on the traffic usage information of the back-end data processing component within the target traffic range, determine a traffic allocation strategy, and based on the traffic allocation strategy, determine the target traffic range in the next traffic observation time window.
2. The traffic control method according to claim 1, wherein determining a traffic allocation policy based on the traffic usage information of the backend data processing component for the traffic within the target traffic range, and determining the target traffic range within the next traffic observation time window according to the traffic allocation policy, includes: When it is determined that the traffic usage information of the back-end data processing component within the target traffic range meets the first traffic allocation condition, determine the first traffic allocation strategy, and based on the first traffic allocation strategy, determine the target traffic range in the next traffic observation time window; or when it is determined that the traffic usage information of the back-end data processing component within the target traffic range meets the second traffic allocation condition, determine the second traffic allocation strategy, and based on the second traffic allocation strategy, determine the target traffic range in the next traffic observation time window; or when it is determined that the traffic usage information of the back-end data processing component within the target traffic range does not meet the first traffic allocation condition and the second traffic allocation condition, determine the third traffic allocation strategy, and based on the third traffic allocation strategy, determine the target traffic range in the next traffic observation time window.
3. The flow control method according to claim 2, wherein the first flow allocation condition is that there is a usage flow exceeding a preset percentage in the flow usage information, reaching the upper limit flow of the target flow range within the current flow observation time window; The determination of the first traffic allocation strategy, and based on the first traffic allocation strategy, the determination of the target traffic range in the next traffic observation time window, includes: Determine the first traffic allocation strategy, and based on the upper limit traffic of the target traffic range, determine the initial traffic of the next traffic observation time window; Based on the initial traffic of the next traffic observation time window and the traffic growth gradient, determine the target traffic range within the next traffic observation time window.
4. The flow control method according to claim 2, wherein the second flow allocation condition is that there is a used flow exceeding a preset percentage in the flow usage information, reaching the lower limit flow of the target flow range within the current flow observation time window; The determination of the second traffic allocation strategy, and based on the second traffic allocation strategy, the determination of the target traffic range in the next traffic observation time window, includes: Determine the second traffic allocation strategy, and based on the lower limit traffic of the target traffic range, determine the initial traffic of the next traffic observation time window; Based on the initial traffic of the next traffic observation time window and the traffic growth gradient, determine the target traffic range within the next traffic observation time window.
5. The flow control method according to claim 2, wherein the determining the third flow allocation policy and determining the target flow range within the next flow observation time window according to the third flow allocation policy includes: Determine the third traffic allocation strategy, and based on the target traffic range within the current traffic observation time window, determine the target traffic range within the next traffic observation time window.
6. The traffic control method according to any one of claims 1-5, the determination of the next traffic observation time window After the target flow rate range in the oral cavity, it further includes: Determine the next traffic observation time window as the current traffic observation time window, and continue to execute the step of determining the traffic allocation strategy according to the traffic usage information within the target traffic range by the backend data processing component, and determining the target traffic range within the next traffic observation time window according to the traffic allocation strategy, until the response to the traffic acquisition request sent by the backend data processing component is completed.
7. The traffic control method according to claim 1, wherein the determining the initial traffic volume and the traffic growth gradient of the backend data processing component within the current traffic observation time window in response to the traffic acquisition request includes: In response to the traffic acquisition request, determine the initial traffic, the preset traffic allocation upper limit, and the traffic allocation duration reaching the preset traffic allocation upper limit of the backend data processing component within the current traffic observation time window; Determine the traffic growth gradient within the current traffic observation time window according to the current traffic observation time window, the preset traffic allocation upper limit, and the traffic allocation duration.
8. The flow control method according to claim 1, wherein determining the target flow range within the current flow observation time window according to the initial flow and the flow growth gradient comprises: Determine the upper limit traffic within the current traffic observation time window according to the sum of the initial traffic and the traffic growth gradient; Determine the lower limit traffic within the current traffic observation time window according to the difference between the initial traffic and the traffic growth gradient; Determine the target traffic range within the current traffic observation time window according to the upper limit traffic and the lower limit traffic.
9. The traffic control method according to claim 1, wherein the duration of the current traffic observation time window is the same as the duration of the next traffic observation time window.
10. The flow control method according to claim 1, further comprising, before receiving a flow acquisition request from the backend data processing component when performing flow distribution to the frontend data processing component: In the case of receiving a data processing request sent by the front-end data processing component, allocate traffic to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and generate a backend data processing task during the execution of the data processing request, and trigger the backend data processing component to execute the backend data processing task.
11. The flow control method according to claim 10, wherein receiving the flow acquisition request of the backend data processing component comprises: Receive the traffic acquisition request sent by the backend data processing component when the backend data processing component executes the backend data processing task.
12. A flow control method is applied to a data processing device, the data processing device includes a front-end data processing component and a back-end data processing component sharing a target network card, and the method includes: In the case of receiving a data processing request sent by the front-end data processing component, traffic is allocated to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and during the execution of the data processing request, a back-end data processing task is generated, and the back-end data processing component is triggered to execute the back-end data processing task; receive a traffic acquisition request sent by the back-end data processing component when the back-end data processing component executes the back-end data processing task; in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; according to the initial traffic and the traffic growth gradient, determine the target traffic range within the current traffic observation time window; according to the traffic usage information of the back-end data processing component for the traffic within the target traffic range, determine a traffic allocation strategy, and according to the traffic allocation strategy, determine the target traffic range within the next traffic observation time window.
13. A traffic control device, comprising: A first receiving module, configured to receive a traffic acquisition request from a back-end data processing component when traffic is allocated to a front-end data processing component; A first determination module, configured to, in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; A second determination module, configured to determine the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient; A third determination module, configured to determine a traffic allocation strategy according to the traffic usage information of the back-end data processing component for the traffic within the target traffic range, and according to the traffic allocation strategy, determine the target traffic range within the next traffic observation time window.
14. A flow control device, comprising: A task trigger module, configured to, in the case of receiving a data processing request sent by a front-end data processing component, allocate traffic to the front-end data processing component, so that the front-end data processing component executes the data processing request according to the allocated traffic, and during the execution of the data processing request, generate a back-end data processing task, and trigger the back-end data processing component to execute the back-end data processing task; A second receiving module, configured to receive a traffic acquisition request sent by the back-end data processing component when the back-end data processing component executes the back-end data processing task; a fourth determination module, configured to, in response to the traffic acquisition request, determine the initial traffic and the traffic growth gradient of the back-end data processing component in the current traffic observation time window; A fifth determination module, configured to determine the target traffic range within the current traffic observation time window according to the initial traffic and the traffic growth gradient; A sixth determination module, configured to determine a traffic allocation policy according to the traffic usage information of the backend data processing component for the traffic within the target traffic range, and determine the target traffic range within the next traffic observation time window according to the traffic allocation policy.
15. A computing device, comprising: A memory and a processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions. When the computer-executable instructions are executed by the processor, the steps of the traffic control method according to any one of claims 1 to 12 are implemented.
16. A computer-readable storage medium storing computer-executable instructions, which when executed by a processor implement the steps of the traffic control method according to any one of claims 1 to 12.
17. A computer program product, comprising a computer program / instructions, which when executed by a processor implement the steps of the traffic control method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Dynamic current limiting method, apparatus, and system
CN109005125A
Server current limiting method and device, computer equipment and storage medium
CN110351357A
Flow limiting method and device applied to web server
CN110460541A
Traffic Control Method and Apparatus
US20170134290A1