Data transmission method, device, system, equipment and medium
By obtaining congestion detection indicators in the data transmission path and selecting the diversion path, the problems of insufficient response to burst traffic and poor traffic fairness are solved, and the efficiency and stability of data transmission are achieved.
Patent Information
- Application Number
- CN202411331002.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-24
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-09-24
AI Technical Summary
The prior art should respond inadequately to burst traffic during data transmission and poor traffic fairness, especially in high-speed network environments.
By receiving the target data packet, the congestion detection indicators of the target transmission path are obtained, including network latency measurement data, maximum available bandwidth, and explicit congestion notification mark ratio. Determine the congestion of the transmission path based on these indicators, and select the shunt path among multiple transmission paths to realize the shunt transmission of data packets.
It has achieved rapid adaptation to traffic changes, optimized bandwidth allocation, enhanced traffic fairness, reduced latency and packet loss rate in data transmission, and significantly improved network stability and overall utilization rate.
Smart Images

Figure CN118842755B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a data transmission method, device, system, equipment and medium. Background Art
[0002] During data transmission, congestion usually occurs when the packet flow exceeds the processing capacity of network components; at this time, packets begin to queue for processing, resulting in increased latency, packet loss, and decreased throughput. Therefore, how to develop effective congestion control methods to optimize data transmission performance is an important topic that needs to be studied urgently.
[0003] In related technologies, derivative algorithms of the Bottleneck Bandwidth and Round-trip propagation time (BBR) algorithm, such as the BBRv2 algorithm, are used for congestion control. The algorithm monitors the round-trip time and ECN (Explicit Congestion Notification) feedback in real time to more accurately assess the network status, thereby achieving congestion control and optimizing data transmission performance.
[0004] However, in a high-speed network environment, the BBRv2 algorithm needs to spend more time to adapt to sudden large flows when performing congestion control, and some flows may occupy more bandwidth and suppress other flows. As a result, during the data transmission process, it has insufficient response to sudden flows and poor flow fairness. Summary of the invention
[0005] The present invention provides a data transmission method, device, system, equipment and medium, which are used to solve the defects of insufficient response to burst traffic and poor traffic fairness in the prior art during data transmission, and optimize bandwidth allocation and enhance traffic fairness while achieving rapid adaptation to traffic changes.
[0006] The present invention provides a data transmission method, comprising:
[0007] receiving a target data packet transmitted by a sender through a target network node in a target transmission path;
[0008] Acquire a congestion detection indicator of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path;
[0009] In the case where it is determined according to the congestion detection indicator that the target transmission path is congested, determining a diversion path corresponding to the target transmission path from the plurality of transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node and the explicit congestion notification marking ratio of each network node;
[0010] The target data packet is shunted and transmitted to a receiving end according to the target transmission path and the shunting path.
[0011] According to a data transmission method provided by the present invention, the congestion detection index of the target transmission path is obtained according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path, including:
[0012] Acquire a first detection indicator according to the network delay measurement data and the network delay threshold of the target network node;
[0013] Acquire a second detection indicator according to the maximum available bandwidth and the available bandwidth threshold of the target transmission path;
[0014] Acquire a third detection indicator according to the explicit congestion notification marking ratio and ratio threshold of each network node in the target transmission path;
[0015] The congestion detection indicator is acquired according to the first detection indicator, the second detection indicator and the third detection indicator.
[0016] According to a data transmission method provided by the present invention, obtaining the congestion detection indicator according to the first detection indicator, the second detection indicator and the third detection indicator includes:
[0017] The first detection index, the second detection index and the third detection index are weightedly added to obtain the congestion detection index.
[0018] According to a data transmission method provided by the present invention, the congestion level of each transmission path is calculated based on the following steps:
[0019] The congestion level of each transmission path is obtained according to the queue length value and link utilization rate of the sending end of each transmission path.
[0020] According to a data transmission method provided by the present invention, obtaining the congestion level of each transmission path according to the queue length value and link utilization rate of the sending end of each transmission path includes:
[0021] Dividing the queue length value by a maximum queue length threshold value to obtain a relative queue length indicator of each transmission path;
[0022] The relative queue length index and link utilization rate of each transmission path are weightedly added to obtain the congestion level of each transmission path.
[0023] According to a data transmission method provided by the present invention, the path switching cost of each transmission path is calculated based on the following steps:
[0024] The path switching cost of each transmission path is obtained according to the number of path change hops between each transmission path and the target transmission path and a preset switching cost.
[0025] According to a data transmission method provided by the present invention, determining a diversion path corresponding to the target transmission path among a plurality of transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node and the explicit congestion notification marking ratio of each network node, comprises:
[0026] Obtaining a first scoring value according to the network delay measurement data of each network node in each of the transmission paths;
[0027] Obtaining a second score value according to the ratio of explicit congestion notification marks of each network node in each of the transmission paths;
[0028] Obtaining a third scoring value according to the congestion level of each of the transmission paths;
[0029] Obtaining a fourth scoring value according to the path switching cost of each of the transmission paths;
[0030] Acquire a path score of each of the transmission paths according to the first score value, the second score value, the third score value, and the fourth score value;
[0031] The diversion path is determined among the plurality of transmission paths according to the path score.
[0032] According to a data transmission method provided by the present invention, obtaining the path score of each transmission path according to the first score value, the second score value, the third score value and the fourth score value includes:
[0033] The first score value, the second score value, the third score value and the fourth score value are weightedly added to obtain a path score of each transmission path.
[0034] According to a data transmission method provided by the present invention, the target data packet is shunt-transmitted to a receiving end according to the target transmission path and the shunt path, comprising:
[0035] Obtaining a diversion weight according to the available bandwidth, available flow and congestion level of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path;
[0036] According to the diversion weight, the target data packet is diverted and transmitted to the receiving end through the target transmission path and the diversion path.
[0037] According to a data transmission method provided by the present invention, the diversion weight is obtained according to the available bandwidth, available flow and congestion level of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path, including:
[0038] According to the available bandwidth and congestion level of the target transmission path, the available flow of the target transmission path is updated to obtain the updated available flow of the target transmission path;
[0039] According to the available bandwidth and congestion level of the diversion path, the available flow of the diversion path is updated to obtain the updated available flow of the diversion path;
[0040] The diversion weight is obtained according to the updated available flow of the target transmission path and the updated available flow of the diversion path.
[0041] According to a data transmission method provided by the present invention, obtaining the diversion weight according to the updated available flow of the target transmission path and the updated available flow of the diversion path includes:
[0042] Determine a minimum available flow rate among the updated available flow rate of the target transmission path and the updated available flow rate of the diversion path;
[0043] The diversion weight is obtained according to a ratio between the minimum available flow and the available flow of the target transmission path.
[0044] According to a data transmission method provided by the present invention, the target data packet is transmitted by the transmitting end based on a target congestion window, and the target congestion window is adjusted based on a congestion control algorithm that integrates bottleneck bandwidth and round-trip propagation time adjustment.
[0045] The present invention also provides a data transmission device, comprising:
[0046] A receiving unit, used for receiving a target data packet transmitted by a sending end through a target network node in a target transmission path;
[0047] a monitoring unit, configured to obtain a congestion detection indicator of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path;
[0048] a path selection unit, configured to determine, when it is determined according to the congestion detection indicator that the target transmission path is congested, a diversion path corresponding to the target transmission path from among the plurality of transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node, and the explicit congestion notification marking ratio of each network node;
[0049] The transmission unit is used to transmit the target data packet to the receiving end according to the target transmission path and the diversion path.
[0050] The present invention also provides a data transmission system, comprising the data transmission device as described above, a sending end, a receiving end and a plurality of network nodes;
[0051] The data transmission device is communicatively connected with each of the network nodes;
[0052] A plurality of transmission paths are established between the sending end and the receiving end through a plurality of the network nodes.
[0053] The present invention also provides an electronic 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 program, any of the above-mentioned data transmission methods is implemented.
[0054] The present invention also provides a non-transitory computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, any of the data transmission methods described above is implemented.
[0055] The present invention also provides a computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the computer program implements any of the above-mentioned data transmission methods.
[0056] The data transmission method, apparatus, system, equipment and medium provided by the present invention globally perceive the RTT value of each network node, and adaptively perceive the congestion of the target transmission path by combining the RTT value of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path. When congestion occurs in the target transmission path, the congestion level of each transmission path, the path switching cost, the RTT value of each network node and the explicit congestion notification marking ratio of each network node can be combined to quickly, accurately and fairly determine the diversion path, and dynamically divert and transmit data packets through the diversion path, so as to quickly adapt to traffic changes while optimizing bandwidth allocation and enhancing traffic fairness, thereby effectively reducing the delay and packet loss rate in data transmission, and significantly improving the stability and overall utilization of the network. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0058] Figure 1 It is a flow chart of the data transmission method provided by the present invention.
[0059] Figure 2 It is a structural schematic diagram of the data transmission system provided by the present invention.
[0060] Figure 3 It is a timing diagram of data transmission provided by the present invention.
[0061] Figure 4 It is a structural schematic diagram of the data transmission device provided by the present invention.
[0062] Figure 5 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0064] In data centers and wide area networks, congestion control is a key technology to ensure network performance and stability. Congestion usually occurs when the packet flow exceeds the processing capacity of network components (or network nodes), such as routers and switches. At this time, packets begin to queue for processing, resulting in increased latency, packet loss, and decreased throughput. Therefore, it is urgent to develop effective congestion control algorithms and mechanisms to optimize the performance of network components under high load.
[0065] Congestion window adjustment and traffic management are two main congestion control mechanisms. Congestion window adjustment prevents network congestion by dynamically adjusting the transmission rate of the data sender, which helps control the speed of data flow to network components and effectively prevents overload transmission of data flow. Traffic management covers traffic scheduling and routing strategies, which aims to ensure that traffic is evenly distributed in the network to avoid overload of specific paths or specific nodes due to excessive traffic. Queuing algorithm is also a commonly used mechanism to optimize the processing order of data packets in network devices to reduce latency and improve overall network throughput. These algorithms are usually implemented in various network nodes to keep data flow smooth and efficient.
[0066] Based on these common control mechanisms, the BBR algorithm optimizes bandwidth utilization and latency by adjusting the window size using the measured bottleneck bandwidth and round-trip time. The advantage of this method is that it does not rely on packet loss rate to determine the network status, thereby reducing the performance problems caused by packet loss reactions in traditional Transmission Control Protocol (TCP) algorithms. Improved versions of the BBR algorithm, such as the BBRv2 algorithm, are mainly aimed at performance optimization in complex network environments, especially under high packet loss conditions. The algorithm introduces support for explicit congestion notification (ECN), which uses network nodes to mark the ECN field in the packet header to warn of congestion in advance, avoid data loss and maintain high network throughput. This function effectively improves data transmission performance in high packet loss environments, especially in terms of fairness in handling non-BBR traffic. By combining real-time round-trip time (RTT) monitoring and ECN marking, the BBRv2 algorithm not only improves the accuracy of congestion detection, but also significantly improves network utilization and fairness by dynamically adjusting transmission strategies, thereby demonstrating the importance and complexity of congestion control technology in modern network management.
[0067] Although the BBRv2 algorithm has made many improvements to the original BBR algorithm, especially in terms of performance optimization in dealing with high packet loss rate environments, it still has some limitations, which affect its performance and general applicability under specific network conditions. Among them, the limitations of the BBRv2 algorithm include: in the case of a sudden increase in network traffic, especially in a high-speed network environment, BBRv2 needs time to adapt to this change, which may lead to low bandwidth utilization in a short period of time, thus affecting the overall network performance. Therefore, the BBRv2 algorithm exhibits delayed response when processing a large number of burst data flows, and its response to burst traffic is insufficient; in addition, although the BBRv2 algorithm improves the fairness of bandwidth allocation when coexisting with other congestion control algorithms, especially for non-BBR traffic, it may still have fairness issues when coexisting with traditional TCP algorithms in actual applications. For example, in some network environments, the BBRv2 algorithm may occupy more bandwidth and suppress other types of traffic, resulting in poor traffic fairness.
[0068] In summary, although the BBRv2 algorithm has excellent performance in improving network throughput and reducing packet loss rate, it still has shortcomings in responding to burst traffic and traffic fairness. The existence of these shortcomings, especially in complex or high-speed network conditions, limits data transmission performance.
[0069] Therefore, in order to solve the defects of the existing congestion control algorithms, especially BBRv2, in dealing with burst traffic in a specific network environment, and poor traffic fairness, the specific technical problems to be solved by this application include:
[0070] First, improve the ability to respond to burst traffic: Since the existing BBRv2 algorithm does not respond quickly enough when processing bursty large traffic, the available bandwidth cannot be effectively utilized in the short term, affecting the network throughput. To this end, the embodiment of the present application needs to design a congestion control mechanism that can quickly adapt to traffic changes, especially in data centers and high-speed network environments, and can quickly adjust the transmission strategy to cope with sudden increases in traffic.
[0071] Second, optimize bandwidth allocation and enhance traffic fairness: Although the BBRv2 algorithm improves the fairness of non-BBR traffic, it still has unfairness when coexisting with the traditional TCP algorithm, which may cause some traffic to be over-suppressed. In this regard, the embodiments of the present application need to explore new methods or improve existing methods to achieve a more fair bandwidth allocation strategy and ensure fairness in bandwidth usage between different congestion control algorithms and between different network applications.
[0072] Third, realize RTT global network congestion perception: The embodiment of the present application needs to propose a new congestion perception technology through global real-time round-trip time monitoring. This technology can not only detect the delay changes between each network node more accurately, but also dynamically adjust the transmission strategy of the data flow according to these changes, thereby realizing congestion management of the entire network. Through this global congestion perception mechanism, it is possible to more effectively prevent and respond to network congestion, optimize the allocation of network resources, and improve the response speed and processing capacity of the network.
[0073] Based on the above analysis, in order to solve the defects of the prior art in insufficient response to burst traffic and poor traffic fairness during data transmission, the embodiment of the present application provides a data transmission method, which can significantly improve the performance of data centers and wide area networks by adaptively performing congestion detection and dynamically adjusting data transmission strategies based on congestion detection results and performance parameters of each transmission path. In particular, when facing large-scale data transmission and high-speed network operations, the overall performance and resource utilization of the network can be improved, higher data transmission efficiency and fairer bandwidth allocation can be ensured, the use of network resources can be optimized, delays can be reduced, data loss can be prevented, and efficient network communication can be achieved, thereby achieving rapid adaptation to traffic changes while optimizing bandwidth allocation and enhancing traffic fairness.
[0074] Figure 1 It is a flow chart of the data transmission method provided by the present invention; the method can be applied to a data transmission system; Figure 2 Schematic diagram of the structure of the data transmission system provided by the present invention. Figure 2 As shown, the system at least includes a data transmission device, a sending end (or a sending end host), multiple network nodes and a receiving end (or a receiving end host).
[0075] Among them, the data transmission device at least includes a path selection unit (or path selection element) and a monitoring unit (such as an RTT monitoring module); the data transmission device can be configured inside or outside each network node, and this embodiment does not specifically limit this. The following takes the data transmission device configured inside each network node as an example to describe the method provided in this embodiment.
[0076] Among them, multiple network nodes can be combined to form multiple transmission paths between the sending end and the receiving end.
[0077] The sending host is used to send data packets and supports the BBR v2 algorithm to have the ability to adjust the sending speed; and the sending host is deployed with an RTT monitoring module to have the ability to record and upload the data sending time.
[0078] The network node, which can be a switch or router, is used to forward data packets and can interact with the path selection unit to select a transmission path for each data stream. The network node is also deployed with an RTT monitoring module to record and upload the transit time.
[0079] The receiving end is used to receive data packets.
[0080] The path selection unit is responsible for dynamically selecting the optimal path in the network. It is tightly integrated with the RTT monitoring module to use the real-time data monitored by the RTT monitoring module, such as the global RTT measurement table and congestion table, to evaluate and select the best path for data transmission, so as to dynamically adjust the transmission strategy of the data flow.
[0081] RTT monitoring module has the following functions:
[0082] Measuring network delay: responsible for accurately measuring and recording the network delay between nodes;
[0083] Sending detection data packets: periodically sending detection data packets and recording the data sending time and data receiving time;
[0084] Calculate and upload RTT value: Calculate the RTT value of each hop and upload it to the centrally managed server;
[0085] Maintain RTT global measurement table: Generate and maintain RTT global measurement table that reflects network status;
[0086] Provide real-time data support: Provide real-time data support for path selection components to perform dynamic path evaluation and selection.
[0087] In summary, the data transmission system installs RTT monitoring modules between network nodes, regularly monitors and records the RTT value between each hop, and maintains an RTT global measurement table that reflects the network status. Using these real-time data, the data transmission system can accurately perceive network congestion and dynamically adjust the transmission path and bandwidth allocation strategy of the data flow to optimize network performance and improve data transmission efficiency and fairness, thereby achieving rapid response in the face of burst traffic, and effectively reducing delays and packet loss rates in data transmission, significantly improving traffic fairness, network stability and overall utilization.
[0088] like Figure 1 As shown, the execution subject of the method is a data transmission device, and the method includes: step 110, step 120, step 130 and step 140.
[0089] Step 110: receiving a target data packet transmitted by a sender through a target network node in a target transmission path.
[0090] The target transmission path is an original path among multiple transmission paths for transmitting the target data packet. The target network node is a network node in the target transmission path that is currently required to transmit the target data. The network node may be a router or a switch, etc., which is not specifically limited in this embodiment.
[0091] Optionally, when the sending end needs to transmit data to the receiving end, the sending end may first send the target data packet to the target network node through the target transmission path.
[0092] After the target network node receives the target data packet, its built-in data transmission device monitors the target node and the target transmission path to adaptively select the optimized transmission path and optimized transmission strategy for the target data packet, thereby optimizing the allocation of network resources, enhancing traffic fairness, and improving the network's response speed and processing capabilities.
[0093] The target data packet here may be sent by the sender through various congestion control strategies.
[0094] Exemplarily, the target data packet is transmitted by the transmitting end based on a target congestion window, and the target congestion window is adjusted based on a congestion control algorithm that integrates bottleneck bandwidth and round-trip propagation time adjustment.
[0095] Optionally, the congestion control algorithm based on the integrated bottleneck bandwidth and round-trip propagation time adjustment can be a BBRv2 algorithm. Accordingly, the sender can periodically detect the bottleneck bandwidth of each transmission path and the minimum RTT value of each transmission path based on the BBRv2 algorithm, so as to adjust the congestion window (CWND) based on the bottleneck bandwidth of each transmission path and the minimum RTT value of each transmission path to form a target congestion window, so as to send the target data packet based on the target congestion window, thereby improving the utilization of network bandwidth and reducing delay.
[0096] Step 120: Acquire a congestion detection index of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path.
[0097] Optionally, since an RTT monitoring module is installed between each network node, these RTT monitoring modules can accurately record the sending and receiving time of the data packet, that is, the RTT monitoring module will periodically send a detection data packet and record the timestamp. and ;in, For the transmission path Medium network node The time when the measurement data packet is sent, For the transmission path Medium network node Receive the time when the measurement data packet is returned and use the timestamp and Calculate the transmission path Medium network node The RRT value is used to obtain the network delay measurement data of each network node. The calculation formula of the RRT value is as follows:
[0098] ;
[0099] in, For the transmission path Medium network node RRT value.
[0100] In addition, the RTT monitoring modules of all network nodes will upload the collected RTT values to a centrally managed server. The server will aggregate these data, generate and maintain a global RTT measurement table, so as to dynamically adjust the congestion control strategy. This table contains the RTT values between all network nodes in the server network and is updated regularly to reflect changes in network status, so that the RTT data of the entire network can be used for congestion perception in the future, and a wider range of network status information can be obtained, thereby improving the accuracy and response speed of congestion control.
[0101] Therefore, after receiving the target data packet transmitted by the sender through the target network node in the target transmission path, the real-time network delay measurement data (i.e., RTT value) of the target network node can be obtained by association in the RTT global measurement table according to the identifier of the target network node;
[0102] In addition, the bottleneck bandwidth of the target transmission path may be regularly monitored to obtain the maximum available bandwidth of the path; in addition, the explicit congestion notification marking ratio of each network node in the target transmission path may be monitored.
[0103] Subsequently, the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path are combined to obtain the congestion detection index of the target transmission path, thereby judging whether congestion occurs in the target transmission path based on the congestion detection index.
[0104] Here, the congestion detection indicator is obtained by logical judgment or by calculation model. The specific acquisition method can be the real-time requirements, accuracy requirements and resource consumption requirements of the joint data transmission system, and each acquisition method is scored for performance. The corresponding acquisition method is selected based on the performance score value to obtain the congestion detection indicator of the target transmission path, thereby improving the performance, reliability and user experience of the data transmission system.
[0105] Among them, for logical judgment, the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path can be compared with their respective corresponding thresholds, such as whether the network delay measurement data is higher than the minimum RTT value, whether the maximum available bandwidth is lower than the available bandwidth threshold, whether the explicit congestion notification marking ratio of the network node is higher than the ratio threshold, etc., so as to jointly determine the congestion detection index of the target transmission path based on the comparison result; for model calculation, the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path can be input into a pre-constructed calculation model, so that the calculation model can calculate and output the congestion detection index.
[0106] Step 130, when it is determined that the target transmission path is congested according to the congestion detection indicator, determine the diversion path corresponding to the target transmission path among the multiple transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node and the explicit congestion notification marking ratio of each network node.
[0107] Optionally, when it is determined based on the congestion detection indicator that the target transmission path is congested, the following steps need to be triggered to select a suitable diversion path for data packet diversion transmission, thereby improving data transmission efficiency, enhancing network stability, ensuring fairness in bandwidth allocation, and improving response speed and processing capability:
[0108] According to the performance parameters of each transmission path acquired by monitoring unit, the congestion level and path switching cost of each transmission path, as well as the network delay measurement data of each network node of each transmission path and the explicit congestion notification marking ratio of each network node are determined; then, the congestion level and path switching cost of each transmission path, as well as the network delay measurement data of each network node of each transmission path and the explicit congestion notification marking ratio of each network node are combined to perform path scoring on each transmission path, so as to select a transmission path with better performance as the diversion path corresponding to the target transmission path based on the path scoring.
[0109] Here, the path score is obtained by calculating the scores corresponding to the parameters of the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node of each transmission path, and the explicit congestion notification marking ratio of each network node, respectively, and aggregating the scores to obtain the path score of each transmission path; or inputting the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node of each transmission path, and the explicit congestion notification marking ratio of each network node into a pre-trained machine learning model to perform nonlinear learning on the machine learning model to output the path score of each transmission path. This embodiment does not specifically limit this.
[0110] Step 140: According to the target transmission path and the diversion path, the target data packet is diverted and transmitted to a receiving end.
[0111] Optionally, after obtaining the diversion path of the target transmission path, a diversion notification can be sent to the receiving end and the target network node so that the target network node can divert the target data packet to the receiving end through the target transmission path and the diversion path, thereby reducing congestion on the target transmission path, thereby improving the network's processing capacity and reducing the burden on network nodes.
[0112] The diversion ratio here can be intelligently determined based on the performance parameters of the target transmission path and the performance parameters of the diversion path obtained by the monitoring unit to ensure load balancing of each path and avoid overloading of a single path and affecting the overall transmission efficiency.
[0113] The method provided in this embodiment globally perceives the RTT value of each network node, and combines the RTT value of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path to adaptively perceive the congestion of the target transmission path. When congestion occurs in the target transmission path, the congestion level of each transmission path, the path switching cost, the RTT value of each network node and the explicit congestion notification marking ratio of each network node can be combined to quickly, accurately and fairly determine the diversion path, and dynamically divert and transmit data packets through the diversion path, so as to quickly adapt to traffic changes while optimizing bandwidth allocation and enhancing traffic fairness, thereby effectively reducing the delay and packet loss rate in data transmission, and significantly improving the stability and overall utilization of the network.
[0114] In some embodiments, the step of acquiring the congestion detection indicator of the target transmission path in step 120 further includes:
[0115] Acquire a first detection indicator according to the network delay measurement data and the network delay threshold of the target network node;
[0116] Acquire a second detection indicator according to the maximum available bandwidth and the available bandwidth threshold of the target transmission path;
[0117] Acquire a third detection indicator according to the explicit congestion notification marking ratio and ratio threshold of each network node in the target transmission path;
[0118] The congestion detection indicator is acquired according to the first detection indicator, the second detection indicator and the third detection indicator.
[0119] Optionally, since the network delay measurement data of the target network node of the target transmission path is significantly higher than the network delay threshold, it indicates that the target transmission path may be congested; since the response speed corresponding to the network delay measurement data of the conventional network node is faster than the network delay threshold, under this condition, the congestion situation can be evaluated by comparing the current RTT value of the target network node with the network delay threshold, so as to prioritize the possibility of congestion detection.
[0120] In addition, if there is a lower bottleneck bandwidth, that is, the maximum available bandwidth, in the target transmission path, it indicates that there is a network bottleneck, which further indicates that the target transmission path may be congested.
[0121] In addition, if the ratio of explicit congestion notification marks of each network node in the target transmission path is higher than the ratio threshold, it also indicates that the target transmission path may be congested.
[0122] Therefore, the embodiment of the present application can combine the following conditions to comprehensively determine whether the target transmission path is congested:
[0123] First, whether the current RTT value (or network delay measurement data) of the target network node is significantly higher than the network delay threshold;
[0124] Second, whether the maximum available bandwidth of the target transmission path is lower than the available bandwidth threshold;
[0125] Third, whether the proportion of explicit congestion notification marks of each network node in the target transmission path is higher than the proportion threshold.
[0126] Accordingly, the congestion detection index of the target transmission path can be obtained based on the following steps:
[0127] The network delay measurement data of the target network node is subtracted from the network delay threshold and then divided by the network delay threshold to obtain a first detection indicator. In addition, the ratio between the maximum available bandwidth of the target transmission path and the available bandwidth threshold is calculated to obtain a second detection indicator. In addition, the ratio between the explicit congestion notification marking ratio of each network node and the ratio threshold is calculated to obtain a third detection indicator.
[0128] Subsequently, the first detection indicator, the second detection indicator, and the third detection indicator are combined to calculate a congestion detection indicator of the target transmission path.
[0129] The combination here may be achieved through weighted addition, or direct addition, or through model fusion, which is not specifically limited in this embodiment.
[0130] For example, the congestion detection indicator may be further calculated through the following steps:
[0131] The first detection index, the second detection index and the third detection index are weightedly added to obtain the congestion detection index.
[0132] Optionally, through a weight adaptive determination method, the weight coefficients corresponding to the first detection indicator, the second detection indicator and the third detection indicator are obtained, and based on the corresponding weight coefficients, the first detection indicator, the second detection indicator and the third detection indicator are weighted added to obtain the congestion detection indicator.
[0133] Exemplarily, the calculation formula of the congestion detection index is as follows:
[0134] ;
[0135] in, For the transmission path Congestion detection indicators; , and is the weight coefficient; For the transmission path Medium network node Network delay measurement data (or RTT value); For the transmission path The corresponding network delay threshold (or network delay lower limit); For the transmission path The maximum available bandwidth; is the available bandwidth threshold (or available bandwidth upper limit); For the transmission path Medium network node The explicit congestion notification marking ratio (or ECN marking ratio) of is the ratio threshold.
[0136] The so-called weight adaptive determination method includes but is not limited to the hierarchical analysis method, the adaptive weighting algorithm or the principal component analysis method, and this embodiment does not specifically limit this.
[0137] Optionally, after obtaining the congestion detection index, the congestion detection index of the target transmission path is compared with the congestion detection index upper limit value. If it is learned that the congestion detection index of the target transmission path is greater than the congestion detection index upper limit value, it is determined that congestion occurs in the target transmission path. At this time, the subsequent diversion transmission process will be triggered to divert the target data packet to the receiving end.
[0138] If it is learned that the congestion detection index of the target transmission path is less than or equal to the congestion detection index upper limit value, it is determined that the target transmission path is not congested. At this time, the target data packet can be directly transmitted to the receiving end through the target transmission path.
[0139] The method provided in this embodiment is based on the comparison between the network delay measurement data of the target network node and the network delay threshold, combined with the evaluation of the maximum available bandwidth and the available bandwidth threshold of the target transmission path, and the analysis of the explicit congestion notification marking ratio and the ratio threshold of each network node in the path. The congestion detection index obtained by comprehensive weighted calculation can comprehensively and accurately reflect the congestion status in the data transmission process, thereby realizing efficient and accurate congestion control and optimizing data transmission efficiency and stability.
[0140] In some embodiments, the congestion level of each transmission path in step 130 is calculated based on the following steps:
[0141] The congestion level of each transmission path is obtained according to the queue length value and link utilization rate of the sending end of each transmission path.
[0142] Optionally, in the process of obtaining the congestion level, the queue length value and link utilization rate of the sending end of each transmission path may be monitored first, so as to combine the queue length value and link utilization rate of the sending end of each transmission path to obtain the congestion level of each transmission path. The congestion level here is used to characterize the degree of congestion of the transmission path.
[0143] Here, the congestion level may be obtained by calculation using a pre-built congestion calculation formula, or by classification output using a pre-trained neural network model, which is not specifically limited in this embodiment.
[0144] Exemplarily, the step of acquiring the congestion level specifically includes:
[0145] Dividing the queue length value by a maximum queue length threshold value to obtain a relative queue length indicator of each transmission path;
[0146] The relative queue length index and link utilization rate of each transmission path are weightedly added to obtain the congestion level of each transmission path.
[0147] Optionally, the queue length value at the sending end of the transmission path is divided by the maximum queue length threshold (or queue length upper limit) to obtain the relative queue length index of each transmission path; the weight coefficients corresponding to the relative queue length index and the link utilization are obtained through a weight adaptive determination method, and based on the corresponding weight coefficients, the relative queue length index and the link utilization are weightedly added to obtain the congestion level of each transmission path.
[0148] Exemplarily, the calculation formula of the congestion level is as follows:
[0149] ;
[0150] in, For the transmission path The congestion level; and is the weight coefficient; For the transmission path The queue length value of the sending end; For the transmission path Link utilization; is the maximum queue length threshold.
[0151] The method provided in this embodiment obtains a relative queue length index by comparing the queue length value at the sending end of each transmission path with the maximum queue length threshold, and performs weighted calculation in combination with the link utilization, so as to accurately evaluate the congestion level of each transmission path, thereby providing an accurate quantitative basis for congestion control in data transmission, realizing efficient congestion detection and adjustment based on real-time network status, and optimizing the stability and reliability of data transmission.
[0152] In some embodiments, the path switching cost of each transmission path in step 130 is calculated based on the following steps:
[0153] The path switching cost of each transmission path is obtained according to the number of path change hops between each transmission path and the target transmission path and a preset switching cost.
[0154] Optionally, in the process of acquiring the path switching cost, the similarity between each transmission path and the target transmission path may be acquired based on the following steps to obtain the path switching cost of each transmission path:
[0155] First, the number of path change hops between each transmission path and the target transmission path is obtained, and then the number of path change hops and the preset switching cost are weightedly added to obtain the path switching cost of each transmission path.
[0156] Exemplarily, the calculation formula of the path switching cost is as follows:
[0157] ;
[0158] in, For the transmission path Path switching cost; For the transmission path The number of path change hops between the target transmission path and the target transmission path; is a preset switching cost, which may be a preset basic switching cost when the number of path change hops is 0; is the weight coefficient.
[0159] The method provided in this embodiment calculates the number of path change hops between each transmission path and the target transmission path, and combines the preset switching cost to obtain the path switching cost of each transmission path, so as to provide an intelligent decision-making basis based on the path change cost for congestion control in data transmission, which helps to select the path switching strategy with the lowest cost and the least impact when avoiding or alleviating congestion, thereby optimizing the overall efficiency and stability of data transmission.
[0160] In some embodiments, the step of selecting a diversion path in step 130 further includes:
[0161] Obtaining a first scoring value according to the network delay measurement data of each network node in each of the transmission paths;
[0162] Obtaining a second score value according to the ratio of explicit congestion notification marks of each network node in each of the transmission paths;
[0163] Obtaining a third scoring value according to the congestion level of each of the transmission paths;
[0164] Obtaining a fourth scoring value according to the path switching cost of each of the transmission paths;
[0165] Acquire a path score of each of the transmission paths according to the first score value, the second score value, the third score value, and the fourth score value;
[0166] The diversion path is determined among the plurality of transmission paths according to the path score.
[0167] Figure 3 is a timing diagram of data transmission provided by the present invention. Figure 3 As shown, when the target transmission path is monitored and it is known that the target transmission path is congested, the following steps can be performed to select a diversion path to select a diversion path corresponding to the target transmission path for data packet classification transmission:
[0168] First, a first scoring value is determined according to the inverse of the network delay measurement data of each network node in each transmission path; in addition, 1 is subtracted from the explicit congestion notification marking ratio of each network node in each transmission path to obtain a second scoring value; in addition, 1 can be subtracted from the congestion level of the transmission path to obtain a third scoring value; the path switching cost of each transmission path is used as the fourth scoring value.
[0169] Then, the first scoring value, the second scoring value, the third scoring value and the fourth scoring value are combined to obtain the path score of each transmission path.
[0170] The path score here may be calculated by a pre-constructed score calculation formula, or may be predicted and output by a pre-trained neural network model, which is not specifically limited in this embodiment.
[0171] Exemplarily, the path score is obtained based on the following steps:
[0172] The first score value, the second score value, the third score value and the fourth score value are weightedly added to obtain a path score of each transmission path.
[0173] Optionally, through a weight adaptive determination method, the weight coefficients corresponding to the first score value, the second score value, the third score value and the fourth score value are obtained, and based on the corresponding weight coefficients, the first score value, the second score value, the third score value and the fourth score value are weighted added to obtain the path score of each transmission path.
[0174] For example, the specific calculation formula of the path score is as follows:
[0175] ;
[0176] in, For the transmission path Path score; , , and is the weight parameter; For the transmission path The number of network nodes included; For the transmission path Medium network node Network delay measurement data; For the transmission path Medium network node The proportion of explicit congestion notification markings; For the transmission path The congestion level; For the transmission path The path switching cost.
[0177] After the path score of each transmission path is obtained, a path with the highest path score may be selected from multiple transmission paths as a diversion path of the target transmission path, so as to perform diversion transmission of data packets.
[0178] The method provided in this embodiment calculates a comprehensive score for each path by comprehensively considering the network delay, explicit congestion notification, congestion level and path switching cost of each transmission path, and accurately selects a diversion path from multiple transmission paths based on this score. This method effectively improves the accuracy and efficiency of congestion control in data transmission, ensures that data can be transmitted along the optimal path, thereby significantly reducing the risk of congestion and enhancing the stability and reliability of data transmission.
[0179] In some embodiments, the step of transmitting the data packet in step 140 further includes:
[0180] Obtaining a diversion weight according to the available bandwidth, available flow and congestion level of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path;
[0181] According to the diversion weight, the target data packet is diverted and transmitted to the receiving end through the target transmission path and the diversion path.
[0182] like Figure 3 As shown, after the diversion path is selected and obtained in step 130, the following steps may be performed to determine the diversion ratio (or diversion weight), thereby diverting the target data packet according to the diversion ratio, and diverting the diverted target data packet to the receiving end through the target transmission path and the diversion path:
[0183] First, the available bandwidth, congestion level, and available flow of the target transmission path, as well as the available bandwidth, available flow, and congestion level of the diversion path are monitored and obtained;
[0184] Next, the available bandwidth, congestion level, and available flow of the target transmission path and the available bandwidth, available flow, and congestion level of the diversion path are integrated to obtain the diversion weight.
[0185] After obtaining the diversion weight, a diversion notification is sent to the receiving end and the target network node, so that the target network node divides the target data packet into two sub-data packets based on the diversion weight, and diverts and transmits the two sub-data packets to the receiving end through the target transmission path and the diversion path respectively, thereby migrating part of the data traffic to the diversion path for transmission, thereby solving the congestion problem of the target transmission path.
[0186] The diversion weight here can be calculated by inputting the available bandwidth, congestion level and available flow of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path into a pre-built weight calculation formula, or it can be obtained by inputting the available bandwidth, congestion level and available flow of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path into a pre-trained neural network model to predict the output, which is not specifically limited in this embodiment.
[0187] Exemplarily, the diversion weight may be calculated based on the following steps:
[0188] According to the available bandwidth and congestion level of the target transmission path, the available flow of the target transmission path is updated to obtain the updated available flow of the target transmission path;
[0189] According to the available bandwidth and congestion level of the diversion path, the available flow of the diversion path is updated to obtain the updated available flow of the diversion path;
[0190] The diversion weight is obtained according to the updated available flow of the target transmission path and the updated available flow of the diversion path.
[0191] Optionally, 1 is subtracted from the congestion level of the target transmission path, and the result is multiplied by the available bandwidth of the target transmission path, and the multiplication result is subtracted from the available flow of the target transmission path to obtain an updated available flow of the target transmission path;
[0192] Similarly, 1 is subtracted from the congestion level of the diversion path and then multiplied by the available bandwidth of the diversion transmission path. The multiplication result is subtracted from the available flow of the diversion transmission path to obtain the updated available flow of the diversion transmission path.
[0193] Then, the diversion weight is determined by combining the updated available flow of the target transmission path and the updated available flow of the diversion path.
[0194] The diversion weight here can be calculated by inputting the updated available flow of the target transmission path and the updated available flow of the diversion path into a pre-built weight calculation formula, or it can be obtained by inputting the updated available flow of the target transmission path and the updated available flow of the diversion path into a pre-trained neural network model to predict the output. This embodiment does not specifically limit this.
[0195] Exemplarily, the step of obtaining the diversion weight further includes:
[0196] Determine a minimum available flow rate among the updated available flow rate of the target transmission path and the updated available flow rate of the diversion path;
[0197] The diversion weight is obtained according to a ratio between the minimum available flow and the available flow of the target transmission path.
[0198] Optionally, the updated available flow rate of the target transmission path is compared with the updated available flow rate of the diversion path to determine the minimum available flow rate therebetween.
[0199] Next, a ratio between the minimum available flow and the available flow of the target transmission path is calculated, and the ratio is used as the diversion weight of the target data packet.
[0200] For example, the calculation formula of the diversion weight is as follows:
[0201] ;
[0202] in, is the diversion weight of the target data packet; , and Transmission paths The available flow, available bandwidth, and congestion level of the target transmission path. , , Transmission paths The available flow, available bandwidth, and congestion level of the traffic diversion paths.
[0203] The method provided in this embodiment comprehensively considers the available bandwidth of the target transmission path and the diversion path, the real-time updated available traffic and the congestion level, so as to dynamically adjust and allocate the diversion weight according to the real-time network load situation, so as to ensure that in a network environment where multiple congestion control algorithms coexist, various types of traffic can compete fairly for bandwidth resources, and while ensuring traffic fairness, data packets are quickly transmitted to the receiving end through the diversion path and the target transmission path, so as to adjust the processing priority and sending timing of the data packet through the algorithm, reduce the queue delay and bandwidth waste caused by burst traffic, thereby significantly enhancing the rapid response capability when processing a large amount of burst data, improving data transmission efficiency, and effectively alleviating network congestion, thereby achieving the technical effect of optimizing congestion control in data transmission.
[0204] Based on the above embodiments, it can be seen that the beneficial effects achieved by the data transmission method provided in the embodiments of the present application include:
[0205] First, higher data transmission efficiency: The method provided in the embodiment of the present application can quickly respond to changes in network conditions through an adaptive congestion detection method, especially significantly improving the ability to quickly handle burst traffic. This not only reduces the delay in data transmission, but also maximizes the utilization of network bandwidth, making data transmission more efficient.
[0206] Second, enhanced network stability: By introducing RTT global congestion awareness technology, the method provided in the embodiment of the present application can monitor the delay changes of the entire network in real time and provide more accurate and timely congestion warnings. The application of this technology greatly enhances the stability of the network in the face of different traffic dynamics, especially in a changing network environment, and can effectively maintain the continuous stability of network performance.
[0207] Third, fair bandwidth allocation: The method provided in the embodiment of the present application optimizes the bandwidth allocation mechanism by adaptively determining the diversion path and diversion ratio, thereby ensuring fairness between different congestion control algorithms in a multi-flow environment, as well as fairness between different network applications. This optimized allocation method solves the problem of certain traffic being suppressed by the traditional BBRv2 algorithm, allowing all traffic to compete fairly for network resources, thereby improving the fairness and efficiency of the overall network.
[0208] Fourth, improve response speed and processing capacity: The method provided in the embodiment of the present application improves the network's response speed to state changes through the RTT monitoring mechanism and dynamic data flow adjustment strategy, so that the network can respond quickly when congestion is found, optimize the data flow transmission strategy, and reduce the possibility of congestion. This not only improves the processing capacity of the network, but also reduces the burden on network equipment.
[0209] Fifth, reduce data loss: The method provided in the embodiment of the present application reduces the packet loss events caused by congestion through accurate congestion prediction and timely bandwidth adjustment (that is, data diversion transmission), which is a significant improvement in the reliability of data transmission. Especially in data centers and enterprise-level applications, the security and integrity of data are crucial, and the method provided in the embodiment of the present application effectively reduces the data loss rate by improving the overall performance of the network.
[0210] In addition, the method provided in the embodiment of the present application can also be applied to various scenarios; for example, the method provided in the embodiment of the present application can be applied to enterprise-level switch products, especially in key areas such as data center networks and telecommunications networks. By implementing the method provided in the embodiment of the present application, the performance of the network system can be significantly improved, the data transmission process can be optimized, and congestion can be reduced, thereby improving the overall network reliability and user satisfaction. For example, the method provided in the embodiment of the present application can be used in combination with other network performance optimization technologies, such as load balancing and traffic optimization technologies. Through this integrated application, the efficiency and stability of the network can be further improved, especially in the case of large network load or large data traffic, network resources can be effectively allocated to ensure service quality. For example, the method provided in the embodiment of the present application is extended to different network environments and is applicable to scenarios with a variety of business needs, such as realizing network performance isolation and management between different departments or users with different permissions. Through customized traffic control strategies, network configuration can be optimized for specific needs to achieve more flexible and personalized service provision. For example, the method provided in the embodiment of the present application is combined with an artificial intelligence-based congestion control strategy, such as using a deep reinforcement learning algorithm to automatically adjust network settings. Through this intelligent congestion control method, it is possible to dynamically optimize parameters according to real-time network conditions, improve the response speed and accuracy of congestion management, and adapt to rapid changes in the network environment.
[0211] In general, the method provided in the embodiments of the present application shows broad application prospects in improving the efficiency of network congestion control, and provides new ideas and technical paths for research in the field of network performance optimization and intelligent congestion control, so as to assist in bringing substantial improvements and upgrades to network environments of different sizes and types.
[0212] The data transmission device provided by the present invention is described below. The data transmission device described below and the data transmission method described above can be referenced to each other.
[0213] Figure 4 is a schematic diagram of the structure of the data transmission device provided by the present invention; Figure 4 As shown, the device comprises:
[0214] The receiving unit 410 is used to receive a target data packet transmitted by the sending end through a target network node in a target transmission path;
[0215] The monitoring unit 420 is used to obtain a congestion detection indicator of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path;
[0216] The path selection unit 430 is configured to determine, when it is determined according to the congestion detection indicator that the target transmission path is congested, a diversion path corresponding to the target transmission path from the plurality of transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node, and the explicit congestion notification marking ratio of each network node;
[0217] The transmission unit 440 is used to transmit the target data packet to the receiving end according to the target transmission path and the diversion path.
[0218] The device provided in this embodiment globally perceives the RTT value of each network node, and combines the RTT value of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path to adaptively perform congestion perception of the target transmission path. When congestion occurs in the target transmission path, the congestion level of each transmission path, the path switching cost, the RTT value of each network node and the explicit congestion notification marking ratio of each network node can be combined to quickly, accurately and fairly determine the diversion path, and dynamically divert and transmit data packets through the diversion path, so as to quickly adapt to traffic changes while optimizing bandwidth allocation and enhancing traffic fairness, thereby effectively reducing the delay and packet loss rate in data transmission, and significantly improving the stability and overall utilization of the network.
[0219] The device provided by the present invention is used to execute the above-mentioned method embodiments. Please refer to the above-mentioned embodiments for the specific processes and detailed contents, which will not be repeated here.
[0220] like Figure 2 As shown, this embodiment also provides a data transmission system, the system includes Figure 4 The data transmission device shown, as well as the sending end, the receiving end and multiple network nodes.
[0221] Multiple transmission paths are established between the sending end and the receiving end through multiple network nodes. The data transmission device is communicated with each network node to execute the data transmission method provided by the above embodiments, so as to transmit the data packet from the sending end to the receiving end through adaptively selected paths and bandwidth control strategies on the basis of ensuring reduced congestion, thereby achieving rapid adaptation to traffic changes while optimizing bandwidth allocation and enhancing traffic fairness, thereby effectively reducing delays and packet loss rates in data transmission, and significantly improving the stability and overall utilization of the network.
[0222] Figure 5 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 5As shown, the electronic device may include: a processor 510, a communication interface 520, a memory 530 and a communication bus 540, wherein the processor 510, the communication interface 520 and the memory 530 complete mutual communication through the communication bus 540. The processor 510 may call the logic instructions in the memory 530 to execute the data transmission method, which includes: receiving a target data packet transmitted by a sender through a target network node in a target transmission path; acquiring a congestion detection index of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification mark ratio of each network node in the target transmission path; in the case where it is determined that the target transmission path is congested according to the congestion detection index, determining a diversion path corresponding to the target transmission path in a plurality of the transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node and the explicit congestion notification mark ratio of each network node; and diverting and transmitting the target data packet to the receiving end according to the target transmission path and the diversion path.
[0223] In addition, the logic instructions in the above-mentioned memory 530 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, 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, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in 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.
[0224] On the other hand, the present invention also provides a computer program product, which includes a computer program, which can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the data transmission method provided by the above-mentioned methods, which method includes: receiving a target data packet transmitted by a sender through a target network node in a target transmission path; obtaining a congestion detection index of the target transmission path according to network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path; when it is determined that the target transmission path is congested according to the congestion detection index, determining a diversion path corresponding to the target transmission path among multiple transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node and the explicit congestion notification marking ratio of each network node; and diverting and transmitting the target data packet to the receiving end according to the target transmission path and the diversion path.
[0225] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the data transmission method provided by the above-mentioned methods, the method comprising: receiving a target data packet transmitted by a sender through a target network node in a target transmission path; acquiring a congestion detection index of the target transmission path according to network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path; when it is determined that the target transmission path is congested according to the congestion detection index, determining a diversion path corresponding to the target transmission path among a plurality of the transmission paths according to the congestion level of each transmission path, the path switching cost, the network delay measurement data of each network node, and the explicit congestion notification marking ratio of each network node; and diverting and transmitting the target data packet to the receiving end according to the target transmission path and the diversion path.
[0226] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0227] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0228] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A data transmission method, characterized in that: include: receiving a target data packet transmitted by a sender through a target network node in a target transmission path; The target network node is a network node in the target transmission path that is currently required to transmit the target data packet; Acquire a congestion detection indicator of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path; In the case where it is determined according to the congestion detection indicator that the target transmission path is congested, determining a diversion path corresponding to the target transmission path from the plurality of transmission paths according to the congestion level of each transmission path, the path switching cost of each transmission path, the network delay measurement data of each network node in each transmission path, and the explicit congestion notification marking ratio of each network node in each transmission path; According to the target transmission path and the diversion path, the target data packet is diverted and transmitted to a receiving end; The path switching cost of each transmission path is calculated based on the following steps: The path switching cost of each transmission path is obtained according to the number of path change hops between each transmission path and the target transmission path and a preset switching cost.
2. The data transmission method according to claim 1, characterized in that: The acquiring the congestion detection index of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path includes: Acquire a first detection indicator according to the network delay measurement data and the network delay threshold of the target network node; Acquire a second detection indicator according to the maximum available bandwidth and the available bandwidth threshold of the target transmission path; Acquire a third detection indicator according to the explicit congestion notification marking ratio and ratio threshold of each network node in the target transmission path; The congestion detection indicator is acquired according to the first detection indicator, the second detection indicator and the third detection indicator.
3. The data transmission method according to claim 2, characterized in that: The acquiring the congestion detection indicator according to the first detection indicator, the second detection indicator, and the third detection indicator includes: The first detection index, the second detection index and the third detection index are weightedly added to obtain the congestion detection index.
4. The data transmission method according to any one of claims 1 to 3, characterized in that: The congestion level of each transmission path is calculated based on the following steps: The congestion level of each transmission path is obtained according to the queue length value and link utilization rate of the sending end of each transmission path.
5. The data transmission method according to claim 4, characterized in that: The acquiring the congestion level of each transmission path according to the queue length value and link utilization rate of the sending end of each transmission path includes: Dividing the queue length value by a maximum queue length threshold value to obtain a relative queue length indicator of each transmission path; The relative queue length index and link utilization rate of each transmission path are weightedly added to obtain the congestion level of each transmission path.
6. The data transmission method according to any one of claims 1 to 3, characterized in that: The determining, according to the congestion level of each transmission path, the path switching cost of each transmission path, the network delay measurement data of each network node in each transmission path, and the explicit congestion notification marking ratio of each network node in each transmission path, a diversion path corresponding to the target transmission path in the plurality of transmission paths includes: Obtaining a first scoring value according to the network delay measurement data of each network node in each of the transmission paths; Obtaining a second score value according to the ratio of explicit congestion notification marks of each network node in each of the transmission paths; Obtaining a third scoring value according to the congestion level of each of the transmission paths; Obtaining a fourth scoring value according to the path switching cost of each of the transmission paths; Acquire a path score of each of the transmission paths according to the first score value, the second score value, the third score value, and the fourth score value; The diversion path is determined among the plurality of transmission paths according to the path score.
7. The data transmission method according to claim 6, characterized in that: The acquiring the path score of each transmission path according to the first score value, the second score value, the third score value and the fourth score value comprises: The first score value, the second score value, the third score value and the fourth score value are weightedly added to obtain a path score of each transmission path.
8. The data transmission method according to any one of claims 1 to 3, characterized in that: The step of shunt-transmitting the target data packet to a receiving end according to the target transmission path and the shunt path includes: Obtaining a diversion weight according to the available bandwidth, available flow and congestion level of the target transmission path, and the available bandwidth, available flow and congestion level of the diversion path; According to the diversion weight, the target data packet is diverted and transmitted to the receiving end through the target transmission path and the diversion path.
9. The data transmission method according to claim 8, characterized in that: The obtaining of the diversion weight according to the available bandwidth, available flow and congestion level of the target transmission path and the available bandwidth, available flow and congestion level of the diversion path includes: According to the available bandwidth and congestion level of the target transmission path, the available flow of the target transmission path is updated to obtain the updated available flow of the target transmission path; According to the available bandwidth and congestion level of the diversion path, the available flow of the diversion path is updated to obtain the updated available flow of the diversion path; The diversion weight is obtained according to the updated available flow of the target transmission path and the updated available flow of the diversion path.
10. The data transmission method according to claim 9, characterized in that: The acquiring the diversion weight according to the updated available flow of the target transmission path and the updated available flow of the diversion path includes: Determine a minimum available flow rate among the updated available flow rate of the target transmission path and the updated available flow rate of the diversion path; The diversion weight is obtained according to a ratio between the minimum available flow and the available flow of the target transmission path.
11. The data transmission method according to any one of claims 1 to 3, characterized in that: The target data packet is transmitted by the transmitting end based on a target congestion window, and the target congestion window is adjusted based on a congestion control algorithm that integrates bottleneck bandwidth and round-trip propagation time adjustment.
12. A data transmission device, characterized in that: include: A receiving unit, used for receiving a target data packet transmitted by a sending end through a target network node in a target transmission path; The target network node is a network node in the target transmission path that is currently required to transmit the target data packet; a monitoring unit, configured to obtain a congestion detection indicator of the target transmission path according to the network delay measurement data of the target network node, the maximum available bandwidth of the target transmission path, and the explicit congestion notification marking ratio of each network node in the target transmission path; a path selection unit, configured to determine, when it is determined according to the congestion detection indicator that the target transmission path is congested, a diversion path corresponding to the target transmission path from among the plurality of transmission paths according to the congestion level of each transmission path, the path switching cost of each transmission path, the network delay measurement data of each network node in each transmission path, and the explicit congestion notification marking ratio of each network node in each transmission path; A transmission unit, configured to transmit the target data packet to a receiving end according to the target transmission path and the diversion path; The path switching cost of each transmission path is calculated based on the following steps: The path switching cost of each transmission path is obtained according to the number of path change hops between each transmission path and the target transmission path and a preset switching cost.
13. A data transmission system, characterized in that: The method comprises the data transmission device as claimed in claim 12, a transmitting end, a receiving end and a plurality of network nodes; The data transmission device is communicatively connected with each of the network nodes; A plurality of transmission paths are established between the sending end and the receiving end through a plurality of the network nodes.
14. An electronic 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 program, the data transmission method according to any one of claims 1 to 11 is implemented.
15. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the data transmission method according to any one of claims 1 to 11 is implemented.
Citation Information
Patent Citations
Differential flow control method and device for cloud computing data center network
CN106533970A
Data center congestion control method and system based on path switching perception
CN114679408A