Multi-path transmission method and related device

By adopting a multi-path transmission method in the data center network, the client and the server handshake to determine the path connection set, solving the logical path interruption problem caused by switch failure and improving the availability of network transmission.

CN120342942APending Publication Date: 2025-07-18TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410063432.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-01-16
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

In a data center network, if the switch fails, the nodes in the same rack will be interrupted to all logical paths involved, and the network transmission availability is low.

Method used

The multi-path transmission method is adopted to determine the applicable path connection set through the client and server handshake, ensuring that the logical paths are not all connected to the same switch, and to realize that at least one logical path can still transmit data when the switch fails.

Benefits of technology

Avoid interruption of all logical paths of node pairs in the same rack, and improves the availability of network transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120342942A_ABST
    Figure CN120342942A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a multi-path transmission method and a related device, which can be applied to various scenes such as cloud technology, artificial intelligence, intelligent transportation and the like. A first device and a second device which belong to the same rack no longer adopt a consistent logic path determination strategy, but the first device serves as a client, the second device serves as a server, and after the client and the server perform handshake, a client path connection set suitable for the first device is determined. And a server path connection set suitable for the second device. The client side path connection set and the server side path connection set are used for indicating that all logic paths are not all connected with the first switch and are not all connected with the second switch, so that whether the first switch fails or the second switch fails, the logic paths are not all connected with the first switch and the second switch; according to the invention, at least one logic path can realize data transmission, so that the nodes located on the same rack are prevented from interrupting all related logic paths, and the availability of network transmission is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a multipath transmission method and related devices. Background Art

[0002] With the development of network technologies, cloud products and services such as Virtual Private Cloud (VPC) require the network to have high availability, that is, to ensure normal network transmission even when network failures (such as software and hardware failures of switches, optical module failures, fiber optic breaks, etc.) occur.

[0003] In related technologies, to ensure the availability of network transmission, physical redundancy is constructed in the hardware architecture of the data center network. For example, in a dual uplink network, a multipath transmission scheme is used. Among them, multipath transmission means that a transmission connection uses multiple logical paths for data transmission.

[0004] However, even with multipath transmission, if a switch in the data center network fails, it may cause all logical paths involved in a node pair located in the same rack to be interrupted, resulting in low availability of network transmission. Summary of the Invention

[0005] To solve the above technical problems, this application provides a multipath transmission method and related devices, which are used to avoid all logical paths involved in a node pair located in the same rack from being interrupted after a switch failure occurs, and improve the availability of network transmission.

[0006] Embodiments of this application disclose the following technical solutions:

[0007] In a first aspect, an embodiment of this application provides a multipath transmission method, and the method includes:

[0008] Determine a client path connection set, where the client path connection set is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of a first device and a first switch, and the connection modes of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch;

[0009] Send a handshake request to a second device, where the handshake request is used to instruct the second device to determine a server - side path connection set applicable to the second device according to the client - side path connection set. The server - side path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths among the all logical paths except those included in the third logical path set;

[0010] If the first data and a handshake response from the second device for the handshake request are received, then send the first data according to the client - side path connection set.

[0011] In a second aspect, an embodiment of the present application provides a multi - path transmission method, and the method includes:

[0012] Obtain a handshake request from a first device, where the handshake request includes a client - side path connection set. The client - side path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and the first switch. The connection manners of the multiple logical paths included in the second logical path set are the logical connections between the second sending port of the first device and the second switch;

[0013] Determine a server - side path connection set according to the client - side path connection set. The server - side path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths among the all logical paths except those included in the third logical path set;

[0014] Send a handshake response to the first device for the handshake request;

[0015] If the second data is obtained, send the second data according to the server - side path connection set.

[0016] In a third aspect, an embodiment of the present application provides a multi - path transmission method, and the method includes:

[0017] The first device determines a client - side path connection set, and the client - side path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and the first switch. The connection manners of the multiple logical paths included in the second logical path set are the logical connections between the second sending port of the first device and the second switch;

[0018] The first device sends a handshake request to the second device, and the handshake request is used to instruct the second device to determine a server - side path connection set according to the client - side path connection set;

[0019] The second device determines a server - side path connection set according to the client - side path connection set. The server - side path connection set is used to indicate the connection modes of multiple logical paths included in a third logical path set and the connection modes of multiple logical paths included in a fourth logical path set. The connection modes of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection modes of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths among the all logical paths except those included in the third logical path set;

[0020] The second device sends a handshake response to the first device for the handshake request;

[0021] If the second device obtains second data, the second device sends the second data according to the server - side path connection set;

[0022] If the first device obtains the handshake response and first data, the first device sends the first data according to the client - side path connection set.

[0023] In a fourth aspect, an embodiment of the present application provides a multi - path transmission device, and the device includes: a determination unit, a request sending unit, and a data sending unit;

[0024] The determination unit is configured to determine a client - side path connection set, and the client - side path connection set is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and the first switch. The connection modes of the multiple logical paths included in the second logical path set are the logical connections established between the second sending port of the first device and the second switch;

[0025] The request sending unit is configured to send a handshake request to a second device, where the handshake request is used to instruct the second device to determine a server path connection set applicable to the second device according to the client path connection set, and the server path connection set is used to indicate connection manners of multiple logical paths included in a third logical path set and connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and a first switch, and the connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and a second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are logical paths included in the first logical path set and logical paths included in the second logical path set. The fourth logical path set includes logical paths in the all logical paths other than the logical paths included in the third logical path set;

[0026] The data sending unit is configured to send the first data according to the client path connection set if the first data and a handshake response from the second device for the handshake request are received.

[0027] In a fifth aspect, an embodiment of the present application provides a multipath transmission device, where the device includes: an obtaining unit, a determining unit, a response sending unit, and a data sending unit;

[0028] The obtaining unit is configured to obtain a handshake request from a first device, where the handshake request includes a client path connection set, and the client path connection set is used to indicate connection manners of multiple logical paths included in a first logical path set and connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and a first switch, and the connection manners of the multiple logical paths included in the second logical path set are logical connections between a second sending port of the first device and a second switch;

[0029] The determining unit is configured to determine a server - side path connection set according to the client - side path connection set. The server - side path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch. The connection manners of multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths;

[0030] The response sending unit is configured to send a handshake response to the first device for the handshake request;

[0031] The data sending unit is configured to, if second data is obtained, send the second data according to the server - side path connection set.

[0032] In a sixth aspect, an embodiment of the present application provides a multi - path transmission device, and the device includes a first device and a second device;

[0033] The first device is configured to determine a client - side path connection set, and the client - side path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and the first switch. The connection manners of multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and the second switch;

[0034] The first device is further configured to send a handshake request to the second device, and the handshake request is used to instruct the second device to determine a server - side path connection set according to the client - side path connection set;

[0035] The second device is configured to determine a server path connection set according to the client path connection set. The server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths;

[0036] The second device is further configured to send a handshake response to the first device for the handshake request;

[0037] The second device is further configured to, if second data is obtained, send the second data according to the server path connection set;

[0038] The first device is further configured to, if the handshake response and first data are obtained, send the first data according to the client path connection set.

[0039] In a seventh aspect, an embodiment of the present application provides a multi-path transmission system, which includes a first device and a second device;

[0040] The first device is configured to execute the method described in the first aspect;

[0041] The second device is configured to execute the method described in the second aspect.

[0042] In an eighth aspect, an embodiment of the present application provides a computer device, which includes a processor and a memory:

[0043] The memory is configured to store a computer program and transmit the computer program to the processor;

[0044] The processor is configured to execute the method described in the above aspects according to the instructions in the computer program.

[0045] In a ninth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program for executing the method described in the above aspect.

[0046] In a tenth aspect, an embodiment of the present application provides a computer program product or a computer program. The computer program product or the computer program includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to execute the method described in the above aspect.

[0047] As can be seen from the above technical solutions, the first device is respectively connected to the first switch and the second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. After the first device determines the client path connection set, it sends a handshake request to the second device so that the second device can determine the server path connection set according to the client path connection set. Thus, if the first device receives a handshake response from the second device, it sends the first data according to the client path connection set. Among them, the client path connection set applicable to the first device is used to indicate the connection manners of multiple logical paths included in the first logical path set and the second logical path set respectively. That is, the connection manner of the multiple logical paths included in the first logical path set is the logical connection established between the first sending port of the first device and the first switch, and the connection manner of the multiple logical paths included in the second logical path set is the logical connection established between the second sending port of the first device and the second switch. The server path connection set applicable to the second device is used to indicate the connection manners of multiple logical paths included in the third logical path set and the fourth logical path set respectively. That is, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths, that is, it does not include all logical paths included in the first logical path set and the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths.

[0048] Thus, for node pairs belonging to the same rack, i.e., the first device and the second device, they no longer adopt a consistent logical path determination strategy. Instead, the first device acts as the client and the second device acts as the server. After the client and the server shake hands, a set of client path connections applicable to the first device and a set of server path connections applicable to the second device are determined. Thus, the set of client path connections and the set of server path connections are used to indicate that not all logical paths are connected to the first switch and not all are connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can achieve data transmission for node pairs belonging to the same rack, avoiding the interruption of all logical paths involved in node pairs located in the same rack and improving the availability of network transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0049] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0050] Figure 1 It is a schematic diagram of a data center network;

[0051] Figure 2 It is a schematic diagram of a logical path determination strategy provided by an embodiment of the present application;

[0052] Figure 3 It is a schematic diagram of an application scenario of a multipath transmission method provided by an embodiment of the present application;

[0053] Figure 4 It is a signaling interaction diagram of the multipath transmission method provided by an embodiment of the present application;

[0054] Figure 5 It is a schematic diagram of a client provided by an embodiment of the present application;

[0055] Figure 6 It is a schematic diagram of a server side provided by an embodiment of the present application;

[0056] Figure 7 It is a schematic diagram of determining a set of server path connections provided by an embodiment of the present application;

[0057] Figure 8 It is a schematic diagram of a server provided by an embodiment of the present application;

[0058] Figure 9 It is a schematic diagram of the handshake between the first device and the second device provided by an embodiment of the present application;

[0059] Figure 10 A structural schematic diagram of a multi - path transmission device provided by an embodiment of the present application;

[0060] Figure 11 A structural schematic diagram of a multi - path transmission device provided by an embodiment of the present application;

[0061] Figure 12 A structural schematic diagram of a multi - path transmission device provided by an embodiment of the present application;

[0062] Figure 13 A structural schematic diagram of a server provided by an embodiment of the present application;

[0063] Figure 14 A structural schematic diagram of a terminal device provided by an embodiment of the present application. Detailed implementation manners

[0064] Next, embodiments of the present application will be described with reference to the accompanying drawings.

[0065] Terms such as "first", "second", "third", "fourth", etc. (if any) in the specification, claims and above - mentioned drawings of the present application are used to distinguish similar objects and do not necessarily need to describe a specific order or sequence. It should be understood that such used data can be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order different from those illustrated or described herein. In addition, the terms "comprising" and "corresponding to" and any variations thereof are intended to cover non - exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily limit to those clearly listed steps or units, but may include other steps or units not clearly listed or inherent to these process, method, product or device.

[0066] With the development of network technology, cloud technology has also advanced. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to achieve data calculation, storage, processing, and sharing. Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, be used as needed, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of the technology network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the back-end system for logical processing. Data at different levels will be processed separately, and various industry data requires the support of a powerful system. This can only be achieved through cloud computing.

[0067] Among them, cloud computing refers to the delivery and usage model of information technology (IT) infrastructure, which means obtaining the required resources in a on-demand and easily scalable manner through the network; generalized cloud computing refers to the delivery and usage model of services, which means obtaining the required services in a on-demand and easily scalable manner through the network. Such services can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balance.

[0068] Currently, cloud services such as private networks and cloud computing are provided through a data center network with cloud technology capabilities. Cloud services require the network to have high availability, that is, to ensure the normal availability of network transmission even when network failures (such as switch software and hardware failures, optical module failures, fiber optic breaks, etc.) occur. Therefore, it is necessary to construct physical redundancy in the hardware architecture of the data center network. Here, taking the use of a multipath transmission scheme in a dual uplink network as an example for illustration.

[0069] See Figure 1, this figure is a schematic diagram of a data center network. The data center network includes a core layer, an aggregation layer, an access layer, and servers. Servers are basically connected to the data center network in a dual-upper-link manner. Specifically, a network card of a server will have two physical sending ports (hereinafter referred to as sending ports for short), and each sending port is connected to an access layer switch. Through this physically redundant access method, the theoretical fault immunity of the server can be greatly improved.

[0070] Moreover, in a dual-upper-link network, a multipath transmission protocol is also used. Through the multipath transmission protocol, the same physical path will use multiple logical paths for data transmission. Continuing to refer to Figure 1 , the physical paths of server 0 are 0-12 and 0-13 respectively. Among them, the physical path refers to the physical medium connecting two network devices, such as network cables, optical fibers, etc. The logical path refers to the logical connection established through network protocols, such as the connection in the TCP / IP protocol.

[0071] In the related art, nodes in the same rack generally adopt a consistent logical path determination strategy. Refer to Figure 2 , this figure is a schematic diagram of a logical path determination strategy provided by an embodiment of the present application. As Figure 2 shown, logical path ① and logical path ③ of server H1 are sent to switch L1 through sending port 1, and logical path ② and logical path ④ of server H1 are sent to switch L2 through sending port 2.

[0072] Server H2 adopts the same logical path determination strategy as server H1, that is, the same logical path combination is sent through the same physical path, that is, sent to the same switch through the same sending port. Continuing to refer to Figure 2 The two methods shown. Method 1, as shown in Figure 2 Figure (A) therein, logical path ① and logical path ③ of server H2 are sent to switch L1 through sending port 1, and logical path ② and logical path ④ of server H2 are sent to switch L2 through sending port 2. Method 2, as shown in Figure 2 Figure (B) therein, logical path ② and logical path ④ of server H2 are sent to switch L1 through sending port 1, and logical path ① and logical path ③ of server H2 are sent to switch L2 through sending port 2.

[0073] If a switch included in the data center network fails, it may cause all logical paths involved in the node pairs in the same rack to be interrupted, resulting in low availability of network transmission. Continuing to refer to Figure 2 , if switch L1 fails, then Figure 2 all 4 logical paths shown in Figure (B) therein are interrupted, resulting in low availability of network transmission.

[0074] Based on this, embodiments of the present application provide a multi-path transmission method and related devices. For node pairs belonging to the same rack, i.e., the first device and the second device, they no longer adopt a consistent logical path determination strategy. Instead, the first device acts as a client and the second device acts as a server. After the client and the server perform a handshake, a set of client path connections applicable to the first device and a set of server path connections applicable to the second device are determined. Thus, the set of client path connections and the set of server path connections are used to indicate that not all logical paths are connected to the first switch and not all are connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can achieve data transmission for node pairs belonging to the same rack, avoiding the interruption of all logical paths involved in node pairs located in the same rack and improving the availability of network transmission.

[0075] The multi-path transmission method provided by the present application can be applied to computer devices with multi-path transmission capabilities, such as terminal devices and servers. Among them, the terminal device can specifically be a desktop computer, a laptop computer, a smart phone, a tablet computer, an Internet of Things device, and a portable wearable device. The Internet of Things device can be a smart speaker, a smart TV, a smart air conditioner, a smart vehicle-mounted device, etc. The smart vehicle-mounted device can be a vehicle-mounted navigation terminal and a vehicle-mounted computer, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc., but is not limited thereto; the server can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers, or a cloud server or a server cluster that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. The terminal device and the server can be directly or indirectly connected through wired or wireless communication methods, and the present application does not limit this here.

[0076] To facilitate understanding of the multi-path transmission method provided by the embodiments of the present application, the following takes the execution subject of the multi-path transmission method as a server as an example to exemplarily introduce the application scenario of the multi-path transmission method.

[0077] See Figure 3 , which is a schematic diagram of an application scenario of a multi-path transmission method provided by an embodiment of the present application. As Figure 3 shown, this application scenario includes servers 310, 320, switches 330, and 340.

[0078] Among them, switch 330 is the first switch, switch 340 is the second switch, server 310 is the first device, server 320 is the second device. Server 310 and server 320 are both connected to switch 330 and switch 340. Therefore, server 310 and server 320 belong to the node pair of the same rack. Hereinafter, it is described with 4 logical paths involved in the node pair of this rack.

[0079] Server 310, as the client sending the handshake request, determines the client path connection set, which is used to indicate the connection modes of multiple logical paths included in the first logical path set and the connection modes of multiple logical paths included in the second logical path set. As Figure 3 shown, the first logical path set includes logical path ① and logical path ③. The connection mode of logical path ① and logical path ③ is the logical connection established between the first sending port of server 310 and switch 330. The second logical path set includes logical path ② and logical path ④. The connection mode of logical path ② and logical path ④ is the logical connection established between the second sending port of server 310 and switch 340.

[0080] Server 310 sends a handshake request to server 320. Server 320, as the server receiving the handshake request, can, based on the indication of the handshake request, determine the server path connection set according to the client path connection set. The server path connection set is used to indicate the connection modes of multiple logical paths included in the third logical path set and the connection modes of multiple logical paths included in the fourth logical path. As Figure 3 shown, the third logical path set includes logical path ③ and logical path ④. The connection mode of logical path ③ and logical path ④ is the logical connection established between the first sending port of server 320 and switch 330. The fourth logical path set includes logical path ① and logical path ②. The connection mode of logical path ① and logical path ② is the logical connection established between the second sending port of server 320 and switch 340.

[0081] That is to say, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths.

[0082] After determining the server path connection set, server 320 can send a handshake response to server 310. Thus, if server 310 receives the first data, server 310 can send the first data based on the connection mode of the logical paths indicated by the client path connection set.

[0083] Accordingly, the servers 310 and 320 belonging to the same rack no longer adopt a consistent logical path determination strategy. Instead, server 310 acts as the client and server 320 acts as the server. After the client and the server perform a handshake, a client path connection set applicable to server 310 and a server path connection set applicable to server 320 are determined. Thus, the client path connection set and the server path connection set are used to indicate that not all of the four logical paths are connected to switch 330 and not all are connected to switch 340. Furthermore, whether switch 330 fails or switch 340 fails, there will be at least one logical path that can achieve data transmission for the node pair belonging to the same rack, such as Figure 3 As shown, if switch 330 fails, although the logical paths ①, ③, and ④ connected to it are interrupted, the data can be sent to switch 340 through the second sending port of server 320, that is, logical path ② is still available. Thus, it is avoided that all the logical paths involved in the node pair located in the same rack are interrupted, improving the availability of network transmission.

[0084] The multi-path transmission method provided by the embodiments of the present application can be executed by a server. However, in other embodiments of the present application, the terminal device may also have a similar function to the server, so as to execute the multi-path transmission method provided by the embodiments of the present application, or the multi-path transmission method provided by the embodiments of the present application may be jointly executed by the terminal device and the server. This embodiment does not make a limitation in this regard.

[0085] First, the multi-path transmission system will be described below.

[0086] The multi-path transmission system includes a first device and a second device. Among them, the first device is respectively connected to a first switch and a second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. Both the first device and the second device include multiple sending ports. In the embodiments of the present application, two sending ports, namely the first sending port and the second sending port, are taken as examples.

[0087] The first device, as the client, determines the client path connection set, and then sends a handshake request to the second device. The second device, as the server, after receiving the handshake request, determines the server path connection set according to the client path connection set, and then sends a handshake response to the first device for the handshake request. After receiving the first data and the handshake response, the first device sends the first data according to the connection mode of the logical paths indicated by the client path connection set.

[0088] After introducing the multi-path transmission system, a multi-path transmission method provided by the present application will be described in detail below through method embodiments.

[0089] See Figure 4 , this figure is a signaling interaction diagram of the multi-path transmission method provided by the embodiment of the present application. For ease of description, in the following embodiments, the execution subject of this multi-path transmission method is still taken as the server for introduction. As Figure 4 shown, this multi-path transmission method includes S401 - S406, which will be specifically described below.

[0090] S401: The first device determines the client path connection set.

[0091] In the embodiment of the present application, both the first device and the second device are respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. As can be seen from the foregoing, in the related art, node pairs located in the same rack generally adopt a consistent logical path determination strategy. As a result, after a switch fails, all logical paths involved in the node pair located in the same rack may be interrupted, resulting in low availability of network transmission.

[0092] Based on this, in the embodiment of the present application, node pairs located in the same rack no longer adopt a consistent logical path determination strategy, but determine the logical path through the node pair handshake method, which will be specifically described below.

[0093] The embodiment of the present application does not specifically limit the time when the first device determines the client path connection set, and those skilled in the art can set it according to the actual situation. For example, the first device can determine the client path connection set after receiving the first data. Another example is that the first device can determine the client path connection set at fixed intervals. Still another example is that the first device can determine the client path connection set after receiving the client path connection set determination request. By automatically determining the client path connection set, there is no need for the user to set the strategy for determining the client path connection set each time, reducing the user's workload and improving the user experience.

[0094] Among them, the client path connection set is applicable to the first device as the client, and it is used to indicate the connection methods of multiple logical paths included in the first logical path set and the connection methods of multiple logical paths included in the second logical path set. A logical path refers to a logical connection established through a network protocol, such as a connection in the TCP / IP protocol.

[0095] The number of logical paths included in the first set of logical paths is greater than or equal to 2. Each logical path in the first set of logical paths is a logical connection established between the first sending port of the first device and the first switch, that is, the connection mode of each logical path is to send data to the first switch through the first sending port of the first device. The number of logical paths included in the second set of logical paths is greater than or equal to 2. Each logical path included in the second set of logical paths is a logical connection established between the second sending port of the first device and the second switch, that is, the connection mode of each logical path is to send data to the second switch through the second sending port of the first device.

[0096] See Figure 5 , which is a schematic diagram of a client provided by an embodiment of the present application. In Figure 5 , the client includes a scheduler and a path determiner. Among them, the path determiner is used to determine the client path connection set, that is, to indicate the connection mode of each logical path. For example, in Figure 5 , the first path set includes logical path 1, logical path 3, and logical path 2n - 1. Thus, logical path 1, logical path 3, and logical path 2n - 1 are all bound to the first sending port, so as to send data to the first switch through the first sending port. n is an even number greater than 1. The scheduler is used to split the received data into multiple data packets and determine which logical path each data packet is sent through. For example, data packet 1 is sent through logical path 1, that is, the data packet is sent to the first switch through the first sending port.

[0097] As a possible implementation, if the client configuration policy is obtained, that is, the policy set by the user for the client in real time and applicable to the client to determine the client path connection set, the first device can determine the client path connection set according to the client configuration policy. If the client configuration policy is not obtained, the preset configuration policy can be used, that is, the policy set by the user for the client in advance and applicable to the client to determine the client path connection set, and then the client path connection set is determined according to the preset configuration policy.

[0098] Among them, the client configuration policy can indicate the number of logical paths included in each logical path set such as the first set of logical paths and the third set of logical paths, the connection mode of the logical paths, the current application scenario, etc. By setting the number of logical paths, the requirements of the application scenario can be met in a targeted manner; by setting the connection mode of the logical paths, the current hardware facilities can be used in a targeted manner; by setting the application scenario, a more suitable solution for the current application scenario can be determined when determining the logical paths, thereby improving the availability of network transmission.

[0099] Thus, by presetting the configuration policy and the client configuration policy, a richer configuration method can be provided for users, thereby achieving personalized configuration and improving the user experience.

[0100] As a possible implementation, the first device and the second device can be servers. For example, the first device and the second device can be the servers 0 and 1 included in the data network center as shown in Figure 1 the figure, then the first switch and the second switch are the switches 12 and 13 in the access layer.

[0101] As a possible implementation, the first device and the second device can be switches. For example, the first device and the second device can be the switches 12 and 13 in the access layer included in the data network center as shown in Figure 1 the figure, then the first switch and the second switch can be the switches 8 and 9 in the aggregation layer.

[0102] S402: The first device sends a handshake request to the second device.

[0103] The first device, as the client, sends a handshake request to the second device as the server. Here, the client is the device that sends the handshake request, and the server is the device that responds to the handshake request. The handshake request is used to instruct the second device to determine the server path connection set according to the client path connection set.

[0104] As a possible implementation, if a client path connection set used by the client and a server path connection set used by the server are preset in the first device and the second device, then the handshake request may not include the client path connection set. Thus, after receiving the handshake request, the second device can determine that it is the server, and then determine the server path connection request applicable to the server based on the handshake request.

[0105] As a possible implementation, if multiple client path connection sets used by the client and multiple server path connection sets used by the server are preset in the first device and the second device, then the handshake request needs to include the client path connection set determined by the first device. Thus, after receiving the handshake request, the second device can determine the server path connection set corresponding to the client path connection set from the preset multiple server path connection sets based on the client path connection set included in the handshake request.

[0106] As a possible implementation, if there is no client path connection set used by the preset client and no server path connection set used by the server in the first device and the second device, the handshake request needs to include the client path connection set determined by the first device. Thus, after receiving the handshake request, the second device can determine the server path connection set corresponding to the client path connection set based on the client path connection set included in the handshake request.

[0107] The following describes how the second device determines the server path connection set.

[0108] S403: The second device determines the server path connection set according to the client path connection set.

[0109] The server path connection set is applicable to the second device acting as the server, and is used to indicate the connection modes of multiple logical paths included in the third logical path set and the connection modes of multiple logical paths included in the fourth logical path set.

[0110] The number of logical paths included in the third logical path set is greater than or equal to 2. Each logical path in the third logical path set is a logical connection established between the first sending port of the second device and the first switch, that is, the connection mode of each logical path is to send data to the first switch through the first sending port of the second device. It should be noted that the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. All logical paths refer to the union of the logical paths included in the first logical path set and the logical paths included in the second logical path set, that is, neither the first logical path set nor the second logical path set is a subset of the third logical path set.

[0111] The number of logical paths included in the fourth logical path set is greater than or equal to 2. Each logical path in the fourth logical path set is a logical connection established between the second sending port of the second device and the second switch, that is, the connection mode of each logical path is to send data to the first switch through the first sending port of the second device. It should be noted that the fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths.

[0112] See Figure 6 , which is a schematic diagram of a server end provided by an embodiment of the present application. In Figure 6 the server includes a scheduler and a path determiner. Among them, the path determiner is used to determine the server path connection set, that is, to indicate the connection mode of each logical path, such as Figure 6Among them, the third path set includes logical path 1, logical path 2, ..., logical path n, so that logical path 1, logical path 2, ..., logical path n are all bound to the first sending port, realizing sending data to the first switch through the first sending port, and n is an even number greater than 1. The scheduler is used to split the received data into multiple data packets and determine which logical path each data packet is sent through. For example, data packet 1 is sent through logical path 1, that is, the data packet is sent to the first switch through the first sending port.

[0113] The following combines Figure 2 and Figure 7 , and takes the number of all logical paths as 4 as an example for illustration.

[0114] Refer to Figure 7 , which is a schematic diagram of a method for determining a server path connection set provided by an embodiment of the present application.

[0115] In Figure 7 , the connection modes of the first logical path set and the second logical path set indicated by the client path connection set determined by the first device are that the logical path ① and the logical path ③ included in the first logical path set are logical connections established between the first sending port of the first device (i.e., the sending port 1 of the first device H1) and the first switch L1, and the logical path ② and the logical path ④ included in the second logical path set are logical connections established between the second sending port of the first device (i.e., the sending port 2 of the first device H1) and the second switch L2.

[0116] The connection modes of the third logical path set and the fourth logical path set indicated by the server path connection set determined based on the client path connection set are the following four types:

[0117] (1) As shown in the figure (A) in Figure 7 , the logical path ① and the logical path ② included in the third logical path set are logical connections established between the first sending port of the second device (i.e., the sending port 1 of the second device H2) and the first switch L1. The logical path ③ and the logical path ④ included in the fourth logical path set are logical connections established between the second sending port of the second device (i.e., the sending port 2 of the second device H2) and the second switch L2.

[0118] Based on this, if the first switch fails, the first data is sent according to the second target logical path included in the second logical path set, and the second target logical path and the multiple logical paths included in the third logical path set are different logical paths. Continue to refer to Figure 7In Figure (A), if the first switch L1 fails, the logical path ④ can still continue to transmit data. That is, the second target logical path is the logical path ④, and the logical path ④ belongs to the second logical path set but does not belong to the third logical path set.

[0119] If the second switch fails, the first data is sent according to the first target logical path included in the first logical path set, where the first target logical path and the multiple logical paths included in the fourth logical path set are different logical paths. See also Figure 7 In Figure (A), if the second switch L2 fails, the logical path ① can still continue to transmit data. That is, the first target logical path is the logical path ①, and the logical path ① belongs to the first logical path set but does not belong to the fourth logical path set.

[0120] (2) As Figure 7 As shown in Figure (B), the logical path ① and the logical path ④ included in the third logical path set are the logical connections established between the first sending port of the second device (i.e., the sending port 1 of the second device H2) and the first switch L1. The logical path ② and the logical path ③ included in the fourth logical path set are the logical connections established between the second sending port of the second device (i.e., the sending port 2 of the second device H2) and the second switch L2.

[0121] Based on this, if the first switch L1 fails, the logical path ② can still continue to transmit data. That is, the second target logical path is the logical path ②, and the logical path ② belongs to the second logical path set but does not belong to the third logical path set. If the second switch L2 fails, the logical path ① can still continue to transmit data. That is, the first target logical path is the logical path ①, and the logical path ① belongs to the first logical path set but does not belong to the fourth logical path set.

[0122] (3) As Figure 7 As shown in Figure (C), the logical path ② and the logical path ③ included in the third logical path set are the logical connections established between the first sending port of the second device (i.e., the sending port 1 of the second device H2) and the first switch L1. The logical path ① and the logical path ④ included in the fourth logical path set are the logical connections established between the second sending port of the second device (i.e., the sending port 2 of the second device H2) and the second switch L2.

[0123] Based on this, if the first switch L1 fails, the logical path ④ can still continue to transmit data. That is, the second target logical path is the logical path ④, and the logical path ④ belongs to the second logical path set but does not belong to the third logical path set. If the second switch L2 fails, the logical path ③ can still continue to transmit data. That is, the first target logical path is the logical path ③, and the logical path ③ belongs to the first logical path set but does not belong to the fourth logical path set.

[0124] (4) As shown in Figure 7 Figure (D) below, the logical paths ③ and ④ included in the third logical path set are the logical connections established between the first sending port of the second device (i.e., sending port 1 of the second device H2) and the first switch L1. The logical paths ① and ② included in the fourth logical path set are the logical connections established between the second sending port of the second device (i.e., sending port 2 of the second device H2) and the second switch L2.

[0125] Based on this, if the first switch L1 fails, the logical path ② can still continue to transmit data, that is, the second target logical path is the logical path ②, and the logical path ② belongs to the second logical path set but does not belong to the third logical path set. If the second switch L2 fails, the logical path ③ can still continue to transmit data, that is, the first target logical path is the logical path ③, and the logical path ③ belongs to the first logical path set but does not belong to the fourth logical path set.

[0126] Thus, based on the server - side path connection set determined from the client - side path connection set, all the logical paths involved in the node pairs belonging to the same rack are not all connected to the same switch. Therefore, when any one switch fails, there is at least one logical path available for data transmission, thereby improving the availability of network transmission.

[0127] In addition, based on the consistent logical path determination policy, after a switch fails, two situations may occur. Situation 1: It may cause all logical paths to be interrupted and data transmission cannot be carried out, as shown in Figure 2 Figure (B) below. Situation 2: It may cause half of the logical paths to be interrupted, that is, 50% of the logical paths can still carry out data transmission, as shown in Figure 2 Figure (A) below.

[0128] Compared with Figure 2 the solution shown in Figure (B) below, the embodiment of the present application (such as the solution shown in Figure 7 ) improves the availability of network transmission. Although compared with Figure 2 the solution shown in Figure (A) below, 50% of the logical paths can carry out data transmission in that solution, while in the embodiment of the present application (such as the solution shown in Figure 7 ) only 25% of the logical paths can carry out data transmission, the available bandwidths of the two solutions are the same. Therefore, the present application can ensure that there is at least one logical path available for transmission after a switch fails without affecting the available bandwidth.

[0129] Moreover, logical paths are divided into forward logical paths and reverse logical paths. Among them, the forward logical path is the logical path from the sending end to the receiving end, such asFigure 2 The logical path from server H1 to switch L1. The reverse logical path is the logical path from the receiving end to the sending end. For example, Figure 2 The logical path from switch L1 to server H2. In a consistent logical path determination policy, the symmetry of the forward and reverse logical paths cannot be guaranteed, resulting in the inability to ensure that Figure 2 The solution shown in Figure (A) can be successfully implemented. The possible solution for successful implementation is Figure 2 The solution shown in Figure (B). That is to say, in a consistent logical path determination policy, symmetry (or consistency) cannot be guaranteed, so it cannot be ensured that 50% of the logical paths can still perform data transmission, and the reliability of network transmission is relatively low. However, the embodiments of the present application do not require symmetry and can ensure that there is at least one logical path that can perform transmission, which not only ensures the reliability of network data transmission but also reduces the implementation difficulty of logical paths.

[0130] The reasons why symmetry (or consistency) cannot be guaranteed are as follows:

[0131] (1) The connection order of the network card network port and the switch is not guaranteed. Continuing to refer to Figure 2 , for server H1, it may be that the sending port 1 is connected to switch L1 and the sending port 2 is connected to switch L2. For server H2, it may be that the sending port 1 is connected to switch L2 and the sending port 2 is connected to switch L1. That is to say, in the physical connection of the actual computer room, generally there is no guarantee of the corresponding relationship between the network port and the switch connection.

[0132] (2) The corresponding order of the logical network port and the physical network port of the network card is not guaranteed. The corresponding relationship between the logical network port and the physical network port presented by the network card is uncertain. When connecting the relationship between the bound path and the sending port, the sending port is the logical network port of the network card. Moreover, most current network cards cannot provide the ability to sense the incoming port of the data packet, nor can they ensure stackability by sensing the physical incoming port of the forward logical path.

[0133] S404: The second device sends a handshake response to the first device for the handshake request.

[0134] This handshake response is based on the handshake request sent by the first device, so that the first device can clearly know that this handshake is successful, and thus can use the client path connection set to send data.

[0135] S405: If the second device obtains the second data, the second device sends the second data according to the server-side path connection set.

[0136] If the second device obtains the second data, the second device sends the second data according to the logical path indicated by the server-side path connection set. For example, Figure 3As shown, the second device sends the second data to the second switch according to logical path ②.

[0137] It should be noted that the embodiments of the present application do not specifically limit the time when the second device obtains the second data. For example, the second device can obtain the second data first and then implement the handshake with the first device. Another example is that the second device can first implement the handshake with the first device and then obtain the second data.

[0138] S406: If the first device obtains the handshake response and the first data, the first device sends the first data according to the client path connection set.

[0139] If the first device obtains the handshake response and the first data, the first device sends the first data according to the logical path indicated by the client path connection set. As Figure 3 shown, the first device can send the first data to the first switch according to logical path ①.

[0140] It should be noted that the embodiments of the present application do not specifically limit the time when the first device obtains the first data. For example, the first device can obtain the first data first, then determine the client path connection set and send a handshake request to the second device. Another example is that the first device can first implement the handshake with the second device and then obtain the first data.

[0141] Among them, the first data and the second data are data for transmission, which can be the same data or different data. The present application does not make specific limitations on this. It can be understood that in the specific implementation manner of the present application, if data such as the first data or the second data involves data related to user information, when the above embodiments of the present application are applied to specific products or technologies, the user's separate permission or consent needs to be obtained, and the collection, use, and processing of the relevant data need to comply with the relevant laws, regulations, and standards of the relevant countries and regions.

[0142] As can be seen from the above technical solution, the first device is respectively connected to the first switch and the second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. After the first device determines the client path connection set, it sends a handshake request to the second device, so that the second device can determine the server path connection set according to the client path connection set. Thus, if the first device receives a handshake response from the second device, it sends the first data according to the client path connection set. Among them, the client path connection set applicable to the first device is used to indicate the connection modes of multiple logical paths included in the first logical path set and the second logical path set respectively. That is, the connection mode of the multiple logical paths included in the first logical path set is the logical connection established between the first sending port of the first device and the first switch, and the connection mode of the multiple logical paths included in the second logical path set is the logical connection established between the second sending port of the first device and the second switch. The server path connection set applicable to the second device is used to indicate the connection modes of multiple logical paths included in the third logical path set and the fourth logical path set respectively. That is, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths, that is, it does not include all the logical paths included in the first logical path set and the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all the logical paths.

[0143] Thus, for the node pair in the same rack, that is, the first device and the second device no longer adopt a consistent logical path determination strategy. Instead, the first device acts as the client and the second device acts as the server. After the client and the server shake hands, the client path connection set applicable to the first device and the server path connection set applicable to the second device are determined. Thus, the client path connection set and the server path connection set are used to indicate that not all logical paths are connected to the first switch and not all are connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can realize the data transmission of the node pair in the same rack, avoiding the interruption of all logical paths involved in the node pair in the same rack and improving the availability of network transmission.

[0144] As a possible implementation manner, the embodiment of the present application divides the determination method of logical paths into two types, namely, the interleaved manner and the continuous manner. Thus, the client path connection set and the server path connection set can be determined by the interleaved manner or the continuous manner.

[0145] Taking the number of all logical paths as 2n or 2n - 1 as an example, where if the number of all logical paths is 2n, then n is an integer greater than 1; if the number of all logical paths is 2n - 1, then n is an integer greater than 2. For the convenience of subsequent explanation, a path identifier is added to each logical path in all logical paths, so as to facilitate the distinction of multiple logical paths. The interleaving method and the continuous method are described separately below.

[0146] (1) Interleaving method.

[0147] The interleaving method indicates that two adjacent logical paths in all logical paths belong to different logical path sets respectively. Taking the determination of the client path connection set based on the interleaving method as an example, for two adjacent logical paths with path identifiers, one belongs to the first logical path set and the other belongs to the second logical path set. Taking the determination of the server path connection set based on the interleaving method as an example, for two adjacent logical paths with path identifiers, one belongs to the third logical path set and the other belongs to the fourth logical path set.

[0148] For example, if all logical paths are the first logical path, the second logical path, the third logical path, and the fourth logical path respectively, then the client path connection set determined based on the interleaving method indicates that the first logical path set includes the first logical path and the third logical path, and the second logical path set includes the second logical path and the fourth logical path.

[0149] (2) Continuous method.

[0150] The continuous method indicates that n consecutive logical paths in all logical paths belong to the first target path set, and the remaining n or n - 1 logical paths belong to the second target path set. Among them, the first target path set is the first logical path set or the third logical path set, and the second target path set is the second logical path set or the fourth logical path set. Taking the determination of the client path connection set based on the continuous method as an example, n consecutive logical paths with path identifiers belong to the first logical path set, and the remaining n or n - 1 logical paths belong to the second logical path set. Taking the determination of the server path set based on the continuous method as an example, n consecutive logical paths with path identifiers belong to the third logical path set, and the remaining n or n - 1 logical paths belong to the fourth logical path set.

[0151] For example, if all logical paths are the first logical path, the second logical path, the third logical path, and the fourth logical path respectively, then the client path connection set determined based on the continuous method indicates that the first logical path set includes the first logical path and the second logical path, and the second logical path set includes the third logical path and the fourth logical path.

[0152] It should be noted that if the continuous manner is defined in a broad sense, the first and last logical paths in all logical paths can also be considered continuous. At this time, the first logical path set includes the first logical path and the fourth logical path, and the second logical path set includes the second logical path and the third logical path.

[0153] Thus, by setting the interleaving manner and the continuous manner, the first device can quickly determine the client path connection set. Moreover, if the first device and the second device perform a handshake before each data transmission, the data transmission speed can be improved.

[0154] As a possible implementation, if the client path connection set is determined based on the interleaving manner, the server path connection set is determined according to the continuous manner. If the client path connection set is determined based on the continuous manner, the server path connection set is determined according to the interleaving manner.

[0155] Thus, by setting the interleaving manner and the continuous manner, the client path connection set applicable to the first device and the server path connection set applicable to the second device are respectively determined. This not only improves the determination speed of the logical paths, but also reduces the difficulty of determining the logical paths for the first device and the second device, saving computing resources.

[0156] To more prominently show the effects of the above embodiments, the following will be described by taking the number of all logical paths as 4 to 7 respectively as examples.

[0157] (1) The number of all logical paths is 4.

[0158] If the client path connection set is determined based on the continuous manner, for example, the first logical path set includes the first logical path and the second logical path, and the second logical path set includes the third logical path and the fourth logical path, then the server path connection set can be determined based on the interleaving manner. For example, the third logical path set includes the first logical path and the third logical path, and the fourth logical path set includes the second logical path and the fourth logical path. Another example is that the third logical path set includes the second logical path and the fourth logical path, and the fourth logical path set includes the first logical path and the third logical path, etc.

[0159] In addition, if it is not specified that the server path connection set is determined based on the interleaving manner, then the third logical path set can include the first logical path and the fourth logical path, and the fourth logical path set can include the second logical path and the third logical path. Another example is that if the third logical path set can include the second logical path and the third logical path, the fourth logical path set can include the first logical path and the fourth logical path.

[0160] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path and the third logical path, and the second logical path set includes the second logical path and the fourth logical path, then the server path connection set can be determined based on a consecutive manner, for example, the third logical path set includes the first logical path and the second logical path, and the fourth logical path set includes the third logical path and the fourth logical path. Another example is that the third logical path set includes the third logical path and the fourth logical path, and the fourth logical path set includes the first logical path and the second logical path.

[0161] In addition, if it is not specified that the server path connection set is determined based on an interleaved manner, then the third logical path set can include the first logical path and the fourth logical path, and the fourth logical path set can include the second logical path and the third logical path. Another example is that the third logical path set can include the second logical path and the third logical path, and the fourth logical path set can include the first logical path and the fourth logical path.

[0162] (2) The number of all logical paths is 5.

[0163] If the client path connection set is determined based on a consecutive manner, for example, the first logical path set includes the first logical path, the second logical path, and the third logical path, and the second logical path set includes the fourth logical path and the fifth logical path, then the server path connection set is determined based on an interleaved manner, for example, the third logical path set includes the first logical path, the third logical path, and the fifth logical path, and the fourth logical path set includes the second logical path and the fourth logical path.

[0164] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path, the third logical path, and the fifth logical path, and the second logical path set includes the second logical path and the fourth logical path, then the server path connection set is determined based on a consecutive manner, for example, the third logical path set includes the first logical path, the second logical path, and the third logical path, and the fourth logical path set includes the fourth logical path and the fifth logical path.

[0165] (3) The number of all logical paths is 6.

[0166] If the client path connection set is determined based on a consecutive manner, for example, the first logical path set includes the first logical path, the second logical path, and the third logical path, and the second logical path set includes the fourth logical path, the fifth logical path, and the sixth logical path, then the server path connection set is determined based on an interleaved manner, for example, the third logical path set includes the first logical path, the third logical path, and the fifth logical path, and the fourth logical path set includes the second logical path, the fourth logical path, and the sixth logical path.

[0167] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path, the third logical path, and the fifth logical path, and the second logical path set includes the second logical path, the fourth logical path, and the sixth logical path, then the server path connection set is determined based on a consecutive manner, for example, the third logical path set includes the first logical path, the second logical path, and the third logical path, and the fourth logical path set includes the fourth logical path, the fifth logical path, and the sixth logical path.

[0168] (4) The number of all logical paths is 7.

[0169] If the client path connection set is determined based on a consecutive manner, for example, the first logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the second logical path set includes the fifth logical path, the sixth logical path, and the seventh logical path, then the server path connection set is determined based on an interleaved manner, for example, the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, and the sixth logical path.

[0170] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, and the sixth logical path, then the server path connection set is determined based on a consecutive manner, for example, the third logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the fourth logical path set includes the fifth logical path, the sixth logical path, and the seventh logical path.

[0171] As a possible implementation, if the total number of logics is 8, the client path connection set can be determined based on an interleaved manner or a consecutive manner, and then the server path connection set is determined based on the client path connection set.

[0172] For example, if the client path connection set is determined based on a consecutive manner, for example, the first logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the second logical path set includes the fifth logical path, the sixth logical path, the seventh logical path, and the eighth logical path, then the server path connection set is determined based on an interleaved manner, for example, the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path.

[0173] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path, then the server path connection set is determined based on a consecutive manner, for example, the third logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the fourth logical path set includes the fifth logical path, the sixth logical path, the seventh logical path, and the eighth logical path.

[0174] As a possible implementation, if the total number of all logics is 8, it is also possible to take 4 logical paths as a group of logical paths, and determine the logical paths based on the aforementioned solution where the total number of all logical paths is 4.

[0175] For example, if the client path connection set is determined based on a consecutive manner, for example, the first logical path set includes the first logical path, the second logical path, the fifth logical path, and the sixth logical path, and the second logical path set includes the third logical path, the fourth logical path, the seventh logical path, and the eighth logical path, then the server path connection set is determined based on an interleaved manner, for example, the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path.

[0176] If the client path connection set is determined based on an interleaved manner, for example, the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path, then the server path connection set is determined based on a consecutive manner, for example, the third logical path set includes the first logical path, the second logical path, the fifth logical path, and the sixth logical path, and the fourth logical path set includes the third logical path, the fourth logical path, the seventh logical path, and the eighth logical path.

[0177] To facilitate further understanding of the technical solution provided by the embodiments of the present application, the following takes the execution subject of the multi-path transmission method provided by the embodiments of the present application as a server as an example to give an overall exemplary introduction to the multi-path transmission method.

[0178] The following first explains the inside of the server.

[0179] See Figure 8 , this figure is a schematic diagram of the server provided by the embodiments of the present application. Figure 8The server shown can be the first device or the second device. The server includes an application layer 810, a transmission interface layer 820, a transport layer 830, and a physical layer 840. These will be described separately below.

[0180] The application layer 810 is used to provide various cloud services, such as an AI training module 811 for artificial intelligence (AI) training, a cloud storage module 812 for storing data, and a virtual private cloud (VPC) module 813 for providing a network environment.

[0181] Among them, artificial intelligence is the theory, method, technology, and application system that uses a digital computer or a machine controlled by a digital computer to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a way similar to human intelligence. Artificial intelligence also studies the design principles and implementation methods of various intelligent machines to enable the machine to have the functions of perception, reasoning, and decision-making.

[0182] Artificial intelligence technology is an interdisciplinary subject with a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, and mechatronics. The software technologies of artificial intelligence mainly include several major directions such as computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning, autonomous driving, and intelligent transportation.

[0183] In the embodiments of the present application, the artificial intelligence technology mainly involves various model trainings to achieve artificial intelligence cloud services. The so-called artificial intelligence cloud service is generally also called AI as a Service (AIaaS). This is currently the mainstream service method of an artificial intelligence platform. Specifically, the AIaaS platform will split several common AI services and provide independent or packaged services in the cloud. This service model is similar to opening an AI-themed mall: all developers can access and use one or more artificial intelligence services provided by the platform through the API interface, and some senior developers can also use the AI framework and AI infrastructure provided by the platform to deploy and operate their own exclusive cloud artificial intelligence services.

[0184] The transmission interface layer 820 is used to provide multiple interfaces for communicating with the transport layer, such as the socket module 821, other interface modules 822, etc. Among them, socket is an interface that acts as an intermediary between the user process and the TCP / IP protocol, completes the writing of the TCP / IP protocol, and the user only needs to understand the interface.

[0185] The transport layer 830 is used to implement the multi-path transmission method provided in the embodiments of the present application. It requires the first device and the second device to execute collaboratively, and the transmission connection uses a logical path greater than or equal to 4.

[0186] The physical layer 840 includes multiple network cards for communication, such as the standard network card module 841.

[0187] Then, the multi-path transmission method provided in the present application will be described.

[0188] See Figure 9 , this figure is a schematic diagram of the handshake between the first device and the second device provided in the embodiments of the present application.

[0189] ① The first stage: After the server provides cloud services, the application corresponding to the cloud services generates data and initiates a data transmission request, thereby triggering the transport protocol stack in the transport layer 830 to create endpoints, thereby determining that the current server is the client.

[0190] ② The second stage: The client performs endpoint initialization and determines the client path connection set.

[0191] ③ The third stage: The client sends a handshake request to the server.

[0192] ④ The fourth stage: The server performs endpoint initialization and determines the server path connection set.

[0193] ⑤ The fifth stage: The server sends a handshake response to the client.

[0194] Thus, after the client receives the handshake response, the first device and the second device complete the handshake. The first device can send the first data based on the client path connection set, and the second device can send the second data based on the server path connection set.

[0195] Therefore, by determining the logical path in a master-slave asymmetric manner, the goal of being completely immune to single-point failures in the related art is achieved. Thus, in various scenarios, if 4 logical paths are in a group, it can be ensured that at least one-fourth of the logical paths will not be interrupted, thereby ensuring the continuity of data transmission on the connection.

[0196] For the multi-path transmission method described above, the present application also provides a corresponding multi-path transmission device to enable the above multi-path transmission method to be applied and implemented in practice.

[0197] In the embodiments of the present application, the term "module" or "unit" refers to a computer program with a predetermined function or a part of a computer program, which works together with other related parts to achieve a predetermined goal, and can be fully or partially implemented by using software, hardware (such as a processing circuit or a memory), or a combination thereof. Similarly, one processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be a part of an overall module or unit that includes the functions of that module or unit.

[0198] See Figure 10 , which is a schematic structural diagram of a multipath transmission device provided by an embodiment of the present application. As Figure 10 shown, the multipath transmission device 1000 includes: a determination unit 1001, a request sending unit 1002, and a data sending unit 1003;

[0199] The determination unit 1001 is configured to determine a client path connection set, where the client path connection set is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of a first device and a first switch, and the connection modes of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch;

[0200] The request sending unit 1002 is configured to send a handshake request to a second device, where the handshake request is used to instruct the second device to determine a server path connection set applicable to the second device according to the client path connection set. The server path connection set is used to indicate the connection modes of multiple logical paths included in a third logical path set and the connection modes of multiple logical paths included in a fourth logical path set. The connection modes of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and a first switch, and the connection modes of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and a second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. All logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths;

[0201] A data sending unit 1003, configured to, if receiving first data and a handshake response from a second device for a handshake request, send the first data according to a client path connection set.

[0202] As can be seen from the above technical solution, the first device is respectively connected to the first switch and the second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. After the first device determines the client path connection set, it sends a handshake request to the second device, so that the second device determines the server path connection set according to the client path connection set. Thus, if the first device receives the handshake response from the second device, it sends the first data according to the client path connection set. Among them, the client path connection set applicable to the first device is used to indicate the connection manners of multiple logical paths included in the first logical path set and the second logical path set respectively, that is, the connection manner of the multiple logical paths included in the first logical path set is the logical connection established between the first sending port of the first device and the first switch, and the connection manner of the multiple logical paths included in the second logical path set is the logical connection established between the second sending port of the first device and the second switch. The server path connection set applicable to the second device is used to indicate the connection manners of multiple logical paths included in the third logical path set and the fourth logical path set respectively, that is, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths, that is, it does not include all the logical paths included in the first logical path set and the second logical path set, and the fourth logical path set includes the logical paths other than those included in the third logical path set among all the logical paths.

[0203] Thus, for the node pair in the same rack, that is, the first device and the second device no longer adopt a consistent logical path determination strategy. Instead, the first device is used as the client and the second device is used as the server. After the client and the server perform a handshake, the client path connection set applicable to the first device and the server path connection set applicable to the second device are determined. Thus, the client path connection set and the server path connection set are used to indicate that not all the logical paths are connected to the first switch and not all are connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can realize the data transmission of the node pair in the same rack, avoiding the interruption of all the logical paths involved in the node pair in the same rack and improving the availability of network transmission.

[0204] As a possible implementation manner, the data sending unit 1003 is specifically configured to:

[0205] If the second switch fails, send the first data according to the first target logical path included in the first logical path set, where the first target logical path and the multiple logical paths included in the fourth logical path set are different logical paths;

[0206] If the first switch fails, send the first data according to the second target logical path included in the second logical path set, where the second target logical path and the multiple logical paths included in the third logical path set are different logical paths.

[0207] As a possible implementation, the determining unit 1001 is specifically configured to:

[0208] If the client configuration policy is obtained, determine the client path connection set according to the client configuration policy, where the client configuration policy is used to indicate one or more combinations of the number of logical paths included in each logical path set, the connection method of the logical paths included in each logical path set, and the application scenario;

[0209] If the client configuration policy is not obtained, determine the client path connection set according to the preset configuration policy.

[0210] As a possible implementation, the determining unit 1001 is specifically configured to:

[0211] Determine the client path connection set according to the interleaved mode or the continuous mode. The interleaved mode indicates that two logical paths with adjacent path identifiers among all logical paths belong to different logical path sets respectively. The continuous mode indicates that n consecutive logical paths among all logical paths belong to the first target path set, and the logical paths other than the n consecutive logical paths among all logical paths belong to the second target path set;

[0212] Among them, the number of all logical paths is 2n - 1 or 2n. If the number of all logical paths is 2n - 1, then n is an integer greater than 2. If the number of all logical paths is 2n, then n is an integer greater than 1. The path identifier is used to identify each logical path among all logical paths. The first target path set is the first logical path set or the third logical path set, and the second target path set is the second logical path set or the fourth logical path set.

[0213] As a possible implementation, if the client path connection set is determined according to the interleaved mode, the server path connection set is determined according to the continuous mode;

[0214] If the client path connection set is determined according to the continuous mode, the server path set is determined according to the interleaved mode.

[0215] As a possible implementation, if the first set of logical paths includes a first logical path and a second logical path, and the second set of logical paths includes a third logical path and a fourth logical path, then the third set of logical paths includes the first logical path and the third logical path, and the fourth set of logical paths includes the second logical path and the fourth logical path;

[0216] If the first set of logical paths includes a first logical path and a third logical path, and the second set of logical paths includes a second logical path and a fourth logical path, then the third set of logical paths includes the first logical path and the second logical path, and the fourth set of logical paths includes the third logical path and the fourth logical path.

[0217] As a possible implementation, if the first set of logical paths includes a first logical path, a second logical path, and a third logical path, and the second set of logical paths includes a fourth logical path and a fifth logical path, then the third set of logical paths includes the first logical path, the third logical path, and the fifth logical path, and the fourth set of logical paths includes the second logical path and the fourth logical path;

[0218] If the first set of logical paths includes a first logical path, a third logical path, and a fifth logical path, and the second set of logical paths includes a second logical path and a fourth logical path, then the third set of logical paths includes the first logical path, the second logical path, and the third logical path, and the fourth set of logical paths includes the fourth logical path and the fifth logical path.

[0219] As a possible implementation, if the first set of logical paths includes a first logical path, a second logical path, and a third logical path, and the second set of logical paths includes a fourth logical path, a fifth logical path, and a sixth logical path, then the third set of logical paths includes the first logical path, the third logical path, and the fifth logical path, and the fourth set of logical paths includes the second logical path, the fourth logical path, and the sixth logical path;

[0220] If the first set of logical paths includes a first logical path, a third logical path, and a fifth logical path, and the second set of logical paths includes a second logical path, a fourth logical path, and a sixth logical path, then the third set of logical paths includes the first logical path, the second logical path, and the third logical path, and the fourth set of logical paths includes the fourth logical path, the fifth logical path, and the sixth logical path.

[0221] As a possible implementation, if the first logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the second logical path set includes the fifth logical path, the sixth logical path, and the seventh logical path, then the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, and the sixth logical path;

[0222] If the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, and the sixth logical path, then the third logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the fourth logical path set includes the fifth logical path, the sixth logical path, and the seventh logical path.

[0223] As a possible implementation, if the first logical path set includes the first logical path, the second logical path, the fifth logical path, and the sixth logical path, and the second logical path set includes the third logical path, the fourth logical path, the seventh logical path, and the eighth logical path, then the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path;

[0224] If the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path, then the third logical path set includes the first logical path, the second logical path, the fifth logical path, and the sixth logical path, and the fourth logical path set includes the third logical path, the fourth logical path, the seventh logical path, and the eighth logical path.

[0225] As a possible implementation, the first device and the second device are servers, or the first device and the second device are switches.

[0226] See Figure 11 , which is a schematic structural diagram of a multipath transmission device provided by an embodiment of the present application. As Figure 11 shown, the multipath transmission device 1100 includes: an acquisition unit 1101, a determination unit 1102, a response sending unit 1103, and a data sending unit 1104;

[0227] An obtaining unit 1101, configured to obtain a handshake request from a first device, where the handshake request includes a client path connection set, and the client path connection set is used to indicate connection manners of multiple logical paths included in a first logical path set and connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and a first switch, and the connection manners of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch.

[0228] A determining unit 1102, configured to determine a server path connection set according to the client path connection set. The server path connection set is used to indicate connection manners of multiple logical paths included in a third logical path set and connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of a second device and a first switch, and the connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. All logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths.

[0229] A response sending unit 1103, configured to send a handshake response to the first device for the handshake request.

[0230] A data sending unit 1104, configured to, if second data is obtained, send the second data according to the server path connection set.

[0231] As can be seen from the above technical solution, the first device is respectively connected to the first switch and the second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. After the first device determines the client path connection set, it sends a handshake request to the second device, so that the second device can determine the server path connection set according to the client path connection set. Thus, after the first device receives the handshake response from the second device, it sends the first data according to the client path connection set. Among them, the client path connection set applicable to the first device is used to indicate the connection modes of multiple logical paths included in the first logical path set and the second logical path set respectively. That is, the connection mode of the multiple logical paths included in the first logical path set is the logical connection established between the first sending port of the first device and the first switch, and the connection mode of the multiple logical paths included in the second logical path set is the logical connection established between the second sending port of the first device and the second switch. The server path connection set applicable to the second device is used to indicate the connection modes of multiple logical paths included in the third logical path set and the fourth logical path set respectively. That is, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths, that is, it does not include all the logical paths included in the first logical path set and the second logical path set. The fourth logical path set includes the logical paths among all the logical paths except those included in the third logical path set.

[0232] Thus, for the node pair located in the same rack, that is, the first device and the second device, they no longer adopt a consistent logical path determination strategy. Instead, the first device acts as the client and the second device acts as the server. After the client and the server shake hands, the client path connection set applicable to the first device and the server path connection set applicable to the second device are determined. Thus, the client path connection set and the server path connection set are used to indicate that not all of the entire logical paths are connected to the first switch, nor are they all connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can realize the data transmission of the node pair located in the same rack, avoiding the interruption of all the logical paths involved in the node pair located in the same rack and improving the availability of network transmission.

[0233] See Figure 12 , which is a schematic structural diagram of a multi-path transmission device provided by an embodiment of the present application. As Figure 12 shown, the multi-path transmission device 1200 includes: a first device 1201 and a second device 1202;

[0234] A first device 1201 for determining a client path connection set, which is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and a first switch, and the connection modes of the multiple logical paths included in the second logical path set are the logical connections established between the second sending port of the first device and a second switch;

[0235] The first device 1201 is further configured to send a handshake request to a second device, where the handshake request is used to instruct the second device to determine a server path connection set according to the client path connection set;

[0236] A second device 1202 for determining a server path connection set according to the client path connection set, which is used to indicate the connection modes of multiple logical paths included in a third logical path set and the connection modes of multiple logical paths included in a fourth logical path set. The connection modes of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and a first switch, and the connection modes of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and a second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. All logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all logical paths;

[0237] The second device 1202 is further configured to send a handshake response to the first device for the handshake request;

[0238] The second device 1202 is further configured to, if second data is obtained, send the second data according to the server path connection set;

[0239] The first device 1201 is further configured to, if a handshake response and first data are obtained, send the first data according to the client path connection set.

[0240] As can be seen from the above technical solution, the first device is respectively connected to the first switch and the second switch, and the second device is respectively connected to the first switch and the second switch, that is, the first device and the second device belong to a node pair located in the same rack. After the first device determines the client path connection set, it sends a handshake request to the second device, so that the second device can determine the server path connection set according to the client path connection set. Thus, after the first device receives the handshake response from the second device, it sends the first data according to the client path connection set. Among them, the client path connection set applicable to the first device is used to indicate the connection modes of multiple logical paths included in the first logical path set and the second logical path set respectively. That is, the connection mode of the multiple logical paths included in the first logical path set is the logical connection established between the first sending port of the first device and the first switch, and the connection mode of the multiple logical paths included in the second logical path set is the logical connection established between the second sending port of the first device and the second switch. The server path connection set applicable to the second device is used to indicate the connection modes of multiple logical paths included in the third logical path set and the fourth logical path set respectively. That is, the third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths, that is, it does not include all the logical paths included in the first logical path set and the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among all the logical paths.

[0241] Thus, for the node pair located in the same rack, that is, the first device and the second device, they no longer adopt a consistent logical path determination strategy. Instead, the first device acts as the client and the second device acts as the server. After the client and the server shake hands, the client path connection set applicable to the first device and the server path connection set applicable to the second device are determined. Thus, the client path connection set and the server path connection set are used to indicate that not all of the entire logical paths are connected to the first switch, nor are they all connected to the second switch. Furthermore, whether the first switch fails or the second switch fails, there will be at least one logical path that can realize the data transmission of the node pair located in the same rack, avoiding the interruption of all the logical paths involved in the node pair located in the same rack and improving the availability of network transmission.

[0242] The embodiment of the present application also provides a computer device, which can be a server or a terminal device. Hereinafter, the computer device provided by the embodiment of the present application will be introduced from the perspective of hardware implementation. Among them, Figure 13 The structure diagram of the server is shown. Figure 14 The structure diagram of the terminal device is shown.

[0243] See Figure 13 , which is a schematic diagram of a server structure provided by an embodiment of the present application. The server 1400 may vary greatly due to configuration or performance differences, and may include one or more processors 1422, such as Central Processing Units (CPUs), a memory 1432, and a storage medium 1430 (such as one or more mass storage devices) for storing one or more application programs 1442 or data 1444. Among them, the memory 1432 and the storage medium 1430 may be transient storage or persistent storage. The program stored in the storage medium 1430 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations on the server. Further, the processor 1422 may be configured to communicate with the storage medium 1430 and execute a series of instruction operations in the storage medium 1430 on the server 1400.

[0244] The server 1400 may further include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input / output interfaces 1458, and / or one or more operating systems 1441, such as Windows Server TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM and so on.

[0245] The steps performed by the server in the above embodiments may be based on the Figure 13 server structure shown.

[0246] Among them, the CPU 1422 is used to perform the following steps:

[0247] Determine a client path connection set, where the client path connection set is used to indicate the connection methods of multiple logical paths included in a first logical path set and the connection methods of multiple logical paths included in a second logical path set. The connection methods of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of a first device and a first switch, and the connection methods of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch;

[0248] Send a handshake request to a second device, where the handshake request is used to instruct the second device to determine a set of server - side path connections applicable to the second device according to the set of client - side path connections. The set of server - side path connections is used to indicate the connection methods of multiple logical paths included in a third set of logical paths and the connection methods of multiple logical paths included in a fourth set of logical paths. The connection methods of multiple logical paths included in the third set of logical paths are logical connections established between a first sending port of the second device and a first switch. The connection methods of multiple logical paths included in the fourth set of logical paths are logical connections between a second sending port of the second device and a second switch. The third set of logical paths includes at least one logical path belonging to the first set of logical paths and at least one logical path belonging to the second set of logical paths, and the third set of logical paths does not include all logical paths. The all logical paths are the logical paths included in the first set of logical paths and the logical paths included in the second set of logical paths. The fourth set of logical paths includes the logical paths among the all logical paths other than those included in the third set of logical paths;

[0249] If receiving first data and a handshake response from the second device for the handshake request, then send the first data according to the set of client - side path connections.

[0250] Or CPU 1422 is used to execute the following steps:

[0251] Obtain a handshake request from a first device, where the handshake request includes a set of client - side path connections. The set of client - side path connections is used to indicate the connection methods of multiple logical paths included in a first set of logical paths and the connection methods of multiple logical paths included in a second set of logical paths. The connection methods of multiple logical paths included in the first set of logical paths are logical connections established between a first sending port of the first device and a first switch. The connection methods of multiple logical paths included in the second set of logical paths are logical connections between a second sending port of the first device and a second switch;

[0252] Determine a server path connection set according to the client path connection set, where the server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths;

[0253] Send a handshake response to the first device for the handshake request;

[0254] If second data is obtained, send the second data according to the server path connection set.

[0255] Or CPU 1422 is used to execute the following steps:

[0256] The first device determines a client path connection set, where the client path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and the first switch. The connection manners of the multiple logical paths included in the second logical path set are logical connections between a second sending port of the first device and the second switch;

[0257] The first device sends a handshake request to the second device, and the handshake request is used to instruct the second device to determine a server path connection set according to the client path connection set;

[0258] The second device determines a server path connection set according to the client path connection set. The server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths;

[0259] The second device sends a handshake response to the first device for the handshake request;

[0260] If the second device obtains second data, the second device sends the second data according to the server path connection set;

[0261] If the first device obtains the handshake response and first data, the first device sends the first data according to the client path connection set.

[0262] Optionally, the CPU 1422 may also execute the method steps of any specific implementation manner of the multi-path transmission method in the embodiments of the present application.

[0263] See Figure 14 , which is a schematic structural diagram of a terminal device provided in an embodiment of the present application. Taking the terminal device as a smart phone as an example for illustration, Figure 14 What is shown is a block diagram of a part of the structure of the smart phone. The smart phone includes: a Radio Frequency (RF) circuit 1510, a memory 1520, an input unit 1530, a display unit 1540, a sensor 1550, an audio circuit 1560, a Wireless Fidelity (WiFi) module 1570, a processor 1580, and a power supply 1590 and other components. Those skilled in the art can understand that Figure 14 the structure of the smart phone shown in

[0264] Next, in combination withFigure 14 Specifically introduce each component of the smartphone:

[0265] The RF circuit 1510 can be used for receiving and transmitting signals during information reception and call processes. Specifically, after receiving the downlink information from the base station, it is sent to the processor 1580 for processing; in addition, the designed uplink data is sent to the base station.

[0266] The memory 1520 can be used to store software programs and modules. The processor 1580 realizes various functional applications and data processing of the smartphone by running the software programs and modules stored in the memory 1520.

[0267] The input unit 1530 can be used to receive input digital or character information, and generate key signal inputs related to the user settings and function controls of the smartphone. Specifically, the input unit 1530 can include a touch panel 1531 and other input devices 1532. The touch panel 1531, also known as a touch screen, can collect touch operations of the user on or near it, and drive the corresponding connection device according to a pre-set program. In addition to the touch panel 1531, the input unit 1530 can also include other input devices 1532. Specifically, the other input devices 1532 can include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control keys, power on / off keys, etc.), trackball, mouse, joystick, etc.

[0268] The display unit 1540 can be used to display information input by the user or information provided to the user, as well as various menus of the smartphone. The display unit 1540 can include a display panel 1541. Optionally, the display panel 1541 can be configured in the form of a liquid crystal display (LCD for short), an organic light-emitting diode (OLED for short), etc.

[0269] The smartphone can also include at least one sensor 1550, such as a light sensor, a motion sensor, and other sensors. As for other sensors that the smartphone can also be configured with, such as a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, etc., they will not be elaborated here.

[0270] The audio circuit 1560, speaker 1561, and microphone 1562 can provide an audio interface between the user and the smart phone. The audio circuit 1560 can transmit the electrical signal converted from the received audio data to the speaker 1561, and the speaker 1561 converts it into a sound signal for output; on the other hand, the microphone 1562 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1560 and then converted into audio data. After the audio data is output to the processor 1580 for processing, it is sent through the RF circuit 1510 to, for example, another smart phone, or the audio data is output to the memory 1520 for further processing.

[0271] The processor 1580 is the control center of the smart phone, connecting various parts of the entire smart phone using various interfaces and lines. By running or executing the software programs and / or modules stored in the memory 1520, and by calling the data stored in the memory 1520, it executes various functions of the smart phone and processes data. Optionally, the processor 1580 may include one or more processing units.

[0272] The smart phone also includes a power supply 1590 (such as a battery) for powering each component. Preferably, the power supply can be logically connected to the processor 1580 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system.

[0273] Although not shown, the smart phone may also include a camera, a Bluetooth module, etc., which will not be elaborated here.

[0274] In the embodiment of the present application, the memory 1520 included in the smart phone can store a computer program and transmit the computer program to the processor.

[0275] The processor 1580 included in the smart phone can execute the multi-path transmission method provided in the above embodiment according to the instructions in the computer program.

[0276] The embodiment of the present application also provides a computer-readable storage medium for storing a computer program, and the computer program is used to execute the multi-path transmission method provided in the above embodiment.

[0277] The embodiment of the present application also provides a computer program product or a computer program. The computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the multi-path transmission method provided in the various optional implementation manners of the above aspects.

[0278] Those of ordinary skill in the art will understand that all or part of the steps of implementing the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps including those of the above method embodiments; and the foregoing storage medium can be at least one of the following media: read-only memory (ROM), RAM, magnetic disk, or optical disc, etc., which can store computer programs.

[0279] It should be noted that the embodiments in this specification are all described in a progressive manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the device and system embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, reference can be made to the partial description of the method embodiments. The device and system embodiments described above are only illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative efforts.

[0280] As described above, this is only a specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present application should be covered by the protection scope of the present application. On the basis of the implementation manners provided in the above aspects, the present application can be further combined to provide more implementation manners. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A multipath transmission method, characterized in that, The method includes: Determining a client path connection set, where the client path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of a first device and a first switch, and the connection manners of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch; Sending a handshake request to a second device, where the handshake request is used to instruct the second device to determine a server path connection set applicable to the second device according to the client path connection set. The server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch, and the connection manners of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths; If receiving first data and a handshake response from the second device for the handshake request, sending the first data according to the client path connection set.

2. The method according to claim 1, wherein The sending the first data according to the client path connection set includes: If the second switch fails, sending the first data according to a first target logical path included in the first logical path set, where the first target logical path and the multiple logical paths included in the fourth logical path set are different logical paths; If the first switch fails, sending the first data according to a second target logical path included in the second logical path set, where the second target logical path and the multiple logical paths included in the third logical path set are different logical paths.

3. The method according to claim 1, wherein The determining the client path connection set includes: If obtaining a client configuration policy, determining the client path connection set according to the client configuration policy, where the client configuration policy is used to indicate the number of logical paths included in each logical path set, the connection manners of the logical paths included in each logical path set, and one or more combinations in the application scenario; If not obtaining the client configuration policy, determining the client path connection set according to a preset configuration policy.

4. The method according to claim 1, characterized in that, The determining of the client path connection set includes: Determining the client path connection set according to an interleaved mode or a continuous mode, where the interleaved mode indicates that two logical paths with adjacent path identifiers in all the logical paths belong to different logical path sets, and the continuous mode indicates that n consecutive logical paths in all the logical paths belong to a first target path set, and the logical paths in all the logical paths except the n consecutive logical paths belong to a second target path set; Wherein, the number of all the logical paths is 2n - 1 or 2n. If the number of all the logical paths is 2n - 1, then n is an integer greater than 2. If the number of all the logical paths is 2n, then n is an integer greater than 1. The path identifier is used to identify each logical path in all the logical paths. The first target path set is the first logical path set or the third logical path set, and the second target path set is the second logical path set or the fourth logical path set.

5. The method according to claim 4, wherein If the client path connection set is determined according to the interleaved mode, then the server path connection set is determined according to the continuous mode; If the client path connection set is determined according to the continuous mode, then the server path set is determined according to the interleaved mode.

6. The method according to claim 5, characterized in that If the first logical path set includes a first logical path and a second logical path, and the second logical path set includes a third logical path and a fourth logical path, then the third logical path set includes the first logical path and the third logical path, and the fourth logical path set includes the second logical path and the fourth logical path; If the first logical path set includes the first logical path and the third logical path, and the second logical path set includes the second logical path and the fourth logical path, then the third logical path set includes the first logical path and the second logical path, and the fourth logical path set includes the third logical path and the fourth logical path.

7. The method according to claim 5, wherein If the first logical path set includes a first logical path, a second logical path and a third logical path, and the second logical path set includes a fourth logical path and a fifth logical path, then the third logical path set includes the first logical path, the third logical path and the fifth logical path, and the fourth logical path set includes the second logical path and the fourth logical path; If the first logical path set includes the first logical path, the third logical path and the fifth logical path, and the second logical path set includes the second logical path and the fourth logical path, then the third logical path set includes the first logical path, the second logical path and the third logical path, and the fourth logical path set includes the fourth logical path and the fifth logical path.

8. The method according to claim 5, characterized in that, If the first logical path set includes a first logical path, a second logical path, and a third logical path, and the second logical path set includes a fourth logical path, a fifth logical path, and a sixth logical path, then the third logical path set includes the first logical path, the third logical path, and the fifth logical path, and the fourth logical path set includes the second logical path, the fourth logical path, and the sixth logical path; If the first logical path set includes the first logical path, the third logical path, and the fifth logical path, and the second logical path set includes the second logical path, the fourth logical path, and the sixth logical path, then the third logical path set includes the first logical path, the second logical path, and the third logical path, and the fourth logical path set includes the fourth logical path, the fifth logical path, and the sixth logical path.

9. The method according to claim 5, characterized in that, If the first logical path set includes a first logical path, a second logical path, a third logical path, and a fourth logical path, and the second logical path set includes a fifth logical path, a sixth logical path, and a seventh logical path, then the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, and the sixth logical path; If the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, and the sixth logical path, then the third logical path set includes the first logical path, the second logical path, the third logical path, and the fourth logical path, and the fourth logical path set includes the fifth logical path, the sixth logical path, and the seventh logical path.

10. The method according to claim 1, wherein If the first logical path set includes a first logical path, a second logical path, a fifth logical path, and a sixth logical path, and the second logical path set includes a third logical path, a fourth logical path, a seventh logical path, and an eighth logical path, then the third logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the fourth logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path; If the first logical path set includes the first logical path, the third logical path, the fifth logical path, and the seventh logical path, and the second logical path set includes the second logical path, the fourth logical path, the sixth logical path, and the eighth logical path, then the third logical path set includes the first logical path, the second logical path, the fifth logical path, and the sixth logical path, and the fourth logical path set includes the third logical path, the fourth logical path, the seventh logical path, and the eighth logical path.

11. The method according to any one of claims 1-10, characterized in that, The first device and the second device are servers, or the first device and the second device are switches.

12. A multipath transmission method, characterized in that, The method includes: Obtaining a handshake request from a first device, the handshake request including a client path connection set for indicating connection manners of multiple logical paths included in a first logical path set and connection manners of multiple logical paths included in a second logical path set. The connection manner of the multiple logical paths included in the first logical path set is a logical connection established between a first sending port of the first device and a first switch, and the connection manner of the multiple logical paths included in the second logical path set is a logical connection established between a second sending port of the first device and a second switch. Determining a server path connection set according to the client path connection set, the server path connection set being used to indicate connection manners of multiple logical paths included in a third logical path set and connection manners of multiple logical paths included in a fourth logical path set. The connection manner of the multiple logical paths included in the third logical path set is a logical connection established between a first sending port of the second device and the first switch, and the connection manner of the multiple logical paths included in the fourth logical path set is a logical connection between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set, and the fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths. Sending a handshake response to the first device for the handshake request. If second data is obtained, sending the second data according to the server path connection set.

13. A multipath transmission method, characterized in that, The method includes: The first device determines a client path connection set, which is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and a first switch. The connection modes of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch; The first device sends a handshake request to the second device, and the handshake request is used to instruct the second device to determine a server path connection set according to the client path connection set; The second device determines a server path connection set according to the client path connection set. The server path connection set is used to indicate the connection modes of multiple logical paths included in a third logical path set and the connection modes of multiple logical paths included in a fourth logical path set. The connection modes of the multiple logical paths included in the third logical path set are logical connections established between a first sending port of the second device and the first switch. The connection modes of the multiple logical paths included in the fourth logical path set are logical connections between a second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths; The second device sends a handshake response to the first device for the handshake request; If the second device obtains second data, the second device sends the second data according to the server path connection set; If the first device obtains the handshake response and first data, the first device sends the first data according to the client path connection set.

14. A multipath transmission device, characterized in that, The apparatus includes: a determination unit, a request sending unit, and a data sending unit; The determination unit is configured to determine a client path connection set, which is used to indicate the connection modes of multiple logical paths included in a first logical path set and the connection modes of multiple logical paths included in a second logical path set. The connection modes of the multiple logical paths included in the first logical path set are logical connections established between a first sending port of the first device and a first switch. The connection modes of the multiple logical paths included in the second logical path set are logical connections established between a second sending port of the first device and a second switch; The request sending unit is configured to send a handshake request to a second device. The handshake request is used to instruct the second device to determine a server path connection set applicable to the second device according to the client path connection set. The server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths; The data sending unit is configured to, if receiving first data and a handshake response from the second device for the handshake request, send the first data according to the client path connection set.

15. A multipath transmission device, characterized in that, The apparatus includes: an obtaining unit, a determining unit, a response sending unit, and a data sending unit; The obtaining unit is configured to obtain a handshake request from a first device. The handshake request includes a client path connection set. The client path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of the multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and the first switch. The connection manners of the multiple logical paths included in the second logical path set are the logical connections established between the second sending port of the first device and the second switch; The determining unit is configured to determine a server - side path connection set according to the client - side path connection set. The server - side path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection manners of multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths among the all logical paths except those included in the third logical path set; The handshake response sending unit is configured to send a handshake response to the first device for the handshake request; The data sending unit is configured to, if second data is obtained, send the second data according to the server - side path connection set.

16. A multipath transmission device, characterized in that, The apparatus includes a first device and a second device; The first device is configured to determine a client - side path connection set. The client - side path connection set is used to indicate the connection manners of multiple logical paths included in a first logical path set and the connection manners of multiple logical paths included in a second logical path set. The connection manners of multiple logical paths included in the first logical path set are the logical connections established between the first sending port of the first device and the first switch. The connection manners of multiple logical paths included in the second logical path set are the logical connections established between the second sending port of the first device and the second switch; The first device is further configured to send a handshake request to the second device. The handshake request is used to instruct the second device to determine a server - side path connection set according to the client - side path connection set; The second device is configured to determine a server path connection set according to the client path connection set. The server path connection set is used to indicate the connection manners of multiple logical paths included in a third logical path set and the connection manners of multiple logical paths included in a fourth logical path set. The connection manners of the multiple logical paths included in the third logical path set are the logical connections established between the first sending port of the second device and the first switch. The connection manners of the multiple logical paths included in the fourth logical path set are the logical connections between the second sending port of the second device and the second switch. The third logical path set includes at least one logical path belonging to the first logical path set and at least one logical path belonging to the second logical path set, and the third logical path set does not include all logical paths. The all logical paths are the logical paths included in the first logical path set and the logical paths included in the second logical path set. The fourth logical path set includes the logical paths other than those included in the third logical path set among the all logical paths; The second device is further configured to send a handshake response to the first device for the handshake request; The second device is further configured to, if second data is obtained, send the second data according to the server path connection set; The first device is further configured to, if the handshake response and the first data are obtained, send the first data according to the client path connection set.

17. A multipath transmission system, characterized in that, The system includes a first device and a second device; The first device is configured to execute the method according to any one of claims 1-11; The second device is configured to execute the method according to claim 12.

18. A computer device, characterized in that, The computer device includes a processor and a memory: The memory is configured to store a computer program and transmit the computer program to the processor; The processor is configured to execute the method according to any one of claims 1-11, or execute the method according to claim 12, or execute the method according to claim 13 according to the computer program.

19. A computer-readable storage medium, characterized in that, The computer-readable storage medium is configured to store a computer program, and the computer program is used to execute the method according to any one of claims 1-11, or execute the method according to claim 12, or execute the method according to claim 13.

20. A computer program product comprising a computer program, characterized in that, When running on a computer device, it causes the computer device to execute the method according to any one of claims 1-11, or execute the method according to claim 12, or execute the method according to claim 13.