Communication method and device
By detecting the performance of the transmission path and dynamically adjusting the transmission method, the problem of multi-path transmission increasing traffic cost and power consumption is solved, and more efficient data transmission is achieved.
Patent Information
- Application Number
- CN202311526138.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-15
- Publication Date
- 2025-05-16
AI Technical Summary
When using multipath transmission technology for data transmission, additional traffic costs and power consumption overhead are added, especially when the transmission path performance is poor.
By detecting the transmission path performance between hosts, if the preset conditions are met, multi-path transmission is adopted; otherwise, single-path transmission is adopted to dynamically adjust the transmission method.
The method of selecting multi-path transmission or single-path transmission according to actual needs is realized, reducing the traffic cost and power consumption overhead caused by blindly adopting multi-path transmission.
Smart Images

Figure CN120017576A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication and more particularly to a communication method and device. Background Art
[0002] At present, with the development of wireless communication technology, more and more electronic devices begin to use multipath transmission technology for data transmission to improve the data transmission performance of electronic devices. Among them, the mainstream multipath transmission technology includes multipath transmission control protocol (MPTCP) and the like.
[0003] In multi-path transmission technology, the host can transmit data through the transmission paths of multiple networks of different standards. For example, when transmitting business data between a terminal device and a business server, the electronic device can send business data to the business server through the transmission path of a cellular network and the transmission path of a wireless fidelity (WIFI) network. Alternatively, when a business server sends business data to an electronic device, it can also send business data to the electronic device through the transmission path of a cellular network and the transmission path of a WIFI network. In this way, data transmission efficiency can be improved.
[0004] However, compared with using a single path transmission method for data transmission, using multi-path transmission technology for data transmission will increase additional traffic costs and power consumption overhead. Summary of the invention
[0005] The present application provides a communication method and device for reducing the traffic cost and power consumption of a host when transmitting business data between hosts.
[0006] In a first aspect, a communication method is provided, the method comprising: a first host detects the transmission performance of a first transmission path between the first host and a second host. When the transmission performance of the first transmission path meets a preset condition, the first host sends service data through the first transmission path and the second transmission path, the first transmission path and the second transmission path being transmission paths between the first host and the second host in networks of different standards. Otherwise, the first host sends the service data through the first transmission path.
[0007] In the above method of the present application, when the transmission performance of the first transmission path meets the preset conditions, the service data is sent through the first transmission path and the second transmission path by means of multi-path transmission. When the transmission performance of the first transmission path does not meet the preset conditions, a single path transmission method can be adopted to send the service data through the first transmission path, that is, the multi-path transmission method is not adopted at this time. In this way, through the above method of the embodiment of the present application, the effect of selecting multi-path transmission or single path transmission for data transmission can be achieved according to actual needs. Thereby avoiding the problem of high traffic cost and power consumption overhead caused by blindly adopting multi-path transmission for data transmission.
[0008] In one implementation, the transmission performance of the first transmission path includes: one or more of a transmission delay, a packet loss rate, and a received signal strength RSSI of the first transmission path.
[0009] Through the above implementation method, when one or more of the transmission delay, packet loss rate and RSSI of the first transmission path do not meet the preset conditions, the business data is sent by a single path transmission method; when one or more of the transmission delay, packet loss rate and RSSI of the first transmission path meet the preset conditions, the business data is sent by a multi-path transmission method, thereby avoiding the problems of high traffic costs and power consumption overhead caused by blindly using a multi-path transmission method for data transmission.
[0010] In one implementation, the above-mentioned preset conditions include: the transmission delay of the first transmission path is greater than a first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold, or the transmission delay of the first transmission path has a degradation trend, one or more of the following.
[0011] In the above implementation, by setting one or more of the following as preset conditions: the transmission delay of the first transmission path is greater than the first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within the preset time period is greater than the second delay threshold, or the transmission delay of the first transmission path has a degradation trend, the first transmission path and the second transmission path can be used to send business data when the transmission delay of the first transmission path is large or has a degradation trend, so as to ensure smooth transmission of the business data.
[0012] In one implementation, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer; and / or, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is greater than a gradient threshold.
[0013] Through the above implementation, it is possible to accurately determine whether the transmission delay of the first transmission path has a degradation trend, and then when the transmission delay has a degradation trend, the first transmission path and the second transmission path are promptly used to send service data to ensure smooth transmission of the service data.
[0014] In one implementation, the above-mentioned preset conditions include: the RSSI of the first transmission path is greater than the first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than the second signal strength threshold, or the RSSI of the first transmission path has a degradation trend, one or more of the following.
[0015] In the above implementation, by setting one or more of the following as preset conditions: the RSSI of the first transmission path is greater than the first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than the second signal strength threshold, or the RSSI of the first transmission path has a degradation trend, the first transmission path and the second transmission path can be used to send business data when the RSSI of the first transmission path is low or has a degradation trend, so as to ensure smooth transmission of business data.
[0016] In one implementation, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, where k is a positive integer; and / or, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is greater than the gradient threshold.
[0017] Through the above implementation, it is possible to accurately determine whether the RSSI of the first transmission path has a degradation trend, and then when the RSSI has a degradation trend, the first transmission path and the second transmission path are promptly used to send service data to ensure smooth transmission of the service data.
[0018] In one implementation, the above-mentioned preset condition includes: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
[0019] In the above implementation, by setting the packet loss rate of the first transmission path greater than the packet loss rate threshold as a preset condition, the first transmission path and the second transmission path can be used to send service data when the packet loss rate of the first transmission path is high, so as to ensure smooth transmission of the service data.
[0020] In one implementation, the first host sends service data through a first transmission path and a second transmission path, including: the first host sends the data packets in the service data through the first transmission path according to the order of the data packets in the service data. The first host determines the data packets to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path.
[0021] In the above implementation, on the one hand, the first host can send the data packets in the service data through the first transmission path according to the order of the data packets in the service data; on the other hand, when the first host sends the service data through the second transmission path, it can determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path. Then, the data packet is sent through the second transmission path. In this way, the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths can be reduced.
[0022] In one implementation, the first host determines the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. The first host determines the second data packet to be sent through the second transmission path according to the number m of data packets and the first data packet currently sent through the first transmission path, the second data packet being a data packet that is m data packets after the first data packet.
[0023] Through the above implementation, the time when the second host receives the second data packet through the first transmission path and the second transmission path can be close, thereby reducing the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths.
[0024] In one implementation, the first host determines the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. When the number m of data packets does not exceed a first threshold, the first host determines that the second data packet sent through the second transmission path is the same as the first data packet currently sent through the first transmission path.
[0025] In the above implementation, when the transmission delay difference between the two transmission paths is small, even if there is a gap in the time for the same data packet to reach the second host through the two transmission paths, the congestion control scheme will not be triggered to reduce the transmission speed. At this time, the first host can send the same data packet through the first transmission path and the second transmission path at the same time. In this way, the amount of calculation that the first host can perform can be reduced, and the transmission efficiency can be improved.
[0026] In one implementation, the first host determines the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. When the number m of data packets is greater than a second threshold, the first host determines that the data packet sent through the second transmission path is the last data packet in the cache of the first host.
[0027] In the above implementation, considering that the number of data packets cached in the first host is limited and the transmission delay of the second transmission path is significantly different from the transmission delay of the first transmission path, the possibility of invalid transmission of redundant data can be avoided as much as possible by sending the last data packet in the cache in the second transmission path.
[0028] In one implementation, the method further includes: the first host determines, according to a first preset strategy, a first network corresponding to the first transmission path from a plurality of networks accessed by the first host. The first preset strategy includes determining the first network corresponding to the first transmission path according to network quality and / or network type of the plurality of networks accessed by the first host.
[0029] Through the above implementation, a main path (ie, the first transmission path) that is more suitable for transmitting business data can be determined, thereby improving the transmission efficiency of business data.
[0030] In one implementation, the first preset strategy specifically includes: when it is determined based on network types of the multiple networks accessed by the first host that the multiple networks accessed by the first host include a Wireless Fidelity WIFI network and a cellular network, determining the WIFI network as the first network corresponding to the first transmission path.
[0031] In the above implementation, considering that compared with cellular networks, WIFI networks often have more stable signals and lower user charges, the transmission path in the WIFI network is prioritized as the main path (i.e., the first transmission path) for business data transmission, thereby facilitating the improvement of data transmission performance and saving user costs.
[0032] In one implementation, the method also includes: the first host determines, according to a second preset strategy, a second network corresponding to the second transmission path from multiple networks accessed by the first host; the second preset strategy includes determining, according to the network quality and / or network type of the multiple networks accessed by the first host, the second network corresponding to the second transmission path from networks other than the first network.
[0033] Through the above implementation, an auxiliary path (ie, the second transmission path) that is more suitable for transmitting service data can be determined, thereby improving the transmission efficiency of the service data.
[0034] In a second aspect, a communication method is provided, the method comprising: a first host sends data packets in the service data through a first transmission path according to the order of the data packets in the service data. The first host determines the data packets to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path. The first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards.
[0035] In the above method, on the one hand, the first host can send the data packets in the service data through the first transmission path according to the order of the data packets in the service data; on the other hand, when the first host sends the service data through the second transmission path, it can determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path. Then, the data packet is sent through the second transmission path. In this way, the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths can be reduced.
[0036] In one implementation, the first host determines the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. The first host determines the second data packet to be sent through the second transmission path according to the number m of data packets and the first data packet currently sent through the first transmission path, the second data packet being a data packet that is m data packets after the first data packet.
[0037] Through the above implementation, the time when the second host receives the second data packet through the first transmission path and the second transmission path can be close, thereby reducing the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths.
[0038] In one implementation, the first host determines the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. When the number m of data packets does not exceed a first threshold, the first host determines that the second data packet sent through the second transmission path is the same as the first data packet currently sent through the first transmission path.
[0039] In the above implementation, when the transmission delay difference between the two transmission paths is small, even if there is a gap in the time for the same data packet to reach the second host through the two transmission paths, the congestion control scheme will not be triggered to reduce the transmission speed. At this time, the first host can send the same data packet through the first transmission path and the second transmission path at the same time. In this way, the amount of calculation that the first host can perform can be reduced, and the transmission efficiency can be improved.
[0040] In one implementation, the first host determines the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: when the first host determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference is calculated. When the number m of data packets is greater than a second threshold, the first host determines that the data packet sent through the second transmission path is the last data packet in the cache of the first host.
[0041] In the above implementation, considering that the number of data packets cached in the first host is limited and the transmission delay of the second transmission path is significantly different from the transmission delay of the first transmission path, the possibility of invalid transmission of redundant data can be avoided as much as possible by sending the last data packet in the cache in the second transmission path.
[0042] In a third aspect, a communication device is provided, which is applied to a first host, and the communication device includes: a detection unit and a communication unit. The detection unit is used to detect the transmission performance of a first transmission path between the first host and the second host. When the transmission performance of the first transmission path meets a preset condition, the communication unit is used to send service data through the first transmission path and the second transmission path, and the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards. Otherwise, the communication unit is used to send service data through the first transmission path.
[0043] In one implementation, the transmission performance of the first transmission path includes: one or more of a transmission delay, a packet loss rate, and a received signal strength RSSI of the first transmission path.
[0044] In one implementation, the preset conditions include: one or more of the following: the transmission delay of the first transmission path is greater than a first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold, or the transmission delay of the first transmission path has a degradation trend.
[0045] In one implementation, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer. And / or, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is greater than a gradient threshold.
[0046] In one implementation, the transmission performance of the first transmission path meets preset conditions, including: the RSSI of the first transmission path is greater than a first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than a second signal strength threshold, or the RSSI of the first transmission path has a degradation trend, one or more of the following.
[0047] In one implementation, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, where k is a positive integer. And / or, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is greater than the gradient threshold.
[0048] In one implementation, the transmission performance of the first transmission path meets a preset condition, including: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
[0049] In one implementation, a communication unit is used to send business data through a first transmission path and a second transmission path, including: a communication unit, specifically used to send data packets in the business data through the first transmission path according to the order of the data packets in the business data; a communication unit, specifically used by a first host to determine the data packets to be sent through the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path.
[0050] In one implementation, a communication unit is specifically used to determine a data packet sent through a second transmission path based on a transmission delay difference between the first transmission path and the second transmission path, and includes: a communication unit is specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path; a communication unit is specifically used to determine a second data packet sent through the second transmission path based on the number m of data packets and a first data packet currently sent through the first transmission path, the second data packet being a data packet that is m data packets after the first data packet.
[0051] In one implementation, a communication unit is specifically used to determine a data packet sent through a second transmission path based on a transmission delay difference between the first transmission path and the second transmission path, and includes: a communication unit is specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path; and a communication unit is specifically used to determine that a second data packet sent through the second transmission path is the same as a first data packet currently being sent through the first transmission path when the number m of data packets does not exceed a first threshold.
[0052] In one implementation, a communication unit is specifically used to determine a data packet sent through a second transmission path based on a transmission delay difference between the first transmission path and the second transmission path, and includes: a communication unit is specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path; and a communication unit is specifically used to determine that the data packet sent through the second transmission path is the last data packet in the cache of the first host when the number m of data packets is greater than a second threshold.
[0053] In one implementation, the communication device also includes: a determination unit, used to determine the first network corresponding to the first transmission path from multiple networks accessed by the first host according to a first preset strategy; the first preset strategy includes determining the first network corresponding to the first transmission path according to the network quality and / or network type of the multiple networks accessed by the first host.
[0054] In one implementation, the first preset strategy specifically includes: when it is determined based on network types of the multiple networks accessed by the first host that the multiple networks accessed by the first host include a Wireless Fidelity WIFI network and a cellular network, determining the WIFI network as the first network corresponding to the first transmission path.
[0055] In one implementation, the determination unit is further used to determine, according to a second preset strategy, a second network corresponding to the second transmission path from multiple networks accessed by the first host; the second preset strategy includes determining, according to the network quality and / or network type of the multiple networks accessed by the first host, the second network corresponding to the second transmission path from networks other than the first network.
[0056] In a fourth aspect, a communication device is provided, which is applied to a first host, and the communication device includes: a first sending unit and a second sending unit. The first sending unit is used to send data packets in the business data through a first transmission path according to the order of the data packets in the business data. The second sending unit is used to determine the data packets to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path; the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards.
[0057] In one implementation, a second sending unit is used to determine a data packet sent through a second transmission path based on a transmission delay difference between the first transmission path and the second transmission path, and includes: a second sending unit, specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when, based on the transmission delay difference between the first transmission path and the second transmission path, it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; and a second sending unit, specifically used to determine a second data packet sent through the second transmission path based on the number m of data packets and a first data packet currently sent through the first transmission path, the second data packet being a data packet that is m data packets after the first data packet.
[0058] In one implementation, a second sending unit is used to determine a data packet sent through a second transmission path based on a transmission delay difference between the first transmission path and the second transmission path, and includes: a second sending unit, specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path; and a second sending unit, specifically used to determine that a second data packet sent through the second transmission path is the same as a first data packet currently being sent through the first transmission path when the number m of data packets does not exceed a first threshold.
[0059] In one implementation, a second sending unit is used to determine the data packets sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including: the second sending unit is specifically used to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path; the second sending unit is specifically used to determine that the data packet sent through the second transmission path is the last data packet in the cache of the first host when the number m of data packets is greater than a second threshold.
[0060] In a fifth aspect, a communication device is provided, comprising a memory and a processor, the memory being used to store computer instructions, and the processor being used to call and execute computer instructions from the memory to implement a method as in the first aspect or any one of the implementations of the first aspect, or to implement a method as in the second aspect or any one of the implementations of the second aspect.
[0061] In a sixth aspect, a computer-readable storage medium is provided, wherein instructions are stored in the computer-readable storage medium. When the instructions are executed on a processor, a method as in the first aspect or any one of the implementations in the first aspect is implemented, or a method as in the second aspect or any one of the implementations in the second aspect is implemented.
[0062] In the seventh aspect, a computer program product comprises instructions, which, when executed on a processor, implement the method as in the first aspect or any one of the implementations of the first aspect, or implement the method as in the second aspect or any one of the implementations of the second aspect.
[0063] The technical effects produced by any implementation method in the above-mentioned third to seventh aspects and each aspect can refer to the above-mentioned first aspect and the corresponding implementation method in the first aspect or the second aspect and the corresponding implementation method in the second aspect, and the repetitions will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] Figure 1 One of the structural schematic diagrams of a transmission system provided in an embodiment of the present application;
[0065] Figure 2 A second structural diagram of a transmission system provided in an embodiment of the present application;
[0066] Figure 3 A third structural diagram of a transmission system provided in an embodiment of the present application;
[0067] Figure 4 A fourth structural diagram of a transmission system provided in an embodiment of the present application;
[0068] Figure 5 One of the flow diagrams of message encapsulation and decapsulation in a transmission system provided in an embodiment of the present application;
[0069] Figure 6 A second schematic diagram of a process of message encapsulation and decapsulation in a transmission system provided in an embodiment of the present application;
[0070] Figure 7 A fifth structural diagram of a transmission system provided in an embodiment of the present application;
[0071] Figure 8 One of the flow charts of a communication method provided in an embodiment of the present application;
[0072] Fig. 9 A second flow chart of a communication method provided in an embodiment of the present application;
[0073] Fig.10A third flow chart of a communication method provided in an embodiment of the present application;
[0074] Fig.11 A fourth flow chart of a communication method provided in an embodiment of the present application;
[0075] Fig.12 A fifth flow chart of a communication method provided in an embodiment of the present application;
[0076] Fig.13 A sixth flow chart of a communication method provided in an embodiment of the present application;
[0077] Fig.14 A seventh flow chart of a communication method provided in an embodiment of the present application;
[0078] Fig.15 FIG8 is a flow chart of a communication method provided in an embodiment of the present application;
[0079] Fig.16 A ninth flowchart of a communication method provided in an embodiment of the present application;
[0080] Fig.17 A sixth structural diagram of a transmission system provided in an embodiment of the present application;
[0081] Fig.18 A tenth flowchart of a communication method provided in an embodiment of the present application;
[0082] Fig.19 11 is a flow chart of a communication method provided in an embodiment of the present application;
[0083] Fig. 20 A seventh structural diagram of a transmission system provided in an embodiment of the present application;
[0084] Fig.21 A flowchart diagram of a communication method provided in an embodiment of the present application is shown in FIG. 12 ;
[0085] Fig. 22 One of the structural schematic diagrams of a communication device provided in an embodiment of the present application;
[0086] Fig.23 A second structural diagram of a communication device provided in an embodiment of the present application;
[0087] Fig.24 The third structural diagram of a communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0088] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. Among them, in order to facilitate the clear description of the technical solutions in the embodiments of the present application, in the embodiments of the present application, the words "first", "second" and the like are used to distinguish the same items or similar items with substantially the same functions and effects. It can be understood by those skilled in the art that the words "first", "second" and the like do not limit the quantity and execution order, and the words "first", "second" and the like do not limit necessarily different. At the same time, in the embodiments of the present application, the words "exemplary" or "for example" are used to indicate examples, illustrations or explanations. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or design solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete manner for ease of understanding.
[0089] First, the related technologies involved in the embodiments of the present application are introduced:
[0090] Multipath transmission is a technology that uses multiple transmission paths to transmit data. In multipath transmission, the host can transmit data through the transmission paths of multiple networks of different standards. For example, when transmitting business data between a terminal device and a business server, the electronic device can send business data to the business server through the transmission path of the cellular network and the transmission path of the wireless fidelity (WIFI) network, or the business server can send business data to the electronic device through the transmission path of the cellular network and the transmission path of the WIFI network. In this way, the data transmission efficiency can be improved.
[0091] Especially in a weak network environment, multi-path transmission can enable electronic devices to integrate the transmission capabilities of different networks (for example, integrating the transmission capabilities of WIFI networks and cellular networks), thereby transmitting data on multiple transmission paths. In this way, when either WIFI or cellular network encounters a weak network situation, the other network can be used as an auxiliary path to supplement performance (for example, redundantly transmitted data packets in the cellular network can compensate for discarded data packets in the WIFI network, or redundantly transmitted data packets in the cellular network can be large-delay data packets).
[0092] At present, the mainstream multi-path transmission includes: Multi-path transmission control protocol (MPTCP). From the perspective of network layered architecture, MPTCP is located in the transport layer. The MPTCP protocol is based on the transmission control protocol (TCP) protocol of the transport layer in terms of protocol format. Through the newly added TCP options, the address information of multiple interfaces is exchanged between the sender and the receiver, thereby establishing multiple TCP connections to realize the function of multi-path concurrent data transmission.
[0093] Below, in order to facilitate the understanding of the technical solution provided by the embodiment of the present application, the application scenarios involved in the embodiment of the present application are introduced by way of example:
[0094] like Figure 1 , which is a schematic diagram of the structure of a transmission system provided in an embodiment of the present application. The transmission system 10 includes a host 101 and a host 102. The host 101 and the host 102 can choose to transmit data in a multi-path transmission mode or in a single-path transmission mode according to the technical solution provided in the embodiment of the present application.
[0095] For example, on one hand, host 101 uses IP address 1 to establish a connection with host 102 through transmission path a of the cellular network; on the other hand, host 101 uses IP address 2 to establish a connection with host 102 through transmission path b of the WIFI network. In this way, host 101 can use multi-path transmission to send data to host 102 through transmission path a and transmission path b; or host 101 can use single-path transmission to send data to host 102 through one of transmission path a or transmission path b.
[0096] When transmitting by multi-path transmission, when the redundant transmission mode is adopted, the host 101 can copy the data to be transmitted into two copies, and respectively send the two copies of data to the host 102 through the transmission path a and the transmission path b. Through the redundant transmission mode, when the data in one of the transmission paths is lost, the lost data can be obtained from the other transmission path, thereby improving the data transmission efficiency.
[0097] In addition, when using multi-path transmission, when the aggregate transmission mode is adopted, the host 101 can divide the data to be transmitted into two parts, and send the two parts of data to the host 102 through the transmission path a and the transmission path b respectively. Then the host 102 aggregates the data from the two transmission paths to obtain complete data. Through the aggregate transmission mode, the problem of insufficient transmission rate of a single transmission path can be compensated, thereby improving data transmission efficiency.
[0098] In actual application, host 101 and host 102 may be any electronic device such as a personal computer (including a desktop computer, a laptop computer, a handheld computer, and a notebook computer), an ultra-mobile personal computer (UMPC), a smart phone, or a server. Alternatively, host 101 and host 102 may be part of the hardware / software devices in the above electronic devices.
[0099] Understandably, Figure 1 In the example, the transmission path a corresponding to the WIFI network and the transmission path b corresponding to the cellular network are used as examples to briefly introduce the multi-path transmission method between the host 101 and the host 102. In actual application, when the host 101 can access more standardized networks (for example, the host 101 can access multiple networks in the cellular network such as the wideband code division multiple access (WCDMA) network, the long-term evolution (LTE) network, and the fifth-generation mobile communicating technology (5G) network, and the host 101 can also access the 2.4 GHz band WIFI network and the 5 GHz band WIFI network), it is also possible to select the transmission paths of any two networks in the multiple standardized networks, and use these two transmission paths for multi-path transmission.
[0100] That is to say, the network types corresponding to the multiple transmission paths between the host 101 and the host 102 may not be restricted in the embodiments of the present application.
[0101] In one implementation, when the technical solution provided in the embodiment of the present application is applied to a scenario in which service data is transmitted between a terminal device and a service server, such as Figure 2 As shown in , the above-mentioned host 101 can be a terminal device 201 (specifically, the terminal device 201 can include a personal computer, a smart phone or a wearable smart device, etc.) or a part of the hardware / software device in the terminal device 201, and the host 102 can be a business server 202 or a part of the hardware / software device in the business server 202.
[0102] At this time, the terminal device 201 can use a multi-path transmission method or a single path transmission method to transmit business data between the business server 202 through one or more transmission paths among multiple transmission paths (for example, through transmission path a corresponding to the cellular network and transmission path b corresponding to the WIFI network).
[0103] In another implementation, it is considered that: when the service data is transmitted between the terminal device and the service server by using a multi-path transmission method, Figure 2 When performing service data transmission in the manner shown in , both the terminal device 201 and the service server 202 need to support the relevant protocols of multipath transmission (such as MPTCP). For example, in the process of sending service data from the terminal device 201 to the service server 202: on the one hand, the terminal device 201 needs to send service data to the service server 202 through the corresponding protocol interface according to the relevant protocols of multipath transmission. On the other hand, in the process of receiving service data, the service server 202 also needs to receive service data from multiple paths through the relevant protocol interfaces of multipath transmission.
[0104] Taking MPTCP as an example, in the process of sending service data from the terminal device 201 to the service server 202: the terminal device 201 needs to change the service data transmission interface from the original classic TCP socket interface to the MPTCP protocol dedicated application program interface (application program interface, API), so as to send service data to the service server 202 through the MPTCP protocol dedicated API on multiple transmission paths. Similarly, in the process of receiving service data, the service server 202 also needs to receive service data through the MPTCP protocol dedicated API on multiple transmission paths.
[0105] Therefore, in order to reduce the application difficulty of multi-path transmission, in another implementation method, an "end + cloud proxy transit" architecture can be used to implement multi-path transmission between the terminal device and the business server.
[0106] For example, in the "end + cloud proxy transfer" architecture, Figure 3 As shown, when the terminal device 301 sends service data to the service server 302 through multi-path transmission, the terminal device 301 can use the relevant protocol of multi-path transmission (for example, MPTCP protocol or other private protocols for multi-path transmission) to transmit service data through multiple transmission paths ( Figure 3 The transmission path of the cellular network and the transmission path of the WIFI network are taken as examples) to send the service data to the proxy server 303 (at this time, the terminal device 301 is equivalent to Figure 1 Host 101 in the proxy server 303 is equivalent to Figure 1 After receiving the service data through multiple transmission paths, the proxy server 303 performs protocol conversion on the received service data, thereby using a related protocol for single-path transmission (e.g., the TCP / UDP protocol originally used between the terminal device 301 and the service server 302) to send the service data to the service server 302.
[0107] Specifically, when the terminal device 301 sends service data to the service server 302, the terminal device 301 can use a virtual private network service (VPN service) to intercept the TCP / UDP message carrying the service data to the user state, or use an extended Berkeley packet filter (eBPF) and other tools to intercept the TCP / UDP message carrying the service data in the operating system kernel state. After that, the terminal device 301 re-encapsulates the intercepted TCP / UDP message and sends it to the proxy node through multiple transmission paths. After receiving the message, the proxy node removes duplicates from the redundant data message through double-sending and selective reception, and after sorting the deduplicated messages, sends them to the service server 302 according to the original TCP / UDP protocol (it can be understood that the redundant transmission mode is mainly introduced here. When the aggregate transmission mode is adopted, it is not necessary to remove duplicates by double-sending and selective reception, but after sorting the received messages, send them to the service server 302 according to the original TCP / UDP protocol).
[0108] For example, Figure 4 As shown, a VPN tunnel network card 3013 for intercepting TCP / UDP packets is running in the kernel state of the terminal device 301, and a multipath transmission program 3012 for repackaging TCP / UDP packets is running in the user state of the terminal device 301. For ease of understanding, Figure 4 The sequence numbers (1)-(16) are used as an example to indicate the direction of business data.
[0109] After the terminal device 301 obtains the business data that the application 3011 (i.e., the application that needs to send business data to the business server 302) needs to send, it will first encapsulate the business data into a TCP / UDP message, and send the TCP / UDP message to the first network card 3014 corresponding to the first transmission path (i.e., one of the multiple transmission paths) in the kernel state (for example, the first network card 3014 can be a WIFI network card or an LTE network card, etc.). Then, the VPN tunnel network card 3013 intercepts the TCP / UDP message from the first network card 3014, and sends the TCP / UDP message to the multi-path transmission program 3012 in the user state.
[0110] The multi-path transmission program 3012 includes: a message interception module 30121, a scheduling module 30121 and an encapsulation module 30123.
[0111] Among them, the message interception module 30121 is used to receive the TCP / UDP message from the VPN tunnel network card 3013.
[0112] The scheduling module 30121 is used to distribute TCP / UDP packets to two transmission paths. Specifically, the scheduling module 30121 can select to transmit the service data through a single path transmission method or through a multi-path transmission method according to the methods S401-S403 or S501-S503 of the embodiments of the present application below. Furthermore, in the case of transmission through a multi-path transmission method, the scheduling module 30121 can also determine the data packets transmitted on the two transmission paths respectively according to the methods S5021-S5022 of the embodiments of the present application below.
[0113] The encapsulation module 30123 is used to encapsulate the business data that needs to be transmitted on the two transmission paths respectively (for example, encapsulating the original TCP / UDP message into a UDP message in the VPN tunnel, such as UDP#1 and UDP#2 in the figure), and sending it through the corresponding network card (for example, in the figure, sending it through the first network card 3014 and the second network card 3015).
[0114] In addition, a multipath transmission service 3031 corresponding to the multipath transmission program 3012 runs in the user state of the proxy server 303. When the server network card 3032 in the proxy server 303 receives the encapsulated messages from the two transmission paths (i.e., UDP#1 and UDP#2), it sends the encapsulated messages to the multipath transmission service 3031.
[0115] The multi-path transmission service 3031 includes: a decapsulation module 30311 , a message aggregation module 30312 and a forwarding module 30313 .
[0116] The decapsulation module 30311 is used to decapsulate the encapsulated messages (ie, UDP#1 and UDP#2) received by the server network card 3032 to obtain the original TCP / UDP messages.
[0117] The message aggregation module 30312 is used to deduplicate TCP / UDP messages.
[0118] The forwarding module 30313 is used to forward the deduplicated TCP / UDP packets to the business server 302 via the server network card 3032 .
[0119] Afterwards, after receiving the TCP / UDP message, the service server 302 can obtain the service data in the TCP / UDP message according to the corresponding port of the TCP / UDP protocol between the original terminal device 301 and the service server 302 .
[0120] For example, Figure 5 , which is a schematic diagram of the changes in the message carrying the service data at each stage during the process of the terminal device 301 sending the service data to the service server 302 .
[0121] After acquiring the TCP / UDP message carrying the service data, the terminal device 301 encapsulates the TCP / UDP message into data messages UDP#1 and UDP#2 for transmission in the first transmission path and the second transmission path.
[0122] In the TCP / UDP message that carries the service data, the payload part is used to carry the service data. The "TCP / UDP port" field in the message header is the actual service port number, and the source address is the primary path address IP-1 of the terminal device 301 (for example, in Figure 4 The address of the first network card is the main path address), and the destination address is the address of the business server 302.
[0123] In the process of encapsulating TCP / UDP packets into data packets UDP#1 and UDP#2, Figure 5 As shown, the TCP / UDP message can be used as the payload part of the data messages UDP#1 and UDP#2, and a new message header can be encapsulated in the data messages UDP#1 and UDP#2.
[0124] Among them, the message header of the data message UDP#1 includes: a "message sequence number" field, which is used to record the message sequence number so that the receiving end (proxy server 303) can sort, deduplicate and other operations on the message; a "UDP port" field, which is used to record the application port number so that the receiving end (proxy server 303) can determine the application port corresponding to the message; a "source address" field and a "destination address" field, which are respectively used to record the address IP-1 of the terminal device 301 on the first transmission path, and the address IP-3 of the proxy server 303, so as to send UDP#1 to the proxy server 303 through the first transmission path.
[0125] The content of the message header of data message UDP#2 is similar to that of data message UDP#1, except that the source address of data message UDP#2 is the address IP-2 of terminal device 301 on the second transmission path, so that UDP#2 is sent to proxy server 303 through the second transmission path.
[0126] After receiving the data packets UDP#1 and UDP#2, the proxy server 303 performs operations such as decapsulation, sorting, and deduplication to obtain a TCP / UDP packet carrying business data. After replacing the source address in the TCP / UDP packet with the address IP-3 of the proxy server 303, the TCP / UDP packet is forwarded to the business server 302. Afterwards, after receiving the TCP / UDP packet, the business server 302 can obtain the business data in the TCP / UDP packet according to the corresponding port of the TCP / UDP protocol between the original terminal device 301 and the business server 302.
[0127] In addition, the process of the service server 302 sending service data to the terminal device 301 is equivalent to the reverse process of the process of the terminal device 301 sending service data to the service server 302 .
[0128] For example, Figure 6 As shown, the service server 302 sends a TCP / UDP message carrying service data to the proxy server 303. In the TCP / UDP message, the payload part is used to carry service data. The "TCP / UDP port" field in the message header part is the actual port number of the service, the source address is the primary path address IP-4 of the service server 302, and the destination address is the address of the proxy server 303.
[0129] After receiving the TCP / UDP message, the proxy server 303 replaces the destination address in the TCP / UDP message with the primary path address of the terminal device 301 (for example, Figure 4The address of the first network card in the packet is the main path address), and the TCP / UDP message is encapsulated into the data message UDP#1 and UDP#2 respectively, and the data message UDP#1 and UDP#2 are sent to the terminal device 301 through the first transmission path and the second transmission path respectively. The content of the message header of the data message UDP#1 and UDP#2 can be referred to Figure 5 The contents of data packets UDP#1 and UDP#2.
[0130] After receiving the data packets UDP#1 and UDP#2, the terminal device 301 performs operations such as decapsulation, sorting, and deduplication to obtain TCP / UDP packets carrying business data.
[0131] In addition, in the "end + cloud proxy transfer" architecture, in order to avoid the problem that the physical location of the proxy server 303 is far away from the application server 302 and thus causes a large transmission delay, the network can be further accelerated through technologies such as real time network (RTN). When using the RTN network for accelerated forwarding, such as Figure 7 As shown, in the embodiment of the present application, the proxy server 303 can be deployed at the edge access node of the RTN network. After receiving the multi-path transmission message, the proxy server 303 sorts and deduplicates the message, and re-encapsulates the message according to the overlay protocol in the RTN network, and then transmits the data message to the RTN network tail node close to the real application server through one or more hops of the RTN intermediate node according to the pre-calculated Overlay route. The protocol proxy module of the RTN network tail node finally completes the conversion between the RTNP protocol and the TCP / UDP protocol, and uses the TCP / UDP protocol to communicate with the application server.
[0132] The technical solution provided in the embodiments of the present application is introduced below with reference to examples.
[0133] In the embodiment of the present application, it is taken into consideration that, compared with a single-path transmission method, the use of multi-path transmission for business data transmission will increase additional traffic costs and power consumption overhead.
[0134] by Figure 1 For example, when the redundant transmission mode is adopted, the host 101 copies the business data to be transmitted twice and sends the two business data to the host 102 through two transmission paths. On the one hand, since the business data is repeatedly transmitted twice between the host 101 and the host 102, it is equivalent to bearing double the traffic cost; on the other hand, the software / hardware resources corresponding to the two transmission paths (for example, the network cards corresponding to the two transmission paths, etc.) need to be occupied in the host 101 for data transmission, which increases the power consumption of the host 101.
[0135] For another example, when the aggregate transmission mode is adopted, the host 101 divides the data to be transmitted into two parts and sends the two parts to the host 102 through two transmission paths. Among them, the host 101 also needs to occupy the software / hardware resources corresponding to the two transmission paths (for example, the network cards corresponding to the two transmission paths, etc.) for data transmission, thereby increasing the power consumption of the host 101.
[0136] In view of the above technical problems, an embodiment of the present application provides a communication method. In the method, when the host 101 sends service data to the host 102, as shown in FIG. Figure 8 As shown, the host 101 can detect the transmission performance of a transmission path (hereinafter referred to as the "first transmission path") that accesses one of the multiple standard networks (i.e., S401). Then, the host 101 determines whether to send business data through the first transmission path and other transmission paths (hereinafter referred to as the "second transmission path") using multi-path transmission, or to send business data through the first transmission path using a single path transmission, based on the detected transmission performance of the first transmission path. In other words, the host 101 can send business data through the first transmission path and the second transmission path (i.e., S402) based on the detected transmission performance of the first transmission path, if the transmission performance of the first transmission path meets the preset conditions (for example, the preset conditions may include various conditions that reflect the poor transmission performance of the transmission path. The specific content of the preset conditions will be described in detail below); if the transmission performance of the first transmission path does not meet the preset conditions, the business data is sent through the first transmission path (i.e., S403).
[0137] It can be seen that in the above method of the embodiment of the present application, when the transmission performance of the first transmission path meets the preset conditions, the service data is sent through the first transmission path and the second transmission path by means of multi-path transmission. When the transmission performance of the first transmission path does not meet the preset conditions, a single path transmission method can be adopted to send the service data through the first transmission path, that is, the multi-path transmission method is not adopted at this time. In this way, through the above method of the embodiment of the present application, the effect of selecting multi-path transmission or single path transmission for data transmission can be achieved according to actual needs. Thereby avoiding the problem of high traffic cost and power consumption overhead caused by blindly adopting multi-path transmission for data transmission.
[0138] Below, Figure 3 Taking the process in which the terminal device 301 sends service data to the service server 302 as an example, the detailed process of the communication method provided in the embodiment of the present application is introduced. Fig. 9 As shown, the method includes:
[0139] S501 : The terminal device 301 detects the transmission performance of the first transmission path between the terminal device 301 and the proxy server 303 .
[0140] Exemplarily, when the terminal device 301 detects that an application (e.g., a mobile game, a video conferencing application, etc.) running in the terminal device 301 is preparing to send business data, the terminal device 301 can detect the transmission performance of the first transmission path by executing S501, so as to then determine whether to use multi-path transmission or single-path transmission to send the business data based on the detection result (i.e., S502 below).
[0141] As another example, in the process of the terminal device 301 sending the service data, the terminal device 301 may also detect the transmission performance of the first transmission path by executing S501, so as to determine whether to use multi-path transmission or single-path transmission according to the detection result, and send the service data that needs to be sent subsequently (i.e., S502 and S503 below). That is to say, in this case, before the terminal device 301 executes S501, the terminal device 301 may first send a part of the service data in a single-path transmission manner (or in a multi-path transmission manner). After the terminal device 301 executes S501 and determines whether to use multi-path transmission or single-path transmission to send the service data that needs to be sent subsequently (i.e., S502 and S503 below) according to the detection result, the subsequent service data is sent in a corresponding manner.
[0142] In addition, in the embodiment of the present application, the first transmission path may be a transmission path in one of a plurality of networks of different standards to which the terminal device 301 accesses.
[0143] For example, when the network accessed by the terminal device 301 includes a cellular network and a WIFI network, the first transmission path may be a transmission path corresponding to the cellular network or a transmission path corresponding to the WIFI network.
[0144] Further, when the terminal device 301 accesses multiple cellular networks and multiple WIFI networks, the first transmission path may be a transmission path in one of the multiple cellular networks and the multiple WIFI networks.
[0145] Exemplarily, when the terminal device 301 supports both 2.4 GHz and 5 GHz WIFI networks, and the terminal device 301 has two cellular network cards (for example, one is a long term evolution (LTE) network card and the other is a fifth-generation mobile communicating technology (5G) network card) and has the capability of dual-cellular concurrent data transmission, the first transmission path can be a 2.4 GHz WIFI network, a 5 GHz WIFI network, an LTE network, and a 5G network, a transmission path corresponding to one of the four networks.
[0146] The following will describe in detail how to determine the network corresponding to the first transmission path from the multiple networks accessed by the terminal device 301 through the content of S701, which will not be described in detail here.
[0147] In one implementation, the transmission performance of the first transmission path may specifically include: one or more of the transmission delay, packet loss rate, and received signal strength indicator (RSSI) of the first transmission path. That is, S501 may specifically include: the terminal device 301 detects one or more of the transmission delay, packet loss rate, and RSSI of the first transmission path.
[0148] In a possible design, when the transmission performance of the first transmission path includes the transmission delay and packet loss rate of the first transmission path, the above S501 may specifically include the following contents of S5011-S5013:
[0149] S5011. The terminal device 301 uses the address of the network card corresponding to the first transmission path as the source address and the address of the proxy server 303 as the destination address, and periodically sends a detection message.
[0150] For example, when the first transmission path is the transmission path of the WIFI network, the terminal device 301 uses the IP address of the WIFI network card in the terminal device 301 as the source address and the IP address of the proxy server 303 as the destination address, and periodically sends detection messages through the WIFI network card.
[0151] The detection message may include an identification field (Seq). The identification field in the detection messages sent sequentially is assigned values in a sequentially increasing manner. For example, the identification field Seq of the first detection message is 1, the identification field Seq of the second detection message is 2, and so on, the identification field Seq of the nth detection message is n.
[0152] In addition, the detection message may also include: a system timestamp of sending the detection message. For example, before the detection message is about to be sent, the terminal device 301 may add a system timestamp of the current moment in the detection message.
[0153] The sending period of the detection message may be determined according to actual needs. For example, the sending period of the detection message may be 100 ms, 500 ms, etc.
[0154] S5012 , the terminal device 301 receives a return detection message from the proxy server 303 .
[0155] Specifically, after receiving the detection message from the terminal device 301, the proxy server 303 may swap the source address and the destination address in the detection message to obtain a return detection message, and send the return detection message to the terminal device 301, so that the terminal device 301 receives the return detection message.
[0156] S5013. The terminal device 301 determines the transmission delay and packet loss rate of the first transmission path according to the returned detection message.
[0157] For example, on one hand, after receiving the return detection message, the terminal device 301 can calculate the round trip time (RTT) of the message transmitted on the first transmission path according to the time when the return detection message is received and the system timestamp carried in the return detection message (used to indicate the time when the terminal device 301 sends the detection message). Among them, the round trip time of the message transmitted on the first transmission path can be used to reflect the transmission delay of the first transmission path.
[0158] On the other hand, after receiving the return detection message, the terminal device 301 can determine which detection messages have packet loss during the detection message sending process according to the value of the identification field in the return detection message. Then, the packet loss rate of the first transmission path can be determined by counting the number of detection messages with packet loss in a certain number of detection messages. For example, taking 20 detection messages as a group, according to the number n of detection messages with packet loss in the 20 detection messages, the packet loss rate of the first transmission path is determined to be (n×5)%.
[0159] In another possible design, when the transmission performance of the first transmission path includes the RSSI corresponding to the first transmission path, the above S501 may specifically include the following content of S5014:
[0160] S5014. The terminal device 301 reads the RSSI value corresponding to the first transmission path fed back by the physical layer module according to a preset period.
[0161] For example, when the first transmission path is a transmission path in a WIFI network, the terminal device 301 may read the RSSI value fed back by the WIFI network card (ie, the RSSI value corresponding to the first transmission path) according to a preset period.
[0162] The preset period for the terminal device 301 to read the RSSI may be determined according to actual application requirements. For example, the terminal device 301 may read the RSSI at a preset period of 100 ms or 500 ms.
[0163] After the terminal device 301 detects the transmission performance of the first transmission path, the method further includes:
[0164] S502: When determining that the transmission performance of the first transmission path meets a preset condition, the terminal device 301 sends service data through the first transmission path and the second transmission path.
[0165] The second transmission path and the first transmission path are transmission paths in networks of different standards.
[0166] For example, when the first transmission path is a transmission path between the terminal device 301 and the proxy server 303 in the WIFI network, the second transmission path may be a transmission path between the terminal device 301 and the proxy server 303 in the cellular network. Alternatively, when the first transmission path is a transmission path between the terminal device 301 and the proxy server 303 in the cellular network, the second transmission path may be a transmission path between the terminal device 301 and the proxy server 303 in the WIFI network.
[0167] For another example, the first transmission path and the second transmission path may both be transmission paths between the terminal device 301 and the proxy server 303 in the WIFI network. Exemplarily, the first transmission path may be a transmission path in a 2.4 GHz band WIFI network, and the second transmission path may be a transmission path in a 5 GHz band WIFI network. Alternatively, the first transmission path may be a transmission path in a 5 GHz band WIFI network, and the second transmission path may be a transmission path in a 2.4 GHz band WIFI network.
[0168] For another example, the first transmission path and the second transmission path may both be transmission paths between the terminal device 301 and the proxy server 303 in the cellular network. Exemplarily, the first transmission path may be a transmission path in an LTE network, and the second transmission path may be a transmission path in a 5G network. Alternatively, the first transmission path may be a transmission path in a 5G network, and the second transmission path may be a transmission path in an LTE network. Alternatively, the first transmission path may be a transmission path in a wideband code division multiple access (WCDMA) network, and the second transmission path may be a transmission path in a 5G network. Alternatively, the first transmission path may be a transmission path in a 5G network, and the second transmission path may be a transmission path in a WCDMA network.
[0169] The following will describe in detail how to determine the network corresponding to the first transmission path from the multiple networks accessed by the terminal device 301 in the embodiment of the present application through the content of S702, which will not be described in detail here.
[0170] In addition, the following will be Figure 12-Figure 19 The corresponding content of the embodiment of the present application describes in detail the specific process of the terminal device 301 sending business data to the proxy server 303 through the first transmission path and the second transmission path, which will not be described in detail here.
[0171] Additionally, the method may further include:
[0172] S503: When determining that the transmission performance of the first transmission path does not meet a preset condition, the terminal device 301 sends service data through the first transmission path.
[0173] That is to say, in the method provided in the embodiment of the present application, when the transmission performance of the first transmission path meets the preset conditions, the service data is sent through the first transmission path and the second transmission path by means of multi-path transmission. When the transmission performance of the first transmission path does not meet the preset conditions, a single-path transmission method can be used to send the service data through the first transmission path.
[0174] For example, the terminal device 301 and the proxy server 303 are connected according to Figure 4 In the process of performing service data transmission in the manner shown in the figure, when the terminal device 301 determines that the service data needs to be sent through the first transmission path, the VPNservice network card 3013 is used to intercept the TCP / UDP message carrying the service data to the user state, and then the scheduling module 30122 calls the encapsulation module 30123 according to the first transmission path after determining that the service data is sent through the first transmission path. Figure 5In this way, the TCP / UDP message is encapsulated into the data message UDP#1 and sent to the proxy server 303. After receiving the data message UDP#1, the proxy server 303 decapsulates the data message UDP#1, modifies the source address in the TCP / UDP message, and sends the modified TCP / UDP message to the business server 302, thereby completing the transmission.
[0175] It is understandable that, in actual application, the terminal device 301 may periodically execute the above S501-S503 so as to select S502 or S503 to send service data according to the change of transmission performance of the first transmission path in each cycle.
[0176] The following introduces the contents of the preset conditions in S502 and S503. Specifically, the preset conditions may include one or more of the following implementations 1-7:
[0177] In implementation manner 1, the above-mentioned preset condition may include: the transmission delay of the first transmission path is greater than a delay threshold (for ease of distinction, hereinafter referred to as the “first delay threshold”).
[0178] For example, the round-trip delay RTT(t) of the message transmitted on the first transmission path detected in the current detection period t can be used to represent the transmission delay of the first transmission path. Furthermore, the transmission delay of the first transmission path is greater than the first delay threshold, which may specifically include:
[0179] RTT(t)>RTT thres (Formula 1)
[0180] Among them, RTT thres It is the first delay threshold set according to the actual application scenario.
[0181] Furthermore, S502 may include: when the terminal device 301 determines that the transmission delay of the first transmission path satisfies the above formula (1), sending the service data through the first transmission path and the second transmission path.
[0182] In a possible design, it is considered that when the service data is sent from a multi-path transmission mode to a single-path transmission mode, the service quality of the service may be reduced, thereby affecting the user experience. Therefore, in the embodiment of the present application, a relatively conservative method can be adopted to switch the terminal device 3011 from multi-path transmission to single-path transmission.
[0183] Based on the above considerations, in this design, the method may also include:
[0184] The terminal device 301 determines the value of the first delay threshold according to the current mode of transmitting service data.
[0185] Among them, the value of the first delay threshold when the terminal device 301 currently transmits service data in multi-path transmission is smaller than the value of the first delay threshold when the terminal device 301 currently transmits service data in single-path transmission.
[0186] In this way, it is possible to increase the difficulty of the terminal device 3011 switching from multi-path transmission to single-path transmission, thereby avoiding a reduction in the service quality of the business.
[0187] Exemplarily, if the terminal device 301 is using multi-path transmission to send service data when detecting the transmission performance of the first transmission path (i.e. S501), then unless the transmission delay of the first transmission path is extremely small (i.e. needs to be less than the first delay threshold with a smaller value), it can be determined according to the content of implementation method 1 that the first transmission path does not meet the preset conditions, and then the terminal device 301 switches from the multi-path transmission mode to the single-path transmission mode to transmit the service data (i.e. send the service data through the first transmission path). Otherwise, the terminal device 301 continues to use the multi-path transmission mode to send the service data (i.e. send the service data through the first transmission path and the second transmission path).
[0188] As another example, if the terminal device 301 is using a single path transmission method to send service data when detecting the transmission performance of the first transmission path (i.e., S501), then at this time, it can be determined whether the transmission delay of the first transmission path is greater than a first delay threshold with a larger value (for example, the first delay threshold can be determined according to actual business needs), thereby determining whether the first transmission path meets the conditions in implementation method 1. If so, continue to determine whether the first transmission path meets other conditions in the preset conditions. Finally, after determining that the first transmission path meets all the conditions in the preset conditions, switch to multi-path transmission to send service data (i.e., send service data through the first transmission path and the second transmission path).
[0189] In implementation manner 2, the preset condition may include: a difference between a transmission delay of the first transmission path and a minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold.
[0190] For example, when the round-trip delay RTT(t) of the message detected in the current detection period t on the first transmission path is used to represent the transmission delay of the first transmission path, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path in the preset time period is greater than the second delay threshold, which may specifically include:
[0191] RTT(t)-RTTmin >ΔRTT thres (Formula 2)
[0192] Among them, RTT min Indicates the minimum transmission delay of the first transmission path within the preset time period. For example, the terminal device 301 can record the transmission delays detected by the above S5011-S5013 in multiple detection cycles within a recent period of time (i.e., within the preset time period), and select the minimum value of the transmission delays detected in multiple detection cycles as the RTT min ΔRTT thres The second delay threshold is set according to the actual application scenario.
[0193] Furthermore, S502 may include: when the terminal device 301 determines that the transmission delay of the first transmission path satisfies the above formula (2), sending the service data through the first transmission path and the second transmission path.
[0194] In implementation manner 3, the above-mentioned preset condition may include: there is a tendency for the transmission delay of the first transmission path to deteriorate.
[0195] In one possible design, the transmission delay of the first transmission path has a degradation trend, which may specifically include: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer.
[0196] Specifically, the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, which can be expressed as:
[0197]
[0198] Wherein, RTT(i) represents the transmission delay of the first transmission path in the i-th detection cycle, wherein when i=t, RTT(t) represents the transmission delay of the first transmission path in the current detection cycle, and when i=t-(n-1), RTT(t-(n-1)) represents the transmission delay of the first transmission path in the (n-1)th detection cycle before the current detection cycle; represents the change gradient of the transmission delay of the first transmission path in the detection period corresponding to time i. sgn is a compliance function, for example: hour, is 1; when hour, is -1; when hour, is 0.
[0199] Furthermore, S502 may include: when the terminal device 301 determines that the transmission delay of the first transmission path satisfies the above formula (3), sending the service data through the first transmission path and the second transmission path.
[0200] In another possible design, the transmission delay of the first transmission path has a degradation trend, which may specifically include: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is greater than the gradient threshold.
[0201] Specifically, the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is greater than the gradient threshold, which can be expressed as:
[0202]
[0203] Among them, RTT(i) represents the transmission delay of the first transmission path in the i-th detection cycle, wherein when i=t, RTT(t) represents the transmission delay of the first transmission path in the current detection cycle, and when i=t-(n-1), RTT(t-(n-1)) represents the transmission delay of the first transmission path in the (n-1)th detection cycle before the current detection cycle. It is the gradient threshold set according to the actual application scenario.
[0204] Furthermore, S502 may include: when the terminal device 301 determines that the transmission delay of the first transmission path satisfies the above formula (4), sending the service data through the first transmission path and the second transmission path.
[0205] The above implementation 1-3 uses the transmission delay of the first transmission path as the basis for judgment, and introduces the contents of the preset conditions in S502 and S503 by way of example. In addition, the above preset conditions may also include the contents of using the RSSI corresponding to the first transmission path as the basis for judgment. Specifically:
[0206] In implementation manner 4, the above-mentioned preset condition may include: the RSSI of the first transmission path is less than a signal strength threshold (for ease of distinction, hereinafter referred to as the “first signal strength threshold”).
[0207] For example, the RSSI of the first transmission path is less than the first signal strength threshold, which may specifically include:
[0208] RSSI(t)<RSSI thres (Formula 5)
[0209] RSSI(t) represents the RSSI of the first transmission path detected in the current detection period t, RSSI thres It is a first signal strength threshold set according to an actual application scenario.
[0210] Furthermore, S502 may include: when the terminal device 301 determines that the RSSI of the first transmission path satisfies the above formula (5), sending the service data through the first transmission path and the second transmission path.
[0211] In a possible design, similar to the above content of determining the value of the first delay threshold, the method may further include:
[0212] The terminal device 301 determines the value of the first signal strength threshold according to the current mode of transmitting service data.
[0213] Among them, the value of the first signal strength threshold when the terminal device 301 currently transmits service data in multi-path transmission is greater than the value of the first signal strength threshold when the terminal device 301 currently transmits service data in single-path transmission.
[0214] In this way, it is possible to increase the difficulty of the terminal device 3011 switching from multi-path transmission to single-path transmission, thereby avoiding a reduction in the service quality of the business.
[0215] In implementation manner 5, the preset condition may include: a difference between the RSSI of the first transmission path and a minimum RSSI of the first transmission path within a preset time period is greater than a second signal strength threshold.
[0216] For example, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than the second signal strength threshold, which may specifically include:
[0217] RSSI(t)-RSSI min >ΔRSSI thres (Formula 6)
[0218] Among them, RSSI min Indicates the minimum RSSI of the first transmission path within the preset time period. For example, the terminal device 301 can record the RSSI detected by the above S5014 in multiple detection cycles within a recent period of time (i.e., within the preset time period), and select the minimum value of the RSSI detected in multiple detection cycles as the RSSI min ΔRSSI thres It is a second signal strength threshold set according to an actual application scenario.
[0219] Furthermore, S502 may include: when the terminal device 301 determines that the RSSI of the first transmission path satisfies the above formula (6), sending the service data through the first transmission path and the second transmission path.
[0220] In implementation manner 6, the above-mentioned preset condition may include: the RSSI of the first transmission path has a deterioration trend.
[0221] In one possible design, the RSSI of the first transmission path has a degradation trend, which may specifically include: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, where k is a positive integer.
[0222] Specifically, the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, which can be expressed as:
[0223]
[0224] Wherein, RSSI(i) represents the RSSI of the first transmission path in the i-th detection cycle, wherein when i=t, RSSI(t) represents the RSSI of the first transmission path in the current detection cycle, and when i=t-(k-1), RSSI(t-(k-1)) represents the RSSI of the first transmission path in the (k-1)th detection cycle before the current detection cycle; represents the change gradient of the RSSI of the first transmission path in the detection period corresponding to time i. sgn is a compliance function.
[0225] Furthermore, S502 may include: when the terminal device 301 determines that the RSSI of the first transmission path satisfies the above formula (7), the terminal device 301 sends the service data through the first transmission path and the second transmission path.
[0226] In another possible design, the RSSI of the first transmission path has a degradation trend, which may specifically include: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is greater than the gradient threshold.
[0227] Specifically, the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is greater than the gradient threshold, which can be expressed as:
[0228]
[0229] Among them, RSSI(i) represents the RSSI of the first transmission path in the i-th detection cycle, wherein when i=t, RSSI(t) represents the RSSI of the first transmission path in the current detection cycle, and when i=t-(k-1), RSSI(t-(k-1)) represents the RSSI of the first transmission path in the (k-1)th detection cycle before the current detection cycle. It is the gradient threshold set according to the actual application scenario.
[0230] Furthermore, S502 may include: when the terminal device 301 determines that the RSSI of the first transmission path satisfies the above formula (8), sending the service data through the first transmission path and the second transmission path.
[0231] The above implementation 4-6 uses the RSSI of the first transmission path as the basis for judgment, and introduces the contents of the preset conditions in S502 and S503 by way of example. In addition, the above preset conditions may also include the contents of using the packet loss rate corresponding to the first transmission path as the basis for judgment. Specifically:
[0232] In implementation manner 7, the above-mentioned preset condition may include: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
[0233] Furthermore, S502 may include: when the terminal device 301 determines that the packet loss rate of the first transmission path is greater than the packet loss rate threshold, sending the service data through the first transmission path and the second transmission path.
[0234] For example, after detecting the packet loss rate of the first transmission path through the above S5011-S5013, the terminal device 301 can compare the packet loss rate with the packet loss rate threshold to determine whether the packet loss rate of the first transmission path is greater than the packet loss rate threshold. If so, it is determined that the transmission performance of the first transmission path meets the preset condition, and then S502 is executed.
[0235] In implementation 7, once packet loss occurs during data transmission, it means that the application experience has been lost. Therefore, when using the packet loss rate of the first transmission path as the basis for judgment, the gradient change can be ignored, and the multi-path transmission method or the single-path transmission method can be directly determined based on whether the packet loss rate exceeds the packet loss rate threshold (i.e., whether to execute S502 or S503). In this way, the user experience of the application can be guaranteed.
[0236] In a possible design, similar to the above contents of determining the value of the first delay threshold and determining the value of the first signal strength threshold, the method may further include:
[0237] The terminal device 301 determines the value of the packet loss rate threshold according to the current mode of transmitting service data.
[0238] Among them, the value of the first signal strength threshold when the terminal device 301 currently transmits service data in multi-path transmission is smaller than the value of the first signal strength threshold when the terminal device 301 currently transmits service data in single-path transmission.
[0239] In this way, it is possible to increase the difficulty of the terminal device 3011 switching from multi-path transmission to single-path transmission, thereby avoiding a reduction in the service quality of the business.
[0240] It is understandable that the above implementations 1 to 7 respectively introduce 7 conditions that may be included in the preset conditions. In actual application, all or part of the above 7 conditions may be selected as the content of the preset conditions.
[0241] In one implementation, in the method provided in the embodiment of the present application, the above-mentioned preset conditions may simultaneously include the seven conditions in implementations 1 to 7. At this time, when the terminal device 301 determines that the transmission performance of the first transmission path satisfies any one of the seven conditions in the preset conditions, a multi-path transmission method is used for transmission (i.e., S502); when the terminal device 301 determines that the transmission performance of the first transmission path does not satisfy any of the seven conditions in the preset conditions, a single-path transmission method is used for transmission (i.e., S503).
[0242] Then, the terminal device 301 determines whether the transmission performance of the first transmission path meets the preset conditions, such as Fig.10 As shown in (a), it includes the following S601-S603:
[0243] S601. The terminal device 301 determines whether the transmission delay of the first transmission path satisfies the above formula (1) to formula (4) according to the transmission delay of the first transmission path.
[0244] When the terminal device 301 determines that the transmission delay of the first transmission path satisfies any one of formulas (1) to (4), it determines that the transmission performance of the first transmission path meets the preset condition. Then, S502 is executed to send service data through the first transmission path and the second transmission path.
[0245] When the terminal device 301 determines that the transmission delay of the first transmission path does not satisfy any of formulas (1) to (4), that is, determines that the transmission performance of the first transmission path does not satisfy the preset condition, S602 is executed.
[0246] S602. The terminal device 301 determines whether the RSSI of the first transmission path satisfies the above formula (5) to formula (8) based on the RSSI of the first transmission path.
[0247] When the terminal device 301 determines that the RSSI of the first transmission path satisfies any one of formulas (5) to (8), it determines that the transmission performance of the first transmission path satisfies the preset condition. Then, S502 is executed to send service data through the first transmission path and the second transmission path.
[0248] When the terminal device 301 determines that the RSSI of the first transmission path does not satisfy any of formulas (5) to (8), that is, determines that the transmission performance of the first transmission path does not satisfy the preset condition, S603 is executed.
[0249] S603: The terminal device 301 determines whether the packet loss rate of the first transmission path is greater than a packet loss rate threshold according to the packet loss rate of the first transmission path.
[0250] When the terminal device 301 determines that the packet loss rate of the first transmission path is greater than the packet loss rate threshold, it determines that the transmission performance of the first transmission path meets the preset condition. Then, S502 is executed to send service data through the first transmission path and the second transmission path.
[0251] When the terminal device 301 determines that the packet loss rate of the first transmission path is not greater than (ie, less than or equal to) the packet loss rate threshold, it determines that the transmission performance of the first transmission path does not meet the preset condition. Then, S503 is executed to send service data through the first transmission path.
[0252] Further, such as Fig.11 As shown, the above S502 may include:
[0253] When the terminal device 301 determines that the transmission performance of the first transmission path meets the preset condition by using the above S601-S603 method, the service data (i.e. Fig.11 (S502a).
[0254] S503 may include:
[0255] When the terminal device 301 determines that the transmission performance of the first transmission path does not meet the preset condition by using the above S601-S603 method, the service data (ie Fig.11 (S503a).
[0256] In a possible design, on the one hand, when the terminal device 301 currently uses the first transmission path to send a service, by executing the above Fig.10 In the process (a), it is determined whether to send the business data through the first transmission path and the second transmission path, or to send the business data through the first transmission path.
[0257] On the other hand, when the terminal device 301 currently uses the first transmission path and the second transmission path to send the service, the terminal device 301 can execute Fig.10 In the process (b), it is determined whether to send the service data through the first transmission path and the second transmission path, or to send the service data through the first transmission path. Specifically, Fig.10 As shown in (b), the method may further include:
[0258] S604: The terminal device 301 determines whether the transmission delay of the first transmission path is greater than a first delay threshold according to the transmission delay of the first transmission path.
[0259] If the transmission delay of the first transmission path is greater than the first delay threshold, it is determined that the transmission performance of the first transmission path meets the preset condition and then S502 is executed to use the first transmission path and the second transmission path to send the service. Otherwise, S605 is executed.
[0260] S605. The terminal device 301 determines whether the RSSI of the first transmission path is less than a first signal strength threshold according to the RSSI of the first transmission path.
[0261] If the RSSI of the first transmission path is less than the first signal strength threshold, it is determined that the transmission performance of the first transmission path meets the preset condition and then S502 is executed to use the first transmission path and the second transmission path to send the service. Otherwise, S606 is executed.
[0262] S606: The terminal device 301 determines whether the packet loss rate of the first transmission path is greater than a packet loss rate threshold according to the packet loss rate of the first transmission path.
[0263] If the packet loss rate of the first transmission path is greater than the second packet loss rate threshold, it is determined that the transmission performance of the first transmission path meets the preset condition, and then S502 is executed to use the first transmission path and the second transmission path to send the service. Otherwise, it is determined that the transmission performance of the first transmission path does not meet the preset condition, and then S503 is executed to send the service data through the first transmission path.
[0264] The following is a detailed description of the process in which the terminal device 301 sends service data through the first transmission path and the second transmission path in the embodiment of the present application.
[0265] In the process of sending business data through the first transmission path and the second transmission path, the embodiments of the present application take into account: when adopting the redundant transmission mode in the relevant technology (i.e., copying the data packet in the business data into two copies and sending them respectively through the first transmission path and the second transmission path), if the transmission delay difference between the two transmission paths is large, the redundant data may be transmitted invalidly.
[0266] For example, Fig.12 The figure is a schematic diagram of multi-path transmission using the redundant transmission mode of the related technology under normal conditions. Among them, the terminal device 301 sequentially copies the data packet of the business data into two copies, and sends them through the first transmission path and the second transmission path respectively (for ease of understanding, between the terminal device 301 and the proxy server 303, the process of transmitting the data packet through the first transmission path is exemplarily represented by a thick arrow, and the process of transmitting the data packet through the second transmission path is represented by a thin arrow). After receiving the data packet from the terminal device 301, the proxy server 303 can deduplicate the repeatedly received data packets and only send one data packet to the business server 302, so that the business server 302 will not receive duplicate data packets.
[0267] When packet loss occurs between the terminal device 301 and the proxy server 303 ( Fig.12 In the example of packet loss of data packet 2 on the first transmission path), the proxy server 303 can still receive data packet 2 through another transmission path, thereby ensuring that the business server 302 can receive data normally.
[0268] However, when the transmission delay difference between the two transmission paths is large, if the redundant transmission mode in the related technology is used for multi-path transmission, Fig.13 As shown. Fig.13 In the example, the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, and packet 2 is lost on the first transmission path. At this time, the proxy server 303 receives packets 1, 3, 4, and 5 from the first transmission path, and sends packets 1, 3, 4, and 5 to the service server 302.
[0269] After receiving each data packet, the service server 302 will feedback an acknowledgment (ACK) message to the terminal device 301, wherein the ACK message carries the sequence number of the data packet that the service server 302 expects to receive. Specifically, after receiving data packet 1, the service server 302 feedbacks an ACK message (abbreviated as ACK2) carrying the sequence number of data packet 2 to the terminal device 301. In addition, since the service server 302 has not received data packet 2, the service server 302 will still feedback ACK2 after receiving subsequent data packets (such as data packet 3 and data packet 4). (It should be noted that in Fig.12 In order to simplify the solution content, the process of the service server 302 sending the ACK message to the terminal device 301 is not described. It can be understood that in Fig.12 The service server 302 may also send an ACK message to the terminal device 301 in the above manner.)
[0270] Afterwards, if Fig.13 As shown, after receiving three ACK2s, the terminal device 301 will trigger the reduced speed transmission according to the congestion control scheme in the relevant transmission protocol (such as the TCP protocol). In this way, even if the proxy server 303 receives data packet 2 from the second transmission path and sends data packet 2 to the service server 302 in the subsequent process, the terminal device 301 has already started the reduced speed transmission, which will reduce the efficiency of data transmission. (In addition, when the proxy server 303 receives data packet 1, data packet 3, data packet 4 and data packet 5 from the second transmission path, it can discard these data packets through deduplication processing without sending these data packets to the proxy server 302).
[0271] In view of the above problems, in the method provided in the embodiment of the present application, in the process of sending service data through the first transmission path and the second transmission path, if Fig.14 As shown, on the one hand, the terminal device 301 can send the data packets in the service data through the first transmission path according to the order of the data packets in the service data (i.e. S5021); on the other hand, when the terminal device 301 sends the service data through the second transmission path, it can determine the data packets to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path (i.e. S5022). Then, the data packet is sent through the second transmission path. In this way, the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths can be reduced.
[0272] For example, Fig.15 As shown, on the one hand, the terminal device 301 sends the data packets in the business data through the first transmission path in the order of the data packets in the business data (i.e., data packet 1, data packet 2, ...). On the other hand, the terminal device 301 determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path. Then, the terminal device 301 can accurately send the data packets after data packet 1 (for example, data packet 6) through the second transmission path based on the above-mentioned transmission delay difference. Afterwards, when data packet 6 reaches the proxy server 303 through the second transmission path after a longer transmission delay, if data packet 6 on the first transmission path is lost at this time, the business server 303 can send data packet 6 from the second transmission path to the business server 302. In this way, the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths is reduced.
[0273] The following is a detailed description of the implementation process of the terminal device 301 sending service data through the first transmission path and the second transmission path in the embodiment of the present application with reference to an example. Fig.16 As shown, the method provided in the embodiment of the present application may also include:
[0274] S5021. The terminal device 301 sends data packets in the service data through the first transmission path according to the order of the data packets in the service data.
[0275] For example, when the data packets in the service data are encapsulated using TCP / UDP packets, Figure 4 and Figure 5 As shown, after the message interception module 30121 in the terminal device 301 sends the intercepted data packet to the scheduling module 30122, the scheduling module 30122 can encapsulate the data packet into the data packet UDP#1 according to the order of the data packets in the business data and send it to the proxy server 303.
[0276] S5022: The terminal device 301 determines a second data packet to be sent via the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path (hereinafter referred to as the transmission delay difference ΔRTT(t)).
[0277] Exemplarily, the content of S5022 may be executed by the scheduling module 30122 in the terminal device 301. Specifically, Fig.17 As shown, in actual application, after receiving the data packets from the message interception module 30121, the scheduling module 30122 can store the data packets in sequence (for example, in the logical cache "send buffer"). Fig.17 The send buffer stores data packets Seq 1 to Seq 10 in sequence.
[0278] Among them, on the one hand, the scheduling module 30122 can encapsulate the data packets in the send buffer into the data message UDP#1 and send it to the proxy server 303 according to the order of the data packets in the business data; on the other hand, the scheduling module 30122 determines the second data packet to be sent through the second transmission path according to the transmission delay difference ΔRTT(t).
[0279] In one implementation, S5022 specifically includes the following S50221-S50222:
[0280] S50221. When the terminal device 301 determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference ΔRTT(t) between the first transmission path and the second transmission path, the terminal device 301 calculates the number m of data packets sent through the first transmission path in the time period corresponding to the transmission path difference ΔRTT(t).
[0281] For example, on the one hand, the scheduling module 30122 can determine the transmission delay RTT of the first transmission path according to the contents of S5011-S5013 above. main (t) and the transmission delay RTT of the second transmission path red (t). Then, the transmission delay difference ΔRTT(t) between the first transmission path and the second transmission path can be determined according to the following formula (9).
[0282] ΔRTT(t)=RTT red (t)-RTT main (t) (Formula 9)
[0283] On the other hand, the scheduling module 30122 can be configured to send data packets based on the current rate r of sending data packets through the first transmission path. main (t) and the transmission delay difference ΔRTT(t), the number m of data packets sent through the first legend path in the time period corresponding to the transmission delay difference ΔRTT(t) is determined according to the following formula (10).
[0284] m=r main (t)×ΔRTT(t) (Formula 9)
[0285] S50222. The terminal device 301 determines a second data packet to be sent via a second transmission path according to the number m of data packets and a first data packet currently sent via a first transmission path.
[0286] The second data packet is a data packet that is m data packets after the first data packet.
[0287] For example, the scheduling module 30122 determines the number of data packets m and the first data packet Seq currently sent through the first transmission path. main (t), determine the second data packet Seq sent via the second transmission path according to the following formula (10): red (t).
[0288] Seq red (t) = Seq main (t)+m(Formula 10)
[0289] Afterwards, the scheduling module 30122 can call the encapsulation module 30123 so that the encapsulation module 30123 sends the first data packet Seq main At (t), the second data packet Seq is sent through the second transmission path red (t). In this way, the proxy server 303 receives the second data packet Seq through the second transmission path. red (t) and the second data packet Seq is received through the first transmission path red(t) is close. At this time, if the second data packet Seq red (t) If packet loss occurs, the second data packet Seq received by another transmission path can be used red (t). This reduces the possibility of invalid transmission of redundant data due to the transmission delay difference between the two transmission paths.
[0290] In another implementation, when the transmission delay difference between the two transmission paths is small, even if there is a gap in the time when the same data packet arrives at the proxy server 303 through the two transmission paths, the congestion control scheme will not trigger the reduced speed transmission. For example, when the transmission delay difference between the two transmission paths is less than the transmission interval corresponding to 3 data packets, the TCP congestion control scheme will not trigger the reduced speed transmission. At this time, the scheduling module 30122 in the terminal device 301 can call the encapsulation module 30123 and send the same data packet through the first transmission path and the second transmission path at the same time. In this way, the amount of calculation of the scheduling module 30122 can be reduced and the transmission efficiency can be improved.
[0291] Specifically, Fig.18 As shown, S5022 specifically includes the following S50223-S50225:
[0292] S50223. When the terminal device 301 determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference ΔRTT(t) between the first transmission path and the second transmission path, the terminal device 301 calculates the number m of data packets sent through the first transmission path in the time period corresponding to the transmission path difference ΔRTT(t).
[0293] Among them, the specific implementation process of S50223 can refer to the content of S50221 above, which will not be repeated here.
[0294] S50224: When the number of data packets m does not exceed the first threshold M, the terminal device 301 determines that the second data packet Seq is sent through the second transmission path. red (t) and the first data packet Seq currently sent through the first transmission path main (t)Same.
[0295] The value of the first threshold M can be set according to actual needs.
[0296] At this time, the first data packet Seq currently sent through the first transmission path main (t), and the second data packet Seq currently sent through the second transmission path red (t), satisfying:
[0297] Seq red (t) = Seqmain (t)(Formula 11)
[0298] Exemplarily, at this time, the scheduling module 30122 can call the encapsulation module 30123, so that the encapsulation module 30123 sends the same data packet through the first transmission path and the second transmission path.
[0299] S50225: When the number m of data packets is greater than the first threshold M, the terminal device 301 determines, based on the number m of data packets and the first data packet currently sent through the first transmission path, a second data packet Seq to be sent through the second transmission path. red (t) is the first data packet Seq main (t) is the data packet after m data packets.
[0300] That is, when the number of data packets m is greater than the first threshold M, the above S50222 method can be used to determine the data packets sent through the second transmission path. The specific implementation process of S50225 can refer to the content of S50222 above, which will not be repeated here.
[0301] In another implementation, it is considered that: when the number of data packets cached in the terminal device 301 is limited (for example Fig.17 In the case where only 10 data packets can be cached in the send buffer) and the transmission delay of the second transmission path is significantly different from the transmission delay of the first transmission path, the possibility of invalid transmission of redundant data can be avoided as much as possible by sending the last data packet in the cache in the second transmission path.
[0302] Specifically, Fig.19 As shown, S5022 specifically includes the following S50226-S50229:
[0303] S50226. When the terminal device 301 determines that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path based on the transmission delay difference ΔRTT(t) between the first transmission path and the second transmission path, the terminal device 301 calculates the number m of data packets sent through the first transmission path in the time period corresponding to the transmission path difference ΔRTT(t).
[0304] Among them, the specific implementation process of S50226 can refer to the content of S50221 above, and will not be repeated here.
[0305] S50227: When the number m of data packets is greater than the second threshold M', the terminal device 301 determines the data packet Seq sent through the second transmission path. red (t) is the last data packet in the cache of terminal device 301.
[0306] Exemplarily, at this time, the second data packet Seq sent via the second transmission path red (t), satisfying:
[0307] Seq red (t) = Seq thred (t)(Formula 12)
[0308] Among them, Seq thred (t) is the last data packet in the cache of the terminal device 301, for example, Seq thred (t) may be the last data packet in the send buffer of the scheduling module 30122.
[0309] The value of the second threshold M' can be set according to actual needs.
[0310] In addition, when the number of data packets m≤the second threshold value M', the data packets to be sent through the second transmission path may be determined by referring to the contents of S50224 and S50225 above. Specifically:
[0311] S50228: When the number of data packets m satisfies the first threshold M<m≤the second threshold M′, the terminal device 301 sends a first data packet Seq currently sent through the first transmission path according to the number of data packets m and the first data packet Seq currently sent through the first transmission path. main (t), determine the second data packet Seq sent via the second transmission path red (t) is the first data packet Seq main (t) is the data packet after m data packets.
[0312] The first threshold M is smaller than the second threshold M'.
[0313] S50229: When the number of data packets m satisfies: m≤first threshold M, the terminal device 301 determines that the second data packet Seq is sent through the second transmission path. red (t) and the first data packet Seq currently sent through the first transmission path main (t)Same.
[0314] Among them, the specific implementation process of S50228 and S50229 can refer to the contents of S50224 and S50225 above, and will not be repeated here.
[0315] The following is a detailed description of the implementation process (ie, the above S503) of the terminal device 301 sending service data through a transmission path (ie, the first transmission path) in the embodiment of the present application with reference to an example. Fig. 20 As shown, the method provided in the embodiment of the present application may also include:
[0316] S5031. The terminal device 301 sends a data packet in the service data through a first transmission path.
[0317] For example, when the data packets in the service data are encapsulated using TCP / UDP packets, Figure 4 and Figure 5 As shown, after the message interception module 30121 in the terminal device 301 sends the intercepted data packet to the scheduling module 30122, the scheduling module 30122 can encapsulate the data packet into the data packet UDP#1 according to the order of the data packets in the business data and send it to the proxy server 303.
[0318] S5022: The terminal device 301 determines a second data packet to be sent via the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path (hereinafter referred to as the transmission delay difference ΔRTT(t)).
[0319] Exemplarily, the content of S5022 may be executed by the scheduling module 30122 in the terminal device 301. Specifically, Fig.17 As shown, in actual application, after receiving the data packets from the message interception module 30121, the scheduling module 30122 can store the data packets in sequence (for example, in the logical cache "send buffer"). Fig.17 The send buffer stores data packets Seq 1 to Seq 10 in sequence.
[0320] Among them, on the one hand, the scheduling module 30122 can encapsulate the data packets in the send buffer into the data message UDP#1 and send it to the proxy server 303 according to the order of the data packets in the business data; on the other hand, the scheduling module 30122 determines the second data packet to be sent through the second transmission path according to the transmission delay difference ΔRTT(t).
[0321] The following introduces an implementation process of determining a network corresponding to the first transmission path and a network corresponding to the second transmission path from multiple networks accessed by the terminal device 301 in an embodiment of the present application with reference to an example.
[0322] In actual application, the terminal device 301 can access multiple networks. For example, when the terminal device 301 supports both 2.4 GHz and 5 GHz WIFI networks, and the terminal device 301 has two cellular network cards (for example, one is an LTE network card and the other is a 5G network card) and has the capability of dual cellular concurrent data transmission, Fig. 20As shown, at this time, the terminal device 301 can access the WIFI network of the 2.4GHz frequency band, the WIFI network of the 5GHz frequency band, the LTE network and the 5G network. Therefore, before performing service data transmission according to the method above in the embodiment of the present application, the network corresponding to the first transmission path and the network corresponding to the second transmission path can be determined according to the following S701-S702.
[0323] Specifically, Fig.21 As shown, the method provided in the embodiment of the present application may also include:
[0324] S701. The terminal device 301 determines, according to a first preset strategy, a first network corresponding to a first transmission path from a plurality of networks accessed by the terminal device 301.
[0325] The first preset strategy includes determining the first network corresponding to the first transmission path according to network qualities and / or network types of multiple networks accessed by the first host.
[0326] In one implementation, the first preset strategy specifically includes: when it is determined that the multiple networks accessed by the terminal device 301 include a WIFI network and a cellular network based on the network types of the multiple networks accessed by the terminal device 301, the WIFI network is determined as the first network corresponding to the first transmission path.
[0327] In the above implementation, considering that compared with cellular networks, WIFI networks often have more stable signals and lower user charges, the transmission path in the WIFI network is prioritized as the main path (i.e., the first transmission path) for business data transmission, thereby facilitating the improvement of data transmission performance and saving user costs.
[0328] In a possible design, when the terminal device 301 accesses multiple WIFI networks, a network with better performance can be selected as the network corresponding to the main path according to the transmission performance of the multiple WIFI networks. The process of the terminal device 301 detecting the transmission performance of multiple WIFI networks can refer to the contents of S5011-S5014 above.
[0329] In another implementation, the first preset strategy also includes: when it is determined based on the network types of the multiple networks accessed by the terminal device 301 that the multiple networks accessed by the terminal device 301 include a cellular network but do not include a WIFI network, then the cellular network with the best transmission performance among the multiple cellular networks is determined as the first network corresponding to the first transmission path.
[0330] For example, the terminal device 301 may detect the transmission performance of multiple cellular networks with reference to the contents of S5011-S5014 above, and then determine, based on the detection results, the cellular network with the best transmission performance among the multiple cellular networks as the first network corresponding to the first transmission path.
[0331] S702: The terminal device 301 determines, according to a second preset strategy, a second network corresponding to a second transmission path from a plurality of networks accessed by the terminal device 301.
[0332] The second preset strategy includes determining the second network corresponding to the second transmission path from networks other than the first network according to the network quality and / or network type of multiple networks accessed by the terminal device 301 .
[0333] In one implementation, the second preset strategy specifically includes: when it is determined that the terminal device 301 accesses multiple WIFI networks based on the network types of the multiple networks accessed by the terminal device 301, a WIFI network other than the first network among the multiple WIFI networks is determined as the second network.
[0334] For example, when the terminal device 301 accesses multiple WIFI networks:
[0335] If the network quality of one WIFI network among the multiple WIFI networks accessed by the terminal device 301 reaches a preset standard, the WIFI network is selected as the first network, and another WIFI network is selected as the second network.
[0336] If the network quality of multiple WIFI networks among the multiple WIFI networks accessed by the terminal device 301 reaches the preset standard, the WIFI network with the best network quality is selected as the first network (or a WIFI network with network quality that reaches the preset standard can be randomly selected as the first network), and another WIFI network with network quality that reaches the preset standard is selected as the second network (it can be the WIFI network with the second best network quality, or one can be randomly selected).
[0337] In addition, in one implementation, when the network quality of the WIFI network accessed by the terminal device 301 does not meet the preset standard, the second preset strategy may further include:
[0338] When it is determined based on the network types of multiple networks accessed by the terminal device 301 that the networks accessed by the terminal device 301 include a WIFI network and a cellular network, and the network quality of the WIFI network accessed by the terminal device 301 does not meet the preset standard, the cellular network is determined as the second network.
[0339] In one aspect, when the network quality of a cellular network accessed by the terminal device 301 includes a cellular network that reaches a preset standard, the cellular network is determined to be the second network;
[0340] On the other hand, when the cellular network accessed by the terminal device 301 includes multiple cellular networks whose network quality reaches a preset standard, the cellular network with the best network quality is selected as the second network (or a cellular network whose network quality reaches the preset standard can also be randomly selected as the second network);
[0341] On the other hand, when the network quality of the cellular network accessed by the terminal device 301 including multiple cellular networks does not meet the preset standard, a network with complementary network quality to the first network among the multiple cellular networks is selected as the second network.
[0342] It can be understood that after the network corresponding to the first transmission path and the network corresponding to the second transmission path are determined from the multiple networks accessed by the terminal device 301 through the above S701 and S702, the process of the terminal device 301 sending the service data can refer to the above Figure 8-Figure 19 The content is not elaborated here.
[0343] In addition, it should be noted that, in the above method of the embodiment of the present application, the terminal device 301 mainly uses the content of the above S501-S503 to select whether to send service data to the proxy server 303 through one transmission path or two transmission paths as an example to introduce the method. In the specific implementation process, the terminal device 301 can also refer to the content of the above S501-S503 to select whether to send service data to the proxy server 303 through one transmission path or through multiple transmission paths (for example, 3 transmission paths, 4 transmission paths, etc.). At this time, the "second transmission path" mentioned above can specifically include multiple transmission paths. That is to say, in the above method of the embodiment of the present application, there is no restriction on the number of transmission paths included in the "second transmission path".
[0344] In addition, in the above method of the embodiment of the present application, mainly Figure 3 The service data transmission process between the terminal device 301 and the proxy server 303 in the illustrated architecture is described as an example. It can be understood that in actual application, the above method of the embodiment of the present application can also be applied to the service data transmission process between the terminal device and the service server. Figure 2During the process of transmitting business data between the terminal device 201 and the business server 202, the terminal device 201 can choose to send business data to the business server 202 through a single path transmission method or a multi-path transmission method according to the contents of S501-S503 above. Furthermore, when the terminal device 201 sends business data to the business server 202 through multi-path transmission, the business data can also be sent according to the contents of S5021-S5022 above. In addition, the terminal device 201 can also determine the network corresponding to the adopted transmission path from multiple networks according to the contents of S701-S702 above. That is to say, the application scenario of the above method in the embodiment of the present application is not limited to Figure 3 The architecture shown.
[0345] Combined with the above Figure 8-Figure 21 , describes in detail the communication method provided according to this embodiment, and the various devices corresponding to the communication method provided by this embodiment will be described below.
[0346] like Fig. 22 , which is a schematic diagram of the structure of a communication device provided in this embodiment. The communication device 80 is applied to a first host. The first host may be a software / hardware device supporting multipath transmission. Specifically, the first host may include a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) / virtual reality (VR) device, a tablet computer or a laptop computer, and other devices supporting multipath transmission.
[0347] The communication device 80 may be the first host itself, or may be a software / hardware module running on the first host.
[0348] Among them, when the first host is the above Figure 8 Mainframe 101 or Figure 9-Figure 21 When the terminal device 301 is in the middle, the communication device 80 can be used to execute the above Figure 8 Mainframe 101 or Figure 9-Figure 21 Specifically, the communication device 80 may include:
[0349] A detection unit 801 is used to detect the transmission performance of a first transmission path between a first host and a second host;
[0350] When the transmission performance of the first transmission path meets the preset condition, the communication unit 802 is used to send the service data through the first transmission path and the second transmission path, where the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards;
[0351] Otherwise, the communication unit 802 is configured to send the service data through the first transmission path.
[0352] In one implementation, the transmission performance of the first transmission path includes: one or more of a transmission delay, a packet loss rate, and a received signal strength RSSI of the first transmission path.
[0353] In one implementation, the above-mentioned preset conditions include: the transmission delay of the first transmission path is greater than a first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold, or the transmission delay of the first transmission path has a degradation trend, one or more of the following.
[0354] In one implementation, the transmission delay of the above-mentioned first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer; and / or, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is greater than the gradient threshold.
[0355] In one implementation, the above-mentioned preset conditions include: the RSSI of the first transmission path is less than the first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than the second signal strength threshold, or the RSSI of the first transmission path shows a degradation trend, one or more of the following.
[0356] In one implementation, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path within k consecutive detection cycles is a positive gradient, where k is a positive integer; and / or, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path within k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path within k consecutive detection cycles is greater than the gradient threshold.
[0357] In one implementation, the above-mentioned preset condition includes: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
[0358] In one implementation, the communication unit 802 is used to send the service data through the first transmission path and the second transmission path, including: the communication unit 802 is specifically used to send the data packets in the service data through the first transmission path according to the order of the data packets in the service data;
[0359] The communication unit 802 is specifically used by the first host to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path.
[0360] In one implementation, the communication unit 802 is specifically configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0361] The communication unit 802 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0362] The communication unit 802 is specifically configured to determine a second data packet to be sent via a second transmission path according to the number m of data packets and a first data packet currently sent via a first transmission path, wherein the second data packet is a data packet that is m data packets after the first data packet.
[0363] In one implementation, the communication unit 802 is specifically configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0364] The communication unit 802 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0365] The communication unit 802 is specifically configured to determine, when the number m of data packets does not exceed a first threshold, that a second data packet sent through the second transmission path is the same as a first data packet currently sent through the first transmission path.
[0366] In one implementation, the communication unit 802 is specifically configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0367] The communication unit 802 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0368] The communication unit 802 is specifically configured to determine that the data packet sent through the second transmission path is the last data packet in the cache of the first host when the number m of data packets is greater than a second threshold.
[0369] In one implementation, the communication device 80 further includes:
[0370] The determination unit 803 is used to determine the first network corresponding to the first transmission path from the multiple networks accessed by the first host according to the first preset strategy; the first preset strategy includes determining the first network corresponding to the first transmission path according to the network quality and / or network type of the multiple networks accessed by the first host.
[0371] In one implementation, the above-mentioned first preset strategy specifically includes: when it is determined based on the network types of the multiple networks accessed by the first host that the multiple networks accessed by the first host include a Wireless Fidelity WIFI network and a cellular network, determining the WIFI network as the first network corresponding to the first transmission path.
[0372] In one implementation, the above-mentioned determination unit 803 is also used to determine the second network corresponding to the second transmission path from multiple networks accessed by the first host according to a second preset strategy; the second preset strategy includes determining the second network corresponding to the second transmission path from networks other than the first network according to the network quality and / or network type of the multiple networks accessed by the first host.
[0373] like Fig.23 , which is a schematic diagram of the structure of another communication device provided in this embodiment. The communication device 90 is applied to a first host. The first host may be a software / hardware device supporting multipath transmission. Specifically, the first host may include a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) / virtual reality (VR) device, a tablet computer or a laptop computer, and other devices supporting multipath transmission.
[0374] The communication device 90 may be the first host itself, or may be a software / hardware module running on the first host.
[0375] Among them, when the first host is the above Figure 8 middle Figure 14-Figure 19 When the terminal device 301 is in the middle, the communication device 90 can be used to execute the above Figure 14-Figure 19 Specifically, the communication device 90 may include:
[0376] A first sending unit 901 is used to send data packets in the service data through a first transmission path according to the order of the data packets in the service data;
[0377] The second sending unit 902 is used to determine the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path; the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards.
[0378] In one implementation, the second sending unit 902 is configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0379] The second sending unit 902 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0380] The second sending unit 902 is specifically configured to determine a second data packet to be sent via the second transmission path according to the number m of data packets and the first data packet currently sent via the first transmission path, wherein the second data packet is a data packet that is m data packets after the first data packet.
[0381] In one implementation, the second sending unit 902 is configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0382] The second sending unit 902 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0383] The second sending unit 902 is specifically configured to determine, when the number m of data packets does not exceed a first threshold, that a second data packet sent through the second transmission path is the same as a first data packet currently sent through the first transmission path.
[0384] In one implementation, the second sending unit 902 is configured to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path, including:
[0385] The second sending unit 902 is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path;
[0386] The second sending unit 902 is specifically configured to determine that the data packet sent through the second transmission path is the last data packet in the cache of the first host when the number m of data packets is greater than a second threshold.
[0387] Fig.24 A schematic diagram of the structure of another communication device provided in this embodiment. The communication device 100 may be a chip or a system on a chip. Specifically, the communication device 100 may include all or part of the hardware in a device supporting multipath transmission, such as a cellular phone, a personal digital assistant (PDA), an augmented reality (AR) or virtual reality (VR) device, a tablet computer or a laptop computer.
[0388] The communication device 100 may include: a processor 1001 , a communication line 1002 , a memory 1003 , and part or all of at least one communication interface 1004 .
[0389] The processor 1001 is used to execute the Figure 8 Mainframe 101 or Figure 9-Figure 21 All or part of the steps executed by the terminal device 301.
[0390] Specifically, the processor 1001 may include a general-purpose central processing unit (CPU), and the processor 1001 may also include a microprocessor, a field programmable gate array (Field Programmable Gate Array, FPGA), a digital signal processor (digital signal processing, DSP) or an application-specific integrated circuit (application-specific integrated circuit, ASIC), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0391] In a specific implementation, as an embodiment, the processor 1001 may include one or more CPUs, such as Fig.24 CPU0 and CPU1 in.
[0392] In a specific implementation, as an embodiment, the communication device 100 may include multiple processors, such as Fig.241 and 1008. Each of these processors may be a single-CPU processor or a multi-CPU processor. A processor herein may refer to one or more devices, circuits, and / or processing cores for processing, for example, computer data (computer program instructions).
[0393] In addition, the memory 1003 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct rambus RAM (DR RAM). Memory 1003 may be independent and connected to processor 1001 via communication line 1002. Memory 1003 may also be integrated with processor 1001.
[0394] The memory 1003 stores computer instructions. The processor 1001 can execute all or part of the steps in the communication method provided in this embodiment by executing the computer instructions stored in the memory 1003. Fig.24 As shown, the computer instructions stored in the memory 1003 . The processor 1001 can be used to execute the communication method provided in this embodiment by executing the computer instructions stored in the memory 1003 .
[0395] Optionally, the computer-executable instructions in this embodiment may also be referred to as application program codes, which is not specifically limited in this embodiment.
[0396] In addition, the communication interface 1004 uses any transceiver or other device for communicating with other devices or communication networks, such as Ethernet, radio access network (RAN), wireless local area networks (WLAN), etc.
[0397] In addition, the communication line 1002 is used to connect the components in the communication device 100. Specifically, the communication line 1002 may include a data bus, a power bus, a control bus, a status signal bus, etc. However, for the sake of clarity, various buses are marked as communication lines 1002 in the figure.
[0398] In a specific implementation, as an embodiment, the data processing device 100 may further include an output device 1007 and an input device 1006. The output device 1007 may communicate with the processor 1001 and may display information in a variety of ways. For example, the output device 1007 may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 1006 may communicate with the processor 1001 and may receive user input in a variety of ways. For example, the input device 1006 may be a mouse, a keyboard, a touch screen device, or a sensor device.
[0399] In addition, the communication device 100 may further include a storage medium 1005. The storage medium 1005 is used to store computer instructions and various data for implementing the technical solution of this embodiment. When the communication device 100 executes the above-mentioned communication method of this embodiment, the computer instructions and various data stored in the storage medium 1005 are loaded into the memory 1003, so that the processor 1001 can execute the computer instructions stored in the memory 1003 to execute the communication method provided by this embodiment.
[0400] The method steps in this embodiment can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, PROM, EPROM, EEPROM, registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a communication device. Of course, the processor and the storage medium can also be present in the communication device as discrete components.
[0401] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instruction is loaded and executed on the computer, the process or function described in this embodiment is executed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a communication device, a user device or other programmable device. The computer program or instruction may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer program or instruction may be transmitted from one website site, computer, server or data center to another website site, computer, server or data center by wired or wireless means. The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that integrates one or more available media. The available medium may be a magnetic medium, for example, a floppy disk, a hard disk, a tape; it may also be an optical medium, for example, a digital video disc (DVD); it may also be a semiconductor medium, for example, an SSD.
[0402] In this embodiment, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different implementations are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form a new embodiment based on their internal logical relationships.
[0403] In this embodiment, "at least one" means one or more, "more than one" means two or more, and other quantifiers are similar. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, for elements (element) in the singular form "a", "an" and "the", unless the context clearly stipulates otherwise, it does not mean "one or only one", but means "one or more than one". For example, "a device" means one or more such devices. Furthermore, at least one (at least one of)... "means one or any combination of subsequent associated objects, for example, "at least one of A, B and C" includes A, B, C, AB, AC, BC, or ABC. In the text description of this embodiment, the character " / " generally indicates that the previous and next associated objects are in an "or" relationship; in the formula of this embodiment, the character " / " indicates that the previous and next associated objects are in a "division" relationship.
Claims
1. A communication method, characterized in that: The method comprises: The first host detects the transmission performance of the first transmission path between the first host and the second host; In a case where the transmission performance of the first transmission path meets a preset condition, the first host sends service data through the first transmission path and the second transmission path, and the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards; Otherwise, the first host sends the service data through the first transmission path.
2. The method according to claim 1, characterized in that: The transmission performance of the first transmission path includes: one or more of the transmission delay, packet loss rate and received signal strength RSSI of the first transmission path.
3. The method according to claim 2, characterized in that The preset conditions include: One or more of the following: the transmission delay of the first transmission path is greater than a first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold, or the transmission delay of the first transmission path has a degradation trend.
4. The method according to claim 3, wherein the transmission delay of the first transmission path has a deterioration trend, comprising: The change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer; And / or, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in the n consecutive detection cycles is greater than the gradient threshold.
5. The method according to any one of claims 2 to 4, characterized in that: The preset conditions include: One or more of the following: the RSSI of the first transmission path is less than a first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than a second signal strength threshold, or the RSSI of the first transmission path has a degradation trend.
6. The method according to claim 5, wherein the RSSI of the first transmission path has a deterioration trend, comprising: The change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, where k is a positive integer; And / or, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in the k consecutive detection cycles is greater than the gradient threshold.
7. The method according to any one of claims 2 to 6, characterized in that: The preset condition includes: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
8. The method according to any one of claims 1 to 7, characterized in that: The first host sends service data through the first transmission path and the second transmission path, including: The first host sends the data packets in the service data through the first transmission path according to the order of the data packets in the service data; The first host determines the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path.
9. The method according to claim 8, characterized in that The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; The first host determines a second data packet to be sent through the second transmission path based on the number m of data packets and a first data packet currently sent through the first transmission path, where the second data packet is a data packet that is m data packets after the first data packet.
10. The method according to claim 8 or 9, characterized in that: The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; When the number m of data packets does not exceed a first threshold, the first host determines that a second data packet sent through the second transmission path is the same as a first data packet currently sent through the first transmission path.
11. The method according to any one of claims 8 to 10, characterized in that: The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; When the number m of data packets is greater than a second threshold, the first host determines that the data packet sent through the second transmission path is the last data packet in the cache of the first host.
12. The method according to any one of claims 1 to 11, characterized in that: The method further comprises: The first host determines the first network corresponding to the first transmission path from the multiple networks accessed by the first host according to a first preset strategy; the first preset strategy includes determining the first network corresponding to the first transmission path according to the network quality and / or network type of the multiple networks accessed by the first host.
13. The method according to claim 12, wherein the first preset strategy specifically comprises: When it is determined based on the network types of the multiple networks accessed by the first host that the multiple networks accessed by the first host include a Wireless Fidelity WIFI network and a cellular network, the WIFI network is determined to be the first network corresponding to the first transmission path.
14. The method according to claim 12 or 13, characterized in that The method also includes: the first host determines the second network corresponding to the second transmission path from multiple networks accessed by the first host according to a second preset strategy; the second preset strategy includes determining the second network corresponding to the second transmission path from networks other than the first network according to network quality and / or network type of the multiple networks accessed by the first host.
15. A communication method, characterized in that: The method comprises: The first host sends the data packets in the service data through the first transmission path according to the order of the data packets in the service data; The first host determines the data packet to be sent through the second transmission path based on the transmission delay difference between the first transmission path and the second transmission path; the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards.
16. The method according to claim 15, characterized in that The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; The first host determines a second data packet to be sent through the second transmission path based on the number m of data packets and a first data packet currently sent through the first transmission path, where the second data packet is a data packet that is m data packets after the first data packet.
17. The method according to claim 15 or 16, characterized in that The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; When the number m of data packets does not exceed a first threshold, the first host determines that a second data packet sent through the second transmission path is the same as a first data packet currently sent through the first transmission path.
18. The method according to any one of claims 15 to 17, characterized in that: The first host determines, according to a transmission delay difference between the first transmission path and the second transmission path, a data packet to be sent through the second transmission path, including: When the first host determines, based on the transmission delay difference between the first transmission path and the second transmission path, that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path, calculating the number m of data packets sent through the first transmission path within a time period corresponding to the transmission delay difference; When the number m of data packets is greater than a second threshold, the first host determines that the data packet sent through the second transmission path is the last data packet in the cache of the first host.
19. A communication device, characterized in that: The communication device is applied to a first host, and the communication device comprises: a detection unit and a communication unit; The detection unit is used to detect the transmission performance of the first transmission path between the first host and the second host; In a case where the transmission performance of the first transmission path meets a preset condition, the communication unit is used to send service data through the first transmission path and the second transmission path, where the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards; Otherwise, the communication unit is used to send the service data through the first transmission path.
20. The communication device according to claim 19, characterized in that The transmission performance of the first transmission path includes: one or more of the transmission delay, packet loss rate and received signal strength RSSI of the first transmission path.
21. The communication device according to claim 20, characterized in that: The preset conditions include: One or more of the following: the transmission delay of the first transmission path is greater than a first delay threshold, the difference between the transmission delay of the first transmission path and the minimum transmission delay of the first transmission path within a preset time period is greater than a second delay threshold, or the transmission delay of the first transmission path has a degradation trend.
22. The communication device according to claim 21, wherein the transmission delay of the first transmission path has a deterioration trend, comprising: The change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, where n is a positive integer; And / or, the transmission delay of the first transmission path has a degradation trend, including: the change gradient of the transmission delay of the first transmission path in n consecutive detection cycles is a positive gradient, and the change gradient of the transmission delay of the first transmission path in the n consecutive detection cycles is greater than the gradient threshold.
23. The communication device according to any one of claims 20 to 22, characterized in that: The preset conditions include: One or more of the following: the RSSI of the first transmission path is less than a first signal strength threshold, the difference between the RSSI of the first transmission path and the minimum RSSI of the first transmission path within a preset time period is greater than a second signal strength threshold, or the RSSI of the first transmission path has a degradation trend.
24. The communication device according to claim 23, wherein the RSSI of the first transmission path has a deterioration trend, comprising: The change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, where k is a positive integer; And / or, the RSSI of the first transmission path has a degradation trend, including: the change gradient of the RSSI of the first transmission path in k consecutive detection cycles is a positive gradient, and the change gradient of the RSSI of the first transmission path in the k consecutive detection cycles is greater than the gradient threshold.
25. The communication device according to any one of claims 20 to 24, characterized in that: The preset condition includes: a packet loss rate of the first transmission path is greater than a packet loss rate threshold.
26. The communication device according to any one of claims 19 to 25, characterized in that: The communication unit, configured to send service data through the first transmission path and the second transmission path, comprises: The communication unit is specifically configured to send the data packets in the service data through the first transmission path according to the order of the data packets in the service data; The communication unit is specifically used by the first host to determine the data packet to be sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path.
27. The communication device according to claim 26, characterized in that The communication unit is specifically configured to determine a data packet sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, including: The communication unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The communication unit is specifically used to determine a second data packet to be sent through the second transmission path according to the number m of data packets and a first data packet currently sent through the first transmission path, wherein the second data packet is a data packet that is m data packets after the first data packet.
28. The communication device according to claim 26 or 27, characterized in that: The communication unit is specifically configured to determine a data packet sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, including: The communication unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The communication unit is specifically configured to determine, when the number m of data packets does not exceed a first threshold, that a second data packet sent via the second transmission path is identical to a first data packet currently sent via the first transmission path.
29. The communication device according to any one of claims 26 to 28, characterized in that: The communication unit is specifically configured to determine a data packet sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, including: The communication unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The communication unit is specifically configured to determine, when the number m of data packets is greater than a second threshold, that the data packet sent via the second transmission path is the last data packet in the cache of the first host.
30. The communication device according to any one of claims 19 to 29, characterized in that: The communication device further comprises: A determination unit is used to determine, according to a first preset strategy, a first network corresponding to a first transmission path from a plurality of networks accessed by the first host; the first preset strategy includes determining the first network corresponding to the first transmission path according to network quality and / or network type of the plurality of networks accessed by the first host.
31. The communication device according to claim 30, wherein the first preset strategy specifically comprises: When it is determined based on the network types of the multiple networks accessed by the first host that the multiple networks accessed by the first host include a Wireless Fidelity WIFI network and a cellular network, the WIFI network is determined to be the first network corresponding to the first transmission path.
32. The communication device according to claim 30 or 31, characterized in that: The determination unit is also used to determine, according to a second preset strategy, a second network corresponding to the second transmission path from multiple networks accessed by the first host; the second preset strategy includes determining, according to the network quality and / or network type of the multiple networks accessed by the first host, the second network corresponding to the second transmission path from networks other than the first network.
33. A communication device, characterized in that: The communication device is applied to a first host, and the communication device comprises: a first sending unit and a second sending unit; The first sending unit is used to send the data packets in the service data through the first transmission path according to the order of the data packets in the service data; The second sending unit is used to determine the data packet sent through the second transmission path according to the transmission delay difference between the first transmission path and the second transmission path; the first transmission path and the second transmission path are transmission paths between the first host and the second host in networks of different standards.
34. The communication device according to claim 33, characterized in that The second sending unit, configured to determine a data packet to be sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, includes: The second sending unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The second sending unit is specifically used to determine a second data packet to be sent through the second transmission path according to the number m of data packets and a first data packet currently sent through the first transmission path, wherein the second data packet is a data packet that is m data packets after the first data packet.
35. The communication device according to claim 33 or 34, characterized in that: The second sending unit, configured to determine a data packet to be sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, includes: The second sending unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The second sending unit is specifically configured to determine, when the number m of data packets does not exceed a first threshold, that a second data packet sent via the second transmission path is the same as a first data packet currently being sent via the first transmission path.
36. The communication device according to any one of claims 33 to 35, characterized in that: The second sending unit, configured to determine a data packet to be sent through the second transmission path according to a transmission delay difference between the first transmission path and the second transmission path, includes: The second sending unit is specifically configured to calculate the number m of data packets sent through the first transmission path in a time period corresponding to the transmission delay difference between the first transmission path and the second transmission path, when it is determined that the transmission delay of the first transmission path is less than the transmission delay of the second transmission path; The second sending unit is specifically configured to determine, when the number m of data packets is greater than a second threshold, that the data packet sent via the second transmission path is the last data packet in the cache of the first host.
37. A communication device, characterized in that: It comprises a memory and a processor, wherein the memory is used to store computer instructions, and the processor is used to call and execute the computer instructions from the memory to implement the method as claimed in any one of claims 1 to 14, or to implement the method as claimed in any one of claims 15 to 18.
38. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed on a processor, the method according to any one of claims 1 to 14 is implemented, or the method according to any one of claims 15 to 18 is implemented.
39. A computer program product, characterized in that The computer program product comprises instructions, which, when executed on a processor, are used to implement the method according to any one of claims 1 to 14, or to implement the method according to any one of claims 15 to 18.
Citation Information
Cited By
Communication method and apparatus
EP4808071A1
Communication method and apparatus
WO2025103069A1