Congestion control method, device, computer equipment and medium for network equipment

By comprehensively considering the global state information of network devices and multi-dimensional congestion metric calculations and dynamically selecting paths, the network congestion problem of traditional encryption methods under the dynamic changes in user behavior and diversity requirements is solved, and the congestion response capabilities and reliability of network devices are improved.

CN120416166BActive Publication Date: 2025-09-02INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510838813.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-23
Publication Date
2025-09-02
Estimated Expiration
2045-06-23

AI Technical Summary

Technical Problem

Traditional encryption methods rely on fixed keys and algorithms, which are difficult to meet users' needs for personalized and intelligent encryption methods, and there are security risks of key leakage and insufficient encryption strength.

Method used

By comprehensively considering the global network status information of multiple network devices, combining multi-dimensional congestion metric calculation and dynamic path selection, end-to-end congestion control across devices is realized, and the congestion response capabilities and reliability of network devices are improved.

Benefits of technology

It realizes the overall congestion response capability and reliability of network equipment, can meet the dynamic changes and diversity needs of user behavior, and ensures efficient transmission of key services and optimized utilization of network resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120416166B_ABST
    Figure CN120416166B_ABST
Patent Text Reader

Abstract

The present application relates to a congestion control method, apparatus, computer equipment and medium for a network device, the method comprising: obtaining global network status information of the network device. Using a preset weight function to perform multi-dimensional congestion measurement calculation on the global network status information to obtain the congestion measurement value of each node. Based on the set congestion measurement threshold and each congestion measurement value, one or more bottleneck nodes and / or one or more congested paths are identified from the network device. According to each bottleneck node and / or each congested path, a target path configuration is determined from multiple available paths. Traffic is distributed to each node on one or more available paths according to the target path configuration. The method realizes end-to-end congestion control across devices by comprehensively considering the global network status information of multiple network devices, combining multi-dimensional congestion measurement calculation and dynamic path selection, thereby improving the overall congestion response capability and reliability of the network device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of network communication technology, and in particular to a congestion control method, apparatus, computer equipment, and medium for network equipment. Background Art

[0002] File encryption technology plays a crucial role in today's information security landscape. With the rapid development of information technology, users' demands for file security and privacy protection continue to increase. Traditional encryption methods, which primarily rely on fixed keys and algorithms, have numerous drawbacks, such as complex key management and limited anti-attack capabilities. These methods struggle to meet users' demands for personalized, intelligent encryption.

[0003] In the field of server-switch congestion control, traditional encryption methods rely heavily on symmetric algorithms (such as AES (Advanced Encryption Standard) and DES (Data Encryption Standard)) and public-key algorithms (such as RSA and Rivest-Shamir-Adleman). While these algorithms guarantee data confidentiality to a certain extent, they struggle with the dynamic nature of user behavior and diverse demands. Furthermore, the fixed nature of their encryption algorithms and key management poses security risks such as key leakage and insufficient encryption strength. Summary of the Invention

[0004] In response to the above-mentioned deficiencies or shortcomings, the present application provides a congestion control method, apparatus, computer equipment and medium for network devices. By comprehensively considering the global network status information of multiple network devices, combined with multi-dimensional congestion metric calculation and dynamic path selection, end-to-end congestion control across devices is achieved, thereby improving the overall congestion response capability and reliability of network devices, and meeting the dynamic changes and diversity needs of user behavior.

[0005] According to a first aspect, the present application provides a congestion control method for a network device, wherein the network device includes multiple groups of interconnected servers and switches, and the method includes:

[0006] Obtain global network status information of network devices. Global network status information is calculated based on the raw status data of multiple nodes, each of which is a server or switch.

[0007] A pre-set weight function is used to calculate the multi-dimensional congestion metric of the global network status information to obtain the congestion metric value of each node. The global network status information includes the link delay data, packet loss rate data and queue length data in the original status data.

[0008] Based on a set congestion metric threshold and various congestion metric values, one or more bottleneck nodes and / or one or more congested paths are identified from network devices. Each bottleneck node is a node whose congestion metric value reaches the congestion metric threshold. Congested paths include congested network links between servers and switches, switches and switches, and servers.

[0009] A target path configuration is determined from a plurality of available paths according to each bottleneck node and / or each congested path.

[0010] Traffic is distributed to nodes on one or more available paths according to the target path configuration.

[0011] In some embodiments, performing multi-dimensional congestion metric calculation on global network status information to obtain a congestion metric value for each node includes:

[0012] A weighted calculation is performed on each link delay data according to a preset first sensitivity constant and a preset ideal link delay value to obtain multiple weighted link delay values.

[0013] The packet loss rate data are weightedly calculated according to a preset second sensitivity constant and a preset ideal packet loss rate to obtain multiple weighted packet loss rates.

[0014] A weighted calculation is performed on each queue length data according to a preset third sensitivity constant and a preset ideal queue length to obtain multiple weighted queue lengths.

[0015] A multi-dimensional congestion metric is calculated based on the total number of nodes, various weighted link delay values, various weighted packet loss rates, and various weighted queue lengths to obtain the congestion metric value of each node.

[0016] In some embodiments, based on a set congestion metric threshold and each congestion metric value, identifying one or more bottleneck nodes and / or one or more congested paths from a network device includes:

[0017] The initial congestion measurement threshold is determined based on the historical status data of each node and the network characteristic parameters of the network equipment.

[0018] The initial congestion measurement threshold is updated according to the current congestion measurement value of each node to obtain the congestion measurement threshold.

[0019] One or more target nodes whose congestion metric values ​​are greater than the congestion metric threshold are screened out from the nodes according to the congestion metric threshold.

[0020] The local congestion index of each target node is calculated according to the congestion metric value of each target node.

[0021] Arrange the target nodes in ascending or descending order according to the local congestion index to obtain a list of bottleneck nodes.

[0022] Based on the neighbor node information of each target node on each congested path in the bottleneck node list, the network topology and connectivity of each target node and its neighbor nodes are analyzed to determine the critical bottleneck path information. The critical bottleneck path information represents one or more congested paths that have a significant impact on network performance.

[0023] According to the local congestion index of each target node and the number of neighbor nodes obtained through the key bottleneck path information, multiple influencing factors are calculated.

[0024] Each bottleneck node and / or each congested path is determined according to each local congestion index and each influencing factor.

[0025] In some embodiments, determining a target path configuration from a plurality of available paths based on each bottleneck node and / or each congested path includes:

[0026] Based on each bottleneck node and / or each congested path, all available paths in the network device are determined.

[0027] According to the local congestion index and impact factor of each bottleneck node, the bottleneck weight of each bottleneck node is calculated.

[0028] The path cost of each available path is calculated based on the bottleneck weight of each bottleneck node on each available path.

[0029] A target available path with the minimum path cost is determined from each available path to be used as the target path configuration.

[0030] In some embodiments, after determining all available paths in the network device, the method further includes:

[0031] Based on the historical traffic data of each bottleneck node and / or each congested path, a network congestion model is established using a preset time series analysis long short-term memory network.

[0032] A Markov decision model is configured for the network congestion model, and the decision objective of the Markov decision model is set to minimize the overall congestion according to a preset reward function.

[0033] Get the minimum overall congested path configuration generated by the network congestion model and use it as the target path configuration.

[0034] In some embodiments, when allocating traffic to each node on one or more available paths, the method further includes:

[0035] Monitor the real-time traffic transmission rate of each available path and determine whether the traffic transmission rate of any available path in the monitoring results exceeds the upper transmission rate limit or falls below the lower transmission rate limit. The upper and lower transmission rate limits are pre-set based on demand.

[0036] If so, the rate adjustment factor of the available path is increased or decreased based on the monitoring result. The rate adjustment factor is pre-calculated based on the congestion metric and the path cost of the available path.

[0037] The target transmission rate of the available path is calculated based on the adjusted rate adjustment factor and the initial transmission rate. The initial transmission rate is pre-set based on the historical status data of each node and the network characteristic parameters of the network equipment.

[0038] In some embodiments, when allocating traffic to each node on one or more available paths, the method further includes:

[0039] Based on the link delay data, packet loss rate data, queue length data, ideal link delay value, ideal packet loss rate and ideal queue length, the comprehensive status index of each node is calculated.

[0040] The overall network health index of the network device is calculated based on the comprehensive status index of each node.

[0041] The preset trend prediction algorithm is used to predict the overall network health index of network equipment and generate network performance prediction results.

[0042] The rate adjustment factor and path cost of each available path are increased or decreased based on the network performance prediction results.

[0043] According to a second aspect, the present application provides a congestion control device for a network device, wherein the network device includes multiple groups of interconnected servers and switches, and the device includes:

[0044] The network status acquisition module is used to obtain the global network status information of the network devices; the global network status information is calculated based on the original status data of multiple nodes, each node being a server or a switch.

[0045] The congestion metric calculation module is used to perform multi-dimensional congestion metric calculations on the global network status information using a preset weight function to obtain the congestion metric value of each node. The global network status information includes link delay data, packet loss rate data, and queue length data in the original status data.

[0046] The congested node path identification module is used to identify one or more bottleneck nodes and / or one or more congested paths from network devices based on a set congestion metric threshold and various congestion metric values. Each bottleneck node is a node whose congestion metric value reaches the congestion metric threshold. Congested paths include congested network links between servers and switches, switches and switches, and servers.

[0047] The path configuration determination module is configured to determine a target path configuration from a plurality of available paths according to each bottleneck node and / or each congested path.

[0048] The path traffic distribution module is used to distribute traffic to each node on one or more available paths according to the target path configuration.

[0049] According to a third aspect, the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the congestion control method for a network device in any one of the above embodiments are implemented.

[0050] According to a fourth aspect, the present application provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the congestion control method for a network device in any one of the above-mentioned embodiments are implemented.

[0051] The congestion control method for network devices described in the above embodiment can be applied to a network communication system (hereinafter referred to as the "system") comprising multiple interconnected servers and switches. The method comprises: the system first obtains global network status information from the network devices. Then, it uses a preset weighting function to perform a multidimensional congestion metric calculation on the global network status information to obtain a congestion metric value for each node. Next, based on a set congestion metric threshold and each congestion metric value, the system identifies one or more bottleneck nodes and / or one or more congested paths from the network devices. The system then determines a target path configuration from multiple available paths based on each bottleneck node and / or each congested path. Finally, the system distributes traffic to each node on the one or more available paths according to the target path configuration. Therefore, by comprehensively considering the global network status information of multiple network devices, combining multidimensional congestion metric calculation with dynamic path selection, the system achieves end-to-end congestion control across devices, improving the overall congestion response capability and reliability of the network devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 A flowchart of a congestion control method for a network device in one or more embodiments of the present application;

[0053] Figure 2A flowchart of a method for calculating and generating a congestion metric value for each node in one or more embodiments of the present application;

[0054] Figure 3 A flowchart of a method for identifying bottleneck nodes and / or congested paths from a network device in one or more embodiments of the present application;

[0055] Figure 4 A flowchart of a method for determining a target path configuration from multiple available paths in one or more embodiments of the present application;

[0056] Figure 5 A flowchart of another method for determining a target path configuration in one or more embodiments of the present application;

[0057] Figure 6 A flow chart of a method for allocating traffic to nodes on one or more available paths in one or more embodiments of the present application;

[0058] Figure 7 A flow chart of a method for dynamically adjusting the rate adjustment factor and path cost of each available path in one or more embodiments of the present application;

[0059] Figure 8 This is an embodiment of a congestion control method for a network device in the present application;

[0060] Figure 9 A schematic diagram of the structure of a congestion control device for a network device in one or more embodiments of the present application;

[0061] Figure 10 This is a schematic diagram of the internal structure of a computer device in one or more embodiments of the present application. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0063] According to the first aspect of the present application, a congestion control method for network devices is provided, which can be applied to a network communication system (hereinafter referred to as the "system") comprising a plurality of interconnected servers and switches. For example, a business server is used to process logic and operations related to specific services; a data server is used to store and manage data; and a switch is used to connect various devices in the network. The switch can be connected to the network interface card of the server using a network cable (such as an Ethernet cable), and the device can be identified by its MAC address to accurately forward data frames. Therefore, various types of servers are interconnected through switches, forming a complex network communication system. In addition, in this system, because different servers undertake different business processing tasks and need to frequently interact and transmit data with each other, congestion caused by excessive network traffic is prone to occur.

[0064] In certain exemplary embodiments of the present application, Figure 1 As shown, the network device includes multiple groups of interconnected servers and switches, and the congestion control method of the network device includes the following steps:

[0065] Step 101: Obtain global network status information of network devices.

[0066] Global network status information is calculated based on the raw status data of multiple nodes, each of which is a server or switch. The raw status data of each node can be obtained by periodically querying participating servers and switches using the Simple Network Management Protocol (SNMP).

[0067] For example, the system uses a timer mechanism to trigger SNMP requests at fixed intervals. It then uses SNMP Get commands to query each node's current link delay, packet loss rate, and queue length, obtaining raw status data for each node. Each node maintains and reports its operational status data through an internal counter mechanism. Furthermore, the system stores this collected raw status data in a data server, providing a preliminary view of global network status information.

[0068] Step 102: Using a preset weight function, perform multi-dimensional congestion measurement calculation on the global network status information to obtain the congestion measurement value of each node.

[0069] The global network status information includes link delay data, packet loss rate data, and queue length data in each original status data.

[0070] Specifically, the system uses preset link delay weighting functions, packet loss rate weighting functions, and queue length weighting functions to weight the corresponding data for each node. It then adjusts sensitivity constants and ideal values ​​to adapt to different network environments and requirements. The system then inputs the weighted data into a preset comprehensive congestion metric formula to calculate the overall congestion metric for the entire network. During this calculation, the system also calculates the congestion metric for each node.

[0071] Step 103: Based on the set congestion metric threshold and each congestion metric value, one or more bottleneck nodes and / or one or more congested paths are identified from the network device.

[0072] A bottleneck node refers to a node whose congestion metric reaches a congestion threshold. Congested paths include congested network links between servers and switches, congested network links between switches, and congested network links between servers. Furthermore, the system can pre-set the congestion threshold by first collecting historical network data, including the congestion metric values ​​of each node and their corresponding network status. Next, the system analyzes this historical data to determine the distribution of congestion values ​​under different network conditions. Then, based on the pre-set network service requirements and SLA (Service Level Agreement), a preliminary congestion threshold is set. The preliminary threshold is then verified and adjusted through simulations or actual testing to ensure its effectiveness. Finally, the congestion threshold is updated periodically or dynamically based on the actual network operation and changes in service requirements.

[0073] The system uses a preset node screening algorithm to filter the standardized, comprehensive congestion metrics of all nodes, identifying nodes with congestion metrics exceeding a set threshold and forming a list of bottleneck nodes. Simultaneously, the system calculates the local congestion index of each bottleneck node and ranks them accordingly. The system then combines the node's traffic load trends and historical congestion records with the bottleneck node list to identify one or more bottleneck nodes and / or one or more congested paths within the network.

[0074] Step 104: Determine a target path configuration from multiple available paths according to each bottleneck node and / or each congested path.

[0075] An available path refers to a link that is not experiencing failures or severe congestion and can meet basic data transmission requirements. Target path configuration refers to the optimal path or path combination determined by the system using specific algorithms and policies based on the current status and congestion of network devices. This path guides the transmission of network traffic, achieving efficient and reliable data transmission and optimizing the use of network resources.

[0076] Specifically, the system can use a pre-defined topology analysis algorithm to analyze the current network topology and identify all possible paths and their connections. For example, the system can use a path selection algorithm (such as the Dijkstra algorithm) to select the path with the lowest cost from the nodes at both ends of each path (i.e., from the source node to the destination node) as the target path configuration to optimize network traffic distribution.

[0077] Step 105: Distribute traffic to each node on one or more available paths according to the target path configuration.

[0078] Specifically, the system can use the above-mentioned path selection algorithm to calculate the optimal path, and formulate a traffic scheduling strategy based on the preset business priority and path status, so as to reasonably distribute business traffic to different paths and ensure the transmission efficiency and stability of key businesses.

[0079] When distributing traffic, the system leverages the traffic scheduling capabilities of network devices to distribute traffic according to established policies and considers load balancing to avoid path overload. Furthermore, the system continuously monitors traffic distribution and network status changes, dynamically adjusting distribution strategies based on real-time data to address network changes and fluctuations in business demand.

[0080] Through steps 101 to 105, the system can achieve end-to-end congestion control across devices by comprehensively considering the global network status information of multiple network devices, combining multi-dimensional congestion metric calculation and dynamic path selection, thereby improving the overall congestion response capability and reliability of network devices and meeting the dynamic changes and diversity needs of user behavior.

[0081] In some embodiments, as Figure 2 As shown, the above step 102 includes:

[0082] Step 201: performing weighted calculation on each link delay data according to a preset first sensitivity constant and a preset ideal link delay value to obtain multiple weighted link delay values.

[0083] The first sensitivity constant is used to adjust the influence of link delay on congestion metric, and the ideal link delay value refers to the standard value of link delay when the network is in the optimal state.

[0084] Generally speaking, when the network is in optimal condition, it includes the following aspects:

[0085] The link is functioning properly: The link is free of physical damage, looseness, or electrical interference, and can transmit data at the designed rate.

[0086] No network congestion: The data traffic in the network is within the carrying capacity of the link, and there will be no queuing delays due to excessive traffic.

[0087] High-performance device operation: Servers and switches have ample CPU (Central Processing Unit), memory, and other resources to quickly process data packets without latency caused by device performance bottlenecks.

[0088] Efficient data transmission: When data packets are transmitted in the network, there is no additional delay due to frequent retransmission, packet loss or error correction.

[0089] Network configuration optimization: The network topology is reasonable, routing is correctly configured, and QoS (Quality of Service) policies are effectively implemented to ensure priority transmission of critical traffic.

[0090] Specifically, the system performs weighted processing on the link delay data of each node through a link delay weight function. The link delay weight function can be expressed as:

[0091] ;

[0092] Among them, k D is the first sensitivity constant, D0 is the ideal link delay value, W D (D) refers to the link delay weight function that changes with the value D of the link delay data, W D The value of (D) represents the weighted link delay value.

[0093] For example, when the first sensitivity constant is set to 0.5, the ideal link delay value is 10 milliseconds, and the current link delay of a certain node is 20 milliseconds, the calculated weighted link delay value is 1.

[0094] Step 202: performing weighted calculation on each packet loss rate data according to a preset second sensitivity constant and a preset ideal packet loss rate to obtain multiple weighted packet loss rates.

[0095] The second sensitivity constant is used to adjust the impact of the packet loss rate on the congestion metric, and the ideal packet loss rate refers to the standard value of the packet loss rate when the network is in the optimal state.

[0096] Specifically, the system performs weighted processing on the packet loss rate data of each node through the packet loss rate weight function. The packet loss rate weight function can be expressed as:

[0097] ;

[0098] in, is a constant for adjusting sensitivity, is the ideal packet loss rate, Refers to the value of the packet loss rate data Changing packet loss rate weight function, The value of represents the weighted link delay value.

[0099] For example, when the second sensitivity constant is set to 0.3, the ideal packet loss rate is 0.1%, and the current packet loss rate of a node is 0.2%, the calculated weighted packet loss rate is 0.6.

[0100] Step 203: Perform weighted calculation on each queue length data according to a preset third sensitivity constant and a preset ideal queue length to obtain multiple weighted queue lengths.

[0101] The third sensitivity constant is used to adjust the influence of the queue length on the congestion metric. The ideal queue length refers to the standard value of the queue length when the network is in the optimal state.

[0102] Specifically, the system performs weighted processing on the queue length data of each node through the queue length weight function. The queue length weight function can be expressed as:

[0103] ;

[0104] Among them, k L is a constant for adjusting sensitivity, L0 is the ideal queue length, W L (L) refers to the packet loss rate weight function that changes with the value of the queue length data L, W L The value of (L) represents the weighted queue length.

[0105] For example, when the third sensitivity constant is set to 0.2, the ideal queue length is 100, and the current queue length of a node is 150, the calculated weighted queue length is 0.3.

[0106] Step 204: Perform multi-dimensional congestion metric calculation based on the total number of nodes, various weighted link delay values, various weighted packet loss rates, and various weighted queue lengths to obtain a congestion metric value for each node.

[0107] The congestion metric of each node is used to comprehensively evaluate the congestion level of each node in the network.

[0108] Specifically, the system uses a comprehensive congestion measurement formula to comprehensively calculate the weighted link delay value, weighted packet loss rate, and weighted queue length of all nodes. The comprehensive congestion measurement formula can be expressed as:

[0109] ;

[0110] Where C is the comprehensive congestion metric of the entire network. The value range depends on the actual value range of each parameter. A higher value indicates more severe congestion. is the weighted link delay of the i-th node, is the weighted packet loss rate of the i-th node, is the weighted queue length of the i-th node, and n is the total number of nodes in the network.

[0111] For example, for a network consisting of three nodes, the weighted link delay values ​​of each node are 1, 0.5, and 0.8, the weighted packet loss rates are 0.6, 0.3, and 0.4, and the weighted queue lengths are 0.3, 0.2, and 0.5. The calculated composite congestion metric is 1.5 + 0.8 + 1.0 = 3.3.

[0112] Through steps 201 to 204, the system can accurately calculate the congestion metric for each node in the network, providing a scientific basis for subsequent congestion control and traffic optimization.

[0113] In some embodiments, as Figure 3 As shown, the above step 103 includes:

[0114] Step 301: Determine an initial congestion measurement threshold based on historical status data of each node and network characteristic parameters of network devices.

[0115] Among them, historical status data includes information such as link delay, packet loss rate and queue length within a preset time period; network characteristic parameters cover network scale, link bandwidth and service type.

[0116] Specifically, the system analyzes historical status data, calculates the distribution statistical characteristics of the congestion metric value of each node, and combines the network characteristic parameters to determine the initial threshold.

[0117] For example, in a large-scale, high-bandwidth network with diverse service types, the initial congestion metric threshold should be set to a relatively high value, such as 0.7 (the value range is usually 0 to 1), to adapt to the complexity and high load demand of the network.

[0118] Step 302: Update the initial congestion metric threshold according to the current congestion metric value of each node to obtain the congestion metric threshold.

[0119] Among them, the current congestion metric value reflects the real-time congestion status of the network.

[0120] Specifically, the system uses an adaptive adjustment algorithm to dynamically adjust the initial threshold according to the distribution and change trend of the current congestion metric value.

[0121] For example, if the current congestion metric values ​​of most nodes are continuously higher than the initial threshold, the system will appropriately raise the threshold to more accurately identify congested nodes; conversely, if the congestion metric values ​​are generally lower than the initial threshold, the threshold will be lowered so that the threshold is always maintained at a level that can effectively distinguish between normal and congested states.

[0122] Step 303: One or more target nodes whose congestion metric values ​​are greater than the congestion metric threshold are selected from the nodes according to the congestion metric threshold.

[0123] The target node refers to a node that may be congested.

[0124] Specifically, the system compares the congestion metric of each node with the threshold one by one. When the value of a node is greater than the threshold, it is determined to be the target node.

[0125] For example, if the congestion metric threshold is 0.6 and the congestion metric of node A is 0.7, node A is selected as the target node, indicating that it may be congested and requires further analysis and confirmation.

[0126] Step 304: Calculate the local congestion index of each target node according to the congestion metric value of each target node.

[0127] Among them, the local congestion index is used to quantify the difference in congestion level of the target node relative to its neighboring nodes.

[0128] Specifically, the system can use the local congestion index calculation formula to calculate the local congestion index of the bottleneck node, which is expressed as follows:

[0129] ;

[0130] Among them, LC i For nodes The local congestion index, the value range depends on the actual value range of each parameter. A higher value means that the node is more likely to become a bottleneck relative to its neighboring nodes; C norm,i is the normalized comprehensive congestion metric of node i, C norm,i is the normalized comprehensive congestion metric of node j, which is a neighbor node of node i.

[0131] Assume that the congestion metric of node B is 0.8, the average value of its neighboring nodes is 0.5, and the standard deviation is 0.1. Then the local congestion index of node B is 3, indicating that its congestion level is significantly higher than that of surrounding nodes and it may become a congestion bottleneck.

[0132] Step 305: Arrange the target nodes in ascending or descending order according to the local congestion indexes to obtain a bottleneck node list.

[0133] The bottleneck node list is used to clearly identify nodes or paths in the network that are prone to congestion.

[0134] For example, the system can compare the local congestion indexes of all target nodes and sort them from highest to lowest. If the target nodes include node C (local congestion index of 2.3), node D (index of 1.8), and node E (index of 2.5), the resulting bottleneck node list will be node E, node C, and node D after sorting. This helps prioritize the most congested nodes.

[0135] Step 306: Based on the neighbor node information of each target node on each congested path in the bottleneck node list, the network topology and connection relationship of each target node and its neighbor nodes are analyzed to determine the key bottleneck path information.

[0136] Among them, the key bottleneck path information represents one or more congested paths that have a greater impact on network performance.

[0137] Specifically, the system tracks the source and destination of traffic at each bottleneck node, identifies the connection paths between nodes, and evaluates its impact on network performance based on the link status along the path.

[0138] For example, if both node F and node G are bottleneck nodes and there is high packet loss rate and high delay on the connection path between them, then the path is determined to be a critical bottleneck path, indicating that this path is one of the main factors affecting network performance.

[0139] Step 307: Calculate multiple impact factors based on the local congestion index of each target node and the number of neighboring nodes obtained through the key bottleneck path information.

[0140] Among them, the impact factor is used to evaluate the specific impact of each target node and its path on the overall network congestion situation.

[0141] Specifically, the system can use the impact factor calculation formula to calculate the impact factor of each bottleneck node, evaluate the impact of the node on the entire network performance, and obtain the impact factor of each bottleneck node. The expression is:

[0142] ;

[0143] Among them, IF i For nodes The impact factor of LC depends on the actual value range of each parameter. A higher value means that the node has a greater negative impact on the overall network performance. j For nodes The local congestion index, is the number of neighbor nodes of node i.

[0144] Step 308: Determine each bottleneck node and / or each congested path according to each local congestion index and each influencing factor.

[0145] Among them, the local congestion index highlights the relative congestion level of the node, and the impact factor emphasizes the impact of the node and its path on the global network.

[0146] Specifically, the system sets two weight coefficients, multiplying them by the local congestion index and the impact factor respectively, and then adding them together to obtain the final comprehensive evaluation value. Therefore, the system can combine the above-mentioned local congestion index LC i and impact factor IF i Determine the real bottleneck node or path and obtain the bottleneck node or path information.

[0147] For example, if the weight coefficients are all 0.5, the local congestion index of node I is 2.5, and the impact factor is 0.8, then the comprehensive evaluation value is 2.15. The bottleneck nodes and congested paths are determined based on the comprehensive evaluation values. Nodes or paths with higher comprehensive evaluation values ​​are prioritized for congestion control and optimization.

[0148] Through steps 301 to 308, the system can accurately identify bottleneck nodes and congested paths in the network, providing a scientific basis for subsequent traffic scheduling and congestion control, effectively improving network performance and reliability, and ensuring the smooth transmission of critical services.

[0149] In some embodiments, as Figure 4 As shown, the above step 104 includes:

[0150] Step 401: Based on each bottleneck node and / or each congested path, determine all available paths in the network device.

[0151] An available path refers to a path that does not experience severe congestion or failures in the network and can meet basic data transmission requirements.

[0152] Specifically, the system identifies the current topology of the network through a topology analysis algorithm and excludes paths containing congested nodes or congested links. The remaining paths are available.

[0153] For example, if there are three paths in the network topology: Path A passes through Node 1 and Node 2, Path B passes through Node 3 and Node 4, and Path C passes through Node 5 and Node 6. If Node 2 and Node 3 are identified as bottleneck nodes, Path A and Path B are eliminated, leaving only Path C as the available path.

[0154] Step 402: Calculate the bottleneck weight of each bottleneck node based on the local congestion index and impact factor of each bottleneck node.

[0155] Among them, the bottleneck weight is used to measure the importance of the node in network congestion and its impact on traffic scheduling.

[0156] Specifically, the system can use the bottleneck node weight adjustment formula to calculate the weight of each bottleneck node and obtain the weight of each bottleneck node, which is expressed as:

[0157] ;

[0158] Among them, W BN (i) is the bottleneck weight of node i, and its value range depends on the actual value range of each parameter. i is the local congestion index of node i, IF i is the impact factor of node i. A larger bottleneck weight for node i indicates a higher probability that node i is a bottleneck node, and the system should avoid allocating traffic to node i during traffic scheduling. Assuming the local congestion index of bottleneck node X is 3.5, the impact factor is 0.8, and α = 0.6 and β = 0.4, the bottleneck weight of node X is 0.6 × 3.5 + 0.4 × 0.8 = 2.5.

[0159] Step 403: Calculate the path cost of each available path according to the bottleneck weight of each bottleneck node on each available path.

[0160] Among them, the path cost is used to evaluate the quality of the path. The larger the value, the higher the congestion risk of the path.

[0161] Specifically, the system can use the path cost calculation formula to calculate the path cost of each path, which is expressed as follows:

[0162] ;

[0163] Among them, PC(p) is the path cost of path p, and its value range depends on the actual value range of each parameter. BN (i) is the bottleneck weight of node i on path p. If the path cost of path p is lower, it means that the system should give more priority to allocating traffic to path p.

[0164] Assume that the available path P contains two bottleneck nodes with bottleneck weights of 2.5 and 1.8 respectively. Then the path cost of path P is 2.5+1.8=4.3.

[0165] Step 404: Determine a target available path with the minimum path cost from each available path, and use it as the target path configuration.

[0166] The target path configuration refers to the optimal path combination selected for data transmission in the network.

[0167] Specifically, the system uses a path selection algorithm (such as the Dijkstra algorithm or the A* algorithm) to find the path with the minimum cost from all available paths.

[0168] Specifically, the system can use the traffic distribution model to redistribute the traffic on the optimal path and obtain the redistributed traffic distribution F(p), which is expressed as:

[0169] ;

[0170] Among them, T j represents the jth flow demand, and m is the total flow demand. j The higher the value of , the larger the corresponding flow distribution F(p) value.

[0171] Assume that in the set of available paths, the path cost of path A is 4.3, the path cost of path B is 3.2, and the path cost of path C is 5.1, then path B is selected as the target available path for subsequent traffic distribution.

[0172] Through steps 401 to 404, the system can intelligently identify the optimal available path, ensure efficient scheduling of network traffic and rational utilization of resources, and improve overall congestion control effects and network performance.

[0173] In some embodiments, as Figure 5 As shown, after the above step 401, the following steps are also included:

[0174] Step 501: Based on the historical traffic data of each bottleneck node and / or each congested path, a network congestion model is established using a preset time series analysis long short-term memory network.

[0175] Among them, the Long Short-Term Memory (LSTM) network is a neural network structure that can process time series data and is good at capturing long-term dependencies in data.

[0176] Specifically, the system collects historical traffic data, including traffic characteristics of bottleneck nodes and congested paths over different time periods, such as peak traffic volume, average traffic volume, and traffic change rate. The system then feeds this data into an LSTM model for training, enabling the model to learn patterns of traffic changes and the patterns of congestion.

[0177] For example, the system can use hourly traffic data from the past week as training samples to train an LSTM model to predict possible congestion in the next few hours.

[0178] Step 502: A Markov decision model is configured for the network congestion model, and a decision objective of the Markov decision model is set to minimize overall congestion according to a preset reward function.

[0179] The Markov decision model is a probabilistic model based on state transitions, used to make decisions in uncertain environments. The reward function is a quantitative evaluation of different decision outcomes, used to guide the model's learning direction.

[0180] Specifically, the system defines different congestion states of the network as states of a Markov decision model, takes traffic scheduling strategies as actions, and designs reward functions based on factors such as congestion metrics and service priorities.

[0181] For example, when a traffic scheduling strategy reduces the congestion metric of a critical service path, a higher positive reward is given; whereas when the congestion metric of a non-critical service path increases, a lower negative reward is given. In this way, the model is guided to learn the optimal traffic scheduling strategy to achieve the goal of minimizing overall congestion.

[0182] Alternatively, the system can also model network congestion control as a Markov decision process, where the agent controller selects the optimal path based on the current network state with the goal of minimizing overall congestion. The reward function expression is:

[0183] ;

[0184] Among them, CBRS is a comprehensive bottleneck risk score, β controls the stability weight; Path represents the path formed by the Agent controller in the network environment, which is used to describe the action trajectory of the intelligent agent (such as the Agent controller) from the initial state to the target state; the larger the value of Path, the more severe the network congestion; the larger the value of Stability, the stronger the ability of the network system to maintain stable operation in the face of interference or changes.

[0185] Step 503: Obtain the minimum overall congested path configuration generated by the network congestion model and use it as the target path configuration.

[0186] The minimum overall congestion path configuration refers to a path combination or path allocation scheme calculated through a network congestion model and a Markov decision model that can minimize the overall congestion of the network.

[0187] Specifically, the system uses the LSTM model to predict future congestion conditions, combines it with the Markov decision model to calculate the expected rewards under different path configurations, and selects the path configuration with the highest expected reward as the path configuration with the minimum overall congestion.

[0188] For example, if the model predicts that allocating high-priority business traffic to paths A, B, and C and non-critical business traffic to paths D and E in the next half hour can minimize the overall network congestion metric, then this path configuration is selected as the target path configuration.

[0189] Through steps 501 to 503, the system can use advanced machine learning technology to accurately predict network congestion and make intelligent decisions, realize dynamic traffic scheduling and path optimization, further improve the network's congestion control capabilities and performance, and ensure efficient business transmission and stable and reliable service quality.

[0190] In some embodiments, as Figure 6 As shown, when executing step 105, the method further includes:

[0191] Step 601: Monitor the real-time traffic transmission rate of each available path, and determine whether the traffic transmission rate of any available path in the monitoring result exceeds the upper transmission rate limit or is lower than the lower transmission rate limit.

[0192] The upper and lower transmission rate limits are preset based on the requirements.

[0193] Specifically, the system collects the traffic transmission rate of each path in real time through monitoring tools deployed in the network, and compares it with the preset upper and lower limits respectively.

[0194] For example, for critical service paths, the upper limit of the transmission rate can be set to 1 Gbit / s and the lower limit to 500 Mbit / s; while for non-critical service paths, the upper limit of the transmission rate can be set to 500 Mbit / s and the lower limit to 100 Mbit / s.

[0195] Step 602: If yes, increase or decrease the rate adjustment factor of the available path according to the monitoring result.

[0196] The rate adjustment factor is pre-calculated based on the congestion metric and the path cost of the available path, and is used to dynamically adjust the traffic transmission rate to adapt to changes in network status.

[0197] Specifically, if the traffic transmission rate exceeds the upper limit, the rate adjustment factor is reduced; if it is lower than the lower limit, the rate adjustment factor is increased.

[0198] For example, if the initial rate is 500 Mbps and the rate adjustment factor is 1.2, if monitoring finds that the traffic transmission rate exceeds the upper limit, the rate adjustment factor is reduced to 0.8 and the target transmission rate is recalculated.

[0199] Step 603: Calculate the target transmission rate of the available path according to the adjusted rate adjustment factor and the initial transmission rate.

[0200] The initial transmission rate is pre-set based on the historical status data of each node and the network characteristic parameters of the network equipment, reflecting the ideal transmission rate of the path in the absence of congestion.

[0201] Specifically, the system can use the comprehensive congestion metric and path cost to calculate the rate adjustment factor for each path. The expression is:

[0202] ;

[0203] Among them, R factor (p) is the rate adjustment factor of path p, and its value range depends on the actual value range of each parameter. PC(p) is the path cost of path p, C norm is the normalized comprehensive congestion metric. If the rate adjustment factor of path p is higher, the system should increase the transmission rate of the path more significantly.

[0204] Assuming the initial transmission rate is 500 Mbps, after the rate adjustment factor is adjusted to 0.8, the target transmission rate is 500 × 0.8 = 400 Mbps.

[0205] Through steps 601 to 603, the system can monitor and dynamically adjust the traffic transmission rate in real time to ensure that network traffic is within a reasonable range, improve network stability and resource utilization, effectively respond to dynamic changes in network status, and ensure the efficiency and reliability of business transmission.

[0206] In some embodiments, as Figure 7 As shown, when executing step 105, the method further includes:

[0207] Step 701: Calculate the comprehensive status index of each node based on the link delay data, the packet loss rate data, the queue length data, the ideal link delay value, the ideal packet loss rate, and the ideal queue length.

[0208] Among them, the comprehensive status index is used to quantitatively evaluate the operating status and congestion level of each node, and is an important reference indicator for implementing network congestion control and traffic scheduling.

[0209] Specifically, the system uses the comprehensive state index calculation to process the latest network state data, calculates the comprehensive state index of each node, and obtains the updated comprehensive state index, which is expressed as:

[0210] ;

[0211] Among them, S is the comprehensive status index of the node, D is the link delay, D0 is the ideal link delay, is the standard deviation of link delay, P loss is the packet loss rate, Ploss,0 is the ideal packet loss rate, is the standard deviation of the packet loss rate, L is the queue length, L0 is the ideal queue length, is the standard deviation of the queue length.

[0212] Assume that the link delay data of a node is 20 milliseconds and the ideal link delay value is 10 milliseconds; the packet loss rate data is 0.2% and the ideal packet loss rate is 0.1%; the queue length data is 150 and the ideal queue length is 100. Then the comprehensive status index of the node is:

[0213] 1020+0.10.2+100150=2+2+1.5=5.5.

[0214] Step 702: Calculate the overall network health index of the network device based on the comprehensive status index of each node.

[0215] Among them, the overall network health index is used to macro-evaluate the operating status and performance level of the entire network, providing network administrators with intuitive network performance indicators.

[0216] For example, if there are three nodes in the network, and their comprehensive status indices are 5.5, 4.0, and 6.0 respectively, the overall network health index is 5.166, which indicates that the network as a whole is in a medium to high operating state.

[0217] Step 703: Use a preset trend prediction algorithm to predict the overall network health index of the network device and generate a network performance prediction result.

[0218] Among them, the trend prediction algorithm is used to analyze historical data, predict future trends in network performance, and help administrators prepare countermeasures in advance.

[0219] Specifically, algorithms such as sliding average, exponential smoothing, or ARIMA (Autoregressive Integrated Moving Average) can be used for prediction. For example, a simple sliding average method can be used to calculate the average of the overall network health index at the past five time points and use this as the predicted value for the next time point.

[0220] Step 704: Increase or decrease the rate adjustment factor and path cost of each available path according to the network performance prediction result.

[0221] Among them, the rate adjustment factor is used to dynamically adjust the traffic transmission rate, and the path cost is used to evaluate the quality of the path.

[0222] Specifically, if the prediction result indicates that network congestion will worsen, the rate adjustment factor is reduced and the path cost is increased; conversely, if the prediction result indicates that the network status will improve, the rate adjustment factor is increased and the path cost is reduced.

[0223] For example, if the current rate adjustment factor is 1.0 and the path cost is 3.5, if the forecast shows that network congestion will worsen, the rate adjustment factor can be reduced to 0.8 and the path cost can be increased to 4.0 to alleviate possible congestion in the future.

[0224] Through steps 701 to 704, the system can predict network performance changes in advance, dynamically adjust network parameters, optimize traffic distribution, enhance network adaptability and stability, effectively improve network service quality, and meet users' high requirements for network performance.

[0225] In such Figure 8 In one embodiment shown, the system includes multiple groups of interconnected servers and switches. The method includes: the system first collects status information of the participating servers and switches, obtains the current link delay, packet loss rate and queue length data of each device, and marks it as raw status data. The "raw status data" here refers to the most initial device status information set without any processing, including the specific values ​​of each key performance indicator, which is the basic material for subsequent analysis of the network status. Then, the distributed state sharing protocol is used to update the raw status data to obtain global network status information. For example, the system can introduce a differential state broadcast mechanism to improve state synchronization efficiency and reduce communication overhead, specifically including:

[0226] Nodes only broadcast status updates when the change in a key indicator exceeds a preset threshold;

[0227] Delta encoding is used to compress and transmit data to reduce redundant information. The judgment logic expression is:

[0228] ;

[0229] Among them, x i represents an index of the i-th node, The threshold value for its change.

[0230] Next, "global network status information" refers to the integration of raw status data from distributed devices through a distributed sharing protocol to present the current operational status of the entire network. This information encompasses the comprehensive correlation of metrics such as link latency, packet loss rate, and queue length across all devices, reflecting the overall state of the network. Next, a multi-dimensional congestion metric is calculated for this global network status information, followed by a comprehensive analysis to produce a comprehensive congestion metric. "Multi-dimensional congestion metric calculation" refers to the process of quantitatively assessing network congestion from multiple perspectives and factors (such as link latency, packet loss rate, and queue length). Comprehensive analysis combines the results of these various dimensions to produce a comprehensive congestion metric that comprehensively reflects the degree of network congestion. This metric serves as a comprehensive quantitative indicator and serves as a key basis for subsequent assessment of network congestion. Finally, a bottleneck node identification method is used to evaluate the comprehensive congestion metric. By comparing the congestion metrics of different nodes, bottleneck nodes or paths in the network are identified, providing information about these bottleneck nodes or paths. The bottleneck node identification method is a technical approach specifically designed to analyze and identify key points or paths causing congestion in a network based on comprehensive congestion metrics. By comparing the congestion metrics of different nodes, the method identifies which nodes or paths are bottlenecks restricting network performance. This bottleneck node or path information clearly identifies areas within the network that require key optimization. Next, a dynamic path selection and traffic redirection method is used to process this bottleneck node or path information to obtain traffic distribution path information. This method selects optimal transmission paths in real time based on the currently identified bottleneck nodes or paths and redistributes traffic appropriately along these paths. The resulting traffic distribution path information represents the optimized distribution of network traffic along each path, including the amount of traffic carried by each path, and is used to guide subsequent data transmission. Based on the comprehensive congestion metric and traffic distribution path information, an adaptive rate adjustment method is used to dynamically adjust the data transmission rate, generating the adjusted data transmission rate information. The adaptive rate adjustment method automatically and flexibly adjusts data rates based on the current comprehensive congestion metric and traffic distribution path information. This dynamic adjustment aligns the data rate with the actual network conditions. The resulting dynamically adjusted data rate information represents the specific data rate appropriate for the current network state on each path, ensuring efficient and stable network transmission. Finally, network performance indicators are continuously monitored and policies are continuously adjusted based on the latest data, resulting in updated network performance indicators and optimized strategies."Continuous monitoring" means continuously monitoring various network performance indicators (such as latency and packet loss rate) to keep abreast of changes in network status. "Continuous policy adjustment" means optimizing and improving existing strategies for congestion metric calculation, bottleneck identification, path selection, and rate adjustment in real time based on the latest monitoring data. This ultimately results in updated network performance indicators and optimization strategies, enabling continuous network optimization and performance improvement. Therefore, by comprehensively considering global network status information from multiple network devices, combining multi-dimensional congestion metric calculation with dynamic path selection, the system achieves end-to-end congestion control across devices, improving the overall congestion response capability and reliability of network equipment.

[0231] According to a second aspect, the present application provides a congestion control device for a network device, such as Figure 9 As shown, the network device includes multiple groups of interconnected servers and switches, and the device includes:

[0232] The network status acquisition module 110 is used to acquire global network status information of network devices; the global network status information is calculated based on the original status data of multiple nodes, each node being a server or a switch.

[0233] The congestion metric calculation module 120 is used to perform multi-dimensional congestion metric calculation on the global network status information using a preset weight function to obtain the congestion metric value of each node. The global network status information includes link delay data, packet loss rate data and queue length data in each original status data.

[0234] The congested node path identification module 130 is configured to identify one or more bottleneck nodes and / or one or more congested paths from network devices based on a set congestion metric threshold and various congestion metric values. Each bottleneck node is a node whose congestion metric value reaches the congestion metric threshold. Congested paths include congested network links between servers and switches, switches and switches, and servers.

[0235] The path configuration determining module 140 is configured to determine a target path configuration from a plurality of available paths according to each bottleneck node and / or each congested path.

[0236] The path traffic distribution module 150 is configured to distribute traffic to each node on one or more available paths according to the target path configuration.

[0237] In some embodiments, the congestion metric calculation module 120 is further configured to perform weighted calculations on each link delay data item based on a preset first sensitivity constant and a preset ideal link delay value to obtain multiple weighted link delay values. Perform weighted calculations on each packet loss rate data item based on a preset second sensitivity constant and a preset ideal packet loss rate to obtain multiple weighted packet loss rates. Perform weighted calculations on each queue length data item based on a preset third sensitivity constant and a preset ideal queue length to obtain multiple weighted queue lengths. Perform multi-dimensional congestion metric calculations based on the total number of nodes, each weighted link delay value, each weighted packet loss rate, and each weighted queue length to obtain a congestion metric value for each node.

[0238] In some embodiments, the congested node path identification module 130 is further configured to determine an initial congestion metric threshold based on historical status data of each node and network characteristic parameters of network devices. The initial congestion metric threshold is updated based on the current congestion metric value of each node to obtain a congestion metric threshold. Based on the congestion metric threshold, one or more target nodes whose congestion metric values ​​are greater than the congestion metric threshold are screened from each node. Local congestion indices for each target node are calculated based on the congestion metric values ​​of each target node. The target nodes are sorted in ascending or descending order based on the local congestion indices to obtain a bottleneck node list. Based on the neighbor node information of each target node on each congested path in the bottleneck node list, the network topology and connectivity of each target node and its neighbor nodes are analyzed to determine critical bottleneck path information. The critical bottleneck path information identifies one or more congested paths that significantly impact network performance. Multiple impact factors are calculated based on the local congestion index of each target node and the number of neighbor nodes obtained from the critical bottleneck path information. Each bottleneck node and / or each congested path is identified based on the local congestion indices and the impact factors.

[0239] In some embodiments, the path configuration determination module 140 is further configured to determine all available paths in the network device based on each bottleneck node and / or each congested path. The bottleneck weight of each bottleneck node is calculated based on the local congestion index and impact factor of each bottleneck node. The path cost of each available path is calculated based on the bottleneck weight of each bottleneck node on each available path. The target available path with the lowest path cost is determined from each available path and used as the target path configuration.

[0240] In some embodiments, after determining all available paths in the network device, the path configuration determination module 140 is further configured to establish a network congestion model using a preset time series analysis long short-term memory network based on historical traffic data of each bottleneck node and / or each congested path. A Markov decision model is configured for the network congestion model, and the decision objective of the Markov decision model is set to minimize overall congestion based on a preset reward function. The minimum overall congested path configuration generated by the network congestion model is obtained and used as the target path configuration.

[0241] In some embodiments, when allocating traffic to each node on one or more available paths, the path traffic allocation module 150 is also used to monitor the real-time traffic transmission rate of each available path, and determine whether the traffic transmission rate of any available path in the monitoring results exceeds the upper limit of the transmission rate or is lower than the lower limit of the transmission rate. The upper limit of the transmission rate and the lower limit of the transmission rate are pre-set according to demand. If so, the rate adjustment factor of the available path is increased or decreased according to the monitoring results. The rate adjustment factor is calculated in advance based on the congestion measurement value and the path cost of the available path. Based on the adjusted rate adjustment factor and the initial transmission rate, the target transmission rate of the available path is calculated. The initial transmission rate is pre-set based on the historical status data of each node and the network characteristic parameters of the network device.

[0242] In other embodiments, when allocating traffic to nodes on one or more available paths, the path traffic allocation module 150 is further configured to calculate a comprehensive status index for each node based on link delay data, packet loss rate data, queue length data, ideal link delay value, ideal packet loss rate, and ideal queue length. The overall network health index of the network device is calculated based on the comprehensive status index of each node. A preset trend prediction algorithm is used to predict the overall network health index of the network device to generate a network performance prediction result. The rate adjustment factor and path cost of each available path are increased or decreased based on the network performance prediction result.

[0243] The specific definition of the congestion control device for a network device can be found in the definition of the congestion control method applicable to a network device above and will not be repeated here. Each module in the congestion control device for a network device can be implemented in whole or in part via software, hardware, or a combination thereof. Each of the modules can be embedded in or independent of a processor in a computer device in hardware form, or stored in a memory in the computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0244] According to a third aspect, the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the congestion control method for a network device in any one of the above embodiments are implemented.

[0245] According to a fourth aspect, the present application provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the steps of the congestion control method for a network device in any one of the above-mentioned embodiments are implemented.

[0246] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 10 As shown. The computer device includes a processor, memory, network interface, and database connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store data related to congestion control of the network device. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, it implements any of the above-mentioned congestion control methods for network devices.

[0247] In particular, any reference to memory, storage, database, or other media used in the various embodiments provided herein may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), memory bus (RamCUs), direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0248] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0249] The above embodiments merely illustrate several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art could make numerous variations and improvements without departing from the spirit of the present application, all of which fall within the scope of protection of the present application.

[0250] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.

Claims

1. A congestion control method for a network device, characterized in that: The network device includes multiple groups of interconnected servers and switches; the method includes: Obtaining global network status information of the network device; the global network status information is calculated based on original status data of multiple nodes, each of the nodes being a server or a switch; A multi-dimensional congestion metric calculation is performed on the global network state information using a preset weight function to obtain a congestion metric value of each node; the global network state information includes link delay data, packet loss rate data, and queue length data in each of the original state data; Based on a set congestion metric threshold and each of the congestion metric values, one or more bottleneck nodes and / or one or more congested paths are identified from the network device; each bottleneck node is a node whose congestion metric value reaches the congestion metric threshold, and the congested paths include congested network links between a server and a switch, between switches, and between servers; determining a target path configuration from a plurality of available paths according to each of the bottleneck nodes and / or each of the congested paths; Distribute traffic to nodes on one or more available paths according to the target path configuration; The step of identifying one or more bottleneck nodes and / or one or more congested paths from the network device based on the set congestion metric threshold and each of the congestion metric values ​​includes: Determining an initial congestion measurement threshold based on the historical status data of each of the nodes and the network characteristic parameters of the network device; Updating the initial congestion metric threshold according to the current congestion metric value of each node to obtain the congestion metric threshold; Filtering, from the nodes according to the congestion metric threshold, one or more target nodes whose congestion metric values ​​are greater than the congestion metric threshold; Calculating a local congestion index of each target node according to the congestion metric value of each target node; Arrange the target nodes in ascending or descending order according to the local congestion index to obtain a bottleneck node list; Based on the neighbor node information of each target node on each congested path in the bottleneck node list, the network topology and connection relationship of each target node and its neighbor nodes are analyzed to determine key bottleneck path information; the key bottleneck path information represents one or more congested paths that have a greater impact on network performance; Calculating multiple impact factors based on the local congestion index of each target node and the number of neighboring nodes obtained through the key bottleneck path information; Each of the bottleneck nodes and / or each of the congested paths is determined according to each of the local congestion indexes and each of the influencing factors.

2. The method according to claim 1, characterized in that The performing multi-dimensional congestion metric calculation on the global network state information to obtain the congestion metric value of each node includes: Performing weighted calculation on each link delay data according to a preset first sensitivity constant and a preset ideal link delay value to obtain a plurality of weighted link delay values; Performing weighted calculation on each packet loss rate data according to a preset second sensitivity constant and a preset ideal packet loss rate to obtain multiple weighted packet loss rates; performing weighted calculation on each queue length data according to a preset third sensitivity constant and a preset ideal queue length to obtain multiple weighted queue lengths; A multi-dimensional congestion metric calculation is performed according to the total number of the nodes, the weighted link delay values, the weighted packet loss rates and the weighted queue lengths to obtain a congestion metric value of each node.

3. The method according to claim 1, characterized in that The determining of a target path configuration from a plurality of available paths according to each of the bottleneck nodes and / or each of the congested paths includes: Determining all available paths in the network device based on each of the bottleneck nodes and / or each of the congested paths; Calculating the bottleneck weight of each bottleneck node according to the local congestion index and impact factor of each bottleneck node; Calculating a path cost of each available path according to the bottleneck weight of each bottleneck node on each available path; A target available path with the minimum path cost is determined from each of the available paths to be used as the target path configuration.

4. The method according to claim 3, characterized in that After determining all available paths in the network device, the method further includes: Based on the historical traffic data of each bottleneck node and / or each congested path, a network congestion model is established using a preset time series analysis long short-term memory network; configuring a Markov decision model for the network congestion model, and setting a decision objective of the Markov decision model to minimize overall congestion according to a preset reward function; A minimum overall congested path configuration generated by the network congestion model is obtained and used as the target path configuration.

5. The method according to claim 3, characterized in that When distributing traffic to each node on one or more available paths, the method further includes: monitoring the real-time traffic transmission rate of each of the available paths, and determining whether the traffic transmission rate of any available path in the monitoring results exceeds an upper transmission rate limit or is lower than a lower transmission rate limit; the upper transmission rate limit and the lower transmission rate limit are pre-set according to demand; If so, increase or decrease the rate adjustment factor of the available path according to the monitoring result; the rate adjustment factor is pre-calculated based on the congestion metric and the path cost of the available path; The target transmission rate of the available path is calculated based on the adjusted rate adjustment factor and the initial transmission rate; the initial transmission rate is pre-set based on the historical status data of each node and the network characteristic parameters of the network device.

6. The method according to claim 2, characterized in that When distributing traffic to each node on one or more available paths, the method further includes: Calculating a comprehensive status index of each node according to the link delay data, the packet loss rate data, the queue length data, the ideal link delay value, the ideal packet loss rate, and the ideal queue length; Calculating an overall network health index of the network device based on the comprehensive status index of each node; Using a preset trend prediction algorithm to predict the overall network health index of the network device to generate a network performance prediction result; The rate adjustment factor and path cost of each of the available paths are increased or decreased according to the network performance prediction result.

7. A congestion control device for a network device, characterized in that: The network equipment includes multiple groups of interconnected servers and switches; the device includes: A network status acquisition module, configured to acquire global network status information of the network device; the global network status information is calculated based on original status data of multiple nodes, each of which is a server or a switch; a congestion metric calculation module, configured to perform multi-dimensional congestion metric calculation on the global network state information using a preset weight function to obtain a congestion metric value for each node; the global network state information including link delay data, packet loss rate data, and queue length data in each of the original state data; a congested node path identification module, configured to identify one or more bottleneck nodes and / or one or more congested paths from the network device based on a set congestion metric threshold and each of the congestion metric values; each bottleneck node is a node whose congestion metric value reaches the congestion metric threshold; and the congested paths include congested network links between servers and switches, switches and switches, and servers; a path configuration determining module, configured to determine a target path configuration from a plurality of available paths according to each of the bottleneck nodes and / or each of the congested paths; A path traffic distribution module, configured to distribute traffic to each node on one or more available paths according to the target path configuration; The congested node path identification module is further configured to determine an initial congestion measurement threshold based on historical status data of each node and network characteristic parameters of the network device; Updating the initial congestion metric threshold according to the current congestion metric value of each node to obtain the congestion metric threshold; Filtering, from the nodes according to the congestion metric threshold, one or more target nodes whose congestion metric values ​​are greater than the congestion metric threshold; Calculating a local congestion index of each target node according to the congestion metric value of each target node; Arrange the target nodes in ascending or descending order according to the local congestion index to obtain a bottleneck node list; Based on the neighbor node information of each target node on each congested path in the bottleneck node list, the network topology and connection relationship of each target node and its neighbor nodes are analyzed to determine key bottleneck path information; the key bottleneck path information represents one or more congested paths that have a greater impact on network performance; Calculating multiple impact factors based on the local congestion index of each target node and the number of neighboring nodes obtained through the key bottleneck path information; Each of the bottleneck nodes and / or each of the congested paths is determined according to each of the local congestion indexes and each of the influencing factors.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Intelligent fusion identification network state prediction and congestion control system

    CN111526096A

  • Network congestion control method and device, equipment and storage medium

    CN117014947A