Data transmission

By probing and selecting the path between the data sending node and the receiving node, the data transmission path can be quickly determined and switched, thus solving the interruption problem caused by transmission path failure and enabling rapid recovery of data transmission.

WO2026007897A1PCT designated stage Publication Date: 2026-01-08CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/105653
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-04
Filing Date
2025-06-30
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

When a transmission path fails, existing technologies require a considerable amount of time to re-determine the transmission path, resulting in data transmission interruption.

Method used

The data sending node detects and selects multiple candidate transmission paths by sending path detection requests to the data receiving node, and determines the initial and target data transmission paths to achieve rapid switching.

Benefits of technology

In the event of a transmission path failure, data transmission can be quickly restored, avoiding prolonged interruptions and improving the stability and efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025105653_08012026_PF_FP_ABST
    Figure CN2025105653_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure provide a data transmission method, a data transmission system, a computing device, and a storage medium. The method is applied to a data sending node, and comprises: sending a path detection request to a data receiving node; receiving a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are determined from among a plurality of candidate transmission paths on the basis of a path selection policy, and the plurality of candidate transmission paths are determined, by the data receiving node in response to the path detection request, to be in communication with the data sending node; determining an initial data transmission path from among the plurality of data transmission paths, and performing data transmission with the data receiving node by means of the initial data transmission path; and when it is determined that a path failure occurs in the initial data transmission path, determining a target data transmission path from among the plurality of data transmission paths, and performing data transmission with the data receiving node on the basis of the target data transmission path.
Need to check novelty before this filing date? Find Prior Art

Description

Data transmission TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the technical field of computer, and particularly, to data transmission. BACKGROUND

[0002] With the continuous development of computer technology, data transmission between different nodes has become a routine measure. The process of data transmission between different nodes needs to be implemented based on transmission paths between different nodes. However, the transmission paths often fail, resulting in data transmission between different nodes being unable to be performed

[0003] When the transmission path fails, the corresponding transmission path needs to be determined for the two nodes again. Determining the transmission path again takes a long time, resulting in long-time interruption of data transmission. Therefore, there is an urgent need to provide a method for quickly recovering data transmission when the transmission path fails. SUMMARY

[0004] Therefore, one embodiment of the present disclosure provides a data transmission method. One or more embodiments of the present disclosure also relate to another data transmission method, a data transmission device, another data transmission device, a data transmission system, a computing device, a computer-readable storage medium, and a computer program product, to solve the technical defects in the related art that long-time interruption of data transmission is caused by the long time taken to determine the transmission path again.

[0005] According to a first aspect of an embodiment of the present disclosure, a data transmission method is provided, applied to a data sending node, including: sending a path detection request to a data receiving node; receiving a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are a plurality of candidate transmission paths determined by the data receiving node in response to the path detection request and communicated with the data sending node, and are determined from the plurality of candidate transmission paths based on a path selection strategy; determining an initial data transmission path from the plurality of data transmission paths, and performing data transmission with the data receiving node through the initial data transmission path; in the case that the initial data transmission path fails, determining a target data transmission path from the plurality of data transmission paths, and performing data transmission with the data receiving node based on the target data transmission path.

[0006] According to a second aspect of the embodiments of the present disclosure, a data transmission apparatus is provided, applied to a data sending node, comprising: a request sending module configured to send a path detection request to a data receiving node; a path receiving module configured to receive a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are determined by the data receiving node from a plurality of candidate transmission paths connected between the data sending node and the data receiving node in response to the path detection request, and are determined from the plurality of candidate transmission paths based on a path selection strategy; a data transmission unit configured to determine an initial data transmission path from the plurality of data transmission paths, and perform data transmission with the data receiving node through the initial data transmission path; and a fault processing module configured to determine a target data transmission path from the plurality of data transmission paths in a case where it is determined that a path fault occurs in the initial data transmission path, and perform data transmission with the data receiving node based on the target data transmission path.

[0007] According to a third aspect of the embodiments of the present disclosure, another data transmission method is provided, applied to a data receiving node, comprising: receiving a path detection request sent by a data sending node, and determining a plurality of candidate transmission paths connected between the data sending node and the data receiving node based on the path detection request; determining a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy; sending the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path.

[0008] According to a fourth aspect of the embodiments of the present disclosure, another data transmission apparatus is provided, applied to a data receiving node, comprising: a request receiving module configured to receive a path detection request sent by a data sending node, and determine a plurality of candidate transmission paths connected between the data sending node and the data receiving node based on the path detection request; a path determining module configured to determine a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy; and a path sending module configured to send the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path.

[0009] According to a fifth aspect of embodiments of the present disclosure, a data transmission system is provided, the system comprising a data sending node and a data receiving node, wherein the data sending node is configured to send a path probe request to the data receiving node, receive a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are determined by the data receiving node in response to the path probe request, and are determined by the data receiving node from a plurality of candidate transmission paths between the data sending node and the data receiving node based on a path selection policy, and the data sending node is configured to determine an initial data transmission path from the plurality of data transmission paths, and perform data transmission with the data receiving node through the initial data transmission path, in a case that a path failure occurs in the initial data transmission path, determine a target data transmission path from the plurality of data transmission paths, and perform data transmission with the data receiving node based on the target data transmission path; and the data receiving node is configured to receive the path probe request sent by the data sending node, and determine the plurality of candidate transmission paths between the data sending node and the data receiving node based on the path probe request, determine the plurality of data transmission paths from the plurality of candidate transmission paths based on the path selection policy, and send the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths based on a data transmission policy, and performs data transmission with the data receiving node based on the target data transmission path.

[0010] According to a sixth aspect of embodiments of the present disclosure, a computing device is provided, comprising a memory and a processor, wherein the memory is configured to store computer programs / instructions, and the processor is configured to execute the computer programs / instructions, and the computer programs / instructions, when executed by the processor, implement the steps of the above data transmission method or another data transmission method.

[0011] According to a seventh aspect of embodiments of the present disclosure, a computer readable storage medium is provided, which stores computer programs / instructions, and the computer programs / instructions, when executed by a processor, implement the steps of the above data transmission method or another data transmission method.

[0012] According to an eighth aspect of embodiments of the present disclosure, a computer program product is provided, comprising computer programs / instructions, and the computer programs / instructions, when executed by a processor, implement the steps of the above data transmission method or another data transmission method.

[0013] In one or more embodiments provided by the present disclosure, the data transmission method can detect multiple data transmission paths between the data receiving node and the data sending node before data transmission; when the data sending node determines that the initial data transmission path has a path failure during data transmission based on the initial data transmission path in the multiple data transmission paths, the data sending node can determine a target data transmission path from the multiple data transmission paths, so that the data sending node can quickly perform data transmission with the data receiving node based on the target data transmission path, thereby avoiding the problem of long data transmission interruption caused by the long time required for re-determining the transmission path, and realizing quick recovery of data transmission when the transmission path fails. BRIEF DESCRIPTION OF DRAWINGS

[0014] FIG. 1 is a schematic diagram of the application of a data transmission method according to an embodiment of the present disclosure;

[0015] FIG. 2 is a flowchart of a data transmission method according to an embodiment of the present disclosure;

[0016] FIG. 3 is a schematic diagram of path detection in a data transmission method according to an embodiment of the present disclosure;

[0017] FIG. 4 is a schematic diagram of path update in a data transmission method according to an embodiment of the present disclosure;

[0018] FIG. 5 is a schematic diagram of path failure processing in a data transmission method according to an embodiment of the present disclosure;

[0019] FIG. 6 is a schematic diagram of node unavailability processing in a data transmission method according to an embodiment of the present disclosure;

[0020] FIG. 7 is a flowchart of the processing procedure of a data transmission method according to an embodiment of the present disclosure;

[0021] FIG. 8 is a flowchart of another data transmission method according to an embodiment of the present disclosure;

[0022] FIG. 9 is a schematic diagram of the structure of a data transmission system according to an embodiment of the present disclosure;

[0023] FIG. 10 is a schematic diagram of the structure of a data transmission apparatus according to an embodiment of the present disclosure;

[0024] FIG. 11 is a schematic diagram of the structure of another data transmission apparatus according to an embodiment of the present disclosure;

[0025] FIG. 12 is a structural block diagram of a computing device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0026] In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, the present disclosure can be practiced without the specific details, which are not described in the present disclosure, and it is understood that the scope of the present disclosure is not limited to the details of the embodiments described herein. In other instances, well-known methods associated with computing, software development, and / or data analytics have not been described in detail in order to avoid unnecessarily obscuring aspects of the present disclosure.

[0027] The terminology used in one or more embodiments of the present disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of one or more embodiments of the present disclosure. As used in one or more embodiments of the present disclosure and the accompanying claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be understood that the terms "and / or," "comprises" and / or "comprising" when used in one or more embodiments of the present disclosure are open-ended terms that specify the presence of any item, number, operational scenario, component, element, or combination of items, numbers, operational scenarios, components, elements, or the like, but do not exclude the presence or addition of one or more other items, numbers, operational scenarios, components, elements, or combinations thereof.

[0028] It is to be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. It is to be understood that the terms "including," "comprising," "consisting" and / or "consisting essentially of" when used in one or more embodiments of the present disclosure are open-ended terms that specify the presence of stated integers and do not preclude the presence or addition of one or more other integers, components, elements, steps, operations, and / or groups thereof. It is further understood that the terms "first," "second," and so on, do not necessarily imply a chronological order.

[0029] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in one or more embodiments of the present disclosure are all information and data authorized by the user or authorized by all parties, and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation portal for user to choose authorization or refusal.

[0030] First, the nomenclature involved in one or more embodiments of the present disclosure is explained.

[0031] Stateful gateway: The forwarding of data packets by the gateway node is not based on packet forwarding, but on flow forwarding, usually using 5-tuple to identify a flow.

[0032] LVS machine: A server cluster used to provide load balancing services.

[0033] Session synchronization: A technique used in distributed systems to keep the session state synchronized across multiple nodes.

[0034] Hash: An algorithm used to map data packets to specific locations, commonly used for routing and traffic distribution.

[0035] Rehash: Refers to the process of recalculating the original hash table when the network topology changes or the routing table updates, in order to update the new routing table to accurately reflect the latest network path.

[0036] VIP (Virtual IP Address): In the process of routing and forwarding, VIP usually refers to a virtual IP address, which is an IP address not directly bound to a single physical interface, but exists as a representative address of a service cluster or high-availability system.

[0037] VXLAN (Virtual eXtensible Local Area Network) is a network virtualization technology that can improve the scalability of large cloud computing deployments. It is an extension of VLAN. VXLAN is a powerful tool that can extend Layer 2 through Layer 3 networks. It can encapsulate traffic and extend it to third-layer gateways to solve the portability limitations of VMS (Virtual Memory System), allowing access to servers on external IP subnets.

[0038] Flow-based forwarding: Refers to forwarding data packets not only based on the header information of a single packet (such as source IP, destination IP, port number, etc.), but also based on the historical state information of the communication flow (Flow) to which the packet belongs.

[0039] Link packet loss degradation: Refers to the situation where the packet loss rate of one or more links in the network transmission process has increased significantly or deteriorated. In addition, this link packet loss degradation also includes the situation where the packet loss rate caused by device problems has increased significantly or deteriorated.

[0040] Traceroute is a network diagnostic tool used to determine the routing path that a data packet takes from the source host to the target host in the network, i.e. all the routers or gateways along the way. This command reveals the complete path information of the data packet from the sender to the receiver, helping network administrators or technicians diagnose network connection problems, identify potential bottlenecks, estimate delay distribution, and understand network topology.

[0041] With the continuous development of computer technology, data transmission between different nodes has become a routine measure. The process of data transmission between different nodes needs to be implemented based on the transmission path between different nodes. For example, the node can be a stateful gateway node. The stateful gateway node (such as a load balancing service) usually adopts multiple nodes to realize high availability capability. In a virtual network environment, a physical switch generally performs hash on the next hop based on the outer 5-tuple of VXLAN. The same 5-tuple will fall into the same next hop. If the next hop fails, it must rely on the routing convergence (such as BGP) of the physical network layer, and this process may take up to 30s.

[0042] Generally, from the client to the gateway node, multiple-hop physical network devices are passed through. If the intermediate physical network device fails or the transmission link is abnormal, it must rely on the routing convergence (such as BGP) of the physical network layer, and this process may take up to 30s. In addition, for the problems of link packet loss degradation and delay lengthening, it depends on manual scheduling. When the scale becomes large, device failure and link abnormality are a normalized phenomenon. Therefore, a scheme is needed to reduce the influence time of failure and improve the network use experience of users.

[0043] Therefore, for the case of stateless gateway node, by using the characteristics of physical switch routing, the method of detection, transformation of source port and / or transformation of path (not limited to source port / SID / flowlabel) is adopted to realize the rapid path fault perception and switching capability. However, the transformation of outer source port will cause the same 5-tuple to fall into different gateway nodes, so that the multiple nodes of the stateful gateway node need to do accurate session synchronization or realize packet penetration, which has high complexity and large overhead.

[0044] In view of the above problems, the scheme provided by the present disclosure is to solve the above problems based on session synchronization or based on packet penetration, or to solve the above problems based on the end-side protocol stack to realize multi-path transmission. However, this scheme also has the problems of complexity and large overhead.

[0045] Therefore, in the present disclosure, a data transmission method is provided. The present disclosure also relates to another data transmission method, a data transmission device, another data transmission device, a data transmission system, a computing device, a computer-readable storage medium, and a computer program product, which are described in detail one by one in the following embodiments.

[0046] Referring to FIG. 1, FIG. 1 shows an application diagram of a data transmission method according to one embodiment of the present disclosure. As shown in FIG. 1, a probe program and a forwarding program are deployed in a source gateway 102. The probe program is used to detect which paths between the source and a destination 104 are available. The forwarding program needs to select one path from the available paths to forward messages between the source and the destination 104. When the path for forwarding messages fails, the probe program can reselect a path from the available paths and send the path to the forwarding program to forward messages between the source and the destination 104, thereby avoiding the problem of long data transmission interruption due to the long time required to determine the transmission path again, and achieving fast recovery of data transmission when the transmission path fails.

[0047] Referring to FIG. 2, FIG. 2 shows a flowchart of a data transmission method according to one embodiment of the present disclosure. The data transmission method is applied to a data sending node and includes the following steps.

[0048] Step 202: Send a path probe request to a data receiving node.

[0049] The data sending node can be understood as a node for sending data to a data receiving node. For example, the data sending node can be a host, a server, a client, a gateway device, or a network card, etc. The data sending node can be deployed in a client or a server to send data (e.g., message data, requests, instructions, etc.) of the client or the server to a data receiving node. It should be noted that in the process of data transmission, the data sending node can send data to the data receiving node, and the data sending node can also receive data (e.g., message data, requests, instructions, etc.) sent by the data receiving node. In one or more embodiments of the present disclosure, the data sending node can be a host or a gateway to perform link detection and link switching.

[0050] The data receiving node can be understood as a node for receiving data sent by the data sending node. For example, the data receiving node can be a server, a client, a network card, or a gateway, etc. It should be noted that in the process of data transmission, the data receiving node can receive data (e.g., message data, requests, instructions, etc.) sent by the data sending node, and the data receiving node can also send data (e.g., message data, requests, instructions, etc.) to the data sending node. In one or more embodiments of the present disclosure, the data receiving node can be a group of physical servers, and provide an identical destination IP to the outside.

[0051] A path probing request can be understood as a request to probe a data transmission path between a data receiving node and a data sending node that allows data transmission; for example, the path probing request can be a probe message, a request, a probe request message, etc.

[0052] In one or more embodiments provided in this disclosure, sending a path probing request to a data receiving node includes: determining a plurality of transmission paths to be probed between the data sending node and the data receiving node; and sending a path probing request to the data receiving node using each transmission path to be probed.

[0053] In this context, the multiple transmission paths to be probed can be understood as paths that the data sending node has obtained in advance and needs to verify whether it can transmit data with the multiple transmission paths to be probed. In one or more embodiments provided in this disclosure, the data path to be transmitted can be a path between the data sending node and the data receiving node, and this path can be called a path. For example, the data path to be transmitted can refer to a path from the source end (i.e., the data sending node) to the destination end (i.e., the data receiving node). It should be noted that the path from the source end to the destination end can be obtained in various ways, including but not limited to various schemes such as traceroute and INT.

[0054] In one or more embodiments provided in this disclosure, a path detection unit and a data transmission unit may be configured in the data sending node, through which the steps of the data processing method can be executed; for example, the data sending node may be a gateway, the path detection unit may be a detection program, and the detection program may be deployed on the gateway; the data transmission unit may be a forwarding program, and the forwarding program may be deployed on the gateway; when executing the path detection process, the detection program in the gateway (detection source) is used to detect which paths are available between the source end and the destination end, while the forwarding program needs to select one of the available paths for message forwarding.

[0055] Taking the application of the data processing method provided in this disclosure in a virtual network scenario as an example, the data processing method can be described as a method for quickly detecting and recovering from link failures of stateful gateways in a virtual network. This data processing method can be applied to the gateway, and the detection program and forwarding program in the gateway can realize the rapid detection and recovery of link failures of stateful gateways. That is to say, the detection program (i.e., path detection unit) and the forwarding program (data transmission unit) are devices for quickly detecting and recovering from link failures of stateful gateways in a virtual network.

[0056] Based on this, in the overall detection process of the detection program, the detection program maintains a path list (i.e., a path list) for each IP (destination IP) that contains the following key information (destination IP, path ID, packet ID, connectivity); when the detection program performs path detection, the detection program sends a detection request message for each path corresponding to each IP, wherein the detection request message does not carry packet information.

[0057] It should be noted that the data receiving node is multiple; the data sending node can send a path detection request to each data receiving node, that is, the data sending node performs the steps of the data processing method for each data receiving node.

[0058] In the above embodiment, the data sending node sends a path detection request to the data receiving node through a plurality of to-be-detected transmission paths between the data sending node and the data receiving node, thereby detecting the available data transmission path between the data sending node and the data receiving node, thereby facilitating subsequent data transmission between the data sending node and the data receiving node through the available data transmission path.

[0059] In one or more embodiments provided in the present disclosure, the sending of the path detection request to the data receiving node comprises: determining data receiving node information of the data receiving node, data sending node information of the data sending node, and node connectivity information between the data receiving node and the data sending node; generating a path detection message based on the data receiving node information, the data sending node information, and the node connectivity information, and sending the path detection message to the data receiving node.

[0060] Wherein, the data receiving node information can be the IP address and port information of the data receiving node information; for example, the IP address and port information of the destination; the data sending node information can be the IP address and port information of the data sending node information; for example, the IP address and port information of the source; the node connectivity information can be understood as the protocol information between the data sending node and the data receiving node, for example, the transmission layer protocol.

[0061] Following the above example, the detection program generates a detection request message based on the 5-tuple of the source IP address, the source port, the destination IP address, the destination port, and the transmission layer protocol during the path detection process, and sends the detection request message to the destination through a plurality of paths between the source and the destination.

[0062] In the above embodiment, the data sending node generates a path detection request based on the data receiving node information, the data sending node information and the node connectivity information, and sends the path detection request to the data receiving node through a plurality of to-be-detected transmission paths between the data sending node and the data receiving node, so as to detect available data transmission paths between the data sending node and the data receiving node, thereby facilitating subsequent data transmission between the data sending node and the data receiving node through the available data transmission paths.

[0063] In one or more embodiments provided in the present disclosure, the sending of the path detection request to the data receiving node comprises: sending the path detection request to the data receiving node by a path detection unit in the data sending node; wherein the path detection unit can be understood as a unit for path detection in the data sending node, and can be software or hardware, for example, the path detection unit can be a path detection software unit such as a program or a script; or the path detection unit can be a path detection hardware unit such as a device plug-in or a device; in one or more embodiments provided in the present disclosure, the path detection unit can be a detection program in a gateway.

[0064] Step 204: receiving a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are a plurality of candidate transmission paths determined by the data receiving node in response to the path detection request and determined by the data receiving node from the plurality of candidate transmission paths based on a path selection strategy.

[0065] The plurality of data transmission paths can be understood as paths selected by the data receiving node for data transmission between the data sending node and the data receiving node; the plurality of candidate transmission paths can be understood as paths connected between the data sending node and the data receiving node, i.e. available paths between the data sending node and the data receiving node; in one or more embodiments provided in the present disclosure, although there are a plurality of available candidate transmission paths between the data sending node and the data receiving node, the data receiving node needs to select all or part of the paths from the plurality of candidate transmission paths as data transmission paths for data transmission between the data sending node and the data receiving node, thereby ensuring the security and stability of data transmission. It should be noted that the data sending node and the data receiving node in the present disclosure can be stateful gateways.

[0066] The path selection strategy can be understood as a strategy used by the data receiving node to determine the plurality of data transmission paths from the plurality of candidate transmission paths; the path selection strategy can be set according to actual application scenarios, for example, the plurality of data transmission paths are determined from the plurality of candidate transmission paths according to the path quality of the candidate transmission paths; or the plurality of data transmission paths are randomly determined from the plurality of candidate transmission paths, etc.

[0067] In one or more embodiments provided by the present disclosure, the receiving the plurality of data transmission paths sent by the data receiving node comprises: receiving a plurality of path probe response messages returned by the data receiving node; determining, as a probe response transmission path, a to-be-probed transmission path corresponding to each path probe response message in the plurality of to-be-probed transmission paths, wherein the probe response transmission path is a path for transmitting the path probe response message; adjusting a path state of the probe response transmission path to a connected state, and grouping a plurality of probe response transmission paths as a transmission path group based on path packet information carried in the plurality of path probe response messages; and determining the plurality of probe response transmission paths included in the transmission path group as the plurality of data transmission paths.

[0068] The path probe response message can be understood as a message data returned by the data receiving node in response to the path probe request or the path probe request message.

[0069] The probe response transmission path can be understood as a path used by the data receiving node in transmitting the path probe response message to the data sending node; the path probe response message is transmitted from the data receiving node to the data sending node through the probe response transmission path.

[0070] The path state can be understood as information representing whether a transmission path between the data receiving node and the data sending node is connected (i.e., whether it is available), for example, when the connectivity is set to 0, it represents that a path is unavailable; when the connectivity is set to 1, it represents that a path is available.

[0071] The path grouping information can be understood as information for grouping a plurality of probe response transmission paths into a group; for example, the path grouping information can be group ID information, group identification information, etc.

[0072] Continuing with the above example, FIG. 3 is a schematic diagram of path probing in a data transmission method according to an embodiment of the present disclosure. As shown in FIG. 3, the source-side probing program sends a probe request message to the destination-side through a path. After receiving the probe request message, the gateway device (i.e., node 1 or node 2 in FIG. 3) of the destination-side needs to reply a probe response message, and the probe response message adds group ID information. The specific execution mode of this step is as follows: first, the gateway device of the destination-side can receive a plurality of probe request messages sent by multiple paths, and thus can determine a plurality of available paths connected between the source-side and the destination-side; second, the gateway device of the destination-side adds group ID information and an available path A to the corresponding probe response message for the probe request message sent through the available path A, and sends the probe response message to the gateway device of the source-side.

[0073] If the detection program receives the detection response message returned through a path (i.e., the detection response transmission path), the path corresponding group is set, and the connectivity corresponding to the path is set to 1 (i.e., the path state); if no detection response message returned through a path is received, the path corresponding group is not set, and the connectivity corresponding to the path is set to 0. The specific execution mode of this step is as follows: first, if the detection program of the source gateway device receives the detection response message sent by the destination gateway device through a path A (i.e., the detection response transmission path), the group ID information (i.e., group 1 and group 2 in FIG. 3) carried in the detection response message is determined, and path A is determined as an available path. Second, based on the group ID information, the corresponding group of the destination in the path list is determined; and for the available path A, the path corresponding to it in the group is set as available; in addition, for other paths that do not return the detection response message, they are set as unavailable.

[0074] It should be noted that the detection program of the source gateway device sets the paths in the group corresponding to the destination gateway device that does not receive the detection response message as unavailable.

[0075] It should be noted that the GWIP in the drawings of one or more embodiments of the present disclosure can refer to Gateway IP Address, i.e., gateway IP address.

[0076] In the above embodiment, from the plurality of to-be-detected transmission paths, the to-be-detected transmission path corresponding to each path detection response message is determined, and is determined as a detection response transmission path, and the path state of the detection response transmission path is adjusted to a connected state, thereby facilitating subsequent determination of a data transmission path based on the detection response transmission path; and based on the path group information carried in the plurality of path detection response messages, the plurality of detection response transmission paths are determined as a transmission path group, and the plurality of detection response transmission paths in the transmission path group are determined as a plurality of data transmission paths; thereby utilizing the transmission path group to conveniently manage the plurality of data transmission paths.

[0077] In one or more embodiments provided by the present disclosure, after receiving the plurality of data transmission paths sent by the data receiving node, the method further comprises: sending a connectivity detection message to the data receiving node by using each to-be-detected transmission path; receiving a connectivity detection response message sent by the data receiving node, and determining a to-be-detected transmission path corresponding to the connectivity detection response message in the plurality of to-be-detected transmission paths as an updated data transmission path; in the case where the plurality of detection response transmission paths in the transmission path group are inconsistent with the plurality of updated data transmission paths, the plurality of updated data transmission paths are used to replace the plurality of detection response transmission paths to obtain an updated transmission path group.

[0078] The connectivity detection packet can be understood as a packet for detecting whether the path between the data receiving node and the data sending node is connected; in one or more embodiments provided by the present disclosure, the data sending node continuously sends the connectivity detection packet to the data receiving node for detecting the connectivity of the path therebetween; the connectivity detection packet can be the same as the path detection request; the connectivity detection packet is sent by the data sending node to the data receiving node after the data sending node determines the multiple data transmission paths through the path detection request, and is used for detecting the path connectivity.

[0079] The connectivity detection response packet can be understood as a packet sent by the data receiving node in response to the connectivity detection packet, wherein the connectivity detection response packet can carry the path grouping information.

[0080] The updated data transmission path can be understood as a path for updating the multiple detection response transmission paths or the multiple data transmission paths.

[0081] In the above example, during the path detection process of the detection program, the grouping change can occur, based on which, the path included in the grouping needs to be updated; FIG. 4 is a schematic diagram of path updating in a data transmission method according to an embodiment of the present disclosure, based on which, in some extreme cases, the path list can appear rehash, and thus the mapping relationship between the path and the grouping changes, and the processing flow is as follows: the detection program sends the detection request packet (i.e., the connectivity detection packet) to each path corresponding to each destination IP according to the preset time frequency, and receives the detection response packet (i.e., the connectivity detection response packet) sent by the destination gateway device.

[0082] The detection program determines the grouping change according to the detection response packet; specifically, the execution mode of this step is as follows: first, the detection program of the source gateway device acquires the grouping ID information and the available paths (i.e., the updated data transmission paths) carried in the multiple detection response packets.

[0083] Secondly, the detection program of the source gateway device updates the grouping and the available path information (i.e., the detection response transmission path or the data transmission path) in the local path list based on the grouping ID information and the multiple available paths in the case where the grouping corresponding to the available path changes, so as to obtain the latest mapping relationship (i.e., the corresponding relationship between the grouping and the available path).

[0084] In addition, the detection program does not need to issue the latest table item to the forwarding program because the mapping relationship between the path and the grouping does not affect the packet forwarding of the forwarding program; it needs to be noted that in the case where the mapping relationship between the path and the grouping affects the packet forwarding of the forwarding program, the latest path needs to be issued to the forwarding program.

[0085] In the above embodiment, the multiple probe response transmission paths in the transmission path group are updated based on the connectivity probe response messages sent by the data receiving node, and the updated transmission path group is obtained, so that the stored paths are adjusted in a timely manner according to the actual link condition, thereby meeting the data transmission requirement.

[0086] Step 206: determining an initial data transmission path from the multiple data transmission paths, and performing data transmission with the data receiving node through the initial data transmission path.

[0087] In one or more embodiments provided in the disclosure, the determining an initial data transmission path from the multiple data transmission paths, and performing data transmission with the data receiving node through the initial data transmission path includes: determining, by the path probe unit, an initial data transmission path from the multiple data transmission paths, and sending the initial data transmission path to a data transmission unit; and performing, by the data transmission unit, data transmission with the data receiving node through the initial data transmission path.

[0088] Continuing with the above example, the probe procedure selects a path from the multiple available paths for the forwarding procedure to use for packet forwarding.

[0089] The specific execution mode of this step is as follows: first, the probe procedure of the source end gateway device selects a path from the multiple available paths for the forwarding procedure to use for packet forwarding. Second, the probe procedure of the source end gateway device sends the selected path to the forwarding procedure. The forwarding procedure can perform packet forwarding in the following manner: first, the forwarding procedure can convert the data sent down from the upper layer into a packet, determine the corresponding forwarding path according to the destination IP corresponding to the data, and second, send the packet to the destination through the forwarding path.

[0090] In the above embodiment, the path probe unit and the data transmission unit cooperate to enable the data transmission unit to perform data transmission with the data receiving node based on the available initial data transmission path, thereby meeting the data transmission requirement between the data sending node and the data receiving node.

[0091] Step 208: in the case where it is determined that the initial data transmission path has a path fault, determining a target data transmission path from the multiple data transmission paths, and performing data transmission with the data receiving node based on the target data transmission path.

[0092] The target data transmission path can be understood as a data transmission path determined from the plurality of data transmission paths for data transmission between the data sending node and the data receiving node in the case that the initial data transmission path has a path failure.

[0093] In one or more embodiments provided by the present disclosure, before the target data transmission path is determined from the plurality of data transmission paths in the case that the initial data transmission path has a path failure, the method further comprises: sending a connectivity probe packet to the data receiving node based on the plurality of data transmission paths, and receiving a connectivity probe response packet sent by the data receiving node; determining that the initial data transmission path has a path failure based on the connectivity probe response packet.

[0094] In the above example, the link failure awareness and link recovery process in one or more embodiments provided by the present disclosure can be: the detection program sends a detection request packet to each path corresponding to each destination IP at a preset time frequency (for example, 1 second, 1 minute, etc.), and the detection request packet does not carry packet information; the gateway device of the destination needs to reply a detection response packet after receiving the detection request packet, and the detection response packet adds packet ID information; the detection program determines that the intermediate link has a failure according to the detection response packet. In the case of determining that the intermediate link has a failure, a path is re-determined from a plurality of available paths for data transmission between the source end and the destination end; so as to determine the target data transmission path from the plurality of data transmission paths in the case that the initial data transmission path has a path failure based on the connectivity probe response packet, and ensure the stability of data transmission between the data sending node and the data receiving node.

[0095] In one or more embodiments provided by the present disclosure, the determining that the initial data transmission path has a path failure based on the connectivity probe response packet comprises: determining a data transmission path corresponding to the connectivity probe response packet in the plurality of data transmission paths as a connectivity transmission path, and adjusting a path state corresponding to the connectivity transmission path to a connectivity state; determining other data transmission paths in the plurality of data transmission paths except the connectivity transmission path as fault transmission paths, and adjusting path states corresponding to the fault transmission paths to fault states; and determining that the initial data transmission path has a path failure in the case that the path state of the initial data transmission path is determined as the fault state.

[0096] With the above example, FIG. 5 is a schematic diagram of path failure processing in a data transmission method according to an embodiment of the present disclosure. Based on FIG. 5, the data transmission method according to one or more embodiments of the present disclosure provides a link failure awareness and a link recovery process. Specifically, a detection procedure sends a detection request packet to each path corresponding to each destination IP at a preset time frequency, and the detection request packet does not carry packet information. After receiving the detection request packet, the gateway device of the destination needs to reply a detection response packet, and the detection response packet adds packet ID information.

[0097] The detection procedure determines that an intermediate link failure occurs according to the detection response packet. Specifically, the link failure means that the source end and the destination end cannot be connected through the path (i.e., not connected in FIG. 5). The execution mode of this step is as follows. First, the detection procedure of the source end gateway device obtains the packet ID information and the available paths carried in each detection response packet. Second, based on the packet ID information, the packet of the destination in the path list is determined, and based on the multiple available paths, the failure path is determined from the packet. For example, packet 1 contains 4 available paths, i.e., path 1, path 2, path 5, and path 6. When two paths (i.e., path 1 and path 5) return the detection response packet, and only path 1 and path 5 are carried in the two detection response packets, it is determined that path 2 and path 6 have link failure.

[0098] The detection procedure sets the connectivity of the path corresponding to the link failure in the path list to 0. In addition, the detection procedure calculates which paths are not connected by the forwarding procedure, and finds other available paths under the packet group according to the path group.

[0099] The detection procedure selects a path from the other available paths for the forwarding procedure to forward the packet, and sends it to the forwarding procedure.

[0100] It should be noted that in the case of multiple available paths, any one of them can be selected as the path for the forwarding procedure to forward the packet. Alternatively, the 5-tuple corresponding to the multiple available paths is hashed, and a path is selected from all available paths as the path for the forwarding procedure to forward the packet according to the 5-tuple hash.

[0101] In one or more embodiments of the present disclosure, hashing the 5-tuple can be understood as processing the 5-tuple using a hash algorithm. Specifically, the hash algorithm can be used to hash the 5-tuple to generate a unique hash value. Then, the hash value is mapped to a pre-set hash table, and the entries in the table indicate the corresponding next hop. Finally, the hash value is used to determine the next hop device or interface to which the data packet should be forwarded.

[0102] In one or more embodiments provided by the present disclosure, the determining the target data transmission path from the plurality of data transmission paths comprises: determining the connected transmission paths with the connected state from the data transmission paths according to the path states of the data transmission paths; and determining the target data transmission path from the connected transmission paths.

[0103] Specifically, in the process of determining the target data transmission path from the plurality of data transmission paths, the target data transmission path is determined from the connected transmission paths with the connected state, the connected transmission paths with the connected state being one or more, and the connected transmission paths with the connected state being the paths with the connected state in the plurality of data transmission paths; based on the above embodiments, the target data transmission path is quickly determined from the plurality of data transmission paths in the case that the initial data transmission path fails, and the stability of data transmission between the data sending node and the data receiving node is ensured.

[0104] In the above embodiments, the initial data transmission path is quickly and accurately determined to fail through the detection response message, so that the target data transmission path is quickly determined from the plurality of data transmission paths in the case that the initial data transmission path fails, the stability of data transmission between the data sending node and the data receiving node is ensured, and the data transmission is avoided from being interrupted for too long a time.

[0105] In one or more embodiments provided by the present disclosure, after the sending of the path detection request to the data receiving node, the method further comprises: in the case that the plurality of data transmission paths sent by the data receiving node are not received, determining that the data receiving node fails; suspending the data transmission with the data receiving node, and continuing to send the path detection request to the data receiving node until the plurality of data transmission paths sent by the data receiving node are received.

[0106] In the above example, in some cases, the entire node may be unavailable, thereby causing packet abnormality. For this case, the processing manner can be referred to FIG. 6. FIG. 6 is a schematic diagram of a node unavailable processing manner in a data transmission method according to an embodiment of the present disclosure. As shown in FIG. 6, in an extreme case, the entire gateway node may be unavailable, and the processing manner of this problem is as follows: the detection program of the source end gateway device sends the detection request message to each path corresponding to each destination IP according to a preset time frequency. In the case that the detection response message fed back by the destination cannot be received, it is determined that the gateway device of the destination fails.

[0107] The detection program determines that all paths in the group corresponding to the destination end are not connected (all bad), and therefore marks the entire group as not connected from the path list and switches to a new group ID. The specific execution manner of this step is: first, the detection program of the source end gateway device determines that all paths in the group corresponding to the destination end are not connected, and marks the entire group as not connected from the path list; subsequent path detection needs to continue through the sending of messages, and in the case that a usable path is detected, data transmission with the destination end can be resumed through the detected usable path.

[0108] Secondly, the detection program of the source end gateway device switches to a new group ID and sends a detection request message to the path under the new group ID, so as to detect whether the path under the new group is connected.

[0109] Finally, the detection program issues the latest table item to the forwarding program. The specific execution manner of this step is: since the detection program of the source end gateway device deletes a group from the path list, it sends the latest table item to the forwarding program, so as to update the correspondence between the group ID and the destination end.

[0110] In the above embodiment, in the case that the data receiving node is determined to be faulty, the state of the data receiving node is detected by continuing to send the path detection request to the data receiving node, so that in the case that the data receiving node is recovered, the multiple data transmission paths between the data sending node and the data receiving node can be determined in time.

[0111] In one or more embodiments provided by the present disclosure, the target data transmission path is determined from the multiple data transmission paths, and data transmission is performed with the data receiving node based on the target data transmission path, which includes: determining the target data transmission path from the multiple data transmission paths by using the path detection unit, and sending the target data transmission path to the data transmission unit in the data sending node; and performing data transmission with the target data receiving node based on the target data transmission path by using the data transmission unit.

[0112] Using the above example, first, the detection program of the source end gateway device selects a path from the multiple available paths for the forwarding program to use for message forwarding. Secondly, the detection program of the source end gateway device sends the selected path to the forwarding program.

[0113] The forwarding program can convert the data sent by the upper layer into a message, determine the corresponding forwarding path according to the destination IP corresponding to the data, and send the message to the destination through the forwarding path.

[0114] In one or more embodiments provided by the present disclosure, the data transmission method can detect multiple data transmission paths between a data receiving node and a data sending node before data transmission; when an initial data transmission path in the multiple data transmission paths fails, the data sending node can determine a target data transmission path from the multiple data transmission paths, so that the data sending node can quickly transmit data to the data receiving node based on the target data transmission path, thereby avoiding the problem of long data transmission interruption due to the long time required for re-determining the transmission path, and achieving quick recovery of data transmission when the transmission path fails.

[0115] The data transmission method provided by the present disclosure is further described below in the application of the data transmission method in the scenario of fast perception and recovery of link failure of a stateful gateway in a virtual network, with reference to FIG. 7. FIG. 7 is a flowchart of a processing procedure of a data transmission method according to an embodiment of the present disclosure.

[0116] In a gateway device (also referred to as a gateway node) deployed on a physical server (for example, a host of multiple virtual servers) in a virtual network scenario, a detection program and a forwarding program can be configured, and the detection program and the forwarding program together constitute an apparatus for fast perception and recovery of link failure, which can also be referred to as a detection source. The detection program is used to detect which transmission paths between two physical servers are available, and the forwarding program needs to select a transmission path from the available transmission paths for packet forwarding, thereby achieving data transmission between the two physical servers.

[0117] When a link failure occurs, the detection program selects an available transmission path from the multiple detected transmission paths to replace, thereby achieving fast perception and recovery of link failure. The processing procedure of the data transmission method includes the following steps.

[0118] Specifically, the path detection procedure in the data transmission method is described by the following steps 702 to 710.

[0119] Step 702: The detection program maintains an available path list for each IP (destination IP address); the path list contains the following key information (destination IP, path ID, group ID, connectivity).

[0120] For ease of explanation, the following detection procedure and forwarding procedure are the detection procedure and forwarding procedure configured in the gateway device of the source end.

[0121] Wherein, path: refers to a path (i.e. data transmission path) from the source end to the destination end, it should be noted that the path from the source end to the destination end can be obtained in various ways, including but not limited to various schemes such as based on traceroute, based on INT, etc.

[0122] path ID: refers to the identification (ID) of a forwarding path; for example, path name, path number, etc.

[0123] Group ID: refers to the identification of each path group, for example, group name (group 1, group 2, etc.), group number, etc.

[0124] Destination IP: refers to the IP address of the destination end.

[0125] Connectivity: used to represent the identification of whether a path (i.e. path) between the source end and the destination end is connected, for example, in the case that a path between the source end and the destination end is not connected, the path connectivity can be set to 0; in the case that a path between the source end and the destination end is connected, the path connectivity can be set to 1.

[0126] Source end and destination end: refer to two physical servers in the data transmission process; the source end refers to the physical server that sends data (such as message data), and the destination end can be a group of physical servers and provides an identical destination end IP to the outside.

[0127] It should be noted that the source end and the destination end are both configured with gateway devices, and the gateway devices are both configured with detection procedures and forwarding procedures.

[0128] Step 704: The detection procedure sends a detection request message to each path corresponding to each destination IP, and the detection request message does not carry group information.

[0129] The specific execution mode of this step is: first, the detection procedure determines the path between the source end and the destination end that can perform data transmission by various schemes such as based on traceroute, based on INT, etc. before performing connectivity detection, and saves it in the path list. Secondly, send a detection request message to each path.

[0130] Step 706: After receiving the detection request message, the gateway device of the destination end needs to reply a detection response message, and the detection response message adds group ID information.

[0131] Among them, the packet ID information refers to the identifier of the destination gateway device. By adding the packet ID information to the probe response message, the packet ID information is sent to the source gateway device, so that the source gateway device can determine the packet corresponding to the destination based on the packet ID information.

[0132] Specifically, this step is executed as follows: First, the destination gateway device can receive probe request messages sent from multiple paths, thus identifying multiple available paths connecting the source and destination. Second, for a probe request message sent through an available path A, the destination gateway device adds the packet ID information and an available path A to the corresponding probe response message, and sends the probe response message to the source gateway device.

[0133] Step 708: Probe procedure: If a probe response message is received, a packet is set and connectivity is set to 1; if no probe response message is received, no packet is set and connectivity is set to 0.

[0134] Specifically, if the probe program receives a probe response message returned through a path, it sets the packet corresponding to that path and sets the connectivity of that path to 1; if it does not receive a probe response message returned through a path, it does not set the packet corresponding to that path and sets the connectivity of that path to 0.

[0135] The specific execution method for this step is as follows: First, if the probe program of the source gateway device receives a probe response message sent by the destination gateway device through path A, it determines the packet ID information carried in the probe response message and determines that path A is an available path. Second, based on the packet ID information, it determines the packet corresponding to the destination in the path list; and for the available path A, it sets the path corresponding to it in the packet as available; in addition, for other paths that do not return probe response messages, they are set as unavailable.

[0136] It should be noted that the probe program of the source gateway device sets the path in the corresponding group to unavailable for the destination gateway device that does not receive a probe response message.

[0137] Step 710: The probe selects one path from multiple available paths for the forwarding program to forward packets.

[0138] Specifically, this step is executed as follows: First, the probe program on the source gateway device selects one path from multiple available paths for the forwarding program to forward packets. Second, the probe program on the source gateway device sends the selected path to the forwarding program.

[0139] It should be noted that the forwarding program can convert the data issued by the upper layer into a packet, determine the corresponding forwarding path according to the destination IP corresponding to the data, and then send the packet to the destination through the forwarding path.

[0140] Specifically, the link fault awareness and link recovery process in the data transmission method are described through the following steps 712 to 722.

[0141] Step 712: The detection program sends a detection request packet to each path corresponding to each destination IP according to a preset time frequency, and the detection request packet does not carry packet information.

[0142] Step 714: After receiving the detection request packet, the gateway device of the destination needs to reply a detection response packet, and the detection response packet adds packet ID information.

[0143] Step 716: The detection program determines that an intermediate link fault occurs according to the detection response packet.

[0144] The link fault refers to that the source end and the destination cannot be connected through the path.

[0145] The execution mode of this step is as follows: first, the detection program of the source end gateway device obtains the packet ID information and the available paths carried in each detection response packet. Second, based on the packet ID information, the packet of the destination in the path list is determined, and based on the multiple available paths, the fault path is determined from the packet. For example, packet 1 contains three available paths, path 1, path 2 and path 3. When two detection response packets returned by the paths are received, and only path 1 and path 2 are carried in the two detection response packets, it is determined that path 3 has a link fault.

[0146] Step 718: The detection program sets the connectivity of the path corresponding to the link fault in the path list to 0.

[0147] Step 720: The detection program calculates which paths are not used by the forwarding program, and finds other available paths under the path group.

[0148] Step 722: The detection program selects a path from the other available paths for the forwarding program to use for packet forwarding.

[0149] It should be noted that in the case of multiple available paths, any one of them can be selected as the path for the forwarding program to forward the packet.

[0150] Specifically, the group change process in the data transmission method is described through the following steps 724 to 728.

[0151] In some extreme cases, the path list may be rehashed, and thus the mapping relationship between the path and the group may change, and the processing procedure is as follows.

[0152] Step 724: The detection program sends a detection request message to each path corresponding to each destination IP according to a preset time frequency, and receives a detection response message sent by the destination gateway device.

[0153] Step 726: The detection program determines that the group has changed according to the detection response message.

[0154] The execution mode of this step is as follows: first, the detection program of the source gateway device acquires the group ID information and the available paths carried in the multiple detection response messages. Second, the detection program of the source gateway device updates the group and the available path information in the local path list based on the group ID information and the multiple available paths in the case where the group corresponding to the available path has changed, so as to obtain the latest mapping relationship (i.e., the corresponding relationship between the group and the available path).

[0155] Step 728: The detection program does not need to issue the latest table item to the forwarding program because the mapping relationship between the path and the group does not affect the message forwarding of the forwarding program.

[0156] It should be noted that in the case where the mapping relationship between the path and the group affects the message forwarding of the forwarding program, the latest path needs to be issued to the forwarding program.

[0157] Specifically, the group exception in the data transmission method is explained through steps 730 to 736.

[0158] In some extreme cases, the entire gateway node may be unavailable, and the processing mode of this problem is as follows.

[0159] Step 730: The detection program sends a detection request message to each path corresponding to each destination IP according to a preset time frequency.

[0160] Step 732: The detection program determines that the gateway device of the destination has failed in the case where the detection response message fed back by the destination cannot be received.

[0161] Step 734: The detection program determines that all the paths in the group corresponding to the destination are disconnected (all bad), and thus the entire group is marked as disconnected from the path list, and a new group ID is switched.

[0162] Specifically, the execution mode of this step is as follows: first, the detection program of the source gateway device determines that all the paths in the group corresponding to the destination are not connected, and marks the entire group in the path list as not connected; subsequently, the path detection needs to continue through the sending of messages, and in the case that a usable path is detected, the data transmission with the destination can be resumed through the detected usable path. Secondly, the detection program of the source gateway device switches to a new group ID and sends a detection request message to the path under the new group ID, so as to detect whether the path under the new group is connected.

[0163] Step 736: The detection program issues the latest table item to the forwarding program.

[0164] Specifically, the execution mode of this step is as follows: the detection program of the source gateway device deletes a group in the path list, and thus sends the latest table item to the forwarding program, so as to update the correspondence between the group ID and the destination.

[0165] Based on the above steps, the data transmission method in one or more embodiments provided by the present disclosure provides a device for fast perception and recovery of link failure of a stateful gateway in a virtual network, which comprises a detection module and a forwarding module. The detection protocol corresponding to the detection module can send a detection request to a stateful gateway node through a detection source, and the stateful gateway node returns a detection response and carries path group information in the detection response. The path switching logic corresponding to the detection module is that the detection program needs to perform path switching when detecting path failure. Here, the path identifier can be a source port, a flow label, or other factors that can be used to mark a path.

[0166] The specific logic is as follows: 1. The state of the currently used path is unchanged + the group is unchanged: no switching action is performed; 2. The state of the currently used path is unchanged + the group is changed: no switching action is performed; 3. The state of the currently used path is changed: the state of the currently used path is changed (up->down), and another standby path in the same group is preferred to replace the currently faulty path. If it can be found, it means that only part of the network path in a single group is abnormal, and then it is directly replaced. If it cannot be found, it means that the entire group is probably abnormal, and then a path in another group is used to replace it. The state of the path is changed (down->up), and the path being used by the hardware is not replaced actively, but only when the path state change scenario is hit. When the group is up, a certain path is selected from other groups according to a certain strategy to replace it.

[0167] Based on the above content, by using the source port group technology, the source control port switching logic is adopted, so as to realize a lightweight fast switching scheme and improve the service experience and availability.

[0168] Specifically, after using the packet detection technology, when there are available paths under a packet, the packet can be switched to other paths of the packet, so that switching between nodes does not occur, and therefore there is no need to do packet-in-packet or first packet synchronization between different nodes, reducing the overhead. In addition, the packet scheme does not need to modify the forwarding program itself, only needs to add available path selection logic, and there is no additional overhead.

[0169] Referring to FIG. 8, FIG. 8 shows a flowchart of another data transmission method according to an embodiment of the present disclosure, which is applied to a data receiving node, and specifically includes the following steps.

[0170] Step 802: receiving a path detection request sent by a data sending node, and determining a plurality of candidate transmission paths connected with the data sending node based on the path detection request.

[0171] Step 804: determining a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy.

[0172] Step 806: sending the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path.

[0173] In one or more embodiments provided by the present disclosure, the determining of the plurality of data transmission paths from the plurality of candidate transmission paths based on the path selection strategy includes: performing path detection on each candidate transmission path based on a path state parameter corresponding to the candidate transmission path, obtaining a path detection result corresponding to each candidate transmission path, and determining the plurality of data transmission paths from the plurality of candidate transmission paths based on the path detection result; or determining a plurality of data transmission paths matching a preset path number from the plurality of candidate transmission paths based on the preset path number.

[0174] The path state parameter can be understood as a parameter for characterizing the quality of the candidate transmission path, for example, the path state parameter includes but is not limited to data throughput, delay, bit error rate, etc.

[0175] For example, in one or more embodiments provided by the present disclosure, after determining the plurality of candidate transmission paths, the data receiving node can select a plurality of candidate transmission paths with higher quality as the plurality of data transmission paths based on parameters such as data throughput, delay, and error rate corresponding to the candidate transmission paths; or the data receiving node can also randomly select a preset number of candidate transmission paths from the plurality of candidate transmission paths as the plurality of data transmission paths.

[0176] In one or more embodiments provided by the present disclosure, another data transmission method determines a plurality of candidate transmission paths connected between a data sending node and the data receiving node based on a path probe request sent by the data sending node, and determines a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy; then sends the plurality of data transmission paths to the data sending node, so as to realize data transmission between the data sending node and the data receiving node through the plurality of data transmission paths, and meet the data transmission needs in actual applications. At the same time, the data sending node can determine a target data transmission path from the plurality of data transmission paths in the case of failure of any data transmission path according to a data transmission strategy, and perform data transmission with the data receiving node based on the target data transmission path, so as to realize flexible selection of a target data transmission path without failure from the plurality of data transmission paths for data transmission in the case of path failure, thereby avoiding the problem of long-time data transmission interruption due to the long time required for re-determination of a transmission path, and realizing fast recovery of data transmission in the case of transmission path failure.

[0177] Corresponding to the method embodiments, the present disclosure also provides data transmission system embodiments. FIG. 9 shows a structural schematic diagram of a data transmission system according to an embodiment of the present disclosure. As shown in FIG. 9, the data transmission system includes a data sending node 902 and a data receiving node 904.

[0178] The data sending node 902 is configured to send a path probe request to the data receiving node 904, and receive a plurality of data transmission paths sent by the data receiving node 904. The plurality of data transmission paths are determined by the data receiving node 904 in response to the path probe request, and are determined by the data receiving node 904 from a plurality of candidate transmission paths connected between the data sending node 902 and the data receiving node 904 based on a path selection strategy. The data sending node 902 determines an initial data transmission path from the plurality of data transmission paths, and performs data transmission with the data receiving node 904 through the initial data transmission path. In the case of path failure of the initial data transmission path, the data sending node 902 determines a target data transmission path from the plurality of data transmission paths, and performs data transmission with the data receiving node 904 based on the target data transmission path.

[0179] The data receiving node 904 is configured to receive the path detection request sent by the data sending node 902, determine a plurality of candidate transmission paths connected between the data sending node 902 and the data receiving node 904 based on the path detection request, determine a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy, and send the plurality of data transmission paths to the data sending node 902, so that the data sending node 902 determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node 904 based on the target data transmission path.

[0180] The data transmission system provided by one or more embodiments of the present disclosure can enable the data sending node to detect a plurality of data transmission paths between the data receiving node and the data sending node before data transmission, and when it is determined that an initial data transmission path in the plurality of data transmission paths fails during data transmission between the data sending node and the data receiving node based on the initial data transmission path, a target data transmission path can be determined from the plurality of data transmission paths, so that the data sending node can quickly perform data transmission with the data receiving node based on the target data transmission path, thereby enabling the selection of an unfailed target data transmission path from the plurality of data transmission paths for data transmission in the case of path failure through the pre-detection of the plurality of data transmission paths, and avoiding the problem of long-time data transmission interruption due to the long time required for the re-determination of a transmission path, and realizing the quick recovery of data transmission in the case of transmission path failure.

[0181] The data receiving node determines a plurality of candidate transmission paths connected between the data sending node and the data receiving node based on the path detection request sent by the data sending node, and determines a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy, and then sends the plurality of data transmission paths to the data sending node, so that the data sending node and the data receiving node perform data transmission through the plurality of data transmission paths, meeting the data transmission needs in actual applications. Meanwhile, the data sending node can determine a target data transmission path from the plurality of data transmission paths according to a data transmission strategy in the case of failure of any data transmission path, and perform data transmission with the data receiving node based on the target data transmission path, thereby enabling the selection of an unfailed target data transmission path from the plurality of data transmission paths for data transmission in the case of path failure, avoiding the problem of long-time data transmission interruption due to the long time required for the re-determination of a transmission path, and realizing the quick recovery of data transmission in the case of transmission path failure.

[0182] The above is a schematic scheme of the data transmission system of the embodiment. It should be noted that the technical scheme of the data transmission system and the technical scheme of the data transmission method described above belong to the same concept, and the details of the technical scheme of the data transmission system that are not described in detail can be referred to the description of the technical scheme of the data transmission method.

[0183] Corresponding to the method embodiments described above, the disclosure also provides data transmission device embodiments. FIG. 10 shows a structural schematic diagram of a data transmission device according to an embodiment of the disclosure. As shown in FIG. 10, the data transmission device is applied to a data sending node, and the device comprises: a request sending module 1002 configured to send a path probe request to a data receiving node; a path receiving module 1004 configured to receive a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are a plurality of candidate transmission paths determined by the data receiving node in response to the path probe request and determined from the plurality of candidate transmission paths based on a path selection strategy; a data transmission unit 1006 configured to determine an initial data transmission path from the plurality of data transmission paths and perform data transmission with the data receiving node through the initial data transmission path; and a fault processing module 1008 configured to determine a target data transmission path from the plurality of data transmission paths and perform data transmission with the data receiving node based on the target data transmission path in a case where it is determined that the initial data transmission path has a path fault.

[0184] Optionally, the fault processing module 1008 is further configured to: send a connectivity probe packet to the data receiving node based on the plurality of data transmission paths, and receive a connectivity probe response packet sent by the data receiving node; and determine the target data transmission path from the plurality of data transmission paths in a case where it is determined that the initial data transmission path has a path fault based on the connectivity probe response packet.

[0185] Optionally, the fault processing module 1008 is further configured to: determine a data transmission path corresponding to the connectivity probe response packet in the plurality of data transmission paths as a connectivity transmission path, and adjust a path state corresponding to the connectivity transmission path to a connectivity state; determine other data transmission paths in the plurality of data transmission paths except the connectivity transmission path as fault transmission paths, and adjust path states corresponding to the fault transmission paths to fault states; and determine that the initial data transmission path has a path fault in a case where it is determined that a path state of the initial data transmission path is a fault state.

[0186] Optionally, the fault processing module 1008 is further configured to determine, from the data transmission paths, the connected transmission paths with the path state being the connected state according to the path states of the data transmission paths, and determine the target data transmission path from the connected transmission paths.

[0187] Optionally, the request sending module 1002 is further configured to determine a plurality of to-be-probed transmission paths between the data sending node and the data receiving node, and send a path probe request to the data receiving node by using each to-be-probed transmission path.

[0188] Optionally, the path receiving module 1004 is further configured to receive a plurality of path probe response packets returned by the data receiving node, determine, from the plurality of to-be-probed transmission paths, a to-be-probed transmission path corresponding to each path probe response packet as a probe response transmission path, wherein the probe response transmission path is a path for transmitting the path probe response packet, adjust the path state of the probe response transmission path to the connected state, group a plurality of probe response transmission paths as transmission path groups based on path packet information carried in the plurality of path probe response packets, and determine the plurality of probe response transmission paths included in the transmission path groups as a plurality of data transmission paths.

[0189] Optionally, the data transmission device further includes a path updating module configured to send a connected probe packet to the data receiving node by using each to-be-probed transmission path, receive a connected probe response packet sent by the data receiving node, and determine, from the plurality of to-be-probed transmission paths, a to-be-probed transmission path corresponding to the connected probe response packet as an updated data transmission path, replace the plurality of probe response transmission paths with a plurality of updated data transmission paths to obtain an updated transmission path group in a case where the plurality of probe response transmission paths and the plurality of updated data transmission paths are inconsistent in the transmission path group.

[0190] Optionally, the request sending module 1002 is further configured to determine data receiving node information of the data receiving node, data sending node information of the data sending node, and node connected information between the data receiving node and the data sending node, generate a path probe packet based on the data receiving node information, the data sending node information, and the node connected information, and send the path probe packet to the data receiving node.

[0191] Optionally, the request sending module 1002 is further configured to send a path detection request to the data receiving node by using a path detection unit in the data sending node; and the data transmission unit 1006 is further configured to determine an initial data transmission path from the plurality of data transmission paths by using the path detection unit, and send the initial data transmission path to the data transmission unit; and perform data transmission with the data receiving node through the initial data transmission path by using the data transmission unit.

[0192] Optionally, the fault processing module 1008 is further configured to determine a target data transmission path from the plurality of data transmission paths by using the path detection unit, and send the target data transmission path to the data transmission unit in the data sending node; and perform data transmission with the target data receiving node based on the target data transmission path by using the data transmission unit.

[0193] Optionally, the data transmission apparatus further comprises a node fault processing module configured to determine that the data receiving node is faulty in a case where the plurality of data transmission paths sent by the data receiving node are not received, pause data transmission with the data receiving node, and continue to send the path detection request to the data receiving node until the plurality of data transmission paths sent by the data receiving node are received.

[0194] The data transmission apparatus applied to the data sending node provided by one or more embodiments of the present disclosure can detect a plurality of data transmission paths between the data receiving node and the data sending node before data transmission, and when it is determined that an initial data transmission path in the plurality of data transmission paths has a path fault during data transmission between the data sending node and the data receiving node based on the initial data transmission path, a target data transmission path can be determined from the plurality of data transmission paths, so that the data sending node can quickly perform data transmission with the data receiving node based on the target data transmission path, thereby selecting an un-faulty target data transmission path from the plurality of data transmission paths in a case where a path fault occurs by means of pre-detecting the plurality of data transmission paths, avoiding the problem that a long time of data transmission interruption is caused due to a long time required for re-determining a transmission path, and achieving quick recovery of data transmission in a case of transmission path fault.

[0195] The above is a schematic scheme of the data transmission apparatus of the present embodiment. It should be noted that the technical scheme of the data transmission apparatus and the technical scheme of the data transmission method described above belong to the same concept, and the details of the technical scheme of the data transmission apparatus which are not described in detail can be referred to the description of the technical scheme of the data transmission method.

[0196] Corresponding to the method embodiments, the disclosure also provides another data transmission device embodiment. FIG. 11 shows a structural schematic diagram of another data transmission device according to an embodiment of the disclosure. As shown in FIG. 11, the data transmission device is applied to a data receiving node, and the device comprises: a request receiving module 1102 configured to receive a path probe request sent by a data sending node, and determine a plurality of candidate transmission paths connected with the data sending node based on the path probe request; a path determining module 1104 configured to determine a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy; and a path sending module 1106 configured to send the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path.

[0197] Optionally, the path determining module 1104 is further configured to: perform path detection on each candidate transmission path based on a path state parameter corresponding to the candidate transmission path, to obtain a path detection result corresponding to the candidate transmission path; determine the plurality of data transmission paths from the plurality of candidate transmission paths based on the path detection result; or determine a plurality of data transmission paths matching a preset path number from the plurality of candidate transmission paths based on the preset path number.

[0198] The data transmission device applied to a data receiving node provided by one or more embodiments of the disclosure determines a plurality of candidate transmission paths connected with a data sending node based on a path probe request sent by the data sending node, and determines a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy; then sends the plurality of data transmission paths to the data sending node, to realize data transmission between the data sending node and the data receiving node through the plurality of data transmission paths, to meet the data transmission needs in actual applications. Meanwhile, the data sending node can determine a target data transmission path from the plurality of data transmission paths according to a data transmission strategy in the case of failure of any data transmission path, and perform data transmission with the data receiving node based on the target data transmission path, to realize flexible selection of a target data transmission path that is not faulty from the plurality of data transmission paths for data transmission in the case of path failure, thereby avoiding the problem of long-time data transmission interruption due to long time required for re-determination of a transmission path, and realizing fast recovery of data transmission in the case of transmission path failure.

[0199] FIG. 12 illustrates a structural block diagram of a computing device 1200 according to one embodiment of the present disclosure. The components of the computing device 1200 include, but are not limited to, a memory 1210 and a processor 1220. The processor 1220 is connected with the memory 1210 through a bus 1230, and a database 1250 is used to save data.

[0200] The computing device 1200 also includes an access device 1240 that enables the computing device 1200 to communicate via one or more networks 1260. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 1240 can include one or more of any type of network interface (e.g., a network interface card (NIC)), wired or wireless, such as an IEEE 802.12 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC).

[0201] In one embodiment of the present disclosure, the above-mentioned components of the computing device 1200 and other components not shown in FIG. 12 can also be connected with each other, for example, through a bus. It should be understood that the structural block diagram of the computing device shown in FIG. 12 is merely for the purpose of example, and is not a limitation on the scope of the present disclosure. Other components can be added or replaced as needed by those skilled in the art.

[0202] The computing device 1200 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 1200 can also be a mobile or stationary server.

[0203] The processor 1220 is configured to execute instructions of a computer program to implement the steps of the above method for data transmission or another method for data transmission.

[0204] The embodiments in the present disclosure are described progressively, and the same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, the computing device embodiment is basically similar to the above method for data transmission or another method for data transmission, and thus the description is relatively simple, and the relevant parts can be referred to the description of the above method for data transmission or another method for data transmission.

[0205] An embodiment of the present disclosure further provides a computer readable storage medium storing computer programs / instructions, which are executed by a processor to implement the steps of the above method for data transmission or another method for data transmission.

[0206] The embodiments in the present disclosure are described progressively, and the same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the difference from other embodiments. In particular, the computer readable storage medium embodiment is basically similar to the above method for data transmission or another method for data transmission, and thus the description is relatively simple, and the relevant parts can be referred to the description of the above method for data transmission or another method for data transmission.

[0207] An embodiment of the present disclosure further provides a computer program product comprising computer programs / instructions, which are executed by a processor to implement the steps of the above method for data transmission or another method for data transmission.

[0208] The above is a schematic scheme of a computer program product of the embodiment. It should be noted that the technical scheme of the computer program product and the technical scheme of the above data transmission method or another data transmission method belong to the same concept, and the technical scheme of the computer program product is not described in detail. The contents of the description can be referred to the description of the technical scheme of the above data transmission method or another data transmission method.

[0209] The above describes specific embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the acts or steps recited in the claims can be performed in a different order than those described in the embodiments and still achieve desirable results. In addition, the processes depicted in the figures do not necessarily require the particular order shown or sequential order to achieve the desired results. In certain implementations, multitasking and parallel processing can be advantageous or necessary.

[0210] The computer instructions include computer program code, which can be in the form of source code, object code, executable code, or some intermediate form. The computer-readable medium can include any entity or apparatus capable of carrying the computer program code, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal, and software distribution medium, etc. It should be noted that the contents included in the computer-readable medium can be appropriately increased or decreased according to the requirements of patent practice. For example, according to the patent practice in some regions, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0211] It should be noted that for the above-mentioned method embodiments, in order to facilitate description, they are all expressed as a combination of a series of actions, but those skilled in the art should know that the embodiments of the present disclosure are not limited by the order of the described actions, because according to the embodiments of the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily necessary for the embodiments of the present disclosure.

[0212] In the above embodiments, the description of each embodiment has its own focus, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.

[0213] The preferred embodiments of the present disclosure disclosed above are only used to help explain the present disclosure. The alternative embodiments do not describe all the details of the present disclosure, nor limit the present disclosure to the specific embodiments described. Obviously, according to the content of the embodiments of the present disclosure, many modifications and variations can be made. The present disclosure selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of the present disclosure, so that those skilled in the art can well understand and utilize the present disclosure. The present disclosure is limited only by the claims and their full scope and equivalents.

Claims

1. A data transmission method applied to a data sending node, comprising: sending a path detection request to a data receiving node; receiving a plurality of data transmission paths sent by the data receiving node, wherein the plurality of data transmission paths are determined by the data receiving node in response to the path detection request, and are determined from a plurality of candidate transmission paths connecting the data receiving node and the data sending node based on a path selection strategy; determining an initial data transmission path from the plurality of data transmission paths, and performing data transmission with the data receiving node through the initial data transmission path; in a case where path failure occurs in the initial data transmission path, determining a target data transmission path from the plurality of data transmission paths, and performing data transmission with the data receiving node based on the target data transmission path. 2.The data transmission method of claim 1, before determining the target data transmission path from the plurality of data transmission paths in the case where path failure occurs in the initial data transmission path, further comprising: sending a connectivity detection packet to the data receiving node based on the plurality of data transmission paths, and receiving a connectivity detection response packet sent by the data receiving node; determining that path failure occurs in the initial data transmission path based on the connectivity detection response packet. 3.The data transmission method of claim 2, wherein determining that path failure occurs in the initial data transmission path based on the connectivity detection response packet comprises: determining a data transmission path corresponding to the connectivity detection response packet from the plurality of data transmission paths as a connectivity transmission path, and adjusting a path state corresponding to the connectivity transmission path to a connectivity state; determining other data transmission paths from the plurality of data transmission paths except the connectivity transmission path as fault transmission paths, and adjusting path states corresponding to the fault transmission paths to fault states; in a case where the path state of the initial data transmission path is determined as the fault state, determining that path failure occurs in the initial data transmission path. 4.The data transmission method of claim 3, wherein determining the target data transmission path from the plurality of data transmission paths comprises: determining the connectivity transmission path with the connectivity state from the data transmission paths according to the path states of the data transmission paths; determining the target data transmission path from the connectivity transmission path. 5.The data transmission method of claim 1, wherein sending the path detection request to the data receiving node comprises: determining a plurality of to-be-detected transmission paths between the data sending node and the data receiving node; sending the path detection request to the data receiving node by using each to-be-detected transmission path. 6.The data transmission method of claim 5, wherein receiving the plurality of data transmission paths sent by the data receiving node comprises: receiving a plurality of path detection response packets returned by the data receiving node; determining, from the multiple to-be-probed transmission paths, a to-be-probed transmission path corresponding to each of the path-probe response messages as a probe-response transmission path, wherein the probe-response transmission path is a path that transmits the path-probe response message; adjusting a path state of the probe-response transmission path to a connected state, and grouping multiple probe-response transmission paths as a transmission path group based on path packet information carried in the multiple path-probe response messages; determining the multiple probe-response transmission paths included in the transmission path group as multiple data transmission paths.

7. The data transmission method of claim 6, after the receiving of the multiple data transmission paths transmitted by the data receiving node, further comprising: sending a connectivity probe message to the data receiving node by using each to-be-probed transmission path; receiving a connectivity probe response message transmitted by the data receiving node, and determining a to-be-probed transmission path corresponding to the connectivity probe response message from the multiple to-be-probed transmission paths as an updated data transmission path; in a case where the multiple probe-response transmission paths in the transmission path group are inconsistent with multiple updated data transmission paths, replacing the multiple probe-response transmission paths with the multiple updated data transmission paths to obtain an updated transmission path group.

8. The data transmission method of any one of claims 1 to 5, the sending of the path-probe request to the data receiving node comprising: determining data receiving node information of the data receiving node, data sending node information of the data sending node, and node connectivity information between the data receiving node and the data sending node; generating a path-probe message based on the data receiving node information, the data sending node information, and the node connectivity information, and sending the path-probe message to the data receiving node.

9. The data transmission method of any one of claims 1 to 7, the sending of the path-probe request to the data receiving node comprising: sending, by a path-probe unit in the data sending node, a path-probe request to the data receiving node; the determining of the initial data transmission path from the multiple data transmission paths and the data transmission between the data receiving node through the initial data transmission path comprising: determining, by the path-probe unit, the initial data transmission path from the multiple data transmission paths, and sending the initial data transmission path to a data transmission unit; transmitting, by the data transmission unit, data to the data receiving node through the initial data transmission path; the determining of the target data transmission path from the multiple data transmission paths and the data transmission between the data receiving node based on the target data transmission path comprising: determining, by the path-probe unit, the target data transmission path from the multiple data transmission paths, and sending the target data transmission path to a data transmission unit in the data sending node; transmitting, by the data transmission unit, data to the data receiving node based on the target data transmission path. 10.The data transmission method of claim 1, after the sending of the path probe request to the data receiving node, further comprising: determining that the data receiving node is faulty in a case that the multiple data transmission paths sent by the data receiving node are not received; suspending data transmission with the data receiving node, and continuing to send the path probe request to the data receiving node until the multiple data transmission paths sent by the data receiving node are received. 11.A data transmission method applied to a data receiving node, comprising: receiving a path probe request sent by a data sending node, and determining multiple candidate transmission paths connected between the data sending node and the data receiving node based on the path probe request; determining multiple data transmission paths from the multiple candidate transmission paths based on a path selection strategy; sending the multiple data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the multiple data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path. 12.The data transmission method of claim 11, wherein the determining of the multiple data transmission paths from the multiple candidate transmission paths based on the path selection strategy comprises: performing path detection on each candidate transmission path based on a path state parameter corresponding to the candidate transmission path, obtaining a path detection result corresponding to the candidate transmission path, and determining the multiple data transmission paths from the multiple candidate transmission paths based on the path detection result; or determining multiple data transmission paths matching a preset path number from the multiple candidate transmission paths based on the preset path number. 13.A data transmission system, comprising a data sending node and a data receiving node, wherein: the data sending node is configured to send a path probe request to the data receiving node, and receive multiple data transmission paths sent by the data receiving node, wherein the multiple data transmission paths are determined by the data receiving node in response to the path probe request, and are determined from multiple candidate transmission paths connected between the data sending node and the data receiving node based on a path selection strategy, and are determined from the multiple data transmission paths to determine an initial data transmission path, and data transmission is performed between the data sending node and the data receiving node through the initial data transmission path, and in a case that the initial data transmission path is determined to have a path fault, a target data transmission path is determined from the multiple data transmission paths, and data transmission is performed between the data sending node and the data receiving node based on the target data transmission path. ​ The data receiving node is configured to receive a path probe request sent by a data sending node, determine a plurality of candidate transmission paths connected with the data sending node based on the path probe request, determine a plurality of data transmission paths from the plurality of candidate transmission paths based on a path selection strategy, and send the plurality of data transmission paths to the data sending node, so that the data sending node determines a target data transmission path from the plurality of data transmission paths according to a data transmission strategy, and performs data transmission with the data receiving node based on the target data transmission path.

14. A computing device comprising: a memory and a processor; the memory is configured to store computer programs / instructions, and the processor is configured to execute the computer programs / instructions, which, when executed by the processor, implement the data transmission method of any one of claims 1 to 10 or the steps of the data transmission method of any one of claims 11 to 12.

15. A computer readable storage medium storing computer programs / instructions, which, when executed by a processor, implement the data transmission method of any one of claims 1 to 10 or the steps of the data transmission method of any one of claims 11 to 12.

16. A computer program product comprising computer programs / instructions, which, when executed by a processor, implement the data transmission method of any one of claims 1 to 10 or the steps of the data transmission method of any one of claims 11 to 12.

Citation Information

Patent Citations

  • Wireless Ad hoc network multimedia video active-standby path transmission method

    CN101174977A

  • Backup path selecting method for video transmission in wireless Ad hoc network

    CN101193020A

  • Communication path selection method, equipment and communication system

    CN112040526A

  • Path selection method and device based on Internet of Things transmission fault detection

    CN112671649A

  • Communication recovery method, system and equipment

    CN116170069A