A data transmission method, system, device, medium and program product

By monitoring and evaluating path performance in real time in the network topology and intelligently allocating data transmission, the problems of link overload and idleness in low-entropy traffic mode are solved, and network performance is optimized.

CN118740747BActive Publication Date: 2024-12-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411206919.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2024-12-27
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

The existing load balancing method is difficult to make full use of the bandwidth of multiple links in low entropy traffic mode, resulting in some links being overloaded while other links being idle, affecting network performance.

Method used

By monitoring the performance metrics of each path in real time, such as transmission delay, bandwidth, packet loss rate and egress queue load in the network topology, dynamically evaluate the status of each path, and intelligently allocate the data to be transmitted based on these metrics, Ensure that the bandwidth of each path is fully utilized and avoid traffic concentration and link overloading.

Benefits of technology

It realizes intelligent allocation of traffic in low entropy traffic mode, avoids link congestion, balances the load of each path, optimizes the performance of the entire network, and ensures the stability and efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118740747B_ABST
    Figure CN118740747B_ABST
Patent Text Reader

Abstract

The present invention discloses a data transmission method, system, device, medium and program product, which relates to the field of data processing and is used to solve the problem that the current load balancing method is difficult to deal with in the low entropy traffic mode. The data transmission optimization method dynamically evaluates the state of each path by real-time monitoring the performance indicators of each path connected to the switch during the transmission process, such as transmission delay, bandwidth, packet loss rate and export queue load, and determines the amount of data to be transmitted that each path should bear according to these performance indicators. In this way, the traffic can be intelligently allocated so that the bandwidth of each path can be fully utilized, avoiding the congestion problem caused by the concentration of traffic on a single link in the low entropy traffic mode. At the same time, this real-time traffic distribution mechanism can balance the load of each path, prevent some links from being overloaded while other links are idle, and thus optimize the performance of the entire network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing, and in particular to a data transmission method, system, device, medium and program product. Background Art

[0002] In low-entropy traffic mode, multiple large traffic data tend to be concentrated on the same link, resulting in link congestion, performance degradation, and increased data transmission delay. Although the existing load balancing methods perform well in high-entropy traffic mode and can effectively distribute traffic, they are difficult to cope with in low-entropy traffic mode. This is because in low-entropy traffic mode, traffic is unevenly distributed, and the existing load balancing methods are difficult to fully utilize the bandwidth of multiple links, resulting in some links being overloaded, while other links may be idle, which in turn affects the performance of the entire network. Summary of the invention

[0003] The purpose of the present invention is to provide a data transmission method, system, device, medium and program product, which can intelligently distribute traffic so that the bandwidth of each path can be fully utilized, avoiding the congestion problem caused by traffic concentrated on a single link in a low-entropy traffic mode. At the same time, this real-time traffic distribution mechanism can balance the load of each path, prevent some links from being overloaded while other links are idle, and thus optimize the performance of the entire network.

[0004] On the one hand, the present application provides a data transmission method, which is applied to multiple switches in a network topology structure, where the switches are connected by paths, and the data transmission method includes:

[0005] When the current switch transmits target data, real-time monitoring of performance indicators of each path connected to the current switch, the performance indicators including transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, the egress queue load being the load waiting to be transmitted;

[0006] Determine the data to be transmitted that each path bears according to the performance indicator of each path and the target data, and the sum of all the data to be transmitted is the target data;

[0007] Corresponding data to be transmitted is allocated to each of the paths to achieve transmission of the target data.

[0008] Wherein, after the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes:

[0009] Determine whether there is a congested path among the paths connected to the current switch according to the performance index of each path, and the data transmission volume of the congested path reaches a preset ratio of the path full load, and the preset ratio is greater than 0.5 and less than 1;

[0010] If there is a congested path, determining a number of backup paths from the paths connected to the current switch;

[0011] The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises:

[0012] The congested path and the data to be transmitted borne by each of the backup paths are determined according to the performance indicators of the congested path and a plurality of the backup paths.

[0013] Wherein, after the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes:

[0014] Determining whether there is a faulty path among the paths connected to the current switch according to the performance indicator of each path;

[0015] If there is a failed path, determining several backup paths from the paths connected to the current switch;

[0016] The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises:

[0017] The data to be transmitted that each of the backup paths bears is determined according to the performance indicators of the plurality of backup paths and the target data.

[0018] The step of judging whether there is a faulty path among the paths connected to the current switch according to the performance indicator of each path includes:

[0019] Calculating a health index of each of the paths according to the performance indicator of each of the paths;

[0020] comparing the health index of each of the paths with a preset threshold;

[0021] Determine the path whose health index is less than the preset threshold as a faulty path;

[0022] The path whose health index is not less than the preset threshold is determined as a normal path.

[0023] The step of real-time monitoring the performance index of each path connected to the current switch includes:

[0024] Real-time monitoring of the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch;

[0025] The step of calculating the health index of each path according to the performance indicator of each path comprises:

[0026] Calculating the health index of each of the paths according to a first preset formula;

[0027] The first preset formula is: ;

[0028] H i is the health index of the ith path connected to the current switch, L i is the transmission delay of the i-th path, B i is the bandwidth of the i-th path, P i is the packet loss rate of the i-th path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0029] Wherein, after the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes:

[0030] Obtaining historical performance indicators of each of the paths within a preset time before the current time;

[0031] Predicting the probability of failure or congestion of each path at a preset time in the future based on the historical performance indicators of each path;

[0032] If the probability is greater than a first preset probability, determining a plurality of backup paths from the paths connected to the current switch;

[0033] The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises:

[0034] According to the path that fails or is congested at the future preset time, the performance indicators of the plurality of the backup paths and the target data, the path that fails or is congested at the future preset time and the data to be transmitted that each of the backup paths bears are determined.

[0035] The step of determining a plurality of backup paths from the paths connected to the current switch includes:

[0036] Determine all paths connected to the current switch whose probability of failure or congestion in a future preset time is less than a second preset probability as the backup paths;

[0037] The first preset probability is greater than the second preset probability.

[0038] The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data includes:

[0039] Calculate the weight corresponding to each of the paths according to the performance indicator;

[0040] The data to be transmitted that each path bears is determined according to the weight of each path and the target data.

[0041] The step of real-time monitoring the performance index of each path connected to the current switch includes:

[0042] Real-time monitoring of the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch;

[0043] The step of calculating the weight corresponding to each of the paths according to the performance indicator comprises:

[0044] Calculate the weight of each path according to a second preset formula;

[0045] The second preset formula is: ;

[0046] W i is the weight of the i-th path connected to the current switch, L i is the transmission delay of the i-th path, B i is the bandwidth of the i-th path, P i is the packet loss rate of the i-th path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0047] The step of determining the data to be transmitted that each path bears according to the weight of each path and the target data includes:

[0048] Determine the data to be transmitted borne by each of the paths according to a third preset formula;

[0049] The third preset formula is: ;

[0050] c i is the amount of data to be transmitted borne by the i-th path, k is the number of all paths connected to the current switch, i is an integer between 1 and k, and F is the amount of target data.

[0051] Wherein, after the step of allocating corresponding data to be transmitted to each path to realize the transmission of the target data, the method further includes:

[0052] Real-time monitoring of the actual transmission performance of the data to be transmitted corresponding to each of the paths;

[0053] If the actual transmission performance does not meet expectations, the step of calculating the weight corresponding to each of the paths according to the performance index is re-entered to redetermine the data to be transmitted that each of the paths bears.

[0054] On the other hand, the present application provides a data transmission system, which is applied to a plurality of switches in a network topology structure, wherein the switches are connected via paths, and the data transmission system comprises:

[0055] A monitoring unit, configured to monitor in real time the performance indicators of each path connected to the current switch when the current switch transmits target data, wherein the performance indicators include transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, wherein the egress queue load is a load waiting to be transmitted in a queue;

[0056] a determination unit, configured to determine the data to be transmitted borne by each of the paths according to the performance index of each of the paths and the target data, wherein the sum of all the data to be transmitted is the target data;

[0057] The allocation unit is used to allocate corresponding data to be transmitted to each of the paths to achieve the transmission of the target data.

[0058] On the other hand, the present application provides a data transmission device, comprising:

[0059] Memory for storing computer programs;

[0060] The processor is used to implement the steps of the data transmission method described above when executing a computer program.

[0061] On the other hand, the present application provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned data transmission method when executed by a processor.

[0062] On the other hand, the present application provides a non-volatile storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the data transmission method as described above are implemented.

[0063] The present invention provides a data transmission method, system, device, medium and program product, which relates to the field of data processing and is used to solve the problem that the current load balancing method is difficult to deal with in the low entropy traffic mode. The data transmission optimization method dynamically evaluates the state of each path by real-time monitoring the performance indicators of each path connected to the switch during the transmission process, such as transmission delay, bandwidth, packet loss rate and export queue load, and determines the amount of data to be transmitted that each path should bear according to these performance indicators. In this way, the traffic can be intelligently allocated so that the bandwidth of each path can be fully utilized, avoiding the congestion problem caused by the concentration of traffic on a single link in the low entropy traffic mode. At the same time, this real-time traffic distribution mechanism can balance the load of each path, prevent some links from being overloaded and other links from being idle, and thus optimize the performance of the entire network. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] In order to more clearly illustrate the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only 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.

[0065] Figure 1 A flow chart of a data transmission method provided by the present invention;

[0066] Figure 2 A schematic diagram of a data transmission system provided by the present invention;

[0067] Figure 3 A schematic diagram of a data transmission device provided by the present invention;

[0068] Figure 4 A schematic diagram of a non-volatile storage medium provided by the present invention. DETAILED DESCRIPTION

[0069] The core of the present invention is to provide a data transmission method, system, device, medium and program product, which can intelligently distribute traffic so that the bandwidth of each path can be fully utilized, avoiding the congestion problem caused by traffic concentrated on a single link in a low-entropy traffic mode. At the same time, this real-time traffic distribution mechanism can balance the load of each path, prevent some links from being overloaded while other links are idle, and thus optimize the performance of the entire network.

[0070] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments 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.

[0071] On the one hand, if Figure 1 As shown, the present application provides a data transmission method, which is applied to multiple switches in a network topology structure, and the switches are connected through paths. The data transmission method includes:

[0072] S11: When the current switch transmits target data, monitor the performance indicators of each path connected to the current switch in real time, where the performance indicators include transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, where the egress queue load is the load waiting to be transmitted in queue;

[0073] The principle of this step is that by real-time monitoring of the key performance indicators of each path connected to the current switch, the real-time status information of each path can be obtained, thereby providing a basis for subsequent traffic allocation decisions. These performance indicators include transmission delay, bandwidth, packet loss rate, and egress queue load, which respectively reflect the response speed of the path, available bandwidth, the possibility of data packet loss, and the amount of data currently waiting to be transmitted. Transmission delay can reveal the real-time transmission efficiency of the path, bandwidth indicates the carrying capacity of the path, packet loss rate reflects the reliability of the data packet during transmission, and egress queue load indicates the busyness of data transmission on the current path. When the queue load is high, it means that there are already many data packets waiting to be transmitted on the path, which may lead to increased delay and decreased performance.

[0074] By monitoring these indicators in real time, the load and transmission capacity of each path can be dynamically evaluated, thus laying the foundation for determining the optimal traffic allocation plan in the subsequent steps. This real-time monitoring mechanism ensures that the status information of each path is always up to date during data transmission, allowing the system to quickly respond to changes in network status and avoid transmission bottlenecks and performance degradation caused by path overload.

[0075] S12: Determine the data to be transmitted on each path according to the performance indicator and target data of each path, and the sum of all the data to be transmitted is the target data.

[0076] The principle of this step is to accurately calculate and allocate the amount of data to be transmitted that each path should bear according to the real-time performance indicators and target data volume of each path to optimize the overall data transmission efficiency. Specifically, the current state and carrying capacity of each path will be evaluated based on key performance indicators such as transmission delay, bandwidth, packet loss rate and egress queue load of each path. Paths with lower transmission delay, higher bandwidth, lower packet loss rate and lighter egress queue load usually have higher transmission efficiency and can carry more data traffic. The comprehensive weight of each path can be generated by weighted calculation of these performance indicators. The higher the weight of the path, the more suitable its current state is for data transmission. Then, the amount of data to be transmitted that should be allocated to each path is determined based on these weights to ensure that all paths can operate within their optimal carrying capacity, thereby maximizing the utilization efficiency of the overall network.

[0077] Through this weight distribution mechanism, traffic can be intelligently distributed to various paths while the total amount of target data remains unchanged, so that efficient paths bear more data traffic, while relatively poor paths reduce traffic burden, thereby avoiding path overload or idleness, ensuring the stability of data transmission and optimization of network performance.

[0078] S13: Allocate corresponding data to be transmitted to each path to achieve transmission of target data.

[0079] The principle of this step is to specifically allocate the amount of data to be transmitted that each path should bear, which is calculated previously, to achieve efficient transmission of the target data. First, after the amount of data to be transmitted of each path is determined in S12, this step allocates these data amounts to the actual transmission path to ensure that the traffic distribution conforms to the current state of the network and the carrying capacity of each path. This process is not just a simple data forwarding, but a dynamic scheduling process. The system will divide the target data into multiple data fragments according to the real-time state of each path and the amount of data to be transmitted, and transmit them in parallel through multiple paths. The advantage of this is that if a path is congested or performance degrades during transmission, the system can adjust the load of other paths in real time to ensure the smoothness and stability of the overall transmission. In addition, the order and integrity of the data packets must also be taken into account during redistribution, especially in the case of multi-path transmission, to ensure that the final receiving end can correctly reassemble these data fragments to avoid data disorder or loss due to delay differences between paths.

[0080] In one embodiment, a sequence number tag is added to the data packet so that the receiving end can correctly reassemble the data packet according to the sequence number. Specifically, each data packet will be assigned a unique sequence number before sending, and the receiving end can use these sequence numbers to sort and reassemble the data packets to ensure the integrity and order of the data. It can also include: assigning a flow tag to each data stream to ensure that the data packets of the same flow are routed to the same path or the same type of path, which can reduce the order problem of data packets between different paths. Or. Divide the target data into multiple data groups, and each group of data is transmitted through the same path to ensure that the order of the data packets in the group is not disrupted.

[0081] Through this intelligent allocation and transmission management, the bandwidth utilization of each path can be maximized, and the transmission delay and packet loss rate can be reduced, thereby ensuring that the target data can be transmitted to the destination efficiently and securely in the shortest time, thereby optimizing network performance.

[0082] In one embodiment, after the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes: judging whether there is a congested path among the paths connected to the current switch according to the performance index of each path, the data transmission volume of the congested path reaches a preset proportion of the path full load, and the preset proportion is greater than 0.5 and less than 1; if there is a congested path, determining a number of backup paths from the paths connected to the current switch; and determining the data to be transmitted borne by each path according to the performance index and target data of each path, including: determining the congested path and the data to be transmitted borne by each backup path according to the congested path and the performance indexes of the several backup paths.

[0083] In this embodiment, after real-time monitoring of the performance indicators of each path connected to the current switch, the system first determines whether there are congested paths among these paths. The definition of a congested path is that its data transmission volume has reached a preset ratio of the path's full load, and this ratio is set to be greater than 0.5 but less than 1, that is, when the transmission load of a path exceeds half of its total carrying capacity but has not reached full load, it is considered to have a potential congestion risk. Once the system detects that a path is in a congested state, the next step is to determine a number of backup paths from other paths connected to the current switch. The selection of these backup paths is based on their current performance indicators, such as transmission delay, bandwidth, packet loss rate, and egress queue load. The system comprehensively evaluates the health status of the backup paths to ensure that the selected backup paths can effectively share the traffic that is about to be transferred from the congested paths. Then, the system redistributes the amount of data to be transmitted that each path should bear based on the performance indicators of the congested paths and the selected backup paths. This allocation process fully considers the load status of the congested path, and may reduce its data transmission volume to prevent it from further deteriorating, while redistributing part of the traffic to those backup paths with better performance.

[0084] This dynamic adjustment can effectively alleviate the transmission bottleneck problem caused by overloading a single path in the network, ensure load balancing during the entire data transmission process, and improve the overall transmission efficiency and stability of the network, thereby avoiding performance degradation and data transmission delays caused by path congestion.

[0085] In one embodiment, after the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes: judging whether there is a faulty path among the paths connected to the current switch according to the performance index of each path; if there is a faulty path, determining a number of backup paths from the paths connected to the current switch; and determining the data to be transmitted borne by each path according to the performance index and target data of each path, including:

[0086] The data to be transmitted that each backup path bears is determined according to the performance indicators and target data of the plurality of backup paths.

[0087] In this embodiment, after real-time monitoring of the performance indicators of each path connected to the current switch, the system first determines whether there is a faulty path among these paths. The definition of a faulty path usually involves a path that cannot work properly or its performance indicators are significantly lower than normal levels, such as an extremely high packet loss rate or an inability to transmit data. When the system detects that a path is faulty, it selects several backup paths from other paths connected to the current switch. The selection of backup paths is based on the performance indicators of these paths to ensure that they can effectively replace the faulty paths for data transmission. Then, the amount of data to be transmitted that each backup path should bear is determined based on the performance indicators of these backup paths to ensure that the traffic of the faulty path can be smoothly transferred to the available backup paths.

[0088] Unlike the method of handling congested paths, fault handling focuses on whether the path is completely failed or unavailable, rather than just the load or performance degradation. Congested paths may still be able to transmit data, but the performance is degraded due to excessive load, so when handling congested paths, traffic distribution is adjusted to avoid further congestion and balance the load of each path. In contrast, when handling failed paths, all data to be transmitted needs to be redirected to alternate paths, because the failed path cannot take on any data transmission tasks and may completely interrupt service. The key to handling failed paths is to quickly identify and utilize alternate paths to restore normal operation of the network, while handling congested paths focuses more on how to optimize the load distribution of existing paths to maintain stable performance. In actual operation, the focus of handling faults is to ensure data reliability and continuity, while handling congestion focuses on improving overall efficiency and avoiding performance bottlenecks.

[0089] In one embodiment, the step of determining whether there is a faulty path among the paths connected to the current switch according to the performance indicator of each path includes: calculating a health index of each path according to the performance indicator of each path; comparing the health index of each path with a preset threshold; determining a path whose health index is less than the preset threshold as a faulty path; and determining a path whose health index is not less than the preset threshold as a normal path.

[0090] In one embodiment, the step of monitoring the performance index of each path connected to the current switch in real time includes: monitoring the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch in real time; the step of calculating the health index of each path according to the performance index of each path includes: calculating the health index of each path according to a first preset formula;

[0091] The first preset formula is: ;

[0092] H i is the health index of the i-th path connected to the current switch, Li is the transmission delay of the ith path, B i is the bandwidth of the ith path, P i is the packet loss rate of the ith path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0093] In this embodiment, the operating status of each path is first evaluated by real-time monitoring of the performance indicators of each path connected to the current switch, including transmission delay, bandwidth, packet loss rate and egress queue load. Based on these performance indicators, the health index of each path is calculated, which is an indicator that comprehensively measures the health status of the path. The calculation basis of the health index is a preset formula that comprehensively considers multiple factors such as transmission delay, bandwidth, packet loss rate and egress queue load. Specifically, transmission delay and packet loss rate usually reduce the health index because they directly affect the reliability and efficiency of data transmission; while bandwidth and egress queue load reflect the carrying capacity and current load of the path. The calculation formula of the health index may be a weighted average or other form of comprehensive calculation, aiming to integrate various performance indicators into a single health assessment value.

[0094] After calculating the health index of each path, these health indexes are compared with the preset threshold. The preset threshold is a pre-defined standard used to distinguish the health and fault status of a path. If the health index of a path is lower than the preset threshold, the path is judged as a faulty path, indicating that the performance of the path is seriously substandard and there may be a risk of not being able to transmit data normally; on the contrary, a path with a health index not less than the preset threshold is considered a normal path, indicating that the performance of the path is within an acceptable range and can normally undertake data transmission tasks.

[0095] In this way, it is possible to effectively distinguish between normal paths and faulty paths, ensuring that data traffic is not sent to paths with insufficient performance, thereby maintaining the stability and reliability of the network. The identification and processing of faulty paths can redirect traffic to healthy paths or backup paths in a timely manner to avoid data loss or transmission interruption caused by path failures. At the same time, this method also ensures the efficient use of network resources and reduces the risk of overall network performance being affected by poor path performance.

[0096] In one embodiment, after the step of real-time monitoring the performance index of each path connected to the current switch, the step further includes: obtaining the historical performance index of each path within a preset time before the current time; predicting the probability of each path failing or being congested at a preset time in the future based on the historical performance index of each path; if the probability is greater than a first preset probability, determining a number of backup paths from the paths connected to the current switch; and determining the data to be transmitted borne by each path based on the performance index and target data of each path, including: determining the path that fails or is congested at the preset time in the future and the data to be transmitted borne by each backup path based on the path that fails or is congested at the preset time in the future, the performance indexes and target data of the several backup paths.

[0097] In this embodiment, after real-time monitoring of the performance indicators of each path connected to the current switch, the historical performance indicators of each path within a preset time before the current time are also obtained. These historical performance data include the transmission delay, bandwidth, packet loss rate, and egress queue load of each path in the past period of time, and are intended to provide a basis for prediction of future network status. Based on these historical performance indicators, a prediction model or algorithm is used to estimate the probability of failure or congestion of each path within a preset time in the future. If the predicted probability is greater than the first preset probability, that is, it is considered that the path has a high probability of having problems in the future, several backup paths will be determined from the paths connected to the current switch. The selection of these backup paths is based on their current performance indicators to ensure that they can effectively bear the traffic when problems may occur in the future.

[0098] Next, the amount of data to be transmitted for each path will be recalculated and allocated based on the current performance indicators of each path and the predicted probability of failure or congestion. Specifically, the performance indicators of the paths that may fail or be congested in the future will be comprehensively considered, as well as the selected backup paths, to optimize the traffic distribution strategy to ensure that data can be transmitted smoothly even if failures or congestion occur. The system will allocate more traffic to healthy backup paths and reduce the load on paths that may have problems, in order to improve the reliability of data transmission and the stability of the network.

[0099] Unlike methods for handling real-time congestion and faulty paths, this embodiment introduces historical performance data to predict future states and identify potential risk paths in advance, thereby making preventive adjustments before the problem actually occurs. The key to this predictive processing method is to actively manage and optimize traffic distribution, rather than passively responding to congestion or failures that have already occurred. The congestion and faulty path processing methods of the above-mentioned embodiments usually only adjust traffic after problems have occurred on the path, while this method predicts possible problems, determines backup paths in advance, and optimizes data distribution, thereby reducing network performance degradation caused by real-time problems and improving the system's foresight and the overall reliability of the network. This proactive prevention strategy can reduce the occurrence of network interruptions and performance issues and improve the stability and efficiency of data transmission.

[0100] In one embodiment, the step of determining a plurality of backup paths from the paths connected to the current switch includes: determining all paths connected to the current switch whose probability of failure or congestion at a future preset time is less than a second preset probability as backup paths; the first preset probability is greater than the second preset probability.

[0101] In this embodiment, the process of determining the backup path is based on the probability prediction of the future path state. First, by analyzing the real-time performance indicators and historical data, the probability of each path failing or being congested in the future preset time is predicted. For each path, these probabilities reflect the risk level of performance problems that the path may encounter in the future. Then, these probabilities are compared with the second preset probability. The second preset probability is a threshold for screening backup paths, and its value is usually less than the first preset probability. The first preset probability is used to determine the path that may fail or be congested, while the second preset probability is used to screen those backup paths with lower risks. Specifically, all paths with a predicted probability of failure or congestion in the future that is less than the second preset probability are marked as backup paths. This means that these paths have relatively low risks in future performance predictions and are expected to be able to stably undertake data transmission tasks in the event of a failed or congested path. Since the first preset probability is higher than the second preset probability, it is ensured that the selection of the backup path is within the predicted low risk range, thereby avoiding the selection of paths that may have problems in the future as backup paths.

[0102] In one embodiment, the step of determining the data to be transmitted borne by each path according to the performance index and target data of each path includes: calculating the weight corresponding to each path according to the performance index; and determining the data to be transmitted borne by each path according to the weight and target data of each path.

[0103] In this embodiment, the data transmission distribution is optimized by comprehensively considering the performance indicators and target data of each path. First, the performance of each path is evaluated, including key indicators such as transmission delay, bandwidth, packet loss rate and egress queue load. Based on these performance indicators, the system calculates the weight of each path. The calculation of the weight usually involves converting each performance indicator into a unified metric value through weighted average or other comprehensive evaluation methods, wherein the quality of the performance indicator directly affects the weight. For example, paths with low transmission delay, high bandwidth, low packet loss rate and light egress queue load will obtain higher weights, indicating that these paths have better transmission capabilities and higher reliability.

[0104] Next, these weights are used to determine the amount of data to be transmitted that each path should bear. Specifically, the target data volume is allocated according to the weight of each path. Paths with higher weights are usually allocated more data traffic because they have higher transmission capacity and more stable performance; conversely, paths with lower weights bear less data traffic. This allocation method ensures that data can be transmitted on paths with better performance, thereby improving the transmission efficiency and stability of the entire network.

[0105] This method can optimize the data transmission process, ensure that the target data can flow efficiently in the network, and maximize the use of the bandwidth and processing power of each path. The weight distribution mechanism not only takes into account the current performance status, but also dynamically responds to changes in network conditions, automatically adjusts the load of each path, reduces the risk of congestion, and improves the overall data transmission quality. Such a strategy ensures that when multiple paths work in parallel, the load distribution of each path is based on its actual performance capabilities, thereby achieving optimization of data transmission and effective use of network resources.

[0106] In one embodiment, the step of monitoring the performance index of each path connected to the current switch in real time includes: monitoring the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch in real time; the step of calculating the weight corresponding to each path according to the performance index includes: calculating the weight of each path according to a second preset formula;

[0107] The second preset formula is: ; W i is the weight of the i-th path connected to the current switch, L i is the transmission delay of the ith path, B i is the bandwidth of the ith path, P i is the packet loss rate of the ith path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0108] In one embodiment, determining the data to be transmitted borne by each path according to the weight and target data of each path includes: determining the data to be transmitted borne by each path according to a third preset formula;

[0109] The third preset formula is: ;c i is the amount of data to be transmitted by the i-th path, k is the number of all paths connected to the current switch, i is an integer between 1 and k, and F is the amount of target data.

[0110] In this embodiment, transmission delay measures the time it takes for a data packet to travel from source to destination, bandwidth reflects the maximum data transmission capacity of a path, packet loss rate indicates the proportion of data packets lost during transmission, and egress queue load shows the amount of data currently waiting to be transmitted. By obtaining these performance indicators in real time, the system can fully understand the actual operating status of each path.

[0111] Next, a second preset formula is used to calculate the weight of each path based on these real-time performance indicators. This weight calculation formula usually takes into account all key performance indicators in order to generate a weight value that represents a comprehensive score of path performance. Specifically, transmission delay, bandwidth, packet loss rate, and egress queue load are input into the formula, and these indicators are converted into a single weight value through weighting and normalization. The formula may give different weight coefficients based on the importance of different indicators. For example, low transmission delay and high bandwidth are usually given higher weights, while high packet loss rate and high egress queue load will have lower weights. The weight calculation results reflect the relative performance of each path. Paths with higher weights indicate better performance and can provide faster and more reliable data transmission services, while paths with lower weights are relatively poor.

[0112] Through this weight calculation mechanism, the performance of each path can be accurately quantified and compared, and the distribution of data traffic can be optimized based on these weight values. This method ensures the efficient use of network resources, allowing data to be transmitted preferentially through paths with better performance, thereby improving the efficiency and stability of the overall network. The dynamic nature of weight calculation also enables the system to respond to changes in network status in real time, and adjust path selection and data distribution strategies in a timely manner, further enhancing the adaptability and reliability of the network.

[0113] In one embodiment, after the step of allocating corresponding data to be transmitted to each path to achieve the transmission of target data, it also includes: real-time monitoring of the actual transmission performance of the corresponding data to be transmitted on each path; if the actual transmission performance does not meet expectations, re-entering the step of calculating the corresponding weight of each path according to the performance index to redetermine the data to be transmitted borne by each path.

[0114] In this embodiment, after each path is assigned data to be transmitted and transmission begins, the actual transmission performance of each path is monitored in real time. This includes checking the actual transmission delay, bandwidth utilization, packet loss rate, and egress queue load of each path to ensure that the data transmission process meets the expected performance standards. The purpose of monitoring is to identify the difference between the actual performance and the expected performance, for example, the actual transmission delay may be higher than the expected delay, or the actual packet loss rate may be greater.

[0115] If it is found that the actual transmission performance is significantly inconsistent with expectations, the process of recalculating the path weight will be triggered. The key to this step is to adjust the weight of each path based on the actual transmission performance data monitored in real time, so as to redetermine the amount of data to be transmitted that each path should bear. Specifically, it will return to the previous step of calculating the path weight based on performance indicators, such as by adjusting the preset formula for weight calculation or its adjustment factor to reflect the latest actual performance data. Adjustment factors may include modifying the weight coefficients for delay, bandwidth, packet loss rate, and egress queue load, or introducing new performance indicators to more accurately describe the actual status of the path.

[0116] The core principle of this dynamic adjustment mechanism is to ensure that data traffic allocation can adapt to changes in network status in real time. By adjusting the path weights according to the actual transmission performance, it is possible to correct data transmission imbalances caused by inaccurate predictions or changes in network status. Redetermining the allocation of data to be transmitted can optimize path utilization efficiency, reduce performance bottlenecks, and improve the stability and reliability of overall data transmission. This feedback adjustment mechanism not only improves the utilization of network resources, but also enhances the system's adaptability, ensuring that data transmission always maintains the best performance level under changing network conditions.

[0117] On the other hand, Figure 2 As shown, the present application provides a data transmission system, which is applied to multiple switches in a network topology structure, and the switches are connected by paths. The data transmission system includes: a monitoring unit 21, which is used to monitor the performance indicators of each path connected to the current switch in real time when the current switch transmits target data, and the performance indicators include transmission delay and / or bandwidth and / or packet loss rate and / or export queue load, and the export queue load is the load waiting to be transmitted in the queue; a determination unit 22, which is used to determine the data to be transmitted borne by each path according to the performance indicators and target data of each path, and the sum of all the data to be transmitted is the target data; an allocation unit 23, which is used to allocate corresponding data to be transmitted to each path to realize the transmission of the target data.

[0118] The method further includes: a congested path determination unit, which is used to determine whether there is a congested path in the path connected to the current switch according to the performance indicator of each path after real-time monitoring of the performance indicator of each path connected to the current switch, and the data transmission volume of the congested path reaches a preset proportion of the path full load, and the preset proportion is greater than 0.5 and less than 1; if there is a congested path, determine a number of backup paths from the path connected to the current switch; a determination unit 22, which is specifically used to: determine the congested path and the data to be transmitted borne by each backup path according to the performance indicators of the congested path and the number of backup paths.

[0119] It also includes: a fault path determination unit, which is used to determine whether there is a faulty path in the path connected to the current switch according to the performance indicator of each path after real-time monitoring of the performance indicator of each path connected to the current switch; if there is a faulty path, determine several backup paths from the path connected to the current switch; a determination unit 22, which is specifically used to: determine the data to be transmitted borne by each backup path according to the performance indicators and target data of the several backup paths.

[0120] Among them, the fault path determination unit includes: a health determination unit, which is used to calculate the health index of each path according to the performance index of each path; compare the health index of each path with a preset threshold; determine the path whose health index is less than the preset threshold as a faulty path; determine the path whose health index is not less than the preset threshold as a normal path; and a backup path determination unit, which is used to determine several backup paths from the paths connected to the current switch when there is a faulty path.

[0121] The monitoring unit 21 is specifically used to monitor the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch in real time when the current switch transmits target data; the health determination unit is specifically used to calculate the health index of each path according to the first preset formula;

[0122] The first preset formula is: ;H i is the health index of the i-th path connected to the current switch, L i is the transmission delay of the ith path, B i is the bandwidth of the ith path, P i is the packet loss rate of the ith path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0123] The method further includes: a prediction unit, which is used to obtain the historical performance index of each path within a preset time before the current time after the step of real-time monitoring the performance index of each path connected to the current switch; predict the probability of each path failing or being congested within a preset time in the future according to the historical performance index of each path; and if the probability is greater than a first preset probability, determine a number of backup paths from the paths connected to the current switch;

[0124] The determination unit 22 is specifically used to determine the path that will fail or be congested at a preset time in the future and the data to be transmitted borne by each backup path based on the path that will fail or be congested at a preset time in the future and the performance indicators and target data of several backup paths.

[0125] The backup path determination unit is specifically used to: determine all paths connected to the current switch whose probability of failure or congestion in the future preset time is less than the second preset probability as backup paths; the first preset probability is greater than the second preset probability.

[0126] The determination unit 22 includes: a weight calculation unit for calculating the weight corresponding to each path according to the performance index; and a data determination unit for determining the data to be transmitted borne by each path according to the weight and target data of each path.

[0127] The monitoring unit 21 is specifically used to monitor the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch in real time;

[0128] A weight calculation unit, specifically used to calculate the weight of each path according to a second preset formula;

[0129] The second preset formula is: ; W i is the weight of the i-th path connected to the current switch, L i is the transmission delay of the ith path, B i is the bandwidth of the ith path, P i is the packet loss rate of the ith path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

[0130] The data determination unit is specifically used to: determine the data to be transmitted on each path according to a third preset formula;

[0131] The third preset formula is: ;c i is the amount of data to be transmitted by the i-th path, k is the number of all paths connected to the current switch, i is an integer between 1 and k, and F is the amount of target data.

[0132] It also includes: an adjustment unit for allocating corresponding data to be transmitted to each path to achieve the step of transmitting the target data, and then monitoring the actual transmission performance of the corresponding data to be transmitted on each path in real time; if the actual transmission performance does not meet expectations, re-entering the step of calculating the weight corresponding to each path according to the performance index to redetermine the data to be transmitted borne by each path.

[0133] For an introduction to the data transmission system, please refer to the above embodiments, and this application will not go into details here.

[0134] On the other hand, Figure 3 As shown, the present application provides a data transmission device, including:

[0135] A memory 31, used for storing computer programs;

[0136] The processor 32 is used to implement the steps of the above-mentioned data transmission method when executing the computer program.

[0137] For an introduction to the data transmission device, please refer to the above embodiments, and this application will not go into details here.

[0138] On the other hand, the present application provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned data transmission method when executed by a processor.

[0139] For an introduction to the computer program product, please refer to the above embodiments, and this application will not go into details here.

[0140] On the other hand, Figure 4 As shown, the present application provides a non-volatile storage medium 41, on which a computer program 42 is stored, and when the computer program 42 is executed by a processor, the steps of the above-mentioned data transmission method are implemented. For the introduction of the non-volatile storage medium 41, please refer to the above-mentioned embodiment, and the present application will not repeat it here.

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

[0142] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A data transmission method, characterized in that: Applied to a plurality of switches in a network topology structure, the switches are connected via paths, and the data transmission method comprises: When the current switch transmits target data, real-time monitoring of performance indicators of each path connected to the current switch, the performance indicators including transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, the egress queue load being the load waiting to be transmitted; Determine the data to be transmitted that each path bears according to the performance indicator of each path and the target data, and the sum of all the data to be transmitted is the target data; Allocating corresponding data to be transmitted to each of the paths to achieve transmission of the target data; After the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes: Obtaining historical performance indicators of each of the paths within a preset time before the current time; Predicting the probability of failure or congestion of each path at a preset time in the future based on the historical performance indicators of each path; If the probability is greater than a first preset probability, a plurality of backup paths are determined from the paths connected to the current switch.

2. The data transmission method according to claim 1, characterized in that: After the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes: Determine whether there is a congested path among the paths connected to the current switch according to the performance index of each path, and the data transmission volume of the congested path reaches a preset ratio of the path full load, and the preset ratio is greater than 0.5 and less than 1; If there is a congested path, determining a number of backup paths from the paths connected to the current switch; The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises: The congested path and the data to be transmitted borne by each of the backup paths are determined according to the performance indicators of the congested path and a plurality of the backup paths.

3. The data transmission method according to claim 1, characterized in that: After the step of real-time monitoring the performance index of each path connected to the current switch, the method further includes: Determining whether there is a faulty path among the paths connected to the current switch according to the performance indicator of each path; If there is a failed path, determining several backup paths from the paths connected to the current switch; The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises: The data to be transmitted that each of the backup paths bears is determined according to the performance indicators of the plurality of backup paths and the target data.

4. The data transmission method according to claim 3, characterized in that: The step of judging whether there is a faulty path among the paths connected to the current switch according to the performance indicator of each path includes: Calculating a health index of each of the paths according to the performance indicator of each of the paths; comparing the health index of each of the paths with a preset threshold; Determine the path whose health index is less than the preset threshold as a faulty path; The path whose health index is not less than the preset threshold is determined as a normal path.

5. The data transmission method according to claim 4, characterized in that: The step of real-time monitoring the performance index of each path connected to the current switch includes: Real-time monitoring of the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch; The step of calculating the health index of each path according to the performance indicator of each path comprises: Calculating the health index of each of the paths according to a first preset formula; The first preset formula is: ; H i is the health index of the i-th path connected to the current switch, L i is the transmission delay of the i-th path, B i is the bandwidth of the i-th path, P i is the packet loss rate of the i-th path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

6. The data transmission method according to claim 1, characterized in that: The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises: According to the path that fails or is congested at the future preset time, the performance indicators of the plurality of the backup paths and the target data, the path that fails or is congested at the future preset time and the data to be transmitted that each of the backup paths bears are determined.

7. The data transmission method according to claim 6, characterized in that: The step of determining a plurality of backup paths from the paths connected to the current switch comprises: Determine all paths connected to the current switch whose probability of failure or congestion in a future preset time is less than a second preset probability as the backup paths; The first preset probability is greater than the second preset probability.

8. The data transmission method according to any one of claims 1 to 7, characterized in that: The step of determining the data to be transmitted by each path according to the performance indicator of each path and the target data comprises: Calculate the weight corresponding to each of the paths according to the performance indicator; The data to be transmitted that each path bears is determined according to the weight of each path and the target data.

9. The data transmission method according to claim 8, characterized in that: The step of real-time monitoring the performance index of each path connected to the current switch includes: Real-time monitoring of the transmission delay, bandwidth, packet loss rate and egress queue load of each path connected to the current switch; The step of calculating the weight corresponding to each of the paths according to the performance indicator comprises: Calculating the weight of each path according to a second preset formula; The second preset formula is: ; W i is the weight of the i-th path connected to the current switch, L i is the transmission delay of the i-th path, B i is the bandwidth of the i-th path, P i is the packet loss rate of the i-th path, Q i is the egress queue load of the ith path, It is an adjustment factor and is a value between 0 and 1.

10. The data transmission method according to claim 9, characterized in that: The step of determining the data to be transmitted that each path bears according to the weight of each path and the target data comprises: Determine the data to be transmitted borne by each of the paths according to a third preset formula; The third preset formula is: ; c i is the amount of data to be transmitted borne by the i-th path, k is the number of all paths connected to the current switch, i is an integer between 1 and k, and F is the amount of target data.

11. The data transmission method according to claim 8, characterized in that: After the step of allocating corresponding data to be transmitted to each path to achieve the transmission of the target data, the method further includes: Real-time monitoring of the actual transmission performance of the data to be transmitted corresponding to each of the paths; If the actual transmission performance does not meet expectations, the step of calculating the weight corresponding to each of the paths according to the performance index is re-entered to redetermine the data to be transmitted that each of the paths bears.

12. A data transmission system, characterized in that: Applied to a plurality of switches in a network topology structure, the switches are connected via paths, and the data transmission system comprises: A monitoring unit, configured to monitor in real time the performance indicators of each path connected to the current switch when the current switch transmits target data, wherein the performance indicators include transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, wherein the egress queue load is a load waiting to be transmitted in a queue; a determination unit, configured to determine the data to be transmitted borne by each of the paths according to the performance index of each of the paths and the target data, wherein the sum of all the data to be transmitted is the target data; an allocating unit, configured to allocate corresponding data to be transmitted to each of the paths, so as to realize the transmission of the target data; The system further includes: a prediction unit, which is used to obtain the historical performance index of each path within a preset time before the current time after the step of real-time monitoring the performance index of each path connected to the current switch; predict the probability of failure or congestion of each path at a preset time in the future according to the historical performance index of each path; and determine a plurality of backup paths from the paths connected to the current switch if the probability is greater than a first preset probability.

13. A data transmission device, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the steps of the data transmission method according to any one of claims 1 to 11 when executing a computer program.

14. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the data transmission method according to any one of claims 1 to 11 are implemented.

15. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the data transmission method according to any one of claims 1 to 11 are implemented.