Load balancing method, system and device and storage medium

By obtaining the performance parameters of the target link node and determining the business scenario, and performing load balancing of network traffic based on the load rate, the problem of poor load balancing effect in the existing technology is solved, and a more efficient load balancing effect is achieved.

CN119814793AActive Publication Date: 2025-04-11CHINA UNITED NETWORK COMM GRP CO LTD +1
View PDF 5 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In the existing network load balancing scheme, only the load rate of the link or port is used as the judgment condition to load balancing the overall network traffic, resulting in poor load balancing effect.

Method used

By obtaining the performance parameters of each node in the target link when transmitting traffic data, determining the target business scenario corresponding to the traffic data, and determining the load rate of the node based on the performance parameter weight of the target business scenario and the performance parameters of each node. Then, based on the load rate of the node, the traffic data transmitted in the target link is load-balanced.

Benefits of technology

It realizes targeted load balancing for network traffic in different business scenarios, effectively improving the load balancing effect and improving the practicality of the load balancing solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814793A_ABST
    Figure CN119814793A_ABST
Patent Text Reader

Abstract

The invention provides a load balancing method, a load balancing system, a load balancing device and a storage medium, relates to the technical field of communication, and can solve the problem that a current network load balancing scheme is poor in load balancing effect. The method comprises the following steps: acquiring performance parameters when each node in a target link transmits traffic data; wherein the target link is a current data transmission link of the flow data in the network topology; determining a target service scene corresponding to the traffic data, and determining a load rate of the node in the target service scene based on a performance parameter weight corresponding to the target service scene and the performance parameter of each node; and carrying out load balancing processing on the traffic data transmitted in the target link based on the load rate of the node. According to the invention, load balancing can be performed on the network traffic in different service scenes in a targeted manner according to the service scenes of the traffic data, the load balancing effect is effectively improved, and the practicability of the load balancing scheme is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] With the development of network technology, users have higher and higher requirements for network quality. In order to optimize the network, operators usually build a network topology that is highly similar to the existing network environment as a simulation test platform. In this built network topology, the network is tested and analyzed to finally determine and fully verify the feasibility and effectiveness of the network optimization plan.

[0003] The current network load balancing solution proposes to use the load rate of the link or port as a judgment condition to load balance the network traffic as a whole. In actual application, network traffic is in a variety of business scenarios. If only the load rate of the link or port is used as a judgment condition to load balance the network traffic as a whole, the load balancing effect will be poor. In view of this, how to effectively improve the effect of load balancing is a problem to be solved in this field. Summary of the invention

[0004] The present 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 load balance network traffic in different business scenarios according to the business scenarios of traffic data, effectively improve the load balancing effect, and enhance the practicality of the load balancing solution.

[0005] In order to achieve the above objectives, this application adopts the following technical solutions:

[0006] In a first aspect, the present 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 the traffic data in the network topology; determining a target business scenario corresponding to the traffic data, and determining the load rate of the node in the target business scenario based on the performance parameter weight corresponding to the target business scenario and the performance parameters of each node; and performing load balancing on the traffic data transmitted in the target link based on the load rate of the node.

[0007] In combination with the first aspect above, in a possible implementation, the method further includes: performing preset calculation processing 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 combination with the first aspect above, in a possible implementation method, before performing preset calculations on the performance parameters to determine the load rate of the nodes in the target business scenario, the method also includes: constructing a performance parameter weight table; wherein the performance parameter weight table includes performance parameter weights corresponding to each business scenario; based on the target business scenario corresponding to the traffic data, obtaining the performance parameter weight corresponding to the target business scenario from the performance parameter weight table.

[0009] In combination with the first aspect above, in a possible implementation, the method also includes: determining whether the load rate of the node is greater than or equal to the load threshold of the node; if greater than, redetermining 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 on the traffic data based on the redetermined link.

[0010] In combination with the above-mentioned first aspect, in a possible implementation, the method also includes: based on the data transmission requirements of the traffic data, determining multiple links in the network topology that meet the data transmission requirements; wherein the multiple links do not include the target link; 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, determining the load rate of each node in the multiple links; based on the load rate of each node in the multiple links, determining the link in the multiple links used to transmit traffic data.

[0011] In combination with the above-mentioned first aspect, in a possible implementation, the method also 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 part of the traffic data that needs to change the link for transmission; based on the re-determined link, forwarding the target data in the traffic data; based on the target link, forwarding data other than the target data in the traffic data.

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

[0013] The performance parameter weights include weights corresponding to network performance parameters and weights corresponding to device performance parameters; wherein, 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, rate weight, jitter weight; the weights corresponding to device performance parameters include at least one of the following: processor occupancy weight, memory occupancy weight.

[0014] In a second aspect, the present 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 a communication link; and the load balancing node is connected to multiple nodes via communication links.

[0015] 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 traffic data and transmit the traffic data in the 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 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 weight 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.

[0016] In a third aspect, the present application provides a load balancing device, which includes: a communication unit and a processing unit; the communication unit is used to obtain 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 the traffic data in the network topology; the processing unit is used to determine the target business scenario corresponding to the traffic data, and based on the performance parameter weight 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; 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 combination with the third aspect above, in a possible implementation method, the processing unit is specifically used to: perform preset calculation processing on the performance parameters based on the performance parameter weights corresponding to the target business scenario, and determine the load rate of the node in the target business scenario.

[0018] In combination with the third aspect above, in a possible implementation method, the processing unit is also used 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 also used to: based on the target business scenario corresponding to the traffic data, obtain the performance parameter weight corresponding to the target business scenario from the performance parameter weight table.

[0019] In combination with the third aspect above, in a possible implementation method, 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 greater than, based on the data transmission requirements of the traffic data, redetermine the link used to transmit the traffic data; the data transmission requirements include the source address and destination address of the traffic data; based on the redetermined link, perform load balancing on the traffic data.

[0020] In combination with the third aspect above, in a possible implementation method, the processing unit is specifically used to: determine, based on the data transmission requirements of the traffic data, multiple links in the network topology that meet the data transmission requirements; wherein the multiple links do not include the target link; determine 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; determine the link in the multiple links used to transmit traffic data based on the load rate of each node in the multiple links.

[0021] In combination with the third aspect above, in a possible implementation method, 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 part of the traffic data that needs to change the link for transmission; based on the re-determined link, forward the target data in the traffic data; based on the target link, forward data other than the target data in the traffic data.

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

[0023] The performance parameter weights include weights corresponding to network performance parameters and weights corresponding to device performance parameters; wherein, 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, rate weight, jitter weight; the weights corresponding to device performance parameters include at least one of the following: processor occupancy weight, memory occupancy weight.

[0024] In a fourth aspect, the present application provides a communication device, comprising: a processor and a communication interface; the communication interface and the processor are coupled, and the processor is used to run a computer program or instructions to implement the load balancing method described in the first aspect and any possible implementation method of the first aspect.

[0025] In a fifth aspect, the present application provides a computer-readable storage medium, which stores instructions. When the instructions are executed on a terminal, the terminal executes the load balancing method described in the first aspect and any possible implementation of the first aspect.

[0026] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the load balancing method as described in the first aspect and any possible implementation manner of the first aspect.

[0027] In a seventh aspect, the present application provides a chip, comprising a processor and a communication interface, wherein the communication interface and the processor are coupled, and the processor is used to run a computer program or instructions to implement the load balancing method described in the first aspect and any possible implementation method of the first aspect.

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

[0029] It should be noted that the above computer instructions may be stored in whole or in part on a computer-readable storage medium, wherein the computer-readable storage medium may be packaged together with the processor of the device, or may be packaged separately from the processor of the device, which is not limited in this application.

[0030] The descriptions of the second to seventh aspects of the present application can refer to the detailed description of the first aspect; and the beneficial effects of the descriptions of the second to seventh aspects can refer to the beneficial effect analysis of the first aspect, which will not be repeated here.

[0031] In this application, the name of the load balancing device does not limit the device or functional module itself. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they fall within the scope of the claims of this application and their equivalent technologies.

[0032] These and other aspects of the present application will become more apparent from the following description.

[0033] The above scheme brings at least the following beneficial effects: Based on the above technical scheme, the load balancing method provided by the present 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 weight 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 load rate of the node, the traffic data transmitted in the target link is load balanced. That is to say, in the load balancing method provided by the present application, the load rate of the node is obtained in combination with the business scenario of the traffic data, and then targeted load balancing of network traffic under different business scenarios can be achieved, which can solve the problem that the current network load balancing scheme only uses the load rate of the link or port as a judgment condition to load balance the network traffic as a whole, resulting in poor load balancing effect, effectively improving the effect of load balancing and improving the practicality of the load balancing scheme. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 It is a flow chart of a network load balancing solution based on link and device status;

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

[0036] Figure 3 A schematic diagram of the architecture of another load balancing system provided in an embodiment of the present application;

[0037] Figure 4 A schematic diagram of the architecture of another load balancing system provided in an embodiment of the present application;

[0038] Figure 5 A schematic diagram of a load balancing implementation solution provided in an embodiment of the present application;

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

[0040] Figure 7 A flow chart of a load balancing method provided in an embodiment of the present application;

[0041] Figure 8 A flow chart of another load balancing method provided in an embodiment of the present application;

[0042] Fig. 9 A flow chart of another load balancing method provided in an embodiment of the present application;

[0043] Fig.10 A flow chart of another load balancing method provided in an embodiment of the present application;

[0044] Fig.11 A schematic diagram of the structure of a load balancing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0045] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0046] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

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

[0048] In addition, the terms "including" and "having" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device comprising a series of steps or units is not limited to the listed steps or units, but may optionally include other steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.

[0049] It should be noted that, in the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0050] In the description of the present application, unless otherwise specified, “plurality” means two or more.

[0051] As network technology continues to evolve, users have higher and higher requirements for network quality (e.g., network bandwidth, latency, throughput, and packet loss rate). For example, with the widespread popularity 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 environment will seriously affect user experience. Similarly, with the development of applications such as massively multiplayer online games and real-time video conferencing, strict requirements are placed on network latency and jitter. Higher latency and jitter will also seriously affect the gaming experience.

[0052] In contrast, the allocation mode of bandwidth resources in traditional network architecture is relatively fixed. When the network load gradually increases, the problem of insufficient bandwidth will easily become prominent, which will lead to frequent network congestion and significantly slow down the data transmission speed. Faced with such a situation, operators need to innovate in the design and optimization of network architecture and the methods of network transmission to accurately respond to various user needs and improve user experience.

[0053] In order to optimize the network, operators will not modify the test in the existing network environment, but usually build a network topology that is highly similar to the existing network environment as a simulation test platform. In this built network topology, the network is tested and analyzed to ultimately determine and fully verify the feasibility and effectiveness of the network optimization solution.

[0054] A network load balancing solution based on link and device status is proposed in the related art. Figure 1 As shown, the implementation steps of the program include:

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

[0056] 2. According to the established communication connection, obtain the data forwarding request data packet sent by the user end, parse the content of the data forwarding request data packet, and obtain the data forwarding request information, wherein the data forwarding request information includes the source address and destination address of the data.

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

[0058] 4. According to the established communication connection, the network status information of each network node is obtained in real time and whether the network status information is abnormal. That is, through the communication connection established with each node of the topology in step 1, the network status information of each node in the topology is obtained in real time and whether the network status information is abnormal. 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 according to the network status information, and the data flow transmission path is re-determined. That is, if the network status information obtained in step 4 is abnormal, the data flow transmission path within the topology is re-determined according to the abnormal node information and the topology information obtained in step 1.

[0060] As can be seen from the above, this solution proposes to use the load rate of the link or port as a judgment condition to perform load balancing on the entire network traffic. This solution has poor practicality and cannot perform targeted load balancing on network traffic in different business scenarios. In actual application, there are many business scenarios in which network traffic is located. If only the load rate of the link or port is used as a judgment condition to perform load balancing on the entire network traffic, there will be a problem of poor load balancing effect. In view of this, how to perform targeted load balancing on network traffic in different business scenarios and effectively improve the effect of load balancing is a problem to be solved in this field.

[0061] In addition, when the load rate of a link or port is greater than a threshold, the related technology will use the method of replacing the link or port to achieve load balancing. If the load rate is still higher than the set value after switching the link or port, load balancing cannot be effectively achieved.

[0062] When performing load balancing, the relevant technology uses the historical average remaining bandwidth of the link as reference data, and performs weighted summation processing based on the current remaining bandwidth and the link bandwidth threshold to perform load balancing. If the business scenario before the link is different from the current business scenario, using the historical average remaining bandwidth corresponding to the previous business scenario as reference data will cause lags and cannot effectively cope with sudden large-scale traffic scenarios.

[0063] In view of this, the load balancing method provided by the present 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 weight 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 load rate of the node, the traffic data transmitted in the target link is load balanced. In other words, in the load balancing method provided by the present application, the load rate of the node is obtained in combination with the business scenario of the traffic data, and then targeted load balancing of network traffic under different business scenarios can be achieved, which can solve the problem that the current network load balancing scheme only uses the load rate of the link or port as a judgment condition to load balance the network traffic as a whole, resulting in poor load balancing effect, effectively improving the effect of load balancing and improving the practicality of the load balancing scheme.

[0064] The implementation of the embodiments of the present application will be described in detail below in conjunction with the accompanying drawings.

[0065] Figure 2 The following is a schematic diagram of the architecture of a load balancing system provided in an embodiment of the present 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] The traffic generation node 201 is connected to the network topology 202 via a communication link; the network topology 202 is connected to the load balancing node 203 via a communication link.

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

[0068] Optionally, the load balancing node 203 is connected to each node in the network topology 202 through a Socket.

[0069] In a possible implementation, the traffic generation node 201 is used to generate traffic data and send the traffic data to a target node in the network topology 202. The target node is a node in the network topology 202 that has a connection relationship with the traffic generation node 201.

[0070] The network topology 202 is used to receive 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 202.

[0071] The 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 weight 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.

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

[0073] The network topology 202 is described in detail below.

[0074] In some embodiments, the network topology 202 may be a network topology built on an open source cloud computing platform (open stack). Figure 4 As shown, the network topology 202 includes multiple nodes (eg, 6 nodes). There is a connection relationship between the multiple nodes in the network topology 202.

[0075] For example, Figure 4 As shown, node 1 is communicatively connected with node 2; node 1 is communicatively connected with node 3; node 2 is communicatively connected with node 4; node 2 is communicatively connected with node 5; node 3 is communicatively connected with node 4; node 3 is communicatively connected with node 5; node 4 is communicatively connected with node 6; node 5 is communicatively connected with node 6.

[0076] It should be noted that Figure 4 The network topology 202 shown in FIG. 1 is only an exemplary introduction to the node composition, and the present application does not limit the number of nodes in the network topology 202. In actual application scenarios, the number of nodes in the network topology 202 should be greater.

[0077] Optional, such as Figure 4 As shown, the thick solid line represents the traffic data transmission link. The traffic generation node 201 is connected to the node 1 in the network topology 202, and there is a connection relationship between multiple nodes in the network topology 202. Based on the connection relationship, the traffic data can be transmitted in the data transmission link between the traffic generation node 201 and multiple nodes in the network topology 202.

[0078] Optional, such as Figure 4 As shown, the dotted line represents the performance parameter transmission link. The load balancing node 203 has a communication connection with each node in the node 1-node 6 to obtain the performance parameters of each stage (including network performance parameters and device performance parameters) and send down the re-determined link.

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

[0080] Optionally, the performance detection tool may be an internet protocol bandwidth measuring tool (iperf), an internet packet explorer (ping), a transmission control protocol data packet capture tool (tcpdump), or a simple network management protocol (SNMP).

[0081] In a possible implementation, for each node in the network topology 202, a performance detection tool corresponding to the node 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 through a socket connection.

[0082] Alternatively, the node may respond to the request information for the performance parameter from the load balancing node 203 , and then passively send the performance parameter to the load balancing node 203 .

[0083] The load balancing node 203 is described in detail below.

[0084] In a possible implementation, the load balancing node 203 is specifically used to periodically send request information for performance parameters to each node in the network topology 202 through a socket connection. The load balancing node 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 through the deployed network performance automatic optimization algorithm; and indication information is sent to the network topology 202 to instruct the network topology 202 to load balance the traffic data based on the optimal link (for example, instruct the network topology 202 to forward part of the traffic data that needs to change the link for transmission through the optimal link).

[0086] In some embodiments, Figure 5 As shown, the implementation scheme for load balancing based on the above load balancing system can be implemented as follows:

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

[0088] 2. Deploy the required tools on each node. Specifically, deploy the traffic generation software on the traffic generation node; deploy the network performance automatic optimization algorithm on the load balancing node; deploy the performance detection tool on each node in the network topology; and start the traffic generation software in 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] In addition, each node in the network topology detects performance parameters through the performance detection device, establishes a connection (e.g., a socket connection) with the load balancing unit, and is always ready to report the performance parameters. The load balancing node sends request information for performance parameters to each node in the network topology through the socket connection based on a preset period, requesting to obtain the performance parameters of each node.

[0091] 4. After the load balancing node obtains the performance parameters of each node, it determines the optimal link for network transmission based on the network performance automatic optimization algorithm to balance the load rate between each node, reduce performance bottlenecks, and reduce data delay and packet loss rate.

[0092] Among them, the preset period can be set according to the actual application scenario, and this application does not impose any restrictions on this.

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

[0094] Figure 6 The hardware structure diagram of a communication device provided in an embodiment of the present application is shown in FIG. 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, the memory 603 and the communication interface 604 may be connected via the communication line 602.

[0095] Processor 601 can be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application, such as: one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA).

[0096] The communication link 602 may include a path for transmitting information between the above-mentioned components.

[0097] The communication interface 604 is used to communicate with other devices or communication networks, and 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 types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to include or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.

[0099] In one possible design, the memory 603 can exist independently of the processor 601, that is, the memory 603 can be a memory outside the processor 601. In this case, the memory 603 can be connected to the processor 601 through the communication line 602 to store execution instructions or application code, and the processor 601 controls the execution to implement the load balancing method provided in the following embodiment of the present application. In another possible design, the memory 603 can also be integrated with the processor 601, that is, the memory 603 can be the internal memory of the processor 601. For example, the memory 603 is a high-speed cache that can be used to temporarily store some data and instruction information.

[0100] As a possible implementation, the processor 601 may include one or more CPUs, for example Figure 6 As another possible implementation, the communication device may include multiple processors, such as Figure 6 As another possible implementation, the communication apparatus may further include an output device 605 and an input device 606.

[0101] It should be pointed out that the various embodiments of the present application can learn from or refer to each other. For example, the same or similar steps, method embodiments, system embodiments and device embodiments can all refer to each other without limitation.

[0102] Figure 7 A flow chart of a load balancing method provided in an embodiment of the present application, which can be applied to Figure 2 In the load balancing node shown in Figure 1. Figure 7 As shown, the method includes the following S701-S703.

[0103] S701. Obtain performance parameters of each node in the target link when transmitting traffic data.

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

[0105] Optionally, the performance parameter includes 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, delay, packet loss rate, rate (current rate / maximum rate), and jitter. Of course, the above is only an exemplary introduction to network performance parameters. Network performance parameters may also include other parameters, such as bandwidth-delay product, that is, the maximum number of bits on the link, and this application does not limit this.

[0107] The device performance parameters include at least one of the following: processor occupancy (e.g., CPU occupancy), memory occupancy. Of course, the above is only an exemplary description of the device performance parameters, and the device performance parameters may also include disk input and output, system average load, etc., and this application does not impose any restrictions on this.

[0108] In a possible implementation, the implementation process of S701 includes: taking the target link (that is, the current data transmission link of the flow data) as Figure 4 Take the network topology shown as node 1-node 2-node 4-node 6 as an example. The performance parameters of node 1, node 2, node 4, and node 6 are obtained.

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

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

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

[0112] Among them, the weight corresponding to the network performance parameter includes at least one of the following: bandwidth utilization weight, throughput weight, delay weight, packet loss rate weight, rate weight, jitter weight. Of course, the above is only an exemplary introduction to the network performance parameters, and the weight corresponding to the network performance parameters may also include weights corresponding to other parameters, such as bandwidth-delay product weight, which is not limited in this application.

[0113] The weight corresponding to the device performance parameter includes at least one of the following: processor occupancy weight (for example, CPU occupancy weight), memory occupancy weight. Of course, the above is only an exemplary introduction to the weight corresponding to the device performance parameter. The weight corresponding to the device performance parameter may also include disk input and output weight, system average load weight, etc., and this application does not limit this.

[0114] In a possible implementation manner, the implementation process of S702 may include: performing preset operation processing on the performance parameters based on the performance parameter weights corresponding to the target business scenario, and determining the load rate of the nodes in the target business scenario.

[0115] Optionally, the preset operation processing may be a multiplication operation or a weighted sum operation, etc. Of course, the preset operation processing may also be replaced by a technology such as a neural network processing, an artificial intelligence processing, etc. that can process the performance parameters and obtain the load rate, and this application does not impose any restrictions on this.

[0116] For example, taking the preset operation process as a weighted sum operation as an example, the load rate can be determined by the following formula 1.

[0117] Load rate = bandwidth utilization * weight + throughput * weight + packet loss rate * weight + delay * weight + rate * weight + jitter * weight + CPU occupancy * weight + memory occupancy * weight Formula 1

[0118] In a possible implementation, before S702, a process of determining the performance parameter weights corresponding to the target business scenario is also included, so as to implement processing of the performance parameters of the nodes based on the performance parameter weights in S702, and then obtain the load rate of the nodes in the target business scenario.

[0119] Specifically, the process of determining the performance parameter weight corresponding to the target business scenario refers to the embodiment shown in S801, which will not be described in detail here.

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

[0121] In a possible implementation, the implementation process of S703 includes: based on the load rate of the node, determining whether the load rate of the node is greater than or equal to the load threshold of the node; if greater, it means that the load of the node is too large, and problems such as freezing, delay, and packet loss may occur when transmitting traffic data. Therefore, it is necessary to re-determine the link for transmitting traffic data in the network topology based on the data transmission requirements of the traffic data (that is, the source address and destination address of the traffic data); and then perform load balancing on the traffic data based on the re-determined link.

[0122] Specifically, for the specific implementation process of the above S703, refer to the embodiments shown in S901-S903, which will not be repeated here.

[0123] Based on the above technical solution, the load balancing method provided by the present 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 weight 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 load rate of the node, the traffic data transmitted in the target link is load balanced. That is to say, in the load balancing method provided by the present application, the load rate of the node is obtained in combination with the business scenario of the traffic data, and then targeted load balancing of network traffic under different business scenarios can be achieved, which can solve the problem that the current network load balancing solution only uses the load rate of the link or port as a judgment condition to load balance the network traffic as a whole, resulting in poor load balancing effect, effectively improving the effect of load balancing and improving the practicality of the load balancing solution.

[0124] As a possible embodiment of the present application, Figure 7 ,like Figure 8 As shown, before the above S702, 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 corresponding to online streaming scenarios, performance parameter weights corresponding to e-commerce scenarios, performance parameter weights corresponding to online communication scenarios, performance parameter weights corresponding to online game scenarios, performance parameter weights corresponding to Internet of Things scenarios, performance parameter weights corresponding to online collaboration scenarios, and performance parameter weights corresponding to cloud computing scenarios. Of course, Table 1 is only an example introduction to the performance parameter weights corresponding to various business scenarios, and the present application may also include performance parameters for other business scenarios, which is not limited by the present application.

[0128] Table 1 Performance parameter weight table

[0129]

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

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

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

[0133] Based on the above technical solution, based on the target business scenario corresponding to the traffic data, the performance parameter weight corresponding to the target business scenario is obtained from the performance parameter weight table, so that the performance parameters of the node can be processed based on the performance parameter weight, and the load rate of the node in the target business scenario can be obtained.

[0134] As a possible embodiment of the present application, Figure 7 ,like Fig. 9 As shown, the implementation process of performing load balancing processing on the traffic data transmitted in the target link based on the load rate of the node in the above S703 may include the following S901-S903.

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

[0136] It is understandable that if the load rate of a node is greater than or equal to the load threshold of the node, it means that the load of the node is too large, and jamming, packet loss, jitter, etc. may occur when transmitting traffic data.

[0137] S902: If it is greater than, re-determine the link for transmitting the traffic data based on the data transmission demand of the traffic data.

[0138] Among them, the data transmission requirements include the source address and destination address of the traffic data.

[0139] In one possible implementation, the implementation process of S902 includes: based on the data transmission requirements of the traffic data, determining multiple links in the network topology that meet the data transmission requirements; 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, determining the load rate of each node in the multiple links; based on the load rate of each node in the multiple links, determining the link in the multiple links used to transmit traffic data.

[0140] The multiple links do not include the target link.

[0141] In one example, Figure 4Take 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 address and destination address of the traffic data, multiple links that meet the data transmission requirements in the network topology are determined, and the multiple links include: node 1-node 2-node 5-node 6, node 1-node 3-node 4-node 6, 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, node 6), the load rate of the node is determined according to the performance parameters of each node and the performance parameter weight corresponding to the target business scenario.

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

[0144] S903: Based on the re-determined link, load balancing processing is performed on the traffic data.

[0145] In one possible implementation, the implementation process of S903 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 re-determined link; and forwarding data other than the target data in the traffic data based on the target link.

[0146] The target data is part of the traffic data that needs to change the link for transmission.

[0147] Exemplarily, take the load rate as 61.75% and the load rate threshold as 60%. Determine the difference between the load rate and the load rate threshold, that is, 1.75%. Based on the difference, determine a portion of the data in the flow data corresponding to the difference (that is, the target data). Then, forward the target data in the flow data through the re-determined link, and forward the other portion of the data corresponding to the load threshold (that is, the data other than the target data in the flow data) through the original target link. In this way, compared to the current forwarding of all flow data through the re-determined link, if the amount of flow data is too large, there is no way to load balance the flow data. The above technical solution can ensure that the amount of data forwarded by the re-determined link is small, thereby improving the success rate of load balancing.

[0148] It can be understood that in the above scheme, the traffic data is diverted and transmitted, and a part of the traffic data within the target link load capacity is forwarded through the original target link, and another part of the traffic data exceeding the target link load capacity is forwarded through the re-determined link, thereby achieving the purpose of load balancing of the traffic data.

[0149] Based on the above technical solution, determine whether the load rate of the node is greater than or equal to the load threshold of the node. If greater than, then based on the data transmission requirements of the traffic data, redetermine the link used to transmit the traffic data. Based on the redetermined link, load balancing is performed on the traffic data. The above technical solution can promptly determine whether the traffic data carried and transmitted by the node exceeds its own load capacity, and perform load balancing on the node when it exceeds the load capacity, thereby realizing data diversion, reducing the load rate of the node, improving the stability of data transmission, and reducing latency and packet loss rate.

[0150] As a possible embodiment of the present application, Fig.10 As shown, the load balancing method may include the following steps 1-11.

[0151] Step 1: Build a performance parameter weight table and assign different weights to each performance parameter in 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 weight corresponding to the target business scenario from the performance parameter weight table.

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

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

[0157] Step 7a: If it is greater than or equal to, then based on the data transmission requirements of the traffic data, re-determine the link for transmitting the traffic data.

[0158] Step 7b: If it is less than, then end without performing load balancing.

[0159] Step 8: Based on the data transmission requirements of the traffic data, multiple links that meet the data transmission requirements are determined in the network topology, wherein the data transmission requirements include the source address and the destination address 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 in the multiple links when transmitting traffic data and the performance parameter weights corresponding to the target business scenario; determine the link for transmitting traffic data among the multiple links 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: forward the target data in the traffic data based on the re-determined link; and forward the data other than the target data in the traffic data based on the target link.

[0163] Above, the present application is briefly introduced through a simple example description. Below, in combination with a specific business scenario, the construction process of the above-mentioned performance parameter weight table (Table 1) is described in detail through Example 1; in combination with a specific business scenario, the implementation process of load balancing in the present application is exemplarily introduced through Example 2.

[0164] Embodiment 1:

[0165] Scenario 1: Online streaming scenario.

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

[0167] In a possible implementation, different weights are assigned to various performance parameters in the online streaming scenario in combination with the characteristics of the above-mentioned online streaming scenario. For example, the performance parameter weights corresponding to the online streaming scenario include bandwidth utilization weight: 35%, throughput weight: 25%, packet loss rate weight: 5%, delay weight: 10%, rate weight: 15%, jitter weight: 5%, CPU occupancy weight: 2%, and memory occupancy weight: 3%.

[0168] Scenario 2: E-commerce scenario.

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

[0170] In a possible implementation, different weights are assigned to various performance parameters in the e-commerce scenario in combination with the characteristics of the above 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 weight: 10%, delay weight: 25%, rate weight: 10%, jitter weight: 5%, CPU occupancy weight: 2%, and memory occupancy weight: 3%.

[0171] Scenario 3: Online communication scenario.

[0172] In some embodiments, online communication scenarios include voice call scenarios, video call scenarios, etc. This scenario requires low packet loss rate and low latency. Among them, low packet loss rate can ensure the integrity of video calls and voice calls, and low latency can ensure the real-time nature of video calls or voice calls. In addition, online communication scenarios also have certain requirements for network bandwidth.

[0173] In a possible implementation, different weights are assigned to various performance parameters in the online communication scenario in combination with the characteristics of the above-mentioned 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%, delay weight: 30%, rate weight: 10%, jitter weight: 5%, CPU occupancy weight: 2%, and memory occupancy weight: 3%.

[0174] Scenario 4: Online gaming scenario.

[0175] In some embodiments, online game scenarios include game scenarios where multiple people are online at the same time and compete on the same stage, etc. This scenario requires low latency, which can ensure the real-time nature of game data.

[0176] In a possible implementation, different weights are assigned to various performance parameters in the online game scenario in combination with the characteristics of the above-mentioned 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%, delay weight: 40%, rate weight: 15%, jitter weight: 13%, CPU occupancy weight: 1%, and memory occupancy weight: 1%.

[0177] Scenario 5: Internet of Things scenario.

[0178] In some embodiments, the IoT scenarios include smart home scenarios, smart car scenarios, smart factory scenarios, smart city scenarios, smart agriculture scenarios, etc. This scenario requires low latency to ensure the real-time nature of data; this scenario also requires high bandwidth to ensure stable transmission when the amount of data is large.

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

[0180] Scenario 6: Online collaboration scenario.

[0181] In some embodiments, online collaboration scenarios include remote office scenarios, online education scenarios, online medical scenarios, etc. This scenario requires low latency to ensure the real-time nature of data; this scenario requires the bandwidth to be within the interval to ensure that data can be transmitted stably.

[0182] In a possible implementation, different weights are assigned to various performance parameters in the online collaboration scenario in combination with the characteristics of the above-mentioned 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%, delay weight: 30%, rate weight: 10%, jitter weight: 10%, CPU occupancy weight: 2%, and memory occupancy 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, cloud network disk scenarios, etc. This scenario requires high bandwidth and throughput to support the upload and download of large amounts of data when the amount of data is large.

[0185] In a possible implementation, different weights are assigned to various performance parameters in the cloud computing scenario in combination with the characteristics of the above cloud computing scenario. 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%, delay weight: 5%, rate weight: 15%, jitter weight: 5%, CPU occupancy weight: 2%, and memory occupancy weight: 3%.

[0186] Based on the above technical solutions, business scenarios are classified, and unique weight allocation tables are customized according to the characteristics of each business scenario class. Then, the load rate and load balancing solution of each node in the same topology for different scenarios can be calculated by combining the scenario allocation table and the performance parameters of each node in the network topology.

[0187] Embodiment 2:

[0188] The target link is node 1-node 2-node 4-node 6, and currently, except for node 2, all other nodes are underloaded. Determine various performance parameters of node 2 and the load threshold of node 2.

[0189] For example, the bandwidth utilization of node 2 is 83%, throughput is 77%, packet loss rate is 15%, delay is 10%, rate is 60%, jitter is 10%, CPU occupancy is 35%, and memory occupancy is 50%. The load threshold of node 2 is 60%.

[0190] Scenario 1: Online streaming 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 scenario in Embodiment 1, it is determined that the load rate of node 2 in the online streaming scenario is 61.75%, and it is determined that the load rate of node 2 is greater than the load threshold of node 2, and load balancing is required.

[0192] Furthermore, in combination with the embodiment shown in S703, the flow data transmitted in the target link is subjected to load balancing. Specifically, it includes: re-determining the link used to transmit the flow data in the network topology, and determining the difference between the load rate and the load threshold (61.75%-60%=1.75%), and determining the target data in the flow data based on the difference. Furthermore, a part of the data (i.e., the target data) corresponding to the difference (1.75%) in the flow data is forwarded through the re-determined link, and another part of the data (i.e., the data other than the target data in the flow data) corresponding to the load threshold (60%) is forwarded through the original target link, so as to reduce 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, it is determined that the load rate of node 2 in the e-commerce scenario is 48.85%, and it is determined that the load rate of node 2 is less than the load threshold of node 2, and 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, and no load balancing is required.

[0197] Scenario 4: Online gaming 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, it is determined that the load rate of node 2 in the online game scenario is 32.65%, and it is determined that the load rate of node 2 is less than the load threshold of node 2, and no load balancing is required.

[0199] Scenario 5: Internet of Things 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 Internet of Things scenario in Embodiment 1, it is determined that the load rate of node 2 in the Internet of Things scenario is 38.2%, and it is determined that the load rate of node 2 is less than the load threshold of node 2, and 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, and 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, and load balancing is required.

[0205] Furthermore, in combination with the embodiment shown in S703, the flow data transmitted in the target link is subjected to load balancing. Specifically, it includes: re-determining the link used to transmit the flow data in the network topology, and determining the difference between the load rate and the load threshold (65.4%-60%=5.4%), and determining the target data in the flow data based on the difference. Furthermore, a part of the data (i.e., the target data) corresponding to the difference (5.4%) in the flow data is forwarded through the re-determined link, and another part of the data (i.e., the data other than the target data in the flow data) corresponding to the load threshold (60%) is forwarded through the original target link, so as to reduce the load rate of node 2.

[0206] Based on the above technical solution, it can be seen that the load rate of a node in different business scenarios is different, so the load balancing strategy is also different. That is, based on the different needs of the business scenarios, it is reasonable to determine whether the node needs to be load balanced. And, if load balancing is required, reasonable load balancing is performed based on the load rate of the node in the scenario, thereby improving the practicality of load balancing in different scenarios.

[0207] The embodiment of the present application can divide the load balancing device into functional modules or functional units according to the above method example. For example, each functional module or functional unit can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules or functional units. Among them, the division of modules or units in the embodiment of the present application is schematic, which is only a logical functional division. There may be other division methods in actual implementation.

[0208] like Fig.11 , which is a schematic diagram of the structure of a load balancing device 110 provided in an embodiment of the present application, the load balancing device 110 includes: a communication unit 1101 and a processing unit 1102 .

[0209] The communication unit 1101 is used to obtain 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 the traffic data in the network topology; the processing unit 1102 is used to determine the target business scenario corresponding to the traffic data, and based on the performance parameter weight 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; the processing unit 1102 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.

[0210] In a possible implementation, the processing unit 1102 is specifically configured to: perform preset calculation processing on the performance parameter based on the performance parameter weight corresponding to the target business scenario, and determine the load rate of the node in the target business scenario.

[0211] In one possible implementation, the processing unit 1102 is also used 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 also used to: based on the target business scenario corresponding to the traffic data, obtain the performance parameter weight corresponding to the target business scenario from the performance parameter weight table.

[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 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; based on the redetermined link, perform load balancing on the traffic data.

[0213] In one possible implementation, the processing unit 1102 is specifically used to: determine, based on the data transmission requirements of the traffic data, multiple links in the network topology that meet the data transmission requirements; wherein the multiple links do not include the target link; determine, 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, the load rate of each node in the multiple links; and determine, based on the load rate of each node in the multiple links, the link used to transmit the traffic data.

[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 part of the traffic data that needs to change the link for transmission; based on the re-determined link, forward the target data in the traffic data; based on the target link, forward 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 parameters include at least one of the following: bandwidth utilization, throughput, latency, packet loss rate, rate, and jitter; and the device performance parameters include at least one of the following: processor occupancy and memory occupancy.

[0216] The performance parameter weights include weights corresponding to network performance parameters and weights corresponding to device performance parameters; wherein, 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, rate weight, jitter weight; the weights corresponding to device performance parameters include at least one of the following: processor occupancy weight, memory occupancy weight.

[0217] In a possible implementation, the load balancing device 110 may further include a storage unit 1103 ( Fig.11 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 execute the load balancing method described in the above method embodiment.

[0218] Through the description of the above implementation methods, technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, 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 system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0219] An embodiment of the present application provides a computer program product including instructions. When the computer program product is run on a computer, the computer is enabled to execute the load balancing method in the above method embodiment.

[0220] An embodiment of the present application also provides a computer-readable storage medium, in which instructions are stored. When the instructions are executed on a computer, the computer executes the load balancing method in the method flow shown in the above method embodiment.

[0221] Among them, the computer readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a register, a hard disk, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above, or any other form of computer readable storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application-specific integrated circuit (ASIC). In the embodiments of the present application, a computer-readable storage medium may be any tangible medium that contains or stores a program, which may 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 the present application can be applied to the above method, the technical effects that can be obtained can also refer to the above method embodiments, and the embodiments of the present application will not be repeated here.

[0223] In the several embodiments provided in the present 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 only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

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

[0225] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.

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

[0227] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0228] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A load balancing method, characterized in that: The method comprises: Acquire performance parameters of each node in the target link when transmitting flow data; wherein the target link is a current data transmission link of the flow data in the network topology; Determine a target business scenario corresponding to the traffic data, and determine a load rate of the node in the target business scenario based on a performance parameter weight corresponding to the target business scenario and a performance parameter of each node; Based on the load rate of the node, load balancing processing is performed on the traffic data transmitted in the target link.

2. The method according to claim 1, characterized in that: The determining, based on the performance parameter weight corresponding to the target business scenario and the performance parameter of each node, the load rate of the node in the target business scenario includes: Based on the performance parameter weight corresponding to the target business scenario, a preset operation process is performed on the performance parameter to determine the load rate of the node in the target business scenario.

3. The method according to claim 2, characterized in that Before performing a preset operation process on the performance parameter to determine the load rate of the node in the target service scenario, the method further includes: Constructing a performance parameter weight table; wherein the performance parameter weight table includes performance parameter weights corresponding to each business scenario; Based on the target business scenario corresponding to the traffic data, the performance parameter weight corresponding to the target business scenario is obtained from the performance parameter weight table.

4. The method according to claim 1, characterized in that: The performing load balancing processing on the traffic data transmitted in the target link based on the load rate of the node includes: Determining whether the load rate of the node is greater than or equal to the load threshold of the node; If it is greater than, re-determining the link for transmitting the flow data based on the data transmission requirement of the flow data; the data transmission requirement includes the source address and the destination address of the flow data; Based on the re-determined link, load balancing processing is performed on the traffic data.

5. The method according to claim 4, characterized in that The re-determining a link for transmitting the flow data based on the data transmission requirement of the flow data includes: Based on the data transmission requirements of the traffic data, determining multiple links in the network topology that meet the data transmission requirements; wherein the multiple links do not include the target link; Determining a load rate of each node in the multiple links based on a performance parameter of each node in the multiple links when transmitting the traffic data and a weight of the performance parameter corresponding to the target service scenario; Based on the load rate of each node in the multiple links, a link in the multiple links for transmitting the traffic data is determined.

6. The method according to claim 4, characterized in that The performing load balancing processing on the traffic data based on the re-determined link includes: Determine a difference between the load rate and the load threshold, and determine target data in the flow data based on the difference; the target data is part of the flow data that needs to change the link for transmission; forwarding the target data in the traffic data based on the re-determined link; Based on the target link, data other than the target data in the traffic data is forwarded.

7. The method according to any one of claims 1 to 6, 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, rate, jitter; the device performance parameter includes at least one of the following: processor occupancy rate, memory occupancy rate; The performance parameter weights include weights corresponding to the network performance parameters and 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, rate weight, jitter weight; the weights corresponding to the device performance parameters include at least one of the following: processor occupancy weight, memory occupancy weight.

8. A load balancing system, characterized in that: 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 through a communication link; the load balancing node is connected to the multiple nodes respectively through a communication link; The traffic generation node is used to generate traffic data and send the traffic data to a target node in the network topology; The network topology is used to receive the flow data and transmit the flow data in a target link; the target link is a current data transmission link of the flow 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 flow data; Determine a target business scenario corresponding to the traffic data, and determine a load rate of the node in the target business scenario based on the performance parameter weight corresponding to the target business scenario and the performance parameter of each node; Based on the load rate of the node, load balancing processing is performed on the traffic data transmitted in the target link.

9. A load balancing device, characterized in that: The device comprises a communication unit and a processing unit; The communication unit is used to obtain the performance parameters of each node in the target link when transmitting flow data; wherein the target link is the current data transmission link of the flow data in the network topology; The processing unit is used to determine a target business scenario corresponding to the traffic data, and determine a load rate of the node in the target business scenario based on the performance parameter weight corresponding to the target business scenario and the performance parameter of each node; The processing unit is further configured to perform load balancing processing on the flow data transmitted in the target link based on the load rate of the node.

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

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions. When a computer executes the instructions, the computer executes the load balancing method according to any one of claims 1 to 7.

12. A computer program product, characterized in that The computer program product comprises computer instructions, and when the computer instructions are executed on a computer, the computer is caused to execute the load balancing method according to any one of claims 1 to 7.

Citation Information

Patent Citations

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

    CN112711479A

  • Load balancing method and device, electronic equipment and computer readable storage medium

    CN116708450A

  • Load balancing information transmission method and device and storage medium

    CN117042048A

  • System and method for supporting efficient load-balancing in a high performance computing (HPC) environment

    US20160014049A1

  • Load balancing method, apparatus, device, storage medium and computer program

    WO2024187893A1