Data flow speed limiting method and device, electronic equipment and storage medium
By acquiring and analyzing network performance data in the SRv6 backbone network in real time, determining the target wide-area line and limiting the corresponding links, the service quality assurance problems of the SRv6 backbone network in the intensified traffic volatility and elephant flow scenarios are solved, and more efficient network resource utilization and more stable network performance are achieved.
Patent Information
- Application Number
- CN202411698678.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-02-28
AI Technical Summary
In the SRv6 backbone network, in the intensified traffic volatility and complex elephant flow scenarios, the controller's intelligent tuning algorithm cannot respond to traffic changes in time, resulting in the inability to guarantee service quality.
By obtaining network performance data of multiple wide-area lines in real time and pre-set speed limit thresholds, the target wide-area lines are determined, and the speed limit traffic of the target link is calculated based on the actual traffic and transmission rate of the link, and sent to the router for speed limiting.
This method improves network resource utilization, enhances network stability and reliability, optimizes user experience, alleviates line congestion in complex elephant flow scenarios, and ensures service quality.
Smart Images

Figure CN119544612A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network communication technology, and in particular to a method, device, electronic device and storage medium for limiting the speed of a data flow. Background Art
[0002] As an emerging network architecture, SRv6 (Segment Routing over IPv6) has been widely used in backbone networks for its flexibility and scalability. In SRv6 backbone networks, controllers use intelligent algorithms to periodically optimize the transmission path of data packets based on network topology, link traffic, and the distribution of SRv6 policies. As network traffic becomes more volatile, especially with the emergence of elephant flows (data transmissions with a long duration and large traffic), the utilization of some wide area lines will be too high, leading to network congestion and performance degradation.
[0003] In the existing SRv6 backbone network, although the controller has a certain intelligent tuning capability, when dealing with complex scenarios such as increased traffic volatility and elephant flows, the controller's intelligent tuning algorithm makes decisions based on the global information of the network, but there is a certain delay in the acquisition and update of global information, resulting in the inability of the tuning decision to respond to traffic changes in a timely manner. As a result, the service quality cannot be guaranteed.
[0004] In summary, how to ensure service quality in scenarios with increased traffic volatility and complex elephant flows is a technical problem that needs to be urgently solved in this field. Summary of the invention
[0005] The embodiments of the present application provide a method, device, electronic device and storage medium for limiting the speed of data flow, so as to solve the problem of how to ensure the service quality in the scenario of increased traffic volatility and complex elephant flow.
[0006] In a first aspect, an embodiment of the present application provides a method for limiting the rate of a data flow, the method comprising:
[0007] Determine a target wide area line based on network performance data of multiple wide area lines acquired in real time and a preset speed limit threshold for each wide area line;
[0008] Determine a target link on the target wide area line based on the actual traffic of each link on the target wide area line, the transmission rate of the target wide area line, the speed limit threshold and the initial bandwidth;
[0009] Determine the speed limit flow of the target link based on the actual flow of each link and the flow ratio of the target wide area line;
[0010] The speed-limited traffic is sent to a router, so that the router limits the speed of the target link based on the speed-limited traffic.
[0011] In a possible implementation manner, determining a target wide area line based on network performance data of a plurality of wide area lines acquired in real time includes:
[0012] For each wide area line, based on the network performance data of the wide area line, calculate the utilization rate of the wide area line;
[0013] A wide area line whose utilization rate is greater than a speed limit threshold is determined as the target wide area line.
[0014] In a possible implementation manner, determining a target link on the target wide area line based on a transmission rate of the target wide area line, a preset rate limit threshold, and an initial bandwidth includes:
[0015] Calculating the speed limit bandwidth of the target wide area line according to the transmission rate of the target wide area line and the speed limit threshold;
[0016] Determining the traffic ratio based on an initial bandwidth of each link;
[0017] The target link is determined according to the speed-limited bandwidth, the traffic ratio, and the actual traffic of each link.
[0018] In a possible implementation manner, sending the rate-limited traffic to a router includes:
[0019] The rate-limited traffic is sent to the router via BGP SR Policy extension.
[0020] In a possible implementation manner, determining the target link according to the speed-limited bandwidth, the traffic ratio, and the actual traffic of each link includes:
[0021] Calculate the speed limit flow of each link according to the speed limit bandwidth and the flow ratio;
[0022] The target link is determined based on the rate-limited traffic of each link and the actual traffic of each link.
[0023] In a possible implementation, the method further includes:
[0024] Obtaining network performance data of the target wide area line;
[0025] When the utilization rate of the target wide area line is less than the speed limit threshold, generating a speed limit cancellation instruction;
[0026] The speed limit cancellation instruction is sent to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction.
[0027] In a second aspect, an embodiment of the present application provides a device for limiting the rate of a data flow, including:
[0028] A first determination module is used to determine a target wide area line based on network performance data of multiple wide area lines obtained in real time and a preset speed limit threshold of each wide area line;
[0029] A second determination module, configured to determine a target link on the target wide area line based on the transmission rate of the target wide area line, the rate limit threshold and the initial bandwidth;
[0030] A third determination module, configured to determine the speed limit flow of the target link based on the actual flow of each link on the target wide area line and the flow ratio of the target wide area line;
[0031] The first sending module is used to send the speed-limited traffic to a router, so that the router limits the speed of the target link based on the speed-limited traffic.
[0032] In a possible implementation manner, the first determining module is specifically configured to:
[0033] For each wide area line, based on the network performance data of the wide area line, calculate the utilization rate of the wide area line;
[0034] A wide area line whose utilization rate is greater than a speed limit threshold is determined as the target wide area line.
[0035] In a possible implementation manner, the second determining module is specifically configured to:
[0036] Calculating the speed limit bandwidth of the target wide area line according to the transmission rate of the target wide area line and the speed limit threshold;
[0037] Determining the traffic ratio based on an initial bandwidth of each link;
[0038] The target link is determined according to the speed-limited bandwidth, the traffic ratio, and the actual traffic of each link.
[0039] In a possible implementation manner, the first sending module is specifically configured to:
[0040] The rate-limited traffic is sent to the router via BGP SR Policy extension.
[0041] In a possible implementation manner, the second determining module determines the target link according to the speed limit bandwidth, the traffic ratio, and the actual traffic of each link, specifically including:
[0042] Calculate the speed limit flow of each link according to the speed limit bandwidth and the flow ratio;
[0043] The target link is determined based on the rate-limited traffic of each link and the actual traffic of each link.
[0044] In a possible implementation, the device further includes:
[0045] An acquisition module, used to acquire network performance data of the target wide area line;
[0046] A generating module, configured to generate a speed limit cancellation instruction when the utilization rate of the target wide area line is less than the speed limit threshold;
[0047] The second sending module is used to send the speed limit cancellation instruction to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction.
[0048] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor, and a communication interface;
[0049] The memory stores computer-executable instructions;
[0050] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.
[0051] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementations of the first aspect.
[0052] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0053] The method, device, electronic device and storage medium for limiting the speed of data flow provided in the embodiment of the present application are based on the actual flow of each link on the target wide area line, the transmission rate of the target wide area line, the pre-set speed limit threshold and the initial bandwidth, and the target link on the target wide area line is determined. Based on the actual flow of each link and the flow ratio of the target wide area line, the speed limit flow of the target link is determined, and the speed limit flow is sent down to the router so that the router can limit the speed of the target link based on the speed limit flow. Through the above method, the utilization rate of network resources is improved, the stability and reliability of the network are enhanced, the user experience is optimized, the line congestion in the complex scene of the elephant flow is alleviated, and the service quality is guaranteed. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0055] Figure 1 It is a schematic diagram of SRv6 backbone network traffic scheduling in the prior art;
[0056] Figure 2 Schematic diagram of the data flow rate limiting method provided in this application Figure 1 ;
[0057] Figure 3 This is a schematic diagram of the SRv6 backbone network topology;
[0058] Figure 4 Schematic diagram of the data flow rate limiting method provided in this application Figure 2 ;
[0059] Figure 5 Schematic diagram of the data flow rate limiting method provided in this application Figure 3 ;
[0060] Figure 6 Schematic diagram of the data flow rate limiting method provided in this application Figure 4 ;
[0061] Figure 7 Schematic diagram of the data flow rate limiting method provided in this application Figure 5 ;
[0062] Figure 8 A schematic diagram of the structure of the device for limiting the data flow rate provided by the present application;
[0063] Fig. 9 A schematic diagram of the structure of the electronic device provided in this application.
[0064] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0065] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0066] First, the terms involved in this application are explained:
[0067] SRv6 Policy is a new traffic diversion technology developed based on SRv6 technology, which is used to define and control the path of data packets in the network. It can be regarded as a set of rules that describe the path selection, forwarding logic, and processing method of data packets from source nodes to destination nodes.
[0068] Segment List (SL) is used to identify the specific forwarding path of the SRv6 Policy. The SRv6 Policy contains one or more SLs with Weight parameters. Traffic is forwarded by UCMP (Unequal Cost Multiple Path) on multiple SLs of the same SRv6 Policy according to the Weight ratio.
[0069] As an emerging network architecture, SRv6 has been widely used in backbone networks for its flexibility and scalability. In the SRv6 backbone network, the controller uses intelligent algorithms to periodically optimize the transmission path of data packets based on network topology, link traffic, and the distribution of SRv6 Policies. With the increasing volatility of network traffic, especially the emergence of elephant flows (i.e., data transmission with a long duration and large traffic), the utilization rate of some wide area lines will be too high, which will lead to network congestion and performance degradation. In the existing SRv6 backbone network, although the controller has a certain intelligent tuning capability, when dealing with complex scenarios such as increased traffic volatility and elephant flows, the controller's intelligent tuning algorithm makes decisions based on the global information of the network, but there is a certain delay in the acquisition and update of global information, resulting in the inability of the tuning decision to respond to traffic changes in a timely manner. The controller periodically optimizes the SRv6 Policy path based on factors such as backbone network topology, link traffic, and SRv6 Policy distribution, and tries to evenly distribute traffic on multiple lines. However, as traffic volatility increases, especially the emergence of large traffic, some wide area line utilization rates may be too high. The QoS guarantee granularity is coarse, and the controller intelligent tuning cycle is long and the effect is not ideal, resulting in traffic congestion in a short period of time and the inability to guarantee service quality.
[0070] In view of the above problems, the present application provides a method, device, electronic device and storage medium for limiting the speed of data flow, which improves the service quality and alleviates line congestion in the scenario of increased traffic volatility and complex elephant flow. Specifically, in the SRv6 backbone network scenario, the controller periodically optimizes the path of SRv6 Policy based on factors such as backbone network topology, link traffic, and SRv6 Policy distribution, and distributes the traffic evenly on multiple lines as much as possible. However, as the volatility of traffic increases, especially the emergence of elephant flow, the utilization rate of some wide area lines will be too high, and the QoS guarantee granularity is coarse, the controller intelligent tuning cycle is long and the effect is not ideal, resulting in trampling between business traffic in a short time, and the service quality cannot be guaranteed. Taking these problems into consideration, the inventor studied whether it is possible to enable speed limit for the SRv6 Policy passing through the line when the controller finds that the utilization rate of a wide area line exceeds the speed limit threshold or is congested, and notify the backbone network router through the BGP SR Policy southbound protocol, and the router limits the speed of the SRv6 Policy outbound traffic, thereby alleviating the line congestion problem and ensuring the service quality. Based on this, the present application scheme is proposed.
[0071] For SRv6 backbone networks, the traffic scheduling mechanism based on unequal cost multiple path (UCMP) is generally used. Figure 1 This is a schematic diagram of SRv6 backbone network traffic scheduling in the prior art. Figure 1 The details are as follows:
[0072] The controller calculates the initial segment list of SRv6 Policy AB, and makes the shortest path priority and wide area line bandwidth utilization as close as possible while meeting user bandwidth requirements. For example, SL1 / SL2 is output with a weight ratio of 50:50.
[0073] 2. Assume that the utilization of wide area line 1 exceeds the threshold, which triggers the controller's optimization and path calculation. Try to modify the Weight ratio of SRv6Policy AB SL1 / SL2 and migrate part of the traffic to the line with low utilization through UCMP non-equal-cost load balancing.
[0074] 3. If the effect is not good, further split the segment list SL3 on the suboptimal path and perform UCMP in a larger range to achieve precise traffic scheduling at the session level.
[0075] The above UCMP scheduling algorithm has three limitations, as follows:
[0076] 1. The tuning cycle is long. Considering the complexity of the tuning algorithm and the impact of frequent adjustments to the forwarding path on the application, the tuning cycle is generally >= 5 minutes, which cannot respond to the impact of sudden traffic in a timely manner.
[0077] 2. Uncertainty of tuning effect: After updating the relevant policy paths and redistributing traffic, the application's greed for bandwidth may cause traffic congestion on a larger scale.
[0078] 3. Tuning success rate. If the traffic of the entire network is close to saturation, the tuning will fail.
[0079] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0080] Figure 2 Schematic diagram of the data flow rate limiting method provided in this application Figure 1 ,like Figure 2 As shown, the method includes:
[0081] S201: Determine a target wide area line based on network performance data of multiple wide area lines acquired in real time and a preset speed limit threshold for each wide area line.
[0082] In this step, in order to monitor the utilization of wide area lines in the SRv6 backbone network in real time, and then prevent business traffic from trampling and reducing service quality when elephant flows appear, the controller in the SRv6 backbone network obtains network performance data of multiple wide area lines in real time, and determines the target wide area line based on the network performance data, that is, the wide area line with excessive utilization.
[0083] Exemplarily, the network performance data obtained for each wide area line may include real-time traffic data and transmission rate. Specifically, the data traffic on the wide area line may be captured in real time through a traffic analysis tool (such as NetFlow, sFlow, IPFIX, etc.). The transmission rate may be obtained by querying the configuration of network devices (such as routers and switches) or using a network management protocol (such as SNMP).
[0084] For each wide area line, the utilization rate of the wide area line is calculated based on the network performance data of the wide area line, and the wide area line with a utilization rate greater than the speed limit threshold is determined as the target wide area line.
[0085] S202: Determine a target link on the target wide area line based on the actual traffic of each link on the target wide area line, the transmission rate, the rate limit threshold, and the initial bandwidth of the target wide area line.
[0086] In this step, after determining that the target wide area line needs to be adjusted for speed limit, the target link that needs speed limit is determined by calculation based on the actual traffic of each link on the line and the transmission rate of the target wide area line as well as the speed limit threshold and the initial bandwidth.
[0087] Specifically, the speed limit bandwidth of the target wide area line is calculated according to the transmission rate and speed limit threshold of the target wide area line, the traffic ratio is determined based on the initial bandwidth of each link, and the target link is determined according to the speed limit bandwidth, traffic ratio and actual traffic of each link.
[0088] S203: Based on the actual traffic of each link and the traffic ratio of the target wide area line, determine the speed limit traffic of the target link.
[0089] In this step, after the target wide area line and target link are determined, in order to accurately limit the speed and thus ensure the service quality, the speed limit flow of the target link is calculated based on the actual flow of each link on the target wide area line and the flow ratio of the target wide area line.
[0090] For example, Figure 3 This is a schematic diagram of the SRv6 backbone network topology. Figure 3As shown in the figure, the backbone network topology consists of three core nodes ABC, which are interconnected in pairs through 2*10 Gbps dedicated lines. Taking SRv6 Policy AB1 and AB2 in the AB direction as an example, wide area line 1 is determined as the target wide area line, and AB1-SL1 is determined as the target link. The actual traffic of the target link is 4800 Mbps, the actual traffic of AB2-SL1 is 5000 Mbps, the speed limit threshold of wide area line 1 is 95%, the traffic ratio of wide area line 1 is 3:4, the speed limit bandwidth of the target link is 4070 Mbps, and the speed limit bandwidth of AB2-SL1 is 5430 Mbps. It can be seen from the actual traffic that AB2-SL1 has a bandwidth of 430 Mbps, which can be used for the target link. Then it can be calculated that the speed limit traffic of the target link is 9500-5000=4500 Mbps.
[0091] S204: Send the speed-limited traffic to the router, so that the router limits the speed of the target link based on the speed-limited traffic.
[0092] In this step, after calculating the speed limit flow, the controller sends the speed limit flow to the router, and the router sets the speed limit for the target link.
[0093] Specifically, the controller sends it to the network router through BGP SR Policy extension.
[0094] For example, Figure 3 For example, the controller adds a speed limit parameter of 4500 Mbps to AB1 SL1 and sends it to the backbone network router through BGP SRPolicy extension. The router updates the AB1 SL1 table and limits the sending rate to 4500 Mbps.
[0095] BGP SR Policy is a way to distribute SR Policy through BGP protocol extension, allowing routers in the network to learn SR Policy through BGP and forward traffic according to these policies.
[0096] The controller encapsulates SR Policy information in BGP update messages and distributes this information to routers in the network through BGP protocol extensions (such as BGP-LS).
[0097] BGP-LS is used to distribute link state information between routers, including SR elements (such as SRGB, SID, etc.) and other link attributes. This includes the calculated limit flow corresponding to the target link. After receiving the BGP update message, the backbone network router parses the SR Policy information. The router stores this information in the local SR-TE database to guide subsequent traffic forwarding. When there is traffic to be forwarded, the router searches for a matching Segment list based on the SR Policy information. The router forwards the data packet in the order in the Segment list until the data packet reaches the destination.
[0098] The method for data flow speed limiting provided by the embodiment of the present application determines the target wide area line based on the network performance data of multiple wide area lines obtained in real time, determines the target link on the target wide area line based on the actual flow of each link on the target wide area line, the transmission rate of the target wide area line, the pre-set speed limit threshold and the initial bandwidth, determines the speed limit flow of the target link based on the actual flow of each link and the flow ratio of the target wide area line, and sends the speed limit flow to the router so that the router can speed limit the target link based on the speed limit flow. Through the above method, the utilization rate of network resources is improved, the stability and reliability of the network are enhanced, the user experience is optimized, the line congestion in the complex scene of the elephant flow is alleviated, and the service quality is guaranteed.
[0099] Figure 4 Schematic diagram of the data flow rate limiting method provided in this application Figure 2 ,like Figure 4 As shown, based on the above embodiment, step S201 specifically includes:
[0100] S401: For each wide area line, based on the network performance data of the wide area line, calculate the utilization rate of the wide area line.
[0101] S402: Determine a wide area line whose utilization rate is greater than the speed limit threshold as a target wide area line.
[0102] After obtaining the network performance data of each wide area line, the utilization of each wide area line is calculated. Specifically, after obtaining the network performance data through the steps of the aforementioned embodiment, the amount of data actually transmitted on the wide area line can be calculated within a specific time window (such as per second, per minute, per hour, etc.). Then the utilization rate is calculated = (data transmission volume within the time window / bandwidth capacity) × 100%. Since the speed limit threshold of each wide area line has been set when creating the SRv6 Policy, the wide area line with a utilization rate greater than the speed limit threshold is determined as the target wide area line.
[0103] The data flow speed limiting method provided in the embodiment of the present application is for each wide area line, based on the network performance data of the wide area line, to calculate the utilization rate of the wide area line, and to determine the wide area line with a utilization rate greater than the speed limit threshold as the target wide area line. Through the above method, the network bottleneck is accurately identified, the network resource allocation is optimized, the network service quality is improved, the network predictability and controllability are enhanced, and the intelligent development of the network is promoted.
[0104] Figure 5 Schematic diagram of the data flow rate limiting method provided in this application Figure 3 ,like Figure 5 As shown, based on the above embodiment, step S202 specifically includes:
[0105] S501: Calculate the speed limit bandwidth of the target wide area line according to the transmission rate and speed limit threshold of the target wide area line.
[0106] S502: Determine a traffic ratio based on an initial bandwidth of each link.
[0107] S503: Determine a target link according to the speed-limited bandwidth, the traffic ratio, and the actual traffic of each link.
[0108] After the target wide area line is determined, in order to accurately determine the link that needs to be speed-limited, the speed-limited bandwidth of the target wide area line is calculated based on the transmission rate and speed-limit threshold of the target wide area line, and then the traffic ratio is determined based on the initial bandwidth of each link set when the SRv6 Policy is created. Finally, the target link is determined by analyzing the speed-limited bandwidth, traffic ratio, and actual traffic of each link.
[0109] Specifically, after the traffic ratio is determined, the speed limit traffic of each link is calculated according to the speed limit bandwidth and the traffic ratio, and the target link is determined based on the speed limit traffic of each link and the actual traffic of each link.
[0110] For example, continue with Figure 3 For example, the speed limit threshold of WAN line 1 is 95%. After WAN line 1 is determined as the target WAN line, the speed limit bandwidth of WAN line 1 is determined to be 9500 Mbps based on the 10 Gbps dedicated line interconnection between nodes AB. Since the initial bandwidth of each link set when creating the SRv6 Policy is 6000 Mbps for AB1-SL1 and 8000 Mbps for AB2-SL1, and the weight ratio is 50:50, the initial guaranteed bandwidths of the two links are calculated as follows:
[0111] AB1-SL1: 6000*(50 / 100) = 3000 Mbps
[0112] AB2-SL1: 8000*(50 / 100) = 4000 Mbps
[0113] It can be determined that the traffic ratio of the two links is 3:4. Based on the speed limit bandwidth and traffic ratio, the speed limit traffic of each link is calculated, and the target link is determined based on the speed limit traffic of each link and the actual traffic of each link. AB1-SL1 is determined as the target link.
[0114] The data flow speed limiting method provided in the embodiment of the present application calculates the speed limit bandwidth of the target wide area line according to the transmission rate and speed limit threshold of the target wide area line, determines the flow ratio based on the initial bandwidth of each link, and determines the target link according to the speed limit bandwidth, flow ratio and actual flow of each link. The above method significantly improves the performance and efficiency of the wide area network through effective measures such as accurately calculating the speed limit bandwidth, reasonably allocating bandwidth resources, optimizing flow distribution and link utilization, and improving network stability and reliability.
[0115] Figure 6 Schematic diagram of the data flow rate limiting method provided in this application Figure 4 ,like Figure 6 As shown, based on the above embodiment, step S503 specifically includes:
[0116] S601: Calculate the speed limit flow of each link according to the speed limit bandwidth and the flow ratio.
[0117] S602: Determine a target link based on the rate-limited traffic of each link and the actual traffic of each link.
[0118] After the traffic ratio is determined, the speed limit traffic of each link can be calculated based on the speed limit bandwidth and traffic ratio of the target wide area line, and the target link can be determined based on the speed limit traffic of each link and the actual traffic of each link.
[0119] For example, in the example of the above embodiment Figure 3 For example, if the speed limit bandwidth of wide area line 1 is determined to be 9500Mbps and the traffic ratio of the two links is 3:4, the speed limit bandwidth of each link is expressed as:
[0120] AB1-SL1: 9500*3 / 7 = 4070Mbps
[0121] AB2-SL1: 9500*4 / 7 = 5430Mbps
[0122] The actual traffic of the two links is AB1-SL1: 4800 Mbps and AB2-SL1: 5000 Mbps. Therefore, only AB1-SL1 needs to be speed-limited. Therefore, AB1-SL1 is determined as the target link.
[0123] The data flow speed limiting method provided in the embodiment of the present application calculates the speed limit flow of each link based on the speed limit bandwidth and the flow ratio, and determines the target link based on the speed limit flow of each link and the actual flow of each link. The above method achieves effective technical effects such as precise control of network flow, optimization of resource allocation, enhancement of network stability and improvement of user experience by accurately calculating the speed limit flow of each link and dynamically adjusting it based on the actual flow. These effects jointly promote the efficient, stable and intelligent operation of the network.
[0124] Figure 7 Schematic diagram of the data flow rate limiting method provided in this application Figure 5 ,like Figure 7 As shown, based on the above embodiment, the method further includes:
[0125] S701: Obtain network performance data of a target wide area line.
[0126] S702: When the utilization rate of the target wide area line is less than the speed limit threshold, generate a speed limit cancellation instruction.
[0127] S703: Sending a speed limit cancellation instruction to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction.
[0128] After the controller sends the restricted traffic to the router, the router limits the speed of the corresponding target link according to the restricted traffic. The controller monitors the target link in real time and obtains the network performance data of the target wide area line in real time, calculates the utilization of the target link, and cancels the speed limit on the target link when the utilization of the target link is lower than the speed limit threshold of the target link. Then, a speed limit cancellation instruction is generated and sent to the router, which cancels the speed limit on the target link.
[0129] For example, the controller periodically checks the bandwidth utilization of the wide area line through the speed-limited SRv6 Policy. If it is less than the speed limit threshold, the speed limit is lifted. For example, if the service traffic decreases and the utilization of wide area line 1 drops to 80%, the speed limit failure function is triggered. The controller updates AB1-SL1 through BGP SR Policy, and the backbone network router updates the AB1-SL1 table entry, and the speed limit is no longer performed.
[0130] The method for limiting the speed of data flow provided in the embodiment of the present application obtains the network performance data of the target wide area line, and when the utilization rate of the target wide area line is less than the speed limit threshold, generates a speed limit cancellation instruction, and sends the speed limit cancellation instruction to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction. The above method achieves flexible scheduling and efficient utilization of network resources through effective measures such as real-time acquisition of network performance data, intelligent judgment of line utilization, dynamic adjustment of speed limit strategy, and cancellation of speed limit, and promotes the efficient, stable, and intelligent development of the network, providing users with a better quality network service experience.
[0131] Figure 8 The schematic diagram of the structure of the data flow rate limiting device provided by the present application is as follows: Figure 8 As shown, the data flow rate limiting device 800 provided in this embodiment specifically includes:
[0132] The first determination module 801 is used to determine a target wide area line based on network performance data of multiple wide area lines acquired in real time and a preset speed limit threshold of each wide area line.
[0133] The second determination module 802 is configured to determine a target link on the target wide area line based on the transmission rate, rate limit threshold, and initial bandwidth of the target wide area line.
[0134] The third determination module 803 is used to determine the rate-limited flow of the target link based on the actual flow of each link on the target wide area line and the flow ratio of the target wide area line.
[0135] The first sending module 804 is used to send the speed-limited traffic to the router, so that the router limits the speed of the target link based on the speed-limited traffic.
[0136] In a possible implementation, the first determining module 801 is specifically configured to:
[0137] For each wide area line, the utilization rate of the wide area line is calculated based on the network performance data of the wide area line;
[0138] A wide area line whose utilization rate is greater than the speed limit threshold is determined as a target wide area line.
[0139] In a possible implementation, the second determining module 802 is specifically configured to:
[0140] According to the transmission rate and speed limit threshold of the target wide area line, the speed limit bandwidth of the target wide area line is calculated;
[0141] Based on the initial bandwidth of each link, determine the traffic ratio;
[0142] Determine the target link based on the speed limit bandwidth, traffic ratio, and actual traffic of each link.
[0143] In a possible implementation, the first sending module 804 is specifically configured to:
[0144] The rate-limited traffic is sent to the router through BGP SR Policy extension.
[0145] In a possible implementation, the second determining module 802 determines the target link according to the speed limit bandwidth, the traffic ratio, and the actual traffic of each link, specifically including:
[0146] The speed limit flow of each link is calculated based on the speed limit bandwidth and flow ratio;
[0147] The target link is determined based on the rate-limited traffic of each link and the actual traffic of each link.
[0148] In a possible implementation, the data flow rate limiting device 800 further includes:
[0149] The acquisition module 805 is used to acquire the network performance data of the target wide area line.
[0150] The generating module 806 is used to generate a speed limit cancellation instruction when the utilization rate of the target wide area line is less than the speed limit threshold.
[0151] The second sending module 807 is used to send the speed limit cancellation instruction to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction.
[0152] The device for limiting the data flow rate provided in this embodiment can execute the method for limiting the data flow rate provided in the above method embodiment. The implementation principle and technical effect are similar, and are not described in detail in this embodiment.
[0153] Fig. 9 This is a schematic diagram of the structure of the electronic device provided in this application. Fig. 9 As shown, the electronic device 900 provided in this embodiment includes: at least one processor 901 and a memory 902. Optionally, the device 900 also includes a communication component 903. The processor 901, the memory 902 and the communication component 903 are connected via a bus 904.
[0154] In a specific implementation process, at least one processor 901 executes the computer execution instructions stored in the memory 902, so that at least one processor 901 executes the above method.
[0155] The specific implementation process of the processor 901 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0156] In the above embodiments, it should be understood that the processor can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the invention can be directly implemented as a hardware processor, or can be implemented by a combination of hardware and software modules in the processor.
[0157] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (NVM), such as at least one disk storage.
[0158] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of this application is not limited to only one bus or one type of bus.
[0159] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0160] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0161] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0162] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0163] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0164] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0165] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0166] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0167] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0168] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A method for limiting the speed of a data flow, characterized in that: The method comprises: Determine a target wide area line based on network performance data of multiple wide area lines acquired in real time and a preset speed limit threshold for each wide area line; Determine a target link on the target wide area line based on the actual traffic of each link on the target wide area line, the transmission rate of the target wide area line, the speed limit threshold and the initial bandwidth; Determine the speed limit flow of the target link based on the actual flow of each link and the flow ratio of the target wide area line; The speed-limited traffic is sent to a router, so that the router limits the speed of the target link based on the speed-limited traffic.
2. The method according to claim 1, characterized in that The step of determining a target wide area line based on the network performance data of the plurality of wide area lines acquired in real time and the speed limit threshold value preset for each wide area line includes: For each wide area line, based on the network performance data of the wide area line, calculate the utilization rate of the wide area line; A wide area line whose utilization rate is greater than a speed limit threshold is determined as the target wide area line.
3. The method according to claim 1 or 2, characterized in that: The determining of a target link on the target wide area line based on the transmission rate of the target wide area line, a preset rate limit threshold, and an initial bandwidth includes: Calculating the speed limit bandwidth of the target wide area line according to the transmission rate of the target wide area line and the speed limit threshold; Determining the traffic ratio based on an initial bandwidth of each link; The target link is determined according to the speed-limited bandwidth, the traffic ratio, and the actual traffic of each link.
4. The method according to claim 3, characterized in that The sending the speed-limited traffic to the router includes: The rate-limited traffic is sent to the router via BGP SR Policy extension.
5. The method according to claim 3, characterized in that: The determining the target link according to the speed-limited bandwidth, the traffic ratio and the actual traffic of each link includes: Calculate the speed limit flow of each link according to the speed limit bandwidth and the flow ratio; The target link is determined based on the rate-limited traffic of each link and the actual traffic of each link.
6. The method according to claim 5, characterized in that The method further comprises: Obtaining network performance data of the target wide area line; When the utilization rate of the target wide area line is less than the speed limit threshold, generating a speed limit cancellation instruction; The speed limit cancellation instruction is sent to the router, so that the router cancels the speed limit on the target link based on the speed limit cancellation instruction.
7. A device for limiting the speed of data flow, characterized in that: include: A first determination module is used to determine a target wide area line based on network performance data of multiple wide area lines obtained in real time and a preset speed limit threshold of each wide area line; A second determination module, configured to determine a target link on the target wide area line based on the transmission rate of the target wide area line, the rate limit threshold and the initial bandwidth; A third determination module, configured to determine the speed limit flow of the target link based on the actual flow of each link on the target wide area line and the flow ratio of the target wide area line; The first sending module is used to send the speed-limited traffic to a router, so that the router limits the speed of the target link based on the speed-limited traffic.
8. An electronic device, characterized in that: include: Memory, processor, communication interface; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 6 when executed by a processor.
10. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 6 when being executed by a processor.