Data packet processing method and communication apparatus

By sharing packet identification between user equipment, ensuring the reliability of packet transmission, the problem of inconsistent packet transmission after wireless link failure is solved, and the success rate of access network equipment receiving transmission blocks is improved.

WO2025051058A1PCT designated stage expired Publication Date: 2025-03-13SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/115825
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-04
Filing Date
2024-08-30
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

In a data transmission scenario, when one of the at least two user equipment recovers after the wireless link failure, it may cause the base station to fail to receive the transmission block TB, affecting the transmission reliability of the application layer service.

Method used

By sharing the packet identification, such as the PDCP count value, the IP packet identification and the RLC serial number between the first terminal device and the second terminal device, it is ensured that both send the same data packet to the access network device at the access network device, thereby improving the reliability of the packet transmission.

Benefits of technology

This method improves the success rate of the access network equipment receiving transmission block TB, and ensures the continuous transmission reliability of application layer services during UE wireless link failure and recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024115825_13032025_PF_FP_ABST
    Figure CN2024115825_13032025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in embodiments of the present application are a data packet processing method and a communication apparatus, which are beneficial to improving the success rate of receiving a TB by an access network device. The method may comprise: receiving a data packet identifier of a first data packet from a second terminal device, the data packet identifier comprising one or more of a PDCP count value, an IP packet identifier, and an RLC SN; and allocating a data packet identifier to a second data packet on the basis of the data packet identifier of the first data packet, the second data packet being a data packet to be transmitted other than the first data packet. Therefore, a first terminal device and a second terminal device can allocate the same data packet identifier to a same data packet, and thus the first terminal device and the second terminal device can use the same resource to transmit the same data packet, thereby improving the success rate of receiving a TB by an access network device.
Need to check novelty before this filing date? Find Prior Art

Description

Data packet processing method and communication device

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 4, 2023, with application number 202311134174.2 and application name “Data Packet Processing Method and Communication Device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] 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

[0003] In a data transmission scenario, the application layer can send the same data packet to at least two user equipment (UE), and at least two UEs can generate the same transport block (TB). The same TB is transmitted to the base station via the same wireless resources and the same transmission method. The base station receives the TB from the UE, and does not need to distinguish whether the TB comes from one UE or multiple UEs when receiving the TB. Therefore, when one of the at least two UEs is not working, the transmission of the application layer service can still be guaranteed, thereby improving the reliability of the application layer service. The application layer can be understood as an application server, which can be, for example, an extended reality (XR) application server, a cloud server, a power grid relay server, etc.

[0004] If one of at least two UEs (e.g., UE1) recovers its radio link after a radio link failure or freeze, UE1 may discard some data packets during the transition from radio link failure to recovery, while the other UEs continue to transmit data packets. However, after UE1 recovers its radio link, if the TBs transmitted to the base station by UE1 and the other UEs differ, the base station may fail to receive the TBs. Therefore, improving the base station's success rate in receiving TBs is a pressing technical issue.

[0005] Summary of the Invention

[0006] The embodiments of the present application provide a data packet processing method and a communication device, which help to improve the success rate of access network devices receiving TBs.

[0007] 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 matched with 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; and assigning 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 other than the first data packet.

[0008] 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. Because 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 can then 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 TB reception by the access network device.

[0009] In one possible implementation, the method further includes: based on the packet identifier of the second packet, sending the second packet to the access network device via a first resource, where the first resource and the second resource are the same, and the second resource is the resource used by the second terminal device to send the second packet to the access network device. In this way, the first terminal device and the second terminal device send the same packet to the access network device using the same resource, thereby improving the reliability of packet transmission and facilitating a higher success rate of TB reception by the access network device.

[0010] In one 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 above 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 based on 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.

[0011] In a possible implementation, 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.

[0012] In one 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 above method further includes: sending a second request to 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. 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 in receiving TB.

[0013] In one possible implementation, the second request is link recovery indication information, which is also used to indicate that the wireless link with the access network device has been restored, specifically, 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, on the one hand, indicates that the wireless link between the first terminal device and the access network device has been restored, and on the other hand, indicates a request for the first identifier allocation rule for the second terminal device. It can also be understood that, when indicating that the wireless link between the first terminal device and the access network device has been restored, the link recovery indication information can implicitly indicate a request for the first identifier allocation rule for the second terminal device, thereby saving signaling overhead.

[0014] In a possible implementation, 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.

[0015] In one possible implementation, before receiving the data packet identifier of the first data packet from the second terminal device, the above method further includes: sending a third request to 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 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; or 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 other words, 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 in receiving TB.

[0016] 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.

[0017] In one possible implementation, the method further includes: receiving a packet identifier of a third data packet from the second terminal device, where the packet identifier of the third data packet is the smallest in a cache of the second terminal device; or, the third data packet is the oldest data packet cached by the second terminal device. The second terminal device notifies the first terminal device of the packet identifier of the third data packet, so that the first terminal device determines whether to discard some of the data packets.

[0018] In one possible implementation, the method further includes: in response to the packet identifier of the fourth data packet being smaller 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 smaller 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.

[0019] In one 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 packet 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.

[0020] In one 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: a redundancy version, a 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.

[0021] In one possible implementation, the method further includes: sending a packet identifier of the fourth data packet to the second terminal device so that the second terminal device can determine whether to send the second portion of data packets to the first terminal device. The first terminal device may send the packet identifier of the fourth data packet to the second terminal device before receiving the packet identifier of the first data packet. Alternatively, the first terminal device may send the packet identifier of the fourth data packet to the second terminal device before receiving the second portion of data packets.

[0022] 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 bit of the identifier in the IP packet identifier of the first data packet, and the number of the lower bits is the same as the number of the PDCP count value of the first data packet.

[0023] In a second aspect, embodiments of the present application provide a data packet processing method, which can be executed by a second terminal device, or by a device compatible with the second terminal device, such as a processor, chip, or chip module. 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.

[0024] 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.

[0025] In one possible implementation, the method further includes: based on a packet identifier of the second packet, sending a second packet to the access network device via a second resource, where the second packet is a packet to be transmitted in addition to the first packet; the second resource being the same resource as that used by the first terminal device to send the second packet to the access network device. Thus, the first and second terminal devices sending the same packet to the access network device via the same resource can improve packet transmission reliability and help increase the access network device's success rate in receiving TBs.

[0026] In one 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.

[0027] 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 ​​to other data packets based on 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.

[0028] In one 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 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; 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.

[0029] 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 a PDCP count value for 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 in receiving TB.

[0030] In one possible implementation, the second request is link recovery indication information, which 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, on the one hand, indicates that the wireless link between the first terminal device and the access network device has been restored, and on the other hand, indicates a request for the first identifier allocation rule for 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 a request for the first identifier allocation rule for the second terminal device, thereby saving signaling overhead.

[0031] In one 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 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.

[0032] In one 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 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: sending the RLC SN of the first data packet and the IP packet identifier of the first data packet to the first terminal device in response to the third request.

[0033] 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.

[0034] In one possible implementation, the method further includes: sending a packet identifier of a third data packet to the first terminal device, where the packet identifier of the third data packet is the smallest in a cache of the second terminal device; or, where the third data packet is the oldest data packet cached by the second terminal device. The second terminal device notifies the first terminal device of the packet identifier of the third data packet, so that the first terminal device determines whether to discard some of the data packets.

[0035] In one possible implementation, the method further includes: receiving a packet identifier of a fourth data packet from the first terminal device, the packet identifier of the fourth data packet being the smallest in a cache of the first terminal device. Alternatively, the fourth data packet is the earliest data packet cached by the first terminal device.

[0036] In one possible implementation, in response to the packet identifier of the fourth packet being greater than the packet identifier of the third packet, a second partial packet is sent to the first terminal device, where the packet identifier of the second partial packet is greater than the packet identifier of the third packet and less than or equal to the packet identifier of the fourth packet. By having the second terminal device send the partial packet to the first terminal device, this can prevent the first terminal device from sending a missing packet compared to the second terminal device. It is understood that by having the second terminal device send the partial packet to the first terminal device, the first and second terminal devices can send the same TB.

[0037] In one possible implementation, the method further includes: in response to the presence 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 following information: a redundancy version, a HARQ process number, etc. In other words, when a TB to be retransmitted exists 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, thereby causing the first terminal device and the second terminal device to send the same TB.

[0038] In a third aspect, an embodiment of the present application provides a communication device, the communication device comprising:

[0039] 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 RLC SN of the first data packet;

[0040] The processing unit is configured 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 other than the first data packet.

[0041] Alternatively, the communication device comprises:

[0042] A communication unit, 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.

[0043] 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 or second aspect above.

[0044] 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.

[0045] 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.

[0046] 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 above-mentioned first aspect are implemented, or the steps in the method involved in the above-mentioned second aspect are implemented.

[0047] 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 first aspect above are implemented, or the steps in the method involved in the second aspect above are implemented.

[0048] 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

[0049] FIG1 is a schematic diagram of a system architecture using an embodiment of the present application;

[0050] FIG2 is a schematic diagram of a protocol stack of a Uu port;

[0051] FIG3 is a flow chart of a data packet processing method provided in an embodiment of the present application;

[0052] FIG4 is a flow chart of another data packet processing method provided in an embodiment of the present application;

[0053] FIG5 is a flow chart of another data packet processing method provided in an embodiment of the present application;

[0054] FIG6 is a flow chart of another data packet processing method provided in an embodiment of the present application;

[0055] FIG7 is a flow chart of another data packet processing method provided in an embodiment of the present application;

[0056] FIG8 is a schematic structural diagram of a communication device provided in an embodiment of the present application;

[0057] FIG9 is a schematic structural diagram of another communication device provided in an embodiment of the present application;

[0058] FIG10 is a schematic structural diagram of a chip module provided in an embodiment of the present application. DETAILED DESCRIPTION

[0059] In this 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 differences. "And / or" describes the association relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects are in an "or" relationship.

[0060] It should be understood that, in this application, "at least one" refers to one or more, and "a plurality" refers to two or more. Furthermore, in this application, "equal to" can be used in conjunction with "greater than" or "less than." When "equal to" and "greater than" are used together, the technical solution of "greater than" is adopted; when "equal to" and "less than" are used together, the technical solution of "less than" is adopted.

[0061] In the embodiments of the present application, the terms "of," "corresponding," "relevant," "corresponding," "associated," "related," and "mapped" may sometimes be used interchangeably. It should be noted that when no distinction is emphasized, the concepts or meanings to be expressed are consistent.

[0062] First, the system architecture involved in this application is explained.

[0063] 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.

[0064] The present application can be applied to the system architecture shown in Figure 1. The system architecture shown in Figure 1 may include, but is not limited to, an access network device 110, a first terminal device 120a, a second terminal device 120b, and a layer 130. The number and configuration of the devices in Figure 1 are for illustrative purposes only and do not constitute a limitation on the embodiments of the present application. For example, Figure 1 uses two terminal devices as an example, but actual applications may include more terminal devices.

[0065] The access network device 110 is a device that provides wireless communication functions for terminal devices. The access network device can be a satellite, a radio access network (RAN) device, etc. 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: a next-generation base station (gNB) in 5G, an evolved node B (eNB), a radio network controller (RNC), a node B (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (e.g., home evolved node B, or home node B, HNB), a baseband unit (BBU), a transmission and reception point (TRP), a transmitting point (TP), a 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, 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 a terminal device, 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.

[0066] 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 device, Internet of Things terminal device, vehicle-mounted terminal device, industrial control terminal device, UE unit, UE station, mobile station, remote station, remote terminal device, mobile device, wireless communication device, 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-term evolution (LTE), NR, 6G or next-generation wireless communication technology. For example, the terminal device can be a mobile phone, a tablet computer, a desktop computer, a laptop computer, an all-in-one computer, an in-vehicle 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 components. The embodiments of the present application do not limit the specific technology and specific device form used by the terminal device.

[0067] 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.

[0068] 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.

[0069] Optionally, the system architecture shown in Figure 1 may also include core network (CN) equipment, such as access and mobility management function (AMF), user plan function (UPF), etc.

[0070] It can be understood that the communication system described in the embodiment of the present application is for the purpose of more clearly illustrating 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 will 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.

[0071] Secondly, the relevant concepts involved in the embodiments of this application are explained.

[0072] 1. Data packet transmission process between terminal equipment and access network equipment

[0073] 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 terminal devices and access network devices, or access network devices and terminal devices. 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, as shown in Figure 2.

[0074] For a transmitting device, the order in which data packets are processed across the protocol layers is: SDAP layer → PDCP layer → RLC layer → MAC layer → PHY layer. Conversely, for a receiving device, the order in which data packets are processed across the protocol layers is: PHY layer → MAC layer → RLC layer → PDCP layer → SDAP layer. It should be noted that for a protocol layer (e.g., protocol layer A) of a transmitting device, data packets received from an upper layer are called service data units (SDUs) of protocol layer A, and data packets sent by protocol layer A to lower layers are called protocol data units (PDUs) of protocol layer A. For example, for a transmitting device, data packets received by the PDCP layer from the SDAP layer are called PDCP SDUs, and data packets sent by the PDCP layer to the RLC layer are called PDCP PDUs. For a receiving device, data packets received by the PDCP layer from the RLC layer are called PDCP PDUs, and data packets sent by the PDCP layer to the SDAP layer are called PDCP SDUs. It should be noted that this 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.

[0075] 1) SDAP layer

[0076] The main processing of data packets at the SDAP layer may include mapping of quality of service (QoS) flows to data radio bearers (DRBs).

[0077] 2) PDCP layer

[0078] The main processing of data packets at the PDCP layer may include: adding a PDCP sequence number (SN), header compression, encryption, and integrity protection. PDCP adds a PDCP SN to each data packet; header compression is used to compress some Transmission Control Protocol (TCP) / IP and User Datagram Protocol (UDP) / IP headers in data packets received from upper layers to reduce overhead. For example, robust header compression (ROHC) can be performed on data packets; encryption is used to encrypt data packets to prevent data from being obtained by other unauthorized receiving devices; integrity protection is used to protect the integrity of data to prevent others from modifying the data content. Integrity protection is generally performed before encryption.

[0079] 3) RLC layer

[0080] The RLC layer's transmission modes are classified into transparent mode (TM), unacknowledged mode (UM), and acknowledged mode (AM). Different transmission modes have different functions. For AM, the RLC layer performs the following processing on packets: automatic repeat request (ARQ), segmentation, reassembly, and adding an RLC SN. For UM, the RLC layer performs the following processing on packets: segmentation, reassembly, and adding an RLC SN. For TM, the RLC layer does not perform any processing.

[0081] 4) MAC layer

[0082] 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.

[0083] 2. Data packet identification

[0084] The data packet identifier is used to identify a data packet, which can be a data packet received from the application layer, a data packet processed by the above-mentioned protocol layer, or a data packet transmitted over the air interface. In this embodiment of the present application, the data packet identifier can include one or more of the following: an IP packet identifier, a PDCP count value, and an RLC SN.

[0085] 1) IP packet identification

[0086] Data packets received from the application layer are typically IP packets. The IP packet header includes an IP packet identifier, which uniquely identifies each data packet sent by the application layer. The IP packet identifier typically includes an identifier (ID), a flag field, and a fragment offset field.

[0087] The identifier, which has a field length of 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 that the data packet is to pass through, the data packet must be fragmented into smaller data packets.

[0088] For example, if a 5000-byte data packet encounters a data link with an MTU of 1500 bytes during transmission, meaning the data frame can accommodate a maximum of 1500-byte packets, the packet is segmented into multiple fragments before framing. Each fragment must have the same identification field, allowing the receiving device to identify them as belonging to the same data packet.

[0089] The tag field has a field length of 3 bits. The first 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 flag (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).

[0090] The segment offset field has a length of 13 bits and is in units of 8 octets. It is used to indicate the offset of the segment starting point relative to the header starting point.

[0091] 2) PDCP count value

[0092] The PDCP count value is the count value assigned by the PDCP layer for each PDCP SDU. The PDCP count value is a 32-bit unsigned value consisting of the hyperframe number (HFN) and the PDCP SN. The PDCP SN is included in the PDCP PDU. The number of HFN bits is calculated by subtracting the number of PDCP SN bits from 32 bits. Alternatively, the PDCP count value includes only the PDCP SN.

[0093] 3) RLC SN

[0094] The RLC SN is the sequence number of the RLC PDU, and its field length can be 12 or 18 bits. Each RLC PDU has a unique sequence number, regardless of whether it is segmented. For UM, if segmented, each segmented SDU has a separate sequence number.

[0095] 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, then 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 the other terminal devices will continue to transmit data packets. This will result in differences between the data packets sent by the terminal device and the other terminal devices to the access network device, resulting in the access network device failing 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 this invention.

[0096] In view of this, embodiments of the present application provide a data packet processing method and communication device that help improve the success rate of TB reception by access network devices. Even if a terminal device recovers after a wireless link fails, it can ensure that each terminal device sends the same data packet, thereby helping to improve the success rate of TB reception by access network devices.

[0097] The following describes in detail the data packet processing method provided in an embodiment of the present application based on the system architecture shown in Figure 1. This embodiment of the present application takes the example of the application layer sending the same data packet to two terminal devices, namely, a first terminal device and a second terminal device, and takes the example of the process from the first terminal device experiencing a wireless link failure to the recovery of the wireless link, while the second terminal device has always maintained a wireless link with the access network device. For ease of description, the first terminal device is referred to as UE 1, and the second terminal device is referred to as UE 2.

[0098] Please refer to FIG3 , which is a flowchart 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:

[0099] 301, UE2 sends a data packet identifier of a first data packet to UE1. Correspondingly, UE1 receives the data packet identifier from UE2.

[0100] The 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 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 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 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 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.

[0101] In 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 and 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. The detailed description of Mode 1 can be found in the embodiment shown in Figure 4 and is not repeated here.

[0102] Mode 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. For Mode 2, please refer to the specific description of the embodiment shown in Figure 5, which will not be repeated here.

[0103] Mode 3: Before step 301, UE1 sends a third request to UE2, requesting UE2's second identifier allocation rule. The second identifier allocation rule is a rule for allocating 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, where 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, i.e., the RLC SN of the first data packet and the PDCP count value of the first data packet, to UE1. UE1 receives the RLC SN of the first data packet and the PDCP count value of the first data packet and can determine the correspondence between the two, thereby determining the RLC SN allocation rule. 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, where 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, i.e., the RLC SN of the first data packet and the IP packet identifier of the first data packet, to UE1. 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. For mode 3, please refer to the detailed description of the embodiment shown in Figure 6, which will not be repeated here.

[0104] 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.

[0105] In step 301, UE2 may directly send the data packet identifier of the first data packet to UE1 via the interface between UEs (e.g., PC5 interface), or UE2 may send the data packet identifier of the first data packet to the access network device via the Uu port, and the access network device then sends the data packet identifier of the first data packet to UE1 via the Uu port. In other words, UE2 sends the data packet identifier of the first data packet to UE1 via 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 via the access network device.

[0106] 302. UE1 allocates a data packet identifier for a second data packet based on the data packet identifier of the first data packet.

[0107] The second data packet is a data packet to be transmitted in UE1 other than the first data packet. The second data packet may be a data packet in UE1 to which a data packet identifier is not assigned. Optionally, the second data packet may be a data packet in UE1 to which a data packet identifier is assigned. If the assigned data packet identifier of a data packet is inconsistent with the data packet identifier assigned based on the data packet identifier of the first data packet, the assigned data packet identifier is updated to the data packet identifier assigned based on the data packet identifier of the first data packet.

[0108] 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.

[0109] 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.

[0110] 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 data packets with the same IP packet identifier.

[0111] In mode 3, UE1 assigns 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 assigns 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. This allows UE1 and UE2 to be assigned the same RLC SN for the same data packet.

[0112] In the embodiment shown in Figure 3, 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 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.

[0113] Please refer to FIG4 , which is a flowchart of another data packet processing method provided in an embodiment of the present application. The method may include but is not limited to the following steps:

[0114] 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.

[0115] 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 a 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.

[0116] When an IP packet is not fragmented, the IP packet identifier is the identifier. When an IP packet is fragmented, the IP packet identifier includes the identifier, the tag, and the fragment offset. When an IP packet is fragmented, the size of the IP packet identifier can be represented by the value of the fragment offset field. For example, if the fragment offset field of fragment 2 of IP packet number 2 has a value of 100, and the fragment offset field of fragment 3 has a value of 200, then the IP packet identifier of fragment 2 is smaller than the IP packet identifier of fragment 3.

[0117] 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.

[0118] The PDCP count value of the first data packet may be the PDCP count value that UE2 has already 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 a PDCP count value to the first data packet based on the IP packet identifier of the first data packet.

[0119] 403 : UE1 allocates a PDCP count value for the second data packet based on the received PDCP count value of the first data packet.

[0120] 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.

[0121] The second data packet may be a data packet in UE1 that has not been allocated a PDCP count value. For example, if the IP packet identifier of the first data packet is 100 and its PDCP count value is 10237, and the data packet with the IP packet identifier 101 is waiting to be allocated a PDCP count value, then the data packet with the IP packet identifier 101 is allocated a PDCP count value of 10238.

[0122] Optionally, the second data packet may also be a data packet to which a PDCP count value has been allocated in UE1. If the allocated PDCP count value for a certain data packet 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, if the IP packet identifier of the first data packet is 100 and its PDCP count value is 10237, and 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.

[0123] In the embodiment shown in Figure 4, UE1 requests the PDCP count value corresponding to the IP packet identifier of the first data packet from UE2, 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 for data packets with the same IP packet identifier, thereby helping to improve the success rate of the access network device in receiving TB.

[0124] Please refer to FIG5 , which is a flowchart of another data packet processing method provided in an embodiment of the present application. The method may include but is not limited to the following steps:

[0125] 501, UE1 sends a second request to UE2. Correspondingly, UE2 receives the second request from UE1. The second request is used to request UE2's first identifier allocation rule.

[0126] The first identifier allocation rule may be understood as a rule for allocating PDCP count values ​​to data packets. After restoring the radio link between UE1 and the access network device, UE2 sends a second request.

[0127] The second request may be link recovery indication information, which is further used to indicate that the radio link with the access network device has been restored, specifically, that the radio link between UE1 and the access network device has been restored. It can be understood that the link recovery indication information, while indicating that the radio link between UE1 and the access network device has been restored, also indicates a request for UE2's first identifier allocation rule. It can also be understood that the link recovery indication information, while indicating that the radio link between UE1 and the access network device has been restored, may implicitly indicate a request for UE2's first identifier allocation rule, thereby reducing signaling overhead.

[0128] At 502, UE2 sends a first identifier allocation rule to UE1. Accordingly, UE1 receives the first identifier allocation rule from 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. 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).

[0129] The first data packet is any data packet among 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.

[0130] 503. UE1 allocates a PDCP count value to the second data packet based on the received first identifier allocation rule.

[0131] 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.

[0132] The second data packet may be a data packet in UE1 that has not been allocated a PDCP count value. For example, if the IP packet identifier of the first data packet is 100 and its PDCP count value is 10237, and the data packet with the IP packet identifier 101 is waiting to be allocated a PDCP count value, then the data packet with the IP packet identifier 101 is allocated a PDCP count value of 10238.

[0133] Optionally, the second data packet may also be a data packet to which a PDCP count value has been allocated in UE1. If, for a certain data packet, 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, if the IP packet identifier of the first data packet is 100 and its PDCP count value is 10237, and 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.

[0134] In the embodiment shown in Figure 5, UE1 requests UE2 for the rule of UE2 assigning PDCP count values ​​to data packets, and then UE1 can assign PDCP count values ​​to data packets based on the rule, so that UE1 and UE2 assign 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 receiving TBs.

[0135] For the embodiments shown in Figure 4 or Figure 5, 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. The present invention is not limited by different algorithms.

[0136] The corresponding relationship may also be generated according to a certain mapping rule. Specifically, the mapping rule may be:

[0137] 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 identifier field in the IP packet identifier is 16 bits long, so the PDCP count value field is also 16 bits long and has the same value.

[0138] 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.

[0139] 3) The PDCP count value of the first data packet is the low-order bits of the identifier in the IP packet identifier of the first data packet, and the number of bits of the low-order bits is the same as the number of bits of the PDCP count value of the first data packet. If the PDCP count value field length is less than 16 bits, for example, 12 bits, then the PDCP count value is the value of the low-order 12 bits of the identifier in the IP identifier, that is, the value of the 12 bits from right to left.

[0140] 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.

[0141] In another possible implementation, UE1 and UE2 both adopt the same one or more items of the mapping rules, so there is no need for UE1 and UE2 to request or notify the corresponding relationship.

[0142] Please refer to FIG6 , which is a flowchart of another data packet processing method provided in an embodiment of the present application. The method may include but is not limited to the following steps:

[0143] Optionally, at 601, UE1 sends a third request to UE2. Accordingly, UE2 receives the third request from UE1. The third request is used to request UE2's second identifier allocation rule. The second identifier allocation rule can be understood as a rule for allocating an RLC SN to an RLC PDU. After restoring the radio link with the access network device, UE1 sends the third request to UE2.

[0144] Optionally, the third request may be link recovery indication information, which is further used to indicate that the radio link with the access network device has been restored, specifically, that the radio link between UE1 and the access network device has been restored. It can be understood that the link recovery indication information, on the one hand, indicates that the radio link between UE1 and the access network device has been restored, and on the other hand, indicates a request for UE2's second identifier allocation rule. It can also be understood that, when indicating that the radio link between UE1 and the access network device has been restored, the link recovery indication information may implicitly indicate a request for UE2's second identifier allocation rule, thereby saving signaling overhead.

[0145] 602, UE2 sends a second identifier allocation rule to UE1. Correspondingly, UE1 receives the second identifier allocation rule from UE2.

[0146] The first data packet is any data packet among the data packets to which an RLC SN has been allocated in UE2.

[0147] 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 PDCP count value 1203, that is, the RLC SN allocated to the RLC PDU with PDCP count value 1203 is 103.

[0148] 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.

[0149] 603. UE1 allocates an RLC SN for the second data packet based on the received second identifier allocation rule.

[0150] 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.

[0151] 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 be a data packet to which an RLC SN is allocated in UE1. If, for a data packet, the 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 RLC SN allocated based on the second identifier allocation rule.

[0152] In the embodiment shown in Figure 6, UE1 can request UE2 for the rule for UE2 to allocate RLC SN to RLC PDU, and then UE1 can allocate RLC SN to RLC PDU based on the rule, so that UE1 and UE2 allocate the same RLC SN for the same RLC PDU, thereby helping to improve the success rate of access network equipment receiving TB.

[0153] Please refer to FIG7 , which is a flowchart of another data packet processing method provided in an embodiment of the present application. The method may include but is not limited to the following steps:

[0154] 701, UE2 sends the data packet identifier of the third data packet to UE1. Correspondingly, UE1 receives the data packet identifier of the third data packet from UE2.

[0155] The packet identifier of the third data packet is an IP packet identifier, a PDCP count value, or an RLC SN. The packet identifier of the third data packet is the smallest in UE2's cache, i.e., the third data packet is the data packet with the smallest IP packet identifier, PDCP count value, or RLC SN in UE2's cache. Alternatively, the third data packet is the earliest data packet cached in UE2, i.e., the earliest data packet to be sent in the sending order.

[0156] For example, if the packet IDs of the data packets to be sent by UE2 are 1021, 1022, 1023, 1024, 1, 2, 3, then the packet ID of the third data packet is 1021, which is the oldest buffered data packet and the earliest data packet to be sent in the order of transmission. 1024 is the maximum packet ID allocated to data packets. If the maximum ID is exceeded, the packet IDs must be restarted.

[0157] If the data packet identifiers of the data packets to be sent in UE2 are 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12, the data packet identifier of the third data packet is 3, which is the smallest data packet identifier in the cache.

[0158] Optionally, before step 701, UE1 sends a request to UE2, where the request is used to request a data packet identifier of the third data packet.

[0159] 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 used not only to request the PDCP count value corresponding to the IP packet identifier of the first data packet, but also to request the data packet identifier of the third data packet.

[0160] Optionally, in 702, UE1 sends the data packet identifier of the fourth data packet to UE2. Correspondingly, UE2 receives the data packet identifier of the fourth data packet from UE1.

[0161] The packet identifier of the fourth data packet is an IP packet identifier, a PDCP count value, or an RLC SN. The packet identifier of the fourth data packet is the smallest in UE1's cache, i.e., the fourth data packet is the data packet with the smallest IP packet identifier, PDCP count value, or RLC SN in UE1's cache. Alternatively, the fourth data packet is the earliest data packet cached in UE1, i.e., the earliest data packet to be sent in the order of transmission. Alternatively, the fourth data packet is the data packet required by UE1.

[0162] For example, the packet identifiers of the data packets to be sent by UE1 are 1021, 1022, 1023, 1024, 1, 2, 3. The packet identifier of the fourth data packet is 1021, which is the oldest buffered data packet and the earliest data packet to be sent in the order of transmission. 1024 is the maximum packet identifier allocated to data packets. Packet identifiers must be restarted if the maximum identifier is exceeded.

[0163] If the data packet identifiers of the data packets to be sent in UE1 are 3, 4, 5, 6, 7, 8, 9, 10, 11, and 12, the data packet identifier of the fourth data packet is 3, which is the smallest data packet identifier in the cache.

[0164] Step 702 may be performed before or after step 701. Alternatively, step 702 may be performed before step 401, step 501, or step 601. Alternatively, step 702 may be performed before step 402, step 502, or step 602.

[0165] Optionally, the data packet identifier of the fourth data packet may be carried in the first request, the second request, or the third request.

[0166] 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.

[0167] 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 may 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.

[0168] 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.

[0169] The packet identifier of the second portion of data packets 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. The number of the second portion of 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, UE2 can send data packets with PDCP count values ​​of 100, 101, 102, 103, and 104 to UE1.

[0170] Either step 703 or step 704 can be performed. By performing step 703 or step 704, the contents of the TB in the MAC of UE1 and UE2 can be made the same.

[0171] After step 703 or step 704, UE1 and UE2 have the same data packet in their buffers. Based on the resources (including but not limited to time domain resources, frequency domain resources, and spatial domain resources) sent by the access network device, a second data packet can be sent to the access network device. 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. This allows UE1 and UE2 to send the same TB.

[0172] In the embodiment shown in Figure 7, 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 TB.

[0173] The embodiment shown in FIG7 is based on the fact that UE2 does not have a TB to be retransmitted, or does not support HARQ retransmission. If UE2 has a TB to be retransmitted, 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 following information: a redundancy version, a HARQ process number, etc., so that UE1 can obtain the HARQ information of the TB to be retransmitted and then retransmit the TB. In other words, if UE2 has a TB to be retransmitted, UE2 sends the HARQ information of the TB to be retransmitted to UE1 and executes the embodiment shown in FIG7. The cache in FIG7 can be replaced with the cache corresponding to the TB to be retransmitted.

[0174] It should be noted that the embodiment shown in Figure 7 can be executed independently, so that the content of TB in the MAC of UE1 and UE2 is the same. The embodiment shown in Figure 7 can also be executed in combination with the embodiment shown in Figure 4 or Figure 5 or Figure 6. For example, when combined with the embodiment shown in Figure 4, it can not only enable UE1 and UE2 to allocate the same PDCP count value for data packets with the same IP packet identifier, but also enable the content of TB in the MAC of UE1 and UE2 to be the same. In the embodiments shown in Figures 4 to 7, the interaction between UE1 and UE2 can be directly carried out through the PC5 interface, or through forwarding by the access network device. For example, the first identifier allocation rule sent by UE2 to UE1 can 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.

[0175] 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 this application is not limited by the order of the actions described, because according to this 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 this application.

[0176] In the above embodiments, the description of each embodiment has its own emphasis. Any multiple embodiments can be used in combination. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0177] Please refer to Figure 8, which is a schematic diagram of the structure of a communication device provided in an embodiment of the present application. The communication device 80 can be a terminal device or a device that matches the terminal device. As shown in Figure 8, the communication device 80 includes a communication unit 802 and a processing unit 801.

[0178] In one implementation, the communication device 80 is configured to implement the functions of a first terminal device. A communication unit 802 is configured 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; and a processing unit 801 is configured to assign a packet identifier to a second data packet based on the packet identifier of the first data packet, where the second data packet is a data packet to be transmitted other than the first data packet.

[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 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.

[0180] Optionally, the first data packet is a data packet with the 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.

[0181] 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 being used to request the 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.

[0182] 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.

[0183] 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.

[0184] 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, where the third request is used to request a second identifier allocation rule of the second terminal device, where the second identifier allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, where 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, where the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet.

[0185] 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.

[0186] Optionally, the processing unit 801 is further 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.

[0187] Optionally, the communication unit 802 is also used to receive a second part of data packets from the 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 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.

[0188] Optionally, the communication unit 802 is further configured 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.

[0189] Optionally, the communication unit 802 is further configured to send a data packet identifier of a fourth data packet to the second terminal device.

[0190] In one implementation, the communication device 80 is configured to implement the functionality of the second terminal device. The communication unit 802 is configured to send a packet identifier of a first data packet to the first terminal device; 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.

[0191] Optionally, the communication unit 802 is further 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; and in response to the first request, send the PDCP count value of the first data packet to the first terminal device.

[0192] 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 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; 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.

[0193] 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.

[0194] 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, 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.

[0195] 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.

[0196] Optionally, the communication unit 802 is further used to send the data packet identifier of the 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.

[0197] Optionally, the communication unit 802 is further used to receive the 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.

[0198] 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.

[0199] Optionally, the communication unit 802 is further configured 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.

[0200] Please refer to Figure 9, which is a schematic diagram of the structure of another communication device provided in an embodiment of the present application. The communication device 90 can be a terminal device or a device that matches 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. The bus is represented by a bold line in Figure 9, and the connection method between other components is only for schematic illustration and is 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, only one bold line is used in Figure 9, but this does not mean that there is only one bus or one type of bus.

[0201] The coupling in the embodiments 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 embodiments of the present application do not limit the specific connection medium between the above-mentioned transceiver 901, processor 902, and memory 903.

[0202] The memory 903 may include a read-only memory and a random access memory, and provides instructions and data to the processor 902. A portion of the memory 903 may also include a nonvolatile random access memory.

[0203] 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, or discrete hardware components. A general-purpose processor may be a microprocessor, or alternatively, the processor 902 may be any conventional processor.

[0204] In an optional embodiment, 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 the steps performed by the first terminal device and the second terminal device in the corresponding embodiments of Figures 3 to 7.

[0205] In the embodiments of the present application, a computer program (including program code) capable of executing the steps involved in the above method can be run on a general-purpose computing device such as a computer, which includes a CPU, a random access memory (RAM), a read-only memory (ROM), and other processing elements and storage elements, and can implement the methods provided in the embodiments of the present application. The computer program can be recorded on, for example, a computer-readable recording medium, and loaded into the computing device via the computer-readable recording medium and run therein.

[0206] Based on the same inventive concept, the principles and beneficial effects of solving the problems provided by the communication device 90 in the embodiment of the present application are similar to the principles and beneficial effects of solving the problems in the embodiments shown in Figures 3 to 7 of the present application. Please refer to the principles and beneficial effects of the implementation of the method. For the sake of concise description, they will not be repeated here.

[0207] The aforementioned communication device may be, for example, a chip or a chip module.

[0208] 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.

[0209] In one implementation, the chip 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; and assign a packet identifier to a second data packet based on the packet identifier of the first data packet, where the second data packet is a data packet to be transmitted other than the first data packet.

[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 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.

[0211] Optionally, the first data packet is a data packet with the 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.

[0212] 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 the 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.

[0213] 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.

[0214] 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.

[0215] Optionally, the chip is also used to send a third request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, and the third request is used to request a second identifier allocation rule of the second terminal device, and 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.

[0216] Optionally, the chip 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.

[0217] 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.

[0218] 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 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.

[0219] Optionally, the chip is further configured 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.

[0220] Optionally, the chip is further configured to send a data packet identifier of a fourth data packet to the second terminal device.

[0221] 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 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.

[0222] 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; and in response to the first request, sending the PDCP count value of the first data packet to the first terminal device.

[0223] Optionally, the chip is also used to receive a second request from the first terminal device before sending the packet identifier of the first data packet to the first terminal device, the second request being used to request the 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; 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.

[0224] 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.

[0225] Optionally, the chip is also used to receive a third request from the first terminal device before sending the 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.

[0226] 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.

[0227] Optionally, the chip 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.

[0228] Optionally, the chip is also 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.

[0229] 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.

[0230] Optionally, the chip is further configured 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.

[0231] The above chip is used to send or receive information, and the chip can output or input information through a chip interface.

[0232] Please refer to Figure 10, which is a schematic diagram of the structure 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.

[0233] The communication interface is used for internal communication within the chip module, or for communication between the chip module and an external device. The communication interface can also be described as a communication module. Chip 1002 is used to implement the functions of the terminal device in the embodiment of the present application.

[0234] For example, chip 1002 is used to receive the 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 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; based on the packet identifier of the first data packet, a packet identifier is assigned to the second data packet, where the second data packet is a data packet to be transmitted other than the first data packet.

[0235] For another example, chip 1002 is used to send the data packet identifier of the first data packet to the first terminal device; 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.

[0236] 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, and the power module 1004 is used to provide power to the chip module.

[0237] 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 different components, or at least some modules can be implemented by software programs, which run on a processor integrated inside the chip module, and the remaining (if any) modules can be implemented by hardware such as circuits.

[0238] 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.

[0239] An embodiment of the present application further provides a computer program product comprising a computer program or instructions, which, when executed on a computer, enables the computer to execute the method provided in the above method embodiment.

[0240] It should be noted that, for the above-mentioned various embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations. Those skilled in the art should know that this application is not limited by the order of the actions described, 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 know 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.

[0241] 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 description of other embodiments.

[0242] The steps of the method or algorithm described in the embodiments of the present application can be implemented in hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in RAM, flash memory, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, read-only compact disks (CD-ROMs), or any other form of storage medium well known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and 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 storage medium can also be present in a terminal device or a management device as discrete components.

[0243] Those skilled in the art will appreciate 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, they 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 processes or functions described in the embodiments of the present application are 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 one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein. 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)).

[0244] Regarding the various modules / units contained in the various devices and products described in the above embodiments, they can be software modules / units, hardware modules / units, or partly software modules / units and partly hardware modules / units. For example, for various devices and products applied to or integrated in a chip, the various modules / units contained 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 the 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 contained therein can all be implemented in the form of hardware such as circuits, and different modules / units can be located in the same component of the chip module (such as a chip, circuit module, etc.) or in different components, 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 the 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 different components in the terminal, or, at least some modules / units can be implemented in the form of a software program, which runs on the processor integrated inside the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware such as circuits.

[0245] 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 a specific implementation method of the embodiments of the present application and is not intended to limit the scope of protection of the embodiments of the present application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of the embodiments of the present application should be included in the scope of protection 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: receiving a data packet identifier of a third data packet from the second terminal device, wherein 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 in the cache of the second terminal device. Stored data packets.

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

  • Communication method and device

    CN116368933A

  • Communication method and communication apparatus

    WO2022067785A1

  • Data transmission method and apparatus

    WO2022120541A1

  • Communication method and apparatus

    WO2022126437A1

  • Transmission handover method and apparatus for multicast and broadcast service

    WO2022206775A1