Load balancing methods, systems, devices and storage media

By acquiring the performance parameters of the target link nodes and determining the load rate of the business scenario, the transmission path is dynamically adjusted, which solves the problem of poor load balancing effect in the existing technology, realizes targeted network traffic balancing, and improves the practicality of the solution.

CN119814793BActive Publication Date: 2025-10-28CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411962966.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-10-28
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

Existing network load balancing solutions rely solely on the load rate of links or ports as a criterion, resulting in poor load balancing performance across different business scenarios and an inability to perform targeted traffic balancing.

Method used

By obtaining the node performance parameters in the target link, the target business scenario is determined, and load balancing is performed based on the performance parameter weights and node load rates, dynamically adjusting the transmission path to adapt to different business scenarios.

Benefits of technology

This improves the practicality of the load balancing solution, enables network traffic balancing for different business scenarios, and enhances the load balancing effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814793B_ABST
    Figure CN119814793B_ABST
Patent Text Reader

Abstract

This application provides a load balancing method, system, apparatus, and storage medium, relating to the field of communication technology, and can solve the problem of poor load balancing performance in current network load balancing schemes. The method includes: obtaining performance parameters of each node in a target link when transmitting traffic data; wherein, the target link is the current data transmission link for traffic data in the network topology; determining the target service scenario corresponding to the traffic data, and determining the load rate of the nodes in the target service scenario based on the performance parameter weights corresponding to the target service scenario and the performance parameters of each node; and performing load balancing processing on the traffic data transmitted in the target link based on the node load rate. This application can perform targeted load balancing of network traffic under different service scenarios according to the service scenario of the traffic data, effectively improving the load balancing effect and enhancing the practicality of the load balancing scheme.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a load balancing method, system, device and storage medium. Background Technology

[0002] With the development of network technology, users have increasingly higher requirements for network quality. To optimize the network, operators typically build a network topology that closely resembles the existing network environment, using it as a simulation testing platform. Within this established network topology, network testing and analysis are conducted to ultimately determine and fully verify the feasibility and effectiveness of the network optimization scheme.

[0003] Current network load balancing solutions propose using link or port load rates as a criterion for overall network traffic load balancing. However, in practical applications, network traffic occurs in a variety of business scenarios. Using only link or port load rates as a criterion for overall network traffic load balancing can result in poor load balancing performance. Therefore, how to effectively improve load balancing performance is a problem that needs to be solved in this field. Summary of the Invention

[0004] This application provides a load balancing method, system, device, and storage medium, which solves the problem of poor load balancing effect in current network load balancing solutions. It can perform targeted load balancing of network traffic under different business scenarios according to the business scenarios of traffic data, effectively improving the load balancing effect and enhancing the practicality of the load balancing solution.

[0005] To achieve the above objectives, this application adopts the following technical solution:

[0006] Firstly, this application provides a load balancing method, which includes: obtaining performance parameters of each node in a target link when transmitting traffic data; wherein, the target link is the current data transmission link of traffic data in the network topology; determining the target service scenario corresponding to the traffic data, and determining the load rate of the node in the target service scenario based on the performance parameter weights corresponding to the target service scenario and the performance parameters of each node; and performing load balancing processing on the traffic data transmitted in the target link based on the load rate of the node.

[0007] In conjunction with the first aspect mentioned above, in one possible implementation, the method further includes: performing preset calculations on the performance parameters based on the performance parameter weights corresponding to the target business scenario to determine the load rate of the nodes in the target business scenario.

[0008] In conjunction with the first aspect mentioned above, in one possible implementation, before performing preset calculations on the performance parameters to determine the load rate of nodes in the target business scenario, the method further includes: constructing a performance parameter weight table; wherein the performance parameter weight table includes the performance parameter weights corresponding to each business scenario; and obtaining the performance parameter weights corresponding to the target business scenario from the performance parameter weight table based on the target business scenario corresponding to the traffic data.

[0009] In conjunction with the first aspect mentioned above, in one possible implementation, the method further includes: determining whether the load rate of a node is greater than or equal to the load threshold of the node; if it is greater than, then re-determining the link used to transmit the traffic data based on the data transmission requirements of the traffic data; the data transmission requirements include the source address and destination address of the traffic data; and performing load balancing processing on the traffic data based on the re-determined link.

[0010] In conjunction with the first aspect mentioned above, in one possible implementation, the method further includes: determining multiple links in the network topology that meet the data transmission requirements of traffic data; wherein the multiple links do not include the target link; determining the load rate of each node in the multiple links based on the performance parameters of each node in the multiple links when transmitting traffic data and the performance parameter weights corresponding to the target business scenario; and determining the link in the multiple links used for transmitting traffic data based on the load rate of each node in the multiple links.

[0011] In conjunction with the first aspect above, in one possible implementation, the method further includes: determining the difference between the load rate and the load threshold, and determining the target data in the traffic data based on the difference; the target data is the portion of the traffic data that needs to be transmitted via a different link; forwarding the target data in the traffic data based on the newly determined link; and forwarding data other than the target data in the traffic data based on the target link.

[0012] In conjunction with the first aspect above, in one possible implementation, the performance parameters include at least one network performance parameter and / or at least one device performance parameter; wherein, the network performance parameter includes at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, speed, jitter; and the device performance parameter includes at least one of the following: processor utilization, memory utilization.

[0013] The performance parameter weights include the weights corresponding to network performance parameters and the weights corresponding to device performance parameters. Among them, the weights corresponding to network performance parameters include at least one of the following: bandwidth utilization weight, throughput weight, latency weight, packet loss rate weight, speed weight, and jitter weight. The weights corresponding to device performance parameters include at least one of the following: processor utilization weight and memory utilization weight.

[0014] Secondly, this application provides a load balancing system, which includes a traffic generation node, a network topology, and a load balancing node. The network topology includes multiple nodes; the traffic generation node is connected to one or more nodes in the network topology via communication links; and the load balancing node is connected to each of the multiple nodes via communication links.

[0015] Traffic generation nodes are used to generate traffic data and send it to target nodes in the network topology. The network topology is used to receive traffic data and transmit it in the target link. The target link is the current data transmission link for traffic data in the network topology. Load balancing nodes are used to obtain the performance parameters of each node in the target link when transmitting traffic data. The target business scenario corresponding to the traffic data is determined, and the load rate of the node in the target business scenario is determined based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node. Based on the load rate of the node, the traffic data transmitted in the target link is load balanced.

[0016] Thirdly, this application provides a load balancing device, which includes: a communication unit and a processing unit; the communication unit is used to acquire performance parameters of each node in a target link when transmitting traffic data; wherein, the target link is the current data transmission link of traffic data in the network topology; the processing unit is used to determine the target service scenario corresponding to the traffic data, and determine the load rate of the node in the target service scenario based on the performance parameter weights corresponding to the target service scenario and the performance parameters of each node; the processing unit is also used to perform load balancing processing on the traffic data transmitted in the target link based on the load rate of the node.

[0017] In conjunction with the third aspect mentioned above, in one possible implementation, the processing unit is specifically used to: perform preset calculations on the performance parameters based on the performance parameter weights corresponding to the target business scenario, and determine the load rate of the nodes in the target business scenario.

[0018] In conjunction with the third aspect mentioned above, in one possible implementation, the processing unit is further configured to construct a performance parameter weight table; wherein the performance parameter weight table includes performance parameter weights corresponding to each business scenario; the communication unit is further configured to: obtain the performance parameter weights corresponding to the target business scenario from the performance parameter weight table based on the target business scenario corresponding to the traffic data.

[0019] In conjunction with the third aspect mentioned above, in one possible implementation, the processing unit is specifically used to: determine whether the load rate of the node is greater than or equal to the load threshold of the node; if it is greater than, then redetermine the link used to transmit the traffic data based on the data transmission requirements of the traffic data; the data transmission requirements include the source address and destination address of the traffic data; and perform load balancing processing on the traffic data based on the redetermined link.

[0020] In conjunction with the third aspect mentioned above, in one possible implementation, the processing unit is specifically used for: determining multiple links in the network topology that meet the data transmission requirements of traffic data; wherein the multiple links do not include the target link; determining the load rate of each node in the multiple links based on the performance parameters of each node in the multiple links when transmitting traffic data and the performance parameter weights corresponding to the target service scenario; and determining the link in the multiple links used for transmitting traffic data based on the load rate of each node in the multiple links.

[0021] In conjunction with the third aspect mentioned above, in one possible implementation, the processing unit is specifically used to: determine the difference between the load rate and the load threshold, and determine the target data in the traffic data based on the difference; the target data is the part of the traffic data that needs to be transmitted by changing the link; based on the newly determined link, forward the target data in the traffic data; based on the target link, forward the data other than the target data in the traffic data.

[0022] In conjunction with the third aspect above, in one possible implementation, the performance parameters include at least one network performance parameter and / or at least one device performance parameter; wherein, the network performance parameter includes at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, speed, jitter; and the device performance parameter includes at least one of the following: processor utilization, memory utilization.

[0023] The performance parameter weights include the weights corresponding to network performance parameters and the weights corresponding to device performance parameters. Among them, the weights corresponding to network performance parameters include at least one of the following: bandwidth utilization weight, throughput weight, latency weight, packet loss rate weight, speed weight, and jitter weight. The weights corresponding to device performance parameters include at least one of the following: processor utilization weight and memory utilization weight.

[0024] Fourthly, this application provides a communication device comprising: a processor and a communication interface; the communication interface and the processor are coupled, the processor being configured to run computer programs or instructions to implement the load balancing method as described in the first aspect and any possible implementation thereof.

[0025] Fifthly, this application provides a computer-readable storage medium storing instructions that, when executed on a terminal, cause the terminal to perform the load balancing method described in the first aspect and any possible implementation thereof.

[0026] Sixthly, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the load balancing method as described in the first aspect and any possible implementation thereof.

[0027] In a seventh aspect, this application provides a chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run computer programs or instructions to implement the load balancing method as described in the first aspect and any possible implementation thereof.

[0028] Specifically, the chip provided in this application also includes a memory for storing computer programs or instructions.

[0029] It should be noted that the aforementioned computer instructions may be stored, in whole or in part, on a computer-readable storage medium. This computer-readable storage medium may be packaged together with the processor of the device, or it may be packaged separately from the processor of the device; this application does not impose any limitation on this.

[0030] The descriptions of aspects two through seven in this application can be referenced to the detailed description of aspect one; and the beneficial effects of the descriptions of aspects two through seven can be referenced to the analysis of the beneficial effects of aspect one, which will not be repeated here.

[0031] In this application, the names of the aforementioned load balancing devices do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of each device or functional module are similar to those in this application, they fall within the scope of the claims of this application and their equivalents.

[0032] These or other aspects of this application will become more readily apparent in the following description.

[0033] The above solution brings at least the following beneficial effects: Based on the above technical solution, the load balancing method provided in this application first obtains the performance parameters of each node in the target link when transmitting traffic data, and determines the target business scenario corresponding to the traffic data; based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node, the load rate of the node in the target business scenario is determined. Then, based on the node's load rate, load balancing processing is performed on the traffic data transmitted in the target link. In other words, in the load balancing method provided in this application, the node's load rate is obtained in conjunction with the business scenario of the traffic data, thus enabling targeted load balancing of network traffic under different business scenarios. This solves the problem that current network load balancing solutions only use the load rate of the link or port as a judgment condition to perform overall network traffic load balancing, resulting in poor load balancing performance. This effectively improves the load balancing effect and enhances the practicality of the load balancing solution. Attached Figure Description

[0034] Figure 1 A flowchart of a network load balancing scheme based on link and device status;

[0035] Figure 2 This is a schematic diagram of the architecture of a load balancing system provided in an embodiment of this application;

[0036] Figure 3 This is a schematic diagram of another load balancing system architecture provided in an embodiment of this application;

[0037] Figure 4 This is a schematic diagram of another load balancing system architecture provided in an embodiment of this application;

[0038] Figure 5 A schematic diagram illustrating a load balancing implementation scheme provided in an embodiment of this application;

[0039] Figure 6 This is a schematic diagram of the hardware structure of a communication device provided in an embodiment of this application;

[0040] Figure 7 A flowchart illustrating a load balancing method provided in an embodiment of this application;

[0041] Figure 8 A flowchart illustrating another load balancing method provided in this application embodiment;

[0042] Figure 9 A flowchart illustrating another load balancing method provided in this application embodiment;

[0043] Figure 10 A flowchart illustrating another load balancing method provided in this application embodiment;

[0044] Figure 11 This is a schematic diagram of a load balancing device provided in an embodiment of this application. Detailed Implementation

[0045] 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, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0046] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.

[0047] The terms "first" and "second," etc., used in the specification and drawings of this application are used to distinguish different objects or to distinguish different treatments of the same object, rather than to describe a specific order of objects.

[0048] Furthermore, the terms "comprising" and "having," and any variations thereof, used in the description of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include other steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

[0049] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0050] In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0051] As network technology continues to evolve, users have increasingly higher demands for network quality (e.g., network bandwidth, latency, throughput, and packet loss rate). For example, with the widespread adoption of cutting-edge technologies such as high-definition video, virtual reality, and augmented reality, the demand for network bandwidth has increased dramatically. Low network bandwidth and unstable network environments can severely impact user experience. Similarly, the development of applications such as massively multiplayer online games and real-time video conferencing has placed stringent requirements on network latency and jitter. High latency and jitter can also significantly affect the gaming experience.

[0052] In contrast, traditional network architectures have a relatively fixed bandwidth resource allocation pattern. As network load gradually increases, the problem of insufficient bandwidth easily becomes apparent, leading to frequent network congestion and a significant slowdown in data transmission speed. Faced with this situation, operators need to innovate in network architecture design and transmission methods to accurately address various user needs and improve user experience.

[0053] To optimize the network, operators typically don't modify or test existing networks. Instead, they build a network topology that closely resembles the live network as a simulation testing platform. Within this simulated network topology, network testing and analysis are conducted to ultimately determine and fully verify the feasibility and effectiveness of the network optimization plan.

[0054] A network load balancing scheme based on link and device status has been proposed in related technologies. For example... Figure 1 As shown, the implementation steps of this scheme include:

[0055] 1. Obtain network topology information corresponding to the network and establish communication connections with each network node contained in the network topology.

[0056] 2. Based on the established communication connection, obtain the data forwarding request data packet sent by the user terminal, parse the content of the data forwarding request data packet, and obtain the data forwarding request information. The data forwarding request information includes the source address and destination address of the data.

[0057] 3. Determine the data transmission path based on network topology information and data forwarding request information. That is, determine the data transmission path within this topology based on the topology information obtained in step 1 and the data source address and destination address obtained from the data packet.

[0058] 4. Based on the established communication connections, obtain the network status information of each network node in real time and determine whether there are any anomalies in the network status information. That is, through the communication connections established with each node in the topology in step 1, obtain the network status information of each node in the topology in real time and determine whether there are any anomalies in the network status information. The network status information includes: data flow transmission rate and network bandwidth status.

[0059] 5. If the network status information is abnormal, the network topology information is updated based on the network status information, and the data flow transmission path is re-determined. That is, if there is abnormal network status information in the information obtained in step 4, the data flow transmission path within this topology is re-determined based on the abnormal node information and the topology information obtained in step 1.

[0060] As shown above, this proposed solution uses link or port load rate as a criterion for overall network traffic load balancing. However, this solution has poor practicality and cannot provide targeted load balancing for network traffic in different business scenarios. In practical applications, network traffic occurs in a wide variety of business scenarios. If only link or port load rate is used as a criterion for overall network traffic load balancing, the load balancing effect will be poor. Therefore, how to perform targeted load balancing for network traffic in different business scenarios and effectively improve the load balancing effect is a problem that needs to be solved in this field.

[0061] Furthermore, the relevant technology will switch links or ports to achieve load balancing when the load rate of a certain link or port exceeds a threshold. If the load rate is still higher than the set value after switching links or ports, load balancing cannot be effectively achieved.

[0062] When performing load balancing, related technologies use the historical average remaining bandwidth of the link as a reference, and then perform a weighted summation based on the current remaining bandwidth and the link bandwidth threshold. If the previous business scenario of the link differs from the current business scenario, using the historical average remaining bandwidth corresponding to the previous business scenario as a reference will result in a lag and will not be able to effectively cope with sudden large-scale traffic scenarios.

[0063] Therefore, the load balancing method provided in this application first obtains the performance parameters of each node in the target link when transmitting traffic data, and determines the target business scenario corresponding to the traffic data; based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node, the load rate of the node in the target business scenario is determined. Then, based on the node load rate, load balancing processing is performed on the traffic data transmitted in the target link. In other words, in the load balancing method provided in this application, the node load rate is obtained in conjunction with the business scenario of the traffic data, thus enabling targeted load balancing of network traffic under different business scenarios. This solves the problem that current network load balancing solutions only use the load rate of the link or port as a criterion for overall network traffic load balancing, resulting in poor load balancing performance. This method effectively improves the load balancing effect and enhances the practicality of the load balancing solution.

[0064] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0065] Figure 2 This is a schematic diagram of the architecture of a load balancing system provided in an embodiment of this application. Figure 2 As shown, the load balancing system includes: a traffic generation node 201, a network topology 202, and a load balancing node 203. The network topology 202 includes multiple nodes.

[0066] Among them, the traffic generation node 201 is connected to the network topology 202 through a communication link; the network topology 202 is connected to the load balancing node 203 through a communication link.

[0067] Specifically, the traffic generation node 201 is connected to one or more nodes in the network topology 202 via communication links; the load balancing node 203 is connected to multiple nodes in the network topology 202 via communication links respectively.

[0068] Optionally, the load balancer node 203 establishes connections with each node in the network topology 202 via Socket.

[0069] In one possible implementation, traffic generating node 201 generates traffic data and sends the traffic data to a target node in network topology 202. The target node is a node in network topology 202 that has established a connection with traffic generating node 201.

[0070] Network topology 202 is used to receive traffic data and transmit traffic data in the target link; the target link is the current data transmission link of traffic data in network topology 202.

[0071] Load balancing node 203 is used to obtain the performance parameters of each node in the target link when transmitting traffic data; determine the target business scenario corresponding to the traffic data, and determine the load rate of the node in the target business scenario based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node; and perform load balancing processing on the traffic data transmitted in the target link based on the node load rate.

[0072] In some embodiments, load balancing node 203 can be independent of network topology 202, that is, load balancing node 203 can be a standalone device. Alternatively, load balancing node 203 can also be a device within network topology 202. Figure 3 As shown, load balancing node 203 can collect data (including performance parameters of each node), calculate paths, and distribute paths. Each node in network topology 202 can simulate forwarding and receiving traffic data.

[0073] The following is a detailed explanation of network topology 202.

[0074] In some embodiments, network topology 202 can be a network topology built on an open-source cloud computing platform (open stack). For example, Figure 4 As shown, network topology 202 includes multiple nodes (e.g., 6 nodes). These nodes are interconnected.

[0075] For example, such as Figure 4 As shown, node 1 is connected to node 2; node 1 is connected to node 3; node 2 is connected to node 4; node 2 is connected to node 5; node 3 is connected to node 4; node 3 is connected to node 5; node 4 is connected to node 6; and node 5 is connected to node 6.

[0076] It should be noted that, Figure 4 The network topology 202 shown is merely an exemplary illustration of the node composition, and this application does not limit the number of nodes in network topology 202. In practical applications, the number of nodes in network topology 202 should be greater.

[0077] Optional, such as Figure 4 As shown, the thick solid line represents the traffic data transmission link. Traffic generation node 201 is communicatively connected to node 1 in network topology 202, and multiple nodes in network topology 202 are interconnected. Based on these connections, traffic data can be transmitted in the data transmission link between traffic generation node 201 and multiple nodes in network topology 202.

[0078] Optional, such as Figure 4 As shown, the dashed lines represent the performance parameter transmission links. Load balancer node 203 has communication connections with each of nodes 1-6 to obtain performance parameters (including network performance parameters and device performance parameters) for each stage and to distribute the redefined links.

[0079] In some embodiments, each node in the network topology 202 is configured with a performance testing tool to detect the network performance parameters and device performance parameters of the node when transmitting traffic data.

[0080] Optionally, the performance testing tool can be an Internet Protocol bandwidth measuring tool (iperf), an Internet packet explorer (ping), a Transmission Control Protocol packet capture tool (tcpdump), or a Simple Network Management Protocol (SNMP).

[0081] In one possible implementation, for each node in the network topology 202, the corresponding performance testing tool detects the performance parameters of the node based on a preset detection strategy, and actively sends the performance parameters to the load balancing node 203 via a socket connection.

[0082] Alternatively, the node may respond to a request for performance parameters from the load balancer 203 and thus passively send performance parameters to the load balancer 203.

[0083] The following is a detailed description of load balancer node 203.

[0084] In one possible implementation, load balancer 203 is specifically used to periodically send requests for performance parameters to each node in network topology 202 via socket connections. Load balancer 203 is also specifically used to receive performance parameters from each node.

[0085] Furthermore, after obtaining the performance parameters, the optimal link for traffic data transmission is calculated using the deployed network performance automatic optimization algorithm; and an instruction message is sent to network topology 202 to instruct network topology 202 to perform load balancing on the traffic data based on the optimal link (for example, instructing network topology 202 to forward the portion of traffic data that needs to be transmitted via a different link through the optimal link).

[0086] In some embodiments, such as Figure 5 As shown, the load balancing solution based on the above load balancing system can be implemented through the following methods:

[0087] 1. Build traffic generation nodes, network topology, and load balancing nodes based on the OpenStack platform.

[0088] 2. Deploy the necessary tools at each node. This includes: deploying traffic generation software on the traffic generation node; deploying an automatic network performance optimization algorithm on the load balancing node; deploying performance testing tools on each node in the network topology; and starting the traffic generation software on the traffic generation node so that the traffic generation node can continuously generate traffic data to the network topology.

[0089] 3. Run the tools deployed on each node.

[0090] Furthermore, each node in the network topology detects performance parameters through a performance monitoring device, establishes a connection with the load balancing unit (e.g., a socket connection), and is always ready to report performance parameters. The load balancing node sends request information for performance parameters to each node in the network topology through the socket connection at preset intervals, requesting to obtain the performance parameters of each node.

[0091] 4. After obtaining the performance parameters of each node, the load balancing node determines the optimal link for network transmission based on the network performance automatic optimization algorithm, so as to balance the load rate among each node, reduce performance bottlenecks, and reduce data latency and packet loss rate.

[0092] The preset cycle can be set according to the actual application scenario, and this application does not impose any restrictions on it.

[0093] When implemented in hardware, the various modules of a load balancing system can be integrated into, for example... Figure 6 The communication device shown is implemented in hardware. Specifically, as... Figure 6 As shown, the basic hardware structure of the communication device is introduced.

[0094] Figure 6 This is a schematic diagram of the hardware structure of a communication device provided in an embodiment of this application. Figure 6As shown, the communication device includes at least one processor 601, a communication line 602, and at least one communication interface 604, and may also include a memory 603. The processor 601, memory 603, and communication interface 604 are connected via the communication line 602.

[0095] The processor 601 may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of this application, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).

[0096] Communication line 602 may include a path for transmitting information between the aforementioned components.

[0097] The communication interface 604 is used to communicate with other devices or communication networks. It can use any transceiver-like device, such as Ethernet, radio access network (RAN), wireless local area network (WLAN), etc.

[0098] The memory 603 may be a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions, random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of including or storing desired program code having the form of instructions or data structures and accessible by a computer, but not limited thereto.

[0099] In one possible design, the memory 603 can exist independently of the processor 601, meaning the memory 603 can be an external memory of the processor 601. In this case, the memory 603 can be connected to the processor 601 via a communication line 602 to store execution instructions or application code, and its execution is controlled by the processor 601 to implement the load balancing method provided in the following embodiments of this application. In another possible design, the memory 603 can also be integrated with the processor 601, meaning the memory 603 can be an internal memory of the processor 601. For example, the memory 603 can be a cache, used to temporarily store some data and instruction information.

[0100] As one possible implementation, processor 601 may include one or more CPUs, for example Figure 6 CPU0 and CPU1 in the example. As another possible implementation, the communication device may include multiple processors, such as... Figure 6 The communication device may include processors 601 and 607. As another possible implementation, the communication device may also include output device 605 and input device 606.

[0101] It should be noted that the various embodiments of this application can be referenced or learned from each other. For example, the same or similar steps, method embodiments, system embodiments and device embodiments can be referenced from each other without limitation.

[0102] Figure 7 A flowchart of a load balancing method provided in this application embodiment, which can be applied to, for example... Figure 2 In the load balancing node shown. For example... Figure 7 As shown, the method includes the following S701-S703.

[0103] S701, Obtain performance parameters when acquiring traffic data transmitted by each node in the target link.

[0104] The target link is the current data transmission link for traffic data in the network topology.

[0105] Optionally, the performance parameters may include at least one network performance parameter and / or at least one device performance parameter.

[0106] The network performance parameters include at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, rate (current rate / maximum rate), and jitter. Of course, the above is merely an illustrative description of network performance parameters; other parameters may also be included, such as the bandwidth-delay product, i.e., the maximum number of bits on the link. This application does not impose any limitations on this.

[0107] The device performance parameters include at least one of the following: processor utilization (e.g., CPU utilization) and memory utilization. Of course, the above is merely an illustrative description of device performance parameters; other parameters may include disk input / output, system average load, etc., and this application makes no limitations on this.

[0108] In one possible implementation, the S701 implementation process includes: taking the target link (i.e., the current data transmission link of the traffic data) as... Figure 4 Taking the network topology shown as Node 1-Node 2-Node 4-Node 6 as an example, obtain the performance parameters of Node 1, Node 2, Node 4, and Node 6.

[0109] Optionally, performance parameters of other nodes in the network topology besides the target link can be obtained to determine the load rate based on the data; and based on the load rate, the optimal link for transmitting traffic data can be re-determined.

[0110] S702. Determine the target business scenario corresponding to the traffic data, and based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node, determine the load rate of the node in the target business scenario.

[0111] Optionally, the performance parameter weights include the weights corresponding to network performance parameters and the weights corresponding to device performance parameters.

[0112] The weights corresponding to the network performance parameters include at least one of the following: bandwidth utilization weight, throughput weight, latency weight, packet loss rate weight, speed weight, and jitter weight. Of course, the above is merely an illustrative description of network performance parameters; the weights corresponding to network performance parameters may also include weights corresponding to other parameters, such as the bandwidth-latency product weight, and this application does not impose any restrictions on this.

[0113] The weights corresponding to device performance parameters include at least one of the following: processor utilization weight (e.g., CPU utilization weight) and memory utilization weight. Of course, the above is merely an exemplary description of the weights corresponding to device performance parameters; the weights corresponding to device performance parameters may also include disk input / output weights, system average load weights, etc., and this application does not impose any limitations on this.

[0114] In one possible implementation, the S702 implementation process may include: performing preset calculations on the performance parameters based on the performance parameter weights corresponding to the target business scenario to determine the load rate of the nodes in the target business scenario.

[0115] Optionally, the preset computation processing can be multiplication or weighted summation, etc. Of course, the preset computation processing can also be replaced by neural network processing, artificial intelligence processing, or other technologies that can process performance parameters to obtain the load rate, and this application does not impose any restrictions on this.

[0116] For example, taking the preset calculation method as a weighted summation operation, the load rate can be determined using the following formula 1.

[0117] Load rate = Bandwidth utilization * weight + Throughput * weight + Packet loss rate * weight + Latency * weight + Speed ​​* weight + Jitter * weight + CPU utilization * weight + Memory utilization * weight (Formula 1)

[0118] In one possible implementation, before S702, there is a process of determining the performance parameter weights corresponding to the target business scenario, so as to enable the processing of the node's performance parameters based on the performance parameter weights in S702, thereby obtaining the node's load rate in the target business scenario.

[0119] Specifically, the process of determining the performance parameter weights corresponding to the target business scenario is as shown in the embodiment in S801, and will not be repeated here.

[0120] S703: Based on the node load rate, perform load balancing processing on the traffic data transmitted in the target link.

[0121] In one possible implementation, the S703 process includes: determining whether a node's load rate is greater than or equal to its load threshold based on the node's load rate; if it is greater, it indicates that the node's load is too high, and problems such as stuttering, latency, and packet loss may occur when transmitting traffic data. Therefore, it is necessary to re-determine the links for transmitting traffic data in the network topology based on the data transmission requirements of the traffic data (i.e., the source and destination addresses of the traffic data); and then perform load balancing processing on the traffic data based on the re-determined links.

[0122] Specifically, the implementation process of S703 described above can be referred to the embodiments shown in S901-S903, and will not be repeated here.

[0123] Based on the above technical solution, the load balancing method provided in this application first obtains the performance parameters of each node in the target link when transmitting traffic data, and determines the target business scenario corresponding to the traffic data; based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node, the load rate of the node in the target business scenario is determined. Then, based on the node load rate, load balancing processing is performed on the traffic data transmitted in the target link. In other words, in the load balancing method provided in this application, the node load rate is obtained in conjunction with the business scenario of the traffic data, thereby enabling targeted load balancing of network traffic under different business scenarios. This solves the problem that current network load balancing solutions only use the load rate of the link or port as a judgment condition to perform overall network traffic load balancing, resulting in poor load balancing performance. This method effectively improves the load balancing effect and enhances the practicality of the load balancing solution.

[0124] As one possible embodiment of this application, combined with Figure 7 ,like Figure 8 As shown, prior to S702 above, the process of determining the performance parameter weights corresponding to the target business scenario can also be implemented through the following S801-S802.

[0125] S801, Construct a performance parameter weight table.

[0126] The performance parameter weight table includes the performance parameter weights corresponding to each business scenario.

[0127] For example, as shown in Table 1 below, the performance parameter weight table includes performance parameter weights for online streaming media scenarios, e-commerce scenarios, online communication scenarios, online gaming scenarios, IoT scenarios, online collaboration scenarios, and cloud computing scenarios. Of course, Table 1 is merely an example illustrating the performance parameter weights for various business scenarios; this application may also include performance parameters for other business scenarios, and this application does not impose any restrictions on this.

[0128] Table 1 Performance Parameter Weighting Table

[0129]

[0130] In some embodiments, the construction process of the above performance parameter weight table (Table 1) can refer to the specific description in Embodiment 1 below, and will not be repeated here.

[0131] S802. Based on the target business scenario corresponding to the traffic data, obtain the performance parameter weights corresponding to the target business scenario from the performance parameter weight table.

[0132] In one possible implementation, referring to Table 1, the implementation process of S802 includes: taking the target business scenario as an online streaming media scenario as an example, obtaining the performance parameter weights corresponding to the online streaming media scenario from the performance parameter weight table, including bandwidth utilization weight: 35%, throughput weight: 25%, packet loss rate weight: 5%, latency weight: 10%, rate weight: 15%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0133] Based on the above technical solution, and based on the target business scenario corresponding to the traffic data, the performance parameter weights corresponding to the target business scenario are obtained from the performance parameter weight table. This facilitates the subsequent processing of the node's performance parameters based on the performance parameter weights, thereby obtaining the node's load rate in the target business scenario.

[0134] As one possible embodiment of this application, combined with Figure 7 ,like Figure 9 As shown, the process of load balancing the traffic data transmitted in the target link based on the node load rate in S703 above may include the following S901-S903.

[0135] S901. Determine whether the node's load rate is greater than or equal to the node's load threshold.

[0136] Understandably, if a node's load rate is greater than or equal to its load threshold, it indicates that the node is overloaded, which can cause issues such as stuttering, packet loss, and jitter when transmitting traffic data.

[0137] S902. If it is greater than the data transmission requirement of the traffic data, the link used to transmit the traffic data shall be re-determined.

[0138] The data transmission requirements include the source address and destination address of the traffic data.

[0139] In one possible implementation, the S902 implementation process includes: determining multiple links in the network topology that meet the data transmission requirements based on the data transmission needs of traffic data; determining the load rate of each node in the multiple links based on the performance parameters of each node when transmitting traffic data and the performance parameter weights corresponding to the target business scenario; and determining the links in the multiple links used for transmitting traffic data based on the load rate of each node in the multiple links.

[0140] Among them, many links do not include the target link.

[0141] In one example, with Figure 4Taking the network topology shown as an example, if the source address of the traffic data is node 1 and the destination address is node 6, then based on the source and destination addresses of the traffic data, multiple links in the network topology that meet the data transmission requirements are determined. These multiple links include: node 1-node 2-node 5-node 6, node 1-node 3-node 4-node 6, and node 1-node 3-node 5-node 6.

[0142] Furthermore, for each node in the multiple links (including: node 1, node 2, node 3, node 4, node 5, and node 6), the load rate of the node is determined based on the performance parameters of each node and the performance parameter weights corresponding to the target business scenario.

[0143] Furthermore, based on the load rate of each node in each link, the optimal link is determined from multiple links. For example, the optimal link is the link with the lowest load rate among multiple links.

[0144] S903. Based on the redefined links, perform load balancing on the traffic data.

[0145] In one possible implementation, the S903 process includes: determining the difference between the load rate and the load threshold, and determining the target data in the traffic data based on the difference; forwarding the target data in the traffic data based on the redefined link; and forwarding data other than the target data in the traffic data based on the target link.

[0146] The target data refers to the portion of traffic data that requires a new link for transmission.

[0147] For example, consider a load rate of 61.75% and a load rate threshold of 60%. The difference between the load rate and the load rate threshold is determined, which is 1.75%. Based on this difference, a portion of the traffic data corresponding to this difference (i.e., the target data) is identified. Then, the target data in the traffic data is forwarded through the newly determined links, while another portion of the traffic data corresponding to the load threshold (i.e., data other than the target data) is forwarded through the original target links. In this way, compared to the current method of forwarding all traffic data through newly determined links, which makes load balancing impossible if the traffic data volume is too large, the above technical solution ensures that the amount of data forwarded through the newly determined links is smaller, thus improving the success rate of load balancing.

[0148] It is understandable that in the above scheme, traffic data is split and transmitted. A portion of the traffic data within the load capacity of the original target link is forwarded, and another portion of the traffic data exceeding the load capacity of the target link is forwarded through a newly determined link, thereby achieving the purpose of traffic data load balancing.

[0149] Based on the above technical solution, it is determined whether the node's load rate is greater than or equal to the node's load threshold. If it is greater, the link used to transmit the traffic data is re-determined based on the data transmission requirements. Based on the re-determined link, load balancing is performed on the traffic data. This technical solution can promptly determine whether the traffic data being transmitted by a node exceeds its own load capacity, and when the load capacity is exceeded, load balancing is performed on the node, achieving data diversion, reducing the node's load rate, improving data transmission stability, and reducing latency and packet loss rate.

[0150] As one possible embodiment of this application, such as Figure 10 As shown, the load balancing method may include the following steps 1-11.

[0151] Step 1: Construct a performance parameter weight table and assign different weights to each performance parameter under different business scenarios.

[0152] Step 2: Obtain performance data of each node in the target link when transmitting traffic data.

[0153] Step 3: Determine the target business scenario corresponding to the traffic data.

[0154] Step 4: Based on the target business scenario corresponding to the traffic data, obtain the performance parameter weights corresponding to the target business scenario from the performance parameter weight table.

[0155] Step 5: Based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node, determine the load rate of the node in the target business scenario.

[0156] Step 6: Determine whether the node's load rate is greater than or equal to the node's load threshold.

[0157] Step 7a: If it is greater than or equal to, then based on the data transmission requirements of the traffic data, redetermine the link used to transmit the traffic data.

[0158] Step 7b: If the value is less than the specified value, the process ends and load balancing is not performed.

[0159] Step 8: Based on the data transmission requirements of the traffic data, identify multiple links in the network topology that meet the data transmission requirements. These data transmission requirements include the source and destination addresses of the traffic data.

[0160] Step 9: Determine the optimal link among the multiple links based on the load rate of each node in the multiple links. That is, determine the load rate of each node in the multiple links based on the performance parameters of each node when transmitting traffic data and the performance parameter weights corresponding to the target business scenario; and determine the link used for transmitting traffic data based on the load rate of each node in the multiple links.

[0161] Step 10: Determine the difference between the load rate and the load threshold, and determine the target data in the traffic data based on the difference.

[0162] Step 11: Based on the redefined link, forward the target data in the traffic data; and based on the target link, forward the data other than the target data in the traffic data.

[0163] The present application has been briefly introduced above through simple embodiments. Below, in conjunction with a specific business scenario, the construction process of the above-mentioned performance parameter weight table (Table 1) will be described in detail through Embodiment 1; and in conjunction with a specific business scenario, the implementation process of load balancing in the present application will be exemplarily described through Embodiment 2.

[0164] Example 1:

[0165] Scenario 1: Online streaming media scenario.

[0166] In some embodiments, online streaming scenarios include video website scenarios, music website scenarios, television program scenarios, short video platform scenarios, etc. Online streaming scenarios require high bandwidth and throughput to ensure high-quality data transmission and low latency, thereby improving the user experience.

[0167] In one possible implementation, considering the characteristics of the online streaming media scenario described above, different weights are assigned to various performance parameters within the online streaming media scenario. For example, the performance parameter weights corresponding to the online streaming media scenario include: bandwidth utilization weight: 35%, throughput weight: 25%, packet loss rate weight: 5%, latency weight: 10%, speed weight: 15%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0168] Scenario 2: E-commerce scenario.

[0169] In some embodiments, e-commerce scenarios include online shopping, e-commerce platform scenarios, and online payment scenarios. E-commerce scenarios require low latency to ensure the real-time nature and accuracy of transactions. Furthermore, higher bandwidth and throughput facilitate the rapid acquisition of data (such as product data) within the e-commerce scenario.

[0170] In one possible implementation, based on the characteristics of the aforementioned e-commerce scenario, different weights are assigned to various performance parameters within the e-commerce scenario. For example, the performance parameter weights corresponding to the e-commerce scenario include: bandwidth utilization weight: 25%, throughput weight: 20%, packet loss rate weight: 10%, latency weight: 25%, speed weight: 10%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0171] Scenario 3: Online communication scenario.

[0172] In some embodiments, online communication scenarios include voice calls, video calls, etc. These scenarios require low packet loss and low latency. Low packet loss ensures the integrity of video and voice calls, while low latency ensures the real-time performance of video and voice calls. Furthermore, online communication scenarios also place certain demands on network bandwidth.

[0173] In one possible implementation, considering the characteristics of the online communication scenario described above, different weights are assigned to various performance parameters within the online communication scenario. For example, the performance parameter weights corresponding to the online communication scenario include: bandwidth utilization weight: 20%, throughput weight: 10%, packet loss rate weight: 20%, latency weight: 30%, speed weight: 10%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0174] Scenario 4: Online game scenario.

[0175] In some embodiments, online gaming scenarios include games where multiple players compete simultaneously online. These scenarios require low latency. Low latency ensures the real-time nature of game data.

[0176] In one possible implementation, considering the characteristics of the online game scenario described above, different weights are assigned to various performance parameters within the online game scenario. For example, the performance parameter weights corresponding to the online game scenario include: bandwidth utilization weight: 10%, throughput weight: 10%, packet loss rate weight: 10%, latency weight: 40%, speed weight: 15%, jitter weight: 13%, CPU utilization weight: 1%, and memory utilization weight: 1%.

[0177] Scenario 5: Internet of Things (IoT) scenario.

[0178] In some embodiments, IoT scenarios include smart home scenarios, smart car scenarios, smart factory scenarios, smart city scenarios, smart agriculture scenarios, etc. These scenarios require low latency to ensure data real-time performance; they also require high bandwidth to ensure stable transmission even with large data volumes.

[0179] In one possible implementation, different weights are assigned to various performance parameters in the IoT scenario, taking into account its characteristics. For example, the performance parameter weights corresponding to the IoT scenario include: bandwidth utilization weight: 15%, throughput weight: 15%, packet loss rate weight: 10%, latency weight: 40%, speed weight: 10%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0180] Scenario 6: Online collaboration scenario.

[0181] In some embodiments, online collaboration scenarios include remote work, online education, and online healthcare. These scenarios require low latency to ensure data real-time performance; they also require bandwidth to be within a specified range to ensure stable data transmission.

[0182] In one possible implementation, considering the characteristics of the online collaboration scenario described above, different weights are assigned to various performance parameters within the online collaboration scenario. For example, the performance parameter weights corresponding to the online collaboration scenario include: bandwidth utilization weight: 20%, throughput weight: 15%, packet loss rate weight: 10%, latency weight: 30%, speed weight: 10%, jitter weight: 10%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0183] Scenario 7: Cloud computing scenario.

[0184] In some embodiments, cloud computing scenarios include data storage scenarios, cloud backup scenarios, cloud service scenarios, and cloud storage scenarios. These scenarios require high bandwidth and throughput to support the uploading and downloading of large amounts of data.

[0185] In one possible implementation, different weights are assigned to various performance parameters in the cloud computing scenario, taking into account its characteristics. For example, the performance parameter weights corresponding to the cloud computing scenario include: bandwidth utilization weight: 40%, throughput weight: 25%, packet loss rate weight: 5%, latency weight: 5%, speed weight: 15%, jitter weight: 5%, CPU utilization weight: 2%, and memory utilization weight: 3%.

[0186] Based on the above technical solution, business scenarios are categorized, and a unique weight allocation table is customized for each scenario category. This allows for subsequent calculation of the load rate and load balancing scheme for each node within the same topology, combining the scenario allocation table with the performance parameters of each node in the network topology.

[0187] Example 2:

[0188] Given a target link consisting of node 1-node 2-node 4-node 6, where all nodes except node 2 are currently under low load, determine the performance parameters of node 2 and its load threshold.

[0189] For example, Node 2 has the following bandwidth utilization: 83%, throughput: 77%, packet loss rate: 15%, latency: 10%, speed: 60%, jitter: 10%, CPU utilization: 35%, and memory utilization: 50%. The load threshold for Node 2 is 60%.

[0190] Scenario 1: Online streaming media scenario.

[0191] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the online streaming media scenario in embodiment 1, it is determined that the load rate of node 2 in the online streaming media scenario is 61.75%, and it is determined that the load rate of node 2 is greater than the load threshold of node 2, so load balancing is required.

[0192] Furthermore, in conjunction with the embodiment shown in S703, load balancing processing is performed on the traffic data transmitted in the target link. Specifically, this includes: re-determining the link used to transmit traffic data in the network topology, determining the difference between the load rate and the load threshold (61.75% - 60% = 1.75%), and determining the target data in the traffic data based on the difference. Then, a portion of the traffic data corresponding to the difference (1.75%) (i.e., the target data) is forwarded through the re-determined link, while another portion of the traffic data corresponding to the load threshold (60%) (i.e., data other than the target data) is forwarded through the original target link, thereby reducing the load rate of node 2.

[0193] Scenario 2: E-commerce scenario.

[0194] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the e-commerce scenario in embodiment 1, the load rate of node 2 in the e-commerce scenario is determined to be 48.85%, and the load rate of node 2 is determined to be less than the load threshold of node 2, so no load balancing is required.

[0195] Scenario 3: Online communication scenario.

[0196] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the online communication scenario in embodiment 1, it is determined that the load rate of node 2 in the online communication scenario is 39.0%, and it is determined that the load rate of node 2 is less than the load threshold of node 2, so no load balancing is required.

[0197] Scenario 4: Online game scenario.

[0198] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the online game scenario in embodiment 1, the load rate of node 2 in the online game scenario is determined to be 32.65%, and the load rate of node 2 is determined to be less than the load threshold of node 2, so no load balancing is required.

[0199] Scenario 5: Internet of Things (IoT) scenario.

[0200] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the IoT scenario in embodiment 1, the load rate of node 2 in the IoT scenario is determined to be 38.2%, and the load rate of node 2 is determined to be less than the load threshold of node 2, so no load balancing is required.

[0201] Scenario 6: Online collaboration scenario.

[0202] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the online collaboration scenario in embodiment 1, it is determined that the load rate of node 2 in the online collaboration scenario is 41.85%, and it is determined that the load rate of node 2 is less than the load threshold of node 2, so no load balancing is required.

[0203] Scenario 7: Cloud computing scenario.

[0204] Based on the method for determining the load rate in the embodiment shown in S702 and the performance parameter weights corresponding to the cloud computing scenario in embodiment 1, it is determined that the load rate of node 2 in the cloud computing scenario is 65.4%, and it is determined that the load rate of node 2 is greater than the load threshold of node 2, so load balancing is required.

[0205] Furthermore, in conjunction with the embodiment shown in S703, load balancing processing is performed on the traffic data transmitted in the target link. Specifically, this includes: re-determining the link used to transmit traffic data in the network topology, determining the difference between the load rate and the load threshold (65.4% - 60% = 5.4%), and determining the target data in the traffic data based on the difference. Then, a portion of the traffic data corresponding to the difference (5.4%) (i.e., the target data) is forwarded through the re-determined link, while another portion of the traffic data corresponding to the load threshold (60%) (i.e., data other than the target data) is forwarded through the original target link, thereby reducing the load rate of node 2.

[0206] As can be seen from the above technical solutions, the load rate of a node varies under different business scenarios, therefore the load balancing strategy also differs. That is, based on the different needs of the business scenario, it is reasonable to determine whether load balancing is necessary for that node. Furthermore, when load balancing is required, a rational load balancing approach is adopted based on the node's load rate under that scenario, improving the practicality of load balancing in different scenarios.

[0207] This application embodiment can divide the load balancing device into functional modules or functional units according to the above method examples. For example, each function can be divided into its own functional modules or functional units, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module or functional unit. The module or unit division in this application embodiment is illustrative and represents only one logical functional division; other division methods may be used in actual implementation.

[0208] like Figure 11 The diagram shown is a structural schematic of a load balancing device 110 provided in an embodiment of this application. The load balancing device 110 includes a communication unit 1101 and a processing unit 1102.

[0209] The communication unit 1101 is used to acquire the performance parameters of each node in the target link when transmitting traffic data; wherein, the target link is the current data transmission link of traffic data in the network topology; the processing unit 1102 is used to determine the target service scenario corresponding to the traffic data, and determine the load rate of the node in the target service scenario based on the performance parameter weights corresponding to the target service scenario and the performance parameters of each node; the processing unit 1102 is also used to perform load balancing processing on the traffic data transmitted in the target link based on the node load rate.

[0210] In one possible implementation, the processing unit 1102 is specifically used to: perform preset calculations on the performance parameters based on the performance parameter weights corresponding to the target business scenario, and determine the load rate of the nodes in the target business scenario.

[0211] In one possible implementation, the processing unit 1102 is further configured to construct a performance parameter weight table; wherein the performance parameter weight table includes performance parameter weights corresponding to each business scenario; the communication unit 1101 is further configured to: obtain the performance parameter weights corresponding to the target business scenario from the performance parameter weight table based on the target business scenario corresponding to the traffic data.

[0212] In one possible implementation, the processing unit 1102 is specifically used to: determine whether the load rate of the node is greater than or equal to the load threshold of the node; if it is greater than, redetermine the link used to transmit the traffic data based on the data transmission requirements of the traffic data; the data transmission requirements include the source address and destination address of the traffic data; and perform load balancing processing on the traffic data based on the redetermined link.

[0213] In one possible implementation, the processing unit 1102 is specifically used for: determining multiple links in the network topology that meet the data transmission requirements of traffic data; wherein the multiple links do not include the target link; determining the load rate of each node in the multiple links based on the performance parameters of each node in the multiple links when transmitting traffic data and the performance parameter weights corresponding to the target service scenario; and determining the link in the multiple links used for transmitting traffic data based on the load rate of each node in the multiple links.

[0214] In one possible implementation, the processing unit 1102 is specifically used to: determine the difference between the load rate and the load threshold, and determine the target data in the traffic data based on the difference; the target data is the part of the traffic data that needs to be transmitted by changing the link; based on the newly determined link, forward the target data in the traffic data; based on the target link, forward the data other than the target data in the traffic data.

[0215] In one possible implementation, the performance parameters include at least one network performance parameter and / or at least one device performance parameter; wherein the network performance parameter includes at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, speed, jitter; and the device performance parameter includes at least one of the following: processor utilization, memory utilization.

[0216] The performance parameter weights include the weights corresponding to network performance parameters and the weights corresponding to device performance parameters. Among them, the weights corresponding to network performance parameters include at least one of the following: bandwidth utilization weight, throughput weight, latency weight, packet loss rate weight, speed weight, and jitter weight. The weights corresponding to device performance parameters include at least one of the following: processor utilization weight and memory utilization weight.

[0217] In one possible implementation, the load balancing device 110 may further include a storage unit 1103. Figure 11 (shown in dashed box) The storage unit 1103 stores a program or instruction. When the processing unit 1102 executes the program or instruction, the load balancing device 110 can perform the load balancing method described in the above method embodiment.

[0218] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0219] This application provides a computer program product containing instructions that, when run on a computer, cause the computer to execute the load balancing method described in the above method embodiments.

[0220] This application also provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the load balancing method in the method flow shown in the above method embodiments.

[0221] The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: electrical connections having one or more wires; portable computer disks; hard disks; random access memory (RAM); read-only memory (ROM); erasable programmable read-only memory (EPROM); registers; hard disks; optical fibers; portable compact disc read-only memory (CD-ROM); optical storage devices; magnetic storage devices; or any suitable combination thereof; or any other form of computer-readable storage medium known in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium may also be a component of the processor. The processor and the storage medium may reside in an application-specific integrated circuit (ASIC). In the embodiments of this application, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

[0222] Since the load balancing device, computer-readable storage medium, and computer program product in the embodiments of this application can be applied to the above method, the technical effects that can be obtained can also be referred to the above method embodiments. The embodiments of this application will not be repeated here.

[0223] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0224] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this disclosure can be achieved, and this is not limited herein.

[0225] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

[0226] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0227] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0228] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A load balancing method, characterized in that, The method includes: The performance parameters of each node in the target link when transmitting traffic data are obtained; wherein, the target link is the current data transmission link of the traffic data in the network topology; The target business scenario corresponding to the traffic data is determined, and the load rate of the node in the target business scenario is determined based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node. Based on the load rate of the node, load balancing is performed on the traffic data transmitted in the target link; The step of determining the load rate of the node in the target business scenario based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node includes: Based on the performance parameter weights corresponding to the target business scenario, the performance parameters are processed by a preset calculation to determine the load rate of the node in the target business scenario; Before performing preset calculations on the performance parameters to determine the load rate of the node in the target business scenario, the method further includes: Construct a performance parameter weight table; wherein, the performance parameter weight table includes the performance parameter weights corresponding to each business scenario; Based on the target business scenario corresponding to the traffic data, obtain the performance parameter weights corresponding to the target business scenario from the performance parameter weight table; The load balancing process for traffic data transmitted on the target link based on the load rate of the node includes: The difference between the load rate and the load threshold is determined, and the target data in the traffic data is determined based on the difference; the target data is the portion of the traffic data that needs to be transmitted by changing the link. Based on the redefined link, forward the target data in the traffic data; Based on the target link, forward data in the traffic data that is not the target data.

2. The method according to claim 1, characterized in that, The load balancing process for traffic data transmitted on the target link based on the load rate of the node includes: Determine whether the load rate of the node is greater than or equal to the load threshold of the node; If the value is greater than the data transmission requirement, the link used to transmit the data transmission is re-determined based on the data transmission requirement of the data transmission; the data transmission requirement includes the source address and destination address of the data transmission. Based on the redefined links, the traffic data is subjected to load balancing.

3. The method according to claim 2, characterized in that, The process of re-determining the link for transmitting the traffic data based on the data transmission requirements includes: Based on the data transmission requirements of the traffic data, multiple links in the network topology that meet the data transmission requirements are identified; wherein, the target link is not included among the multiple links. Based on the performance parameters of each node in the multiple links when transmitting the traffic data and the performance parameter weights corresponding to the target business scenario, the load rate of each node in the multiple links is determined. Based on the load rate of each node in the multiple links, the link used to transmit the traffic data is determined.

4. The method according to any one of claims 1-3, characterized in that, The performance parameters include at least one network performance parameter and / or at least one device performance parameter; wherein, the network performance parameter includes at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, speed, jitter; the device performance parameter includes at least one of the following: processor utilization, memory utilization; The performance parameter weights include the weights corresponding to the network performance parameters and the weights corresponding to the device performance parameters; wherein, the weights corresponding to the network performance parameters include at least one of the following: bandwidth utilization weight, throughput weight, latency weight, packet loss rate weight, speed weight, and jitter weight; the weights corresponding to the device performance parameters include at least one of the following: processor utilization weight and memory utilization weight.

5. A load balancing system, characterized in that, The load balancing method according to any one of claims 1-4, wherein the system includes a traffic generation node, a network topology, and a load balancing node; the network topology includes multiple nodes; the traffic generation node is connected to one or more nodes in the network topology via a communication link; and the load balancing node is connected to the multiple nodes via communication links respectively. The traffic generation node is used to generate traffic data and send the traffic data to the target node in the network topology; The network topology is used to receive the traffic data and transmit the traffic data in a target link; the target link is the current data transmission link of the traffic data in the network topology. The load balancing node is used to obtain the performance parameters of each node in the target link when transmitting the traffic data; The target business scenario corresponding to the traffic data is determined, and the load rate of the node in the target business scenario is determined based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node. Based on the load rate of the node, load balancing is performed on the traffic data transmitted in the target link.

6. A load balancing device, characterized in that, The device, applied to the load balancing method according to any one of claims 1-4, comprises a communication unit and a processing unit; The communication unit is used to acquire performance parameters of each node in the target link when transmitting traffic data; wherein, the target link is the current data transmission link of traffic data in the network topology; The processing unit is used to determine the target business scenario corresponding to the traffic data, and to determine the load rate of the node in the target business scenario based on the performance parameter weights corresponding to the target business scenario and the performance parameters of each node. The processing unit is also used to perform load balancing processing on the traffic data transmitted in the target link based on the load rate of the node.

7. A communication device, characterized in that, include: A processor and a communication interface; the communication interface is coupled to the processor, the processor being used to run computer programs or instructions to implement the load balancing method as described in any one of claims 1-4.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores instructions that, when executed by a computer, perform the load balancing method as described in any one of claims 1-4.

9. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed on a computer, cause the computer to perform the load balancing method as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Load balancing system, method and device for server cluster and storage medium

    CN112711479A

  • Load balancing information transmission method and device and storage medium

    CN117042048A