Data transmission method and device, equipment and storage medium
By switching to the secondary tunnel for data transmission in the edge computing system, the problem of data transmission interruption caused by tunnel failure on the central server side is solved, and the data transmission efficiency and consistency are improved.
Patent Information
- Application Number
- CN202410316406.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-09-19
AI Technical Summary
In an edge computing system, when a tunnel failure occurs on the central server, it will affect data transmission with the edge server, resulting in data transmission interruption and inconsistency.
When a failure occurs in the primary tunnel, data transmission is switched to the secondary tunnel, and the routing information between the primary computing node and the secondary computing node is used for data transmission, thereby ensuring the continuity and consistency of data transmission.
When the central server tunnel fails, data transmission is carried out through the secondary tunnel to avoid interruption and improve data transmission efficiency and consistency.
Smart Images

Figure CN120675931A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence, and in particular to a data transmission method, apparatus, device, and storage medium. Background Art
[0002] With the development of information technology, edge computing has become a crucial data processing method. In edge computing systems, a central server can transmit data with multiple edge servers, and each central server can communicate with each edge server through at least one tunnel. In practical applications, a central server failure (such as a tunnel-associated gateway failure) can affect data transmission with some or all edge servers. Summary of the Invention
[0003] The embodiments of the present application provide a data transmission method, apparatus, device, and storage medium, which can improve the data transmission efficiency between the edge server and the central server in the edge computing system, help maintain the transmission consistency of upstream and downstream data, and have high applicability.
[0004] In one aspect, an embodiment of the present application provides a data transmission method, which is applied to a central server of an edge computing system, wherein the edge computing system further includes an edge server, wherein the central server establishes at least one primary tunnel with the edge server via a primary computing node, and establishes at least one secondary tunnel with the edge server via a secondary computing node; the method comprising:
[0005] If at least one normal primary tunnel exists among the primary tunnels, determining first routing information from the primary computing node to the edge server, and transmitting data to the edge server through each of the normal primary tunnels based on the first routing information;
[0006] In the case where all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels;
[0007] In the case that there is at least one normal secondary tunnel among the secondary tunnels, second routing information from the secondary computing node to the edge server is determined, and data is transmitted with the edge server through each of the normal secondary tunnels based on the second routing information.
[0008] On the other hand, an embodiment of the present application provides a data transmission method, which is applied to an edge server in an edge computing system, wherein the edge computing system also includes a central server, wherein the central server establishes at least one primary tunnel with the edge server through a primary computing node, and establishes at least one secondary tunnel with the edge server through a secondary computing node; the method includes:
[0009] If at least one normal primary tunnel exists among the primary tunnels, determining third routing information from the edge server to the primary computing node, and transmitting data to the central server through each of the normal primary tunnels based on the third routing information;
[0010] In the case where all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels;
[0011] In the case that there is at least one normal secondary tunnel among the secondary tunnels, fourth routing information from the edge server to the secondary computing node is determined, and data is transmitted with the edge server through each of the normal secondary tunnels based on the fourth routing information.
[0012] On the other hand, an embodiment of the present application provides a data transmission device, the device comprising:
[0013] a data transmission module, configured to determine first routing information from the primary computing node to the edge server when at least one normal primary tunnel exists in the primary tunnels, and to transmit data to the edge server through each of the normal primary tunnels based on the first routing information;
[0014] A state determination module, configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels;
[0015] The data transmission module is configured to determine second routing information from the secondary computing node to the edge server when at least one normal secondary tunnel exists among the secondary tunnels, and transmit data to the edge server through each of the normal secondary tunnels based on the second routing information;
[0016] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0017] On the other hand, an embodiment of the present application provides a data transmission device, the device comprising:
[0018] a data transmission module, configured to determine, when at least one normal primary tunnel exists among the primary tunnels, third routing information from the edge server to the primary computing node, and perform data transmission with the central server through each of the normal primary tunnels based on the third routing information;
[0019] A state determination module, configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels;
[0020] The data transmission module is configured to determine fourth routing information from the edge server to the secondary computing node when at least one normal secondary tunnel exists among the secondary tunnels, and transmit data to the edge server through each of the normal secondary tunnels based on the fourth routing information;
[0021] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0022] On the other hand, an embodiment of the present application provides a server, including a processor and a memory, wherein the processor and the memory are connected to each other;
[0023] The memory is used to store computer programs;
[0024] The above-mentioned processor is used to execute any one or more data transmission methods provided in the embodiments of the present application when calling the above-mentioned computer program.
[0025] On the other hand, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. The computer program is executed by a processor to implement any one or more data transmission methods provided in the embodiments of the present application.
[0026] On the other hand, an embodiment of the present application provides a computer program product, which includes a computer program. When the above computer program is executed by a processor, it implements any one or more data transmission methods provided in the embodiments of the present application.
[0027] In an embodiment of the present application, when a normal primary tunnel exists between the primary computing node and the edge server, the central server can transmit data via the primary computing node and the edge server based on the normal primary tunnel. When no normal primary tunnel exists between the primary computing node and the edge server, and a normal secondary tunnel exists between the secondary computing node and the edge server, the central server can transmit data via the primary computing node and the edge server based on the normal secondary tunnel, thereby avoiding data transmission interruption caused by failure of the primary computing node or the secondary computing node and improving data transmission efficiency. In addition, the central server and the edge server can each complete tunnel switching in a closed loop, so that the central server and the edge server can synchronously use the same tunnel for data transmission, which is conducive to improving the transmission consistency of uplink and downlink data and has high applicability. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 This is a schematic diagram of the architecture of the edge computing system provided by an embodiment of the present application;
[0029] Figure 2This is a flow chart of a data transmission method provided by an embodiment of the present application;
[0030] Figure 3 This is one of the schematic diagrams of data transmission scenarios provided in the embodiments of the present application;
[0031] Figure 4 This is the second schematic diagram of the data transmission scenario provided in the embodiment of the present application;
[0032] Figure 5 This is another flowchart of the data transmission method provided by an embodiment of the present application;
[0033] Figure 6 This is the third intention of the data transmission scenario provided by the embodiment of the present application;
[0034] Figure 7 This is the fourth intention of the data transmission scenario provided by the embodiment of the present application;
[0035] Figure 8 This is one of the structural diagrams of the data transmission device provided in the embodiment of the present application;
[0036] Figure 9 This is the second structural diagram of the data transmission device provided in the embodiment of the present application;
[0037] Figure 10 It is a structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0038] The data transmission method provided in the embodiments of the present application can be applied to edge computing systems in the field of edge computing to improve the data transmission efficiency and data transmission synchronization between the central server and the edge server of the edge computing system. The edge computing system may include multiple edge servers, each of which can transmit data with the user terminal and the central server at the same time.
[0039] Compared to the central cloud, edge cloud computing is deployed farther away. It can serve as an extension of the central cloud's capabilities, getting closer to the user end and extending computing power to the "last mile." Edge servers (such as edge computer rooms) and central servers (such as central computer rooms) are generally physically separated, with direct connections between them via dedicated lines or through the public network. Based on edge computing, data collected from the user end can be analyzed directly on local network devices or networks close to where the data is generated, eliminating the need to transmit the data to a cloud data processing center. This reduces data transmission latency and bandwidth requirements while providing faster response times and higher bandwidth utilization, making data processing more real-time and efficient.
[0040] Cloud technology refers to a hosting technology that unifies hardware, software, and network resources within a wide or local area network (WAN) to enable data computing, storage, processing, and sharing. Cloud technology is a general term for network, information, integration, management platform, and application technologies used in the cloud computing business model. It can be used to form a resource pool for on-demand, flexible, and convenient use.
[0041] Cloud computing is a computing model that integrates the advancements in traditional computer and network technologies, including grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. Cloud computing distributes computing tasks across a resource pool comprised of numerous computers, enabling various application systems to access computing power, storage space, and information services as needed. The network that provides these resources is called the "cloud." These resources are infinitely scalable and can be accessed at any time, used on demand, and expanded at any time, with a pay-per-use policy.
[0042] See also Figure 1 , Figure 1 This is a schematic diagram of the architecture of the edge computing system provided by the embodiment of this application. Figure 1 As shown, the edge computing system includes a central server and an edge server. The central server can transmit data with the central intranet, and can also transmit data with the edge server.
[0043] The central server in the embodiment of the present application includes a primary computing node and a secondary computing node. The primary computing node can establish at least one primary tunnel with the edge server, such as establishing different virtual private network (VPN) tunnels (such as VPN1 and VPN2) with different gateways of the edge server. The secondary computing node can establish at least one secondary tunnel with the edge server, such as establishing different VPN tunnels (such as VPN3 and VPN4) with different gateways of the edge server.
[0044] The edge computing system may include multiple edge servers, and the communication connection relationship between each edge server and the central server may be as follows: Figure 1 The communication connection relationship shown will not be repeated here.
[0045] In an embodiment of the present application, when the central server needs to transmit data with the edge server, if there is at least one normal tunnel in each main tunnel between the main computing node and the edge server, data can be transmitted with the edge server through at least one normal main tunnel based on the first routing information between the main computing node and the edge server.
[0046] The first routing information includes routing information from the main computing node to the edge server through each main tunnel.
[0047] Furthermore, in the process of transmitting data to the edge server through the normal primary tunnel between the primary computing node and the edge server, if all the normal primary tunnels between the primary computing node and the edge server become faulty primary tunnels, then when there is a normal tunnel among the secondary tunnels between the secondary computing node and the edge server, data is transmitted to the edge server through at least one normal secondary channel through the second routing information between the secondary computing node and the edge server.
[0048] The second routing information includes routing information from the secondary computing node to the edge server through each secondary tunnel.
[0049] For example, when the central server needs to send downlink data to the edge server, if there is at least one normal tunnel in each main tunnel between the main computing node and the edge server, the downlink data can be sent to the edge server through at least one normal main tunnel based on the first routing information between the main computing node and the edge server.
[0050] Furthermore, in the process of sending downlink data through the normal primary tunnel between the primary computing node and the edge server, if all the normal primary tunnels between the primary computing node and the edge server become faulty primary tunnels, then if there is a normal tunnel among the secondary tunnels between the secondary computing node and the edge server, based on the second routing information from the secondary computing node to the edge server, the downlink data is sent to the edge server through at least one normal secondary channel, thereby completing the diversion switching of the downlink data.
[0051] Similarly, when the edge server needs to transmit data with the central server, if there is at least one normal tunnel in each main tunnel between the main computing node and the edge server, data can be transmitted with the central server through at least one normal main tunnel based on the third routing information from the edge server to the main computing node.
[0052] Furthermore, in the process of transmitting data to the central server through the normal main tunnel between the main computing node and the edge server, if all the normal main tunnels between the main computing node and the edge server become faulty main tunnels, then when there is a normal tunnel among the secondary tunnels between the secondary computing node and the edge server, data is transmitted to the central server through at least one normal secondary channel through the fourth routing information between the secondary computing node and the edge server.
[0053] For example, when the edge server needs to send uplink data to the central server, if there is at least one normal tunnel in each main tunnel between the main computing node and the edge server, the uplink data can be sent to the central server through at least one normal main tunnel based on the third routing information from the edge server to the main computing node.
[0054] Furthermore, in the process of sending uplink data through the normal main tunnel between the main computing node and the edge server, if all the normal main tunnels between the main computing node and the edge server become faulty main tunnels, then in the case that there is a normal tunnel among the secondary tunnels between the secondary computing node and the edge server, based on the fourth routing information from the edge server to the secondary computing node, the uplink data is sent to the central server through at least one normal secondary channel, thereby completing the diversion switching of the uplink data.
[0055] It should be noted that each computing node in the primary computing node and the secondary computing node can be a server cluster or distributed system composed of multiple physical servers, or a central computer room that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, and big data and artificial intelligence platforms. It can also be a server cluster in a data center network (DCN), a data center interconnect (DCI), or a software-defined network (SDN), without limitation. The central server is a server cluster composed of multiple servers corresponding to the primary computing node and the secondary computing node.
[0056] As an example, the primary computing node and the secondary computing node of the central server can be two different central computer rooms, each of which is composed of multiple servers.
[0057] The edge server can transmit data to the terminal device, which can be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, vehicle terminal, aircraft, smart home appliance (such as smart TV) or wearable device.
[0058] See also Figure 2 , Figure 2 This is a flow chart of the data transmission method provided in an embodiment of the present application.
[0059] Figure 2 The data transmission method shown can be applied to a central server in an edge computing system and may include:
[0060] S21. When there is at least one normal primary tunnel in the primary tunnels, determine first routing information from the primary computing node to the edge server, and transmit data with the edge server through each normal primary tunnel based on the first routing information.
[0061] In the embodiment of the present application, the tunnel established between the main computing node and the edge service end is called the main tunnel.
[0062] In some feasible implementations, when data transmission with the edge server is required, it may be determined whether a normal primary tunnel exists among the primary tunnels between the main computing node and the edge server.
[0063] Among them, the central server can determine the operating status of each main tunnel in real time through the main computing node, so as to determine the normal main tunnel and the faulty main tunnel in real time.
[0064] Specifically, for each primary tunnel, if the primary computing node and the first gateway associated with the primary tunnel pass the gateway health status detection, and the primary tunnel passes the link quality detection, the primary tunnel can be determined to be a normal primary tunnel. If the primary computing node and the first gateway associated with the primary tunnel fail the gateway health status detection, and / or the primary tunnel fails the link quality detection, the primary tunnel is determined to be a faulty primary tunnel.
[0065] Among them, for each main tunnel, if the first gateway associated with the main tunnel in the main computing node passes the health status detection, it means that the first gateway associated with the main tunnel in the main computing node has data sending capability, otherwise it means that the first gateway does not have data sending capability.
[0066] For each primary tunnel, if the link quality detection of the primary tunnel is passed, it means that the data can pass through the primary tunnel; otherwise, it means that the data cannot pass through the primary tunnel.
[0067] Among them, the main computing node can include at least one gateway. Each gateway of the main computing node can establish a main tunnel with the public IP of a gateway of the edge server based on the public IP address of the gateway, or establish a main tunnel with the public IP addresses of multiple gateways of the edge server respectively. The specific requirements can be determined based on the actual application scenario and are not limited here.
[0068] Among them, each gateway of the main computing node can share the same public IP address, or correspond to independent public IP addresses and intranet IP addresses respectively, without restriction here.
[0069] Specifically, for each primary tunnel, the link quality detection for the primary tunnel is performed by detecting data packets between the intranet IP address of a first gateway and the intranet IP address of a second gateway. The first gateway is the gateway associated with the primary tunnel in the main computing node, and the second gateway is the gateway associated with the primary tunnel in the edge server.
[0070] Among them, based on the routing information corresponding to the main tunnel, the intranet IP of the first gateway and the intranet IP address of the second gateway, the Internet Control Message Protocol (ICMP) ping data packet can be detected for the main tunnel. If the edge server receives the corresponding data packet, it means that the main tunnel has passed the link quality detection, otherwise it means that the main tunnel has not passed the link quality detection.
[0071] Specifically, for each primary tunnel, the gateway health status detection of the first gateway associated with the primary tunnel includes the intranet health status detection and the public network health status detection of the first gateway.
[0072] The link quality detection may be performed on the first link between the public IP address of the first gateway and the preset public IP address, and the link quality detection may be performed on the second link between the intranet IP address of the first gateway and the preset intranet IP address.
[0073] If both the first link and the second link pass the link quality test, the first gateway is in a healthy state and the master computing node has data transmission capabilities. If at least one of the first link and the second link fails the link quality test, the first gateway is in an unhealthy state and the master computing node does not have data transmission capabilities.
[0074] The preset public IP address may be the IP address of another network device associated with the primary computing node, such as the public IP address of a detector or the upper-layer switch of the primary computing node, and is not limited thereto. The preset intranet IP address may be the intranet IP address of another network associated with the primary computing node, such as the intranet IP address of a central network, and is not limited thereto.
[0075] Optionally, for each main tunnel, when any one of the first link and the second link corresponding to the main tunnel fails to pass the link quality detection, since the main computing node does not have the ability to send data, the tunnel port associated with the main tunnel in the main computing node can be closed, and / or the intranet IP address of the first gateway can be closed, so that the main tunnel cannot pass the link quality detection.
[0076] Among them, for each main tunnel, when the first link and the second link corresponding to the main tunnel pass the link quality detection, the tunnel port associated with the main tunnel in the main computing node can be reopened, and / or the intranet IP address of the first gateway can be reopened.
[0077] For each primary tunnel, after confirming that the primary tunnel itself passes the link quality test, it is necessary to further confirm the normal intranet and public network communication status of the gateway corresponding to the primary tunnel to determine whether the gateway supports data transmission. Only when the primary tunnel passes the link quality test and the corresponding gateway supports data transmission is the primary tunnel considered normal. This can avoid situations where the primary tunnel passes the link quality test but data transmission fails due to the corresponding gateway not supporting data transmission, further ensuring the effective transmission of uplink and downlink data and improving data transmission efficiency.
[0078] On the other hand, for each primary tunnel, if at least one of the first and second links corresponding to the gateway associated with the primary tunnel fails the link quality detection, the tunnel port associated with the primary tunnel in the main computing node and / or the intranet IP address of the gateway can be closed, so that the primary tunnel itself cannot pass the link quality detection. As a result, when the edge server performs a link quality detection on the primary tunnel, it also obtains the detection result that the primary tunnel cannot pass the link quality detection, so that the central server and the edge server can simultaneously determine that the primary tunnel is a faulty primary tunnel. Based on this, it can ensure that the central server and the edge server maintain the same determination results on whether each primary tunnel is a normal primary tunnel, which is conducive to improving the transmission consistency of uplink and downlink data.
[0079] In some feasible implementations, when the main tunnels between the main computing node and the edge service end are all normal main tunnels, for each normal main tunnel, data transmission can be performed through the normal main tunnel based on the routing information corresponding to the normal main tunnel in the first routing information.
[0080] As an example, see Figure 3 , Figure 3 This is one of the schematic diagrams of data transmission scenarios provided by the embodiment of this application. Figure 3 As shown in the figure, if the main tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 and VPN2 are both normal main tunnels, the main computing node can send downlink data to the edge server through VPN1 and VPN2 at the same time, and can also receive uplink data sent by the edge server through VPN1 and VPN2 at the same time.
[0081] When there are normal main tunnels and faulty main tunnels in the main tunnel between the main computing node and the edge service end, the routing information corresponding to each faulty main tunnel can be revoked from the first routing information from the main computing node to the edge service end, thereby preventing the main computing node from attempting to transmit data from the faulty main tunnel, thereby affecting data transmission efficiency.
[0082] Furthermore, for each remaining normal primary tunnel in the primary tunnels, data transmission may be performed through the normal primary tunnel based on the routing information corresponding to the normal primary tunnel in the first routing information.
[0083] As an example, see Figure 4 , Figure 4 This is the second schematic diagram of the data transmission scenario provided by the embodiment of this application. Figure 4 As shown, if the main tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 is a faulty main tunnel and VPN2 is a normal main tunnel, the routing information corresponding to VNP1 can be revoked from the first routing information through the main computing node, and data can be transmitted with the edge server through VPN2 according to the routing information corresponding to VPN2 in the first routing information.
[0084] For each normal primary tunnel, downlink data can be sent to the edge server through the primary tunnel based on the routing information corresponding to the normal primary tunnel in the first routing information. When uplink data sent by the edge server needs to be received through the primary computing node, the normal primary tunnel for receiving the uplink data can be determined based on the first routing information, and the uplink data sent by the edge server can be received through each normal primary tunnel.
[0085] In the case where the main tunnel includes a normal main tunnel and a faulty main tunnel, the routing information corresponding to the faulty main tunnel can be revoked by the main computing node, thereby ensuring that the main computing node directly transmits data according to the routing information corresponding to the normal main tunnel, and avoiding preventing the main computing node from attempting to transmit data from the faulty main tunnel based on the routing information corresponding to the faulty main tunnel, thereby affecting data transmission efficiency.
[0086] In some feasible implementations, when the primary tunnels between the master computing node and the edge server include a normal primary tunnel and a faulty primary tunnel, during data transmission with the edge server through each normal primary tunnel, if any primary tunnel changes from a faulty primary tunnel to a normal primary tunnel, the routing information corresponding to that primary tunnel is republished. Data transmission with the edge server is then performed through that primary tunnel based on the routing information corresponding to that primary tunnel, in addition to the original data transmission.
[0087] As an example, if the primary tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 is a faulty primary tunnel and VPN2 is a normal primary tunnel, data can be transmitted to the edge server through VPN2 according to the routing information corresponding to VPN2 in the first routing information. During the process of transmitting data through VPN2, when VPN1 becomes a normal primary tunnel again, Figure 3 As shown, data is transmitted with the edge server through VPN1 and VPN2 according to the routing information corresponding to VPN1 and VPN2 in the first routing information.
[0088] For each normal primary tunnel, downlink data can be sent to the edge server through the primary tunnel based on the routing information corresponding to the normal primary tunnel in the first routing information. When uplink data sent by the edge server needs to be received through the primary computing node, the normal primary tunnel for receiving the uplink data can be determined based on the first routing information, and the uplink data sent by the edge server can be received through each normal primary tunnel.
[0089] Among them, the downlink data in each normal main tunnel is actually sent by the central server through the main computing node, and the uplink data in each normal main tunnel is actually received by the central server through the main computing node.
[0090] During data transmission between a normal main tunnel and an edge server, when any main tunnel recovers from a faulty state, by republishing the routing information corresponding to the main tunnel, the main computing center can simultaneously transmit data with the edge server based on the routing information of the main tunnel through the main tunnel while transmitting data with the edge server based on the original normal main tunnel, thereby increasing the number of main tunnels used for data transmission and helping to improve data transmission efficiency.
[0091] S22: When all normal primary tunnels become faulty primary tunnels, determine whether there is a normal secondary tunnel among all secondary tunnels.
[0092] In the embodiment of the present application, the tunnel established between the secondary computing node and the edge server is called a secondary tunnel.
[0093] In some feasible implementations, if all normal primary tunnels between the primary computing node and the edge server become faulty during data transmission between the primary computing node and the edge server via normal primary tunnels, that is, if all primary tunnels between the primary computing node and the edge server become faulty primary tunnels, the central server will be unable to transmit data to the edge server via the primary computing node. In this case, it is necessary to determine whether any of the secondary tunnels between the secondary computing node and the edge server are normal, thereby determining whether data should be transmitted to the edge server via the secondary computing node.
[0094] The method of determining whether each secondary tunnel is a normal secondary tunnel is similar to the aforementioned method of determining whether each primary tunnel is a normal primary tunnel, and will not be described in detail here.
[0095] Optionally, for S21, when there is no normal main tunnel in the main tunnel between the main computing node and the edge server, it is also necessary to determine whether there is a normal secondary tunnel in the secondary tunnel between the secondary computing node and the edge server, so as to determine whether data transmission is performed through the secondary computing node and the edge server.
[0096] S23: When there is at least one normal secondary tunnel in the secondary tunnels, determine second routing information from the secondary computing node to the edge server, and transmit data with the edge server through each normal secondary tunnel based on the second routing information.
[0097] In some feasible implementations, when all the primary tunnels between the primary computing node and the edge server are faulty primary tunnels, if there is at least one normal secondary tunnel in the secondary tunnels, the second routing information from the secondary computing node to the edge server can be determined, and then based on the second routing information, data can be transmitted with the edge server through each normal secondary tunnel.
[0098] Specifically, when the secondary tunnels between the secondary computing node and the edge server are all normal secondary tunnels, for each normal secondary tunnel, data can be transmitted through the normal secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the second routing information.
[0099] As an example, if the secondary tunnels established between the secondary computing node and the edge server are VPN3 and VPN4, when VPN3 and VPN4 are both normal secondary tunnels, the secondary computing node can send downlink data to the edge server through VPN3 and VPN4 at the same time, and can also receive uplink data sent by the edge server through VPN3 and VPN4 at the same time.
[0100] When there are normal secondary tunnels and faulty secondary tunnels in the secondary tunnels between the secondary computing node and the edge service end, the routing information corresponding to each faulty secondary tunnel can be revoked from the first routing information from the secondary computing node to the edge service end, thereby preventing the secondary computing node from attempting to transmit data from the faulty secondary tunnel, thereby affecting the data transmission efficiency.
[0101] Furthermore, for each remaining normal secondary tunnel in the secondary tunnels, data transmission may be performed through the normal secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the first routing information.
[0102] As an example, if the secondary tunnels established between the secondary computing node and the edge server are VPN3 and VPN4, when VPN3 is a faulty secondary tunnel and VPN4 is a normal secondary tunnel, the routing information corresponding to VNP3 can be revoked from the second routing information by the secondary computing node, and data transmission can be performed with the edge server through VPN4 based on the routing information corresponding to VPN4 in the second routing information.
[0103] For each normal secondary tunnel, downlink data may be sent to the edge server through the secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the second routing information. When uplink data sent by the edge server needs to be received through the secondary computing node, the normal secondary tunnel for receiving the uplink data may be determined based on the second routing information, and the uplink data sent by the edge server may be received through each normal secondary tunnel.
[0104] When the primary tunnels between the main computing center and the edge server fail, if there are normal secondary tunnels in the secondary tunnels between the secondary computing center and the edge server, the secondary computing center can use the routing information of each normal secondary tunnel to transmit data with the edge server through each normal secondary tunnel. The central server can thus transmit data with the edge server through the secondary computing center when the main computing center cannot transmit data, effectively ensuring the immediacy and efficiency of data transmission.
[0105] In some feasible implementations, when the secondary tunnels between the secondary computing node and the edge server include normal secondary tunnels and faulty secondary tunnels, during data transmission with the edge server through each normal secondary tunnel, if any secondary tunnel is converted from a faulty secondary tunnel to a normal secondary tunnel, the routing information corresponding to that secondary tunnel is republished. Data transmission with the edge server is then performed through that secondary tunnel based on the routing information corresponding to that secondary tunnel, in addition to the original data transmission.
[0106] As an example, if the secondary tunnels established between the secondary computing node and the edge server are VPN3 and VPN4, when VPN3 is a faulty secondary tunnel and VPN4 is a normal secondary tunnel, data transmission can be performed with the edge server through VPN4 according to the routing information corresponding to VPN4 in the first routing information. During the process of data transmission through VPN4, when VPN3 becomes a normal secondary tunnel again, Figure 3 As shown, data is transmitted with the edge server through VPN3 and VPN4 according to the routing information corresponding to VPN3 and VPN4 in the first routing information.
[0107] For each normal secondary tunnel, downlink data may be sent to the edge server through the secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the second routing information. When uplink data sent by the edge server needs to be received through the secondary computing node, the normal secondary tunnel for receiving the uplink data may be determined based on the second routing information, and the uplink data sent by the edge server may be received through each normal secondary tunnel.
[0108] The downlink data in each normal secondary tunnel is actually sent by the central server through the secondary computing node, and the uplink data in each normal secondary tunnel is actually received by the central server through the secondary computing node.
[0109] During data transmission with the edge server through normal secondary tunnels, when any secondary tunnel recovers from a faulty state, by republishing the routing information corresponding to the secondary tunnel, the secondary computing center can simultaneously transmit data with the edge server based on the routing information of the secondary tunnel through the secondary tunnel while transmitting data with the edge server based on the original normal secondary tunnel, thereby increasing the number of secondary tunnels used for data transmission and helping to improve data transmission efficiency.
[0110] In an embodiment of the present application, when data is transmitted through multiple normal main tunnels, the data transmission of each normal main tunnel can be implemented based on equal-cost routing. When data is transmitted through multiple normal secondary tunnels, the data transmission of each normal secondary tunnel can also be implemented based on equal-cost routing, which is conducive to achieving multi-path load balancing and improving data transmission efficiency.
[0111] In this embodiment of the present application, the priority of the first routing information may be higher than the priority of the second routing information.
[0112] As an example, the first routing information may be a detailed route from the primary computing node to the edge server, and the second routing information may be a large-segment route from the secondary computing node to the edge server. Based on a preset routing protocol and routing policy, the routing priority of the first routing information is pre-set to be higher than the routing priority of the second routing information.
[0113] The detailed route includes the routing information of each specific subnet or network segment in the edge server, and the large segment routing information aggregates multiple subnets or network segments in the edge server into a larger classless inter-domain routing block.
[0114] When it is determined that at least one primary tunnel between the primary computing node and the edge server is functioning properly, the primary computing node may publish first routing information and the secondary computing node may publish second routing information. In this case, because the routing priority of the first routing information is higher than the routing priority of the second routing information, if a functioning primary tunnel exists among the primary tunnels and a faulty secondary tunnel exists among the secondary tunnels, the primary computing center may prioritize data transmission over the functioning primary tunnel between the primary computing node and the edge server based on the first routing information.
[0115] Furthermore, when all primary tunnels between the primary computing node and the edge server are faulty, and it is determined that at least one secondary tunnel between the secondary computing node and the edge server is functioning properly, the first routing information may be revoked. Revoking the first routing information prevents the primary computing node from attempting to transmit data to the edge server based on the first routing information, while ensuring that the secondary computing node can transmit data to the edge server based on the second routing information.
[0116] Furthermore, during data transmission over a secondary normal tunnel, when at least one primary tunnel between the primary computing node and the edge server transitions from a faulty primary tunnel to a normal primary tunnel, the first routing information can be republished, thereby enabling data transmission over the normal primary tunnel based on the republished first routing information. Furthermore, because the routing priority of the first routing information is higher than the routing priority of the second routing information, after the first routing information is republished, the secondary computing node can be prevented from attempting to transmit data with the edge server based on the second routing information, ensuring that the primary computing node can preferentially transmit data with the edge server based on the first routing information.
[0117] In the embodiment of the present application, the routing priority of the second routing information may be higher than the routing priority of the first routing information.
[0118] As an example, the first routing information may be a large segment route from the primary computing node to the edge server, and the second routing information may be a detailed route from the secondary computing node to the edge server. Based on a preset routing protocol and routing policy, the routing priority of the second routing information is pre-set to be higher than the routing priority of the first routing information.
[0119] If it is determined that at least one primary tunnel between the primary computing node and the edge server is functioning properly, the primary computing node may publish the first routing information. In this case, because the secondary computing node has not yet published the higher-priority second routing information, data transmission may be prioritized over the normal primary tunnel between the primary computing node and the edge server based on the first routing information.
[0120] Furthermore, when all primary tunnels between the primary computing node and the edge server are faulty, and it is determined that at least one secondary tunnel between the secondary computing node and the edge server is functioning properly, the secondary computing node can publish the second routing information. Because the routing priority of the second routing information is higher than the routing priority of the first routing information, the secondary computing node can ensure that data transmission with the edge server is achieved based on the second routing information.
[0121] Furthermore, during data transmission over a secondary normal tunnel, when at least one primary tunnel between the primary computing node and the edge server transitions from a faulty primary tunnel to a normal primary tunnel, the second routing information can be revoked, and data transmission can be performed over each normal primary tunnel based on the routing information of each normal primary tunnel in the first routing information. Because the routing priority of the second routing information is higher than the routing priority of the first routing information, after the second routing information is revoked, the secondary computing node can be prevented from attempting to transmit data with the edge server based on the second routing information, and the primary computing node can be guaranteed to preferentially transmit data with the edge server based on the first routing information.
[0122] As an example, Figure 1 As shown in the figure, the primary computing node establishes VPN1 and VPN2 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes. The secondary computing node establishes VPN3 and VPN4 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes.
[0123] Based on a preset routing protocol and routing policy, the routing priority of the first routing information is predetermined to be higher than the routing priority of the second routing information. The first routing information is a detailed route for the intranet segment from the primary computing node to the edge server, and the second routing information is a large-segment route for the intranet segment from the secondary computing node to the edge server. The primary computing node can publish the detailed route via a dynamic routing protocol, and the secondary computing node can publish the large-segment route via a dynamic routing protocol.
[0124] If both VPN1 and VPN2 have a faulty tunnel and a normal tunnel, the master compute node publishes detailed routes, removes the routing information for downstream data to the faulty VPN tunnel, and sends the downstream data based on the routing information corresponding to the normal VPN. When the faulty VPN is restored, the routing information for downstream data to the faulty VPN is restored, and the downstream data is sent using equal-cost routes through all normal tunnels based on the detailed routes.
[0125] If both VPN1 and VPN2 fail, the master compute node revokes the specific routes. If VPN3 and VPN4 remain functioning properly, downstream data is sent through VPN3 and VPN4 based on the large-segment route. When the failed tunnels in VPN1 and VPN2 recover, the master compute node resumes publishing the specific routes, allowing downstream data to be sent through the functioning tunnels in VPN1 and VPN2 based on the specific routes.
[0126] As an example, Figure 1 As shown in the figure, the primary computing node establishes VPN1 and VPN2 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes. The secondary computing node establishes VPN3 and VPN4 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes.
[0127] Based on a preset routing protocol and routing policy, it is predetermined that the routing priority of the first routing information is lower than the routing priority of the second routing information. The second routing information is a detailed route for the intranet segment from the secondary computing node to the edge server, and the first routing information is a large-segment route for the intranet segment from the primary computing node to the edge server. The primary computing node can publish the large-segment route externally through a dynamic routing protocol, and the secondary computing node can publish the detailed route externally through a dynamic routing protocol.
[0128] If both VPN1 and VPN2 have a faulty tunnel and a normal tunnel, the master compute node publishes a large-segment route, removes the routing information for downstream data to the faulty VPN tunnel, and sends the downstream data based on the routing information corresponding to the normal VPN. When the faulty VPN is restored, the routing information for downstream data to the faulty VPN is restored, and the downstream data is sent using the detailed route through all normal tunnels using equal-cost routing.
[0129] When both VPN1 and VPN2 fail, the secondary computing node publishes specific routes, and downlink data is sent through the normal tunnels in VPN3 and VPN4 based on the specific routes. When the failed tunnels in VPN1 and VPN2 recover, the secondary computing node cancels the specific routes, and downlink data is sent through the normal tunnels in VPN1 and VPN2 based on the long-segment routes.
[0130] See also Figure 5 , Figure 5 This is another flowchart of the data transmission method provided in an embodiment of the present application. Figure 5 The data transmission method shown can be applied to an edge server in an edge computing system and may include:
[0131] S51. When there is at least one normal main tunnel in the main tunnels, determine third routing information from the edge server to the main computing node, and transmit data with the central server through the normal main tunnel based on the third routing information.
[0132] In some feasible implementations, when data transmission with the central server is required, it may be determined whether a normal main tunnel exists among the main tunnels between the main computing node and the edge server.
[0133] Among them, the middle edge service end can determine the operation status of each main tunnel in real time, so as to determine the normal main tunnel and the faulty main tunnel in real time.
[0134] Specifically, for each primary tunnel, if the primary tunnel passes the link quality detection, the primary tunnel can be determined to be a normal primary tunnel. If the primary tunnel fails the link quality detection, the primary tunnel can be determined to be a faulty primary tunnel.
[0135] When a normal primary tunnel exists among the primary tunnels, the edge server can prioritize data transmission with the central server through the normal primary tunnel. Since the central server prioritizes data transmission through the normal primary tunnel when a normal primary tunnel exists among the primary tunnels, the edge server and the central server can simultaneously transmit data through the normal primary tunnel, thereby maintaining the consistency of uplink and downlink data transmission between the edge server and the central server, avoiding data transmission failures and improving data transmission efficiency.
[0136] In some feasible implementations, when the main tunnels between the main computing node and the edge service end are all normal main tunnels, for each normal main tunnel, data transmission can be performed through the normal main tunnel based on the routing information corresponding to the normal main tunnel in the third routing information.
[0137] The third routing information includes routing information from the edge server to the primary computing node through each primary tunnel.
[0138] As an example, Figure 3 As shown in the figure, if the primary tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 and VPN2 are both normal primary tunnels, the edge server can send uplink data to the central server through VPN1 and VPN2 at the same time, and can also receive downlink data sent by the central server through VPN1 and VPN2 at the same time.
[0139] When there are normal main tunnels and faulty main tunnels in the main tunnel between the main computing node and the edge server, the routing information corresponding to each faulty main tunnel can be revoked from the third routing information from the edge server to the central server, thereby preventing attempts to transmit data from the faulty main tunnel, which affects the data transmission efficiency.
[0140] Furthermore, for each remaining normal main tunnel in the main tunnel, data transmission can be performed with the central server through the normal main tunnel based on the routing information corresponding to the normal main tunnel in the third routing information.
[0141] As an example, Figure 4 As shown, if the main tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 is a faulty main tunnel and VPN2 is a normal main tunnel, the routing information corresponding to VNP1 can be revoked from the third routing information, and data transmission with the central server can be performed through VPN2 according to the routing information corresponding to VPN2 in the first routing information.
[0142] For each normal primary tunnel, uplink data can be sent to the central server through the primary tunnel based on the routing information corresponding to the normal primary tunnel in the third routing information. When it is necessary to receive downlink data sent by the central server, the normal primary tunnel for receiving downlink data can be determined based on the first routing information, and the downlink data sent by the central server can be received through each normal primary tunnel.
[0143] In some feasible implementations, when the primary tunnels between the master computing node and the edge server include a normal primary tunnel and a faulty primary tunnel, during data transmission with the central server through each normal primary tunnel, if any primary tunnel changes from a faulty primary tunnel to a normal primary tunnel, the routing information corresponding to that primary tunnel is republished. Data transmission with the central server is then performed through that primary tunnel, based on the routing information corresponding to that primary tunnel, in addition to the original data transmission.
[0144] As an example, if the primary tunnels established between the main computing node and the edge server are VPN1 and VPN2, when VPN1 is a faulty primary tunnel and VPN2 is a normal primary tunnel, data can be transmitted to the central server through VPN2 according to the routing information corresponding to VPN2 in the first routing information. During the process of transmitting data through VPN2, when VPN1 becomes a normal primary tunnel again, Figure 3 As shown, according to the routing information corresponding to VPN1 and VPN2 in the third routing information, data is transmitted with the central server through VPN1 and VPN2.
[0145] During data transmission with the central server through multiple normal primary tunnels, if any secondary tunnel changes from a normal primary tunnel to a faulty primary tunnel, the routing information corresponding to the primary tunnel is revoked. Data transmission with the central server is then carried out through the remaining normal primary tunnels based on the routing information corresponding to the remaining normal primary tunnels.
[0146] For each normal primary tunnel, uplink data can be sent to the central server through the primary tunnel based on the routing information corresponding to the normal primary tunnel in the third routing information. When it is necessary to receive downlink data sent by the central server, the normal primary tunnel for receiving downlink data can be determined based on the third routing information, and the downlink data sent by the central server can be received through each normal primary tunnel.
[0147] Among them, the downlink data in each normal main tunnel is actually sent by the central server through the main computing node, and the uplink data in each normal main tunnel is actually received by the central server through the main computing node.
[0148] During data transmission with the central server via normal primary tunnels, when any primary tunnel recovers from a fault, the edge server can republish the routing information corresponding to that primary tunnel, allowing it to simultaneously transmit data with the central server via the original normal primary tunnel and the routing information of that primary tunnel. This increases the number of primary tunnels used for data transmission and helps improve data transmission efficiency. Furthermore, since the main computing center will also republish the routing information corresponding to any primary tunnel when it recovers from a fault, allowing data transmission to be carried out simultaneously via that primary tunnel, the edge server can maintain data transmission consistency with the central server by transmitting data in the same manner, thereby improving data transmission efficiency.
[0149] S52: When all normal primary tunnels become faulty primary tunnels, determine whether there is a normal secondary tunnel among the secondary tunnels.
[0150] In the embodiment of the present application, the tunnel established between the secondary computing node and the edge server is called a secondary tunnel.
[0151] In some feasible implementations, if all normal primary tunnels become faulty during data transmission between an edge server and a central server via normal primary tunnels, i.e., if all primary tunnels between the primary computing node and the edge server become faulty, the edge server will be unable to transmit data to the central server's primary computing node. In this case, it is necessary to determine whether any secondary tunnels between the secondary computing node and the edge server are normal, thereby determining whether data transmission with the central server's secondary computing node should proceed through these secondary tunnels.
[0152] The method of determining whether each secondary tunnel is a normal secondary tunnel is similar to the aforementioned method of determining whether each primary tunnel is a normal primary tunnel, and will not be described in detail here.
[0153] Optionally, for S51, when there is no normal main tunnel in the main tunnel between the main computing node and the edge server, it is also necessary to determine whether there is a normal secondary tunnel in the secondary tunnel between the secondary computing node and the edge server, so as to determine whether data transmission is performed with the secondary computing node of the central server.
[0154] S53: When there is at least one normal secondary tunnel in the secondary tunnels, determine fourth routing information from the edge server to the secondary computing node, and transmit data with the edge server through each normal secondary tunnel based on the fourth routing information.
[0155] In some feasible implementations, when all the primary tunnels between the primary computing node and the edge server are faulty primary tunnels, if there is at least one normal secondary tunnel in the secondary tunnels, the fourth routing information from the edge server to the secondary computing node can be determined, and then based on the fourth routing information, data can be transmitted with the edge server through each normal secondary tunnel.
[0156] Specifically, when the secondary tunnels between the secondary computing node and the edge server are all normal secondary tunnels, for each normal secondary tunnel, data can be transmitted through the normal secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the fourth routing information.
[0157] As an example, see Figure 6 , Figure 6 This is the third intention of the data transmission scenario provided by the embodiment of this application. Figure 6 As shown, the primary computing node establishes VPN1 and VPN2 with the edge server's Gateway 1 and Gateway 2, respectively, with the two VPN tunnels acting as equal-cost routes. The secondary computing node establishes VPN3 and VPN4 with the edge server's Gateway 1 and Gateway 2, respectively, with the two VPN tunnels acting as equal-cost routes. When VPN1 and VPN2 are both faulty primary tunnels, and VPN3 and VPN4 are both normal secondary tunnels, the edge server can simultaneously send uplink data to the primary computing node via VPN3 and VPN4 based on the fourth routing information, and can also simultaneously receive downlink data sent by the edge server through the primary computing node via VPN3 and VPN4.
[0158] When both primary tunnels between the primary computing center and the edge server fail, if there are normal secondary tunnels in the secondary tunnels between the secondary computing center and the edge server, the edge server can use the routing information of each normal secondary tunnel to transmit data with the edge server through each normal secondary tunnel. The edge server can thus transmit data with the central server through the secondary computing center when it is unable to transmit data with the primary computing center, effectively ensuring the immediacy and efficiency of data transmission.
[0159] When there are normal secondary tunnels and faulty secondary tunnels in the secondary tunnels between the secondary computing node and the edge server, the edge server may revoke the routing information corresponding to each faulty secondary tunnel from the fourth routing information from the edge server to the secondary computing node, thereby preventing attempts to transmit data from the faulty secondary tunnel, thereby affecting data transmission efficiency.
[0160] The fourth routing information includes routing information from the edge server to the secondary computing node through each secondary tunnel.
[0161] Furthermore, for each remaining normal secondary tunnel in the secondary tunnels, data transmission may be performed through the normal secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the fourth routing information.
[0162] As an example, see Figure 7 , Figure 7 This is the fourth intention of the data transmission scenario provided by the embodiment of this application. Figure 7 As shown, the primary computing node establishes VPN1 and VPN2 with the edge server's Gateway 1 and Gateway 2, respectively, with the two VPN tunnels acting as equal-cost routes. The secondary computing node establishes VPN3 and VPN4 with the edge server's Gateway 1 and Gateway 2, respectively, with the two VPN tunnels acting as equal-cost routes. If both VPN1 and VPN2 are faulty primary tunnels, VPN3 is a faulty secondary tunnel, and VPN4 is a normal secondary tunnel, the routing information corresponding to VPN3 can be removed from the fourth routing information. Data transmission with the edge server can then proceed through VPN4, using the routing information corresponding to VPN4 in the fourth routing information.
[0163] For each normal secondary tunnel, uplink data may be sent to the secondary computing node via that secondary tunnel based on the routing information corresponding to that normal secondary tunnel in the fourth routing information. When it is necessary to receive downlink data sent by the central server, a normal secondary tunnel for receiving the downlink data may be determined based on the fourth routing information, and the downlink data sent by the central server via the secondary computing node may be received via each normal secondary tunnel.
[0164] In some feasible implementations, when the secondary tunnels between the secondary computing node and the edge server include normal secondary tunnels and faulty secondary tunnels, during data transmission with the central server through each normal secondary tunnel, if any secondary tunnel is converted from a faulty secondary tunnel to a normal secondary tunnel, the routing information corresponding to that secondary tunnel is republished. Data transmission with the central server is then performed through that secondary tunnel based on the routing information corresponding to that secondary tunnel, in addition to the original data transmission.
[0165] As an example, if the secondary tunnels established between the secondary computing node and the edge server are VPN3 and VPN4, when VPN3 is a faulty secondary tunnel and VPN4 is a normal secondary tunnel, data transmission can be performed with the central server through VPN4 according to the routing information corresponding to VPN4 in the fourth routing information. During the process of data transmission through VPN4, when VPN3 becomes a normal secondary tunnel again, Figure 3 As shown, according to the routing information corresponding to VPN3 and VPN4 in the fourth routing information, data is transmitted with the central server through VPN3 and VPN4.
[0166] During data transmission with the central server through multiple normal secondary tunnels, if any secondary tunnel changes from a normal tunnel to a faulty secondary tunnel, the routing information corresponding to that secondary tunnel is revoked. Data transmission with the central server is then carried out through the remaining normal secondary tunnels based on the routing information corresponding to the remaining normal secondary tunnels.
[0167] For each normal secondary tunnel, uplink data can be sent to the central server through the secondary tunnel based on the routing information corresponding to the normal secondary tunnel in the fourth routing information. When it is necessary to receive downlink data sent by the central server, a normal secondary tunnel for receiving downlink data can be determined based on the fourth routing information, and the downlink data sent by the central server through the secondary computing node can be received through each normal secondary tunnel.
[0168] The downlink data in each normal secondary tunnel is actually sent by the central server through the secondary computing node, and the uplink data in each normal secondary tunnel is actually received by the central server through the secondary computing node.
[0169] During data transmission with the central server through normal secondary tunnels, when any secondary tunnel recovers from a faulty state, by republishing the routing information corresponding to the secondary tunnel, the edge server can simultaneously transmit data with the central server based on the routing information of the secondary tunnel through the secondary tunnel while transmitting data with the central server based on the original normal secondary tunnel, thereby increasing the number of secondary tunnels used for data transmission and helping to improve data transmission efficiency.
[0170] In an embodiment of the present application, when data is transmitted through multiple normal main tunnels, the data transmission of each normal main tunnel can be implemented based on equal-cost routing. When data is transmitted through multiple normal secondary tunnels, the data transmission of each normal secondary tunnel can also be implemented based on equal-cost routing, which is conducive to achieving multi-path load balancing and improving data transmission efficiency.
[0171] In this embodiment of the present application, the priority of the third routing information may be higher than the priority of the fourth routing information.
[0172] As an example, the third routing information may be a detailed route from the edge server to the primary computing node, and the fourth routing information may be a large segment route from the edge server to the secondary computing node. Based on a preset routing protocol and routing policy, the routing priority of the third routing information is pre-set to be higher than the routing priority of the fourth routing information.
[0173] The detailed route includes the routing information of each specific subnet or network segment in the primary computing node, and the large segment routing information aggregates multiple subnets or network segments in the secondary computing node into a larger classless inter-domain routing block.
[0174] If at least one of the primary tunnels between the primary computing node and the edge server is functioning properly, the edge server may publish the third routing information and the fourth routing information. In this case, because the third routing information has a higher routing priority than the fourth routing information, data transmission may be prioritized over the functioning primary tunnel between the primary computing node and the edge server based on the third routing information.
[0175] Furthermore, when all primary tunnels between the primary computing node and the edge server are faulty, and it is determined that at least one secondary tunnel between the secondary computing node and the edge server is functioning properly, the third routing information can be revoked. Revoking the third routing information prevents the edge server from attempting to transmit data with the central server based on the third routing information, while ensuring that the edge server can transmit data with the central server based on the fourth routing information.
[0176] Furthermore, during data transmission over a secondary normal tunnel, when at least one primary tunnel between the primary computing node and the edge server transitions from a faulty primary tunnel to a normal primary tunnel, the third routing information can be republished, thereby enabling data transmission over the normal primary tunnel based on the republished third routing information. Furthermore, because the routing priority of the third routing information is higher than the routing priority of the fourth routing information, after the third routing information is republished, the edge server is prevented from attempting to transmit data with the central server based on the fourth routing information, ensuring that the edge server prioritizes data transmission with the central server based on the third routing information.
[0177] In this embodiment of the present application, the routing priority of the fourth routing information may be higher than the routing priority of the third routing information.
[0178] As an example, the third routing information may be a large segment route from the edge server to the primary computing node, and the fourth routing information may be a detailed route from the edge server to the secondary computing node. A routing priority of the fourth routing information is pre-set based on a preset routing protocol and routing policy to be higher than a routing priority of the third routing information.
[0179] Upon determining that at least one primary tunnel between the primary computing node and the edge server is functioning properly, the edge server may publish the third routing information. In this case, because the edge server has not yet published the higher-priority fourth routing information, data transmission may be prioritized over the functioning primary tunnel between the primary computing node and the edge server based on the third routing information.
[0180] Furthermore, when all primary tunnels between the primary computing node and the edge server are faulty, and it is determined that at least one secondary tunnel between the secondary computing node and the edge server is functioning properly, the edge server may publish fourth routing information. Because the routing priority of the fourth routing information is higher than the routing priority of the third routing information, the edge server can ensure data transmission with the secondary computing node of the central server based on the fourth routing information.
[0181] Furthermore, during data transmission over a secondary normal tunnel, when at least one primary tunnel between the primary computing node and the edge server transitions from a faulty primary tunnel to a normal primary tunnel, the fourth routing information can be revoked, and data transmission can be performed over each normal primary tunnel based on the routing information of each normal primary tunnel in the third routing information. Because the routing priority of the fourth routing information is higher than the routing priority of the third routing information, after the fourth routing information is revoked, the edge server is prevented from attempting to transmit data with the edge server based on the fourth routing information, and can be guaranteed to preferentially transmit data with the primary computing node of the central server based on the third routing information.
[0182] As an example, Figure 1 As shown in the figure, the primary computing node establishes VPN1 and VPN2 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes. The secondary computing node establishes VPN3 and VPN4 with the edge server's gateway 1 and gateway 2, respectively. The two VPN tunnels are equal-cost routes.
[0183] For the edge server, the routing information publishing and data transmission status of the edge server can be shown in the following table:
[0184]
[0185] When VPN1 and VPN2 are normal primary tunnels, the edge server publishes the first sub-routing information to the main computing node through gateway 1 and the second sub-routing information to the main computing node through gateway 2, and based on the first sub-routing information and the second sub-routing information, transmits data with the main computing node through VPN1 and VPN2.
[0186] The first sub-routing information and the second sub-routing information constitute the third routing information.
[0187] When VPN1 is the failed primary tunnel and VPN2 is the normal primary tunnel, the edge server revokes the first sub-routing information through gateway 1 and then transmits data with the primary computing node through VPN2. When VPN1 returns to normal, the edge server restores the first sub-routing information through gateway 1 and transmits data with the primary computing node through VPN1 and VPN2.
[0188] When VPN1 is the normal primary tunnel and VPN2 is the faulty primary tunnel, the edge server revokes the second sub-routing information through gateway 2 and transmits data with the primary computing node through VPN1 based on the first sub-routing information. When VPN2 returns to normal, the edge server publishes the second sub-routing information through gateway 2 to transmit data with the primary computing node through both VPN1 and VPN2.
[0189] When VPN1 and VPN2 are the primary tunnels that fail, the edge server switches gateway 1 and gateway 2 to the secondary computing node.
[0190] When VPN3 and VPN4 are normal secondary tunnels, the edge server publishes the third sub-routing information to the secondary computing node through gateway 3 and the fourth sub-routing information to the secondary computing node through gateway 4, and based on the third sub-routing information and the fourth sub-routing information, transmits data with the secondary computing node through VPN3 and VPN4.
[0191] The third sub-routing information and the fourth sub-routing information constitute the fourth routing information.
[0192] When VPN3 is a faulty secondary tunnel and VPN4 is a normal secondary tunnel, the edge server revokes the third sub-routing information through gateway 3 and then transmits data with the secondary computing node through VPN4. When VPN3 returns to normal, the edge server restores the third sub-routing information through gateway 3 and transmits data with the secondary computing node through both VPN3 and VPN4.
[0193] When VPN3 is a normal secondary tunnel and VPN4 is a faulty secondary tunnel, the edge server revokes the fourth sub-routing information through gateway 4 and transmits data with the secondary computing node through VPN3 based on the third sub-routing information. When VPN4 returns to normal, the edge server publishes the fourth sub-routing information through gateway 4 to transmit data with the secondary computing node through both VPN3 and VPN4.
[0194] When VPN1 and / or VPN2 returns to normal, the edge server switches Gateway 1 and Gateway 2 to the primary computing node and restores the sub-routing information of the normal primary tunnel.
[0195] For the central server, when the first routing information is a detailed route from the primary computing node to the edge server's intranet segment, and the second routing information is a large segment route from the secondary computing node to the edge server's intranet segment, and the routing priority of the first routing information is higher than the routing priority of the second routing information, the central server's routing information publishing and data transmission status can be shown in the following table:
[0196]
[0197]
[0198] When VPN1 and VPN2 are normal primary tunnels, the central server publishes the first routing information through the primary computing node and the second routing information through the secondary computing node, and based on the first routing information, transmits data with the edge server through VPN1 and VPN2.
[0199] When VPN1 is the faulty primary tunnel and VPN2 is the normal primary tunnel, the central server revokes the routing information corresponding to VPN1 through the primary computing node and, based on the routing information corresponding to VPN2 in the first routing information, transmits data with the edge server through VPN2. When VPN1 returns to normal, the central server restores the routing information corresponding to VPN1 through the primary computing node and, based on the routing information corresponding to VPN1 and VPN2, transmits data with the primary computing node through VPN1 and VPN2.
[0200] When VPN1 is a normal primary tunnel and VPN2 is a faulty primary tunnel, the central server revokes the routing information corresponding to VPN2 through the primary computing node and, based on the routing information corresponding to VPN1 in the first routing information, transmits data with the edge server through VPN1. When VPN2 returns to normal, the central server restores the routing information corresponding to VPN2 through the primary computing node and, based on the routing information corresponding to VPN1 and VPN2, transmits data with the primary computing node through VPN1 and VPN2.
[0201] When VPN1 and VPN2 are faulty primary tunnels, the central service end cancels the first routing information through the primary computing node regardless of whether there is a faulty secondary channel.
[0202] When VPN3 and VPN4 are normal secondary tunnels, the central server publishes the second routing information through the secondary computing node, and based on the second routing information, transmits data with the edge server through VPN3 and VPN4.
[0203] When VPN3 is a faulty secondary tunnel and VPN4 is a normal secondary tunnel, the central server revokes the routing information corresponding to VPN3 through the secondary computing node and, based on the routing information corresponding to VPN4 in the second routing information, transmits data with the edge server through VPN4. When VPN3 returns to normal, the central server restores the routing information corresponding to VPN3 through the secondary computing node and, based on the routing information corresponding to VPN3 and VPN4, transmits data with the secondary computing node through VPN3 and VPN4.
[0204] When VPN3 is a normal secondary tunnel and VPN4 is a faulty secondary tunnel, the central server revokes the routing information corresponding to VPN4 through the secondary computing node and, based on the routing information corresponding to VPN3 in the second routing information, transmits data with the edge server through VPN3. When VPN4 returns to normal, the central server restores the routing information corresponding to VPN4 through the secondary computing node and, based on the routing information corresponding to VPN3 and VPN4, transmits data with the secondary computing node through VPN3 and VPN4.
[0205] When VPN1 and / or VPN2 returns to normal, the central server re-publishes the first routing information based on the main calculation.
[0206] In an embodiment of the present application, when a normal primary tunnel exists between the main computing node and the edge server, the central server can transmit data through the main computing node and the edge server based on the normal primary tunnel. When there is no normal primary tunnel between the main computing node and the edge server, and a normal secondary tunnel exists between the secondary computing node and the edge server, the central server can transmit data through the main computing node and the edge server based on the normal secondary tunnel, thereby avoiding data transmission interruption and computing outage caused by a single computing node failure, improving data transmission efficiency while solving the disaster recovery problem of the central server. In addition, the central server and the edge server can each complete tunnel switching in a closed loop, so that the central server and the edge server can synchronously use the same tunnel for data transmission, which is conducive to improving the transmission consistency of uplink and downlink data and has high applicability.
[0207] See also Figure 8 , Figure 8 This is one of the structural diagrams of the data transmission device provided in the embodiment of the present application. The data transmission device provided in the embodiment of the present application includes:
[0208] A data transmission module 81 is configured to determine first routing information from the primary computing node to the edge server when at least one normal primary tunnel exists among the primary tunnels, and transmit data to the edge server through each of the normal primary tunnels based on the first routing information;
[0209] A state determination module 82 is configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels;
[0210] The data transmission module 81 is configured to determine second routing information from the secondary computing node to the edge server when at least one normal secondary tunnel exists among the secondary tunnels, and transmit data to the edge server through each of the normal secondary tunnels based on the second routing information;
[0211] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0212] In some feasible implementations, for each of the primary tunnels, the data transmission module 81 is configured to:
[0213] If the first gateway associated with the primary tunnel in the primary computing node passes the gateway health status detection and the primary tunnel passes the link quality detection, determining that the primary tunnel is a normal primary tunnel;
[0214] When the first link between the public IP address of the above-mentioned first gateway and the preset public IP address passes the link quality detection, and the second link between the intranet IP address of the above-mentioned first gateway and the preset intranet IP address passes the link quality detection, it is determined that the above-mentioned first gateway passes the gateway health status detection.
[0215] In some feasible implementations, when any one of the first link or the second link fails the link quality detection, the data transmission module 81 is configured to:
[0216] Close the tunnel port associated with the primary tunnel in the primary computing node.
[0217] Close the intranet IP address of the first gateway mentioned above.
[0218] In some feasible implementations, the primary tunnels include a normal primary tunnel and a faulty primary tunnel;
[0219] The data transmission module 81 is used to:
[0220] Removing the routing information corresponding to each of the faulty primary tunnels from the first routing information from the primary computing node to the edge server;
[0221] Based on the routing information corresponding to each of the normal primary tunnels in the first routing information, data is transmitted with the edge server through each of the normal primary tunnels.
[0222] In some feasible implementations, the data transmission module 81 is configured to:
[0223] During the process of transmitting data with the edge server through each of the above-mentioned normal main tunnels, when any main tunnel is converted from a faulty main tunnel to a normal main tunnel, the routing information corresponding to the main tunnel is republished, and at the same time, based on the routing information corresponding to the main tunnel, data is transmitted with the edge server through the main tunnel.
[0224] In some feasible implementations, the routing priority of the first routing information is higher than the routing priority of the second routing information, and the data transmission module 81 is configured to:
[0225] After each of the normal primary tunnels becomes a faulty primary tunnel, the first routing information is cancelled.
[0226] In some feasible implementations, the routing priority of the second routing information is higher than the routing priority of the first routing information, and the data transmission module 81 is configured to:
[0227] In the process of transmitting data to the edge server through each normal secondary tunnel based on the second routing information, if at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the second routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the first routing information, data is transmitted to the edge server through each of the normal primary tunnels.
[0228] In a specific implementation, the above data transmission device can execute the above-mentioned Figure 2 For the implementation methods provided in each step, please refer to the implementation methods provided in the above steps for details, which will not be repeated here.
[0229] See also Figure 9 , Figure 9 This is the second structural diagram of the data transmission device provided in the embodiment of the present application. The data transmission device provided in the embodiment of the present application includes:
[0230] A data transmission module 91 is configured to determine third routing information from the edge server to the primary computing node when at least one normal primary tunnel exists among the primary tunnels, and transmit data to the central server through each of the normal primary tunnels based on the third routing information;
[0231] A state determination module 92 is configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels;
[0232] The data transmission module 91 is configured to, if at least one normal secondary tunnel exists among the secondary tunnels, determine fourth routing information from the edge server to the secondary computing node, and transmit data to the edge server through each of the normal secondary tunnels based on the fourth routing information;
[0233] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0234] In some feasible implementations, the primary tunnels include normal primary tunnels and faulty primary tunnels; and the data transmission module 91 is configured to:
[0235] Removing the routing information corresponding to each of the faulty primary tunnels from the third routing information;
[0236] Based on the routing information corresponding to each of the normal primary tunnels in the third routing information, data is transmitted with the central server through each of the normal primary tunnels.
[0237] In some feasible implementations, the data transmission module 91 is configured to:
[0238] During data transmission between the normal primary tunnel and the central server, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the routing information corresponding to the primary tunnel is republished, and at the same time, data transmission between the primary tunnel and the central server is performed based on the routing information corresponding to the primary tunnel.
[0239] In some feasible implementations, the data transmission module 91 is configured to:
[0240] In the process of transmitting data to the central server through each normal secondary tunnel based on the third routing information, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the fourth routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the third routing information, data is transmitted to the central server through each of the normal primary tunnels.
[0241] In a specific implementation, the above data transmission device can execute the above-mentioned Figure 5 For the implementation methods provided in each step, please refer to the implementation methods provided in the above steps for details, which will not be repeated here.
[0242] See also Figure 10 , Figure 10 Schematic diagram of the structure of the electronic device provided in the embodiment of the present application. Figure 10As shown, the electronic device 1000 in this embodiment may include: a processor 1001, a network interface 1004 and a memory 1005. In addition, the above-mentioned electronic device 1000 may also include: an object interface 1003, and at least one communication bus 1002. The communication bus 1002 is used to realize the connection and communication between these components. The object interface 1003 may include a display screen (Display), a keyboard (Keyboard), and the object interface 1003 may optionally include a standard wired interface and a wireless interface. The network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 1005 may be a high-speed RAM memory or a non-volatile memory (NVM), such as at least one disk memory. The memory 1005 may optionally also be at least one storage device located away from the aforementioned processor 1001. As Figure 10 As shown, the memory 1005 as a computer-readable storage medium may include an operating system, a network communication module, an object interface module, and a device control application program.
[0243] exist Figure 10 In the electronic device 1000 shown, the network interface 1004 can provide network communication functions; the object interface 1003 is mainly used to provide an input interface for the object; and when the electronic device 1000 is used in a central server, the processor 1001 can be used to call the device control application stored in the memory 1005 to achieve:
[0244] When at least one normal primary tunnel exists in the primary tunnels, determining first routing information from the primary computing node to the edge server, and performing data transmission with the edge server through each of the normal primary tunnels based on the first routing information;
[0245] In the case that all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels;
[0246] If at least one normal secondary tunnel exists among the secondary tunnels, determining second routing information from the secondary computing node to the edge server, and transmitting data to the edge server through each of the normal secondary tunnels based on the second routing information;
[0247] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0248] In some feasible implementations, for each of the primary tunnels, the processor 1001 is configured to:
[0249] If the first gateway associated with the primary tunnel in the primary computing node passes the gateway health status detection and the primary tunnel passes the link quality detection, determining that the primary tunnel is a normal primary tunnel;
[0250] When the first link between the public IP address of the above-mentioned first gateway and the preset public IP address passes the link quality detection, and the second link between the intranet IP address of the above-mentioned first gateway and the preset intranet IP address passes the link quality detection, it is determined that the above-mentioned first gateway passes the gateway health status detection.
[0251] In some feasible implementations, when any one of the first link or the second link fails the link quality detection, the processor 1001 is configured to:
[0252] Close the tunnel port associated with the primary tunnel in the primary computing node.
[0253] Close the intranet IP address of the first gateway mentioned above.
[0254] In some feasible implementations, the primary tunnels include a normal primary tunnel and a faulty primary tunnel;
[0255] The processor 1001 is configured to:
[0256] Removing the routing information corresponding to each of the faulty primary tunnels from the first routing information from the primary computing node to the edge server;
[0257] Based on the routing information corresponding to each of the normal primary tunnels in the first routing information, data is transmitted with the edge server through each of the normal primary tunnels.
[0258] In some feasible implementations, the processor 1001 is configured to:
[0259] During the process of transmitting data with the edge server through each of the above-mentioned normal main tunnels, when any main tunnel is converted from a faulty main tunnel to a normal main tunnel, the routing information corresponding to the main tunnel is republished, and at the same time, based on the routing information corresponding to the main tunnel, data is transmitted with the edge server through the main tunnel.
[0260] In some feasible implementations, the routing priority of the first routing information is higher than the routing priority of the second routing information, and the processor 1001 is configured to:
[0261] After each of the normal primary tunnels becomes a faulty primary tunnel, the first routing information is cancelled.
[0262] In some feasible implementations, the routing priority of the second routing information is higher than the routing priority of the first routing information, and the processor 1001 is configured to:
[0263] In the process of transmitting data to the edge server through each normal secondary tunnel based on the second routing information, if at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the second routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the first routing information, data is transmitted to the edge server through each of the normal primary tunnels.
[0264] When the electronic device 1000 is applied to an edge server, the processor 1001 can be used to call the device control application stored in the memory 1005 to implement:
[0265] If at least one normal primary tunnel exists among the primary tunnels, determining third routing information from the edge server to the primary computing node, and transmitting data to the central server through each of the normal primary tunnels based on the third routing information;
[0266] In the case that all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels;
[0267] If at least one normal secondary tunnel exists among the secondary tunnels, determining fourth routing information from the edge server to the secondary computing node, and transmitting data to the edge server through each of the normal secondary tunnels based on the fourth routing information;
[0268] The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
[0269] In some feasible implementations, the primary tunnels include a normal primary tunnel and a faulty primary tunnel;
[0270] The processor 1001 is configured to:
[0271] Removing the routing information corresponding to each of the faulty primary tunnels from the third routing information;
[0272] Based on the routing information corresponding to each of the normal primary tunnels in the third routing information, data is transmitted with the central server through each of the normal primary tunnels.
[0273] In some feasible implementations, the processor 1001 is configured to:
[0274] During data transmission between the normal primary tunnel and the central server, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the routing information corresponding to the primary tunnel is republished, and at the same time, data transmission between the primary tunnel and the central server is performed based on the routing information corresponding to the primary tunnel.
[0275] In some feasible implementations, the routing priority of the third routing information is higher than the routing priority of the fourth routing information, and the processor 1001 is configured to:
[0276] In the process of transmitting data to the central server through each normal secondary tunnel based on the third routing information, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the fourth routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the third routing information, data is transmitted to the central server through each of the normal primary tunnels.
[0277] It should be understood that in some feasible embodiments, the processor 1001 may be a central processing unit (CPU), or may be another general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, etc. The memory may include a read-only memory and a random access memory, and provide instructions and data to the processor. A portion of the memory may also include a non-volatile random access memory. For example, the memory may also store device type information.
[0278] In a specific implementation, the electronic device 1000 can execute the above-mentioned functions through its built-in functional modules. Figure 2 and / or Figure 5 For the implementation methods provided in each step, please refer to the implementation methods provided in the above steps for details, which will not be repeated here.
[0279] The present invention also provides a computer-readable storage medium that stores a computer program and is executed by a processor to implement Figure 2 and / or Figure 5For the methods provided in each step, please refer to the implementation methods provided in the above steps for details, which will not be repeated here.
[0280] The above-mentioned computer-readable storage medium can be the data transmission device or the internal storage unit of the electronic device provided in any of the aforementioned embodiments, such as the hard disk or memory of the electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk equipped on the electronic device, a smart memory card (smart media card, SMC), a secure digital (secure digital, SD) card, a flash card (flash card), etc. The above-mentioned computer-readable storage medium can also include a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc. Further, the computer-readable storage medium can also include both the internal storage unit of the electronic device and an external storage device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or is to be output.
[0281] The present invention provides a computer program product, which includes a computer program, which is executed by a processor. Figure 2 and / or Figure 5 The methods provided in each step.
[0282] The terms "first," "second," and the like in the claims, specification, and drawings of this application are used to distinguish between different objects, not to describe a specific order. Furthermore, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or electronic device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or electronic device. Reference herein to an "embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The presence of such a phrase in various locations in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive with other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments. The term "and / or," as used in this specification and the appended claims, refers to any and all possible combinations of one or more of the associated listed items, including, but not limited to, those combinations.
[0283] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the above description generally describes the components and steps of each example according to their functions. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this application.
[0284] The above disclosure is only a preferred embodiment of the present application and cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A data transmission method, characterized in that: A central server applied to an edge computing system, the edge computing system further comprising an edge server, the central server establishing at least one primary tunnel with the edge server via a primary computing node, and establishing at least one secondary tunnel with the edge server via a secondary computing node; the method comprising: When at least one normal primary tunnel exists in the primary tunnels, determining first routing information from the primary computing node to the edge server, and performing data transmission with the edge server through each of the normal primary tunnels based on the first routing information; In the case where all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels; When there is at least one normal secondary tunnel in the secondary tunnels, second routing information from the secondary computing node to the edge server is determined, and data is transmitted with the edge server through each of the normal secondary tunnels based on the second routing information.
2. The method according to claim 1, characterized in that For each of the primary tunnels, determining that the primary tunnel is a normal primary tunnel includes: If a first gateway associated with the primary tunnel in the primary computing node passes a gateway health status detection and the primary tunnel passes a link quality detection, determining that the primary tunnel is a normal primary tunnel; Determining that the first gateway passes the gateway health status detection includes: When the first link between the public IP address of the first gateway and the preset public IP address passes the link quality detection, and the second link between the intranet IP address of the first gateway and the preset intranet IP address passes the link quality detection, it is determined that the first gateway passes the gateway health status detection.
3. The method according to claim 2, characterized in that In a case where either the first link or the second link fails the link quality detection, the method further includes at least one of the following: Closing the tunnel port associated with the primary tunnel in the primary computing node; Close the intranet IP address of the first gateway.
4. The method according to claim 1, wherein The primary tunnels include normal primary tunnels and faulty primary tunnels; The transmitting data with the edge server through each of the normal primary tunnels based on the first routing information from the primary computing node to the edge server includes: Removing the routing information corresponding to each of the faulty primary tunnels from the first routing information from the primary computing node to the edge server; Based on the routing information corresponding to each normal primary tunnel in the first routing information, data is transmitted with the edge server through each normal primary tunnel.
5. The method according to claim 4, characterized in that The method further comprises: During data transmission with the edge server through each of the normal main tunnels, when any main tunnel is converted from a faulty main tunnel to a normal main tunnel, the routing information corresponding to the main tunnel is republished, and at the same time, data is transmitted with the edge server through the main tunnel based on the routing information corresponding to the main tunnel.
6. The method according to claim 1, characterized in that The routing priority of the first routing information is higher than the routing priority of the second routing information, and the method further includes: The first routing information is revoked after each of the normal primary tunnels becomes a faulty primary tunnel.
7. The method according to claim 1, characterized in that The routing priority of the second routing information is higher than the routing priority of the first routing information, and the method further includes: In the process of transmitting data to the edge server through each normal secondary tunnel based on the second routing information, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the second routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the first routing information, data is transmitted to the edge server through each of the normal primary tunnels.
8. A data transmission method, characterized in that: An edge server applied to an edge computing system, the edge computing system further comprising a central server, the central server establishing at least one primary tunnel with the edge server via a primary computing node, and establishing at least one secondary tunnel with the edge server via a secondary computing node; the method comprising: When at least one normal primary tunnel exists in the primary tunnels, determining third routing information from the edge server to the primary computing node, and performing data transmission with the central server through each of the normal primary tunnels based on the third routing information; In the case where all normal primary tunnels become faulty primary tunnels, determining whether there is a normal secondary tunnel among the secondary tunnels; When there is at least one normal secondary tunnel in the secondary tunnels, fourth routing information from the edge server to the secondary computing node is determined, and data is transmitted with the edge server through each of the normal secondary tunnels based on the fourth routing information.
9. The method according to claim 8, characterized in that The primary tunnels include normal primary tunnels and faulty primary tunnels; The transmitting of data with the central server through each of the normal primary tunnels based on the third routing information from the edge server to the main computing node includes: Removing the routing information corresponding to each of the faulty primary tunnels from the third routing information; Based on the routing information corresponding to each normal primary tunnel in the third routing information, data is transmitted with the central server through each normal primary tunnel.
10. The method according to claim 9, characterized in that The method further comprises: During data transmission with the central server through each of the normal main tunnels, when at least one main tunnel is converted from a faulty main tunnel to a normal main tunnel, the routing information corresponding to the main tunnel is republished, and at the same time, based on the routing information corresponding to the main tunnel, data transmission with the central server is performed through the main tunnel.
11. The method according to claim 8, characterized in that The method further comprises: In the process of transmitting data with the central server through each normal secondary tunnel based on the third routing information, when at least one primary tunnel is converted from a faulty primary tunnel to a normal primary tunnel, the fourth routing information is revoked, and based on the routing information corresponding to each of the normal primary tunnels in the third routing information, data is transmitted with the central server through each of the normal primary tunnels.
12. A data transmission device, characterized in that: The device comprises: a data transmission module, configured to, when at least one normal primary tunnel exists in the primary tunnels, determine first routing information from the primary computing node to the edge server, and perform data transmission with the edge server through each of the normal primary tunnels based on the first routing information; A state determination module, configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels; The data transmission module is configured to determine, when at least one normal secondary tunnel exists among the secondary tunnels, second routing information from the secondary computing node to the edge server, and perform data transmission with the edge server through each of the normal secondary tunnels based on the second routing information; The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
13. A data transmission device, characterized in that: The device comprises: a data transmission module, configured to, when at least one normal primary tunnel exists in the primary tunnels, determine third routing information from the edge server to the primary computing node, and perform data transmission with the central server through each of the normal primary tunnels based on the third routing information; A state determination module, configured to determine whether there is a normal secondary tunnel among the secondary tunnels when all normal primary tunnels become faulty primary tunnels; The data transmission module is configured to determine, when at least one normal secondary tunnel exists in the secondary tunnels, fourth routing information from the edge server to the secondary computing node, and perform data transmission with the edge server through each of the normal secondary tunnels based on the fourth routing information; The central server establishes at least one primary tunnel with the edge server through the primary computing node, and establishes at least one secondary tunnel with the edge server through the secondary computing node.
14. An electronic device, characterized in that: comprising a processor and a memory, wherein the processor and the memory are connected to each other; The memory is used to store computer programs; The processor is configured to execute the method according to any one of claims 1 to 11 when calling the computer program.
15. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the method according to any one of claims 1 to 11.