Data transmission method, system and apparatus, medium, and program product
By monitoring switch path performance metrics in real time, calculating health indices and weights, and dynamically adjusting traffic allocation, the problems of link congestion and uneven bandwidth utilization under low-entropy traffic modes are solved, thereby optimizing network performance and improving the stability and efficiency of data transmission.
Patent Information
- Application Number
- PCT/CN2025/107438
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-08-30
- Filing Date
- 2025-07-08
- Publication Date
- 2026-03-05
AI Technical Summary
In low-entropy traffic patterns, existing load balancing methods struggle to effectively allocate traffic, leading to link congestion, performance degradation, and increased data transmission latency. Some links become overloaded while others remain idle, failing to fully utilize the bandwidth of multiple links.
By monitoring the performance metrics of each path connected to the switch in real time, such as transmission latency, bandwidth, packet loss rate, and egress queue load, the system calculates health indices and weights, dynamically adjusts traffic allocation, selects backup paths, optimizes data transmission, and ensures full utilization of bandwidth and load balancing for each path.
It achieves full utilization of bandwidth of each path in low-entropy traffic mode, avoids link congestion, optimizes network performance, improves the stability and efficiency of data transmission, and reduces latency and packet loss rate.
Smart Images

Figure CN2025107438_05032026_PF_FP_ABST
Abstract
Description
A data transmission method, system, apparatus, medium, and program product.
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411206919.6, filed on August 30, 2024, entitled "A data transmission method, system, apparatus, medium and program product", the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application relates to the field of data processing, and in particular to a data transmission method, system, apparatus, medium, and program product. Background Technology
[0004] In low-entropy traffic mode, multiple large-volume data streams often converge on the same link, leading to link congestion, performance degradation, and increased data transmission latency.
[0005] While existing load balancing methods perform well in high-entropy traffic modes and can effectively distribute traffic, they struggle to cope with low-entropy traffic modes. This is because traffic distribution is uneven in low-entropy traffic modes.
[0006] Existing load balancing methods often fail to fully utilize the bandwidth of multiple links, leading to overload on some links while others remain idle, thus impacting the overall network performance. Summary of the Invention
[0007] This application provides a data transmission method, system, apparatus, medium, and program product.
[0008] On the one hand, this application provides a data transmission method applied to multiple switches in a network topology, wherein the switches are connected via paths. The data transmission method includes:
[0009] In response to determining the target data to be transmitted by the current switch, the performance metrics of each path connected to the current switch are monitored in real time. The performance metrics include transmission latency and / or bandwidth and / or packet loss rate and / or egress queue load, where egress queue load is the load waiting in the queue for transmission.
[0010] Based on the performance metrics and target data for each path, determine the data to be transmitted for each path; the sum of all data to be transmitted constitutes the target data.
[0011] Assign corresponding data to be transmitted to each path to achieve the transmission of target data.
[0012] Following the step of real-time monitoring of performance metrics for each path connected to the current switch, the following is also included:
[0013] Based on the performance metrics of each path, determine whether there are congested paths among the paths connected to the current switch; congested paths are those whose data transmission volume reaches a preset percentage of the path's full load.
[0014] In response to the determination of a congested path, several alternative paths are identified from the paths connected to the current switch; and
[0015] Based on the performance metrics and target data of each path, the steps for determining the data to be transmitted on each path include:
[0016] The congested path and the data to be transmitted on each backup path are determined based on the performance metrics of the congested path and several backup paths.
[0017] Following the step of real-time monitoring of performance metrics for each path connected to the current switch, the following is also included:
[0018] Determine whether there are faulty paths among the paths connected to the current switch based on the performance metrics of each path; and
[0019] In response to the determination of a faulty path, several alternative paths are identified from the paths connected to the current switch; and
[0020] Based on the performance metrics and target data of each path, the steps for determining the data to be transmitted on each path include:
[0021] Based on the performance indicators and target data of several backup paths, the data to be transmitted on each backup path is determined.
[0022] The step of determining whether there are faulty paths among the paths connected to the current switch based on the performance metrics of each path includes:
[0023] Calculate the health index of each path based on its performance metrics;
[0024] Compare the health index of each path with a preset threshold;
[0025] Paths with health indices below a preset threshold are identified as faulty paths; and
[0026] Paths with a health index not lower than a preset threshold are identified as normal paths.
[0027] The steps for real-time monitoring of performance metrics for each path connected to the current switch include:
[0028] Real-time monitoring of transmission latency, bandwidth, packet loss rate, and egress queue load for each path connected to the current switch; and
[0029] The steps for calculating the health index of each path based on its performance metrics include:
[0030] The health index of each path is calculated according to the first preset formula;
[0031] The first preset formula is:
[0032] H i L represents the health index of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, where α, β, γ, and δ are adjustment factors and are values between 0 and 1, and i is an integer greater than 0.
[0033] Following the step of real-time monitoring of performance metrics for each path connected to the current switch, the following is also included:
[0034] Get the historical performance metrics of each path within a preset time period prior to the current time;
[0035] Predict the probability of each path failing or becoming congested at a predetermined time based on its historical performance metrics; and
[0036] In response to a determination probability greater than a first preset probability, several backup paths are determined from the paths connected to the current switch; and
[0037] Based on the performance metrics and target data of each path, the steps for determining the data to be transmitted on each path include:
[0038] Based on the path that is likely to fail or become congested at a predetermined time in the future, the performance indicators and target data of several backup paths, the path that is likely to fail or become congested at a predetermined time in the future, and the data to be transmitted on each backup path are determined.
[0039] The step of determining several alternative paths from the paths connected to the current switch includes:
[0040] 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 are designated as backup paths; and
[0041] The first preset probability is greater than the second preset probability.
[0042] The step of determining the data to be transmitted for each path based on its performance metrics and target data includes:
[0043] Calculate the weight corresponding to each path based on performance metrics; and
[0044] The data to be transmitted for each path is determined based on the weight of each path and the target data.
[0045] The steps for real-time monitoring of performance metrics for each path connected to the current switch include:
[0046] Real-time monitoring of transmission latency, bandwidth, packet loss rate, and egress queue load for each path connected to the current switch; and
[0047] The steps for calculating the weight of each path based on performance metrics include:
[0048] The weight of each path is calculated according to the second preset formula;
[0049] The second preset formula is:
[0050] W i L is the weight of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, where α, β, γ, and δ are adjustment factors and are values between 0 and 1, and i is an integer greater than 0.
[0051] The step of determining the data to be transmitted for each path based on the weight of each path and the target data includes:
[0052] The data to be transmitted for each path is determined according to the third preset formula;
[0053] The third preset formula is:
[0054] c i Let F be the amount of data to be transmitted on the i-th path, k be the number of paths connected to the current switch, i be an integer between 1 and k, F be the amount of target data, k be an integer greater than 1, and W be the amount of data to be transmitted on the i-th path. i Let be the weight of the i-th path.
[0055] After the step of assigning corresponding data to be transmitted to each path to achieve the transmission of the target data, the following steps are also included:
[0056] Real-time monitoring of the actual transmission performance of the data to be transmitted along each path; and
[0057] If the actual transmission performance does not match the expectations, the process re-enters the step of calculating the weight of each path based on the performance metrics in order to redetermine the data to be transmitted for each path.
[0058] This involves assigning corresponding data to be transmitted to each path to achieve the transmission of the target data, including:
[0059] The performance metrics are weighted to generate a comprehensive weight for each path; and
[0060] The amount of data to be transmitted should be allocated to each path based on the overall weight.
[0061] This involves assigning corresponding data to be transmitted to each path to achieve the transmission of the target data, including:
[0062] Divide the target data into multiple data segments; and
[0063] Multiple data segments are transmitted in parallel via multiple paths.
[0064] This includes, after real-time monitoring of the actual transmission performance of the data to be transmitted for each path, the following:
[0065] In response to the determination that the actual transmission performance does not meet expectations, the preset formula or adjustment factor for weight calculation is adjusted to recalculate the weight corresponding to each path.
[0066] The adjustment factors include: weighting coefficients for latency, bandwidth, packet loss rate, and egress queue load.
[0067] This includes, after real-time monitoring of the actual transmission performance of the data to be transmitted for each path, the following:
[0068] In response to the determination that the actual transmission performance does not match the expectations, new performance metrics are introduced to recalculate the weights for each path.
[0069] On the other hand, this application provides a data transmission system applied to multiple switches in a network topology, wherein the switches are connected by paths, and the data transmission system includes:
[0070] The monitoring unit is used to monitor the performance indicators of each path connected to the current switch in real time in response to determining the target data to be transmitted by the current switch. The performance indicators include transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, where egress queue load is the load waiting in the queue for transmission.
[0071] The determining unit is used to determine the data to be transmitted for each path based on the performance indicators and target data of each path; the sum of all data to be transmitted is the target data.
[0072] The allocation unit is used to allocate corresponding data to be transmitted for each path in order to realize the transmission of target data.
[0073] On the other hand, this application provides a data transmission apparatus, including:
[0074] One or more processors; and
[0075] A memory associated with one or more processors, the memory being used to store computer-readable instructions that, when read and executed by one or more processors, implement the steps of the data transfer method described above.
[0076] On the other hand, this application provides a computer program product including a computer program / computer-readable instructions that, when executed by one or more processors, implement the steps of the data transmission method described above.
[0077] On the other hand, this application provides a non-volatile computer-readable storage medium storing computer-readable instructions, which, when executed by one or more processors, implement the steps of the data transmission method described above. Attached Figure Description
[0078] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0079] Figure 1 is a flowchart of a data transmission method provided in this application;
[0080] Figure 2 is a schematic diagram of a data transmission system provided in this application;
[0081] Figure 3 is a schematic diagram of a data transmission device provided in this application;
[0082] Figure 4 is a schematic diagram of a non-volatile storage medium provided in this application. Detailed Implementation
[0083] The core of this application is to provide a data transmission method, system, device, medium, and program product that can intelligently allocate traffic, so that the bandwidth of each path can be fully utilized, avoiding the congestion problem caused by traffic being concentrated on a single link under low-entropy traffic mode. At the same time, this real-time traffic allocation mechanism can balance the load of each path, prevent some links from being overloaded while other links are idle, thereby optimizing the performance of the entire network.
[0084] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Other embodiments obtained by those skilled in the art based on the embodiments of this application without creative effort are all within the scope of protection of this application.
[0085] On the one hand, as shown in Figure 1, this application provides a data transmission method applied to multiple switches in a network topology, wherein the switches are connected by paths, and the data transmission method includes:
[0086] S11: In response to determining the target data to be transmitted by the current switch, monitor the performance metrics of each path connected to the current switch in real time. The performance metrics include transmission delay and / or bandwidth and / or packet loss rate and / or egress queue load, where egress queue load is the load waiting in the queue for transmission.
[0087] The principle behind this step is that by monitoring the key performance indicators of each path connected to the current switch in real time, the immediate status information of each path can be obtained, thus providing a basis for subsequent traffic allocation decisions. These performance indicators include transmission latency, bandwidth, packet loss rate, and egress queue load, which respectively reflect the path's response speed, available bandwidth, the probability of packet loss, and the amount of data currently queued for transmission. Transmission latency reveals the real-time transmission efficiency of the path, bandwidth indicates the path's carrying capacity, packet loss rate reflects the reliability of data packets during transmission, and egress queue load indicates the level of data transmission activity on the current path. When the queue load is high, it indicates that there are already many data packets waiting to be transmitted on the path, which may lead to increased latency and performance degradation.
[0088] By monitoring these metrics in real time, the load and transmission capacity of each path can be dynamically assessed, laying the foundation for determining the optimal traffic allocation scheme in subsequent steps. This real-time monitoring mechanism ensures that the status information of each path is always up-to-date during data transmission, enabling the system to respond quickly to changes in network status and avoid transmission bottlenecks and performance degradation caused by path overload.
[0089] S12: Based on the performance indicators and target data of each path, determine the data to be transmitted for each path, and the sum of all data to be transmitted is the target data.
[0090] The principle behind this step is to accurately calculate and allocate the amount of data to be transmitted for each path based on its real-time performance metrics and target data volume, thereby optimizing overall data transmission efficiency. In some embodiments, the current state and carrying capacity of each path are first evaluated based on key performance indicators such as transmission latency, bandwidth, packet loss rate, and egress queue load. Paths with lower transmission latency, higher bandwidth, lower packet loss rate, and lighter egress queue load typically have higher transmission efficiency and can carry more data traffic. By weighting these performance indicators, a comprehensive weight is generated for each path; a higher weight indicates that the current state is more suitable for data transmission. Then, the amount of data to be transmitted allocated to each path is determined based on these weights to ensure that all paths operate within their optimal carrying capacity, thereby maximizing the overall network utilization efficiency.
[0091] This weighted allocation mechanism can intelligently distribute traffic to each path while keeping the total amount of target data constant. This allows efficient paths to carry more data traffic, while relatively poor paths receive less traffic, thus avoiding path overload or idleness and ensuring the stability of data transmission and the optimization of network performance.
[0092] S13: Assign corresponding data to be transmitted to each path to achieve the transmission of target data.
[0093] The principle behind this step is to allocate the amount of data to be transmitted on each path, as calculated previously, to achieve efficient transmission of the target data. First, after determining the amount of data to be transmitted on each path in S12, this step allocates this amount of data to the actual transmission paths, ensuring that the traffic distribution conforms to the current state of the network and the carrying capacity of each path. This process is not merely simple data forwarding, but a dynamic scheduling process. The system divides the target data into multiple data segments based on the real-time status of each path and the amount of data to be transmitted, and transmits them in parallel through multiple paths. The advantage of this is that, in response to the detection of congestion or performance degradation on a certain path during transmission, the system can immediately adjust the load on other paths, ensuring smooth and stable overall transmission. Furthermore, the redistribution also considers the order and integrity of data packets, especially in the case of multi-path transmission, ensuring that the final receiving end can correctly reassemble these data segments, avoiding data out-of-order or loss due to delay differences between paths.
[0094] In some embodiments, sequence number markers are added to data packets so that the receiving end can correctly reassemble the data packets based on the sequence numbers. In some embodiments, each data packet is assigned a unique sequence number before transmission, which the receiving end can use to sort and reassemble the data packets, ensuring data integrity and order. This may also include assigning a flow marker to each data stream to ensure that data packets of the same stream are routed to the same or similar path, thus reducing order issues between different paths. Alternatively, the target data can be divided into multiple data groups, each group transmitted through the same path, ensuring that the order of data packets within a group is not disrupted.
[0095] This intelligent allocation and transmission management maximizes bandwidth utilization across all paths, reduces transmission latency and packet loss, and ensures that target data can be transmitted to its destination efficiently and securely in the shortest possible time, thereby optimizing network performance.
[0096] In some embodiments, after the step of real-time monitoring of the performance indicators of each path connected to the current switch, the method further includes: determining whether there is a congested path among the paths connected to the current switch based on the performance indicators of each path, wherein the data transmission volume of the congested path reaches a preset proportion of the path's full load, and the preset proportion is greater than 0.5 and less than 1; in response to determining that 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 on each path based on the performance indicators of each path and the target data, including: determining the congested path and the data to be transmitted on each backup path based on the performance indicators of the congested path and the performance indicators of the number of backup paths.
[0097] In some embodiments, after real-time monitoring of the performance metrics of each path connected to the current switch, the system first determines whether any of these paths are congested. A congested path is defined as one whose data transmission volume has reached a preset percentage of its full capacity. This percentage 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 capacity but is not fully loaded, it is considered to have a potential congestion risk. Once the system detects that a path is congested, the next step is to determine several backup paths from the other paths connected to the current switch. These backup paths are selected based on their current performance metrics, such as transmission latency, 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 path. Then, based on the performance metrics of the congested path and the selected backup paths, the system reallocates the amount of data to be transmitted for each path. This allocation process fully considers the current load status of the congested path, which may reduce its data transmission volume to prevent further deterioration, while reallocating some traffic to those backup paths with better performance.
[0098] This dynamic adjustment can effectively alleviate the transmission bottleneck caused by overload of a single path in the network, ensure load balancing throughout the data transmission process, improve the overall transmission efficiency and stability of the network, and thus avoid performance degradation and data transmission delay caused by path congestion.
[0099] In some embodiments, after the step of real-time monitoring of the performance metrics of each path connected to the current switch, the method further includes: determining, based on the performance metrics of each path, whether there is a faulty path among the paths connected to the current switch; in response to determining a faulty path, determining a plurality of backup paths from the paths connected to the current switch; and determining the data to be transmitted on each path based on the performance metrics and target data of each path, including:
[0100] Based on the performance indicators and target data of several backup paths, the data to be transmitted on each backup path is determined.
[0101] In this embodiment, after real-time monitoring of the performance metrics of each path connected to the current switch, the system first determines whether any of these paths are faulty. A faulty path is typically defined as one that cannot function properly or whose performance metrics are significantly below normal levels, such as extremely high packet loss rates or inability to transmit data. In response to the system detecting a fault in a path, it selects several backup paths from other paths connected to the current switch. The selection of backup paths is based on their performance metrics to ensure they can effectively replace the faulty path for data transmission. Next, the amount of data to be transmitted on each backup path is determined based on its performance metrics, ensuring that traffic from the faulty path can be smoothly transferred to available backup paths.
[0102] Unlike handling congested paths, fault handling focuses on whether a path is completely failed or unavailable, rather than simply on load or performance degradation. A congested path may still be able to transmit data, but performance will degrade due to overload. Therefore, handling congested paths involves adjusting traffic distribution to prevent further congestion and balance the load across paths. In contrast, handling failed paths requires redirecting all data to backup paths, as the failed path cannot handle any data transmission and may completely interrupt service. The key to handling failed paths is quickly identifying and utilizing backup paths to restore normal network operation, while handling congested paths focuses more on optimizing load distribution on existing paths to maintain stable performance. In practice, fault handling prioritizes ensuring data reliability and continuity, while congestion handling focuses on improving overall efficiency and avoiding performance bottlenecks.
[0103] In some embodiments, the step of determining whether there is a faulty path among the paths connected to the current switch based on the performance index of each path includes: calculating the health index of each path based on the performance index of each path; comparing the health index of each path with a preset threshold; identifying paths with a health index less than the preset threshold as faulty paths; and identifying paths with a health index not less than the preset threshold as normal paths.
[0104] In some embodiments, the step of real-time monitoring of the performance metrics of each path connected to the current switch includes: real-time monitoring of the transmission latency, 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 based on the performance metrics of each path includes: calculating the health index of each path according to a first preset formula.
[0105] The first preset formula is:
[0106] H iL represents the health index of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, and let α, β, γ, and δ be adjustment factors with values between 0 and 1.
[0107] In this embodiment, the operational status of each path is first assessed by real-time monitoring of performance metrics for each path connected to the current switch, including transmission latency, bandwidth, packet loss rate, and egress queue load. Based on these performance metrics, a health index is calculated for each path, which is a comprehensive measure of the path's health status. The health index is calculated using a pre-defined formula that comprehensively considers multiple factors such as transmission latency, bandwidth, packet loss rate, and egress queue load. In some embodiments, transmission latency and packet loss rate typically lower the health index because they directly affect the reliability and efficiency of data transmission; while bandwidth and egress queue load reflect the path's carrying capacity and current load. The health index calculation formula may be a weighted average or other form of comprehensive calculation, aiming to integrate various performance metrics into a single health assessment value.
[0108] After calculating the health index for each path, these health indices are compared with preset thresholds. The preset thresholds are predefined standards used to distinguish between healthy and faulty paths. If a path's health index is determined to be below the preset threshold, the path is identified as a faulty path, indicating that its performance is severely substandard and there is a risk of it being unable to transmit data normally. Conversely, paths with health indices not lower than the preset thresholds are considered normal paths, indicating that their performance is within acceptable limits and they can normally handle data transmission tasks.
[0109] This method effectively distinguishes between normal and faulty paths, ensuring that data traffic is not sent to underperforming paths, thereby maintaining network stability and reliability. Identifying and handling faulty paths allows for timely redirection of traffic to healthy or backup paths, preventing data loss or transmission interruptions due to path failures. Simultaneously, this approach ensures efficient utilization of network resources and reduces the risk of overall network performance being negatively impacted by poor path performance.
[0110] In some embodiments, after the step of real-time monitoring of the performance metrics of each path connected to the current switch, the method further includes: obtaining historical performance metrics of each path within a preset time period prior to the current time; predicting the probability of each path failing or becoming congested in the future preset time based on the historical performance metrics of each path; determining a plurality of backup paths from the paths connected to the current switch in response to a determination that the probability is greater than a first preset probability; and determining the data to be transmitted carried by each path based on the performance metrics of each path and the target data, including: determining the path that will fail or become congested in the future preset time, and the data to be transmitted carried by each backup path, based on the path that will fail or become congested in the future, the performance metrics of the plurality of backup paths, and the target data.
[0111] In this embodiment, after real-time monitoring of the performance metrics of each path connected to the current switch, historical performance metrics of each path over a preset period prior to the current time are also acquired. This historical performance data includes transmission latency, bandwidth, packet loss rate, and egress queue load for each path over a past period, aiming to provide a predictive basis for future network conditions. Based on these historical performance metrics, a predictive model or algorithm is used to estimate the probability of each path experiencing failure or congestion within the preset future period. In response to determining that the predicted probability is greater than a first preset probability—that is, considering the path to have a high likelihood of future problems—several backup paths are determined from the paths connected to the current switch. These backup paths are selected based on their current performance metrics to ensure they can effectively handle traffic should problems arise in the future.
[0112] Next, based on the current performance metrics of each path and the predicted probability of failure or congestion, the amount of data to be transmitted on each path is recalculated and reassigned. In some embodiments, paths that may fail or become congested within a preset future timeframe, along with the performance metrics of selected backup paths, are considered to optimize the traffic allocation strategy, ensuring smooth data transmission even in the event of failure or congestion. The system allocates more traffic to healthy backup paths and reduces the load on potentially problematic paths to improve data transmission reliability and network stability.
[0113] Unlike methods for handling real-time congestion and faulty paths, this implementation uses historical performance data to predict future states, identifying potential risky paths in advance and making preventative adjustments before problems actually occur. The key to this predictive approach is proactively managing and optimizing traffic allocation, rather than passively responding to congestion or faults that have already occurred. While the congestion and faulty path handling methods described above typically adjust traffic only after a path has encountered a problem, this method predicts potential issues, identifies alternative paths in advance, and optimizes data allocation, reducing network performance degradation caused by real-time problems and improving system foresight and overall network reliability. This proactive prevention strategy reduces network outages and performance issues, improving the stability and efficiency of data transmission.
[0114] In some embodiments, the step of determining a plurality of backup paths from the paths connected to the current switch includes: determining the 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.
[0115] In this embodiment, the process of determining backup paths is based on probabilistic predictions of future path states. First, by analyzing real-time performance metrics and historical data, the probability of each path experiencing failure or congestion within a predetermined timeframe is predicted. For each path, these probabilities reflect the degree of risk of future performance problems. Next, these probabilities are compared to a second predetermined probability. The second predetermined probability is a threshold used to filter backup paths, and its value is typically lower than a first predetermined probability. The first predetermined probability is used to identify paths that are likely to experience failure or congestion, while the second predetermined probability is used to filter backup paths with lower risk. In some embodiments, all paths with a predicted probability of future failure or congestion lower than the second predetermined probability are marked as backup paths. This means that these paths have a relatively low risk in future performance predictions and are expected to stably handle data transmission tasks in the event of a failure or congestion. Because the first predetermined probability is higher than the second predetermined probability, the selection of backup paths is ensured to fall within the range of lower predicted risk, thereby avoiding the selection of paths that may experience problems in the future as backup paths.
[0116] In some embodiments, the step of determining the data to be transmitted for each path based on the performance metrics and target data of each path includes: calculating the weight corresponding to each path based on the performance metrics; and determining the data to be transmitted for each path based on the weight of each path and the target data.
[0117] In this embodiment, data transmission allocation is optimized by comprehensively considering the performance metrics and target data of each path. First, the performance of each path is evaluated, including key metrics such as transmission latency, bandwidth, packet loss rate, and egress queue load. Based on these performance metrics, the system calculates the weight of each path. Weight calculation typically involves transforming the various performance metrics into a unified metric through weighted averaging or other comprehensive evaluation methods. The quality of the performance metrics directly affects the weight. For example, paths with low transmission latency, high bandwidth, low packet loss rate, and light egress queue load will receive higher weights, indicating that these paths have better transmission capabilities and higher reliability.
[0118] Next, these weights are used to determine the amount of data to be transmitted on each path. In some embodiments, the target data volume is allocated according to the weight of each path. Paths with higher weights are typically allocated more data traffic because they have higher transmission capacity and more stable performance; conversely, paths with lower weights carry less data traffic. This allocation method ensures that data is transmitted on the more efficient paths, thereby improving the overall transmission efficiency and stability of the network.
[0119] This approach optimizes data transmission, ensuring efficient data flow across the network while maximizing bandwidth and processing power across all paths. The weighting mechanism considers not only current performance but also dynamic network conditions, automatically adjusting path load to reduce congestion risk and improve overall data transmission quality. This strategy guarantees that even with multiple paths operating in parallel, load allocation is based on their actual performance capabilities, thus optimizing data transmission and effectively utilizing network resources.
[0120] In some embodiments, the step of real-time monitoring of the performance metrics of each path connected to the current switch includes: real-time monitoring of the transmission latency, 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 path based on the performance metrics includes: calculating the weight of each path according to a second preset formula.
[0121] The second preset formula is:
[0122] W i L is the weight of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. iLet be the load of the exit queue for the i-th path, and let α, β, γ, and δ be adjustment factors with values between 0 and 1.
[0123] In some embodiments, determining the data to be transmitted for each path based on the weight of each path and the target data includes: determining the data to be transmitted for each path based on a third preset formula;
[0124] The third preset formula is:
[0125] c i Let F be the amount of data to be transmitted on the i-th path, k be the number of paths connected to the current switch, i be an integer between 1 and k, and F be the amount of data in the target data.
[0126] In this embodiment, transmission latency measures the time it takes for a data packet to travel from source to destination, bandwidth reflects the maximum data transmission capacity of the 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 acquiring these performance metrics in real time, the system can gain a comprehensive understanding of the actual operating status of each path.
[0127] Next, a second pre-defined formula is used to calculate the weight of each path based on these real-time performance metrics. This weighting formula typically considers all key performance metrics to generate a weighted value representing a comprehensive score of path performance. In some embodiments, transmission latency, bandwidth, packet loss rate, and egress queue load are input into the formula, and these metrics are converted into a single weight value through weighting and normalization. The formula may assign different weight coefficients based on the importance of different metrics; for example, low transmission latency and high bandwidth are typically given higher weights, while high packet loss rate and high egress queue load are given lower weights. The calculated weights 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 worse.
[0128] This weighted calculation mechanism allows for the accurate quantification and comparison of the performance of each path, and optimizes the allocation of data traffic based on these weight values. This method ensures the efficient use of network resources, enabling data to be transmitted preferentially through the better-performing paths, thereby improving the overall network efficiency and stability. The dynamic nature of the weight calculation also allows the system to respond in real time to changes in network status and adjust path selection and data allocation strategies accordingly, further enhancing the network's adaptability and reliability.
[0129] In some embodiments, after the step of assigning corresponding data to be transmitted to each path to achieve the transmission of target data, the method further includes: real-time monitoring of the actual transmission performance of the data to be transmitted corresponding to each path; and in response to determining that the actual transmission performance does not match the expectations, re-entering the step of calculating the weight corresponding to each path based on performance indicators to redetermine the data to be transmitted undertaken by each path.
[0130] In this embodiment, after data is assigned to each path and transmission begins, the actual transmission performance of each path is monitored in real time. This includes checking the actual transmission latency, bandwidth utilization, packet loss rate, and egress queue load for each path to ensure that data transmission meets expected performance standards. The purpose of monitoring is to identify discrepancies between actual and expected performance; for example, the actual transmission latency may be higher than expected, or the actual packet loss rate may be greater.
[0131] In response to a determination that actual transmission performance significantly deviates from expectations, a process of recalculating path weights is triggered. The key to this step is adjusting the weight of each path based on real-time monitored actual transmission performance data to redetermine the amount of data each path should handle. In some embodiments, the process returns to the previous step of calculating path weights based on performance metrics, such as by adjusting the preset formula for weight calculation or its adjustment factors to reflect the latest actual performance data. Adjustment factors may include modifying the weighting coefficients for latency, bandwidth, packet loss rate, and egress queue load, or introducing new performance metrics to more accurately describe the actual state of the path.
[0132] The core principle of this dynamic adjustment mechanism is to ensure that data traffic allocation adapts to changes in network conditions in real time. By adjusting path weights based on actual transmission performance, it corrects data transmission imbalances caused by inaccurate predictions or changes in network conditions. Re-determining the allocation of data to be transmitted optimizes path utilization efficiency, reduces performance bottlenecks, and improves the overall stability and reliability of 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 maintains optimal performance levels under constantly changing network conditions.
[0133] On the other hand, as shown in Figure 2, this application provides a data transmission system applied to multiple switches in a network topology. The switches are connected by paths. The data transmission system includes: a monitoring unit 21, used to monitor the performance indicators of each path connected to the current switch in real time in response to determining the target data to be transmitted by the current switch. 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; a determination unit 22, used to determine the data to be transmitted for each path based on the performance indicators of each path and the target data, where the sum of all data to be transmitted is the target data; and an allocation unit 23, used to allocate the corresponding data to be transmitted to each path to realize the transmission of the target data.
[0134] The system also includes: a congestion path determination unit, which, after monitoring the performance indicators of each path connected to the current switch in real time, determines whether there is a congested path among the paths connected to the current switch based on the performance indicators of each path, wherein the data transmission volume of the congested path reaches a preset proportion of the path's full load, and the preset proportion is greater than 0.5 and less than 1; in response to determining that there is a congested path, it determines several backup paths from the paths connected to the current switch; the determination unit 22 is used to: determine the congested path and the data to be transmitted carried by each backup path based on the performance indicators of the congested path and several backup paths.
[0135] It also includes: a fault path determination unit, which, after the step of real-time monitoring of the performance indicators of each path connected to the current switch, determines whether there is a faulty path among the paths connected to the current switch based on the performance indicators of each path; in response to determining that there is a faulty path, it determines several backup paths from the paths connected to the current switch; the determination unit 22 is used to: determine the data to be transmitted by each backup path based on the performance indicators of the several backup paths and the target data.
[0136] The fault path determination unit includes: a health determination unit, used to calculate the health index of each path based on the performance indicators of each path; compare the health index of each path with a preset threshold; determine the path with a health index less than the preset threshold as a faulty path; and determine the path with a health index not less than the preset threshold as a normal path; and a backup path determination unit, used to determine several backup paths from the paths connected to the current switch when there is a faulty path.
[0137] The monitoring unit 21 is 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 in response to determining the target data to be transmitted by the current switch; the health determination unit is used to calculate the health index of each path according to the first preset formula.
[0138] The first preset formula is:
[0139] H i L represents the health index of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, and let α, β, γ, and δ be adjustment factors with values between 0 and 1.
[0140] It also includes: a prediction unit, which, after the step of real-time monitoring of the performance indicators of each path connected to the current switch, obtains the historical performance indicators of each path within a preset time period before the current time; predicts the probability of each path failing or becoming congested in the future preset time based on the historical performance indicators of each path; and, in response to the determination that the probability is greater than a first preset probability, determines several backup paths from the paths connected to the current switch.
[0141] The determining unit 22 is used to: determine the path that will fail or become congested in the future, as well as the data to be transmitted on each backup path, based on the path that will fail or become congested in the future, the performance indicators of several backup paths, and the target data.
[0142] The backup path determination unit is used to: determine 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.
[0143] The determining unit 22 includes: a weight calculation unit, used to calculate the weight corresponding to each path according to performance indicators; and a data determining unit, used to determine the data to be transmitted for each path according to the weight of each path and the target data.
[0144] Among them, the monitoring unit 21 is 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;
[0145] The weight calculation unit is used to calculate the weight of each path according to the second preset formula;
[0146] The second preset formula is:
[0147] W i L is the weight of the i-th path connected to the current switch. i Let B be the transmission delay of the i-th path. i Let P be the bandwidth of the i-th path.i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, and let α, β, γ, and δ be adjustment factors with values between 0 and 1.
[0148] The data determination unit is used to: determine the data to be transmitted for each path according to the third preset formula;
[0149] The third preset formula is:
[0150] c i Let F be the amount of data to be transmitted on the i-th path, k be the number of paths connected to the current switch, i be an integer between 1 and k, and F be the amount of data in the target data.
[0151] It also includes: an adjustment unit, used to allocate corresponding data to be transmitted to each path to realize the transmission of target data, and after that, to monitor in real time the actual transmission performance of the data to be transmitted on each path; in response to the determination that the actual transmission performance does not match the expectation, it re-enters the step of calculating the weight of each path according to the performance index to redetermine the data to be transmitted on each path.
[0152] For a description of the data transmission system, please refer to the above embodiments; this application will not repeat the details here.
[0153] On the other hand, as shown in Figure 3, this application provides a data transmission device, including:
[0154] One or more processors 32; and
[0155] A memory 31 associated with one or more processors, the memory 31 being used to store computer-readable instructions that, when read and executed by one or more processors 32, implement the steps of the data transfer method as described above.
[0156] For a description of the data transmission device, please refer to the above embodiments; this application will not repeat it here.
[0157] On the other hand, this application provides a computer program product, including a computer program / computer-readable instructions, which, when executed by one or more processors, implement the steps of the above-described data transmission method.
[0158] For a description of the computer program product, please refer to the above embodiments; this application will not repeat the details here.
[0159] On the other hand, as shown in FIG4, this application provides a non-volatile computer-readable storage medium 41, on which computer-readable instructions 42 are stored. When the computer-readable instructions 42 are executed by one or more processors, they implement the steps of the data transmission method described above. For a description of the non-volatile storage medium 41, please refer to the above embodiments, and this application will not repeat it here.
[0160] It should also be noted that, in this specification, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0161] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily 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 this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data transmission method, characterized in that, Multiple switches applied in a network topology, the switches being connected via paths, the data transmission method comprising: In response to determining the target data to be transmitted by the current switch, the performance metrics of each path connected to the current switch are monitored in real time. The performance metrics include transmission delay, bandwidth, packet loss rate and / or egress queue load, where the egress queue load is the load waiting in the queue for transmission. Based on the performance metrics of each path and the target data, the data to be transmitted for each path is determined, and the sum of all the data to be transmitted is the target data; and Each path is assigned corresponding data to be transmitted in order to achieve the transmission of the target data.
2. The data transmission method as described in claim 1, characterized in that, Following the step of real-time monitoring of the performance metrics of each path connected to the current switch, the method further includes: Based on the performance metrics of each path, determine whether there are congested paths among the paths connected to the current switch; the data transmission volume of the congested path reaches a preset proportion of the path's full load; and In response to the determination of a congested path, several alternative paths are determined from the paths connected to the current switch; and The step of determining the data to be transmitted for each path based on the performance metrics of each path and the target data includes: The congested path and the data to be transmitted on each of the backup paths are determined based on the performance metrics of the congested path and the backup paths.
3. The data transmission method as described in claim 1, characterized in that, Following the step of real-time monitoring of the performance metrics of each path connected to the current switch, the method further includes: Based on the performance metrics of each path, determine whether there are any faulty paths among the paths connected to the current switch; and In response to the determination of a faulty path, several alternative paths are determined from the paths connected to the current switch; and The step of determining the data to be transmitted for each path based on the performance metrics of each path and the target data includes: Based on the performance indicators of the several backup paths and the target data, the data to be transmitted for each backup path is determined.
4. The data transmission method as described in claim 3, characterized in that, The step of determining whether there is a faulty path among the paths connected to the current switch based on the performance indicators of each path includes: Calculate the health index of each path based on its performance metrics; Compare the health index of each path with a preset threshold; Paths where the health index is less than the preset threshold are identified as faulty paths; and The path whose health index is not less than the preset threshold is identified as a normal path.
5. The data transmission method as described in claim 4, characterized in that, The step of real-time monitoring of the performance metrics of each path connected to the current switch includes: Real-time monitoring of transmission latency, bandwidth, packet loss rate, and egress queue load for each path connected to the current switch; and The step of calculating the health index of each path based on the performance metrics of each path includes: The health index of each path is calculated according to the first preset formula; The first preset formula is: H i L is the health index of the i-th path connected to the current switch. i B is the transmission delay of the i-th path. i P is the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, where α, β, γ, and δ are adjustment factors and are values between 0 and 1, and i is an integer greater than 0.
6. The data transmission method as described in claim 1, characterized in that, Following the step of real-time monitoring of the performance metrics of each path connected to the current switch, the method further includes: Obtain the historical performance metrics of each of the paths within a preset time period prior to the current time; Based on the historical performance metrics of each path, predict the probability of each path experiencing failure or congestion at a predetermined time in the future; and In response to determining that the probability is greater than a first preset probability, a plurality of backup paths are determined from the paths connected to the current switch; and The step of determining the data to be transmitted for each path based on the performance metrics of each path and the target data includes: Based on the path that will fail or become congested at the predetermined future time, the performance indicators of several backup paths, and the target data, determine the path that will fail or become congested at the predetermined future time, and the data to be transmitted on each backup path.
7. The data transmission method as described in claim 6, characterized in that, The step of determining several alternative paths from the paths connected to the current switch includes: All paths connected to the current switch that have a probability of failing or becoming congested at a future preset time that is less than a second preset probability are identified as backup paths, wherein 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 for each path based on the performance metrics of each path and the target data includes: Calculate the weight corresponding to each path based on the performance metrics; and The data to be transmitted for each path is determined based on the weight of each path and the target data.
9. The data transmission method as described in claim 8, characterized in that, The step of real-time monitoring of the performance metrics of each path connected to the current switch includes: Real-time monitoring of transmission latency, bandwidth, packet loss rate, and egress queue load for each path connected to the current switch; and The step of calculating the weight corresponding to each path based on the performance index includes: The weight of each path is calculated according to the second preset formula; The second preset formula is: W i For the weight of the i-th path connected to the current switch, L i B is the transmission delay of the i-th path. i P is the bandwidth of the i-th path. i Let Q be the packet loss rate of the i-th path. i Let be the load of the exit queue for the i-th path, where α, β, γ, and δ are adjustment factors and are values between 0 and 1, and i is an integer greater than 0.
10. The data transmission method as described in claim 9, characterized in that, The step of determining the data to be transmitted for each path based on the weight of each path and the target data includes: The data to be transmitted for each path is determined according to the third preset formula; The third preset formula is: c i The amount of data to be transmitted on the i-th path, k is the number of paths connected to the current switch, i is an integer between 1 and k, F is the amount of the target data, k is an integer greater than 1, W i Let be the weight of the i-th path.
11. The data transmission method as described in claim 8, characterized in that, After the step of allocating corresponding data to be transmitted for each path to realize the transmission of the target data, the method further includes: Real-time monitoring of the actual transmission performance of the data to be transmitted along each of the aforementioned paths; and In response to the determination that the actual transmission performance does not match the expectation, the process re-enters the step of calculating the weight corresponding to each path based on the performance index, so as to redetermine the data to be transmitted carried by each path.
12. The data transmission method as described in claim 1, characterized in that, The step of allocating corresponding data to be transmitted for each path to achieve the transmission of the target data includes: The performance metrics are weighted to generate a comprehensive weight for each path; and The amount of data to be transmitted for each path is determined based on the comprehensive weight.
13. The data transmission method as described in claim 1, characterized in that, The step of allocating corresponding data to be transmitted for each path to achieve the transmission of the target data includes: Divide the target data into multiple data segments; and The multiple data segments are transmitted in parallel through multiple paths.
14. The data transmission method as described in claim 11, characterized in that, After real-time monitoring of the actual transmission performance of the data to be transmitted for each of the aforementioned paths, the method further includes: In response to the determination that the actual transmission performance does not match the expectation, the preset formula or adjustment factor for weight calculation is adjusted to recalculate the weight corresponding to each path.
15. The data transmission method as described in claim 14, characterized in that, The adjustment factors include: weighting coefficients for latency, bandwidth, packet loss rate, and egress queue load.
16. The data transmission method as described in claim 11, characterized in that, After real-time monitoring of the actual transmission performance of the data to be transmitted for each of the aforementioned paths, the method further includes: In response to the determination that the actual transmission performance does not match the expectations, a new performance metric is introduced to recalculate the weight corresponding to each of the paths.
17. A data transmission system, characterized in that, A data transmission system comprising multiple switches used in a network topology, the switches being connected via paths, and the data transmission system including: The monitoring unit is used to monitor the performance indicators of each path connected to the current switch in real time in response to determining the target data to be transmitted by the current switch. The performance indicators include transmission delay, bandwidth, packet loss rate and / or egress queue load, where the egress queue load is the load waiting in the queue for transmission. The determining unit is configured to determine the data to be transmitted for each path based on the performance indicators of each path and the target data, wherein the sum of all the data to be transmitted is the target data; and The allocation unit is used to allocate corresponding data to be transmitted for each of the paths, so as to realize the transmission of the target data.
18. A data transmission device, characterized in that, include: One or more processors; as well as A memory associated with the one or more processors, the memory being used to store computer-readable instructions that, when read and executed by the one or more processors, implement the steps of the data transfer method as described in any one of claims 1 to 16.
19. A computer program product comprising a computer program / computer-readable instructions, characterized in that, When executed by one or more processors, the computer program / computer-readable instructions implement the steps of the data transmission method according to any one of claims 1 to 16.
20. A non-volatile computer-readable storage medium, characterized in that, The non-volatile computer-readable storage medium stores computer-readable instructions that, when executed by one or more processors, implement the steps of the data transmission method as described in any one of claims 1 to 16.
Citation Information
Patent Citations
Systems and methods for multipath load balancing
CN104954275A
Load balancing information transmission method and device and storage medium
CN117042048A
Data transmission method, system and device, medium and program product
CN118740747A
Technologies for selecting non-minimal paths and throttling port speeds to increase throughput in a network
US20190097935A1