Load balancing method and device, electronic equipment and storage medium

By monitoring the status of network nodes and links in real time, determining the transmission path and combining the actual situation of the network, the problem of uneven distribution of network resources during data transmission in traditional technology is solved, and load balancing is achieved during data transmission.

CN119629177APending Publication Date: 2025-03-14CHINA UNITED NETWORK COMM GRP CO LTD

Patent Information

Application Number
CN202411732062.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The prior art cannot effectively allocate data flows according to the actual transmission capabilities of the link during data transmission, resulting in waste of network resources or network congestion.

Method used

By obtaining and monitoring the operating status of nodes and links in the network in real time, determining the transmission path, combining the source/destination address of the data and the current network status, avoiding allocation of data to nodes or links with mismatched transmission capabilities.

Benefits of technology

It realizes load balancing of network resources during data transmission, avoiding network congestion and resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119629177A_ABST
    Figure CN119629177A_ABST
Patent Text Reader

Abstract

The invention provides a load balancing method and device, electronic equipment and a storage medium, relates to the technical field of network transmission, and can solve the problem of non-uniform distribution of network resources during data transmission. The method comprises the steps that the operation state of nodes and the operation state of links in a target network are acquired, the nodes comprise a local node and a remote node, and the links are links between the nodes; based on the address information of the target data, the operation state of the node and the operation state of the link, a target transmission path is determined, and the target transmission path at least comprises a local node and at least one far-end node; and sending the target transmission path to each node in the target transmission path so as to transmit the target data according to the target transmission path. According to the invention, load balancing of network resources can be realized during data transmission.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] With the development of artificial intelligence, automation technology has gradually become popular in various fields. Through automation technology, data can be automatically routed and transmitted between multiple devices or servers to ensure the synchronization of each device or server.

[0003] In the related art, since there can be multiple links between two servers, when transmitting data between the two servers, one or more links need to be selected from the multiple links for transmission. The traditional routing solution is to distribute the data to be transmitted to different links for transmission in the form of different data streams. However, this method of allocating data streams cannot allocate data streams of corresponding sizes according to the actual transmission capacity of the links, which may cause network resource waste or network congestion.

[0004] Therefore, how to achieve load balancing of network resources is a problem that needs to be solved urgently in the current allocation of network resources. Summary of the invention

[0005] The present application provides a load balancing method, device, electronic device and storage medium, which can solve the problem of uneven distribution of network resources during data transmission.

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

[0007] In a first aspect, the present application provides a load balancing method, which includes: obtaining the operating status of nodes and the operating status of links in a target network, the nodes include local nodes and remote nodes, and the links are links between nodes; based on the address information of the target data, the operating status of the nodes, and the operating status of the links, determining the target transmission path, the target transmission path includes at least a local node and at least one of the remote nodes; sending the target transmission path to each node in the target transmission path to transmit the target data according to the target transmission path.

[0008] The load balancing method provided in the embodiment of the present application obtains and monitors the operating status of nodes and links in the network in real time to promptly discover potential congestion points in the network. When determining the target transmission path for transmitting the target data, it not only considers the source / destination address of the data, but also combines the actual status of the current network to avoid allocating data to nodes or links with mismatched transmission capabilities (such as overloaded), causing network congestion or waste of network resources, thereby achieving load balancing of network resources during data transmission.

[0009] In combination with the above-mentioned first aspect, in a possible implementation method, the operating status of the above-mentioned node includes the port utilization of the node and the fault information of the node, the fault information of the node is used to characterize the node failure or the node is normal, and the operating status of the link is used to characterize the link failure or the link is normal.

[0010] In combination with the first aspect above, in a possible implementation method, the above-mentioned acquisition of the operating status of the nodes and the operating status of the links in the target network includes: parsing the target network through a software-defined network SDN controller to obtain all the nodes in the target network and the links between the nodes; based on telemetry technology, collecting the port utilization and fault information of each node, and collecting the fault information of each link.

[0011] In combination with the first aspect above, in a possible implementation method, the above-mentioned determination of the target transmission path based on the address information of the target data, the operating status of the node, and the operating status of the link includes: determining multiple transmission paths from the target network according to the address information, the starting node of each transmission path in the multiple transmission paths is the sending node indicated by the address information, and the ending node is the destination node indicated by the address information; based on the operating status of the node, and the operating status of the link, determining the target transmission path from the multiple transmission paths, the target transmission path being the transmission path with the highest transmission probability among the multiple transmission paths.

[0012] In combination with the above-mentioned first aspect, in a possible implementation method, the above-mentioned determining a target transmission path from multiple transmission paths based on the operating status of the node and the operating status of the link includes: for each transmission path in the multiple transmission paths: determining a fault parameter according to the port utilization of the node and / or the fault information of the link, the fault parameter is used to characterize the node and / or link failure; or, the node and / or the link is normal; determining a local congestion parameter according to the port utilization of the local node, the local congestion parameter is used to indicate the probability of each port of the local node outputting data; determining a remote congestion parameter according to the operating status of the remote node and / or the operating status of the link, the remote congestion parameter is used to indicate the probability of each port of the remote node outputting data; determining the transmission probability of the transmission path according to the fault parameter, the local congestion parameter and the remote congestion parameter; determining the transmission path with the largest transmission probability among the multiple transmission paths as the target transmission path.

[0013] In combination with the above-mentioned first aspect, in a possible implementation method, the above-mentioned determination of fault parameters based on the port utilization of the node and / or the fault information of the link includes: when the port utilization of the node is greater than or equal to the first utilization, and / or the fault information of the link represents a link failure, determining a first fault parameter, and the first fault parameter is used to represent the node and / or link failure; or, when the port utilization of the node is less than the first utilization, and / or the fault information of the link represents that the link is normal, determining a second fault parameter, and the second fault parameter is used to represent that the node and / or link is normal.

[0014] In combination with the above-mentioned first aspect, in a possible implementation manner, the above-mentioned determining the local congestion parameter according to the port utilization of the local node includes: when the port utilization of the local node is greater than or equal to the first utilization, determining the first local congestion parameter, and the first local congestion parameter indicates that the probability of the port outputting data is 0; or, when the port utilization of the local node is less than the first utilization and greater than or equal to the second utilization, determining the second local congestion parameter, and the second local congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or, when the port utilization of the local node is less than the second utilization, determining the third local congestion parameter, and the third local congestion parameter indicates that the probability of the port outputting data is 1.

[0015] In combination with the above-mentioned first aspect, in a possible implementation manner, the above-mentioned determining the remote congestion parameter according to the operating status of the remote node and / or the operating status of the link includes: when the port utilization of the remote node is greater than or equal to the first utilization, and / or the fault information of the remote node represents a remote node fault, and / or the fault information of the link represents a link fault, determining the first remote congestion parameter, the first remote congestion parameter being used to indicate that the probability of the port outputting data is 0; or, when the port utilization of the remote node is less than the first utilization and greater than or equal to the second utilization, determining the second remote congestion parameter, the second remote congestion parameter indicating that the probability of the port outputting data is greater than 0 and less than 1; or, when the port utilization of the remote node is less than the second utilization, determining the third remote congestion parameter, the third remote congestion parameter indicating that the probability of the port outputting data is 1.

[0016] In a second aspect, the present application provides a load balancing device, which includes: an acquisition unit, a determination unit and a processing unit, wherein: the acquisition unit is used to acquire the operating status of nodes and the operating status of links in the target network, the nodes include local nodes and remote nodes, and the links are links between nodes; the determination unit is used to determine the target transmission path based on the address information of the target data, the operating status of the nodes, and the operating status of the links, the target transmission path includes at least a local node and at least one remote node; the processing unit is used to send the target transmission path to each node in the target transmission path to transmit the target data according to the target transmission path.

[0017] In combination with the above-mentioned second aspect, in a possible implementation method, the operating status of the above-mentioned node includes the port utilization of the node and the fault information of the node, the fault information of the node is used to characterize the node failure or the node is normal, and the operating status of the link is used to characterize the link failure or the link is normal.

[0018] In combination with the above-mentioned second aspect, in a possible implementation method, the acquisition unit is specifically used to: parse the target network through the software-defined network SDN controller to obtain all nodes in the target network and the links between the nodes; based on telemetry technology, collect the port utilization and fault information of each node, and collect the fault information of each link.

[0019] In combination with the above-mentioned second aspect, in a possible implementation method, the determination unit is specifically used to determine multiple transmission paths from the target network based on the address information, the starting node of each transmission path in the multiple transmission paths is the sending node indicated by the address information, and the ending node is the destination node indicated by the address information; based on the operating status of the node and the operating status of the link, the target transmission path is determined from the multiple transmission paths, and the target transmission path is the transmission path with the highest transmission probability among the multiple transmission paths.

[0020] In combination with the above-mentioned second aspect, in a possible implementation method, the determination unit is specifically used to: for each transmission path among the multiple transmission paths: determine a fault parameter according to the port utilization of the node and / or the fault information of the link, and the fault parameter is used to characterize the node and / or link failure; or, the node and / or link is normal; determine a local congestion parameter according to the port utilization of the local node, and the local congestion parameter is used to indicate the probability of each port of the local node outputting data; determine a remote congestion parameter according to the operating status of the remote node and / or the operating status of the link, and the remote congestion parameter is used to indicate the probability of each port of the remote node outputting data; determine the transmission probability of the transmission path according to the fault parameter, the local congestion parameter and the remote congestion parameter; determine the transmission path with the largest transmission probability among the multiple transmission paths as the target transmission path.

[0021] In combination with the above-mentioned second aspect, in a possible implementation method, the determination unit is specifically used to: when the port utilization of the node is greater than or equal to the first utilization, and / or the fault information of the link represents a link failure, determine a first fault parameter, and the first fault parameter is used to represent the node and / or link failure; or, when the port utilization of the node is less than the first utilization, and / or the fault information of the link represents that the link is normal, determine a second fault parameter, and the second fault parameter is used to represent that the node and / or link is normal.

[0022] In combination with the above-mentioned second aspect, in a possible implementation manner, the determination unit is specifically used to: when the port utilization of the local node is greater than or equal to the first utilization, determine a first local congestion parameter, and the first local congestion parameter indicates that the probability of the port outputting data is 0; or, when the port utilization of the local node is less than the first utilization and greater than or equal to the second utilization, determine a second local congestion parameter, and the second local congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or, when the port utilization of the local node is less than the second utilization, determine a third local congestion parameter, and the third local congestion parameter indicates that the probability of the port outputting data is 1.

[0023] In combination with the above-mentioned second aspect, in a possible implementation manner, the determination unit is specifically used to: when the port utilization of the remote node is greater than or equal to the first utilization, and / or the fault information of the remote node represents a remote node fault, and / or the fault information of the link represents a link fault, determine a first remote congestion parameter, and the first remote congestion parameter is used to indicate that the probability of the port outputting data is 0; or, when the port utilization of the remote node is less than the first utilization and greater than or equal to the second utilization, determine a second remote congestion parameter, and the second remote congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or, when the port utilization of the remote node is less than the second utilization, determine a third remote congestion parameter, and the third remote congestion parameter indicates that the probability of the port outputting data is 1.

[0024] In a third aspect, the present application provides an electronic 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 fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program or instructions. When the computer program or instructions are run on an electronic device, the electronic device executes the load balancing method described in the first aspect and any possible implementation of the first aspect.

[0026] In a fifth aspect, the present application provides a computer program product comprising a computer program or instructions. When the computer program product runs on an electronic device, the electronic device executes the load balancing method described in the first aspect and any possible implementation of the first aspect.

[0027] In a sixth aspect, the present application provides a chip, the chip 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.

[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-mentioned computer program or instruction 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] In a seventh aspect, the present application provides a load balancing system, comprising: a load balancing device and a data server, wherein the load balancing device is used to execute the load balancing method described in the first aspect and any possible implementation of the first aspect.

[0031] 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.

[0032] 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.

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

[0034] 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 obtains and monitors the operating status of nodes and links in the network in real time to promptly discover potential congestion points in the network, and when determining the target transmission path for transmitting the target data, not only the source / destination address of the data is considered, but also the actual status of the current network is combined to avoid allocating data to nodes or links with mismatched transmission capabilities (such as overloaded), causing network congestion or waste of network resources, thereby being able to achieve load balancing of network resources during data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 A network topology diagram provided in the related technology;

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

[0037] Figure 3 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application;

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

[0039] Figure 5 A network topology diagram applied to a load balancing method provided in an embodiment of the present application;

[0040] Figure 6 A schematic diagram of the structure of a load balancing device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0041] 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.

[0042] 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.

[0043] 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.

[0044] 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.

[0045] 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.

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

[0047] Artificial intelligence is a strategic technology that will lead the future. The Intelligent Computing Center is a new type of public computing infrastructure that is based on the latest artificial intelligence theory and uses artificial intelligence computing architecture to provide computing services, data services, and algorithm services required for artificial intelligence applications.

[0048] At present, in traditional general data center clusters, the network data model is dominated by a large number of typical small flows with strong burstiness, and the characteristics presented in the network are relatively balanced distribution. In large model training networks, remote direct memory access (RDMA) is commonly used and it is a large bandwidth scenario. The overall characteristics of the data are dominated by a small number of elephant flows, and there is a significant synchronization effect between flows, which places high requirements on the latency and jitter of the intelligent computing center network.

[0049] In the related art, in order to ensure the latency and jitter of the intelligent computing center network, a flow-based equal-cost multipath routing (ECMP) solution is usually used to reasonably share the load on multiple paths between servers in the intelligent computing center network.

[0050] like Figure 1 1 is a network topology diagram provided in the related art. The network 100 includes a first core switch 101, a second core switch 102, a first layer 2 switch 103, a second layer 2 switch 104, a third layer 2 switch 105, a first server 106, a second server 107, a third server 108, a fourth server 109, a fifth server 110, and a sixth server 111.

[0051] The first core switch 101 is connected to the first layer 2 switch 103 , the second layer 2 switch 104 , and the third layer 2 switch 105 , respectively, and the second core switch 102 is connected to the first layer 2 switch 103 , the second layer 2 switch 104 , and the third layer 2 switch 105 , respectively.

[0052] The first layer 2 switch 103 is connected to the first server 106 and the second server 107 respectively, the second layer 2 switch 104 is connected to the third server 108 and the fourth server 109 respectively, and the third layer 2 switch 105 is connected to the fifth server 110 and the sixth server 111 respectively.

[0053] In some embodiments, the switch calculates the optimal forwarding path for sending data to different destination addresses, forms a routing table, and sends the optimal forwarding path to the forwarding information base (FIB) of the switch. The forwarding chip in the switch mainly depends on the destination address and output port in the FIB to determine the forwarding of data.

[0054] Exemplarily, when the switch finds that there are multiple paths for sending data to the same destination address, it will maintain multiple forwarding entries to the destination address in the FIB. For example, when data is transmitted from the second server 107 to the third server 108, the first layer 2 switch 103 has two equivalent paths: the first is: the first layer 2 switch 103 → the first core switch 101 → the second layer 2 switch 104 → the third server 108, and the second is: the first layer 2 switch 103 → the second core switch 102 → the second layer 2 switch 104 → the third server 108. At this time, when ECMP is turned on, the switch will route different data streams to different equivalent paths by hashing.

[0055] Specifically, ECMP can extract data message information (source media access control (MAC), destination MAC, source Internet protocol (IP), destination IP, virtual local area network (VLAN), four-layer port number, etc.) as hash factors, and then obtain the hash value (hash key) through the hash algorithm, and finally perform a modulo operation with the number of output ports, and decide which output port the data is sent from based on the operation result.

[0056] However, ECMP cannot sense the congestion status in the network and can only simply disperse data to different equal-cost paths. For some congested links, the switch may still disperse the data to the congested path. Moreover, when the hash factor is relatively single, it is easy to cause uneven data distribution on the link, causing congestion on a certain link, which may lead to network congestion.

[0057] In view of this, an embodiment of the present application provides a load balancing method, which can be applied to the scenario of network load balancing based on a software-defined networking (SDN) controller. Among them, the method obtains and monitors the operating status of nodes and links in the network in real time to timely discover potential congestion points in the network, and when determining the target transmission path for transmitting target data, not only the source / destination address of the data is considered, but also the actual state of the current network is combined to avoid allocating data to nodes or links with mismatched transmission capabilities (such as overloaded), causing network congestion or waste of network resources, so as to achieve load balancing of network resources during data transmission.

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

[0059] 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 200 includes: a load balancing device 210 and a data server 220 .

[0060] The load balancing device 210 and the data server 220 may be one or more. For ease of understanding, Figure 2 Only one load balancing device and one data server are shown.

[0061] The load balancing device 210 and the data server 220 are connected via a communication link. The communication link may be a wired communication link or a wireless communication link, which is not limited in the present application.

[0062] In some embodiments, the load balancing device 210 can obtain the operating status of the nodes and the operating status of the links in the target network, and determine the target transmission path based on the address information of the target data, the operating status of the nodes, and the operating status of the links, and then send the target transmission path to each node in the target transmission path to transmit the target data according to the target transmission path.

[0063] In some embodiments, the data server 220 is used to store the operating status of all local nodes and remote nodes in the target network, as well as the operating status of links between nodes; and provide the load balancing device 210 with the operating status of the nodes and the operating status of the links.

[0064] When implemented by hardware, each module in the load balancing device 210 can be integrated into Figure 3 The hardware structure of the electronic device shown is implemented. Specifically, Figure 3 As shown, the basic hardware structure of electronic equipment is introduced.

[0065] Figure 3 The hardware structure diagram of an electronic device provided in an embodiment of the present application is shown in FIG. Figure 3 As shown, the electronic device includes at least one processor 301, a communication line 302, and at least one communication interface 304, and may also include a memory 303. The processor 301, the memory 303 and the communication interface 304 may be connected via the communication line 302.

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

[0067] The communication link 302 may include a pathway for transmitting information between the above-mentioned components.

[0068] The communication interface 304 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.

[0069] The memory 303 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, an optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a Blu-ray disc, 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.

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

[0071] As a possible implementation, the processor 301 may include one or more CPUs, for example Figure 3 As another possible implementation, the electronic device may include multiple processors, such as Figure 3 As another possible implementation, the electronic device may further include an output device 305 and an input device 306.

[0072] 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.

[0073] Figure 4 A flow chart of a load balancing method provided in an embodiment of the present application, the subject executing the method may be as follows Figure 2 The load balancing device 210 shown may also be various units / modules in the load balancing device 210, such as an integrated circuit or a chip, which is not specifically limited in the embodiment of the present application.

[0074] For example, Figure 4 As shown, the load balancing method provided in the embodiment of the present application includes the following steps:

[0075] S401: Obtain the operating status of nodes and links in a target network.

[0076] The target network may be a communication network composed of all devices in any communication system. Nodes include local nodes and remote nodes, and links are links between nodes.

[0077] In some embodiments, a local node refers to a node directly connected to a node (such as a server) that sends data, and a remote node refers to a node in the target network other than the local node. In other words, a remote node refers to a node that transmits data and a node that receives data.

[0078] Exemplarily, the node may include a switch, a server, a terminal device, etc. The link may be a connection link between switches, or a connection link between a switch and a server.

[0079] In some embodiments, the operating status of a node includes the port utilization of the node and the fault information of the node. The port utilization refers to the ratio of the actual bandwidth usage of each port to the total bandwidth. The fault information of the node is used to characterize a node failure or a normal node.

[0080] Exemplarily, a node failure may include a node being offline or a node being damaged.

[0081] In some embodiments, the operating status of a link is used to indicate a link failure or a link normality.

[0082] Illustratively, a link failure may include a link disconnection.

[0083] Optionally, the target network may be parsed through an SDN controller to obtain all nodes in the target network and links between nodes, and then based on telemetry technology, the port utilization and fault information of each node and the fault information of each link may be collected.

[0084] Exemplarily, the SDN controller can be used to collect topological connection relationships in the target network (such as nodes and links between nodes), and the SDN controller can be used to collect and maintain port utilization of nodes (such as switches and servers), node fault information, and link fault information through telemetry technology (such as telemetry).

[0085] S402: Determine a target transmission path based on address information of target data, an operating state of a node, and an operating state of a link.

[0086] The address information of the target data may include the IP address of the sending node and the IP address of the destination node of the target data.

[0087] In some embodiments, the target transmission path includes at least a local node and at least one remote node.

[0088] Optionally, multiple transmission paths may be determined from the target network based on the address information.

[0089] Among them, the starting node of each transmission path in the multiple transmission paths is the sending node indicated by the address information, and the ending node is the destination node indicated by the address information.

[0090] like Figure 5As shown, network 500 includes three core switches (core switch 1, core switch 2, core switch 3), three layer 2 switches (layer 2 switch 1, layer 2 switch 2, layer 2 switch 3), and six servers (server 1, server 2, server 3, server 4, server 5, server 6).

[0091] For example, in combination Figure 5 , if the sending node of the target data is server 1 and the destination node is server 3. Then the transmission path of the target data from server 1 to server 3 may include three: the first is: layer 2 switch 1 → core switch 1 → layer 2 switch 2 → server 3; the second is: layer 2 switch 1 → core switch 2 → layer 2 switch 2 → server 3; the third is: layer 2 switch 1 → core switch 3 → layer 2 switch 2 → server 3.

[0092] Optionally, after the three transmission paths between the server 1 and the server 3 are determined, a corresponding FIB table may be constructed.

[0093] For example, Table 1 only shows the routing forwarding path when the sending node is server 1 and the destination node is server 3. In actual scenarios, more or fewer routing forwarding paths between servers may be included, which are not listed one by one here.

[0094] Table 1

[0095] Shipping Address Destination Address Output Port Server 1 Server 3 Port A Server 1 Server 3 Port B Server 1 Server 3 Port C

[0096] Among them, port A refers to the port connecting the layer 2 switch 1 and the core switch 1, port B refers to the port connecting the layer 2 switch 1 and the core switch 2, and port C refers to the port connecting the layer 2 switch 1 and the core switch 3.

[0097] Furthermore, after a plurality of transmission paths are determined, a target transmission path may be determined from the plurality of transmission paths based on the operating status of the nodes and the operating status of the links.

[0098] The target transmission path is the transmission path with the highest transmission probability among the multiple transmission paths. The transmission probability refers to the probability that the target data selects the transmission path for transmission.

[0099] In some embodiments, for each transmission path among the multiple transmission paths, the fault parameters, local congestion parameters, and remote congestion parameters can be determined respectively, and then the transmission probability of the transmission path is determined based on the fault parameters, local congestion parameters, and remote congestion parameters. Finally, the transmission path with the highest transmission probability among the multiple transmission paths is determined as the target transmission path.

[0100] Among them, the fault parameter is used to characterize the node and / or link failure; or, the fault parameter is used to characterize the node and / or link normality; the local congestion parameter is used to indicate the probability of each port of the local node outputting data; the remote congestion parameter is used to indicate the probability of each port of the remote node outputting data.

[0101] In some embodiments, the fault parameter may be determined based on the port utilization of the node and / or the fault information of the link.

[0102] In one example, when the port utilization of the node is greater than or equal to the first utilization, a first fault parameter is determined.

[0103] The first fault parameter is used to characterize the node fault.

[0104] In the embodiment of the present application, the first utilization rate may be a manually set value, which may be flexibly adjusted according to actual scenarios. For example, the first utilization rate may be 90%.

[0105] For example, taking the first utilization rate as 90%, if the port utilization rate of the node is 95%, then since 95% is greater than 90%, it indicates that the node is faulty.

[0106] In another example, when the port utilization of the node is less than the first utilization, the second fault parameter is determined.

[0107] The second fault parameter is used to indicate that the node is normal.

[0108] In yet another example, when the fault information of the link indicates a link fault, a first fault parameter is determined.

[0109] The first fault parameter is used to characterize the link failure.

[0110] In yet another example, when the fault information of the link indicates that the link is normal, a second fault parameter is determined.

[0111] The second fault parameter is used to indicate that the link is normal.

[0112] In some embodiments, the local congestion parameter may be determined based on port utilization of the local node.

[0113] In one example, when the port utilization of the local node is greater than or equal to the first utilization, a first local congestion parameter is determined.

[0114] The first local congestion parameter indicates that the probability of the port outputting data is 0.

[0115] For example, taking the first utilization rate as 90%, if the utilization rate of port A of the local node is 93%, since 93% is greater than 90%, it indicates that the probability of port A of the local node outputting data is 0.

[0116] In another example, when the port utilization of the local node is less than the first utilization and greater than or equal to the second utilization, the second local congestion parameter is determined.

[0117] The second local congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1.

[0118] In the embodiment of the present application, the second utilization rate may be a manually set value, which may be flexibly adjusted according to actual scenarios. For example, the second utilization rate may be 50%.

[0119] For example, if the first utilization is 90% and the second utilization is 50%, if the port utilization of port B of the local node is 70%, since 70% is greater than 50% and less than 90%, it indicates that the probability of port B of the local node outputting data is 0.5.

[0120] In yet another example, when the port utilization of the local node is less than the second utilization, a third local congestion parameter is determined.

[0121] The third local congestion parameter indicates that the probability of the port outputting data is 1.

[0122] For example, taking the second utilization rate as 50%, if the port utilization rate of port C of the local node is 20%, since 20% is less than 50%, it indicates that the probability of port C of the local node outputting data is 1.

[0123] In some embodiments, the remote congestion parameter may be determined based on an operating state of a remote node and / or an operating state of a link.

[0124] In one example, when the port utilization of the remote node is greater than or equal to the first utilization, a first remote congestion parameter is determined.

[0125] The probability that the first remote congestion parameter indicates that the port outputs data is 0.

[0126] For example, taking the first utilization rate as 90%, if the utilization rate of port A of the remote node is 96%, since 96% is greater than 90%, it indicates that the probability of port A of the remote node outputting data is 0.

[0127] In another example, when the port utilization of the remote node is less than the first utilization and greater than or equal to the second utilization, the second remote congestion parameter is determined.

[0128] The second remote congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1.

[0129] For example, if the first utilization is 90% and the second utilization is 50%, if the port utilization of port B of the remote node is 80%, then since 80% is greater than 50% and less than 90%, the probability that port B of the remote node outputs data is 0.75.

[0130] In yet another example, when the port utilization of the remote node is less than the second utilization, a third remote congestion parameter is determined.

[0131] The third remote congestion parameter indicates that the probability of the port outputting data is 1.

[0132] For example, taking the second utilization rate as 50%, if the port utilization rate of port C of the remote node is 30%, since 30% is less than 50%, it indicates that the probability of port C of the remote node outputting data is 1.

[0133] In yet another example, when the fault information of the remote node indicates a fault of the remote node, a first remote congestion parameter is determined.

[0134] The first remote congestion parameter is used to characterize a remote node failure.

[0135] In yet another example, when the fault information of the link indicates a link failure, a first remote congestion parameter is determined.

[0136] The first remote congestion parameter is used to characterize a link failure.

[0137] The following combination Figure 5 , the above method of determining the target transmission path is exemplified.

[0138] Exemplarily, the probability of the output port of the local node transmitting data can be calculated by formula (1). Formula (1) is as follows:

[0139] P out =g×(ω1×C Local +ω2×C Remote ) Formula (I)

[0140] Among them, P out is the probability of data transmission at the output port of the local node, g is the fault parameter, ω1 is the weight of the local congestion parameter, C Local is the local congestion parameter, ω2 is the weight of the remote congestion parameter, C Remote is the far-end congestion parameter. ω1+ω2=1.

[0141] Further illustratively, in combination Figure 5When the port utilization of port B of layer 2 switch 1 is lower than the second utilization, the SDN controller switches C Local Set to 1, g is set to 1; when the port utilization of port B of layer 2 switch 1 reaches the first utilization, the SDN controller sets C Local is set to 0, g is set to 0; when the port utilization of port B of layer 2 switch 1 is between the first utilization and the second utilization, the SDN controller can Local Set linearly between 0-1, with g set to 1.

[0142] Further illustratively, in combination Figure 5 When the core switch 3 or the link between the core switch 3 and the layer 2 switch 2 fails, the SDN controller will Remote is set to 0, g is set to 0; when the port utilization of the output port of the core switch 2 is lower than the second utilization, the SDN controller sets C Remote is set to 1, g is set to 1; when the port utilization of the output port of core switch 2 reaches the first utilization, the SDN controller sets C Remote is set to 0, g is set to 0; when the port utilization of the output port of the core switch 2 is between the first utilization and the second utilization, the SDN controller can Remote Set linearly between 0-1, g is set to 1

[0143] Further illustratively, in combination Figure 5 , taking ω1=0.5, ω2=0.5 as an example. Based on the collected node operation status and link operation status, the SDN controller learns that the link from core switch 3 to layer 2 switch 2 fails, and the port utilization of port B of layer 2 switch 1 reaches the first utilization. Then the SDN controller sets port C of port B to Local Set to 0, port C Remote Set to 0. At this time, the FIBs of the three transmission paths from server 1 to server 3 are shown in Table 2.

[0144] Table 2

[0145] Shipping Address Destination Address Output Port <![CDATA[P out ]]> Server 1 Server 3 Port A 1*(0.5*1+0.5*1)=1 Server 1 Server 3 Port B 0*(0.5*0+0.5*1)=0 Server 1 Server 3 Port C 0*(0.5*1+0.5*0)=0

[0146] The SDN controller determines the first transmission path: Layer 2 switch 1→core switch 1→Layer 2 switch 2→server 3 as the target transmission path.

[0147] S403: Send the target transmission path to each node in the target transmission path to transmit the target data according to the target transmission path.

[0148] In some embodiments, after determining the first transmission path as the target transmission path, the SDN controller sends the target transmission path to all nodes, so that each node transmits the target data in the order of the nodes in the target transmission path.

[0149] For example, in combination Figure 5 After the SDN controller determines the target transmission path (such as Layer 2 switch 1→core switch 1→Layer 2 switch 2→Server 3) based on the data collected by telemetry technology, it will generate and send a load balancing strategy (i.e., target transmission path) to Layer 2 switch 1 according to the target transmission path, so that Layer 2 switch 1 selects port A to output the target data; at the same time, it sends the load balancing strategy to core switch 1, so that core switch 1 sends the target data to Layer 2 switch 2; at the same time, it sends the load balancing strategy to Layer 2 switch 2, so that Layer 2 switch 2 sends the target data to Server 3.

[0150] Optionally, after the running status of the nodes and the running status of the links in the target network are updated, the SDN controller may further re-determine the target transmission path according to the updated running status of the nodes and the running status of the links.

[0151] In the load balancing method provided in the embodiment of the present application, the operating status of nodes and links in the network is acquired and monitored in real time to promptly discover potential congestion points in the network. When determining the target transmission path for transmitting the target data, not only the source / destination address of the data is considered, but also the actual status of the current network is combined to avoid allocating data to nodes or links with mismatched transmission capabilities (such as overloaded), causing network congestion or waste of network resources, thereby enabling load balancing of network resources during data transmission.

[0152] 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.

[0153] like Figure 6 , which is a schematic diagram of the structure of a load balancing device 600 provided in an embodiment of the present application, the load balancing device 600 includes: an acquisition unit 601, a determination unit 602 and a processing unit 603.

[0154] Among them, the acquisition unit 601 is used to obtain the operating status of the nodes and the operating status of the links in the target network, the nodes include local nodes and remote nodes, and the links are links between nodes; the determination unit 602 is used to determine the target transmission path based on the address information of the target data, the operating status of the nodes, and the operating status of the links, and the target transmission path includes at least a local node and at least one remote node; the processing unit 603 is used to send the target transmission path to each node in the target transmission path to transmit the target data according to the target transmission path.

[0155] In a possible implementation, the operation status of the node includes the port utilization of the node and the fault information of the node. The fault information of the node is used to characterize the node failure or the node is normal. The operation status of the link is used to characterize the link failure or the link is normal.

[0156] In one possible implementation, the acquisition unit 601 is specifically used to: parse the target network through the software defined network SDN controller to obtain all nodes in the target network and the links between the nodes; based on telemetry technology, collect the port utilization and fault information of each node, and collect the fault information of each link.

[0157] In a possible implementation, the determination unit 602 is specifically used to determine multiple transmission paths from the target network based on the address information, the starting node of each transmission path in the multiple transmission paths is the sending node indicated by the address information, and the ending node is the destination node indicated by the address information; based on the operating status of the node and the operating status of the link, the target transmission path is determined from the multiple transmission paths, and the target transmission path is the transmission path with the highest transmission probability among the multiple transmission paths.

[0158] In a possible implementation, the determination unit 602 is specifically used to: for each transmission path among the multiple transmission paths: determine a fault parameter according to the port utilization of the node and / or the fault information of the link, the fault parameter is used to characterize the node and / or link failure; or the node and / or link is normal; determine a local congestion parameter according to the port utilization of the local node, the local congestion parameter is used to indicate the probability of each port of the local node outputting data; determine a remote congestion parameter according to the operating status of the remote node and / or the operating status of the link, the remote congestion parameter is used to indicate the probability of each port of the remote node outputting data; determine the transmission probability of the transmission path according to the fault parameter, the local congestion parameter and the remote congestion parameter; determine the transmission path with the largest transmission probability among the multiple transmission paths as the target transmission path.

[0159] In one possible implementation, the determination unit 602 is specifically used to: determine a first fault parameter when the port utilization of the node is greater than or equal to a first utilization, and / or the fault information of the link represents a link failure, and the first fault parameter is used to represent the node and / or link failure; or determine a second fault parameter when the port utilization of the node is less than the first utilization, and / or the fault information of the link represents that the link is normal, and the second fault parameter is used to represent that the node and / or link is normal.

[0160] In a possible implementation, the determination unit 602 is specifically configured to: determine a first local congestion parameter when the port utilization of the local node is greater than or equal to the first utilization, and the first local congestion parameter indicates that the probability of the port outputting data is 0; or, determine a second local congestion parameter when the port utilization of the local node is less than the first utilization and greater than or equal to the second utilization, and the second local congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or, determine a third local congestion parameter when the port utilization of the local node is less than the second utilization, and the third local congestion parameter indicates that the probability of the port outputting data is 1.

[0161] In a possible implementation, the determination unit 602 is specifically used to: determine a first remote congestion parameter when the port utilization of the remote node is greater than or equal to a first utilization, and / or the fault information of the remote node represents a remote node fault, and / or the fault information of the link represents a link fault, wherein the first remote congestion parameter is used to indicate that the probability of the port outputting data is 0; or, determine a second remote congestion parameter when the port utilization of the remote node is less than the first utilization and greater than or equal to a second utilization, wherein the second remote congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or, determine a third remote congestion parameter when the port utilization of the remote node is less than the second utilization, wherein the third remote congestion parameter indicates that the probability of the port outputting data is 1.

[0162] In the load balancing device provided in the embodiment of the present application, the operating status of nodes and links in the network is acquired and monitored in real time to promptly discover potential congestion points in the network. When determining the target transmission path for transmitting target data, not only the source / destination address of the data is considered, but also the actual status of the current network is combined to avoid allocating data to nodes or links with mismatched transmission capabilities (such as overloaded), causing network congestion or waste of network resources, thereby enabling load balancing of network resources during data transmission.

[0163] In a possible implementation, the load balancing device 600 may further include a storage unit 604 ( Figure 6The storage unit 604 stores a program or instruction. When the acquisition unit 601, the determination unit 602 and the processing unit 603 execute the program or instruction, the load balancing device 600 can execute the load balancing method described in the above method embodiment.

[0164] 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.

[0165] 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.

[0166] 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.

[0167] 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.

[0168] 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.

[0169] 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.

[0170] 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 application is not limited here.

[0171] 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.

[0172] 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.

[0173] 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.

[0174] 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 the running status of nodes and links in the target network, wherein the nodes include local nodes and remote nodes, and the links are links between the nodes; Determine a target transmission path based on the address information of the target data, the operating status of the node, and the operating status of the link, wherein the target transmission path includes at least the local node and at least one of the remote nodes; The target transmission path is sent to each node in the target transmission path to transmit the target data according to the target transmission path.

2. The method according to claim 1, characterized in that The running state of the node includes the port utilization of the node and the fault information of the node. The fault information of the node is used to characterize the node failure or the node normality. The running state of the link is used to characterize the link failure or the link normality.

3. The method according to claim 2, characterized in that The obtaining of the operating status of the nodes and the operating status of the links in the target network includes: The target network is parsed by a software defined network (SDN) controller to obtain all nodes in the target network and links between the nodes; Based on telemetry technology, the port utilization and fault information of each node are collected, as well as the fault information of each link.

4. The method according to claim 2 or 3, characterized in that: The determining of the target transmission path based on the address information of the target data, the operating status of the node, and the operating status of the link includes: Determine multiple transmission paths from the target network according to the address information, wherein the starting node of each transmission path in the multiple transmission paths is the sending node indicated by the address information, and the ending node is the destination node indicated by the address information; Based on the operating status of the node and the operating status of the link, the target transmission path is determined from the multiple transmission paths, and the target transmission path is the transmission path with the highest transmission probability among the multiple transmission paths.

5. The method according to claim 4, characterized in that The determining the target transmission path from the plurality of transmission paths based on the operating state of the node and the operating state of the link comprises: For each transmission path of the plurality of transmission paths: Determine a fault parameter according to the port utilization of the node and / or the fault information of the link, wherein the fault parameter is used to characterize the failure of the node and / or the link; or, the node and / or the link is normal; Determining a local congestion parameter according to the port utilization of the local node, wherein the local congestion parameter is used to indicate a probability of each port of the local node outputting data; Determine a remote congestion parameter according to the operating state of the remote node and / or the operating state of the link, wherein the remote congestion parameter is used to indicate a probability of each port of the remote node outputting data; Determining a transmission probability of a transmission path according to the fault parameter, the local congestion parameter, and the remote congestion parameter; The transmission path with the highest transmission probability among the multiple transmission paths is determined as the target transmission path.

6. The method according to claim 5, characterized in that Determining the fault parameter according to the port utilization of the node and / or the fault information of the link includes: In the case where the port utilization of the node is greater than or equal to the first utilization, and / or the fault information of the link represents the link fault, determining a first fault parameter, wherein the first fault parameter is used to represent the node and / or the link fault; or, When the port utilization of the node is less than the first utilization and / or the fault information of the link indicates that the link is normal, a second fault parameter is determined, where the second fault parameter is used to indicate that the node and / or the link is normal.

7. The method according to claim 5, characterized in that The determining of the local congestion parameter according to the port utilization of the local node includes: In a case where the port utilization of the local node is greater than or equal to the first utilization, determining a first local congestion parameter, wherein the first local congestion parameter indicates that the probability of the port outputting data is 0; or, When the port utilization of the local node is less than the first utilization and greater than or equal to the second utilization, determining a second local congestion parameter, wherein the second local congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or In a case where the port utilization of the local node is less than the second utilization, a third local congestion parameter is determined, where the third local congestion parameter indicates that the probability of the port outputting data is 1.

8. The method according to claim 5, characterized in that Determining a remote congestion parameter according to the operating state of the remote node and / or the operating state of the link includes: In the case where the port utilization of the remote node is greater than or equal to the first utilization, and / or the fault information of the remote node represents the remote node fault, and / or the fault information of the link represents the link fault, determining a first remote congestion parameter, wherein the first remote congestion parameter is used to indicate that the probability of the port outputting data is 0; or When the port utilization of the remote node is less than the first utilization and greater than or equal to the second utilization, determining a second remote congestion parameter, wherein the second remote congestion parameter indicates that the probability of the port outputting data is greater than 0 and less than 1; or In a case where the port utilization of the remote node is less than the second utilization, a third remote congestion parameter is determined, wherein the third remote congestion parameter indicates that the probability of the port outputting data is 1.

9. A load balancing device, characterized in that: The device comprises: An acquisition unit, used to acquire the operating status of nodes and links in the target network, wherein the nodes include local nodes and remote nodes, and the links are links between the nodes; a determining unit, configured to determine a target transmission path based on address information of target data, an operating state of the node, and an operating state of the link, wherein the target transmission path includes at least the local node and at least one of the remote nodes; The processing unit is used to send the target transmission path to each node in the target transmission path, so as to transmit the target data according to the target transmission path.

10. An electronic 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-8.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program or instruction. When the electronic device executes the computer program or instruction, the electronic device executes the load balancing method according to any one of claims 1 to 8.

12. A computer program product, characterized in that The computer program product includes a computer program or instructions, and when the computer program or instructions are executed on an electronic device, the electronic device executes the load balancing method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Flow control method and device for hybrid SDN network

    CN111147387A

  • Network fault transmission method and related product

    CN112468391A

  • Network load balancing method and device based on link and equipment states

    CN116232977A

  • Load balancing information transmission method and device and storage medium

    CN117042048A

  • Data transmission method and system, electronic equipment and storage medium

    CN117896799A

Cited By

  • Communication load balancing optimization method and device of cross-node container and electronic equipment

    CN120528922A