Data packet processing method and communication device
By synchronizing packet identification between terminal devices, ensuring that packet consistency is maintained during wireless link recovery, the problem of receiving TB failure caused by packet drop after wireless link failure is solved, and the reliability of transmission is improved.
Patent Information
- Application Number
- CN202311134174.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-04
- Publication Date
- 2025-03-11
- Estimated Expiration
- 2043-09-04
AI Technical Summary
During data transmission, if one of the at least two terminal devices recovers after the wireless link failure, some data packets will be discarded during the wireless link recovery, resulting in the base station failing to receive the transmission block (TB), affecting the transmission reliability of the application layer service.
By receiving the packet identification from the second terminal device, the first terminal device allocates the same packet identification to the second data packet, so that both transmit the same packet on the same resource, thereby improving the reliability of packet transmission.
This method improves the success rate of the access network device receiving TB, and ensures the transmission reliability of application layer services when the wireless link recovery of the terminal device.
Smart Images

Figure CN119603784A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data packet processing method and a communication device. Background Art
[0002] In a data transmission scenario, the application layer can send the same data packet to at least two user equipment (UE), at least two UEs can generate the same transport block (TB), and the same TB is transmitted to the base station through the same wireless resources and the same transmission method; the base station receives the TB from the UE, and the base station does not need to distinguish whether the TB comes from one UE or multiple UEs when receiving the TB, so that when one of the at least two UEs cannot work, the transmission of the application layer service can still be guaranteed, thereby improving the reliability of the application layer service. Among them, the application layer can be understood as an application server, and the application server can be, for example, an (extended reality, XR) application server, a cloud server, a power grid relay server, etc.
[0003] If one of the at least two UEs (e.g., UE1) restores the wireless link after the wireless link fails or crashes, UE1 will discard some data packets during the process from wireless link failure to wireless link recovery, but other UEs continue to transmit data packets. However, after UE1 restores the wireless link, if the TB transmitted by UE1 and other UEs to the base station is different, the base station will fail to receive the TB. Therefore, how to improve the success rate of the base station receiving the TB is a technical problem that needs to be solved urgently. Summary of the invention
[0004] The embodiments of the present application provide a data packet processing method and a communication device, which are helpful to improve the success rate of access network equipment in receiving TB.
[0005] In a first aspect, an embodiment of the present application provides a data packet processing method, which can be executed by a first terminal device, or by a device matching the first terminal device, such as a processor, a chip, or a chip module. The method may include: receiving a data packet identifier of a first data packet from a second terminal device, the data packet identifier of the first data packet including one or more of a packet data convergence protocol (PDCP) count value of the first data packet, an Internet protocol (IP) packet identifier of the first data packet, and a radio link control (RLC) sequence number (SN) of the first data packet; based on the data packet identifier of the first data packet, assigning a data packet identifier to a second data packet, the second data packet being a data packet to be transmitted other than the first data packet.
[0006] The data packet identifier assigned by the first terminal device to the second data packet is the same as the data packet identifier assigned by the second terminal device to the second data packet. Since the first terminal device assigns data packet identifiers to other data packets based on the data packet identifier of the data packet sent by the second terminal device, the first terminal device and the second terminal device can assign the same data packet identifier to the same data packet, and then can use the same resources to transmit the same data packet, thereby improving the reliability of data packet transmission and helping to improve the success rate of the access network device receiving TB.
[0007] In a possible implementation, the method further includes: based on the data packet identifier of the second data packet, sending the second data packet to the access network device through the first resource, the first resource is the same as the second resource, and the second resource is a resource for the second terminal device to send the second data packet to the access network device. In this way, the first terminal device and the second terminal device send the same data packet to the access network device on the same resource, which can improve the reliability of data packet transmission and help improve the success rate of the access network device receiving TB.
[0008] In a possible implementation, the packet identifier of the first data packet includes the PDCP count value of the first data packet; before receiving the packet identifier of the first data packet from the second terminal device, the method further includes: sending a first request to the second terminal device, the first request including the IP packet identifier of the first data packet, the first request being used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet. In other words, the first terminal device sends the IP packet identifier of a data packet to the second terminal device, and the second terminal device feeds back the PDCP count value of the data packet to the first terminal device, so that the first terminal device can allocate PDCP count values to other data packets according to the PDCP count value of the data packet, so that the first terminal device and the second terminal device can allocate the same PDCP count value for data packets with the same IP packet identifier, thereby helping to improve the success rate of the access network device in receiving TB.
[0009] In a possible implementation, the first data packet is a data packet having a smallest IP packet identifier among multiple data packets to which a PDCP count value is not allocated, or the first data packet is any data packet among multiple data packets to which a PDCP count value is not allocated.
[0010] In a possible implementation, the packet identifier of the first data packet includes the PDCP count value of the first data packet; before receiving the packet identifier of the first data packet from the second terminal device, the method further includes: sending a second request to the second terminal device, the second request is used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule includes the IP packet identifier of the first data packet and the PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet. In other words, the first terminal device requests the first identifier allocation rule on the second terminal device side from the second terminal device, so that the first terminal device can allocate a PDCP count value to the data packet to be transmitted based on the first identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same PDCP count value for the data packet with the same IP packet identifier, thereby helping to improve the success rate of the access network device receiving TB.
[0011] In a possible implementation, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link with the access network device has been restored, specifically, the wireless link between the first terminal device and the access network device has been restored. It can be understood that the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been restored on the one hand, and on the other hand, indicates the request for the first identification allocation rule of the second terminal device. It can also be understood that when the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been restored, it can implicitly indicate the request for the first identification allocation rule of the second terminal device, which can save signaling overhead.
[0012] In a possible implementation manner, the data packet identifier of the first data packet includes the RLC SN of the first data packet and the PDCP count value of the first data packet; or includes the RLC SN of the first data packet and the IP packet identifier of the first data packet.
[0013] In a possible implementation, before receiving the data packet identifier of the first data packet from the second terminal device, the method further includes: sending a third request to the second terminal device, the third request is used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet; or includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet. That is, the first terminal device requests the second terminal device for the second identifier allocation rule on the second terminal device side, so that the first terminal device can allocate an RLC SN to the data packet to be transmitted based on the second identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same RLC SN for the same data packet, thereby helping to improve the success rate of the access network device receiving TB.
[0014] In one possible implementation, the second request can be used to request the first identifier allocation rule and the second identifier allocation rule so that the first terminal device and the second terminal device can allocate the same PDCP count value and RLC SN for the same data packet, thereby helping to improve the success rate of the access network device receiving TB.
[0015] In a possible implementation, the method further includes: receiving a data packet identifier of a third data packet from the second terminal device, the data packet identifier of the third data packet being the smallest in the cache of the second terminal device; or the third data packet being the earliest data packet cached by the second terminal device. The second terminal device notifies the first terminal device of the data packet identifier of the third data packet so that the first terminal device determines whether to discard part of the data packets.
[0016] In a possible implementation, the method further includes: in response to the packet identifier of the fourth data packet being less than the packet identifier of the third data packet, discarding the first part of the data packets, the packet identifier of the first part of the data packets being less than the packet identifier of the third data packet, and being greater than or equal to the packet identifier of the fourth data packet; wherein the packet identifier of the fourth data packet is the smallest in the cache of the first terminal device, or the fourth data packet is the earliest data packet cached by the first terminal device. For example, if the PDCP count value of the fourth data packet is 97 and the PDCP count value of the third data packet is 100, then the first terminal device may discard data packets with PDCP count values of 97, 98 and 99. In this way, the first terminal device can be prevented from sending redundant data packets. It can be understood that by discarding part of the data packets, the first terminal device and the second terminal device send the same TB.
[0017] In a possible implementation, the method further includes: receiving a second portion of data packets from a second terminal device, wherein the data packet identifier of the second portion of data packets is greater than the data packet identifier of the third data packet, and is less than or equal to the data packet identifier of the fourth data packet; wherein the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device, or the fourth data packet is the earliest data packet cached by the first terminal device. For example, if the PDCP count value of the fourth data packet is 105 and the PDCP count value of the third data packet is 100, then the second terminal device may send data packets with PDCP count values of 100, 101, 102, 103 and 104 to the first terminal device. In this way, it is possible to avoid the data packet sent by the first terminal device being missing compared to the data packet sent by the second terminal device. It is understandable that sending a portion of the data packets to the first terminal device via the second terminal device enables the first terminal device and the second terminal device to send the same TB.
[0018] In a possible implementation, before receiving the data packet identifier of the third data packet from the second terminal device, the method further includes: receiving hybrid automatic repeat request (HARQ) information of the TB to be retransmitted from the second terminal device. The HARQ information may include one or more of the following information: redundancy version, HARQ process number, etc. That is, when there is a TB to be retransmitted on the second terminal device, the HARQ information of the TB to be retransmitted is sent to the first terminal device so that the first terminal device and the second terminal device perform TB retransmission, so that the first terminal device and the second terminal device send the same TB.
[0019] In a possible implementation, the method further includes: sending a data packet identifier of the fourth data packet to the second terminal device so that the second terminal device determines whether to send the second part of the data packet to the first terminal device. The first terminal device may send the data packet identifier of the fourth data packet to the second terminal device before receiving the data packet identifier of the first data packet. Alternatively, the first terminal device may send the data packet identifier of the fourth data packet to the second terminal device before receiving the second part of the data packet.
[0020] In one possible implementation, the PDCP count value of the first data packet is the same as the identifier in the IP packet identifier of the first data packet; or, the lower 16 bits of the PDCP count value of the first data packet are the identifier in the IP packet identifier of the first data packet; or, the PDCP count value of the first data packet is the lower bits of the identifier in the IP packet identifier of the first data packet, and the number of bits of the lower bits is the same as the number of bits of the PDCP count value of the first data packet.
[0021] In a second aspect, an embodiment of the present application provides a data packet processing method, which can be executed by a second terminal device, or by a device matching the second terminal device, such as a processor, a chip, or a chip module, etc. The method may include: sending a data packet identifier of a first data packet to a first terminal device; the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0022] It can be seen that the second terminal device sends the data packet identifier of the first data packet to the first terminal device, so that the first terminal device can assign data packet identifiers to other data packets based on the data packet identifier of the first data packet, which helps the first terminal device and the second terminal device to assign the same data packet identifier to the same data packet, and helps to improve the success rate of the access network device in receiving TB.
[0023] In a possible implementation, the method further includes: based on the data packet identifier of the second data packet, sending the second data packet to the access network device through the second resource, the second data packet being a data packet to be transmitted other than the first data packet; the second resource is the same as the resource used by the first terminal device to send the second data packet to the access network device. In this way, the first terminal device and the second terminal device send the same data packet to the access network device on the same resource, which can improve the reliability of data packet transmission and help improve the success rate of the access network device receiving TB.
[0024] In a possible implementation, before sending the data packet identifier of the first data packet to the first terminal device, the above also includes: receiving a first request from the first terminal device, the first request including the IP packet identifier of the first data packet, the first request being used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet; sending the data packet identifier of the first data packet to the first terminal device may specifically include: sending the PDCP count value of the first data packet to the first terminal device in response to the first request.
[0025] That is to say, the first terminal device sends the IP packet identifier of a data packet to the second terminal device, and the second terminal device feeds back the PDCP count value of the data packet to the first terminal device, so that the first terminal device can allocate PDCP count values for other data packets according to the PDCP count value of the data packet, so that the first terminal device and the second terminal device can allocate the same PDCP count value for data packets with the same IP packet identifier, thereby helping to improve the success rate of the access network device in receiving TB.
[0026] In a possible implementation, before sending the data packet identifier of the first data packet to the first terminal device, the above also includes: receiving a second request from the first terminal device, the second request is used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule includes an IP packet identifier of the first data packet and a PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet; sending the data packet identifier of the first data packet to the first terminal device may specifically include: in response to the second request, sending the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0027] That is to say, the first terminal device requests the first identifier allocation rule on the second terminal device side from the second terminal device, so that the first terminal device can allocate PDCP count values for the data packets to be transmitted based on the first identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same PDCP count value for the data packets with the same IP packet identifier, thereby helping to improve the success rate of the access network device in receiving TB.
[0028] In a possible implementation, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link between the first terminal device and the access network device has been restored. It can be understood that the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been restored on the one hand, and indicates the first identification allocation rule for the second terminal device is requested on the other hand. It can also be understood that when the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been restored, it can implicitly indicate the first identification allocation rule for the second terminal device is requested, which can save signaling overhead.
[0029] In a possible implementation, before sending the packet identifier of the first data packet to the first terminal device, the above also includes: receiving a third request sent from the first terminal device, the third request is used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet; sending the packet identifier of the first data packet to the first terminal device may specifically include: in response to the third request, sending the RLC SN of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0030] In a possible implementation, before sending the data packet identifier of the first data packet to the first terminal device, the above also includes: receiving a third request sent from the first terminal device, the third request is used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet; sending the data packet identifier of the first data packet to the first terminal device may specifically include: in response to the third request, sending the RLC SN of the first data packet and the IP packet identifier of the first data packet to the first terminal device.
[0031] That is to say, the first terminal device requests the second terminal device for the second identifier allocation rule on the second terminal device side, so that the first terminal device can allocate RLC SN for the data packet to be transmitted based on the second identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same RLC SN for the same data packet, thereby helping to improve the success rate of the access network device in receiving TB.
[0032] In a possible implementation, the method further includes: sending a data packet identifier of the third data packet to the first terminal device, the data packet identifier of the third data packet being the smallest in the cache of the second terminal device; or the third data packet being the earliest data packet cached by the second terminal device. The second terminal device notifies the first terminal device of the data packet identifier of the third data packet so that the first terminal device determines whether to discard part of the data packets.
[0033] In a possible implementation, the method further includes: receiving a data packet identifier of a fourth data packet from the first terminal device, wherein the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device. The data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or the fourth data packet is the earliest data packet cached by the first terminal device.
[0034] In one possible implementation, in response to the packet identifier of the fourth data packet being greater than the packet identifier of the third data packet, a second partial data packet is sent to the first terminal device, and the packet identifier of the second partial data packet is greater than the packet identifier of the third data packet and less than or equal to the packet identifier of the fourth data packet. By sending a partial data packet to the first terminal device by the second terminal device, it is possible to avoid the data packet sent by the first terminal device being missing compared to the data packet sent by the second terminal device. It is understandable that by sending a partial data packet to the first terminal device by the second terminal device, the first terminal device and the second terminal device send the same TB.
[0035] In a possible implementation, the method further includes: in response to the existence of a TB to be retransmitted, sending HARQ information of the TB to be retransmitted to the first terminal device. The HARQ information may include one or more of the information such as redundancy version and HARQ process number. That is, when there is a TB to be retransmitted on the second terminal device, the HARQ information of the TB to be retransmitted is sent to the first terminal device so that the first terminal device and the second terminal device perform TB retransmission, so that the first terminal device and the second terminal device send the same TB.
[0036] In a third aspect, an embodiment of the present application provides a communication device, the communication device comprising:
[0037] A communication unit, configured to receive a data packet identifier of a first data packet from a second terminal device, where the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLCSN of the first data packet;
[0038] The processing unit is used to allocate a data packet identifier to a second data packet based on the data packet identifier of the first data packet, where the second data packet is a data packet to be transmitted except the first data packet.
[0039] Alternatively, the communication device comprises:
[0040] A communication unit, used for sending a data packet identifier of a first data packet to a first terminal device; the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0041] In a fourth aspect, an embodiment of the present application provides a terminal device, comprising a processor, a memory, and a computer program or instructions stored on the memory, wherein the processor executes the computer program or instructions to implement the steps in the method involved in the first aspect or the second aspect above.
[0042] In a fifth aspect, an embodiment of the present application provides a chip, comprising a processor, wherein the processor executes the steps in the method involved in the above-mentioned first aspect, or executes the steps in the method involved in the above-mentioned second aspect.
[0043] In a sixth aspect, an embodiment of the present application provides a chip module, comprising a communication interface and a chip, wherein the chip comprises a processor, wherein the processor executes the steps in the method involved in the above-mentioned first aspect, or executes the steps in the method involved in the above-mentioned second aspect.
[0044] In the seventh aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program or instructions, and when the computer program or instructions are executed, the steps in the method involved in the first aspect above are implemented, or the steps in the method involved in the second aspect above are implemented.
[0045] In an eighth aspect, an embodiment of the present application provides a computer program product, comprising a computer program or instructions, wherein when the computer program or instructions are executed, the steps in the method involved in the above-mentioned first aspect are implemented, or the steps in the method involved in the above-mentioned second aspect are implemented.
[0046] In a ninth aspect, an embodiment of the present application provides a communication system, which may include a first terminal device that executes the method involved in the first aspect, and a second terminal device that executes the method involved in the second aspect. Optionally, the communication system also includes an application layer and an access network device. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 is a schematic diagram of a system architecture to which an embodiment of the present application is applied;
[0048] Figure 2 It is a schematic diagram of the protocol stack of a Uu port;
[0049] Figure 3 It is a flowchart of a data packet processing method provided in an embodiment of the present application;
[0050] Figure 4 It is a flowchart of another data packet processing method provided in an embodiment of the present application;
[0051] Figure 5 It is a flowchart of another data packet processing method provided in an embodiment of the present application;
[0052] Figure 6 It is a flowchart of another data packet processing method provided in an embodiment of the present application;
[0053] Figure 7It is a flowchart of another data packet processing method provided in an embodiment of the present application;
[0054] Figure 8 is a structural diagram of a communication device provided in an embodiment of the present application;
[0055] Fig. 9 is a structural diagram of another communication device provided in an embodiment of the present application;
[0056] Fig.10 It is a structural schematic diagram of a chip module provided in an embodiment of the present application. DETAILED DESCRIPTION
[0057] In the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the previously associated objects are in an "or" relationship.
[0058] It should be understood that in this application, "at least one" means one or more; "plurality" means two or more. In addition, "equal to" in this application can be used in conjunction with "greater than" or "less than". When "equal to" is used in conjunction with "greater than", the technical solution of "greater than" is adopted; when "equal to" is used in conjunction with "less than", the technical solution of "less than" is adopted.
[0059] In the embodiments of the present application, "of", "corresponding, relevant", "corresponding", "associated, related", and "mapped" may sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, the concepts or meanings to be expressed are consistent.
[0060] First, the system architecture involved in this application is explained.
[0061] The present application can be applied to a fourth generation (4G) system; or to a fifth generation (5G) system, also known as a new radio (NR) system; or to a sixth generation (6G) system, or a seventh generation (7G) system, or other future communication systems; or can also be used in a device to device (D2D) system, a machine to machine (M2M) system, a vehicle to everything (V2X), and the like.
[0062] This application can be applied to Figure 1 The system architecture shown. Figure 1 The system architecture shown may include, but is not limited to: an access network device 110 , a first terminal device 120 a , a second terminal device 102 b , and an application layer 130 . Figure 1 The number and form of the devices are used for example only and do not constitute a limitation on the embodiments of the present application. Figure 1 Taking two terminal devices as an example, more terminal devices may be included in actual applications.
[0063] Among them, the access network device 110 is a device that provides wireless communication functions for terminal devices, and the access network device can be a satellite, a radio access network (RAN) device, etc. Among them, the access network device can support at least one wireless communication technology, such as WCDMA, LTE, NR, 6G, etc. For example, the access network device includes but is not limited to: the next generation base station (generation nodeB, gNB) in 5G, evolved node B (evolved node B, eNB), radio network controller (radio network controller, RNC), node B (node B, NB), base station controller (base station controller, BSC), base transceiver station (base transceiver station, BTS), home base station (for example, home evolved node B, or home node B, HNB), baseband unit (baseband unit, BBU), transmission and reception point (transmission and reception point, TRP), transmitting point (transmitting point, TP), mobile switching center, etc. The network device may also be a wireless controller, a centralized unit (CU) and / or a distributed unit (DU) in a cloud radio access network (CRAN) scenario, or the access network device may be a relay station, an access point, a vehicle-mounted device, a wearable device, and an access network device in future mobile communications or an access network device in a future evolved PLMN, etc. In some embodiments, the access network device may also be a device that provides wireless communication functions for terminal devices, such as a chip module. For example, the chip module may include a chip and may also include other discrete devices. The embodiments of the present application do not limit the specific technology and specific device form adopted by the access network device.
[0064] A terminal device is a device with wireless transceiver functions, which can be called a terminal, UE, mobile station (MS), mobile terminal (MT), access terminal equipment, Internet of Things terminal equipment, vehicle-mounted terminal equipment, industrial control terminal equipment, UE unit, UE station, mobile station, remote station, remote terminal equipment, mobile device, wireless communication equipment, UE agent or UE device, etc. The terminal device can be fixed or mobile. It should be noted that the terminal device can support at least one wireless communication technology, such as wideband code division multiple access (WCDMA), long time evolution (LTE), NR, 6G or next generation wireless communication technology, etc. For example, the terminal device can be a mobile phone, a tablet computer (pad), a desktop computer, a laptop computer, an all-in-one computer, a vehicle-mounted terminal, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in a smart grid, a wireless terminal in transportation safety, a wireless terminal in a smart city, a wireless terminal in a smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication function, a computing device or other processing device connected to a wireless modem, a wearable device, a terminal device in a future mobile communication network, or a terminal device in a future evolved public land mobile network (PLMN), etc. In some embodiments of the present application, the terminal device may also be a device with transceiver functions, such as a chip module. The chip module may include a chip and may also include other discrete devices. The embodiments of the present application do not limit the specific technology and specific device form used by the terminal device.
[0065] In the embodiment of the present application, the first terminal device 120a and the second terminal device 120b have an association relationship, which means that the two can receive the same data packet from the application layer 130 and send the same data packet to the access network device 110. For example, in a mobile phone backup scenario, the application layer 130 sends the same data packet to two mobile phones, and the two mobile phones send the same data packet to the base station.
[0066] The application layer 130 can be understood as an application server, which can be, for example, an XR application server, a cloud server, a power grid relay server, etc.
[0067] Optional, Figure 1 The system architecture shown may also include core network (CN) equipment, such as access and mobility management function (AMF), user plane function (UPF), etc.
[0068] It can be understood that the communication system described in the embodiment of the present application is to more clearly illustrate the technical solution of the embodiment of the present application, and does not constitute a limitation on the technical solution provided by the embodiment of the present application. Those skilled in the art can know that with the evolution of the system architecture and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
[0069] Secondly, the relevant concepts involved in the embodiments of the present application are explained.
[0070] 1. Data packet transmission process between terminal equipment and access network equipment
[0071] In a mobile communication system, the communication protocol defines multiple protocol layers. The sending device processes the data packet through each protocol layer, and then sends the processed data packet to the receiving device. The receiving device performs reverse processing through each protocol layer to obtain the original data packet. The sending device and the receiving device can be divided into a terminal device and an access network device, or an access network device and a terminal device. Taking the 5G system as an example, in the 5G system, the protocol stack of the Uu port includes the following protocol layers: service data adaptation protocol (SDAP) layer, PDCP layer, RLC layer, media access control (MAC) layer and physical (PHY) layer, which can be seen in Figure 2 shown.
[0072] For the sending device, the processing order of the data packet in each protocol layer is: SDAP layer → PDCP layer → RLC layer → MAC layer → PHY layer; conversely, for the receiving device, the processing order of the data packet in each protocol layer is: PHY layer → MAC layer → RLC layer → PDCP layer → SDAP layer. It should be noted that, for a certain protocol layer (such as protocol layer A) of the sending device, the data packet received from the upper layer is called the service data unit (SDU) of the protocol layer A, and the data packet sent by the protocol layer A to the lower layer is called the protocol data unit (PDU) of the protocol layer A. For example, for the sending device, the data packet received by the PDCP layer from the SDAP layer is called PDCP SDU, and the data packet sent by the PDCP layer to the RLC layer is called PDCP PDU; for the receiving device, the data packet received by the PDCP layer from the RLC layer is called PDCP PDU, and the data packet sent by the PDCP layer to the SDAP layer is called PDCP SDU. It should be noted that the present application is described using the above protocol layers in the above 5G system as an example, and can also be extended to other protocol layers in other systems.
[0073] 1) SDAP layer
[0074] The main processing of data packets at the SDAP layer may include: mapping of quality of service (QoS) flows to data radio bearers (DRBs).
[0075] 2) PDCP layer
[0076] The main processing of data packets at the PDCP layer may include: adding PDCP sequence number (SN), header compression, encryption, integrity protection, etc. Among them, PDCP will add PDCP SN to each data packet; header compression is used to compress some transmission control protocol (TCP) / IP, user datagram protocol (UDP) / IP headers in the data packets received from the upper layer to reduce overhead, for example, robust header compression (ROHC) can be performed on the data packets; encryption is used to encrypt data packets to prevent other illegal receiving devices from obtaining data; integrity protection is used to protect the integrity of data to prevent others from modifying the data content. Generally, integrity protection is performed before encryption.
[0077] 3) RLC layer
[0078] The transmission modes of the RLC layer can be divided into transparent mode (transparent mode, TM), unacknowledgment mode (unacknowledgment mode, UM), and acknowledged mode (acknowledged mode, AM). Different transmission modes have different functions. For AM, the main processing of data packets at the RLC layer may include: automatic repeat request (automatic repeat request, ARQ), segmentation, reassembly and adding RLC SN; for UM, the main processing of data packets at the RLC layer may include: segmentation, reassembly and adding RLC SN; for TM, the RLC layer does not perform any processing.
[0079] 4) MAC layer
[0080] The processing of data packets at the MAC layer mainly includes: mapping of logical channels to transport channels, multiplexing of logical channels, error correction through HARQ and other functions.
[0081] 2. Packet Identification
[0082] The data packet identifier is used to identify a data packet, which may be a data packet received from the application layer, a data packet in the process of the above-mentioned protocol layer, or a data packet transmitted through the air interface. In an embodiment of the present application, the data packet identifier may include one or more of an IP packet identifier, a PDCP count value, and an RLC SN.
[0083] 1) IP packet identification
[0084] The data packet received from the application layer is generally an IP packet, and the header of the IP packet includes an IP packet identifier, which is used to uniquely identify each data packet sent by the application layer. The IP packet identifier generally includes an identifier (ID), and may also include a flag field and a fragment offset field.
[0085] The identifier, whose field length is 16 bits, is usually used together with the tag field and the fragment offset field to fragment the data packet. If the initial length of the data packet exceeds the maximum transmission unit (MTU) of the data link through which the data packet is to pass, the data packet must be fragmented into smaller data packets.
[0086] For example, for a data packet of 5000 bytes, if it encounters a data link with an MTU of 1500 bytes during transmission, that is, the data frame can accommodate a data packet of 1500 bytes at most, then the data packet is segmented into multiple data packets before data framing, where the length of each data packet shall not exceed 1500 bytes; the identification field of each data packet is the same, so that the receiving device can recognize that these data packets belong to the same data packet.
[0087] The mark field has a field length of 3 bits. The first bit of these three bits is a reserved field. The value of the second bit is used to indicate whether fragmentation is allowed (for example, a value of 0 indicates that fragmentation is allowed, and a value of 1 indicates that fragmentation is not allowed). The third bit is the end mark (for the last fragment data packet, the value of this bit is 1; for other fragment data packets, the value of this bit is 0).
[0088] The segment offset field has a field length of 13 bits and is in units of 8 octets. It is used to indicate the offset of the segment start point relative to the header start point.
[0089] 2)PDCP count value
[0090] The PDCP count value refers to the count value assigned by the PDCP layer for each PDCP SDU. The PDCP count value is a 32-bit unsigned value, which consists of a hyper frame number (HFN) and a PDCP SN. The PDCP SN is included in the PDCP PDU. The number of HFN bits is equal to the number of 32 bits minus the number of PDCP SN bits. Alternatively, the PDCP count value only includes the PDCP SN.
[0091] 3) RLC SN
[0092] RLC SN refers to the sequence number of the RLC PDU, and its field length can be 12 bits or 18 bits. Each RLC PDU corresponds to a single sequence number, regardless of whether it is segmented. For UM, if it is segmented, each segmented SDU has a separate sequence number.
[0093] The application layer sends the same data packet to at least two terminal devices, and at least two terminal devices send the same data packet to the access network device. During the transmission process, if one of the at least two terminal devices restores the wireless link after a wireless link failure or restores the wireless link after a crash, the terminal device will discard some data packets in the process from the failure of the wireless link to the restoration of the wireless link, but other terminal devices will continue to transmit data packets. This will result in differences in the data packets sent to the access network device by the terminal device and other terminal devices, resulting in the failure of the access network device to receive TB. Among them, the wireless link failure refers to the disconnection of the wireless link between the terminal device and the access network device or the very poor quality. The specific judgment mechanism of the wireless link failure will not be repeated in the present invention.
[0094] In view of this, the embodiments of the present application provide a data packet processing method and a communication device, which are helpful to improve the success rate of the access network device receiving the TB. Even if a terminal device fails in the wireless link and restores the wireless link, it can ensure that each terminal device sends the same data packet, thereby helping to improve the success rate of the access network device receiving the TB.
[0095] The following is based on Figure 1 The system architecture shown in the figure introduces the data packet processing method provided in the embodiment of the present application in detail. The embodiment of the present application takes the application layer sending the same data packet to two terminal devices as an example, namely the first terminal device and the second terminal device, and takes the process from the failure of the wireless link to the recovery of the wireless link of the first terminal device, and the second terminal device has always maintained the wireless link with the access network device as an example. For the convenience of description, the first terminal device is referred to as UE 1, and the second terminal device is referred to as UE2.
[0096] See also Figure 3 , is a flow chart of a data packet processing method provided in an embodiment of the present application, the method may include but is not limited to the following steps:
[0097] 301, UE2 sends a data packet identifier of a first data packet to UE1. Correspondingly, UE1 receives the data packet identifier from UE2.
[0098] Among them, the data packet identifier of the first data packet may include one or more of the PDCP count value of the first data packet, the IP packet identifier of the first data packet, and the RLC SN of the first data packet. For example, the data packet identifier of the first data packet includes the PDCP count value of the first data packet, the IP packet identifier of the first data packet, or the RLC SN of the first data packet. For another example, the data packet identifier of the first data packet includes the PDCP count value of the first data packet and the IP packet identifier of the first data packet, and the PDCP count value of the first data packet corresponds to the IP packet identifier of the first data packet, that is, there is a corresponding relationship between the two. For another example, the data packet identifier of the first data packet includes the PDCP count value of the first data packet and the RLC SN of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet, that is, there is a corresponding relationship between the two. For another example, the data packet identifier of the first data packet includes the IP packet identifier of the first data packet and the RLC SN of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet, that is, there is a corresponding relationship between the two. For another example, the data packet identifier of the first data packet includes the PDCP count value of the first data packet, the IP packet identifier of the first data packet, and the RLC SN of the first data packet, and there is a corresponding relationship between the three.
[0099] Mode 1: Before step 301, UE1 sends a first request to UE2. The first request includes the IP packet identifier of the first data packet. The first request is used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet. In response to the first request, UE2 sends the PDCP count value corresponding to the IP packet identifier of the first data packet to UE1. Mode 1: See Figure 4 The detailed description of the illustrated embodiment will not be repeated here.
[0100] Method 2, before step 301, UE1 sends a second request to UE2, and the second request is used to request the first identifier allocation rule of UE2. The first identifier allocation rule includes the IP packet identifier of the first data packet and the PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet. In response to the second request, UE2 sends the first identifier allocation rule to UE1, namely the IP packet identifier of the first data packet and the PDCP count value of the first data packet. UE1 receives the IP packet identifier of the first data packet and the PDCP count value of the first data packet, and can know the correspondence between the two, thereby knowing the allocation rule of the PDCP count value. Method 2, see Figure 5 The detailed description of the illustrated embodiment will not be repeated here.
[0101] Mode 3, before step 301, UE1 sends a third request to UE2, the third request is used to request the second identifier allocation rule of UE2, and the second identifier allocation rule is the allocation rule of the RLC SN of the RLC PDU. Optionally, the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet. In response to the third request, UE2 sends the second identifier allocation rule to UE1, that is, the RLC SN of the first data packet and the PDCP count value of the first data packet. UE1 receives the RLC SN of the first data packet and the PDCP count value of the first data packet, and can know the corresponding relationship between the two, thereby knowing the allocation rule of the RLC SN. Optionally, the second identifier allocation rule includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet. In response to the third request, UE2 sends the second identifier allocation rule to UE1, that is, the RLC SN of the first data packet and the IP packet identifier of the first data packet. UE1 receives the RLC SN of the first data packet and the IP packet identifier of the first data packet, and can learn the corresponding relationship between the two, thereby learning the allocation rule of the RLC SN. Figure 6 The detailed description of the illustrated embodiment will not be repeated here.
[0102] Optionally, the second identifier allocation rule includes the RLC SN of the first data packet, the PDCP count value of the first data packet, and the IP packet identifier of the first data packet, and there is a corresponding relationship between the three.
[0103] Step 301 may be that UE2 directly sends the data packet identifier of the first data packet to UE1 through the interface between UEs (e.g., PC5 interface), or that UE2 sends the data packet identifier of the first data packet to the access network device through the Uu port, and the access network device then sends the data packet identifier of the first data packet to UE1 through the Uu port. In other words, UE2 sends the data packet identifier of the first data packet to UE1 through the access network device. Similarly, the request (e.g., the first request, the second request, or the third request) sent by UE1 to UE2 may be sent directly by UE1 to UE2, or may be sent by UE1 to UE2 through the access network device.
[0104] 302. UE1 allocates a data packet identifier for a second data packet based on the data packet identifier of the first data packet.
[0105] The second data packet is a data packet to be transmitted in UE1 except the first data packet. The second data packet may be a data packet to which a data packet identifier is not allocated in UE1. Optionally, the second data packet may also be a data packet to which a data packet identifier has been allocated in UE1. For a certain data packet, if its allocated data packet identifier is inconsistent with the data packet identifier allocated based on the data packet identifier of the first data packet, the allocated data packet identifier is updated to the data packet identifier allocated based on the data packet identifier of the first data packet.
[0106] The data packet identifier allocated by UE1 to the second data packet is the same as the data packet identifier allocated by UE2 to the second data packet.
[0107] For mode 1, UE1 allocates a PDCP count value to the second data packet based on the PDCP count value of the first data packet, so that UE1 and UE2 allocate the same PDCP count value to the data packets with the same IP packet identifier.
[0108] For mode 2, UE1 allocates a PDCP count value to the second data packet based on the correspondence between the PDCP count value of the first data packet and the IP packet identifier of the first data packet, so that UE1 and UE2 allocate the same PDCP count value to the data packets with the same IP packet identifier.
[0109] For mode 3, UE1 allocates an RLC SN to the second data packet based on the correspondence between the RLC SN of the first data packet and the PDCP count value of the first data packet. Alternatively, UE1 allocates an RLC SN to the second data packet based on the correspondence between the RLC SN of the first data packet and the IP packet identifier of the first data packet. Thus, UE1 and UE2 allocate the same RLC SN to the same data packet.
[0110] exist Figure 3 In the illustrated embodiment, since UE1 assigns data packet identifiers to other data packets based on the data packet identifier of the data packet sent by UE2, UE1 and UE2 can assign the same data packet identifier to the same data packet, and then can use the same resources to transmit the same data packet, thereby improving the reliability of data packet transmission and helping to improve the success rate of access network equipment receiving TB.
[0111] See also Figure 4 , is a flow chart of another data packet processing method provided in an embodiment of the present application, which may include but is not limited to the following steps:
[0112] 401, UE1 sends a first request to UE2. Correspondingly, UE2 receives the first request from UE1. The first request includes an IP packet identifier of a first data packet.
[0113] After restoring the wireless link with the access network device, UE1 sends the IP packet identifier of the first data packet to UE2. The first data packet is the data packet with the smallest IP packet identifier among multiple data packets to which PDCP count values are not allocated in UE1, or the first data packet is any data packet among multiple data packets to which PDCP count values are not allocated in UE1.
[0114] When the IP packet is not fragmented, the IP packet identifier is the identifier. When the IP packet is fragmented, the IP packet identifier includes the identifier, the tag, and the fragment offset. When the IP packet is fragmented, the size of the IP packet identifier can be represented by the value of the fragment offset field. For example, the value of the fragment offset field of fragment 2 of IP packet No. 2 is 100, and the value of the fragment offset field of fragment 3 is 200, then the IP packet identifier of fragment 2 is smaller than the IP packet identifier of fragment 3.
[0115] 402, UE2 sends the PDCP count value of the first data packet to UE1. Correspondingly, UE1 receives the PDCP count value of the first data packet from UE2.
[0116] The PDCP count value of the first data packet may be the PDCP count value that UE2 has allocated to the first data packet, or may be the PDCP count value that UE2 will allocate to the first data packet. In response to the first request, UE2 searches for the PDCP count value of the first data packet based on the IP packet identifier of the first data packet, or UE2 allocates the PDCP count value to the first data packet based on the IP packet identifier of the first data packet.
[0117] 403. UE1 allocates a PDCP count value for the second data packet based on the PDCP count value of the received first data packet.
[0118] The PDCP count value allocated by UE1 to the second data packet is the same as the PDCP count value allocated by UE2 to the second data packet.
[0119] The second data packet may be a data packet in UE1 that has not been allocated a PDCP count value. For example, the IP packet identifier of the first data packet is 100, and its PDCP count value is 10237. The data packet with the IP packet identifier 101 is to be allocated a PDCP count value, so the PDCP count value 10238 is allocated to the data packet with the IP packet identifier 101.
[0120] Optionally, the second data packet may also be a data packet in UE1 to which a PDCP count value has been allocated. For a certain data packet, if its allocated PDCP count value is inconsistent with the PDCP count value allocated based on the PDCP count value of the first data packet, the allocated PDCP count value is updated to the PDCP count value allocated based on the PDCP count value of the first data packet. For example, the IP packet identifier of the first data packet is 100, and its PDCP count value is 10237. The data packet with IP packet identifier 101 has been allocated a PDCP count value of 10235. Then the PDCP count value of the data packet with IP packet identifier 101 is updated to 10238.
[0121] exist Figure 4 In the illustrated embodiment, UE1 requests UE2 for the PDCP count value corresponding to the IP packet identifier of the first data packet, and then UE1 can allocate PDCP count values to other data packets based on the PDCP count value of the received first data packet, so that UE1 and UE2 allocate the same PDCP count value to the data packets with the same IP packet identifier, thereby helping to improve the success rate of the access network device in receiving TB.
[0122] See also Figure 5 , is a flow chart of another data packet processing method provided in an embodiment of the present application, which may include but is not limited to the following steps:
[0123] 501, UE1 sends a second request to UE2. Correspondingly, UE2 receives the second request from UE1. The second request is used to request a first identifier allocation rule of UE2.
[0124] The first identifier allocation rule may be understood as a rule for allocating a PDCP count value to a data packet. After restoring the radio link between UE1 and the access network device, UE1 sends a second request to UE2.
[0125] The second request may be link recovery indication information, which is also used to indicate that the wireless link with the access network device has been restored, specifically, the wireless link between UE1 and the access network device has been restored. It can be understood that the link recovery indication information indicates that the wireless link between UE1 and the access network device has been restored on the one hand, and on the other hand, indicates the request for the first identification allocation rule of UE2. It can also be understood that when the link recovery indication information indicates that the wireless link between UE1 and the access network device has been restored, it can implicitly indicate the request for the first identification allocation rule of UE2, which can save signaling overhead.
[0126] 502, UE2 sends a first identifier allocation rule to UE1. Correspondingly, UE1 receives the first identifier allocation rule from UE2. The first identifier allocation rule includes an IP packet identifier of the first data packet and a PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet (i.e., there is a corresponding relationship between the two).
[0127] The first data packet is any data packet in the data packets to which the PDCP count value has been allocated in UE2. For example, the IP packet identifier of the first data packet is 100, and its PDCP count value is 10237, then the first identifier allocation rule includes the IP packet identifier 100 and the corresponding PDCP count value 10237.
[0128] 503. UE1 allocates a PDCP count value to the second data packet based on the received first identifier allocation rule.
[0129] The PDCP count value allocated by UE1 to the second data packet is the same as the PDCP count value allocated by UE2 to the second data packet.
[0130] The second data packet may be a data packet in UE1 that has not been allocated a PDCP count value. For example, the IP packet identifier of the first data packet is 100, and its PDCP count value is 10237. The data packet with the IP packet identifier 101 is to be allocated a PDCP count value, so the PDCP count value 10238 is allocated to the data packet with the IP packet identifier 101.
[0131] Optionally, the second data packet may also be a data packet in UE1 to which a PDCP count value has been allocated. For a certain data packet, if its allocated PDCP count value is inconsistent with the PDCP count value allocated based on the first identifier allocation rule, the allocated PDCP count value is updated to the PDCP count value allocated based on the first identifier allocation rule. For example, the IP packet identifier of the first data packet is 100, and its PDCP count value is 10237. The data packet with IP packet identifier 101 has been allocated a PDCP count value of 10235. Then the PDCP count value of the data packet with IP packet identifier 101 is updated to 10238.
[0132] exist Figure 5 In the illustrated embodiment, UE1 requests UE2 for a rule for UE2 to allocate PDCP count values to data packets, and UE1 may allocate PDCP count values to data packets based on the rule, so that UE1 and UE2 allocate the same PDCP count value to data packets with the same IP packet identifier, thereby helping to improve the success rate of access network devices in receiving TBs.
[0133] for Figure 4 or Figure 5In the embodiment shown, the correspondence between the IP packet identifier of the first data packet and the PDCP count value of the first data packet can be the correspondence between the IP packet identifier and the PDCP count value of the first data packet set according to the algorithm in UE2, and the present invention is not limited by different algorithms.
[0134] The corresponding relationship may also be generated according to a certain mapping rule. Specifically, the mapping rule may be:
[0135] 1) The PDCP count value of the first data packet is the same as the identifier in the IP packet identifier of the first data packet. The field length of the identifier in the IP packet identifier is 16 bits, so the field length of the PDCP count value is also 16 bits and the value is the same.
[0136] 2) The lower 16 bits of the PDCP count value of the first data packet are the identifier in the IP packet identifier of the first data packet. If the field length of the PDCP count value is greater than 16 bits, for example, 18 bits, then the value of the lower 16 bits is the same as the identifier in the IP packet identifier.
[0137] 3) The PDCP count value of the first data packet is the low bit of the identifier in the IP packet identifier of the first data packet, and the number of bits of the low bit is the same as the number of bits of the PDCP count value of the first data packet. If the field length of the PDCP count value is less than 16 bits, for example, 12 bits, then the PDCP count value is the value of the low 12 bits of the identifier in the IP identifier, that is, the value of the 12 bits from right to left.
[0138] It should be noted that the above mapping rules are used for example only and do not constitute a limitation on the embodiments of the present application.
[0139] In another possible implementation manner, UE1 and UE2 both adopt the same one or more of the mapping rules, so there is no need for UE1 and UE2 to request or notify the corresponding relationship.
[0140] See also Figure 6 , is a flow chart of another data packet processing method provided in an embodiment of the present application, which may include but is not limited to the following steps:
[0141] Optionally, 601, UE1 sends a third request to UE2. Correspondingly, UE2 receives the third request from UE1. The third request is used to request a second identifier allocation rule of UE2. The second identifier allocation rule can be understood as a rule for allocating an RLC SN to an RLC PDU. After restoring the wireless link with the access network device, UE1 sends the third request to UE2.
[0142] Optionally, the third request may be link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link with the access network device has been restored, specifically, the wireless link between UE1 and the access network device has been restored. It can be understood that the link recovery indication information indicates that the wireless link between UE1 and the access network device has been restored on the one hand, and on the other hand, indicates the second identifier allocation rule for requesting UE2. It can also be understood that when the link recovery indication information indicates that the wireless link between UE1 and the access network device has been restored, it can implicitly indicate the second identifier allocation rule for requesting UE2, which can save signaling overhead.
[0143] 602, UE2 sends a second identifier allocation rule to UE1. Correspondingly, UE1 receives the second identifier allocation rule from UE2.
[0144] The first data packet is any data packet among the data packets to which the RLC SN has been allocated in UE2.
[0145] In one implementation, the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet (i.e., there is a corresponding relationship between the two). For example, RLC SN=103 corresponds to a PDCP count value of 1203, that is, the RLC SN allocated to the RLC PDU with a PDCP count value of 1203 is 103.
[0146] In another implementation, the second identifier allocation rule includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet (i.e., there is a corresponding relationship between the two). For example, RLC SN=128 corresponds to IP packet identifier 2287, that is, the RLC SN allocated to the RLC PDU with IP packet identifier 2287 is 128.
[0147] 603. UE1 allocates an RLC SN for the second data packet based on the received second identifier allocation rule.
[0148] The RLC SN allocated by UE1 to the second data packet (eg, RLC PDU) is the same as the RLC SN allocated by UE2 to the second data packet.
[0149] The second data packet may be a data packet to which an RLC SN is not allocated in UE1. Optionally, the second data packet may also be a data packet to which an RLC SN is allocated in UE1. For a data packet, if its allocated RLC SN is inconsistent with the RLC SN allocated based on the second identifier allocation rule, the allocated RLC SN is updated to the RLCSN allocated based on the second identifier allocation rule.
[0150] exist Figure 6 In the illustrated embodiment, UE1 may request UE2 for the rule for UE2 to allocate RLC SN to RLC PDU, and then UE1 may allocate RLC SN to RLC PDU based on the rule, so that UE1 and UE2 allocate the same RLCSN to the same RLC PDU, thereby helping to improve the success rate of the access network device receiving TB.
[0151] See also Figure 7 , is a flow chart of another data packet processing method provided in an embodiment of the present application, which may include but is not limited to the following steps:
[0152] 701, UE2 sends a data packet identifier of a third data packet to UE1. Correspondingly, UE1 receives the data packet identifier of the third data packet from UE2.
[0153] The data packet identifier of the third data packet is an IP packet identifier, a PDCP count value, or an RLC SN. The data packet identifier of the third data packet is the smallest in the cache of UE2, that is, the third data packet is the data packet with the smallest IP packet identifier, PDCP count value, or RLC SN in the cache of UE2. Alternatively, the third data packet is the earliest cached data packet in UE2, that is, the earliest data packet to be sent in the sending order.
[0154] For example, the data packets to be sent in UE2 have data packet identifiers 1021, 1022, 1023, 1024, 1, 2, 3; then the data packet identifier of the third data packet is 1021, which is the earliest cached data packet, that is, the earliest data packet to be sent in the order of sending. 1024 is the maximum data packet identifier allocated to the data packet. If the maximum identifier is exceeded, the data packet identifier needs to be renumbered.
[0155] If the data packet identifiers of the data packets to be sent in UE2 are 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, then the data packet identifier of the third data packet is 3, which is the smallest data packet identifier in the cache.
[0156] Optionally, before step 701, UE1 sends a request to UE2, where the request is used to request a data packet identifier of a third data packet.
[0157] Optionally, before step 701, UE1 sends a first request, a second request, or a third request to UE2. That is, for example, the first request is not only used to request the PDCP count value corresponding to the IP packet identifier of the first data packet, but also used to request the data packet identifier of the third data packet.
[0158] Optionally, at 702, UE1 sends a data packet identifier of a fourth data packet to UE2. Correspondingly, UE2 receives the data packet identifier of the fourth data packet from UE1.
[0159] The data packet identifier of the fourth data packet is an IP packet identifier, a PDCP count value, or an RLC SN. The data packet identifier of the fourth data packet is the smallest in the cache of UE1, that is, the fourth data packet is the data packet with the smallest IP packet identifier, PDCP count value, or RLC SN in the cache of UE1. Alternatively, the fourth data packet is the earliest cached data packet in UE1, that is, the earliest data packet to be sent in the sending order. Alternatively, the fourth data packet is the data packet required by UE1.
[0160] For example, the data packets to be sent in UE1 have data packet identifiers 1021, 1022, 1023, 1024, 1, 2, 3; then the data packet identifier of the fourth data packet is 1021, which is the earliest cached data packet, that is, the earliest data packet to be sent in the order of sending. 1024 is the maximum data packet identifier allocated to the data packet. If the maximum identifier is exceeded, the data packet identifier needs to be renumbered.
[0161] If the data packet identifiers of the data packets to be sent in UE1 are 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, then the data packet identifier of the fourth data packet is 3, which is the smallest data packet identifier in the cache.
[0162] Step 702 may be performed before step 701 or after step 701. Optionally, step 702 may be performed before step 401, step 501 or step 601. Optionally, step 702 may be performed before step 402, step 502 or step 602.
[0163] Optionally, the data packet identifier of the fourth data packet may be carried in the first request, the second request, or the third request.
[0164] 703 , in response to the data packet identifier of the fourth data packet being smaller than the data packet identifier of the third data packet, UE1 discards the first part of data packets.
[0165] Among them, the data packet identifier of the first part of the data packets is less than the data packet identifier of the third data packet, and is greater than or equal to the data packet identifier of the fourth data packet. The number of the first part of the data packets is one or more. For example, if the PDCP count value of the fourth data packet is 97 and the PDCP count value of the third data packet is 100, then the first terminal device can discard the data packets with PDCP count values of 97, 98 and 99. In this way, UE1 can be prevented from sending redundant data packets, so that UE1 and UE2 can send the same TB.
[0166] 704, in response to the data packet identifier of the fourth data packet being greater than the data packet identifier of the third data packet, UE2 sends a second portion of data packets to UE1. Correspondingly, UE1 receives the second portion of data packets from UE2.
[0167] The data packet identifier of the second part of the data packets is greater than the data packet identifier of the third data packet, and less than or equal to the data packet identifier of the fourth data packet. The number of the second part of the data packets is one or more. For example, if the PDCP count value of the fourth data packet is 105 and the PDCP count value of the third data packet is 100, then UE2 can send data packets with PDCP count values of 100, 101, 102, 103 and 104 to UE1.
[0168] Either step 703 or step 704 can be performed. By performing step 703 or step 704, the content of the TB in the MAC of UE1 and UE2 can be made the same.
[0169] After step 703 or step 704, the data packets in the cache of UE1 and UE2 are the same, and the second data packet can be sent to the access network device based on the resources sent by the access network device (including but not limited to time domain resources, frequency domain resources and spatial domain resources). In other words, UE1 and UE2 use the same resources scheduled by the access network device to transmit the same data packet to the access network device. Thus, UE1 and UE2 can send the same TB.
[0170] exist Figure 7 In the illustrated embodiment, by comparing the packet identifier of the fourth data packet in the UE1 cache with the packet identifier of the third data packet in the UE2 cache, it is determined whether UE1 discards part of the data packets or UE2 sends the missing data packets to UE1, so that the content of the TB in the MAC of UE1 and UE2 is the same, and then UE1 and UE2 can send the same TB on the same resources, which helps to improve the success rate of the access network device in receiving the TB.
[0171] Figure 7 The embodiment shown is based on the fact that there is no TB to be retransmitted in UE2, or that HARQ retransmission is not supported. If there is a TB to be retransmitted in UE2, before step 701, UE2 sends HARQ information of the TB to be retransmitted to UE1. The HARQ information may include one or more of the information such as the redundancy version and the HARQ process number, so that UE1 can know the HARQ information of the TB to be retransmitted, and then UE1 can execute retransmission of the TB. That is, if there is a TB to be retransmitted in UE2, UE2 sends the HARQ information of the TB to be retransmitted to UE1, and executes Figure 7 The embodiment shown, Figure 7 The middle cache may be replaced by the cache corresponding to the TB to be retransmitted.
[0172] It should be noted that Figure 7 The illustrated embodiment can be performed independently so that the content of the TB in the MAC of UE1 and UE2 is the same. Figure 7 The embodiment shown can also be used with Figure 4 or Figure 5 or Figure 6 The illustrated embodiments may be implemented in combination with Figure 4 The embodiments shown are executed in combination, so that UE1 and UE2 can allocate the same PDCP count value to the data packets with the same IP packet identifier, and can also make the contents of TB in the MAC of UE1 and UE2 the same. Figures 4 to 7 In the illustrated embodiment, the interaction between UE1 and UE2 may be conducted directly through the PC5 interface, or may be conducted through forwarding by the access network device. For example, the first identifier allocation rule sent by UE2 to UE1 may be that UE2 sends the first identifier allocation rule to the access network device, and the access network device then sends the first identifier allocation rule to UE1.
[0173] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0174] In the above embodiments, the description of each embodiment has its own emphasis, and any multiple embodiments can be used in combination. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0175] See also Figure 8 , Figure 8 80 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application. The communication device 80 may be a terminal device or a device matching the terminal device. Figure 8 As shown, the communication device 80 includes a communication unit 802 and a processing unit 801 .
[0176] In one implementation, the communication device 80 is used to implement the function of the first terminal device. The communication unit 802 is used to receive the data packet identifier of the first data packet from the second terminal device, and the data packet identifier of the first data packet includes one or more of the PDCP count value of the first data packet, the IP packet identifier of the first data packet, and the RLC SN of the first data packet; the processing unit 801 is used to allocate a data packet identifier for the second data packet based on the data packet identifier of the first data packet, and the second data packet is a data packet to be transmitted except the first data packet.
[0177] Optionally, the packet identifier of the first data packet includes the PDCP count value of the first data packet; the communication unit 802 is also used to send a first request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, the first request including the IP packet identifier of the first data packet, and the first request is used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet.
[0178] Optionally, the first data packet is a data packet having a smallest IP packet identifier among multiple data packets to which a PDCP count value is not allocated, or the first data packet is any data packet among multiple data packets to which a PDCP count value is not allocated.
[0179] Optionally, the packet identifier of the first data packet includes the PDCP count value of the first data packet; the communication unit 802 is also used to send a second request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, the second request is used to request the first identifier allocation rule of the second terminal device, the first identifier allocation rule includes the IP packet identifier of the first data packet and the PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet.
[0180] Optionally, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link with the access network device has been restored.
[0181] Optionally, the data packet identifier of the first data packet includes the RLC SN of the first data packet and the PDCP count value of the first data packet; or, includes the RLC SN of the first data packet and the IP packet identifier of the first data packet.
[0182] Optionally, the communication unit 802 is further used to send a third request to the second terminal device before receiving the data packet identifier of the first data packet from the second terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule comprising the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; or comprising the RLC SN of the first data packet and the IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet.
[0183] Optionally, the communication unit 802 is further used to receive a data packet identifier of a third data packet from the second terminal device, where the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest data packet cached by the second terminal device.
[0184] Optionally, processing unit 801 is further used to discard the first part of data packets in response to the data packet identifier of the fourth data packet being smaller than the data packet identifier of the third data packet; the data packet identifier of the first part of data packets is smaller than the data packet identifier of the third data packet and is greater than or equal to the data packet identifier of the fourth data packet; wherein the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0185] Optionally, the communication unit 802 is also used to receive a second part of data packets from a second terminal device, the data packet identifier of the second part of data packets is greater than the data packet identifier of the third data packet and is less than or equal to the data packet identifier of the fourth data packet, and the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0186] Optionally, the communication unit 802 is further used to receive HARQ information of the TB to be retransmitted from the second terminal device before receiving the data packet identifier of the third data packet from the second terminal device.
[0187] Optionally, the communication unit 802 is further configured to send a data packet identifier of a fourth data packet to the second terminal device.
[0188] In one implementation, the communication device 80 is used to implement the function of the second terminal device. The communication unit 802 is used to send a data packet identifier of a first data packet to the first terminal device; the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0189] Optionally, the communication unit 802 is also used to receive a first request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the first request including the IP packet identifier of the first data packet, and the first request is used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet; in response to the first request, send the PDCP count value of the first data packet to the first terminal device.
[0190] Optionally, the communication unit 802 is further used to receive a second request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule including an IP packet identifier of the first data packet and a PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet; in response to the second request, sending the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0191] Optionally, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link between the first terminal device and the access network device has been restored.
[0192] Optionally, the communication unit 802 is further used to receive a third request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule including the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; in response to the third request, sending the RLC SN of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0193] Optionally, the communication unit 802 is further used to receive a third request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule including the RLC SN of the first data packet and the IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet; in response to the third request, the RLC SN of the first data packet and the IP packet identifier of the first data packet are sent to the first terminal device.
[0194] Optionally, the communication unit 802 is further used to send a data packet identifier of a third data packet to the first terminal device, where the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest cached data packet of the second terminal device.
[0195] Optionally, the communication unit 802 is further used to receive a data packet identifier of a fourth data packet from the first terminal device, where the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0196] Optionally, the communication unit 802 is also used to send a second part of the data packet to the first terminal device in response to the data packet identifier of the fourth data packet being greater than the data packet identifier of the third data packet, the data packet identifier of the second part of the data packet being greater than the data packet identifier of the third data packet and less than or equal to the data packet identifier of the fourth data packet.
[0197] Optionally, the communication unit 802 is further used to send HARQ information of the TB to be retransmitted to the first terminal device in response to the existence of the TB to be retransmitted.
[0198] See also Fig. 9 , Fig. 990 is a schematic diagram of the structure of another communication device provided in an embodiment of the present application. The communication device 90 may be a terminal device or a device matching the terminal device. Optionally, the communication device may further include a memory 903. The transceiver 901, the processor 902, and the memory 903 may be connected via a bus 904 or other means. Fig. 9 The connections between other components are shown in bold lines, which are only for illustration and are not intended to be limiting. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0199] The coupling in the embodiment of the present application is an indirect coupling or communication connection between devices, units or modules, which can be electrical, mechanical or other forms, and is used for information exchange between devices, units or modules. The specific connection medium between the above-mentioned transceiver 901, processor 902, and memory 903 is not limited in the embodiment of the present application.
[0200] The memory 903 may include a read-only memory and a random access memory, and provides instructions and data to the processor 902. A part of the memory 903 may also include a nonvolatile random access memory.
[0201] The processor 902 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, and optionally, the processor 902 may also be any conventional processor, etc.
[0202] In an optional implementation, the memory 903 is used to store program instructions; the processor 902 is used to call the program instructions stored in the memory 903 to execute Figures 3 to 7 The steps executed by the first terminal device and the second terminal device in the corresponding embodiment.
[0203] In the embodiment of the present application, the method provided in the embodiment of the present application can be implemented by running a computer program (including program code) capable of executing each step involved in the above method on a general computing device such as a computer including a CPU, a random access memory (RAM), a read-only memory (ROM) and other processing elements and storage elements. The computer program can be recorded on a computer-readable recording medium, for example, and loaded into the above computing device through the computer-readable recording medium and run therein.
[0204] Based on the same inventive concept, the communication device 90 provided in the embodiment of the present application solves the problem and has the same beneficial effects as the present application. Figures 3 to 7 The principles and beneficial effects of solving the problems in the illustrated embodiments are similar, and reference may be made to the principles and beneficial effects of the implementation of the method, which will not be repeated here for the sake of brevity.
[0205] The aforementioned communication device may be, for example, a chip or a chip module.
[0206] An embodiment of the present application further provides a chip, which includes a processor, and the processor can execute the relevant steps of the first terminal device or the second terminal device in the aforementioned method embodiment.
[0207] In one implementation, the chip is used to: receive a packet identifier of a first data packet from a second terminal device, the packet identifier of the first data packet including one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet; based on the packet identifier of the first data packet, assign a packet identifier to a second data packet, the second data packet being a data packet to be transmitted other than the first data packet.
[0208] Optionally, the packet identifier of the first data packet includes the PDCP count value of the first data packet; the chip is also used to send a first request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, the first request including the IP packet identifier of the first data packet, and the first request is used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet.
[0209] Optionally, the first data packet is a data packet having a smallest IP packet identifier among multiple data packets to which a PDCP count value is not allocated, or the first data packet is any data packet among multiple data packets to which a PDCP count value is not allocated.
[0210] Optionally, the packet identifier of the first data packet includes the PDCP count value of the first data packet; the chip is also used to send a second request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule including the IP packet identifier of the first data packet and the PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet.
[0211] Optionally, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link with the access network device has been restored.
[0212] Optionally, the data packet identifier of the first data packet includes the RLC SN of the first data packet and the PDCP count value of the first data packet; or, includes the RLC SN of the first data packet and the IP packet identifier of the first data packet.
[0213] Optionally, the chip is also used to send a third request to the second terminal device before receiving the data packet identifier of the first data packet from the second terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule comprising the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; or comprising the RLC SN of the first data packet and the IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet.
[0214] Optionally, the chip is also used to receive a data packet identifier of a third data packet from the second terminal device, the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest data packet cached by the second terminal device.
[0215] Optionally, the chip is also used to discard the first part of the data packets in response to the data packet identifier of the fourth data packet being smaller than the data packet identifier of the third data packet; the data packet identifier of the first part of the data packets is smaller than the data packet identifier of the third data packet and is greater than or equal to the data packet identifier of the fourth data packet; wherein the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0216] Optionally, the chip is also used to receive a second part of data packets from a second terminal device, the data packet identifier of the second part of data packets is greater than the data packet identifier of the third data packet, and is less than or equal to the data packet identifier of the fourth data packet, and the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0217] Optionally, the chip is also used to receive HARQ information of a TB to be retransmitted from the second terminal device before receiving the data packet identifier of a third data packet from the second terminal device.
[0218] Optionally, the chip is also used to send a data packet identifier of a fourth data packet to the second terminal device.
[0219] In another implementation, the chip is used to: send a data packet identifier of a first data packet to a first terminal device; the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0220] Optionally, the chip is also used to receive a first request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the first request including the IP packet identifier of the first data packet, and the first request being used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet; in response to the first request, sending the PDCP count value of the first data packet to the first terminal device.
[0221] Optionally, the chip is also used to receive a second request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule including an IP packet identifier of the first data packet and a PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet; in response to the second request, sending the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0222] Optionally, the second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link between the first terminal device and the access network device has been restored.
[0223] Optionally, the chip is also used to receive a third request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule including the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; in response to the third request, sending the RLC SN of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0224] Optionally, the chip is also used to receive a third request from the first terminal device before sending the data packet identifier of the first data packet to the first terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule including the RLC SN of the first data packet and the IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet; in response to the third request, the RLC SN of the first data packet and the IP packet identifier of the first data packet are sent to the first terminal device.
[0225] Optionally, the chip is also used to send a data packet identifier of a third data packet to the first terminal device, where the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest cached data packet of the second terminal device.
[0226] Optionally, the chip is also used to receive a data packet identifier of a fourth data packet from the first terminal device, the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
[0227] Optionally, the chip is also used to send a second part of the data packet to the first terminal device in response to the data packet identifier of the fourth data packet being greater than the data packet identifier of the third data packet, the data packet identifier of the second part of the data packet being greater than the data packet identifier of the third data packet and less than or equal to the data packet identifier of the fourth data packet.
[0228] Optionally, the chip is also used to send HARQ information of the TB to be retransmitted to the first terminal device in response to the existence of the TB to be retransmitted.
[0229] The above chip is used to send information or receive information, and the chip can output information or input information through a chip interface.
[0230] See also Fig.10 , Fig.10 1 is a schematic diagram of a chip module provided in an embodiment of the present application. The chip module 100 can execute the relevant steps of the terminal device in the aforementioned method embodiment, and the chip module 100 includes: a communication interface 1001 and a chip 1002 .
[0231] The communication interface is used for internal communication of the chip module, or for the chip module to communicate with an external device. The communication interface can also be described as a communication module. The chip 1002 is used to implement the functions of the terminal device in the embodiment of the present application.
[0232] For example, chip 1002 is used to receive a packet identifier of a first data packet from a second terminal device, where the packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet; based on the packet identifier of the first data packet, a packet identifier is assigned to a second data packet, where the second data packet is a data packet to be transmitted other than the first data packet.
[0233] For another example, chip 1002 is used to send a data packet identifier of a first data packet to a first terminal device; the data packet identifier of the first data packet includes one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0234] Optionally, the chip module 100 may further include a storage module 1003 and a power module 1004. The storage module 1003 is used to store data and instructions. The power module 1004 is used to provide power to the chip module.
[0235] For each device or product applied to or integrated in the chip module, each module contained therein can be implemented by hardware such as circuits, and different modules can be located in the same component of the chip module (such as a chip, circuit module, etc.) or in different components. Alternatively, at least some of the modules can be implemented by software programs that run on a processor integrated inside the chip module, and the remaining (if any) modules can be implemented by hardware such as circuits.
[0236] An embodiment of the present application also provides a computer-readable storage medium, in which one or more instructions are stored, and the one or more instructions are suitable for being loaded by a processor and executing the method provided by the above method embodiment.
[0237] The embodiment of the present application also provides a computer program product including a computer program or instructions. When the computer program or instructions are executed on a computer, the computer executes the method provided by the above method embodiment.
[0238] It should be noted that, for the above-mentioned various embodiments, for the sake of simple description, they are all expressed as a series of action combinations. Those skilled in the art should be aware that the present application is not limited by the described order of actions, because some steps in the embodiments of the present application can be performed in other orders or simultaneously. In addition, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions, steps, modules or units involved are not necessarily required by the embodiments of the present application.
[0239] In the above embodiments, the embodiments of the present application have different focuses on the description of each embodiment. For parts that are not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0240] The steps of the method or algorithm described in the embodiments of the present application can be implemented in a hardware manner, or can be implemented by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, erasable programmable read-only memory (erasable programmable ROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), registers, hard disks, mobile hard disks, read-only compact disks (CD-ROMs) or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and can write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an ASIC. In addition, the ASIC can be located in a terminal device or a management device. Of course, the processor and the storage medium can also be present in a terminal device or a management device as discrete components.
[0241] Those skilled in the art should be aware that in one or more of the above examples, the functions described in the embodiments of the present application can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiments 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 device. 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 to another 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. 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 integrations. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a digital video disc (DVD)), or a semiconductor medium (eg, a solid state disk (SSD)).
[0242] Regarding the various modules / units included in the various devices and products described in the above embodiments, they can be software modules / units, or hardware modules / units, or they can be partially software modules / units and partially hardware modules / units. For example, for various devices and products applied to or integrated in a chip, the various modules / units included therein can all be implemented in the form of hardware such as circuits, or at least some of the modules / units can be implemented in the form of software programs, which run on a processor integrated inside the chip, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in a chip module, the various modules / units included therein can all be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (such as a chip, circuit module, etc.) or different components of the chip module, or at least some of the modules / units can be implemented in the form of hardware such as circuits. The element can be implemented in the form of a software program, which runs on a processor integrated inside the chip module, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits; for various devices and products applied to or integrated in the terminal, the various modules / units contained therein can be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component (for example, chip, circuit module, etc.) or in different components in the terminal, or, at least some modules / units can be implemented in the form of a software program, which runs on a processor integrated inside the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits.
[0243] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of the embodiments of the present application. It should be understood that the above description is only the specific implementation method of the embodiments of the present application and is not intended to limit the protection scope of the embodiments of the present application. Any modifications, equivalent substitutions, improvements, etc. made on the basis of the technical solutions of the embodiments of the present application should be included in the protection scope of the embodiments of the present application.
Claims
1. A data packet processing method, characterized in that: include: Receive a data packet identifier of a first data packet from a second terminal device, where the data packet identifier of the first data packet includes one or more of a packet data convergence protocol PDCP count value of the first data packet, an Internet protocol IP packet identifier of the first data packet, and a radio link control RLC sequence number SN of the first data packet; Based on the data packet identifier of the first data packet, a data packet identifier is allocated to a second data packet, where the second data packet is a data packet to be transmitted except the first data packet.
2. The method according to claim 1, characterized in that The data packet identifier of the first data packet includes a PDCP count value of the first data packet; Before receiving the data packet identifier of the first data packet from the second terminal device, the method further includes: A first request is sent to the second terminal device, wherein the first request includes the IP packet identifier of the first data packet, and the first request is used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet.
3. The method according to claim 2, characterized in that The first data packet is a data packet with a smallest IP packet identifier among multiple data packets to which a PDCP count value is not allocated, or the first data packet is any data packet among multiple data packets to which a PDCP count value is not allocated.
4. The method according to claim 1, characterized in that The data packet identifier of the first data packet includes a PDCP count value of the first data packet; Before receiving the data packet identifier of the first data packet from the second terminal device, the method further includes: A second request is sent to the second terminal device, where the second request is used to request a first identifier allocation rule for the second terminal device, where the first identifier allocation rule includes an IP packet identifier of the first data packet and a PDCP count value of the first data packet, and the IP packet identifier of the first data packet corresponds to the PDCP count value of the first data packet.
5. The method according to claim 4, characterized in that The second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link with the access network device has been restored.
6. The method according to claim 1, characterized in that The data packet identifier of the first data packet includes the RLC SN of the first data packet and the PDCP count value of the first data packet; or includes the RLC SN of the first data packet and the IP packet identifier of the first data packet.
7. The method according to claim 6, characterized in that Before receiving the data packet identifier of the first data packet from the second terminal device, the method further includes: A third request is sent to the second terminal device, wherein the third request is used to request a second identifier allocation rule of the second terminal device, wherein the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet; or includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet.
8. The method according to any one of claims 1 to 7, characterized in that: The method further comprises: A data packet identifier of a third data packet is received from the second terminal device, where the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest data packet cached by the second terminal device.
9. The method according to claim 8, characterized in that The method further comprises: In response to the data packet identifier of the fourth data packet being smaller than the data packet identifier of the third data packet, discarding the first part of data packets; the data packet identifier of the first part of data packets is smaller than the data packet identifier of the third data packet and is greater than or equal to the data packet identifier of the fourth data packet; The data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or the fourth data packet is the earliest data packet cached by the first terminal device.
10. The method according to claim 8, characterized in that The method further comprises: A second part of data packets is received from the second terminal device, wherein a data packet identifier of the second part of data packets is greater than a data packet identifier of the third data packet and is less than or equal to a data packet identifier of a fourth data packet, and the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
11. The method according to claim 8, characterized in that Before the receiving of the data packet identifier of the third data packet from the second terminal device, the method further includes: Receive hybrid automatic repeat request HARQ information of the transmission block TB to be retransmitted from the second terminal device.
12. The method according to claim 9 or 10, characterized in that The method further comprises: Send the data packet identifier of the fourth data packet to the second terminal device.
13. A data packet processing method, characterized in that: include: Send a data packet identifier of a first data packet to a first terminal device; the data packet identifier of the first data packet includes one or more of a packet data convergence protocol PDCP count value of the first data packet, an Internet protocol IP packet identifier of the first data packet, and a radio link control RLC sequence number SN of the first data packet.
14. The method according to claim 13, characterized in that Before sending the data packet identifier of the first data packet to the first terminal device, the method further includes: receiving a first request from the first terminal device, the first request including the IP packet identifier of the first data packet, the first request being used to request a PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet; The step of sending a data packet identifier of a first data packet to a first terminal device includes: In response to the first request, the PDCP count value of the first data packet is sent to the first terminal device.
15. The method according to claim 14, characterized in that Before sending the data packet identifier of the first data packet to the first terminal device, the method further includes: receiving a second request from the first terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule comprising an IP packet identifier of the first data packet and a PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet; The step of sending a data packet identifier of a first data packet to a first terminal device includes: In response to the second request, the IP packet identifier of the first data packet and the PDCP count value of the first data packet are sent to the first terminal device.
16. The method according to claim 15, characterized in that The second request is link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link between the first terminal device and the access network device has been restored.
17. The method according to claim 13, characterized in that Before sending the data packet identifier of the first data packet to the first terminal device, the method further includes: receiving a third request sent from the first terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule comprising an RLC SN of the first data packet and a PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; The step of sending a data packet identifier of a first data packet to a first terminal device includes: In response to the third request, the RLC SN of the first data packet and the PDCP count value of the first data packet are sent to the first terminal device.
18. The method according to claim 13, characterized in that Before sending the data packet identifier of the first data packet to the first terminal device, the method further includes: receiving a third request sent from the first terminal device, wherein the third request is used to request a second identifier allocation rule of the second terminal device, wherein the second identifier allocation rule includes an RLC SN of the first data packet and an IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet; The step of sending a data packet identifier of a first data packet to a first terminal device includes: In response to the third request, the RLC SN of the first data packet and the IP packet identifier of the first data packet are sent to the first terminal device.
19. The method according to any one of claims 13 to 18, characterized in that: The method further comprises: A data packet identifier of a third data packet is sent to the first terminal device, where the data packet identifier of the third data packet is the smallest in the cache of the second terminal device; or, the third data packet is the earliest cached data packet of the second terminal device.
20. The method of claim 19, wherein: The method further comprises: A data packet identifier of a fourth data packet is received from the first terminal device, where the data packet identifier of the fourth data packet is the smallest in the cache of the first terminal device; or, the fourth data packet is the earliest data packet cached by the first terminal device.
21. The method of claim 20, wherein: The method also includes: in response to the packet identifier of the fourth data packet being greater than the packet identifier of the third data packet, sending a second part of data packets to the first terminal device, the packet identifier of the second part of data packets being greater than the packet identifier of the third data packet and less than or equal to the packet identifier of the fourth data packet.
22. The method of claim 19, wherein: The method further comprises: In response to the existence of a TB to be retransmitted, HARQ information of the TB to be retransmitted is sent to the first terminal device.
23. A communication device, characterized in that: The method comprises a unit for implementing the method according to any one of claims 1 to 12, or comprises a unit for implementing the method according to any one of claims 13 to 22.
24. A terminal device comprising a processor, a memory and a computer program or instruction stored in the memory, characterized in that: The processor executes the computer program or instructions to implement the steps of the method in any one of claims 1-12; or, implements the steps of the method in any one of claims 13-22.
25. A chip, comprising a processor, characterized in that: The processor executes the steps of the method according to any one of claims 1 to 12, or executes the steps of the method according to any one of claims 13 to 22.
26. A chip module, comprising a communication interface and a chip, characterized in that: The chip comprises a processor, and the processor executes the steps of the method described in any one of claims 1 to 12, or executes the steps of the method described in any one of claims 13 to 22.
27. A computer-readable storage medium, characterized in that: It stores a computer program or instruction, which, when executed, implements the steps of the method described in any one of claims 1 to 12, or implements the steps of the method described in any one of claims 13 to 22.
Citation Information
Patent Citations
Methods and devices for sending and receiving data
CN109937589A
VOLTE data transmission method and device, access network equipment and storage medium
CN110290130A
Data packet processing method and device, and storage medium
CN112789839A
Data transmission method, device and system
CN115551006A
Data transmission method, communication device and communication system
CN116114309A