A load balancing method, device, communication equipment and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2021-01-29
- Publication Date
- 2026-08-07
AI Technical Summary
现有的CPE一般只有一条上行链路,或有多条链路但同一时间只有一条链路处于工作状态,所以负载均衡的实现策略是通过限制部分低优先级业务的流量来实现的,为了保证高优先级业务的正常工作,必定会导致该部分低优先级业务性能下降,影响使用感受
[0008]本发明实施例通过设置多条上行链路,根据每条链路的负载率判断链路状态,为新的网络会话业务动态选择上行链路,多条链路可以同时工作,增大了负载能力,同时保证了所有业务流全速工作,不需要对某些数据流进行限速。本发明通过监控链路流量,以会话为单位进行链路选择或切换,最大可能的保证了业务的不中断,用户体验好。
Smart Images

Figure CN114827039B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to communication equipment load assessment, session path selection, and load balancing strategies. Background Technology
[0002] CPE (Customer Premise Equipment) refers to devices that directly connect to the operator's network at the user's front end. These include, but are not limited to, telephones, wireless routers, firewalls, computers, optical modems, and 4G-to-WiFi wireless routers. They are commonly deployed at the client end of FTTX home customer services to provide integrated access to wired broadband, IPTV, VoIP, and other services for home customers. The CPE connects to the PON transmission network uplink and to specific service devices downlink, completing the connection between the access network and user equipment. Existing CPEs typically have only one uplink, or multiple links but only one link is active at any given time. Therefore, load balancing is achieved by limiting the traffic of some low-priority services. To ensure the normal operation of high-priority services, the performance of these low-priority services inevitably degrades, affecting the user experience. Summary of the Invention
[0003] This invention proposes a method for load balancing of multiple uplink network links, aiming to ensure that multiple links can work simultaneously and all service flows can operate at full speed.
[0004] This invention first provides a load balancing method, characterized by the following steps: Receive new network session traffic; The first non-overloaded link is found from multiple uplinks according to the set search order, and the first non-overloaded link is assigned to the new network session service. The first idle link is found sequentially from the multiple uplinks in reverse order of the set search order, and a network session on the previous non-idle link of the first idle link is migrated to the first idle link. If there is no session service on the previous non-idle link of the first found idle link, then the previous non-idle link is shut down.
[0005] This invention also provides a load balancing device, characterized by comprising: The network session service receiving module is used to receive new network session services. The non-overload link lookup module is used to find the first non-overload link from multiple uplinks according to a set lookup order. A network session service allocation module is used to allocate the first non-overloaded link to the new network session service. The idle link search module is used to search for the first idle link from the multiple uplinks in reverse order of the set search order. The network session migration module is used to migrate a network session from the previous non-idle link of the first idle link to the first idle link. The link shutdown module is used to shut down the previous non-idle link when there is no session service on the previous non-idle link of the first found idle link.
[0006] This invention also provides a communication device, including a memory, a processor, and a program stored in the memory and executable on the processor, characterized in that the program, when executed by the processor, implements the steps of the load balancing method.
[0007] This invention also provides a storage medium, characterized in that the storage medium stores at least one program, which can be executed by at least one processor to implement the steps of the load balancing method.
[0008] This invention, through the configuration of multiple uplinks, determines the link status based on the load rate of each link and dynamically selects the uplink link for new network session services. Multiple links can operate simultaneously, increasing load capacity and ensuring all service flows run at full speed without the need for rate limiting on certain data flows. By monitoring link traffic and selecting or switching links on a session-by-session basis, this invention maximizes uninterrupted service and provides a superior user experience. Attached Figure Description
[0009] Figure 1 This is a flowchart of the load balancing method according to Embodiment 1 of the present invention.
[0010] Figure 2 This is a schematic diagram of a multi-link connection according to Embodiment 2 of the present invention.
[0011] Figure 3 This is a schematic diagram of the link load rate curve.
[0012] Figure 4 This is a structural diagram of the load balancing device according to Embodiment 3 of the present invention.
[0013] Figure 5 This is a structural diagram of the communication device according to Embodiment 4 of the present invention. Detailed Implementation
[0014] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
[0015] Example 1 This embodiment provides a load balancing method, the process of which is as follows: Figure 1 As shown, it includes the following steps: 101: Receive new network session traffic; 102: Find the first non-overloaded link from multiple uplinks according to the set search order, and allocate the first non-overloaded link to the new network session service; 103: Search for the first idle link from the multiple uplinks in reverse order of the set search order, and migrate a network session on the previous non-idle link of the first idle link to the first idle link; 104: If there is no session service on the previous non-idle link of the first found idle link, close the previous non-idle link.
[0016] The above load balancing method is applied to communications with multiple uplinks. By using the reverse link search order, the first non-overloaded link is found for new session services, and the first idle link is found for old session services. This enables dynamic selection of links for new session services and dynamic migration of links for old session services, allowing multiple links to work simultaneously and all session service flows to work at full speed.
[0017] In step 102, the search order includes the numbering order of the multiple uplink links. Using the link numbering order for searching is simple and easy to implement. The search order can also be a random selection of links or other possible orders, as long as the order of searching for the first free link in step 103 is the reverse of the search order set in step 102. For example, assuming the search order in step 102 is 3 1 4 2 by link number, then the search order in step 103 is 2 4 1 3. This operation facilitates management, allows for quick finding of new links for new sessions, and enables rapid migration of old sessions, quickly locating and closing free links. In step 102, when no non-overloaded link is found among the multiple uplink links according to the set search order, the last link among the multiple uplink links is assigned to the new network session. Assigning the session to the last link facilitates the subsequent migration of old session services by searching for free links in reverse order.
[0018] Prior to steps 102 and 103 above, the method further includes a step of updating the load status of the multiple uplinks, which includes: Update the load status of all links except the last one in the multiple uplinks; When the link load rate is 0, update the load status of the link to the off state; When Wl ≥ link load rate > 0, update the load status of the link to idle state; When Wh ≥ link load rate > Wl, update the load status of the link to light load status; When the link load rate is greater than Wh, the load status of the link is updated to overload state until the link load rate drops to ≤Wl and remains so for a period of time, then the load status of the link is updated to idle state. Where Wl represents the preset idle load reference value; Wh represents the preset overload load reference value.
[0019] Prior to step 102, the steps of updating the load status of the multiple uplinks are not in any absolute order with step 101.
[0020] Step 103 above does not require the addition of a new session service. A period can be set to periodically search for idle links and process the link migration of old session services. The link migration of old session services and the link selection of new session services can be performed independently. Figure 1 The dashed arrow in the middle expresses this meaning.
[0021] Example 2 This embodiment provides a load balancing method for CPE devices. For example... Figure 2 As shown, the CPE device has n uplink ports and n uplink links L1, L2...Ln. Internally, the CPE allocates a corresponding net_device interface to each uplink port. When data exchange occurs, the strategy of this invention is used to select the appropriate outgoing link through routing. The load balancing method specifically includes the following steps: 1. The CPE device receives new network session traffic; 2. Update the load status of each link (L1, L2...Ln-1) sequentially: overloaded, lightly loaded, idle, or off. Ln is the last link; when the links before it are overloaded, the remaining data will pass through this link, so its load status is not a concern. The load status is determined by the link's load rate: Load rate = (Current link bandwidth / Maximum link bandwidth) * 100%. The maximum link bandwidth is obtained by the CPE through negotiation with the network operator. The CPE calculates the current bandwidth of each link every second. Figure 3 The image shows the load rate curve for a certain link: 1.1 Initially, the link load rate is 0, and the updated link status is closed.
[0022] 1.2 During the T1 time period, if Wl ≥ load rate > 0, update the link status to idle state.
[0023] 1.3 During the T2 time period, if Wh ≥ load rate > Wl, update the link status to light load state.
[0024] 1.4 During the T3+T4 time period, when the load rate is greater than Wh, the link status is updated to overload state until the load rate drops to ≤Wl, and the link status is updated to idle state after a preset stabilization time T4.
[0025] 1.5 During the T5 time period, if Wl ≥ load rate, update the link status to idle state.
[0026] 1.6 During the T6 time period, if Wh ≥ load rate > Wl, update the link status to light load status.
[0027] Where Wl represents the preset idle load reference value; Wh represents the preset overload load reference value.
[0028] 3. Locate the first non-overloaded link in the order of L1, L2...Ln-1, and assign it to the new network session service. If no non-overloaded link is found in this step, assign the last link Ln to the new network session.
[0029] 4. Locate the first idle link Lx in the order of Ln-1, Ln-2...L1, and migrate one network session from the previous non-idle link Lx+1 to link Lx. If there are multiple sessions on link Lx+1, randomly select one for migration.
[0030] The CPE device creates a record for each network session service, including the selected link information. When data exchange occurs during a session service, the CPE device uses this record to locate the corresponding link interface. If no session service record is found, the default link is selected, and a record is created. Therefore, when a session service needs to be migrated, the default link is set to Lx, the current session service record entry is deleted, and the CPE device treats the session service as a new session service, re-initiates it, assigns it to link Lx, and records the session. Step 4 is repeated until there are no session services on link Lx+1, and then link Lx+1 is shut down. The purpose of migrating old session services is to aggregate session services and then shut down empty links, thereby saving link resources.
[0031] Step 4 above does not require the addition of a new session service. The CPE device can be set to periodically search for idle links and handle the link migration of old session services. The link migration of old session services and the link selection of new session services can be performed independently.
[0032] When user traffic is high and the load capacity of a single link cannot meet the demand—for example, if the CPE only has a 10M link—and a user is watching a high-definition movie using 8M bandwidth, and then opens a new 4M video service while the movie is still playing normally, the bandwidth demand is now 12M, exceeding the link's maximum capacity of 10M. This will inevitably cause both services to slow down, degrading the user experience. Using the load balancing method described above, when the second 4M video service starts, the CPE will determine that the first link is overloaded and start the second link. The 4M video service will also use the second link, ensuring that both the 8M movie and the 4M video work at full speed simultaneously without slowdowns or buffering. When the 8M movie service ends and the load decreases, the first link becomes idle, so the 4M video service on the second link is switched back to the first link, and then the second link is shut down. This process can be repeated to expand to multiple links and achieve load balancing across multiple links.
[0033] Example 3 This embodiment provides a load balancing device, such as... Figure 4 As shown, it includes: Network session service receiving module 1 is used to receive new network session services; The non-overload link search module 2 is used to find the first non-overload link from multiple uplinks according to the set search order; Network session service allocation module 3 is used to allocate the first non-overloaded link to the new network session service; The idle link search module 4 is used to search for the first idle link from the multiple uplinks in reverse order of the set search order. Network session migration module 5 is used to migrate a network session from the previous non-idle link of the first idle link to the first idle link; The link shutdown module 6 is used to shut down the previous non-idle link when there is no session service on the previous non-idle link of the first idle link found.
[0034] Furthermore, the load balancing device also includes a link load status update module, which is used to update the load status of the multiple uplinks before the steps of the non-overloaded link search module 2 searching for the first non-overloaded link from the multiple uplinks according to the set search order and the steps of the idle link search module 4 searching for the first idle link from the multiple uplinks in the reverse order of the set search order.
[0035] Furthermore, if the non-overloaded link lookup module 2 cannot find a non-overloaded link among the multiple uplinks according to the set lookup order, it will assign the last link to the new network session.
[0036] Furthermore, the network session migration module 5 sets the first available link found as the default link for the network session to be migrated, deletes the record entry for the network session to be migrated, re-initiates the network session to be migrated as a new network session, and assigns it to the default link.
[0037] Through the collaboration of the above modules, the load balancing device in this embodiment realizes the dynamic selection of new session service links and the dynamic migration of old session service links, enabling multiple links to work simultaneously and all session service flows to work at full speed.
[0038] Example 4 This embodiment provides a communication device, such as... Figure 5 As shown, the communication device includes a memory 7 and a processor 8 that are interconnected and communicate with each other. The memory 7 stores a program that can run on the processor 8. When the program is executed by the processor, it implements, for example,... Figure 1 The load balancing method shown includes the following steps: 101: Receive new network session traffic; 102: Find the first non-overloaded link from multiple uplinks according to the set search order, and allocate the first non-overloaded link to the new network session service; 103: Search for the first idle link from the multiple uplinks in reverse order of the set search order, and migrate a network session on the previous non-idle link of the first idle link to the first idle link; 104: If there is no session service on the previous non-idle link of the first found idle link, close the previous non-idle link.
[0039] By implementing the above method, the communication device in this embodiment realizes the dynamic selection of new session service links and the dynamic migration of old session service links, enabling multiple links to work simultaneously and all session service flows to work at full speed.
[0040] Example 5 This embodiment provides a storage medium storing at least one program, which can be executed by at least one processor to achieve, as follows: Figure 1 The load balancing method shown includes the following steps: 101: Receive new network session traffic; 102: Find the first non-overloaded link from multiple uplinks according to the set search order, and allocate the first non-overloaded link to the new network session service; 103: Search for the first idle link from the multiple uplinks in reverse order of the set search order, and migrate a network session on the previous non-idle link of the first idle link to the first idle link; 104: If there is no session service on the previous non-idle link of the first found idle link, close the previous non-idle link.
[0041] By implementing the above methods, dynamic selection of new session service links and dynamic migration of old session service links were achieved, enabling multiple links to work simultaneously and all session service flows to work at full speed.
[0042] The preferred embodiments of the present invention have been described above with reference to the accompanying drawings, but this does not limit the scope of the invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and spirit of the present invention should be within the scope of the present invention.
Claims
1. A load balancing method, characterized in that, Includes the following steps: Receive new network session traffic; The first non-overloaded link is found from multiple uplinks according to the set search order, and the first non-overloaded link is assigned to the new network session service. The first idle link is found sequentially from the multiple uplinks in reverse order of the set search order, and a network session on the previous non-idle link of the first idle link is migrated to the first idle link. If there is no session service on the previous non-idle link of the first found idle link, then the previous non-idle link is shut down.
2. The load balancing method as described in claim 1, characterized in that, The set search order includes the numbering order of the multiple uplink links.
3. The load balancing method as described in claim 1, characterized in that, Also includes: If no non-overloaded link is found among the multiple uplinks according to the set search order, the last link among the multiple uplinks is assigned to the new network session.
4. The load balancing method as described in claim 1, characterized in that, Before the steps of finding the first non-overloaded link from the multiple uplinks according to a set search order and finding the first idle link from the multiple uplinks in reverse order of the set search order, the method further includes a step of updating the load status of the multiple uplinks. The step of updating the load status of the multiple uplinks includes: Update the load status of all links except the last one in the multiple uplinks; When the link load rate is 0, update the load status of the link to the off state; When Wl ≥ link load rate > 0, update the load status of the link to idle state; When Wh ≥ link load rate > Wl, update the load status of the link to light load status; When the link load rate is greater than Wh, the load status of the link is updated to overload state until the link load rate drops to ≤Wl and remains so for a period of time, then the load status of the link is updated to idle state. Where Wl represents the preset idle load reference value; Wh represents the preset overload load reference value.
5. The load balancing method as described in claim 1, characterized in that, The step of finding the first idle link from the multiple uplinks in reverse order of the set search order, and migrating a network session from the previous non-idle link of the first idle link to the first idle link includes: Set the first idle link as the default link for the network session that needs to be migrated, delete the record entry of the network session that needs to be migrated, re-initiate the network session that needs to be migrated as a new network session, and assign it to the default link.
6. The load balancing method as described in claim 1, characterized in that, The step of finding the first idle link from the multiple uplinks in reverse order of the set search order, and migrating a network session on the previous non-idle link of the first idle link to the first idle link, is executed periodically according to a set period.
7. A load balancing device, characterized in that... include: The network session service receiving module is used to receive new network session services. The non-overload link lookup module is used to find the first non-overload link from multiple uplinks according to a set lookup order. A network session service allocation module is used to allocate the first non-overloaded link to the new network session service. The idle link search module is used to search for the first idle link from the multiple uplinks in reverse order of the set search order. The network session migration module is used to migrate a network session from the previous non-idle link of the first idle link to the first idle link. The link shutdown module is used to shut down the previous non-idle link when there is no session service on the previous non-idle link of the first found idle link.
8. The load balancing device as described in claim 7, characterized in that... Also includes: The link load status update module is used to update the load status of the multiple uplinks before the steps of the non-overloaded link search module searching for the first non-overloaded link from the multiple uplinks according to the set search order and the steps of the idle link search module searching for the first idle link from the multiple uplinks in the reverse order of the set search order.
9. A communication device, comprising a memory, a processor, and a program stored in the memory and executable on the processor, characterized in that... When the program is executed by the processor, it implements the steps of the load balancing method according to any one of claims 1-6.
10. A storage medium, characterized in that, The storage medium stores at least one program, which can be executed by at least one processor to implement the steps of the load balancing method according to any one of claims 1-6.
Citation Information
Patent Citations
Load balance processing method and device
CN103297347A
Global grid space analysis parallel method considering load balance
CN110597617A