Data transmission method and device and storage medium
By using multiple wireless communication channels between the terminal device and the target gateway, and using dedicated bearers on the cellular channel for initial packet transmission and retransmission, the packet transmission delay problem caused by the instability of a single wireless network is solved. Improves packet transmission efficiency and anti-interference ability in weak network environments.
Patent Information
- Application Number
- CN202310782503.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
AI Technical Summary
The instability of a single wireless network leads to an increase in packet transmission delay, especially when multi-channel networks such as 5G and WiFi are in weak network environments, the probability of packet transmission failure is high, resulting in large retransmission delay.
When multiple wireless communication channels are used between the terminal device and the target gateway, the dedicated bearer of the cellular communication channel is used to initially transmit and retransmit data packets to reduce delays and improve data packets through the high service quality assurance requirements of the dedicated bearer Transmission efficiency.
The packet retransmission through dedicated bearers significantly reduces the transmission delay of data packets and improves the anti-interference capability and packet transmission efficiency in a weak network environment.
Smart Images

Figure CN119233447A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of network technology, and to a data transmission method, device, and storage medium. Background Art
[0002] Currently, applications (Application, APP) generally run on a single network, such as the fifth-generation (5th-Generation, 5G) mobile communication network or wireless fidelity (Wireless Fidelity, WiFi) network. However, due to wireless network signal fluctuations, terminal mobility switching and other issues, the instability of a single wireless network has a great impact on some delay-sensitive businesses.
[0003] In order to solve this technical problem, the dual-transmission function of 5G+WIFi is introduced. The basic principle of this dual-transmission function is as follows: In the uplink direction, the terminal device will copy the uplink data packet and send it to the acceleration gateway through the 5G and WiFi channels at the same time. If the acceleration gateway receives a correct uplink data packet, the acceleration gateway directly sends the uplink data packet to the business server. If the acceleration gateway receives two correct uplink data packets, the acceleration gateway needs to perform deduplication processing and only needs to send one uplink data packet to the business server. In the downlink direction, the acceleration gateway receives the downlink data packet sent by the business server. The acceleration gateway copies the downlink data packet and sends it to the terminal device through the 5G and WiFi channels at the same time. If the terminal device receives a correct uplink data packet, the terminal device does not need to perform other operations. If the terminal device receives two correct downlink data packets, the terminal device needs to perform deduplication processing so that the terminal device obtains a correct downlink data packet.
[0004] However, when multi-channel networks, such as 5G and WiFi channels, are in a weak network environment, there is a certain probability that data packets will fail to be transmitted on the multi-channel network. In this case, the sender needs to retransmit the data packet. When the sender retransmits the data packet, it needs to insert the data packet into the end of the cache queue and can only send the data packet after sending other data packets that are queued before the data packet, resulting in a large transmission delay for the data packet. Summary of the invention
[0005] The embodiments of the present application provide a data transmission method, device and storage medium, thereby reducing the transmission delay of data packets.
[0006] In a first aspect, an embodiment of the present application provides a data transmission method, which is applied to a terminal device, wherein there are N wireless communication channels between the terminal device and a target gateway, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the method includes: initially transmitting a target data packet to the target gateway based on the N wireless communication channels; wherein, when initially transmitting the target data packet, initially transmitting the target data packet based on a default bearer of a first cellular communication channel; receiving a retransmission indication for the target data packet; and in response to the retransmission indication, retransmitting the target data packet based on a dedicated bearer of a second cellular communication channel.
[0007] In a second aspect, an embodiment of the present application provides a data transmission method, which is applied to a target gateway, wherein there are N wireless communication channels between the target gateway and a terminal device, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1, and the method includes: receiving a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; when all target data packets received based on the N wireless communication channels are erroneous, sending a retransmission indication for the target data packet to the terminal device; and receiving a target data packet retransmitted based on a dedicated bearer of a second cellular communication channel.
[0008] In a third aspect, an embodiment of the present application provides a data transmission method, which is applied to a target gateway, and there are N wireless communication channels between the target gateway and the terminal device, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the method includes: initially transmitting a target data packet to the terminal device based on the N wireless communication channels; wherein, when initially transmitting the target data packet, initially transmitting the target data packet based on the default bearer of the first cellular communication channel; receiving a retransmission indication for the target data packet; and in response to the retransmission indication, retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel.
[0009] In a fourth aspect, an embodiment of the present application provides a data transmission method, which is applied to a terminal device, wherein there are N wireless communication channels between the terminal device and a target gateway, the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1, and the method includes: receiving a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; when all target data packets received based on the N wireless communication channels are erroneous, sending a retransmission indication for the target data packet to the target gateway; and receiving a target data packet retransmitted based on a dedicated bearer of a second cellular communication channel.
[0010] In a fifth aspect, an embodiment of the present application provides a terminal device, which has N wireless communication channels between the terminal device and a target gateway, the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the terminal device includes: a transceiver module, used to: initially transmit a target data packet to the target gateway based on the N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; a retransmission indication for the target data packet is received; and in response to the retransmission indication, the target data packet is retransmitted based on the dedicated bearer of the second cellular communication channel.
[0011] In a sixth aspect, an embodiment of the present application provides a target gateway, which has N wireless communication channels between the target gateway and a terminal device, the N wireless communication channels including at least one cellular communication channel, wherein N is an integer greater than 1, and the target gateway includes: a transceiver module, used to: receive a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; when all target data packets received based on the N wireless communication channels are erroneous, a retransmission indication for the target data packet is sent to the terminal device; and a target data packet retransmitted based on a dedicated bearer of a second cellular communication channel is received.
[0012] In a seventh aspect, an embodiment of the present application provides a target gateway, which has N wireless communication channels between the target gateway and the terminal device, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the target gateway includes: a transceiver module, used to: initially transmit a target data packet to the terminal device based on the N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; a retransmission indication for the target data packet is received; and in response to the retransmission indication, the target data packet is retransmitted based on the dedicated bearer of the second cellular communication channel.
[0013] In an eighth aspect, an embodiment of the present application provides a terminal device, which has N wireless communication channels between the terminal device and a target gateway, the N wireless communication channels including at least one cellular communication channel, wherein N is an integer greater than 1, and the terminal device includes: a transceiver module, used to: receive a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; when all target data packets received based on the N wireless communication channels are erroneous, a retransmission indication for the target data packet is sent to the target gateway; and a target data packet retransmitted based on a dedicated bearer of a second cellular communication channel is received.
[0014] In a ninth aspect, an embodiment of the present application provides an electronic device, comprising: a processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory, and executing a method as in any one of the first to eighth aspects or its various implementations.
[0015] In the tenth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program enables a computer to execute a method as in any one of the first to eighth aspects or any of its implementations.
[0016] In an eleventh aspect, an embodiment of the present application provides a computer program product, comprising computer program instructions, which enable a computer to execute a method as in any one of the first to eighth aspects or any of their implementations.
[0017] In a twelfth aspect, an embodiment of the present application provides a computer program, which enables a computer to execute a method in any one of the first to eighth aspects or any of its implementations.
[0018] Through the technical solution provided by the embodiment of the present application, when the terminal device initially transmits the target data packet to the target gateway based on N wireless communication channels, the terminal device can initially transmit the data packet based on the default bearer of the cellular communication channel. When the terminal device retransmits the target data packet based on the cellular communication channel, the terminal device can retransmit the data packet based on the dedicated bearer of the cellular communication channel. Since the service quality assurance requirements of the dedicated bearer, including the requirements for latency, are higher than those of the default bearer, retransmitting the data packet through the dedicated bearer can reduce the transmission latency of the data packet. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0020] Figure 1 A schematic diagram of the EPS network bearer;
[0021] Figure 2A A schematic diagram of the calling process of a QoS acceleration service;
[0022] Figure 2B A schematic diagram of game acceleration;
[0023] Figure 3 A schematic diagram of an application scenario provided for an embodiment of the present application;
[0024] Figure 4 An interactive flow chart of a data transmission method provided in an embodiment of the present application;
[0025] Figure 5 An interactive flow chart of another data transmission method provided in an embodiment of the present application;
[0026] Figure 6 A schematic diagram of a terminal device 600 provided in an embodiment of the present application;
[0027] Figure 7 A schematic diagram of a target gateway 700 provided in an embodiment of the present application;
[0028] Figure 8 A schematic diagram of a target gateway 800 provided in an embodiment of the present application;
[0029] Fig. 9 A schematic diagram of a terminal device 900 provided in an embodiment of the present application;
[0030] Fig.10 It is a schematic block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0033] Before introducing the technical solution of this application, the relevant knowledge of the technical solution of this application will be explained below:
[0034] 1. Quality of Service (QoS): Under limited bandwidth resources, QoS allocates bandwidth to various services and provides end-to-end service quality assurance for the services. For example, voice, video and important data applications can be given priority in network devices by configuring QoS.
[0035] Among them, QoS measurement indicators include, but are not limited to: network bandwidth, network delay, network jitter, packet loss rate, etc.
[0036] 2. QoS technology in the fourth-generation (4G) mobile communication network or 5G mobile communication network:
[0037] At present, in the 4G mobile communication system, the concept of Evolved Packet System (EPS) Bearer has been introduced to achieve more refined QoS control. It should be understood that the 5G mobile communication system also has similar QoS technology, which will not be described in detail.
[0038] Figure 1 A schematic diagram of the EPS network load is shown in FIG. Figure 1 As shown, a service data flow (SDFs) with the same QoS between a user equipment (UE) and a packet data network (PDN) gateway (PGW) is called an EPS Bearer.
[0039] EPS Bearer can be divided into two types: default bearer, also known as default bearer, and dedicated bearer, also known as dedicated bearer. Dedicated bearer provides specific QoS for UE to ensure additional transmission requirements between UE and PGW that are different from default bearer.
[0040] The role of EPS Bearer is to achieve more refined QoS control. In EPS network, the basic unit of QoS control is EPS Bearer. All SDFs on the same EPS Bearer have the same QoS guarantee, such as rate, delay and bit error rate. Different QoS guarantees require different types of EPS Bearers to provide.
[0041] QoS reflects the UE's expectation of network quality. For example, for download services, the UE expects a high network rate; for gaming services, the UE expects a low network delay; for video and voice services, the UE expects a stable network with a low bit error rate. The 3rd Generation Partnership Project (3GPP) Technical Specification (TS) 23.203 protocol divides QoS into multiple categories based on different user expectations, represented by QoS Class Identity (QCI). Different QCIs are suitable for different service types, as shown in Table 1:
[0042] Table 1
[0043]
[0044]
[0045] For example, when the user configures a dedicated bearer with QCI=3, the data on this dedicated bearer will be transmitted first to ensure the latency requirement.
[0046] QCI 1-9 is divided into two types according to whether the bit rate is guaranteed:
[0047] GBR: QCI 1-4, refers to the bit rate required by the EPS Bearer to be "permanently" and constantly allocated by the network. Even when network resources are tight, the corresponding bit rate can be maintained. It can only be used for dedicated bearers. For example: IMS voice and IMS video in Voice over Long-Term Evolution (VoLTE).
[0048] Non-GBR: QCI 5-9, refers to the situation where the network is congested and the service needs to bear the requirement of low rate. Since Non-GBR bearer does not need to occupy fixed network resources, it can be established for a long time. It is often used for default bearer and can also be used for dedicated bearer. For example: Internet service.
[0049] Among them, QoS acceleration services can be provided to the outside world through the network capability opening platform of telecom operators.
[0050] Specifically, Figure 2A A diagram of the calling process of a QoS acceleration service is shown in FIG. Figure 2A As shown, the calling process includes:
[0051] 1. The terminal to be accelerated sends a QoS acceleration request to the QoS service backend server;
[0052] The QoS acceleration request includes, but is not limited to, the Internet Protocol (IP) of the terminal, the destination IP, and the required bandwidth guarantee information. The IP of the terminal may include, but is not limited to, the private IP and public IP of the terminal. The destination IP may be a public IP, but may be multiple destination IPs, that is, it may be an IP address group, and the number of IPs is generally not more than 6 or 8.
[0053] 2. The QoS service background server sends the above QoS acceleration request to the QoS acceleration server;
[0054] Among them, the QoS service background server is also called the QoS service server, and the embodiments of the present application do not impose any restrictions on this.
[0055] The QoS acceleration server is located on the telecommunications operator side. Based on this, the server is also called an operator QoS acceleration server, an operator server, an operator QoS background server, etc., and the embodiments of the present application do not impose any restrictions on this.
[0056] 3. The QoS acceleration server returns the acceleration result to the QoS service background server;
[0057] 4. The QoS service backend server returns the acceleration result to the terminal to be accelerated;
[0058] After that, the data packets sent by the terminal to the above destination IP can be sent through a dedicated bearer (such as a dedicated bearer corresponding to QCI=3 or QCI=4); and the data packets sent by the terminal to other destination IPs can be sent through a default bearer (such as a dedicated bearer corresponding to QCI=9). In the 4G network transmission process, the service quality assurance requirements of the dedicated bearer are higher than those of the default bearer. Therefore, the bandwidth performance of user-specific services is guaranteed through dedicated bearer transmission.
[0059] 3. Wireless network: A network implemented using wireless communication technology. Currently, wireless networks can include, but are not limited to: cellular networks and WiFi networks.
[0060] Among them, the cellular network, also known as the mobile network, is a mobile communication hardware architecture, which is divided into analog cellular networks and digital cellular networks. Since the signal coverage of each communication base station that constitutes the network coverage is in a hexagonal shape, the entire network is named like a honeycomb, and each hexagon is actually a base station.
[0061] In the embodiments of the present application, the cellular network may be as follows, but is not limited to: Global System of Mobile communication (GSM) system, Code Division Multiple Access (CDMA) system, Wideband Code Division Multiple Access (WCDMA) system, General Packet Radio Service (GPRS), Long Term Evolution (LTE) system, LTE Frequency Division Duplex (FDD) system, LTE Time Division Duplex (TDD) system, Advanced Long Term Evolution (LTE-A) system, New Radio (NR) system, NR system evolution system, LTE on unlicensed spectrum (LTE-U) system, NR on unlicensed spectrum (NR-U) system, Universal Mobile Telecommunication System (UMTS), etc.
[0062] It should be understood that the wireless communication channel in the embodiments of the present application refers to a channel using wireless network technology, wherein the wireless communication channel is also referred to as a wireless communication link, and the embodiments of the present application do not impose any restrictions on this.
[0063] It should be understood that the cellular communication channel in the embodiment of the present application refers to a channel using cellular network technology, wherein the cellular communication channel is also referred to as a cellular communication link, and the embodiment of the present application does not impose any limitation on this.
[0064] 4. The target gateway is a gateway that has multiple wireless communication channels with the terminal device and performs data transmission based on the multiple wireless communication channels. In uplink data transmission, the target gateway can also deduplicate data packets.
[0065] It should be understood that the target gateway may also be referred to as a multi-channel aggregation gateway, a multi-link aggregation gateway, or an acceleration gateway, etc., and the embodiments of the present application do not limit this.
[0066] The following is an explanation of the technical problems, inventive concepts and application scenarios to be solved by the technical solution of this application:
[0067] Currently, APPs generally run on a single network, such as a 5G mobile communication network or a WiFi network. However, due to issues such as wireless network signal fluctuations and terminal mobility switching, the instability of a single wireless network has a significant impact on some latency-sensitive services. For example, for real-time games, as latency increases or jitters, the user experience will be significantly reduced; for telemedicine or robots, the transmission reliability of key control data must be guaranteed, and there is zero tolerance for service interruptions caused by network instability.
[0068] In order to solve this technical problem, the dual-transmission function of 5G+WIFi is introduced. The basic principle of the dual-transmission function is as follows: In the uplink direction, the terminal device will copy the uplink data packet and send it to the acceleration gateway through the 5G and WiFi channels at the same time. If the acceleration gateway receives a correct uplink data packet, the acceleration gateway directly sends the uplink data packet to the business server. If the acceleration gateway receives two correct uplink data packets, the acceleration gateway needs to perform deduplication processing and only needs to send one uplink data packet to the business server. In the downlink direction, the acceleration gateway receives the downlink data packet sent by the business server. The acceleration gateway copies the downlink data packet and sends it to the terminal device through the 5G and WiFi channels at the same time. If the terminal device receives a correct uplink data packet, the terminal device does not need to perform other operations. If the terminal device receives two correct downlink data packets, the terminal device needs to perform deduplication processing so that the terminal device obtains a correct downlink data packet.
[0069] For example, game accelerator apps generally introduce the dual-transmission function of 5G+WIFi. Figure 2B A schematic diagram of game acceleration is shown in FIG. Figure 2B As shown, the game APP sends game data packet 1 and game data packet 2, the game accelerator APP copies game data packet 1 and game data packet 2, and sends them to the game acceleration gateway through 5G and WIFi links at the same time. The game acceleration gateway then performs deduplication processing and sends the correctly received game data packets to the game server.
[0070] However, when multi-channel networks, such as 5G and WiFi channels, are in a weak network environment, there is a certain probability that data packets will fail to be transmitted on the multi-channel network. In this case, the sender needs to retransmit the data packet. When the sender retransmits the data packet, it needs to insert the data packet into the end of the cache queue and can only send the data packet after sending other data packets that are queued before the data packet, resulting in a large transmission delay for the data packet.
[0071] In order to solve this technical problem, an embodiment of the present application proposes that when data packets are retransmitted, a dedicated bearer of the cellular network can be used for transmission, and the service quality assurance requirements of the dedicated bearer, including the requirements for latency, are higher than those of the default bearer. Therefore, retransmitting data packets through a dedicated bearer can reduce the transmission latency of the data packets.
[0072] For example, Figure 3 A schematic diagram of an application scenario provided in an embodiment of the present application, such as Figure 3 As shown, the application scenario includes the following network elements, but is not limited thereto: terminal device 310 , QoS service background server 320 , target gateway 330 , QoS acceleration server 340 , and service server 350 .
[0073] There are N wireless communication channels between the terminal device 310 and the target gateway 330 , and the N wireless communication channels include at least one cellular communication channel, where N is an integer greater than 1.
[0074] The target gateway 330 and the service server 350 may be directly or indirectly connected via wired or wireless communication, which is not limited in the present application.
[0075] The terminal device 310 and the QoS service backend server 320 may be directly or indirectly connected via wired or wireless communication, which is not limited in this application.
[0076] The QoS service backend server 320 and the target gateway 330 may be directly or indirectly connected via wired or wireless communication, which is not limited in this application.
[0077] The QoS service backend server 320 and the QoS acceleration server 340 may be directly or indirectly connected via wired or wireless communication, which is not limited in this application.
[0078] In some implementations, the terminal device 310 and the QoS acceleration server 340 may be directly or indirectly connected via wired or wireless communication, which is not limited in this application.
[0079] In some implementations, the terminal device 310 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc., but is not limited thereto.
[0080] In some possible implementations, the QoS service backend server 320 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), as well as big data and artificial intelligence platforms.
[0081] In some possible implementations, the target gateway 330 can be an independent gateway, a gateway cluster or a distributed system composed of multiple gateways, or a cloud gateway that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms.
[0082] It should be understood that the QoS acceleration server 340 is located on the telecommunications operator side. Based on this, the QoS acceleration server 340 is also called an operator QoS acceleration server, an operator server, an operator QoS background server, etc., and the embodiments of the present application do not impose any restrictions on this.
[0083] In some possible implementations, the QoS acceleration server 340 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms.
[0084] In some possible implementations, the service server 350 may be a game service server, a video service server, etc., which is not limited in the embodiments of the present application.
[0085] In some possible implementations, the business server 350 can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, as well as big data and artificial intelligence platforms.
[0086] It should be understood that Figure 3 The application scenario shown is only an exemplary scenario, and the present application embodiment does not limit the application scenario. Figure 3 Only one terminal device 310 is shown, but in practice, multiple terminal devices 310 may be included, and Figure 3Only one QoS acceleration server 340 is shown. In fact, the number of the QoS acceleration servers 340 is related to the telecom operator category to which the cellular communication channels included in the above-mentioned N wireless communication channels belong. For example, assuming that the N wireless communication channels include two cellular communication channels, one cellular communication channel belongs to telecom operator A, and the other cellular communication channel belongs to telecom operator B, then the number of QoS acceleration servers 340 is 2.
[0087] Figure 4 The interactive flow chart of a data transmission method provided in an embodiment of the present application, which can be executed by a terminal device and a target gateway, wherein there are N wireless communication channels between the terminal device and the target gateway, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1. Figure 4 As shown, the method may include:
[0088] S410: The terminal device initially transmits a target data packet to the target gateway based on N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of the first cellular communication channel;
[0089] In other words, the terminal device initially transmits the target data packet to the target gateway based on N wireless communication channels; wherein, when the target data packet is initially transmitted based on the first cellular communication channel, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel.
[0090] In some implementations, the N wireless communication channels include a cellular communication channel, for example, the N wireless communication channels include a 5G communication channel and a WiFi communication channel.
[0091] In some implementations, the N wireless communication channels include multiple cellular communication channels, and the multiple cellular communication channels correspond to one telecom operator. For example, the N wireless communication channels include a 5G communication channel and a 4G communication channel, and both communication channels correspond to telecom operator A.
[0092] In some implementations, the N wireless communication channels include multiple cellular communication channels, and the multiple cellular communication channels correspond to multiple telecom operators, wherein the multiple cellular communication channels and the multiple telecom operators may have a one-to-one correspondence, for example, the N wireless communication channels include a 5G communication channel and a 4G communication channel, the 5G communication channel corresponds to telecom operator A, and the 4G communication channel corresponds to telecom operator B. Alternatively, the correspondence between the multiple cellular communication channels and the multiple telecom operators may include: a many-to-one correspondence and a one-to-one correspondence. For example, the N wireless communication channels include two 5G communication channels and one 4G communication channel, the two 5G communication channels correspond to telecom operator A, and the 4G communication channel corresponds to telecom operator B.
[0093] In summary, the embodiments of the present application do not limit the number of cellular communication channels included in the N wireless communication channels, nor the correspondence between the cellular communication channels and the telecommunications operators.
[0094] In some possible implementations, the first cellular communication channel is any one of the at least one cellular communication channel. In other words, for each cellular communication channel among the N wireless communication channels, when the terminal device initially transmits the target data packet through the cellular communication channel, the transmission is based on the default bearer of the cellular communication channel.
[0095] For example, assuming that N wireless communication channels include: a 5G communication channel and a 4G communication channel, for the 5G communication channel, the terminal device can use the default bearer initial transmission target data packet corresponding to the 5G communication channel, and for the 4G communication channel, the terminal device can use the default bearer initial transmission target data packet corresponding to the 4G communication channel.
[0096] In some other implementations, the first cellular communication channel is any one of the partial cellular communication channels in the at least one cellular communication channel. In other words, when the terminal device initially transmits the target data packet, it can initially transmit the target data packet based on the default bearer of the partial cellular communication channel.
[0097] In some implementations, the target data packet may be any uplink data packet sent by the terminal device to the service server.
[0098] S420: When all target data packets received based on the N wireless communication channels are erroneous, the target gateway sends a retransmission instruction for the target data packet to the terminal device;
[0099] It should be understood that, for any one of the N wireless communication channels, the target data packet received by the target gateway in the wireless communication channel is erroneous, including two situations, namely:
[0100] Case 1: For the wireless communication channel, the target data packet does not arrive within the specified time;
[0101] Case 2: the target data packet received by the target gateway on the wireless communication channel is an erroneous data packet;
[0102] Among them, after receiving the target data packet, the target gateway can verify the data packet to detect whether the data packet is an erroneous data packet. The embodiment of the present application does not limit the verification method.
[0103] It should be understood that the retransmission indication is used to instruct the terminal device to retransmit the target data packet.
[0104] S430: The terminal device retransmits the target data packet based on the dedicated bearer of the second cellular communication channel in response to the retransmission indication.
[0105] In some implementations, the second cellular communication channel and the first cellular communication channel may be the same cellular communication channel or may be different cellular communication channels.
[0106] In some implementations, the second cellular communication channel may be any one of the at least one cellular communication channel.
[0107] In some other possible implementations, the second cellular communication channel may be any cellular communication channel among some of the at least one cellular communication channel.
[0108] In some further implementations, before the terminal device retransmits the target data packet based on the dedicated bearer of the second cellular communication channel, in response to the retransmission indication, selects P target communication channels from N wireless communication channels, wherein the P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel. In other words, the terminal device may select P target communication channels from N wireless communication channels in response to the retransmission indication, and retransmit the target data packet based on the P target communication channels, wherein when retransmitting the target data packet based on the second cellular communication channel, the terminal device may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel. The second cellular communication channel may be any one of the at least one cellular communication channel mentioned above. Alternatively, the second cellular communication channel may be any one of the cellular communication channels in some of the at least one cellular communication channel mentioned above.
[0109] For example, assuming that at least one target communication channel includes: a 5G communication channel and a 4G communication channel, for the 5G communication channel, the terminal device can use the dedicated bearer corresponding to the 5G communication channel to retransmit the target data packet, and for the 4G communication channel, the terminal device can use the dedicated bearer corresponding to the 4G communication channel to retransmit the target data packet.
[0110] It should be understood that if at least one target communication channel includes a WiFi communication channel, then when the terminal device retransmits a data packet based on the WiFi communication channel, it can retransmit the data packet according to a traditional WiFi communication technology.
[0111] In some implementations, the terminal device selects P target communication channels from N wireless communication channels, which involves two issues: first, the number P of target communication channels; second, when the number P of target communication channels is determined, which wireless communication channels are specifically selected as target communication channels.
[0112] In the embodiment of the present application, regarding the number P of target communication channels, the terminal device may determine the number P of target communication channels in the following achievable manner, but is not limited thereto:
[0113] In some implementations, the number P of the target communication channels is a fixed value, for example, the number P of the target communication channels is 1, 2, and so on.
[0114] In some implementations, the number P of the target communication channels is determined based on the number M of error packets received by the target gateway. For example, assuming M=1, the number P of the target communication channels may be 2; assuming M=2, the number P of the target communication channels may be 1.
[0115] It should be understood that the reason why the number P of target communication channels is determined based on the number M of erroneous data packets received by the target gateway is because the target gateway expects to jointly demodulate the M initially transmitted erroneous data packets and the P retransmitted erroneous data packets to demodulate the correct target data packets, and the joint demodulation method has certain requirements on the number of erroneous data packets.
[0116] In the embodiment of the present application, regarding which wireless communication channels are specifically selected as target communication channels, the terminal device may determine in the following achievable manner, but is not limited thereto:
[0117] In some implementations, the terminal device may select the first P wireless communication channels from the N wireless communication channels in the order of channel quality from high to low. For example, the channel quality may be measured by experiments, based on which the terminal device may select the first P wireless communication channels from the N wireless communication channels in the order of latency from small to large.
[0118] It should be understood that the terminal device can use quality detection technology to detect the channel quality in N wireless communication channels, and the embodiment of the present application does not limit the quality detection technology.
[0119] In some implementations, the terminal device may randomly select the first P wireless communication channels from the N wireless communication channels.
[0120] In some implementations, after S430, the following steps may be further included:
[0121] When the target gateway receives a retransmitted correct target data packet, the target gateway may send the target data packet to the service server.
[0122] When the target gateway receives multiple retransmitted correct target data packets, the target gateway may deduplicate the target data packets and only send one target data packet to the service server.
[0123] When the retransmitted target data packets received by the target gateway are all erroneous, the target gateway may instruct the terminal device to retransmit the target data packets again, or the target gateway may discard the erroneous data packets; alternatively, the target gateway may perform joint demodulation on the initially transmitted erroneous data packets and the retransmitted erroneous data packets. If the joint demodulation is correct, the target gateway may send the jointly demodulated target data packets to the service server. If the joint demodulation fails, the target gateway may instruct the terminal device to retransmit the target data packets again, or the target gateway may discard the erroneous data packets.
[0124] An embodiment of the present application provides a data transmission method, wherein when a terminal device initially transmits a target data packet to a target gateway based on N wireless communication channels, the terminal device may initially transmit the data packet based on a default bearer of a cellular communication channel. When a terminal device retransmits a target data packet based on a cellular communication channel, the terminal device may retransmit the data packet based on a dedicated bearer of the cellular communication channel. Since the service quality assurance requirements of a dedicated bearer, including the requirements for latency, are higher than those of a default bearer, retransmitting a data packet through a dedicated bearer may reduce the transmission latency of the data packet.
[0125] In addition, the terminal device initially transmits the target data packet through the default bearer of the cellular communication channel. Only when retransmitting the target data packet will the terminal device use the dedicated bearer of the cellular communication channel, so that the dedicated bearer traffic consumption is relatively small, thereby saving the traffic costs of the terminal device.
[0126] As described above, the number P of target communication channels can be determined based on the number M of error data packets received by the target gateway. Based on this, the embodiment of the present application proposes the following implementation method:
[0127] In a first implementation manner, when all the target data packets received by the target gateway via N wireless communication channels are in error, the target gateway determines the number M of error data packets received; and sends the number M of error data packets to the terminal device; 1 ≤ M ≤ N, and M is a positive integer.
[0128] Wherein, the error data packet is an error data packet of the target data packet. In other words, the error data packet is the target data packet that is in error. For example, assume the target data packet is data packet A, and the specific content of data packet A is 001, while the data packet A received by the target gateway is 000, then it indicates that the data packet A received by the target gateway is an error data packet.
[0129] It should be understood that when 1 ≤ M < N, it means that the target gateway has received at least one error data packet via N wireless communication channels, and for at least one wireless communication channel, the target data packet has not arrived within the specified time. When M = N, it means that the target gateway has received the target data packets via N wireless communication channels, but all these target data packets are error data packets.
[0130] In some implementation manners, the target gateway may carry the number M of error data packets in the above retransmission indication so that the terminal device can obtain the number M of error data packets.
[0131] In other implementation manners, after receiving the above retransmission indication, the terminal device may send a first request message to the target gateway, where the first request message is used to request to obtain the number M of error data packets. Further, the terminal device may receive a first response message, and the first response message carries the number M of error data packets.
[0132] Correspondingly, the terminal device selects P target communication channels from the N wireless communication channels based on the number M of error data packets.
[0133] In the embodiments of the present application, the terminal device may adopt the following implementation manner to select P target communication channels from the N wireless communication channels based on the number M of error data packets, but not limited thereto:
[0134] In some implementation manners, the terminal device may select P target communication channels from the N wireless communication channels; wherein, 3 - M ≤ P ≤ N, and P is a positive integer, and P + M is an odd number.
[0135] The reason for setting 3 - M ≤ P and P + M to be an odd number is that when the target data packets received by the target gateway via N wireless communication channels and the target data packets received via at least one target communication channel are both in error, the target gateway can jointly demodulate the correct target data packet based on the initially transmitted M error data packets and the retransmitted P error data packets.
[0136] Based on this, in some implementable embodiments, the data transmission method also includes: when the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are both erroneous, the target gateway obtains the M initially transmitted erroneous data packets and the P retransmitted erroneous data packets; and determines the target data packet based on the M erroneous data packets and the P erroneous data packets.
[0137] In the embodiment of the present application, the target gateway may determine the target data packet based on the M error data packets and the P error data packets in any of the following implementable manners, but is not limited thereto:
[0138] In some implementations, the target gateway may select, for any bit of the target data packet, a value with the highest probability on the bit from the M error data packets and the P error data packets to form the target data packet.
[0139] For example, suppose that the terminal device initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, while the data packet A received by the target gateway on the 5G communication channel is 000, and the data packet A received by the target gateway on the WiFi communication channel is 011. Further, the target gateway detects that both the initially transmitted data packets are erroneous data packets, and it can instruct the terminal device to retransmit data packet A. At this time, the terminal device selects the 5G communication channel with better quality from the 5G communication channel and the WiFi communication channel, and retransmits data packet A based on the dedicated bearer of the 5G communication channel, while the data packet A received by the target gateway on the 5G communication channel is 101, which is still an erroneous data packet. Further, the target gateway combines the initially transmitted 000, 011 and the retransmitted 101, selects the highest probability 0 for the first bit, selects the highest probability 0 for the second bit, selects the highest probability 1 for the third bit, and combines the three bits to obtain 001, and the data packet 001 is the correct data packet A.
[0140] For example, assuming that the terminal device initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, and the data packet A received by the target gateway on the WiFi communication channel is 011, and for the 5G communication channel, the target gateway does not receive data packet A within the specified time, and further, the target gateway can instruct the terminal device to retransmit data packet A, and the terminal device retransmits data packet A based on the 5G communication channel and the WiFi communication channel, wherein, when retransmitting data packet A based on the 5G communication channel, the terminal device can retransmit data packet A based on the dedicated bearer of the 5G communication channel, and the data packet A received by the target gateway on the 5G communication channel is 101, and the data packet A received on the WiFi communication channel is 000, and these two data packets are still erroneous data packets. Furthermore, the target gateway combines the initially transmitted 011 and the retransmitted 101 and 000, selects the highest probability 0 for the first bit, selects the highest probability 0 for the second bit, selects the highest probability 1 for the third bit, and combines the three bits to obtain 001, and the data packet 001 is the correct data packet A.
[0141] In other possible implementations, the target gateway may select, for any bit of the target data packet, a value with the smallest probability on the bit from M erroneous data packets and P erroneous data packets, invert the value, and combine the inverted results on each bit to obtain the target data packet.
[0142] For example, suppose that the terminal device initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, while the data packet A received by the target gateway on the 5G communication channel is 000, and the data packet A received by the target gateway on the WiFi communication channel is 011. Further, the target gateway detects that both of the initially transmitted data packets are erroneous data packets, and it can instruct the terminal device to retransmit data packet A. At this time, the terminal device selects the 5G communication channel with better quality from the 5G communication channel and the WiFi communication channel, and retransmits data packet A based on the dedicated bearer of the 5G communication channel, while the data packet A received by the target gateway on the 5G communication channel is 101, and the data packet A is still an erroneous data packet. Further, the target gateway combines the initially transmitted 000, 011 and the retransmitted 101, selects 1 with the smallest probability for the first bit, selects 1 with the smallest probability for the second bit, selects 0 with the smallest probability for the third bit, and inverts and combines these three values respectively to obtain 001, and the data packet 001 is the correct data packet A.
[0143] For example, assuming that the terminal device initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, and the data packet A received by the target gateway on the WiFi communication channel is 011, and for the 5G communication channel, the target gateway does not receive data packet A within the specified time, and further, the target gateway can instruct the terminal device to retransmit data packet A, and the terminal device retransmits data packet A based on the 5G communication channel and the WiFi communication channel, wherein, when retransmitting data packet A based on the 5G communication channel, the terminal device can retransmit data packet A based on the dedicated bearer of the 5G communication channel, and the data packet A received by the target gateway on the 5G communication channel is 101, and the data packet A received on the WiFi communication channel is 000, and these two data packets are still erroneous data packets. Furthermore, the target gateway combines the initially transmitted 011 and the retransmitted 101 and 000, selects 1 with the smallest probability for the first bit, selects 1 with the smallest probability for the second bit, and selects 0 with the smallest probability for the third bit, and respectively inverts and combines these three values to obtain 001, and the data packet 001 is the correct data packet A.
[0144] A second implementation method is that when all target data packets received based on N wireless communication channels are erroneous, the target gateway determines the number M of erroneous data packets received by the target gateway; and determines the number P of target communication channels based on the number M of erroneous data packets; sends the number P of target communication channels to the terminal device; wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the erroneous data packet is an erroneous data packet of the target data packet; 1≤M≤N, and M is a positive integer.
[0145] It should be understood that the difference between the second implementation method and the first implementation method is that: in the second implementation method, the target gateway determines the number P of target communication channels based on the number M of error packets, and sends the number P of target communication channels to the terminal device. In the first implementation method, the target gateway sends the number M of error packets to the terminal device, and the terminal device determines the number P of target communication channels based on the number M of error packets. The target gateway determines the number P of target communication channels based on the number M of error packets in the same way as the terminal device determines the number P of target communication channels based on the number M of error packets, and the embodiments of the present application will not be repeated here.
[0146] In some possible implementations, the target gateway may carry the number P of target communication channels in the above retransmission indication, so that the terminal device obtains the number P of target communication channels.
[0147] In other possible implementations, after receiving the above-mentioned retransmission indication, the terminal device may send a second request message to the target gateway, where the second request message is used to request the number P of target communication channels. Further, the terminal device may receive a second response message, which carries the number P of target communication channels.
[0148] Correspondingly, the terminal device selects P target communication channels from N wireless communication channels.
[0149] Based on this, in some implementable embodiments, the data transmission method also includes: when the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are both erroneous, the target gateway obtains the M initially transmitted erroneous data packets and the P retransmitted erroneous data packets; and determines the target data packet based on the M erroneous data packets and the P erroneous data packets.
[0150] Among them, the specific method for the target gateway to determine the target data packet based on M error data packets and P error data packets can be referred to above, and the embodiments of the present application will not be repeated here.
[0151] In an embodiment of the present application, a terminal device can select P target communication channels from N wireless communication channels, where 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; so that when the retransmitted target data packet received by the target gateway is still erroneous, it can determine the correct target data packet based on the M erroneous data packets and the P erroneous data packets, that is, perform joint demodulation, thereby improving the weak network resistance performance of the communication system using the data transmission method provided in the embodiment of the present application.
[0152] As described above, the target gateway may be a distributed system. In other words, there may be multiple target gateways. Based on this, the terminal device or the first server may select a target gateway from multiple target gateways. Assuming that the target gateway is called the first gateway, the target gateway involved in the above method may be the first gateway.
[0153] In some implementations, the first server may be Figure 3 QoS service backend server in the application scenario.
[0154] In the embodiment of the present application, the first gateway may be selected by any of the following implementable methods, but is not limited thereto:
[0155] In some implementations, the terminal device performs a PIN with each target gateway to determine the target gateway closest to the terminal device, and then uses the target gateway as the first gateway.
[0156] In some implementations, the terminal device may obtain a gateway list from a controller for controlling multiple target gateways, and the list may include at least one of the following, but is not limited to: an identifier, an IP address, location information, etc. of each target gateway. Further, the terminal device may perform a pin with each target gateway based on the list.
[0157] It should be understood that the embodiments of the present application will not elaborate on how the terminal device determines the nearest target gateway.
[0158] In some implementations, after the terminal device determines the first gateway, it may establish N wireless communication channels with the first gateway.
[0159] In other implementations, the first server may obtain location information of each of the multiple target gateways and the location information of the terminal device, and determine the target gateway closest to the terminal device based on the location information of each of the multiple target gateways and the location information of the terminal device, and then select the target gateway.
[0160] It should be understood that the embodiments of the present application will not elaborate on how the first server determines the nearest target gateway.
[0161] In some implementations, after the first server determines the first gateway, it may inform the terminal device of the first gateway, so that N wireless communication channels are established between the terminal device and the first gateway.
[0162] In some implementations, the terminal device or the first server may select a target gateway from a plurality of target gateways after the terminal device is started.
[0163] In an embodiment of the present application, since the terminal device can establish N wireless communication channels with the target gateway closest to it and perform data transmission based on the N wireless communication channels, the data transmission efficiency can be improved and the data transmission delay can be reduced.
[0164] In some implementable embodiments, before the terminal device initially transmits the target data packet based on the default bearer of the first cellular communication channel, the data transmission method also includes: the target gateway obtains first configuration information corresponding to the default bearer of the first cellular communication channel; the target gateway sends the first configuration information to the first server; the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the first configuration information, and sends the updated quintuple information to the second server corresponding to the first cellular communication channel; the second server triggers the establishment of the default bearer of the first cellular communication channel based on the updated quintuple information, and sends the first configuration information to the terminal device through the first server.
[0165] In some implementable embodiments, the first configuration information may be configured to the target gateway manually or automatically, and the embodiments of the present application do not limit this.
[0166] It should be understood that the reason for setting the first configuration information and the second configuration information to be mentioned below is that the current telecommunications operators distinguish between default bearers and dedicated bearers. The first configuration information will subsequently be matched with the default bearer so that the target data packet can be transmitted through the default bearer, and the second configuration information will subsequently be matched with the dedicated bearer so that the target data packet can be transmitted through the dedicated bearer.
[0167] In some implementations, the first configuration information includes: a first IP address of a target gateway.
[0168] In some implementations, the first configuration information includes: a first port number of the target gateway.
[0169] In some implementations, the first configuration information includes: a first IP address of the target gateway and a first port number of the target gateway.
[0170] It should be understood that the first configuration information corresponds to the default bearer of the first cellular communication channel. In other words, the default bearer of each cellular communication channel in the N wireless communication channels corresponds to a first configuration information, wherein the default bearers of different cellular communication channels may correspond to the same first configuration information or different first configuration information. In addition, if the N wireless communication channels also include a WiFi communication channel, then the WiFi communication channel may also correspond to a first configuration information, and the first configuration information may correspond to the same first configuration information as other cellular communication channels, or may correspond to different first configuration information.
[0171] For example, assuming that N wireless communication channels include: a 5G communication channel and a 4G communication channel, the default bearer of the 5G communication channel may correspond to a first configuration information, and the default bearer of the 4G communication channel may correspond to another first configuration information.
[0172] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, the default bearer of the 5G communication channel and the default bearer of the 4G communication channel correspond to the same first configuration information.
[0173] For example, assuming that N wireless communication channels include: a 5G communication channel and a WiFi communication channel, the default bearer of the 5G communication channel may correspond to a first configuration information, and the WiFi communication channel may correspond to another first configuration information.
[0174] For example, assuming that the N wireless communication channels include: a 5G communication channel and a WiFi communication channel, the default bearer of the 5G communication channel and the WiFi communication channel may correspond to the same first configuration information.
[0175] For example, assuming that N wireless communication channels include: a 5G communication channel, a 4G communication channel and a WiFi communication channel, the default bearer of the 5G communication channel, the default bearer of the 4G communication channel and the WiFi communication channel may correspond to the same first configuration information.
[0176] For example, assuming that N wireless communication channels include: a 5G communication channel, a 4G communication channel and a WiFi communication channel, the default bearer of the 5G communication channel and the default bearer of the 4G communication channel correspond to the same first configuration information, and the WiFi communication channel can correspond to one first configuration information.
[0177] In some implementations, the first server may be Figure 3 QoS service backend server in the application scenario.
[0178] In some implementations, the second server may be Figure 3 QoS acceleration server 340 in the application scenario.
[0179] In some implementations, for cellular communication channels belonging to the same telecommunication operator, they may correspond to the same second server, and for cellular communication channels belonging to different telecommunication operators, they may correspond to different second servers.
[0180] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, and both communication channels belong to telecom operator A, then the two communication channels correspond to the same second server.
[0181] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, wherein the 5G communication channel belongs to telecom operator A, and the 4G communication channel belongs to telecom operator B, then these two communication channels correspond to different second servers.
[0182] It should be understood that the five-tuple information of the target data packet includes: the source IP address, source port number, destination IP address, destination port number, and transport protocol name of the target data packet.
[0183] In some implementations, before the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the first configuration information, the first server can obtain the quintuple information of the target data packet, for example, by receiving the quintuple information of the target data packet sent by the terminal device.
[0184] In some implementations, if the first configuration information includes: a first IP address of a target gateway, the first server may update the destination IP address in the five-tuple information of the target data packet to the first IP address.
[0185] In some implementations, if the first configuration information includes: a first port number of the target gateway, the first server may update the destination port number in the five-tuple information of the target data packet to the first port number.
[0186] In some implementations, if the first configuration information includes: a first IP address of a target gateway and a first port number of a target gateway, then the first server may update the destination IP address in the five-tuple information of the target data packet to the first IP address, and update the destination port number to the first port number.
[0187] In some implementable embodiments, when the second server receives the updated five-tuple information, it can send the updated five-tuple information to the terminal device and the base station and core network device involved in the first cellular communication channel, such as PGW in the 4G network, and can also send information such as the applied guaranteed bandwidth, so that the default bearer of the first cellular communication channel is established between the terminal device and the base station and core network device involved in the first cellular communication channel. The process of establishing the default bearer of the first cellular communication channel is not described in detail in the embodiment of the present application.
[0188] In some possible implementations, after the terminal device receives the first configuration information corresponding to the default bearer of the first cellular communication channel, it can use the first configuration information as at least one of the destination IP address and the destination port number of the target data packet to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0189] In some possible implementations, when the first configuration information includes: a first IP address of a target gateway, the terminal device may use the first IP address as the destination IP address of a target data packet. Since the first IP address corresponds to the default bearer of the first cellular communication channel, the terminal device may initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0190] In some possible implementations, before receiving the initially transmitted target data packet, the target gateway can obtain the real destination IP address of the target data packet. Based on this, after the target gateway receives the initially transmitted target data packet, it can update the first IP address carried in the target data packet to the real destination IP address and send it to the business server.
[0191] In some possible implementations, when the first configuration information includes: the first port number of the target gateway, the terminal device can use the first port number as the destination port number of the target data packet. Since the first port number corresponds to the default bearer of the first cellular communication channel, the terminal device can initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0192] In some possible implementations, before the target gateway receives the initially transmitted target data packet, it can obtain the real destination port number of the target data packet. Based on this, after the target gateway receives the initially transmitted target data packet, it can update the first port number carried in the target data packet to the real destination port number and send it to the business server.
[0193] In some possible implementations, when the first configuration information includes: a first IP address and a first port number of a target gateway, the terminal device may use the first IP address as the destination IP address of a target data packet, and use the first port number as the destination port number of the target data packet. Since the first IP address and the first port number correspond to the default bearer of the first cellular communication channel, the terminal device may initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0194] In some possible implementations, before receiving the initially transmitted target data packet, the target gateway can obtain the real IP address and real destination port number of the target data packet. Based on this, after the target gateway receives the initially transmitted target data packet, it can update the first IP address carried in the target data packet to the real IP address, update the first port number to the real destination port number, and send them to the business server.
[0195] It should be understood that if the target gateway receives multiple correct target data packets, the target gateway needs to perform deduplication processing and only needs to send one target data packet to the service server.
[0196] In an embodiment of the present application, the terminal device can obtain first configuration information corresponding to the default bearer of the first cellular network, and use the first configuration information as at least one of the destination IP address and the destination port number of the target data packet to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0197] In some implementable embodiments, before the terminal device retransmits the target data packet based on the dedicated bearer of the second cellular communication channel, the data transmission method also includes: the target gateway obtains second configuration information corresponding to the dedicated bearer of the second cellular communication channel; the target gateway sends the second configuration information to the first server, so that the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the second configuration information, and sends the updated quintuple information to the third server corresponding to the second cellular communication channel, so that the third server triggers the establishment of the dedicated bearer of the second cellular communication channel based on the updated quintuple information, and sends the second configuration information to the terminal device through the first server.
[0198] In some possible implementations, the second configuration information may be configured to the target gateway manually or automatically, which is not limited in the embodiments of the present application.
[0199] In some implementations, the second configuration information includes: a second IP address of the target gateway.
[0200] In some implementations, the second configuration information includes: a second port number of the target gateway.
[0201] In some implementations, the second configuration information includes: a second IP address of the target gateway and a second port number of the target gateway.
[0202] It should be understood that the second configuration information corresponds to the dedicated bearer of the second cellular communication channel. In other words, the dedicated bearer of each cellular communication channel in at least one target communication channel corresponds to a second configuration information, wherein the dedicated bearers of different cellular communication channels may correspond to the same second configuration information or different second configuration information.
[0203] For example, assuming that N wireless communication channels include: a 5G communication channel and a 4G communication channel, the dedicated bearer of the 5G communication channel can correspond to one second configuration information, and the dedicated bearer of the 4G communication channel can correspond to another second configuration information.
[0204] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, the dedicated bearer of the 5G communication channel and the dedicated bearer of the 4G communication channel correspond to the same second configuration information.
[0205] In some implementations, the first server may be Figure 3 QoS service backend server in the application scenario.
[0206] In some implementations, the third server may be Figure 3 QoS acceleration server 340 in the application scenario.
[0207] In some implementations, for cellular communication channels belonging to the same telecommunication operator, they may correspond to the same third server, and for cellular communication channels belonging to different telecommunication operators, they may correspond to different third servers.
[0208] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, and both communication channels belong to telecom operator A, then these two communication channels correspond to the same third server.
[0209] For example, assuming that the N wireless communication channels include: a 5G communication channel and a 4G communication channel, wherein the 5G communication channel belongs to telecom operator A, and the 4G communication channel belongs to telecom operator B, then these two communication channels correspond to different third servers.
[0210] It should be understood that the five-tuple information of the target data packet includes: the source IP address, source port number, destination IP address, destination port number, and transport protocol name of the target data packet.
[0211] In some implementations, before the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the second configuration information, the first server can obtain the quintuple information of the target data packet, for example, by receiving the quintuple information of the target data packet sent by the terminal device.
[0212] In some implementations, if the second configuration information includes: a second IP address of the target gateway, the first server may update the destination IP address in the five-tuple information of the target data packet to the second IP address.
[0213] In some implementations, if the first configuration information includes: a second port number of the target gateway, the first server may update the destination port number in the five-tuple information of the target data packet to the second port number.
[0214] In some implementations, if the first configuration information includes: a second IP address of the target gateway and a second port number of the target gateway, then the first server can update the destination IP address in the five-tuple information of the target data packet to the second IP address, and update the destination port number to the second port number.
[0215] In some achievable embodiments, when the third server receives the updated five-tuple information, it may send the updated five-tuple information to the terminal device and the base station and core network device involved in the second cellular communication channel, such as PGW in the 4G network, and may also send information such as the applied guaranteed bandwidth, so that a dedicated bearer of the second cellular communication channel is established between the terminal device and the base station and core network device involved in the second cellular communication channel. The process of establishing the dedicated bearer of the second cellular communication channel is not described in detail in the embodiment of the present application.
[0216] In some implementations, after the terminal device receives the second configuration information corresponding to the dedicated bearer of the second cellular communication channel, it can use the second configuration information as at least one of the destination IP address and the destination port number of the target data packet to retransmit the target data packet based on the dedicated bearer corresponding to the second configuration information.
[0217] In some implementations, when the second configuration information includes: a second IP address of the target gateway, the terminal device can use the second IP address as the destination IP address of the target data packet. Since the second IP address corresponds to the dedicated bearer of the second cellular communication channel, the terminal device can retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0218] In some possible implementations, before receiving the retransmitted target data packet, the target gateway can obtain the real destination IP address of the target data packet. Based on this, after the target gateway receives the retransmitted target data packet, it can update the second IP address carried in the target data packet to the real destination IP address and send it to the business server.
[0219] In some implementations, when the second configuration information includes: the second port number of the target gateway, the terminal device can use the second port number as the destination port number of the target data packet. Since the second port number corresponds to the dedicated bearer of the second cellular communication channel, the terminal device can retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0220] In some possible implementations, before receiving the retransmitted target data packet, the target gateway can obtain the real destination port number of the target data packet. Based on this, after the target gateway receives the retransmitted target data packet, it can update the second port number carried in the target data packet to the real destination port number and send it to the business server.
[0221] In some implementations, when the second configuration information includes: a second IP address and a second port number of the target gateway, the terminal device may use the second IP address as the destination IP address of the target data packet, and use the second port number as the destination port number of the target data packet. Since the second IP address and the second port number correspond to the dedicated bearer of the second cellular communication channel, the terminal device may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0222] In some possible implementations, before receiving the retransmitted target data packet, the target gateway can obtain the real IP address and the real destination port number of the target data packet. Based on this, after the target gateway receives the retransmitted target data packet, it can update the second IP address carried in the target data packet to the real IP address, update the second port number to the real destination port number, and send them to the business server.
[0223] It should be understood that if the target gateway receives multiple target data packets, the target gateway needs to perform deduplication processing and only needs to send one target data packet to the service server.
[0224] In an embodiment of the present application, the terminal device can obtain second configuration information corresponding to the dedicated bearer of the second cellular network, and use the second configuration information as at least one of the destination IP address and the destination port number of the target data packet to retransmit the target data packet based on the dedicated bearer corresponding to the second configuration information.
[0225] Figure 5 The interactive flow chart of another data transmission method provided in an embodiment of the present application, which can be executed by a terminal device and a target gateway, wherein there are N wireless communication channels between the terminal device and the target gateway, and the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1. Figure 5 As shown, the method may include:
[0226] S510: The target gateway initially transmits a target data packet to the terminal device based on N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of the first cellular communication channel;
[0227] In other words, the target gateway initially transmits the target data packet to the terminal device based on N wireless communication channels; wherein, when initially transmitting the target data packet based on the first cellular communication channel, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel.
[0228] In some implementations, the N wireless communication channels include a cellular communication channel, for example, the N wireless communication channels include a 5G communication channel and a WiFi communication channel.
[0229] In some implementations, the N wireless communication channels include multiple cellular communication channels, and the multiple cellular communication channels correspond to one telecom operator. For example, the N wireless communication channels include a 5G communication channel and a 4G communication channel, and both communication channels correspond to telecom operator A.
[0230] In some implementations, the N wireless communication channels include multiple cellular communication channels, and the multiple cellular communication channels correspond to multiple telecom operators, wherein the multiple cellular communication channels and the multiple telecom operators may have a one-to-one correspondence, for example, the N wireless communication channels include a 5G communication channel and a 4G communication channel, the 5G communication channel corresponds to telecom operator A, and the 4G communication channel corresponds to telecom operator B. Alternatively, the correspondence between the multiple cellular communication channels and the multiple telecom operators may include: a many-to-one correspondence and a one-to-one correspondence. For example, the N wireless communication channels include two 5G communication channels and one 4G communication channel, the two 5G communication channels correspond to telecom operator A, and the 4G communication channel corresponds to telecom operator B.
[0231] In summary, the embodiments of the present application do not limit the number of cellular communication channels included in the N wireless communication channels, nor the correspondence between the cellular communication channels and the telecommunications operators.
[0232] In some implementations, the first cellular communication channel is any one of the at least one cellular communication channel. In other words, for each cellular communication channel in the N wireless communication channels, when the target gateway initially transmits the target data packet through the cellular communication channel, the transmission is based on the default bearer of the cellular communication channel.
[0233] For example, assuming that N wireless communication channels include: a 5G communication channel and a 4G communication channel, for the 5G communication channel, the target gateway can use the default bearer corresponding to the 5G communication channel to initially transmit the target data packet, and for the 4G communication channel, the target gateway can use the default bearer corresponding to the 4G communication channel to initially transmit the target data packet.
[0234] In other possible implementations, the first cellular communication channel is any one of some of the at least one cellular communication channel. In other words, when the target gateway initially transmits the target data packet, it may initially transmit the target data packet based on the default bearer of some of the cellular communication channels.
[0235] In some implementations, the target data packet may be any downlink data packet sent by the service server to the terminal device.
[0236] S520: When all target data packets received based on the N wireless communication channels are erroneous, the terminal device sends a retransmission instruction for the target data packet to the target gateway;
[0237] It should be understood that, for any one of the N wireless communication channels, the target data packet received by the terminal device on the wireless communication channel is erroneous, including two situations, namely:
[0238] Case 1: For the wireless communication channel, the target data packet does not arrive within the specified time;
[0239] Case 2: the target data packet received by the terminal device on the wireless communication channel is an erroneous data packet;
[0240] Among them, after receiving the target data packet, the terminal device can check the data packet to detect whether the data packet is an erroneous data packet. The embodiment of the present application does not limit the verification method.
[0241] It should be understood that the retransmission indication is used to indicate to the target gateway to retransmit the target data packet.
[0242] S530: The target gateway retransmits the target data packet based on the dedicated bearer of the second cellular communication channel in response to the retransmission instruction.
[0243] In some implementations, the second cellular communication channel and the first cellular communication channel may be the same cellular communication channel or may be different cellular communication channels.
[0244] In some implementations, the second cellular communication channel may be any one of the at least one cellular communication channel.
[0245] In some other possible implementations, the second cellular communication channel may be any cellular communication channel among some of the at least one cellular communication channel.
[0246] In some further implementations, before the target gateway retransmits the target data packet based on the dedicated bearer of the second cellular communication channel, in response to the retransmission indication, selects P target communication channels from N wireless communication channels, wherein the P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel. In other words, the target gateway may select P target communication channels from N wireless communication channels in response to the retransmission indication, and retransmit the target data packet based on the P target communication channels, wherein when retransmitting the target data packet based on the second cellular communication channel, the target gateway may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel. The second cellular communication channel may be any one of the at least one cellular communication channel mentioned above. Alternatively, the second cellular communication channel may be any one of the cellular communication channels in some of the at least one cellular communication channel mentioned above.
[0247] For example, assuming that at least one target communication channel includes: a 5G communication channel and a 4G communication channel, for the 5G communication channel, the target gateway can use the dedicated bearer corresponding to the 5G communication channel to retransmit the target data packet, and for the 4G communication channel, the target gateway can use the dedicated bearer corresponding to the 4G communication channel to retransmit the target data packet.
[0248] It should be understood that if at least one target communication channel includes a WiFi communication channel, then when the target gateway retransmits data packets based on the WiFi communication channel, it may retransmit data packets according to conventional WiFi communication technology.
[0249] In some implementations, the target gateway selects P target communication channels from N wireless communication channels, which involves two issues: first, the number P of target communication channels; second, when the number P of target communication channels is determined, which wireless communication channels are specifically selected as target communication channels.
[0250] In the embodiment of the present application, regarding the number P of target communication channels, the target gateway may be determined in the following implementable manner, but is not limited thereto:
[0251] In some implementations, the number P of the target communication channels is a fixed value, for example, the number P of the target communication channels is 1, 2, and so on.
[0252] In some implementations, the number P of the target communication channels is determined based on the number M of error data packets received by the terminal device. For example, assuming M=1, the number P of the target communication channels may be 2, and assuming M=2, the number P of the target communication channels may be 1.
[0253] It should be understood that the reason why the number P of target communication channels is determined based on the number M of erroneous data packets received by the terminal device is because the terminal device expects to jointly demodulate the M initially transmitted erroneous data packets and the P retransmitted erroneous data packets to demodulate the correct target data packets, and the joint demodulation method has certain requirements on the number of erroneous data packets.
[0254] In the embodiment of the present application, regarding which wireless communication channels are specifically selected as target communication channels, the target gateway may be determined in the following implementable manners, but is not limited thereto:
[0255] In some implementations, the target gateway may select the first P wireless communication channels from the N wireless communication channels in descending order of channel quality. For example, the channel quality may be measured by experiments, based on which the target gateway may select the first P wireless communication channels from the N wireless communication channels in descending order of latency.
[0256] It should be understood that the target gateway may use a quality detection technology to detect the channel quality in the N wireless communication channels, and the embodiment of the present application does not limit the quality detection technology.
[0257] In some implementations, the target gateway may randomly select the first P wireless communication channels from the N wireless communication channels.
[0258] In some implementations, after S530, the following steps may be further included:
[0259] The process ends when the terminal device receives a retransmitted correct target data packet.
[0260] When a terminal device receives multiple retransmitted correct target data packets, the terminal device may deduplicate the target data packets.
[0261] When the retransmitted target data packets received by the terminal device are all erroneous, the terminal device can instruct the target gateway to retransmit the target data packets again, or the terminal device can discard the erroneous data packets; alternatively, the terminal device can perform joint demodulation on the initially transmitted erroneous data packets and the retransmitted erroneous data packets. If the joint demodulation is correct, the process ends; if the joint demodulation fails, the terminal device can instruct the target gateway to retransmit the target data packets again, or the terminal device can discard the erroneous data packets.
[0262] An embodiment of the present application provides a data transmission method. When a target gateway initially transmits a target data packet to a terminal device based on N wireless communication channels, the target gateway may initially transmit the data packet based on the default bearer of the cellular communication channel. When the target gateway retransmits the target data packet to the target gateway based on at least one cellular communication channel, it may retransmit the data packet based on the dedicated bearer of the cellular communication channel. Since the service quality guarantee requirements of the dedicated bearer, including the requirement for latency, are higher than those of the default bearer, retransmitting the data packet through the dedicated bearer can reduce the transmission latency of the data packet.
[0263] In addition, the target gateway initially transmits the target data packet through the default bearer of the cellular communication channel. Only when retransmitting the target data packet, the target gateway will use the dedicated bearer of the cellular communication channel, resulting in less consumption of dedicated bearer traffic and thus saving the traffic cost of the terminal device.
[0264] As described above, the number P of target communication channels may be determined based on the number M of error data packets received by the terminal device. Based on this, the following implementable ways are proposed in the embodiments of the present application:
[0265] Implementable way 1: When all the target data packets received by the terminal device based on N wireless communication channels are in error, determine the number M of error data packets received by the terminal device; and send the number M of error data packets to the target gateway; 1 ≤ M ≤ N, and M is a positive integer.
[0266] Wherein, the error data packet is the error data packet of the target data packet. In other words, the error data packet is the target data packet that is in error. For example, assume the target data packet is data packet A, and data packet A is specifically 001, while the terminal device receives data packet A as 000, then it means that the data packet A received by the terminal device is an error data packet.
[0267] It should be understood that when 1 ≤ M < N, it means that the terminal device has received at least one error data packet based on N wireless communication channels, and for at least one wireless communication channel, the target data packet has not arrived within the specified time. When M = N, it means that the terminal device has received the target data packets based on N wireless communication channels, but all these target data packets are error data packets.
[0268] In some implementable ways, the terminal device may carry the number M of error data packets in the above retransmission indication so that the target gateway can obtain the number M of error data packets.
[0269] In other possible implementations, after receiving the above-mentioned retransmission indication, the target gateway may send a first request message to the terminal device, where the first request message is used to request the number M of erroneous data packets. Further, the target gateway may receive a first response message, where the first response message carries the number M of erroneous data packets.
[0270] Accordingly, the target gateway selects P target communication channels from the N wireless communication channels based on the number M of error packets.
[0271] In an embodiment of the present application, the target gateway may select P target communication channels from N wireless communication channels based on the number M of error data packets in the following achievable manner, but is not limited thereto:
[0272] In some implementations, the target gateway may select P target communication channels from N wireless communication channels; wherein 3-M≤P≤N, P is a positive integer, and P+M is an odd number.
[0273] The reason why 3-M≤P is set, and P+M is an odd number, is that when both the target data packets received by the terminal device based on N wireless communication channels and the target data packets received based on at least one target communication channel are erroneous, the terminal device can jointly demodulate the correct target data packets based on the initially transmitted M erroneous data packets and the retransmitted P erroneous data packets.
[0274] Based on this, in some implementable embodiments, the data transmission method also includes: when the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are both erroneous, the terminal device obtains M initially transmitted erroneous data packets and P retransmitted erroneous data packets; and determines the target data packet based on the M erroneous data packets and the P erroneous data packets.
[0275] In the embodiment of the present application, the terminal device may determine the target data packet based on the M error data packets and the P error data packets in any of the following implementable manners, but is not limited thereto:
[0276] In some implementations, the terminal device may select, for any bit of the target data packet, a value with the highest probability on the bit from among the M error data packets and the P error data packets to form the target data packet.
[0277] For example, it is assumed that the target gateway initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, while the data packet A received by the terminal device on the 5G communication channel is 000, and the data packet A received by the terminal device on the WiFi communication channel is 011. Further, the terminal device detects that both of the initially transmitted data packets are erroneous data packets, and it can instruct the target gateway to retransmit data packet A. At this time, the target gateway selects the 5G communication channel with better quality from the 5G communication channel and the WiFi communication channel, and retransmits data packet A based on the dedicated bearer of the 5G communication channel, while the data packet A received by the terminal device on the 5G communication channel is 101, which is still an erroneous data packet. Furthermore, the terminal device combines the initially transmitted 000, 011 and the retransmitted 101, selects the highest probability 0 for the first bit, selects the highest probability 0 for the second bit, selects the highest probability 1 for the third bit, and combines the three bits to obtain 001, and the data packet 001 is the correct data packet A.
[0278] For example, assuming that the target gateway initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, and the data packet A received by the terminal device on the WiFi communication channel is 011, and for the 5G communication channel, the terminal device does not receive data packet A within the specified time, and further, the terminal device can instruct the target gateway to retransmit data packet A, and then the target gateway retransmits data packet A based on the 5G communication channel and the WiFi communication channel, wherein, when retransmitting data packet A based on the 5G communication channel, the target gateway can retransmit data packet A based on the dedicated bearer of the 5G communication channel, and the data packet A received by the terminal device on the 5G communication channel is 101, and the data packet A received on the WiFi communication channel is 000, and these two data packets are still erroneous data packets. Furthermore, the terminal device combines the initially transmitted 011 and the retransmitted 101 and 000, selects the highest probability 0 for the first bit, selects the highest probability 0 for the second bit, selects the highest probability 1 for the third bit, and combines the three bits to obtain 001, and the data packet 001 is the correct data packet A.
[0279] In other possible implementations, the terminal device can select, for any bit position of the target data packet, a numerical value with the smallest probability on the bit position from M erroneous data packets and P erroneous data packets, invert the numerical value, and combine the inverted results on each bit to obtain the target data packet.
[0280] For example, it is assumed that the target gateway initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, while the data packet A received by the terminal device on the 5G communication channel is 000, and the data packet A received by the terminal device on the WiFi communication channel is 011. Further, the terminal device detects that both of the initially transmitted data packets are erroneous data packets, and it can instruct the target gateway to retransmit data packet A. At this time, the target gateway selects the 5G communication channel with better quality from the 5G communication channel and the WiFi communication channel, and retransmits data packet A based on the dedicated bearer of the 5G communication channel, while the data packet A received by the terminal device on the 5G communication channel is 101, which is still an erroneous data packet. Further, the terminal device combines the initially transmitted 000, 011 and the retransmitted 101, selects 1 with the smallest probability for the first bit, selects 1 with the smallest probability for the second bit, selects 0 with the smallest probability for the third bit, and inverts and combines these three values respectively to obtain 001, and the data packet 001 is the correct data packet A.
[0281] For example, assuming that the target gateway initially transmits data packet A based on the 5G communication channel and the WiFi communication channel, and the data packet A is specifically 001, and the data packet A received by the terminal device on the WiFi communication channel is 011, and for the 5G communication channel, the terminal device does not receive data packet A within the specified time, and further, the terminal device can instruct the target gateway to retransmit data packet A, and then the target gateway retransmits data packet A based on the 5G communication channel and the WiFi communication channel, wherein, when retransmitting data packet A based on the 5G communication channel, the target gateway can retransmit data packet A based on the dedicated bearer of the 5G communication channel, and the data packet A received by the terminal device on the 5G communication channel is 101, and the data packet A received on the WiFi communication channel is 000, and these two data packets are still erroneous data packets. Further, the terminal device combines the initially transmitted 011 and the retransmitted 101 and 000, selects 1 with the smallest probability for the first bit, selects 1 with the smallest probability for the second bit, and selects 0 with the smallest probability for the third bit, and respectively inverts and combines these three values to obtain 001, and the data packet 001 is the correct data packet A.
[0282] A second implementation method is that when all target data packets received based on N wireless communication channels are erroneous, the terminal device determines the number M of erroneous data packets received by the terminal device; and determines the number P of target communication channels based on the number M of erroneous data packets; sends the number P of target communication channels to the target gateway; wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the erroneous data packet is an erroneous data packet of the target data packet; 1≤M≤N, and M is a positive integer.
[0283] It should be understood that the difference between the second implementation method and the first implementation method is that: in the second implementation method, the terminal device determines the number P of target communication channels based on the number M of error packets, and sends the number P of target communication channels to the target gateway. In the first implementation method, the terminal device sends the number M of error packets to the target gateway, and the target gateway determines the number P of target communication channels based on the number M of error packets. The terminal device determines the number P of target communication channels based on the number M of error packets in the same way as the target gateway determines the number P of target communication channels based on the number M of error packets, and the embodiments of the present application will not be repeated here.
[0284] In some possible implementations, the terminal device may carry the number P of target communication channels in the above retransmission indication, so that the target gateway obtains the number P of target communication channels.
[0285] In other possible implementations, after receiving the above-mentioned retransmission indication, the target gateway may send a second request message to the terminal device gateway, where the second request message is used to request the number P of target communication channels. Further, the target gateway may receive a second response message, which carries the number P of target communication channels.
[0286] Correspondingly, the target gateway selects P target communication channels from the N wireless communication channels.
[0287] Based on this, in some implementable embodiments, the data transmission method also includes: when the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are both erroneous, the terminal device obtains M initially transmitted erroneous data packets and P retransmitted erroneous data packets; and determines the target data packet based on the M erroneous data packets and the P erroneous data packets.
[0288] Among them, the specific method for the terminal device to determine the target data packet based on M error data packets and P error data packets can be referred to above, and the embodiments of the present application will not be repeated here.
[0289] In an embodiment of the present application, the target gateway can select P target communication channels from N wireless communication channels, where 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; so that when the retransmitted target data packet received by the terminal device is still erroneous, it can determine the correct target data packet based on the M erroneous data packets and the P erroneous data packets, that is, perform joint demodulation, thereby improving the weak network resistance performance of the communication system using the data transmission method provided in the embodiment of the present application.
[0290] As described above, the target gateway may be a distributed system. In other words, there may be multiple target gateways. Based on this, the terminal device or the first server may select a target gateway from multiple target gateways. The specific selection method may be referred to above, and the embodiments of the present application will not elaborate on this.
[0291] In some implementable embodiments, before the target gateway initially transmits the target data packet based on the default bearer of the first cellular communication channel, the data transmission method further includes: the target gateway obtains first configuration information corresponding to the default bearer of the first cellular communication channel; accordingly, the target gateway can use the first configuration information as at least one of the source IP address and the source port number of the target data packet to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0292] In some possible implementations, the first configuration information may be configured to the target gateway manually or automatically, which is not limited in the embodiments of the present application.
[0293] It should be understood that the reason for setting the first configuration information and the second configuration information to be mentioned below is that the current telecommunications operators distinguish between default bearers and dedicated bearers. The first configuration information will subsequently be matched with the default bearer so that the target data packet can be transmitted through the default bearer, and the second configuration information will subsequently be matched with the dedicated bearer so that the target data packet can be transmitted through the dedicated bearer.
[0294] In some implementations, the first configuration information includes: a first IP address of a target gateway.
[0295] In some implementations, the first configuration information includes: a first port number of the target gateway.
[0296] In some implementations, the first configuration information includes: a first IP address of the target gateway and a first port number of the target gateway.
[0297] It should be understood that the first configuration information corresponds to the default bearer of the first cellular communication channel. In other words, the default bearer of each cellular communication channel in the N wireless communication channels corresponds to a first configuration information, wherein the default bearers of different cellular communication channels may correspond to the same first configuration information or different first configuration information. In addition, if the N wireless communication channels also include a WiFi communication channel, then the WiFi communication channel may also correspond to a first configuration information, and the first configuration information may correspond to the same first configuration information as other cellular communication channels, or may correspond to different first configuration information.
[0298] Among them, the correspondence between the default bearer of the cellular communication channel and the first configuration information, as well as the correspondence between the WiFi communication channel and the first configuration information can be referred to above, and the embodiments of the present application will not be repeated here.
[0299] In some possible implementations, when the first configuration information includes: a first IP address of a target gateway, the target gateway may use the first IP address as the source IP address of a target data packet. Since the first IP address corresponds to a default bearer of a first cellular communication channel, the target gateway may initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0300] In some possible implementations, when the first configuration information includes: a first port number of a target gateway, the target gateway may use the first port number as the source port number of a target data packet. Since the first port number corresponds to a default bearer of the first cellular communication channel, the target gateway may initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0301] In some possible implementations, when the first configuration information includes: a first IP address and a first port number of a target gateway, the target gateway may use the first IP address as the source IP address of a target data packet, and use the first port number as the source port number of the target data packet. Since the first IP address and the first port number correspond to the default bearer of the first cellular communication channel, the target gateway may initially transmit the target data packet based on the default bearer of the first cellular communication channel.
[0302] In some possible implementations, the target gateway may also send first configuration information to the first server; the first server updates at least one of the source IP address and the source port number in the quintuple information of the target data packet to the first configuration information, and sends the updated quintuple information to the second server corresponding to the first cellular communication channel; the second server triggers the establishment of a default bearer for the first cellular communication channel based on the updated quintuple information.
[0303] In some implementations, the first server may be Figure 3 QoS service backend server in the application scenario.
[0304] In some implementations, the second server may be Figure 3 QoS acceleration server 340 in the application scenario.
[0305] In some implementations, for cellular communication channels belonging to the same telecommunication operator, they may correspond to the same second server, and for cellular communication channels belonging to different telecommunication operators, they may correspond to different second servers.
[0306] It should be understood that the examples of the correspondence between the cellular communication channel and the second server can be referred to above, and the embodiments of the present application will not be described in detail.
[0307] It should be understood that the five-tuple information of the target data packet includes: the source IP address, source port number, destination IP address, destination port number, and transport protocol name of the target data packet.
[0308] In some implementations, before the first server updates at least one of the source IP address and the source port number in the quintuple information of the target data packet to the first configuration information, the first server can obtain the quintuple information of the target data packet, for example, by receiving the quintuple information of the target data packet sent by the target gateway.
[0309] In some implementations, if the first configuration information includes: a first IP address of the target gateway, the first server may update the source IP address in the five-tuple information of the target data packet to the first IP address.
[0310] In some implementations, if the first configuration information includes: a first port number of the target gateway, the first server may update the source port number in the five-tuple information of the target data packet to the first port number.
[0311] In some implementations, if the first configuration information includes: a first IP address of a target gateway and a first port number of a target gateway, the first server may update the source IP address in the five-tuple information of the target data packet to the first IP address, and update the source port number to the first port number.
[0312] In some implementable embodiments, when the second server receives the updated five-tuple information, it can send the updated five-tuple information to the terminal device and the base station and core network device involved in the first cellular communication channel, such as PGW in the 4G network, and can also send information such as the applied guaranteed bandwidth, so that the default bearer of the first cellular communication channel is established between the terminal device and the base station and core network device involved in the first cellular communication channel. The process of establishing the default bearer of the first cellular communication channel is not described in detail in the embodiment of the present application.
[0313] In an embodiment of the present application, the target gateway can obtain the first configuration information corresponding to the default bearer of the first cellular network, and use the first configuration information as at least one of the source IP address and the source port number of the target data packet to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0314] In some possible implementations, before the target gateway retransmits the target data packet based on the dedicated bearer of the second cellular communication channel, the data transmission method also includes: the target gateway obtains second configuration information corresponding to the dedicated bearer of the second cellular communication channel; accordingly, the target gateway uses the second configuration information as at least one of the source IP address and the source port number of the target data packet to retransmit the target data packet based on the dedicated bearer corresponding to the second configuration information.
[0315] In some possible implementations, the second configuration information may be configured to the target gateway manually or automatically, which is not limited in the embodiments of the present application.
[0316] In some implementations, the second configuration information includes: a second IP address of the target gateway.
[0317] In some implementations, the second configuration information includes: a second port number of the target gateway.
[0318] In some implementations, the second configuration information includes: a second IP address of the target gateway and a second port number of the target gateway.
[0319] It should be understood that the second configuration information corresponds to the dedicated bearer of the second cellular communication channel. In other words, the dedicated bearer of each cellular communication channel in at least one target communication channel corresponds to a second configuration information, wherein the dedicated bearers of different cellular communication channels may correspond to the same second configuration information or different second configuration information.
[0320] Among them, the example of the correspondence between the dedicated bearer of the cellular communication channel and the second configuration information can be referred to above, and the embodiments of the present application will not be described in detail.
[0321] In some implementations, when the second configuration information includes: a second IP address of a target gateway, the target gateway may use the second IP address as the source IP address of a target data packet. Since the second IP address corresponds to a dedicated bearer of a second cellular communication channel, the target gateway may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0322] In some implementations, when the second configuration information includes: the second port number of the target gateway, the target gateway may use the second port number as the source port number of the target data packet. Since the second port number corresponds to the dedicated bearer of the second cellular communication channel, the target gateway may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0323] In some implementations, when the second configuration information includes: a second IP address and a second port number of a target gateway, the target gateway may use the second IP address as the source IP address of a target data packet, and use the second port number as the source port number of the target data packet. Since the second IP address and the second port number correspond to a dedicated bearer of a second cellular communication channel, the target gateway may retransmit the target data packet based on the dedicated bearer of the second cellular communication channel.
[0324] In some possible implementations, the target gateway may also send second configuration information to the first server; the first server updates at least one of the source IP address and the source port number in the quintuple information of the target data packet to the second configuration information, and sends the updated quintuple information to the third server corresponding to the second cellular communication channel; the third server triggers the establishment of a dedicated bearer for the second cellular communication channel based on the updated quintuple information.
[0325] In some implementations, the first server may be Figure 3 QoS service backend server in the application scenario.
[0326] In some implementations, the third server may be Figure 3 QoS acceleration server 340 in the application scenario.
[0327] In some implementations, for cellular communication channels belonging to the same telecommunication operator, they may correspond to the same third server, and for cellular communication channels belonging to different telecommunication operators, they may correspond to different third servers.
[0328] It should be understood that the examples of the corresponding relationship between the cellular communication channel and the third server can be referred to above, and the embodiments of the present application will not be described in detail.
[0329] It should be understood that the five-tuple information of the target data packet includes: the source IP address, source port number, destination IP address, destination port number, and transport protocol name of the target data packet.
[0330] In some implementations, before the first server updates at least one of the source IP address and the source port number in the quintuple information of the target data packet to the second configuration information, the first server can obtain the quintuple information of the target data packet, for example, by receiving the quintuple information of the target data packet sent by the target gateway.
[0331] In some implementations, if the second configuration information includes: a second IP address of the target gateway, the first server may update the source IP address in the five-tuple information of the target data packet to the second IP address.
[0332] In some implementations, if the first configuration information includes: a second port number of the target gateway, the first server may update the source port number in the five-tuple information of the target data packet to the second port number.
[0333] In some implementations, if the first configuration information includes: a second IP address of the target gateway and a second port number of the target gateway, then the first server can update the source IP address in the five-tuple information of the target data packet to the second IP address, and update the source port number to the second port number.
[0334] In some achievable embodiments, when the third server receives the updated five-tuple information, it may send the updated five-tuple information to the terminal device and the base station and core network device involved in the second cellular communication channel, such as PGW in the 4G network, and may also send information such as the applied guaranteed bandwidth, so that a dedicated bearer of the second cellular communication channel is established between the terminal device and the base station and core network device involved in the second cellular communication channel. The process of establishing the dedicated bearer of the second cellular communication channel is not described in detail in the embodiment of the present application.
[0335] In an embodiment of the present application, the target gateway can obtain second configuration information corresponding to the dedicated bearer of the second cellular network, and use the second configuration information as at least one of the source IP address and source port number of the target data packet to retransmit the target data packet based on the dedicated bearer corresponding to the second configuration information.
[0336] The preferred embodiments of the present application are described in detail above in conjunction with the accompanying drawings. However, the present application is not limited to the specific details in the above embodiments. Within the technical concept of the present application, the technical solution of the present application can be subjected to a variety of simple modifications, and these simple modifications all belong to the protection scope of the present application. For example, the various specific technical features described in the above specific embodiments can be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present application will not further explain various possible combinations. For another example, the various different embodiments of the present application can also be arbitrarily combined, as long as they do not violate the ideas of the present application, they should also be regarded as the contents disclosed in the present application.
[0337] It should also be understood that in the various method embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
[0338] The method provided in the embodiment of the present application is described above, and the device provided in the embodiment of the present application is described below.
[0339] Figure 6A schematic diagram of a terminal device 600 provided in an embodiment of the present application, wherein there are N wireless communication channels between the terminal device and the target gateway, the N wireless communication channels including at least one cellular communication channel, wherein N is an integer greater than 1; Figure 6 As shown, the terminal device 600 includes: a transceiver module 610 is used to: initially transmit a target data packet to a target gateway based on N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; receive a retransmission indication for the target data packet; and in response to the retransmission indication, retransmit the target data packet based on a dedicated bearer of a second cellular communication channel.
[0340] In some implementations, the terminal device 600 also includes: a processing module 620, wherein the transceiver module 610 is also used to obtain the number P of target communication channels before the transceiver module 610 retransmits the target data packet based on the dedicated bearer of the second cellular communication channel; wherein 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; M is the number of erroneous data packets received by the target gateway, the erroneous data packet is an erroneous data packet of the target data packet, 1≤M≤N, and M is a positive integer; the processing module 620 is used to select P target communication channels from N wireless communication channels; wherein the P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
[0341] In some possible implementations, the transceiver module 610 is further used to receive first configuration information corresponding to the default bearer of the first cellular communication channel before the transceiver module 610 initially transmits the target data packet based on the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first IP address, a first port number; accordingly, the transceiver module 610 is specifically used to: use the first configuration information as at least one of the destination IP address and the destination port number of the target data packet, so as to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0342] In some possible implementations, the transceiver module 610 is further used to receive second configuration information corresponding to the dedicated bearer of the second cellular communication channel before the transceiver module 610 retransmits the target data packet based on the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; accordingly, the transceiver module 610 is specifically used to: use the second configuration information as at least one of the destination IP address and the destination port number of the target data packet, so as to retransmit the target data packet based on the default bearer corresponding to the second configuration information.
[0343] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 6 The terminal device 600 shown can execute Figure 4 The corresponding process executed by the terminal device in the corresponding method embodiment, and the aforementioned and other operations and / or functions of each module in the terminal device 600 are respectively to implement Figure 4 For the sake of brevity, the corresponding processes executed by the terminal device in the corresponding method embodiment will not be repeated here.
[0344] The terminal device 600 of the embodiment of the present application is described above from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0345] Figure 7 A schematic diagram of a target gateway 700 provided in an embodiment of the present application, wherein the target gateway has N wireless communication channels with a terminal device, wherein the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1, such as Figure 7 As shown, the target gateway 700 includes: a transceiver module 710, which is used to: receive a target data packet initially transmitted based on N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; when the target data packets received based on the N wireless communication channels are all erroneous, send a retransmission indication for the target data packet to the terminal device; receive a target data packet retransmitted based on a dedicated bearer of the second cellular communication channel.
[0346] In some possible implementations, the target gateway 700 also includes: a processing module 720, used to: determine the number M of erroneous data packets received by the target gateway when all target data packets received based on N wireless communication channels are erroneous; and determine the number P of target communication channels based on the number M of erroneous data packets; the transceiver module 710 is also used to send the number P of target communication channels to the terminal device; wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the erroneous data packet is an erroneous data packet of the target data packet; 1≤M≤N, and M is a positive integer; wherein, P target communication channels are used to retransmit the target data packet, and the P target communication channels include a second cellular communication channel.
[0347] In some possible implementations, the transceiver module 710 is further used to: when both the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are erroneous, obtain M initially transmitted erroneous data packets and P retransmitted erroneous data packets; the processing module 720 is further used to determine the target data packet based on the M erroneous data packets and the P erroneous data packets.
[0348] In some implementations, the processing module 720 is specifically configured to: for any bit of the target data packet, select a value with the highest probability on the bit from the M error data packets and the P error data packets to form the target data packet.
[0349] In some possible implementations, the transceiver module 710 is also used to: obtain first configuration information corresponding to the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first IP address, a first port number; send the first configuration information to the first server, so that the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the first configuration information, and sends the updated quintuple information to the second server corresponding to the first cellular communication channel, so that the second server triggers the establishment of the default bearer of the first cellular communication channel based on the updated quintuple information, and sends the first configuration information to the terminal device through the first server.
[0350] In some possible implementations, the transceiver module 710 is also used to: obtain second configuration information corresponding to the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; send the second configuration information to the first server, so that the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the second configuration information, and sends the updated quintuple information to the third server corresponding to the second cellular communication channel, so that the third server triggers the establishment of the dedicated bearer of the second cellular communication channel based on the updated quintuple information, and sends the second configuration information to the terminal device through the first server.
[0351] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 7 The target gateway 700 shown may perform Figure 4 The corresponding process executed by the target gateway in the corresponding method embodiment, and the aforementioned and other operations and / or functions of each module in the target gateway 700 are respectively to implement Figure 4 For the sake of brevity, the corresponding process executed by the target gateway in the corresponding method embodiment will not be repeated here.
[0352] The target gateway 700 of the embodiment of the present application is described above from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to execute, or a combination of hardware and software modules in the decoding processor to execute. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0353] Figure 8 A schematic diagram of a target gateway 800 provided in an embodiment of the present application, wherein there are N wireless communication channels between the target gateway and the terminal device, the N wireless communication channels including at least one cellular communication channel, wherein N is an integer greater than 1; Figure 8As shown, the target gateway 800 includes: a transceiver module 810, which is used to: initially transmit a target data packet to a terminal device based on N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; receive a retransmission indication for the target data packet; and in response to the retransmission indication, retransmit the target data packet based on a dedicated bearer of a second cellular communication channel.
[0354] In some implementations, the target gateway 800 also includes: a processing module 820, wherein the transceiver module 810 is further used to: obtain the number P of target communication channels before the transceiver module 810 retransmits the target data packet based on the dedicated bearer of the second cellular communication channel; wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; M is the number of erroneous data packets received by the terminal device, the erroneous data packets are erroneous data packets of the target data packets, 1≤M≤N, and M is a positive integer; the processing module 820 is used to select P target communication channels from N wireless communication channels; wherein, the P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
[0355] In some possible implementations, the transceiver module 810 is further used to: before the transceiver module 810 initially transmits the target data packet based on the default bearer of the first cellular communication channel, obtain first configuration information corresponding to the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first IP address, a first port number; accordingly, the transceiver module 810 is specifically used to: use the first configuration information as at least one of the source IP address and the source port number of the target data packet, so as to initially transmit the target data packet based on the default bearer corresponding to the first configuration information.
[0356] In some possible implementations, the transceiver module 810 is further used to: before the transceiver module 810 retransmits the target data packet based on the dedicated bearer of the second cellular communication channel, obtain second configuration information corresponding to the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; accordingly, the transceiver module 810 is specifically used to: use the second configuration information as at least one of the source IP address and the source port number of the target data packet, so as to retransmit the target data packet based on the default bearer corresponding to the second configuration information.
[0357] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Figure 8 The target gateway 800 shown may execute Figure 5 The corresponding process executed by the target gateway in the corresponding method embodiment, and the aforementioned and other operations and / or functions of each module in the target gateway 800 are respectively to implement Figure 5 For the sake of brevity, the corresponding process executed by the target gateway in the corresponding method embodiment will not be described in detail here.
[0358] The target gateway 800 of the embodiment of the present application is described above from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to execute, or a combination of hardware and software modules in the decoding processor to execute. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0359] Fig. 9 A schematic diagram of a terminal device 900 provided in an embodiment of the present application, wherein the terminal device has N wireless communication channels with a target gateway, the N wireless communication channels including at least one cellular communication channel, wherein N is an integer greater than 1, such as Fig. 9 As shown, the terminal device 900 includes: a transceiver module 910, which is used to: receive a target data packet initially transmitted based on N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on the default bearer of the first cellular communication channel; when the target data packets received based on the N wireless communication channels are all erroneous, a retransmission indication for the target data packet is sent to the target gateway; and a target data packet retransmitted based on a dedicated bearer of the second cellular communication channel is received.
[0360] In some possible implementations, the terminal device 900 also includes: a processing module 920, which is used to: determine the number M of erroneous data packets received by the terminal device when all target data packets received based on N wireless communication channels are erroneous; and determine the number P of target communication channels based on the number M of erroneous data packets; the transceiver module 910 is also used to send the number P of target communication channels to the target gateway; wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the erroneous data packet is an erroneous data packet of the target data packet; 1≤M≤N, and M is a positive integer; wherein, the P target communication channels are used to retransmit the target data packet, and the P target communication channels include a second cellular communication channel.
[0361] In some possible implementations, the transceiver module 910 is also used to: when both the target data packets received based on N wireless communication channels and the target data packets received based on at least one target communication channel are erroneous, obtain M initially transmitted erroneous data packets and P retransmitted erroneous data packets; the processing module 920 is also used to determine the target data packet based on the M erroneous data packets and the P erroneous data packets; wherein the erroneous data packet is an erroneous data packet of the target data packet.
[0362] In some implementations, the processing module 920 is specifically configured to: for any bit of the target data packet, select a value with the highest probability on the bit from the M error data packets and the P error data packets to form the target data packet.
[0363] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, they will not be described here. Specifically, Fig. 9 The terminal device 900 shown can execute Figure 5 The corresponding process executed by the terminal device in the corresponding method embodiment, and the aforementioned and other operations and / or functions of each module in the terminal device 900 are respectively to implement Figure 5 For the sake of brevity, the corresponding processes executed by the terminal device in the corresponding method embodiment will not be repeated here.
[0364] The terminal device 900 of the embodiment of the present application is described above from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.
[0365] Fig.10 1 is a schematic block diagram of an electronic device provided in an embodiment of the present application. The electronic device may be the above-mentioned terminal device or the target gateway.
[0366] like Fig.10 As shown, the electronic device may include:
[0367] The memory 1010 and the processor 1020, the memory 1010 is used to store the computer program and transmit the program code to the processor 1020. In other words, the processor 1020 can call and run the computer program from the memory 1010 to implement the method in the embodiment of the present application.
[0368] For example, the processor 1020 may be configured to execute the above method embodiments according to instructions in the computer program.
[0369] In some embodiments of the present application, the processor 1020 may include but is not limited to:
[0370] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
[0371] In some embodiments of the present application, the memory 1010 includes but is not limited to:
[0372] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).
[0373] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 1010 and executed by the processor 1020 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device.
[0374] like Fig.10 As shown, the electronic device may also include:
[0375] The transceiver 1030 may be connected to the processor 1020 or the memory 1010 .
[0376] The processor 1020 may control the transceiver 1030 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 1030 may include a transmitter and a receiver. The transceiver 1030 may further include an antenna, and the number of antennas may be one or more.
[0377] It should be understood that the various components in the electronic device are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.
[0378] The present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.
[0379] When software is used for implementation, 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 instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can 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 instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.
[0380] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0381] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0382] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0383] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A data transmission method, characterized in that: The method is applied to a terminal device, wherein there are N wireless communication channels between the terminal device and a target gateway, wherein the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the method comprises: Initially transmitting a target data packet to the target gateway based on the N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of the first cellular communication channel; receiving a retransmission indication for the target data packet; In response to the retransmission instruction, the target data packet is retransmitted based on the dedicated bearer of the second cellular communication channel.
2. The method according to claim 1, characterized in that Before retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel, the method further includes: Obtain the number P of target communication channels; wherein 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; M is the number of error packets received by the target gateway, the error packets are error packets of the target packets, 1≤M≤N, and M is a positive integer; Selecting P target communication channels from the N wireless communication channels; The P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
3. The method according to claim 1 or 2, characterized in that: Before initially transmitting the target data packet based on the default bearer of the first cellular communication channel, the method further includes: Receive first configuration information corresponding to the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first Internet Protocol IP address, a first port number; The initially transmitting the target data packet based on the default bearer of the first cellular communication channel includes: The first configuration information is used as at least one of a destination IP address and a destination port number of the target data packet, so as to initially transmit the target data packet based on a default bearer corresponding to the first configuration information.
4. The method according to claim 1 or 2, characterized in that: Before retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel, the method further includes: Receive second configuration information corresponding to the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; The retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel includes: The second configuration information is used as at least one of a destination IP address and a destination port number of the target data packet, so as to retransmit the target data packet based on a default bearer corresponding to the second configuration information.
5. A data transmission method, characterized in that: The method is applied to a target gateway, wherein there are N wireless communication channels between the target gateway and the terminal device, wherein the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1, and the method includes: Receiving a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; When all the target data packets received based on the N wireless communication channels are erroneous, sending a retransmission instruction for the target data packet to the terminal device; The target data packet is received and retransmitted based on the dedicated bearer of the second cellular communication channel.
6. The method according to claim 5, characterized in that Also includes: When the target data packets received based on the N wireless communication channels are all erroneous, determining the number M of erroneous data packets received by the target gateway; and determining the number P of target communication channels based on the number M of the error data packets; Sending the number P of the target communication channels to the terminal device; Wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the error data packet is an error data packet of the target data packet; 1≤M≤N, and M is a positive integer; The P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
7. The method according to claim 6, characterized in that Also includes: When the target data packets received based on the N wireless communication channels and the target data packets received based on the P target communication channels are both erroneous, then obtaining the initially transmitted M erroneous data packets and the retransmitted P erroneous data packets; And the target data packet is determined based on the M error data packets and the P error data packets.
8. The method according to claim 7, characterized in that The determining the target data packet based on the M error data packets and the P error data packets comprises: For any bit position of the target data packet, a value with the highest probability on the bit position is selected from the M error data packets and the P error data packets to form the target data packet.
9. The method according to any one of claims 5 to 8, characterized in that: Also includes: Acquire first configuration information corresponding to the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first IP address, a first port number; Send the first configuration information to the first server, so that the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the first configuration information, and sends the updated quintuple information to the second server corresponding to the first cellular communication channel, so that the second server triggers the establishment of the default bearer of the first cellular communication channel based on the updated quintuple information, and sends the first configuration information to the terminal device through the first server.
10. The method according to any one of claims 5 to 8, characterized in that: Also includes: Acquire second configuration information corresponding to the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; Send the second configuration information to the first server so that the first server updates at least one of the destination IP address and the destination port number in the quintuple information of the target data packet to the second configuration information, and sends the updated quintuple information to the third server corresponding to the second cellular communication channel, so that the third server triggers the establishment of a dedicated bearer for the second cellular communication channel based on the updated quintuple information, and sends the second configuration information to the terminal device through the first server.
11. A data transmission method, characterized in that: The method is applied to a target gateway, wherein there are N wireless communication channels between the target gateway and the terminal device, wherein the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1; the method comprises: Initially transmitting a target data packet to the terminal device based on the N wireless communication channels; wherein, when initially transmitting the target data packet, the target data packet is initially transmitted based on a default bearer of the first cellular communication channel; receiving a retransmission indication for the target data packet; In response to the retransmission instruction, the target data packet is retransmitted based on the dedicated bearer of the second cellular communication channel.
12. The method according to claim 11, characterized in that Before retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel, the method further includes: Obtain the number P of target communication channels; wherein 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; M is the number of error data packets received by the terminal device, the error data packets are error data packets of the target data packets, 1≤M≤N, and M is a positive integer; Selecting P target communication channels from the N wireless communication channels; The P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
13. The method according to claim 11 or 12, characterized in that: Before initially transmitting the target data packet based on the default bearer of the first cellular communication channel, the method further includes: Acquire first configuration information corresponding to the default bearer of the first cellular communication channel; wherein the first configuration information includes at least one of the following items of the target gateway: a first IP address, a first port number; The initially transmitting the target data packet based on the default bearer of the first cellular communication channel includes: The first configuration information is used as at least one of a source IP address and a source port number of the target data packet, so as to initially transmit the target data packet based on a default bearer corresponding to the first configuration information.
14. The method according to claim 11 or 12, characterized in that: Before retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel, the method further includes: Acquire second configuration information corresponding to the dedicated bearer of the second cellular communication channel; wherein the second configuration information includes at least one of the following items of the target gateway: a second IP address, a second port number; The retransmitting the target data packet based on the dedicated bearer of the second cellular communication channel includes: The second configuration information is used as at least one of a source IP address and a source port number of the target data packet, so as to retransmit the target data packet based on a default bearer corresponding to the second configuration information.
15. A data transmission method, characterized in that: The method is applied to a terminal device, wherein there are N wireless communication channels between the terminal device and a target gateway, wherein the N wireless communication channels include at least one cellular communication channel, wherein N is an integer greater than 1, and the method comprises: Receiving a target data packet initially transmitted based on the N wireless communication channels; wherein, when the target data packet is initially transmitted, the target data packet is initially transmitted based on a default bearer of a first cellular communication channel; When all the target data packets received based on the N wireless communication channels are erroneous, sending a retransmission instruction for the target data packet to the target gateway; The target data packet is received and retransmitted based on the dedicated bearer of the second cellular communication channel.
16. The method according to claim 15, characterized in that Also includes: When the target data packets received based on the N wireless communication channels are all erroneous, determining the number M of erroneous data packets received by the terminal device; and determining the number P of target communication channels based on the number M of the error data packets; Sending the number P of the target communication channels to the target gateway; Wherein, 3-M≤P≤N, and P is a positive integer, and P+M is an odd number; the error data packet is an error data packet of the target data packet; 1≤M≤N, and M is a positive integer; The P target communication channels are used to retransmit the target data packet, and the P target communication channels include the second cellular communication channel.
17. The method according to claim 16, characterized in that Also includes: When the target data packets received based on the N wireless communication channels and the target data packets received based on the P target communication channels are both erroneous, then obtaining the initially transmitted M erroneous data packets and the retransmitted P erroneous data packets; And the target data packet is determined based on the M error data packets and the P error data packets.
18. The method according to claim 17, characterized in that The determining the target data packet based on the M error data packets and the P error data packets comprises: For any bit position of the target data packet, a value with the highest probability on the bit position is selected from the M error data packets and the P error data packets to form the target data packet.
19. An electronic device, characterized in that: include: A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the method according to any one of claims 1 to 18.
20. A computer-readable storage medium, characterized in that: Used to store a computer program, the computer program causing a computer to execute the method according to any one of claims 1 to 18.
