Dynamic routing method and system and electronic equipment
By monitoring the status and performance indicators of multiple logical tunnels and dynamically selecting transmission paths, the interference and interruption problems of single-network transmission in wireless communication are solved, intelligent dynamic routing optimization is achieved, and the reliability and stability of data transmission are improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-10
- Publication Date
- 2026-04-07
AI Technical Summary
In wireless communication scenarios, when using a single network for data transmission, Wi-Fi signal interference or 5G base station coverage blind spots can easily occur, leading to communication interruptions or latency fluctuations, which affect network transmission performance.
By periodically monitoring the status of multiple logical tunnels, obtaining performance indicators, and determining routing decisions based on preset strategies, intelligent dynamic routing optimization is achieved by dynamically selecting transmission paths.
It significantly improves the reliability of data transmission and the stability of communication links, enhances network transmission performance, and meets the application requirements of high real-time performance and high reliability.
Smart Images

Figure CN121815361A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of wireless communication, and in particular to a dynamic routing method, system and electronic device. BACKGROUND
[0002] At present, in a wireless communication scenario, a terminal usually selects one of a 5th Generation Mobile Networks (5G) network or a Wireless Fidelity (Wi-Fi) network to perform data transmission. The 5G network can carry high-performance and low-latency services. The Wi-Fi network can carry low-rate services. However, the method of using a single network to perform data transmission has many limitations, such as Wi-Fi signal interference or 5G base station coverage blind area, which can easily cause communication interruption or latency fluctuation, and affect network transmission performance. SUMMARY
[0003] Embodiments of the present application provide a dynamic routing method, system and electronic device to solve the problems in the prior art.
[0004] To solve the above technical problems, embodiments of the present application are implemented as follows: In a first aspect, a dynamic routing method provided by embodiments of the present application is applied to a server and includes the following steps. Periodically monitoring the states of a plurality of tunnels and obtaining performance indicators of the plurality of tunnels, the plurality of tunnels being a plurality of logical tunnels obtained by respectively encapsulating a plurality of network interfaces; Determining a routing decision according to the performance indicators of the plurality of tunnels and a preset strategy, the routing decision including information of a transmission path, the transmission path being a tunnel selected from the plurality of tunnels; Updating a local routing rule according to the routing decision; Sending the routing decision to a terminal through the transmission path, the routing decision being used by the terminal to perform routing and data transmission.
[0005] In a second aspect, a dynamic routing method provided by embodiments of the present application is applied to a terminal and includes the following steps. Receiving a routing decision sent by a server, the routing decision including information of a transmission path, the transmission path being a tunnel selected from a plurality of tunnels, the plurality of tunnels being a plurality of logical tunnels obtained by respectively encapsulating a plurality of network interfaces; Updating a local routing rule according to the routing decision; Using the transmission path to perform data transmission.
[0006] In a third aspect, a dynamic routing device provided by embodiments of the present application is applied to a server and includes the following steps. a monitoring module, configured to monitor states of a plurality of tunnels periodically, and acquire performance indexes of the plurality of tunnels, the plurality of tunnels being a plurality of logical tunnels obtained by encapsulating a plurality of network interfaces respectively; a decision module, configured to determine a routing decision according to the performance indexes of the plurality of tunnels and a preset policy, the routing decision comprising information of a transmission path, the transmission path being a tunnel selected from the plurality of tunnels; an updating module, configured to update a local routing rule according to the routing decision; a sending module, configured to send the routing decision to a terminal through the transmission path, the routing decision being used for routing and data transmission of the terminal.
[0007] In a fourth aspect, an embodiment of the present application provides a dynamic routing device applied to a terminal, comprising: a receiving module, configured to receive a routing decision sent by a server, the routing decision comprising information of a transmission path, the transmission path being a tunnel selected from a plurality of tunnels, the plurality of tunnels being a plurality of logical tunnels obtained by encapsulating a plurality of network interfaces respectively; an updating module, configured to update a local routing rule according to the routing decision; a transmission module, configured to perform data transmission using the transmission path.
[0008] In a fifth aspect, an embodiment of the present application provides a dynamic routing system, comprising: a server, configured to monitor states of a plurality of tunnels periodically, and acquire performance indexes of the plurality of tunnels, the plurality of tunnels being a plurality of logical tunnels obtained by encapsulating a plurality of network interfaces respectively, determine a routing decision according to the performance indexes of the plurality of tunnels and a preset policy, the routing decision comprising information of a transmission path, the transmission path being a tunnel selected from the plurality of tunnels, update a local routing rule according to the routing decision, and send the routing decision to a terminal through the transmission path; a terminal, configured to receive the routing decision sent by the server, update a local routing rule according to the routing decision, and perform data transmission using the transmission path.
[0009] In a sixth aspect, an embodiment of the present application provides an electronic device, comprising a processor, a memory, and a computer program stored in the memory and capable of running on the processor, when the computer program is executed by the processor, the steps of the above dynamic routing method are implemented.
[0010] In a seventh aspect, an embodiment of the present application provides a computer readable storage medium, the computer readable storage medium storing a computer program, when the computer program is executed by a processor, the steps of the above dynamic routing method are implemented.
[0011] In an eighth aspect, an embodiment of the present application provides a computer program product, comprising a computer program which, when executed by a processor, implements the steps of the dynamic routing method described above.
[0012] As can be seen from the technical solutions provided by the embodiments of the present application, the embodiments of the present application periodically monitor the states of multiple tunnels, obtain performance indicators of the multiple tunnels, the multiple tunnels being multiple logical tunnels obtained by respectively encapsulating multiple network interfaces, determine a routing decision according to the performance indicators of the multiple tunnels and a preset strategy, the routing decision comprising information of a transmission path, the transmission path being a tunnel selected from the multiple tunnels, and send the routing decision to a terminal through the transmission path so that the terminal performs routing and data transmission, thereby realizing intelligent dynamic routing optimization, dynamically adjusting the data transmission path, and significantly improving the reliability of data transmission and the stability of a communication link, and improving the transmission performance of the network. BRIEF DESCRIPTION OF DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the drawings needed to be used in the embodiments or the prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments described in the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0014] Figure 1 A flowchart of a dynamic routing method provided by an embodiment of the present application; Figure 2 A flowchart of establishing two VxLAN tunnels provided by an embodiment of the present application; Figure 3 A flowchart of monitoring tunnel states provided by an embodiment of the present application; Figure 4 A flowchart of another dynamic routing method provided by an embodiment of the present application; Figure 5 A flowchart of a terminal dynamically updating routing provided by an embodiment of the present application; Figure 6 A flowchart of another dynamic routing method provided by an embodiment of the present application; Figure 7 A structural diagram of a dynamic routing device provided by an embodiment of the present application; Figure 8 A structural diagram of another dynamic routing device provided by an embodiment of the present application; Figure 9 A structural diagram of an electronic device provided by an embodiment of the present application. Detailed Implementation
[0015] This application provides a dynamic routing method, apparatus, and electronic device.
[0016] To enable those skilled in the art to better understand the technical solutions in this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of this application.
[0017] The dynamic routing method and apparatus provided in this application can be applied to electronic devices, which can be terminals or servers. The server can be a standalone server, a server cluster consisting of multiple servers, or a cloud server capable of cloud computing; the specific implementation is not limited. The terminal can be a device such as a personal computer, a mobile terminal such as a mobile phone or tablet, or a smart wearable device, an in-vehicle terminal, etc.; the specific implementation is not limited.
[0018] The aforementioned dynamic routing methods and devices can be applied to a variety of fields, including but not limited to: environmental monitoring, industrial robot control, real-time acquisition of production line status, remote equipment monitoring, smart grids, smart transportation, smart buildings, etc., and are especially suitable for industrial Internet of Things (IoT) environments with extremely high requirements for communication reliability and real-time performance.
[0019] For example, it can be applied to scenarios such as data center power and environment monitoring, real-time monitoring of cooling and power supply systems, real-time data collection of equipment status in industrial production lines, dynamic routing decision-making on servers in smart transportation, and routing switching and data transmission on sensor devices for fire protection and security in smart buildings.
[0020] The aforementioned dynamic routing method and apparatus, based on multiple logical tunnels for routing and data transmission, achieve intelligent dynamic routing optimization, dynamically adjust data transmission paths, significantly improve the reliability of data transmission and the stability of communication links, and enhance network transmission performance.
[0021] like Figure 1 As shown in the figure, this application embodiment provides a dynamic routing method applied to a server, which may include the following steps: S102: Regularly monitor the status of multiple tunnels and obtain their performance indicators.
[0022] Among them, the aforementioned multiple tunnels include at least two tunnels, such as two, three, or five tunnels, etc., and there is no specific limitation.
[0023] The aforementioned multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. Each logical tunnel corresponds to a network, and each network has an interface connecting to the corresponding logical tunnel, which corresponds to an Internet Protocol (IP) address. By constructing a unified logical tunnel above the IP layer through network virtualization encapsulation technology, seamless interoperability across heterogeneous networks can be achieved.
[0024] In this application embodiment, the above-mentioned multiple networks include, but are not limited to, 5G networks, WiFi networks or satellite networks, etc., which are applicable to a wide range of environments, such as field operation environments such as power inspection and geological exploration, or complex industrial environments where multiple protocol devices coexist.
[0025] In this embodiment, network virtualization encapsulation technology can be used to construct logical tunnels, such as using Virtual Extensible Local Area Network (VxLAN) as the tunnel encapsulation technology. VxLAN is a UDP-based Layer 3 network overlay technology that can build virtual Layer 2 networks on existing IP networks. VxLAN has a large identifier space, a 24-bit Virtual Network Identifier (VNI), is decoupled from the physical network, and has a high degree of standardization. It can realize a unified logical transmission channel across heterogeneous access networks, support wireless data transmission across subnets and wide area networks, and adapt to the needs of large-scale IoT.
[0026] For example, see Figure 2 Two VxLAN tunnels are established, one for the 5G network and one for the WiFi network. The 5G network has a VNI of 100 and is bound to the interface of its corresponding VxLAN tunnel; this tunnel is used to carry high-performance, low-latency services. The WiFi network has a VNI of 200 and is bound to the interface of its corresponding VxLAN tunnel; this tunnel is used to provide stable backup or carry low-speed services.
[0027] In this embodiment of the application, step S102 may include: Periodically send probe messages to the interface of each of the multiple tunnels; Receive the response messages returned by the interface of each tunnel; The performance metrics of multiple tunnels are obtained based on the received response messages.
[0028] The period for sending probe messages can be preset, such as once every 500ms, and the specific value is not limited.
[0029] In this embodiment of the application, the performance indicators of the tunnel may include a variety of factors, such as at least one of the following: round-trip time (RTT), packet loss rate, bandwidth, and reachability.
[0030] In this embodiment of the application, the above-mentioned probe message can be: Internet Control Message Protocol (ICMP) Echo request message or User Datagram Protocol (UDP) probe packet, etc., or a custom message format such as a message containing a timestamp and / or sequence number, etc., which is not limited in specific terms.
[0031] In this embodiment, the server can statistically analyze the performance metrics of each tunnel based on the received response messages, and can also record whether the tunnel status is up to standard or not. For example, if the RTT of a VxLAN-5G tunnel is <50ms and the packet loss rate is <1%, the tunnel status is recorded as up to standard, representing a "good" status. If the RTT of a VxLAN-WiFi tunnel is >100ms or the packet loss rate is >5%, the tunnel status is recorded as not up to standard, representing a "degraded" status.
[0032] The mechanism for parallel probing of multiple tunnels in this application embodiment enables parallel performance data collection on multiple heterogeneous links, ensuring that the server can continuously monitor the availability and quality differences of different links, providing a complete decision-making basis for subsequent route optimization. Probing is conducted via targeted sending and receiving through the tunnel virtual interface, enabling independent evaluation of tunnel layer performance and avoiding interference from fluctuations in the underlying links.
[0033] S104: Determine a routing decision based on the performance indicators of multiple tunnels and a preset strategy. The routing decision includes information about the transmission path, which is a tunnel selected from multiple tunnels.
[0034] In this embodiment of the application, the step S104 above, which determines the routing decision based on the performance indicators of multiple tunnels and a preset strategy, may include: The aforementioned multiple tunnels include at least the first tunnel and the second tunnel, with the first tunnel having a higher priority than the second tunnel. If the performance indicators of both the first tunnel and the second tunnel meet the standards, the first tunnel will be selected as the transmission path. If the performance indicators of the first tunnel continue to fail to meet the standards while the performance indicators of the second tunnel meet the standards, it is determined to switch from the first tunnel to the second tunnel as the transmission path. Once the performance indicators of the first tunnel have recovered and met the standards, it will be determined to switch from the second tunnel to the first tunnel as the transmission path.
[0035] The aforementioned routing decision-making process enables adaptive and intelligent path selection under multi-link conditions, ensuring that the transmission path is always in an optimal state. For example, it can guarantee that when a high-priority tunnel is continuously unsatisfactory, it can switch to a low-priority tunnel that is in good condition, and when a high-priority tunnel recovers and stably meets the requirements, it can switch back to a high-priority tunnel, realizing dynamic routing and intelligent tunnel switching.
[0036] In this embodiment of the application, performance index failure means that the performance index is higher than the first threshold, and performance index compliance means that the performance index is lower than the second threshold, wherein the first threshold is greater than the second threshold.
[0037] For example, the first threshold is 100ms, and RTT>100ms means that RTT is not up to standard. The second threshold is 50ms, and RTT<50ms means that RTT is up to standard. The first threshold of 100ms is greater than the second threshold of 50ms.
[0038] For example, the first threshold is 5%, and a packet loss rate > 5% means the packet loss rate is not up to standard. The second threshold is 2%, and a packet loss rate < 2% means the packet loss rate meets the standard.
[0039] In this embodiment of the application, the performance indicators of the first tunnel continuously failing to meet the standards include: the performance indicators of the first tunnel continuously failing to meet the standards for a first duration, or the number of times the performance indicators of the first tunnel fail to meet the standards reaches the first time.
[0040] The first duration can be preset, such as 50ms, 1s, or 2s, and the specific value is not limited. For example, if the performance indicators of the first tunnel fail to meet the standards for 1 second, the system will switch from the first tunnel to the second tunnel.
[0041] The number of times for the first attempt can be preset, such as 3, 5, or 10 times, with no specific limit on the value. For example, if the performance indicators of the first tunnel fail to meet the standards for three consecutive times, the system will switch from the first tunnel to the second tunnel.
[0042] For example, if the performance metrics of both the VxLAN-5G tunnel and the VxLAN-WiFi tunnel meet the standards, the VxLAN-5G tunnel will be used first. If the RTT of the VxLAN-5G tunnel is consistently >100ms and / or the packet loss rate is consistently >5% (for a certain duration or number of occurrences), and the performance metrics of the VxLAN-WiFi tunnel still meet the standards (e.g., RTT <80ms), then switch to the VxLAN-WiFi tunnel. When the RTT of the VxLAN-5G tunnel recovers to <50ms and remains stable (for a certain duration or number of occurrences), then switch back to the VxLAN-5G tunnel.
[0043] This application embodiment determines whether the performance indicators are continuously substandard by the duration or number of times, and the conditions for switching out of the tunnel are stricter than the conditions for switching into the tunnel (i.e., the first threshold is greater than the second threshold). This can filter short-term fluctuations, avoid frequent switching caused by instantaneous network jitter, improve anti-jitter capability, and improve system stability.
[0044] See Figure 3 In a scenario where both VxLAN-5G and VxLAN-WiFi tunnels are established, the process by which the server obtains the performance metrics of these two tunnels can include: the server periodically sends ICMP Echorequest messages to the interface of each tunnel and receives response messages returned by each interface. The server calculates the RTT and packet loss rate of the received response messages. If the RTT of the VxLAN-5G tunnel is <50ms and / or the packet loss rate is <2%, the performance metrics of the VxLAN-5G tunnel meet the standards, indicating that the 5G network signal is good, and the VxLAN-5G tunnel is selected as the transmission path, with data transmitted through the VxLAN-5G tunnel. If the RTT of the VxLAN-5G tunnel is >100ms and / or the packet loss rate is >5%, the performance metrics of the VxLAN-5G tunnel do not meet the standards, indicating that the 5G network signal is deteriorating, and the VxLAN-WiFi tunnel is selected as the transmission path, automatically switching to the VxLAN-WiFi tunnel, with data transmitted through the VxLAN-WiFi tunnel.
[0045] Additionally, when all tunnel performance indicators fail to meet the standards, i.e., when all tunnels are unavailable, an alarm can be triggered, or a reconnection attempt can be made.
[0046] S106: Update the local routing rules based on the above routing decisions.
[0047] The server has stored routing rules locally. These rules can be in the form of a routing table, which includes various information about the transmission path, such as VNI, interface, and the IP address corresponding to the interface.
[0048] For example, if the routing decision determines to switch from the first tunnel to the second tunnel, the server can modify the interface of the first tunnel in the routing rules to the interface of the second tunnel, thereby realizing the route update.
[0049] S108: The routing decision is sent to the terminal through the above transmission path. The routing decision is used by the terminal for routing and data transmission.
[0050] The server can encapsulate routing decisions into control messages and send them to the terminal through currently available tunnels, such as by sending routing decisions to the terminal via Transmission Control Protocol (TCP) messages.
[0051] In this embodiment, the server can also periodically send heartbeat messages or status synchronization messages to the terminal to dynamically synchronize routing decisions and tunnel status information. For example, the server sends a status synchronization message or heartbeat message to the terminal every 500ms to ensure that the terminal's status is consistent with the server's. Thus, the terminal can automatically update its local routing rules based on the latest routing decisions, ensuring that data is transmitted along the optimal path without manual intervention.
[0052] In addition, each time the server and terminal synchronize routing decisions, they can also perform two-way authentication, such as authentication based on the national cryptographic SM2 / 4 algorithm, which can effectively avoid illegal attacks and improve security.
[0053] The method provided in this application embodiment periodically monitors the status of multiple tunnels to obtain their performance indicators. These multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. A routing decision is determined based on the performance indicators of the multiple tunnels and a preset strategy. This routing decision includes transmission path information, which is a tunnel selected from the multiple tunnels. The routing decision is sent to the terminal via the transmission path so that the terminal can perform routing and data transmission. By performing routing and data transmission based on multiple logical tunnels, intelligent dynamic routing optimization is achieved, dynamically adjusting the data transmission path, significantly improving the reliability of data transmission and the stability of the communication link. This enhances network transmission performance and effectively meets the stringent communication requirements of high-real-time and high-reliability application scenarios such as industrial automation, remote monitoring, and the Industrial Internet of Things.
[0054] Moreover, the aforementioned method intelligently and dynamically coordinates the heterogeneous bandwidth resources of various networks, avoiding excessive congestion or idleness of some link resources, fully leveraging the maximum efficiency of network resources, improving overall network resource utilization, and enhancing overall network performance. This significantly improves communication assurance capabilities in high-reliability scenarios such as industrial monitoring, data centers, and smart cities. Furthermore, it achieves seamless interconnection between cross-protocol devices, improving compatibility and collaborative capabilities among various device types, reducing deployment complexity and costs, and providing a scalable solution capable of flexibly addressing diverse future business needs.
[0055] like Figure 4 As shown in the figure, this application embodiment provides another dynamic routing method, applied to a terminal, which may include the following steps: S402: Receive routing decisions sent by the server, which include information about the transmission path.
[0056] The transmission path is a tunnel selected from multiple tunnels, which are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively.
[0057] For example, the server pre-establishes two VxLAN tunnels, one for the 5G network and the other for the WiFi network. Based on the status of the two tunnels, the server determines a routing decision and sends it to the terminal. This routing decision includes the VNI and interface information of the VxLAN tunnel corresponding to the WiFi network.
[0058] S404: Update local routing rules based on routing decisions.
[0059] The terminal has stored routing rules locally. These routing rules can be in the form of a routing table, which includes various information about the current transmission path, i.e., the tunnel, such as the VNI, the interface, and the IP address corresponding to the interface.
[0060] For example, if the transmission path in the above routing decision is a VxLAN tunnel of a WiFi network, but the terminal is currently using a VxLAN tunnel of a 5G network, then after receiving the routing decision, the terminal immediately updates its local routing rules, modifying the VxLAN tunnel information of the 5G network to the VxLAN tunnel information of the WiFi network, such as VNI and interface, thereby realizing the route update.
[0061] For example, a terminal can update its routing table using the ip rule or ip route command.
[0062] S406: Use the transmission path for data transmission.
[0063] See Figure 5 The dynamic routing method described above may include the following steps: The server executes a routing decision algorithm to obtain a routing decision, which is then sent to the terminal via a control message. The terminal receives and parses the control message to obtain the routing decision, and then updates its local routing table. When data arrives, the terminal forwards the data flow according to the updated routing table.
[0064] In this embodiment, the terminal can run a built-in routing proxy service to receive and parse control messages sent by the server to obtain routing decisions. Based on the obtained routing decisions, if the server has selected a new transmission path, the terminal immediately updates its local routing rules, thereby enabling it to use the new transmission path for data transmission and directing service traffic to the updated tunnel.
[0065] The above process can complete the switching within tens of milliseconds, ensuring that the service flow is not interrupted during the link switching process and meeting the requirements of data transmission for real-time performance and reliability.
[0066] It should be noted that the server periodically monitors the status of each tunnel. Once a transmission path change occurs again, the server switches to the new tunnel and immediately synchronizes the routing decision with the terminal. Upon receiving the new routing decision, the terminal also immediately switches to the new tunnel, thus maintaining consistency in the status of both the server and the terminal. Even in the event of link failure or performance degradation, it can achieve fast (≤50ms) seamless switching, significantly improving the stability and robustness of communication.
[0067] The method provided in this application embodiment receives routing decisions sent by a server, which include transmission path information. It updates local routing rules according to the routing decisions, uses the transmission path for data transmission, and dynamically adjusts the data transmission path based on the server's routing decisions. This ensures that the data stream is transmitted according to the latest transmission path in the routing decisions, which not only achieves intelligent dynamic routing optimization, but also significantly improves the reliability of data transmission and the stability of communication links, as well as the efficiency of data transmission, thereby enhancing the transmission performance of the network.
[0068] This application provides a dynamic routing system, including: The server is used to periodically monitor the status of multiple tunnels and obtain their performance metrics. The multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. The server determines routing decisions based on the performance metrics of the multiple tunnels and preset policies. The routing decisions include information about the transmission path, which is a tunnel selected from the multiple tunnels. The routing decisions are then sent to the terminal through the transmission path. The terminal is used to receive routing decisions sent by the server, update local routing rules according to the routing decisions, and use the transmission path for data transmission.
[0069] See Figure 6 The process of the above system executing the dynamic routing method can be as follows: The server periodically uses ICMP probe messages to monitor the status of the VxLAN-5G tunnel and the VxLAN-WiFi tunnel. Based on the probe results returned by the two tunnels, the server compares the tunnel performance metrics such as RTT or packet loss rate. The server dynamically selects the optimal tunnel and synchronizes the routing decision to the terminal. Upon receiving the decision, the terminal updates its local routing table. When a data stream arrives, it sends the data stream according to the updated preferred tunnel. The server sends a synchronization heartbeat to the terminal every 500ms to synchronize the routing status of both parties. The server monitors whether any tunnel can resume transmission. If the server detects that a tunnel has resumed transmission, it can switch to the resumed tunnel and notify the terminal that it can switch to the resumed tunnel for data transmission.
[0070] The system provided in this application embodiment periodically monitors the status of multiple tunnels and obtains their performance indicators. These multiple tunnels are logical tunnels obtained by encapsulating interfaces of multiple networks. Routing decisions are determined based on the performance indicators of the multiple tunnels and a preset strategy. The routing decision includes transmission path information, where the transmission path is a tunnel selected from the multiple tunnels. The routing decision is sent to the terminal via the transmission path. The terminal receives the routing decision from the server, updates its local routing rules based on the routing decision, and uses the transmission path for data transmission. This enables intelligent dynamic routing optimization, dynamically adjusting the data transmission path, significantly improving the reliability of data transmission and the stability of the communication link, enhancing network transmission performance, and effectively meeting the stringent communication requirements of high-real-time and high-reliability application scenarios such as industrial automation, remote monitoring, and the Industrial Internet of Things.
[0071] Furthermore, based on a reliable transmission mechanism with multi-tunnel redundancy, it can automatically switch to another tunnel if one tunnel fails, improving communication reliability and effectively enhancing the network's resilience against single points of failure, meeting the stringent reliability requirements of industrial applications. Through real-time link status detection and intelligent routing decision algorithms, it can cope with network congestion and state changes, improving network transmission performance, reducing latency, and increasing throughput. It ensures that in the event of tunnel performance degradation or interruption, it can rapidly switch to the optimal backup path within milliseconds, guaranteeing the continuity and stability of data transmission.
[0072] Based on the same idea as the dynamic routing method provided in the embodiments of this application, the embodiments of this application also provide a dynamic routing device, such as... Figure 7 As shown, when applied to a server, the device may include: The monitoring module 701 is used to periodically monitor the status of multiple tunnels and obtain the performance indicators of multiple tunnels. The multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively.
[0073] The decision module 702 is used to determine the routing decision based on the performance indicators of multiple tunnels and the preset strategy. The routing decision includes the transmission path information, and the transmission path is a tunnel selected from multiple tunnels.
[0074] Update module 703 is used to update local routing rules based on routing decisions.
[0075] The sending module 704 is used to send routing decisions to the terminal through the transmission path. The routing decisions are used by the terminal for routing and data transmission.
[0076] In this embodiment of the application, the monitoring module 701 is specifically used for: Periodically send probe messages to the interface of each of the multiple tunnels; Receive the response messages returned by the interface of each tunnel; The performance metrics of multiple tunnels are obtained based on the received response messages.
[0077] In this embodiment, the multiple tunnels include at least a first tunnel and a second tunnel, with the first tunnel having a higher priority than the second tunnel; the decision module 702 is specifically used for: If the performance indicators of both the first tunnel and the second tunnel meet the standards, the first tunnel will be selected as the transmission path. If the performance indicators of the first tunnel continue to fail to meet the standards while the performance indicators of the second tunnel meet the standards, it is determined to switch from the first tunnel to the second tunnel as the transmission path. Once the performance indicators of the first tunnel have recovered and met the standards, it will be determined to switch from the second tunnel to the first tunnel as the transmission path.
[0078] In this embodiment of the application, the above-mentioned performance index failure means that the performance index is higher than the first threshold, and the performance index compliance means that the performance index is lower than the second threshold, wherein the first threshold is greater than the second threshold.
[0079] In this embodiment of the application, the performance indicators of the first tunnel continuously failing to meet the standards include: the performance indicators of the first tunnel continuously failing to meet the standards for a first duration, or the number of times the performance indicators of the first tunnel fail to meet the standards reaches the first time.
[0080] The apparatus provided in this application embodiment can execute the method provided in any of the above-mentioned method embodiments with the server as the execution subject. For details, please refer to the description in the method embodiments, which will not be repeated here.
[0081] The apparatus provided in this application provides the following: By periodically monitoring the status of multiple tunnels and obtaining their performance indicators, these multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. A routing decision is determined based on the performance indicators of the multiple tunnels and a preset strategy. This routing decision includes transmission path information, where the transmission path is a tunnel selected from the multiple tunnels. The routing decision is sent to the terminal via the transmission path so that the terminal can perform routing and data transmission. By performing routing and data transmission based on multiple logical tunnels, intelligent dynamic routing optimization is achieved, dynamically adjusting the data transmission path, significantly improving the reliability of data transmission and the stability of communication links. This enhances network transmission performance and effectively meets the stringent communication requirements of high-real-time and high-reliability application scenarios such as industrial automation, remote monitoring, and the Industrial Internet of Things. Furthermore, it intelligently and dynamically coordinates the use of heterogeneous bandwidth resources from multiple networks, avoiding excessive congestion or idleness of some link resources, maximizing the efficiency of network resources, improving overall network resource utilization, and enhancing overall network performance. This significantly improves the communication assurance capabilities of high-reliability scenarios such as industrial monitoring, data centers, and smart cities. In addition, it enables seamless interconnection between cross-protocol devices, improves compatibility and collaborative capabilities among various device types, reduces deployment complexity and costs, and provides scalable solutions that can flexibly meet diverse future business needs.
[0082] like Figure 8 As shown in the illustration, this application also provides a dynamic routing device applied to a terminal, comprising: The receiving module 801 is used to receive routing decisions sent by the server. The routing decisions include information about the transmission path. The transmission path is a tunnel selected from multiple tunnels. The multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively.
[0083] Update module 802 is used to update local routing rules based on routing decisions.
[0084] The transmission module 803 is used for data transmission using a transmission path.
[0085] The apparatus provided in this application embodiment can execute the method provided in any of the above-mentioned method embodiments with a terminal as the execution subject. For details, please refer to the description in the method embodiments, which will not be repeated here.
[0086] The apparatus provided in this application embodiment receives routing decisions sent by a server, the routing decisions including transmission path information, updates local routing rules according to the routing decisions, uses the transmission path for data transmission, and dynamically adjusts the data transmission path based on the server's routing decisions to ensure that the data stream is transmitted according to the latest transmission path in the routing decisions. This not only achieves intelligent dynamic routing optimization, but also significantly improves the reliability of data transmission and the stability of communication links, as well as improves data transmission efficiency, thereby enhancing the network's transmission performance.
[0087] Figure 9 This is a schematic diagram of the hardware structure of an electronic device to implement the various embodiments of this application. The electronic device 900 includes, but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, a processor 910, and a power supply 911, etc. Those skilled in the art will understand that... Figure 9 The electronic device structures shown are not intended to limit the electronic device. An electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements. In the embodiments of this application, the electronic device includes, but is not limited to, mobile phones, tablets, laptops, PDAs, in-vehicle terminals, wearable devices, and pedometers.
[0088] In one implementation, the processor 910 is used to periodically monitor the status of multiple tunnels, obtain the performance indicators of the multiple tunnels, wherein the multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively; determine routing decisions based on the performance indicators of the multiple tunnels and preset policies, wherein the routing decisions include information on the transmission path, and the transmission path is a tunnel selected from the multiple tunnels; and update local routing rules based on the routing decisions. The radio frequency unit 901 is used to send routing decisions to the terminal through the transmission path. The routing decisions are used by the terminal for routing and data transmission.
[0089] The electronic device provided in this application embodiment periodically monitors the status of multiple tunnels to obtain their performance indicators. These multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. A routing decision is determined based on the performance indicators of the multiple tunnels and a preset strategy. This routing decision includes information about the transmission path, which is a tunnel selected from the multiple tunnels. The routing decision is sent to the terminal via the transmission path so that the terminal can perform routing and data transmission. By performing routing and data transmission based on multiple logical tunnels, intelligent dynamic routing optimization is achieved, dynamically adjusting the data transmission path, significantly improving the reliability of data transmission and the stability of the communication link, and enhancing the network's transmission performance.
[0090] In one implementation, the radio frequency unit 901 is used to receive routing decisions sent by the server. The routing decisions include information about the transmission path, which is a tunnel selected from multiple tunnels. The multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively. Data is transmitted using the transmission path.
[0091] Processor 910 is used to update local routing rules based on routing decisions; The electronic device provided in this application embodiment receives routing decisions sent by a server, the routing decisions including transmission path information, updates local routing rules according to the routing decisions, uses the transmission path for data transmission, and dynamically adjusts the data transmission path based on the server's routing decisions to ensure that the data stream is transmitted according to the latest transmission path in the routing decisions. This not only realizes intelligent dynamic routing optimization, but also significantly improves the reliability of data transmission and the stability of communication links, as well as improves data transmission efficiency, and can enhance the transmission performance of the network.
[0092] It should be understood that, in this embodiment, the radio frequency unit 901 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink data from the base station and processes it with the processor 910; additionally, it transmits uplink data to the base station. Typically, the radio frequency unit 901 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, etc. Furthermore, the radio frequency unit 901 can also communicate with networks and other electronic devices through a wireless communication system.
[0093] The electronic device provides users with wireless broadband internet access through the network module 902, such as helping users send and receive emails, browse web pages, and access streaming media.
[0094] The audio output unit 903 can convert audio data received by the radio frequency unit 901 or the network module 902 or stored in the memory 909 into audio signals and output them as sound. Furthermore, the audio output unit 903 can also provide audio output related to specific functions performed by the electronic device 900 (e.g., call signal reception sound, message reception sound, etc.). The audio output unit 903 includes a speaker, a buzzer, and a receiver, etc.
[0095] Input unit 904 is used to receive audio or video signals. Input unit 904 may include a graphics processing unit (GPU) 9041 and a microphone 9042. The GPU 9041 processes image data of still images or videos acquired by an image capture device (such as a camera) in video capture mode or image capture mode. The processed image frames can be displayed on display unit 906. The image frames processed by GPU 9041 can be stored in memory 909 (or other storage media) or transmitted via radio frequency unit 901 or network module 902. Microphone 9042 can receive sound and process such sound into audio data. The processed audio data can be converted into a format that can be transmitted to a mobile communication base station via radio frequency unit 901 in telephone call mode.
[0096] The electronic device 900 also includes at least one sensor 905, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor includes an ambient light sensor and a proximity sensor. The ambient light sensor can adjust the brightness of the display panel 9061 according to the ambient light level, and the proximity sensor can turn off the display panel 9061 and / or backlight when the electronic device 900 is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes). When stationary, it can detect the magnitude and direction of gravity and can be used to identify the posture of the electronic device (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc. The sensor 905 may also include a fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, infrared sensor, etc., which will not be described in detail here.
[0097] The display unit 906 is used to display information input by the user or information provided to the user. The display unit 906 may include a display panel 9061, which may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
[0098] User input unit 907 can be used to receive input numerical or character information, and to generate key signal inputs related to user settings and function control of electronic devices. Specifically, user input unit 907 includes a touch panel 9071 and other input devices 9072. Touch panel 9071, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near touch panel 9071). Touch panel 9071 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to processor 910, which receives and executes commands from processor 910. In addition, touch panel 9071 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to touch panel 9071, user input unit 907 may also include other input devices 9072. Specifically, other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, joysticks, etc., which will not be described in detail here.
[0099] Furthermore, the touch panel 9071 can cover the display panel 9061. When the touch panel 9071 detects a touch operation on or near it, it transmits the information to the processor 910 to determine the type of touch event. Subsequently, the processor 910 provides corresponding visual output on the display panel 9061 based on the type of touch event. Although in Figure 9 In this embodiment, the touch panel 9071 and the display panel 9061 are two independent components to realize the input and output functions of the electronic device. However, in some embodiments, the touch panel 9071 and the display panel 9061 can be integrated to realize the input and output functions of the electronic device. The specific implementation is not limited here.
[0100] Interface unit 908 serves as an interface for connecting external devices to electronic device 900. For example, external devices may include a wired or wireless headphone port, an external power supply (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, an audio input / output (I / O) port, a video I / O port, a headphone port, and so on. Interface unit 908 can be used to receive input from external devices (e.g., data, power, etc.) and transmit the received input to one or more components within electronic device 900, or it can be used to transmit data between electronic device 900 and external devices.
[0101] The memory 909 can be used to store software programs and various data. The memory 909 may primarily include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback, image playback, etc.), etc.; the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory 909 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.
[0102] The processor 910 is the control center of the electronic device. It connects various parts of the electronic device via various interfaces and lines. By running or executing software programs and / or modules stored in the memory 909, and by calling data stored in the memory 909, it performs various functions and processes data, thereby providing overall monitoring of the electronic device. The processor 910 may include one or more processing units; preferably, the processor 910 may integrate an application processor and a modem processor. The application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into the processor 910.
[0103] The electronic device 900 may also include a power supply 911 (such as a battery) that supplies power to various components. Preferably, the power supply 911 can be logically connected to the processor 910 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system.
[0104] Preferably, this application embodiment also provides an electronic device, including a processor 910, a memory 909, and a computer program stored in the memory 909 and executable on the processor 910. When the computer program is executed by the processor 910, it implements the various processes of the above method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0105] This application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the various processes of the above method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0106] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0107] The computer-readable storage medium provided in this application embodiment periodically monitors the status of multiple tunnels to obtain their performance indicators. These multiple tunnels are logical tunnels obtained by encapsulating the interfaces of multiple networks. A routing decision is determined based on the performance indicators of the multiple tunnels and a preset strategy. This routing decision includes information about the transmission path, which is a tunnel selected from the multiple tunnels. The routing decision is sent to the terminal via the transmission path so that the terminal can perform routing and data transmission. By performing routing and data transmission based on multiple logical tunnels, intelligent dynamic routing optimization is achieved, dynamically adjusting the data transmission path, significantly improving the reliability of data transmission and the stability of the communication link. This enhances network transmission performance and effectively meets the stringent communication requirements of high-real-time and high-reliability application scenarios such as industrial automation, remote monitoring, and the Industrial Internet of Things.
[0108] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0109] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0110] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0111] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0112] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0113] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0114] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0115] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0116] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A dynamic routing method, characterized in that, Applied to a server, the method includes: The status of multiple tunnels is monitored regularly to obtain the performance indicators of the multiple tunnels. The multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively. A routing decision is determined based on the performance indicators of the plurality of tunnels and a preset strategy. The routing decision includes information about the transmission path, which is a tunnel selected from the plurality of tunnels. Update the local routing rules based on the routing decision; The routing decision is sent to the terminal through the transmission path, and the routing decision is used by the terminal for routing and data transmission.
2. The method according to claim 1, characterized in that, The periodic monitoring of the status of multiple tunnels and the acquisition of performance indicators of the multiple tunnels include: Periodically send probe messages to the interface of each of the multiple tunnels; Receive the response message returned by the interface of each tunnel; The performance metrics of the multiple tunnels are obtained based on the received response messages.
3. The method according to claim 1, characterized in that, The step of determining routing decisions based on the performance indicators of the multiple tunnels and preset strategies includes: The plurality of tunnels includes at least a first tunnel and a second tunnel, wherein the first tunnel has a higher priority than the second tunnel; If the performance indicators of both the first tunnel and the second tunnel meet the standards, the first tunnel shall be selected as the transmission path. If the performance indicators of the first tunnel continue to fail to meet the standards while the performance indicators of the second tunnel meet the standards, it is determined to switch from the first tunnel to the second tunnel as the transmission path. If the performance indicators of the first tunnel recover to the required standard, the transmission path will be switched from the second tunnel to the first tunnel.
4. The method according to claim 3, characterized in that, The performance indicator failing to meet the standard means that the performance indicator is higher than a first threshold, and the performance indicator meeting the standard means that the performance indicator is lower than a second threshold, wherein the first threshold is greater than the second threshold.
5. The method according to claim 3, characterized in that, The first tunnel's performance indicators continuously failing to meet the standards include: the first tunnel's performance indicators failing to meet the standards for a continuous period of time, or the first tunnel failing to meet the standards a certain number of times.
6. A dynamic routing method, characterized in that, Applied to a terminal, the method includes: The server receives a routing decision, which includes information about the transmission path. The transmission path is a tunnel selected from multiple tunnels, which are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks. Update the local routing rules based on the routing decision; Data is transmitted using the aforementioned transmission path.
7. A dynamic routing system, characterized in that, The system includes: The server is used to periodically monitor the status of multiple tunnels, obtain the performance indicators of the multiple tunnels, and the multiple tunnels are multiple logical tunnels obtained by encapsulating the interfaces of multiple networks respectively. The server determines a routing decision based on the performance indicators of the multiple tunnels and a preset strategy. The routing decision includes the information of the transmission path. The transmission path is a tunnel selected from the multiple tunnels. The server updates the local routing rules according to the routing decision and sends the routing decision to the terminal through the transmission path. The terminal is used to receive routing decisions sent by the server, update local routing rules according to the routing decisions, and use the transmission path for data transmission.
8. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the steps of the dynamic routing method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the steps of the dynamic routing method as described in any one of claims 1 to 6.
10. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the steps of the dynamic routing method according to any one of claims 1 to 6.