A flow distribution method and apparatus, electronic device, and storage medium

By dynamically adjusting the routing path weight value based on the health value and port information of neighboring nodes, the problem of unreliable traffic distribution caused by static weight values ​​in a dynamically changing network environment is solved, and the performance and reliability of network communication are improved.

CN119449692BActive Publication Date: 2025-10-17INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411612550.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-10-17
Estimated Expiration
2044-11-12

AI Technical Summary

Technical Problem

In the existing technology, when the network communication environment is complex and dynamically changing, traffic distribution relying on static weight values ​​cannot guarantee the reliability of the results, resulting in network communication congestion and data packet loss, affecting network performance and reliability.

Method used

By periodically obtaining the overall health value and port information of neighboring nodes, the weight value of the routing path is dynamically adjusted, and the traffic distribution result is determined according to the destination address of the data packet and the path weight, ensuring that the weight matches the node performance.

Benefits of technology

It improves the reliability of traffic distribution results, optimizes network communication performance and reliability, avoids network bottlenecks and resource waste, and achieves more balanced resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119449692B_ABST
    Figure CN119449692B_ABST
Patent Text Reader

Abstract

The application relates to the computer technical field and discloses a flow distribution method and device, electronic equipment and storage medium, which comprises the following steps: acquiring the overall health value and port information of each neighbor node according to a preset period; determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; acquiring a to-be-transmitted data packet and the destination address of the to-be-transmitted data packet; determining the flow distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, so as to proportionally transmit the to-be-transmitted data packet based on multiple target paths. The dynamic weight value of each routing path is determined according to the overall health value and port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the finally determined flow distribution result and laying a foundation for improving the overall performance and reliability of network communication.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and particularly relates to a traffic distribution method and device, electronic equipment and storage medium. BACKGROUND

[0002] With the continuous development of network communication technology, users have higher and higher requirements for data communication efficiency, and therefore, how to determine a routing path with high data communication efficiency has become a key research content.

[0003] In the related art, after a plurality of reachable paths are determined, the traffic is distributed to each reachable path in proportion according to a preset static weight value of each reachable path. The preset static weight value represents the relative importance of each path in the traffic distribution process.

[0004] However, in a complex network communication environment, the network state dynamically changes, and the reliability of the traffic distribution result determined only according to the preset static weight value cannot be guaranteed, which leads to an increase in network communication congestion and even a data packet loss, seriously affecting the overall performance and reliability of network communication. SUMMARY

[0005] The present application provides a traffic distribution method and device, electronic equipment and storage medium to solve the defect that the related art cannot guarantee the reliability of the determined traffic distribution result.

[0006] The first aspect of the present application provides a traffic distribution method, which is applied to any routing node in a communication network, and the method comprises:

[0007] obtaining overall health values and port information of each neighbor node according to a preset period;

[0008] determining a dynamic weight value of a routing path between each neighbor node according to the overall health value and the port information of each neighbor node;

[0009] obtaining a to-be-transmitted data packet and a destination address of the to-be-transmitted data packet;

[0010] determining a traffic distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, so as to transmit the to-be-transmitted data packet in proportion based on a plurality of target paths.

[0011] In an optional implementation, the obtaining of the overall health values and the port information of each neighbor node according to the preset period comprises:

[0012] for any neighbor node, obtaining performance index monitoring information of the neighbor node within the preset period;

[0013] determining the BER health value of the neighbor node according to the current BER, the minimum BER in the preset period and the maximum BER in the preset period represented by the performance index monitoring information of the neighbor node;

[0014] determining the optical module temperature health value of the neighbor node according to the current optical module temperature, the minimum optical module temperature in the preset period and the maximum optical module temperature in the preset period represented by the performance index monitoring information of the neighbor node;

[0015] determining the optical module power supply voltage health value of the neighbor node according to the current optical module power supply voltage, the minimum optical module power supply voltage in the preset period and the maximum optical module power supply voltage in the preset period represented by the performance index monitoring information of the neighbor node;

[0016] obtaining the performance index weight of the neighbor node;

[0017] determining the overall health value of the neighbor node according to the performance index weight, the BER health value, the optical module temperature health value and the optical module power supply voltage health value of the neighbor node;

[0018] obtaining the port bandwidth of the neighbor node to obtain the port information of the neighbor node;

[0019] The port information of the neighbor node at least includes the port bandwidth.

[0020] In an optional implementation, the determining the BER health value of the neighbor node according to the current BER, the minimum BER in the preset period and the maximum BER in the preset period represented by the performance index monitoring information of the neighbor node includes:

[0021] determining the BER health value of the neighbor node based on the following formula:

[0022]

[0023] wherein, BER H represents the BER health value of the neighbor node, BER represents the current BER, BER min represents the minimum BER in the preset period, BER max represents the maximum BER in the preset period.

[0024] In an optional implementation, the determining the optical module temperature health value of the neighbor node according to the current optical module temperature, the minimum optical module temperature in the preset period and the maximum optical module temperature in the preset period represented by the performance index monitoring information of the neighbor node includes:

[0025] The optical module temperature health value of the neighbor node is determined based on the following formula:

[0026]

[0027] wherein, T H represents the optical module temperature health value of the neighbor node, T represents the current temperature of the optical module, T l represents the lowest temperature of the optical module in the preset period, T h represents the highest temperature of the optical module in the preset period.

[0028] In an optional implementation, the optical module current supply voltage, the lowest supply voltage of the optical module in the preset period and the highest supply voltage of the optical module in the preset period are determined according to the performance index monitoring information of the neighbor node, and the optical module supply voltage health value of the neighbor node is determined, comprising:

[0029] The optical module supply voltage health value of the neighbor node is determined based on the following formula:

[0030]

[0031] wherein, V H represents the optical module supply voltage health value of the neighbor node, V represents the current supply voltage of the optical module, V l represents the lowest supply voltage of the optical module in the preset period, V h represents the highest supply voltage of the optical module in the preset period.

[0032] In an optional implementation, the dynamic weight value of the routing path between each neighbor node is determined according to the overall health value and the port information of each neighbor node, comprising:

[0033] For any neighbor node, the dynamic weight value of the routing path between the neighbor node is determined according to the product value of the overall health value and the port bandwidth of the neighbor node;

[0034] Wherein, the port information of the neighbor node at least includes the port bandwidth.

[0035] In an optional implementation, the traffic allocation result of the to-be-transmitted data packet is determined according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, comprising:

[0036] According to the destination address of the to-be-transmitted data packet, a plurality of target routing paths connected to the destination address are determined;

[0037] According to the dynamic weight values of the target routing paths, a traffic distribution proportion of each target routing path is determined to obtain a traffic distribution result of the to-be-transmitted data packet.

[0038] The second aspect of the present application provides a traffic distribution device, which is applied to any routing node in a communication network, and the device comprises:

[0039] The first obtaining module is configured to obtain the overall health value and the port information of each neighbor node according to a preset period;

[0040] The first determining module is configured to determine a dynamic weight value of a routing path between each neighbor node according to the overall health value and the port information of each neighbor node;

[0041] The second obtaining module is configured to obtain a to-be-transmitted data packet and a destination address of the to-be-transmitted data packet;

[0042] The second determining module is configured to determine a traffic distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, so as to transmit the to-be-transmitted data packet in proportion based on multiple target paths.

[0043] The third aspect of the present application provides an electronic device, which comprises at least one processor and a memory;

[0044] The memory stores computer execution instructions;

[0045] The at least one processor executes the computer execution instructions stored in the memory, so that the at least one processor executes the method described in the first aspect and various possible designs of the first aspect.

[0046] The fourth aspect of the present application provides a computer readable storage medium, and the computer readable storage medium stores computer execution instructions, when the processor executes the computer execution instructions, the method described in the first aspect and various possible designs of the first aspect is realized.

[0047] The fifth aspect of the present application provides a computer program product, which comprises computer instructions, and the computer instructions are used to make a computer execute the method described in the first aspect and various possible designs of the first aspect.

[0048] The technical solution of the present application has the following advantages:

[0049] The application provides a traffic distribution method and device, an electronic device and a storage medium. The method comprises: obtaining an overall health value and port information of each neighbor node according to a preset period; determining a dynamic weight value of a routing path between each neighbor node according to the overall health value and the port information of each neighbor node; obtaining a to-be-transmitted data packet and a destination address of the to-be-transmitted data packet; determining a traffic distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, so as to transmit the to-be-transmitted data packet in proportion based on multiple target paths. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and the port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the finally determined traffic distribution result, and laying a foundation for improving the overall performance and reliability of network communication. BRIEF DESCRIPTION OF DRAWINGS

[0050] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the embodiments or the related art description will be briefly introduced. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can also be obtained by those skilled in the art based on these drawings.

[0051] Figure 1 The WECMP network structure schematic diagram provided by the embodiments of the present application;

[0052] Figure 2 The structure schematic diagram of the traffic distribution system based on which the embodiments of the present application are provided;

[0053] Figure 3 The flowchart schematic diagram of the traffic distribution method provided by the embodiments of the present application;

[0054] Figure 4 The structure schematic diagram of the routing node provided by the embodiments of the present application;

[0055] Figure 5 The communication flowchart schematic diagram of the routing node provided by the embodiments of the present application;

[0056] Figure 6 The structure schematic diagram of the traffic distribution device provided by the embodiments of the present application;

[0057] Figure 7 The structure schematic diagram of the electronic device provided by the embodiments of the present application.

[0058] The above drawings have shown the specific embodiments of the present application, and will be described in more detail hereinafter. These drawings and textual descriptions are not intended to limit the scope of the present disclosure concept by any means, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0059] To make the purposes, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are some but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0060] First, the terms involved in the present application are explained:

[0061] LLDP(Link Layer Discovery Protocol): LLDP(Link Layer Discovery Protocol) is a network protocol that operates at the data link layer, allowing devices to broadcast their identity information and receive the identity information of neighboring devices. LLDP is mainly used for the discovery and management of network devices. The protocol carries device identifiers, port descriptions, system capabilities, and other information by periodically sending and receiving TLV(Type-Length-Value) format data units. This mechanism helps manage network topology and enhances network troubleshooting capabilities by providing detailed device and connection information.

[0062] ECMP(Equal-Cost Multi-Path): ECMP(Equal-Cost Multi-Path) is a routing strategy that allows data packets to be forwarded through multiple paths with the same cost. In traditional routing, data packets usually follow a single path to the destination, while ECMP can utilize multiple paths to balance network load, improve network redundancy, and enhance fault tolerance. Especially when there are multiple paths with the same routing cost, ECMP can increase bandwidth utilization and reduce the risk of congestion on a single path. ECMP is widely used in high-performance networks, data centers, and cloud environments to optimize network efficiency.

[0063] WECMP (Weighted Equal-Cost Multi-Path): WECMP (Weighted Equal-Cost Multi-Path) is an extension of the ECMP technique that introduces the concept of weighted path selection. Unlike ECMP, which equally distributes traffic to all available paths, WECMP assigns different weights to each path based on specific criteria such as bandwidth, latency, or reliability. This approach allows for more granular and optimized traffic distribution. By adjusting the weights, network administrators can prioritize certain paths, ensuring that more important or latency-sensitive data is transmitted through the most suitable paths. WECMP is particularly useful in complex network environments, enabling better control over traffic engineering and optimizing network performance.

[0064] In addition, the terms "first", "second" and the like are used only for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. In the description of the following embodiments, the meaning of "a plurality of" is two or more, unless otherwise explicitly specified.

[0065] In network traffic management, WECMP (Weighted Equal-Cost Multi-Path) is a widely used load balancing technique. It optimizes network performance by distributing traffic among multiple paths. The core of the WECMP technique is to distribute traffic according to the weight ratio of the path, which is usually pre-set based on the bandwidth, latency or other network characteristics of the path. As shown in the following figure, Figure 1 The WECMP network structure provided by the embodiments of the present application is shown in the following figure, Figure 1 is a typical WECMP network structure, which includes five nodes: A, B, C, D and E. Among them, node A is the source node and node E is the destination node. There are multiple paths between nodes for selection, and the specific paths and their weights are as follows:

[0066] Path 1: A→B→E, weight 10;

[0067] Path 2: A→C→E, weight 20;

[0068] Path 3: A→D→E, weight 10.

[0069] These weight values represent the relative importance of each path in the WECMP traffic distribution process. The higher the weight of the path, the greater the proportion it will get in traffic distribution. This mechanism ensures that data flow can be reasonably distributed according to the carrying capacity of different paths, thereby avoiding uneven use of network resources.

[0070] Under the WECMP mechanism, the first step is path discovery, which determines all available paths from the source node A to the destination node E. In this process, network devices discover all possible paths and calculate the cost of each path based on the information in the routing table. In this example, there are three paths from A to E, and their costs are represented by weights.

[0071] Next, the network administrator or system assigns weights to each path based on predefined criteria. These weight values indicate the relative priority of each path in traffic distribution. Figure 1 In this example, the path from A to B to E has a weight of 10, the path from A to C to E has a weight of 20, and the path from A to D to E also has a weight of 10. These weights can reflect the carrying capacity or priority of the path.

[0072] After determining the paths and their weights, WECMP will distribute traffic to each path based on these weights. For example, assume there are 100 data packets that need to be sent from A to E, the system will distribute them as follows.

[0073] Path 1: Weight 10, accounting for 25% of the total weight (40). This path will carry 25 data packets;

[0074] Path 2: Weight 20, accounting for 50% of the total weight (40). This path will carry 50 data packets;

[0075] Path 3: Weight 10, accounting for 25% of the total weight (40). This path will also carry 25 data packets.

[0076] This traffic distribution ensures that data flow is not concentrated on a single path, achieving load balancing. This not only optimizes the use of network resources, but also improves the overall performance and stability of the network.

[0077] The transmission of data packets is carried out according to the allocation results of the previous step. Each path will receive the corresponding number of data packets, which will be transmitted to the destination according to the preset weight ratio. In the actual transmission process, network devices will monitor the status of each path in real time to ensure that data packets can reliably reach the destination.

[0078] WECMP (Weighted Equal-Cost Multi-Path) technology has been widely used in multi-path load balancing, which distributes data flow by assigning different weights to multiple paths. However, this technology also has some significant disadvantages and limitations in practical application, especially in the context of increasing network complexity and growing demand for dynamic adjustment. These disadvantages include but are not limited to the following aspects:

[0079] Traditional WECMP usually relies on static weight settings, which means the weight of each path is determined at network configuration and remains unchanged during network operation. Static weights cannot adapt to real-time changes in network conditions, such as fluctuations in link quality, device failures, or changes in load. For example, when a certain path performance decreases due to device failure or external interference, static weights cannot be adjusted in time and still allocate traffic according to the original allocation ratio. This situation may lead to increased congestion and even packet loss, seriously affecting the overall performance and reliability of the network.

[0080] Another limitation of traditional WECMP is its lack of real-time health assessment capability for network nodes and links. In modern networks, the health of nodes, such as port bandwidth utilization, temperature, etc., directly affects the processing capacity and forwarding efficiency of data packets. However, traditional WECMP does not have the ability to detect and respond to these health indicators. This means that even if some nodes have problems such as overload, overheating, etc., WECMP cannot adjust the weights according to these dynamic changes to optimize traffic allocation.

[0081] Traditional WECMP schemes lack adaptability and cannot automatically adjust according to changes in network conditions. In modern network environments, the traffic characteristics of various applications are different and may change at any time, such as sudden high traffic, priority requirements for critical task traffic, etc. Traditional static WECMP is difficult to adapt to these changes and lacks intelligent scheduling mechanisms. This limitation makes it difficult for the network to dynamically optimize resource allocation and achieve optimal traffic management and quality of service guarantees.

[0082] To solve the above problems, the embodiments of the present application provide a traffic allocation method, device, electronic equipment and storage medium, the method comprising: obtaining the overall health value and port information of each neighbor node according to a preset period; determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; obtaining the data packet to be transmitted and the destination address of the data packet to be transmitted; determining the traffic allocation result of the data packet to be transmitted according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, to transmit the data packet to be transmitted based on multiple target paths in proportion. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and port information of the neighbor node, to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the finally determined traffic allocation result, and laying a foundation for improving the overall performance and reliability of network communication.

[0083] The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of the present application will be described below with reference to the accompanying drawings.

[0084] First, the structure of the traffic allocation system based on which the present application is explained:

[0085] The traffic allocation method, device, electronic equipment and storage medium provided by the embodiments of the present application are suitable for traffic allocation in the case that any routing node in a communication network obtains a data packet to be transmitted. As shown in the figure, it is a structure schematic diagram of the traffic allocation system based on which the embodiments of the present application are provided, mainly including a plurality of neighbor nodes, a traffic allocation device and a data receiving device. Among them, the data receiving device is used to receive the overall health value and port information fed back by each neighbor node, and send all the obtained data to the traffic allocation device, and the traffic allocation device performs responsive traffic allocation according to the obtained data. Figure 2 The embodiments of the present application provide a traffic allocation method applied to any routing node in a communication network, for performing traffic allocation in the case that any routing node in the communication network obtains a data packet to be transmitted. The execution subject of the embodiments of the present application is an electronic equipment, such as a server, a desktop computer, a notebook computer, a tablet computer and other electronic equipment that can be used for traffic allocation.

[0086] As shown in the figure, it is a flowchart of the traffic allocation method provided by the embodiments of the present application, which includes:

[0087] Figure 3 As shown in the figure, it is a flowchart of the traffic allocation method provided by the embodiments of the present application, which includes:

[0088] Step 301: obtaining the overall health value and port information of each neighbor node according to a preset period.

[0089] Among them, the neighbor node is a node that has a direct communication link with the current routing node, and the routing node to which the method provided by the embodiments of the present application is applied is referred to as the current routing node, so as to distinguish and describe. As shown in the figure, for the current routing node A, routing nodes B, C and D are the neighbor nodes of the routing node A. Figure 1

[0090] Step 302: determining the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node.

[0091] It should be noted that the overall health value of the neighbor node is used to directly reflect the health condition of the node, and the port information is used to reflect the network communication capability of the node.

[0092] Specifically, in an embodiment, for any neighbor node, the dynamic weight value of the routing path between the neighbor node can be determined according to the product value of the overall health value and the port bandwidth of the neighbor node.

[0093] Among them, the port information of the neighbor node at least includes the port bandwidth. ​​

[0094] Specifically, the dynamic weight value of the routing path between each neighbor node can be determined based on the following formula:

[0095] Weight i = Health_value i × Port_Speed i

[0096] wherein Weight i represents the dynamic weight value of the routing path between neighbor node i, Health_value i represents the overall health value of neighbor node i, and Port_Speed i represents the port bandwidth of neighbor node i.

[0097] Specifically, by updating the dynamic weight value of each routing path according to the product value of the overall health value and the port bandwidth of the neighbor node at a preset period, it is ensured that the dynamic weight value of each routing path matches the actual performance of the neighbor node.

[0098] wherein the traditional WECMP scheme lacks adaptability and cannot automatically adjust according to changes in network conditions. In modern network environments, the traffic characteristics of various applications are different and may change at any time, such as sudden high traffic, priority requirements of critical task traffic, etc. The traditional static WECMP is difficult to adapt to these changes and lacks intelligent scheduling mechanism. This limitation makes the network unable to dynamically optimize resource allocation and difficult to achieve optimal traffic management and quality of service guarantee.

[0099] Specifically, in an embodiment, the dynamic weight value can be adjusted according to real-time traffic data. For example, if the traffic suddenly increases, the weight of the neighbor node with larger port bandwidth can be increased to ensure sufficient bandwidth and resources. The weight of the neighbor node that meets the priority requirements of critical task traffic can also be adjusted to adapt to the traffic allocation requirements according to the priority requirements of the critical task traffic.

[0100] Step 303, obtaining a to-be-transmitted data packet and a destination address of the to-be-transmitted data packet.

[0101] wherein the destination address of the to-be-transmitted data packet is used to represent a destination node, i.e. the to-be-transmitted data packet needs to be sent to the destination node through the current routing node.

[0102] Step 304, determining a traffic allocation result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, to transmit the to-be-transmitted data packet in proportion based on multiple target paths.

[0103] Specifically, path discovery can be first performed according to the destination address to determine a plurality of reachable paths between the current routing node and the destination node, and then a flow allocation result of the to-be-transmitted data packet is determined according to the dynamic weight values of the reachable paths, so as to determine the number of to-be-transmitted data packets to be borne by each reachable path. If the overall health value of a neighbor node is lower than a predetermined threshold, the weight value of the routing path will be automatically reduced by the embodiments of the present application, and the flow allocation thereof will be reduced to avoid congestion and performance degradation.

[0104] For example, if there are 100 to-be-transmitted data packets, the reachable paths are path 1, path 2 and path 3, and the dynamic weight values corresponding to path 1, path 2 and path 3 are 10, 20 and 10 respectively. According to this, it is determined that path 1 accounts for 25% of the total weight (40), i.e., the path 1 will bear 25% of the flow transmission, i.e., 25 to-be-transmitted data packets; it is determined that path 2 accounts for 50% of the total weight (40), i.e., the path 1 will bear 50% of the flow transmission, i.e., 50 to-be-transmitted data packets; and it is determined that path 3 accounts for 25% of the total weight (40), i.e., the path 3 will bear 25% of the flow transmission, i.e., 25 to-be-transmitted data packets.

[0105] Specifically, in an embodiment, to further improve the security of data transmission, if the overall health value of any neighbor node is lower than a preset alarm value, the neighbor node is caused to generate alarm information and pause the data transmission service of the neighbor node, i.e., no longer allocate flow to the neighbor node.

[0106] Specifically, in an embodiment, a plurality of target routing paths connected to the destination address can be determined according to the destination address of the to-be-transmitted data packet, and a flow allocation proportion of each target routing path can be determined according to the dynamic weight values of the target routing paths to obtain a flow allocation result of the to-be-transmitted data packet.

[0107] The target routing path is a plurality of reachable paths between the current routing node and the destination node, and the flow allocation proportion is the proportion of the flow to be borne. The flow allocation result of the to-be-transmitted data packet includes the flow allocation proportions of the target routing paths.

[0108] On the basis of the above-mentioned embodiments, since the overall health value and the port information of the neighbor node will directly affect the reliability of the flow allocation result, in order to further improve the reliability of the flow allocation result, as a kind of implementable mode, in an embodiment, the overall health value and the port information of each neighbor node are obtained according to preset period, including:

[0109] In step 3011, for any neighbor node, the performance index monitoring information of the neighbor node in the preset period is obtained.

[0110] Step 3012, according to the current bit error rate, the minimum bit error rate in the preset period and the maximum bit error rate in the preset period represented by the performance index monitoring information of the neighbor node, determine the bit error rate health value of the neighbor node;

[0111] Step 3013, according to the current temperature of the optical module, the minimum temperature of the optical module in the preset period and the maximum temperature of the optical module in the preset period represented by the performance index monitoring information of the neighbor node, determine the optical module temperature health value of the neighbor node;

[0112] Step 3014, according to the current power supply voltage of the optical module, the minimum power supply voltage of the optical module in the preset period and the maximum power supply voltage of the optical module in the preset period represented by the performance index monitoring information of the neighbor node, determine the optical module power supply voltage health value of the neighbor node;

[0113] Step 3015, obtain the performance index weight of the neighbor node;

[0114] Step 3016, according to the performance index weight, the bit error rate health value, the optical module temperature health value and the optical module power supply voltage health value of the neighbor node, determine the overall health value of the neighbor node;

[0115] Step 3017, obtain the port bandwidth of the neighbor node to obtain the port information of the neighbor node.

[0116] Among them, the port information of the neighbor node at least includes port bandwidth.

[0117] It should be noted that, in order to alleviate the computing pressure of a single node, all routing nodes in the entire communication network perform overall health value calculation based on the above steps, and after each routing node completes the calculation of its own overall health value, the overall health value and the port information are sent to the neighbor node, so that all routing nodes in the communication network obtain the overall health value and the port information of the neighbor node.

[0118] Specifically, in an embodiment, the bit error rate health value of the neighbor node can be determined based on the following formula:

[0119]

[0120] Among them, BER H represents the bit error rate health value of the neighbor node, BER represents the current bit error rate, BER min represents the minimum bit error rate in the preset period, and BER max represents the maximum bit error rate in the preset period.

[0121] Correspondingly, in an embodiment, the optical module temperature health value of the neighbor node can be determined based on the following formula:

[0122] Correspondingly, in an embodiment, the optical module temperature health value of the neighbor node can be determined based on the following formula:

[0123] wherein, T H represents the optical module temperature health value of the neighbor node, T represents the current temperature of the optical module, T l represents the lowest temperature of the optical module in the preset period, T h represents the highest temperature of the optical module in the preset period.

[0124] Correspondingly, in an embodiment, the optical module power supply voltage health value of the neighbor node can be determined based on the following formula:

[0125]

[0126] wherein, V H represents the optical module power supply voltage health value of the neighbor node, V represents the current power supply voltage of the optical module, V l represents the lowest power supply voltage of the optical module in the preset period, V h represents the highest power supply voltage of the optical module in the preset period.

[0127] It should be noted that since the temperature and power supply voltage of the optical module are integers, in order to make the obtained bit error rate health value, optical module temperature health value and optical module power supply voltage health value all be decimals between [0, 1], the present embodiment proposes the above calculation formula. The present embodiment considers that the temperature and power supply voltage of the optical module are too high or too low, which will have a negative impact on the health of the node, so in the formula, the deviation is handled by subtracting 0.5 and using a square term to handle the deviation of the too high value and the too low value, and the coefficient 4 is used to amplify the influence of the deviation, so as to ensure that the health value is between [0, 1]. When the temperature or power supply voltage is at the center position of the interval, the value of the term is 0, that is, the health degree is 1.

[0128] Further, the overall health value of each neighbor node can be determined based on the following formula:

[0129] Health_value = ω BER · BER H + ω T · T h + ω Ve · V h

[0130] wherein, ω BER , ω T and ω Ve represent the performance index weight, that is, the performance index weight corresponding to the bit error rate health value, the optical module temperature health value and the optical module power supply voltage health value.

[0131] Specifically, as Figure 4As shown, the structure diagram of the routing node provided by the embodiment of the application, the routing node comprises a data collection module, a health value calculation module, an LLDP transmission module, an LLDP receiving module, a health value processing and weight adjustment module and a WECMP configuration module.

[0132] The data collection module is configured to collect key performance indicators of the local device (the current routing node) and provide the health value calculation module with the key performance indicators such as the bit error rate, the power supply voltage, the optical module temperature and the like, and also obtain port information such as the port bandwidth and provide the health value processing and weight adjustment module with the port information.

[0133] The health value calculation module is configured to calculate the overall health value of the node according to the data provided by the data collection module. The health value calculation module comprises a normalization processing of the key performance indicators such as the bit error rate, the optical module power supply voltage and the optical module temperature, and a weight distribution according to the influence of the key performance indicators on the overall health value, and finally calculates a comprehensive health value. The comprehensive health value represents the health condition of the port and is used to guide the adjustment of the WECMP weight. According to the requirement, other indicators that may affect the performance can also be included to provide a more comprehensive health evaluation.

[0134] The LLDP transmission module is configured to transmit the health value information of the node to the adjacent neighbor nodes through the LLDP protocol.

[0135] The LLDP receiving module is configured to receive the health value information transmitted by other nodes through the LLDP and transmit the information to the health value processing and weight adjustment module.

[0136] The health value processing and weight adjustment module is configured to process the health value information received from other nodes and dynamically adjust the weight of the WECMP based on the information and the bandwidth capacity, that is, to determine the dynamic weight value of the routing path. Specifically, the module analyzes the received overall health value, and then performs a weighted calculation on the two values according to the port bandwidth capacity represented by the port information, to obtain the final WECMP weight value. The weight value determines the proportion of the traffic distribution of each port in the load balancing, so as to ensure that the traffic is preferentially passed through the path with good health condition and sufficient bandwidth, thereby optimizing the network performance and resource utilization.

[0137] The WECMP configuration module is configured to configure all parameters related to the WECMP according to the dynamic weight value of the routing path, to ensure the reasonable distribution of the network traffic.

[0138] For example, Figure 5As shown, the communication flow diagram of the routing node provided by the embodiment of the application, the adjacent node is the neighbor node, the configuration node is the local current routing node, the adjacent node first uses the data collection module to obtain the key performance indicators from the local device, including the bit error rate, the optical module power supply voltage, the optical module temperature and the like. These data are respectively transmitted to the health value calculation module. According to the original data obtained from the data collection module, the health value calculation module normalizes each key performance indicator, and calculates a comprehensive health value in combination with the weight. The health value is used to represent the overall health condition of the port. After the calculation is completed, the adjacent node transmits the health value to the configuration node through the LLDP protocol. The LLDP transmission module is responsible for embedding the health value in the custom TLV field, and periodically broadcasting to the adjacent node.

[0139] The configuration node receives the health value information transmitted from the adjacent node through the LLDP receiving module. After the information is verified, it is transmitted to the health value processing and weight adjustment module. The module analyzes the received health value, and combines the bandwidth capability data collected locally. The health value processing and weight adjustment module performs weighted calculation on the overall health value and the bandwidth capability, and obtains the final WECMP weight value of each port. Each port corresponds to a neighbor node. The weight value is used to determine the priority of each port in the network traffic distribution. According to the final WECMP weight value calculated by the health value processing and weight adjustment module, the WECMP configuration module is responsible for updating and configuring all parameters of WECMP. Through the adjustment of the weight, it is ensured that the traffic is preferentially passed through the path with good health condition and sufficient bandwidth. The configuration process aims to optimize the network performance, improve the resource utilization, and maintain the load balance.

[0140] The traffic distribution method provided by the embodiment of the application obtains the overall health value and port information of each neighbor node according to a preset period; determines the dynamic weight value of the routing path between each neighbor node according to the overall health value and the port information of each neighbor node; obtains a to-be-transmitted data packet and a destination address of the to-be-transmitted data packet; determines a traffic distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, and transmits the to-be-transmitted data packet based on multiple target paths in proportion. The method provided by the above scheme determines the dynamic weight value of each routing path according to the overall health value and the port information of the neighbor node, so as to ensure that the determined dynamic weight value matches the actual performance of the neighbor node, thereby improving the reliability of the finally determined traffic distribution result, and laying a foundation for improving the overall performance and reliability of network communication.

[0141] The traffic distribution method provided by the embodiment of the application has the following beneficial effects in practice:

[0142] Dynamic adjustment capability enhancement: By introducing a WECMP weight dynamic adjustment mechanism based on health value and bandwidth capability, the health status and resource usage of each node in the network can be responded to in real time. This dynamic adjustment capability ensures that traffic is preferentially allocated to paths with good health status and sufficient bandwidth, effectively avoiding potential network bottlenecks and resource waste.

[0143] Network reliability and performance improvement: Through real-time monitoring and analysis of the health indicators of node devices (such as bit error rate, supply voltage, temperature, etc.), traffic distribution can be adjusted in a timely manner when abnormalities occur. This proactive management strategy helps improve the overall reliability of the network, reducing network interruptions or performance degradation caused by device failures or performance degradation.

[0144] Resource utilization efficiency optimization: Weight calculation based on overall health value and bandwidth capability helps more balanced utilization of network resources. Paths with higher health values will carry more traffic, reducing unnecessary resource occupation and energy consumption. In addition, by avoiding excessive use of unhealthy paths, the service life of node devices can also be extended.

[0145] Distributed management without centralized controller: The method provided by the embodiments of the present application does not rely on a centralized controller, but uses the cooperation between distributed nodes to realize the configuration and management of WECMP. This not only reduces the complexity and cost of the system, but also improves the scalability and flexibility of the system. Each node can independently monitor and manage its own state, so that it can also maintain efficient operation in a large-scale network.

[0146] The embodiments of the present application provide a traffic distribution device, which is applied to any routing node in a communication network and is used to execute the traffic distribution method provided by the above-mentioned embodiments.

[0147] As shown in Figure 6 Fig. 1 is a structural schematic diagram of the traffic distribution device provided by the embodiments of the present application. The traffic distribution device 60 comprises a first acquisition module 601, a first determination module 602, a second acquisition module 603, and a second determination module 604.

[0148] The first acquisition module is configured to acquire the overall health value and port information of each neighbor node according to a preset period; the first determination module is configured to determine the dynamic weight value of the routing path between each neighbor node according to the overall health value and port information of each neighbor node; the second acquisition module is configured to acquire the to-be-transmitted data packet and the destination address of the to-be-transmitted data packet; and the second determination module is configured to determine the traffic distribution result of the to-be-transmitted data packet according to the destination address of the to-be-transmitted data packet and the dynamic weight value of each routing path, so as to transmit the to-be-transmitted data packet in proportion based on multiple target paths.

[0149] As to the flow distribution device in the embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and thus will not be described in detail here.

[0150] The flow distribution device provided in the embodiments of the present application is used to perform the flow distribution method provided in the embodiments, and has the same implementation manner and principle, and thus will not be described in detail.

[0151] The electronic device provided in the embodiments of the present application is used to perform the flow distribution method provided in the embodiments.

[0152] As shown in FIG. 7, it is a structural schematic diagram of the electronic device provided in the embodiments of the present application. The electronic device 70 includes at least one processor 71 and a memory 72. Figure 7

[0153] The memory stores computer execution instructions; and the at least one processor executes the computer execution instructions stored in the memory, so that the at least one processor performs the flow distribution method provided in the embodiments.

[0154] The electronic device provided in the embodiments of the present application is used to perform the flow distribution method provided in the embodiments, and has the same implementation manner and principle, and thus will not be described in detail.

[0155] The computer readable storage medium provided in the embodiments of the present application stores computer execution instructions, and when the processor executes the computer execution instructions, the flow distribution method provided in any one of the embodiments is implemented.

[0156] The storage medium provided in the embodiments of the present application contains computer executable instructions, which can be used to store the computer execution instructions of the flow distribution method provided in the foregoing embodiments, and has the same implementation manner and principle, and thus will not be described in detail.

[0157] The computer program product provided in the embodiments of the present application includes computer instructions, and the computer instructions are used to make the computer execute the flow distribution method provided in the foregoing embodiments.

[0158] The computer program product provided in the embodiments of the present application contains computer instructions, which can be used to execute the computer instructions of the flow distribution method provided in the foregoing embodiments, and has the same implementation manner and principle, and thus will not be described in detail.

[0159] ​In several embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented by other manners. For example, the apparatus embodiments described above are merely illustrative, for example, the division of units is merely a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units or components shown or discussed can be indirect coupling or communication connection through some interfaces, apparatuses or units, and can be electrical, mechanical or other forms.

[0160] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment scheme.

[0161] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can be physically present separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of hardware plus software functional unit.

[0162] The integrated unit realized in the form of software functional unit can be stored in a computer readable storage medium. The software functional unit stored in a storage medium includes a plurality of instructions for making a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor execute part of the steps of the method described in each embodiment of the present application. The foregoing storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.

[0163] Part of the present application can be applied as a computer program product, for example, computer program instructions, when executed by a computer, through the operation of the computer, the method and / or technical solutions according to the present application can be invoked or provided. Those skilled in the art should understand that the form of computer program instructions in computer readable medium includes but is not limited to source file, executable file, installation package file and the like, and accordingly, the way of computer program instructions executed by computer includes but is not limited to: the computer directly executes the instructions, or the computer compiles the instructions and then executes the corresponding compiled program, or the computer reads and executes the instructions, or the computer reads and installs the instructions and then executes the corresponding installed program. Here, the computer readable medium can be any available computer readable storage medium or communication medium accessible to the computer.

[0164] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above functional modules is exemplified, and in actual application, the above functions can be completed by different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the device described above can refer to the corresponding process in the foregoing method embodiments, which will not be described here.

[0165] Finally, it should be pointed out that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.

Claims

1. A flow distribution method, characterized in that: The method is applied to any routing node in a communication network, and the method comprises: Obtain the overall health value and port information of each neighbor node according to the preset period; Determining a dynamic weight value of a routing path between each of the neighboring nodes according to the overall health value and port information of each of the neighboring nodes; Obtaining a data packet to be transmitted and a destination address of the data packet to be transmitted; Determining a flow distribution result of the data packet to be transmitted according to a destination address of the data packet to be transmitted and a dynamic weight value of each routing path, so as to proportionally transmit the data packet to be transmitted based on multiple target paths; The step of obtaining the overall health value and port information of each neighbor node according to a preset period includes: For any of the neighboring nodes, obtaining performance indicator monitoring information of the neighboring node within the preset period; Determine a bit error rate health value of the neighboring node based on the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period; Determine the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period; Determine the optical module power supply voltage health value of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period; Obtaining the performance indicator weight of the neighbor node; Determine the overall health value of the neighboring node according to the performance indicator weight, the bit error rate health value, the optical module temperature health value, and the optical module supply voltage health value of the neighboring node; Obtaining the port bandwidth of the neighboring node to obtain the port information of the neighboring node; The determining, based on the overall health value and port information of each neighboring node, a dynamic weight value of a routing path between the neighboring nodes includes: For any of the neighboring nodes, determining a dynamic weight value of a routing path between the neighboring node and the neighboring node according to a product value of the overall health value of the neighboring node and the port bandwidth; The port information of the neighbor node at least includes the port bandwidth.

2. The method according to claim 1, characterized in that The determining, based on the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period, the bit error rate health value of the neighboring node includes: The bit error rate health value of the neighbor node is determined based on the following formula: in, Indicates the bit error rate health value of the neighbor node, represents the current bit error rate, represents the minimum bit error rate within the preset period, Indicates the maximum bit error rate within the preset period.

3. The method according to claim 1, characterized in that The determining, based on the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period, the temperature health value of the optical module of the neighboring node includes: The temperature health value of the optical module of the neighboring node is determined based on the following formula: in, Indicates the temperature health value of the optical module of the neighboring node. Indicates the current temperature of the optical module. Indicates the lowest temperature of the optical module within the preset period, Indicates the maximum temperature of the optical module within the preset period.

4. The method according to claim 1, wherein The determining, based on the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period, the health value of the power supply voltage of the optical module of the neighboring node includes: The power supply voltage health value of the optical module of the neighboring node is determined based on the following formula: in, Indicates the health value of the optical module power supply voltage of the neighboring node. Indicates the current power supply voltage of the optical module. Indicates the minimum power supply voltage of the optical module within the preset period. Indicates the maximum power supply voltage of the optical module within the preset period.

5. The method according to claim 1, wherein The determining, according to the destination address of the data packet to be transmitted and the dynamic weight value of each routing path, a flow distribution result of the data packet to be transmitted, comprises: Determining, based on the destination address of the data packet to be transmitted, a plurality of target routing paths connected to the destination address; According to the dynamic weight value of each target routing path, the flow distribution ratio of each target routing path is determined to obtain the flow distribution result of the data packet to be transmitted.

6. A flow distribution device, characterized in that: The device is applied to any routing node in a communication network, and the device includes: The first acquisition module is used to obtain the overall health value and port information of each neighbor node according to a preset period; A first determining module is configured to determine a dynamic weight value of a routing path between each of the neighboring nodes based on the overall health value and port information of each of the neighboring nodes; A second acquisition module is used to acquire a data packet to be transmitted and a destination address of the data packet to be transmitted; a second determining module, configured to determine a flow distribution result of the data packet to be transmitted according to a destination address of the data packet to be transmitted and a dynamic weight value of each routing path, so as to transmit the data packet to be transmitted in proportion based on multiple target paths; The first acquisition module is configured to: For any of the neighboring nodes, obtaining performance indicator monitoring information of the neighboring node within the preset period; Determine a bit error rate health value of the neighboring node based on the current bit error rate represented by the performance indicator monitoring information of the neighboring node, the minimum bit error rate within the preset period, and the maximum bit error rate within the preset period; Determine the temperature health value of the optical module of the neighboring node according to the current temperature of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest temperature of the optical module within the preset period, and the highest temperature of the optical module within the preset period; Determine the optical module power supply voltage health value of the neighboring node according to the current power supply voltage of the optical module represented by the performance indicator monitoring information of the neighboring node, the lowest power supply voltage of the optical module within the preset period, and the highest power supply voltage of the optical module within the preset period; Obtaining the performance indicator weight of the neighbor node; Determine the overall health value of the neighboring node according to the performance indicator weight, the bit error rate health value, the optical module temperature health value, and the optical module supply voltage health value of the neighboring node; Obtaining the port bandwidth of the neighboring node to obtain the port information of the neighboring node; The first determining module is configured to: For any of the neighboring nodes, determining a dynamic weight value of a routing path between the neighboring node and the neighboring node according to a product value of the overall health value of the neighboring node and the port bandwidth; The port information of the neighbor node at least includes the port bandwidth.

7. An electronic device, characterized in that: include: at least one processor and memory; The memory stores computer-executable instructions; The at least one processor executes the computer-executable instructions stored in the memory, so that the at least one processor performs the method according to any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, and when a processor executes the computer-executable instructions, the method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Resilient network communication using selective multipath packet flow spraying

    US20190104057A1

  • Health-based management of a network

    US20240256500A1