Data packet processing method and communication device
By coordinating the data packet identification and transmission resources of terminal devices, the problem of base station failure to receive TB after wireless link recovery was solved, thereby improving the reliability of data packet transmission and the success rate of access network devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
- Filing Date
- 2023-09-04
- Publication Date
- 2026-04-10
AI Technical Summary
During data transmission, when one of the at least two user equipment (UEs) recovers from a radio link failure, the base station fails to receive the Transport Block (TB). Existing technologies make it difficult to improve the success rate of the base station receiving the TB.
By coordinating packet identifiers between the first and second terminal devices, it is ensured that the same data packets are sent and transmitted using the same resources after the wireless link is restored. This includes coordinating packet identifiers such as PDCP count values, IP packet identifiers, and RLC sequence numbers to improve the reliability of data packet transmission.
It improves the success rate of access network equipment receiving transport blocks (TB), ensures the reliability of data packet transmission, reduces data packet loss and discrepancies, and enhances system stability.
Smart Images

Figure CN119603784B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of communication, and in particular to a data packet processing method and a communication device. BACKGROUND
[0002] In a data transmission scenario, an application layer can send the same data packet to at least two user equipments (UEs), and the at least two UEs can generate the same transport block (TB). The same TB is transmitted to a base station by using the same radio resource and the same transmission mode. The base station receives the TB from the UEs, and the base station 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 cannot work, 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, and the application server can be an extended reality (XR) application server, a cloud server, a power grid relay server, and the like.
[0003] If a certain UE (for example, UE1) in the at least two UEs resumes a wireless link after a wireless link failure or a crash, the UE1 discards part of the data packets in the process from the wireless link failure to the resumption of the wireless link. However, other UEs continue to transmit the data packets. After the UE1 resumes the wireless link, if the TBs transmitted by the UE1 and the other UEs to the base station are not the same, the base station fails to receive the TBs. Therefore, how to improve the success rate of the base station receiving the TBs is a technical problem to be solved. SUMMARY
[0004] Embodiments of the present application provide a data packet processing method and a communication device, which can help to improve the success rate of the access network device receiving the TBs.
[0005] In a first aspect, an embodiment of the present application provides a data packet processing method, which can be executed by a first terminal device or an apparatus matched with the first terminal device, such as a processor, a chip or a chip module. The method can 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, the second data packet being a data packet to be transmitted other than the first data packet.
[0006] In the method, the data packet identifier assigned by the first terminal device to the second data packet is the same as the data packet identifier assigned by the second terminal device to the second data packet. Since the first terminal device assigns the data packet identifier to the other data packet 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 thus can transmit the same data packet by using the same resource, thereby improving the reliability of data packet transmission and helping to improve the success rate of the access network device receiving a TB.
[0007] In a possible implementation, the method further includes: sending the second data packet to the access network device through a first resource based on the data packet identifier of the second data packet, the first resource being the same as a second resource, and the second resource being a resource used by the second terminal device to send the second data packet to the access network device. In this way, the first terminal device and the second terminal device send the same data packet to the access network device through the same resource, which can improve the reliability of data packet transmission and help to improve the success rate of the access network device receiving a TB.
[0008] In a possible implementation, the data packet identifier of the first data packet comprises a PDCP count value of the first data packet; and before receiving the data packet identifier of the first data packet from the second terminal device, the method further comprises: sending, to the second terminal device, a first request, the first request comprising an IP packet identifier of the first data packet, and 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. That is, the first terminal device sends an IP packet identifier of a data packet to the second terminal device, and the second terminal device feeds back a PDCP count value of the data packet to the first terminal device, so that the first terminal device can allocate PDCP count values to other data packets according to the PDCP count value of the data packet, so that the first terminal device and the second terminal device can allocate the same PDCP count value to data packets of the same IP packet identifier, thereby helping to improve the success rate of receiving a TB by the access network device.
[0009] In a possible implementation, the first data packet is a data packet with a minimum IP packet identifier among the multiple data packets without allocated PDCP count values, or the first data packet is any data packet among the multiple data packets without allocated PDCP count values.
[0010] In a possible implementation, the data packet identifier of the first data packet comprises a PDCP count value of the first data packet; and before receiving the data packet identifier of the first data packet from the second terminal device, the method further comprises: sending, to the second terminal device, a second request, 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, and the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet. That is, the first terminal device requests the first identifier allocation rule on the second terminal device side from the second terminal device, so that the first terminal device can allocate PDCP count values to data packets to be transmitted based on the first identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same PDCP count value to data packets of the same IP packet identifier, thereby helping to improve the success rate of receiving a TB by the access network device.
[0011] In a possible implementation, the second request is link recovery indication information, and the link recovery indication information is further used to indicate that the wireless link between the second terminal device and the access network device has been recovered, specifically, the wireless link between the first terminal device and the access network device has been recovered. It can be understood that the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been recovered on one hand, and indicates that the first identifier allocation rule of the second terminal device is requested on the other hand. It can also be understood that when the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been recovered, the first identifier allocation rule of the second terminal device can be implicitly indicated, so that the signaling overhead can be saved.
[0012] In a possible implementation, the packet identifier of the first data packet includes an RLC SN of the first data packet and a PDCP count value of the first data packet; or includes an RLC SN of the first data packet and an IP packet identifier of the first data packet.
[0013] In a possible implementation, before receiving the packet identifier of the first data packet from the second terminal device, the method further includes: sending, to the second terminal device, a third request, where the third request is used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule includes 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 corresponds to the PDCP count value of the first data packet; or includes an RLC SN of the first data packet and an IP packet identifier of the first data packet, the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet. That is, the first terminal device requests the second identifier allocation rule of the second terminal device side from the second terminal device, so that the first terminal device can allocate an RLC SN for a 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, and then the success rate of receiving a TB by the access network device can be improved.
[0014] In a 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, and then the success rate of receiving a TB by the access network device can be improved.
[0015] In a 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 the buffer of the second terminal device; or the third data packet is the earliest buffered data packet of the second terminal device. The second terminal device informs the first terminal device of the packet identifier of the third data packet, so that the first terminal device determines whether to discard part of the data packets.
[0016] In a possible implementation, the method further includes: in response to the packet identifier of the fourth data packet being less than the packet identifier of the third data packet, discarding first part data packets, the packet identifiers of the first part data packets being less than the packet identifier of the third data packet and greater than or equal to the packet identifier of the fourth data packet; and wherein the packet identifier of the fourth data packet is the smallest in the buffer of the first terminal device, or the fourth data packet is the earliest data packet cached by the first terminal device. For example, the PDCP count value of the fourth data packet is 97, and the PDCP count value of the third data packet is 100, the first terminal device can discard the data packets with PDCP count values of 97, 98 and 99. In this way, the first terminal device can avoid sending redundant data packets. It can be understood that, by discarding part of the data packets, the first terminal device and the second terminal device send the same TB.
[0017] In a possible implementation, the method further includes: receiving second part data packets from the second terminal device, the packet identifiers of the second part 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; and wherein the packet identifier of the fourth data packet is the smallest in the buffer of the first terminal device, or the fourth data packet is the earliest data packet cached by the first terminal device. For example, the PDCP count value of the fourth data packet is 105, and the PDCP count value of the third data packet is 100, the second terminal device can send the data packets with PDCP count values of 100, 101, 102, 103 and 104 to the first terminal device. In this way, the first terminal device can avoid sending data packets missing compared with the data packets sent by the second terminal device. It can be understood that, by the second terminal device sending part of the data packets to the first terminal device, the first terminal device and the second terminal device send the same TB.
[0018] In a possible implementation, before receiving the 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 can include one or more of the following information: redundancy version, HARQ process number, etc. That is, in the case that the second terminal device has a TB to be retransmitted, 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, and the first terminal device and the second terminal device send the same TB.
[0019] In a possible implementation, the method further includes: sending, to the second terminal device, the packet identifier of the fourth data packet, so that the second terminal device determines whether to send the second partial data packet to the first terminal device. The first terminal device can 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 can send the packet identifier of the fourth data packet to the second terminal device before receiving the second partial data packet.
[0020] In a possible implementation, the PDCP count value of the first data packet is the same as the identifier in the IP packet identifier of the first data packet; or the lower 16 bits of the PDCP count value of the first data packet are the identifier in the IP packet identifier of the first data packet; or the PDCP count value of the first data packet is the lower bits of the identifier in the IP packet identifier of the first data packet, and the number of the lower bits is the same as the number of bits of the PDCP count value of the first data packet.
[0021] In a second aspect, an embodiment of the present application provides a data packet processing method, which can be executed by a second terminal device or a device matched with the second terminal device, such as a processor, a chip, or a chip module. The method can include: sending, to a first terminal device, a packet identifier of a first data packet; and 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.
[0022] It can be seen that the second terminal device sends the packet identifier of the first data packet to the first terminal device, so that the first terminal device can allocate packet identifiers for other data packets based on the packet identifier of the first data packet, thereby helping the first terminal device and the second terminal device to allocate the same packet identifiers for the same data packet, and helping to improve the success rate of receiving a TB by an access network device.
[0023] In a possible implementation, the method further includes: sending, to the access network device, a second data packet through a second resource based on the packet identifier of the second data packet, the second data packet being a data packet to be transmitted in addition to the first data packet; and the second resource being the same as a resource used by the first terminal device to send the second data packet to the access network device. In this way, the first terminal device and the second terminal device send the same data packet to the access network device through the same resource, which can improve the reliability of data packet transmission and help to improve the success rate of receiving a TB by the access network device.
[0024] In a possible implementation, before the data packet identifier of the first data packet is sent to the first terminal device, the above further includes: receiving a first request from the first terminal device, the first request including an 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; and sending the data packet identifier of the first data packet to the first terminal device, which specifically can include: in response to the first request, sending the PDCP count value of the first data packet to the first terminal device.
[0025] That is, the first terminal device sends an IP packet identifier of a certain data packet to the second terminal device, and the second terminal device feeds back a PDCP count value of the data packet to the first terminal device, so that the first terminal device can allocate PDCP count values to other data packets according to the PDCP count value of the data packet, so that the first terminal device and the second terminal device can allocate the same PDCP count value to data packets of the same IP packet identifier, thereby helping to improve the success rate of receiving a TB by the access network device.
[0026] In a possible implementation, before the data packet identifier of the first data packet is sent to the first terminal device, the above 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 including an IP packet identifier of the first data packet and a PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet; and sending the data packet identifier of the first data packet to the first terminal device, which specifically can include: in response to the second request, sending the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0027] That is, the first terminal device requests a first identifier allocation rule on the second terminal device side from the second terminal device, so that the first terminal device can allocate PDCP count values to data packets to be transmitted based on the first identifier allocation rule, so that the first terminal device and the second terminal device can allocate the same PDCP count value to data packets of the same IP packet identifier, thereby helping to improve the success rate of receiving a TB by the access network device.
[0028] In a possible implementation, the second request is link recovery indication information, and the link recovery indication information is further used to indicate that a wireless link between the first terminal device and the access network device has been recovered. It can be understood that the link recovery indication information indicates that the wireless link between the first terminal device and the access network device has been recovered on one hand, and indicates that the first identifier allocation rule of the second terminal device is requested on the other hand. It can also be understood that the link recovery indication information can implicitly indicate that the first identifier allocation rule of the second terminal device is requested when indicating that the wireless link between the first terminal device and the access network device has been recovered, so that signaling overhead can be saved.
[0029] In a possible implementation, before sending the packet identifier of the first data packet to the first terminal device, the method further includes: receiving a third request 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 including 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; and sending, to the first terminal device, the RLC SN of the first data packet and the PDCP count value of the first data packet in response to the third request.
[0030] In a possible implementation, before sending the packet identifier of the first data packet to the first terminal device, the method further includes: receiving a third request 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 including an RLC SN of the first data packet and an 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; and sending, to the first terminal device, the RLC SN of the first data packet and the IP packet identifier of the first data packet in response to the third request.
[0031] That is, the first terminal device requests the second identifier allocation rule of the second terminal device from the second terminal device, so that the first terminal device can allocate an RLC SN for a 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 receiving a TB by the access network device.
[0032] In a possible implementation, the method further includes: sending, to the first terminal device, a packet identifier of a third data packet, the packet identifier of the third data packet being the smallest in the buffer of the second terminal device, or the third data packet being the earliest buffered data packet of the second terminal device. The second terminal device informs the first terminal device of the packet identifier of the third data packet, so that the first terminal device determines whether to discard part of the data packets.
[0033] In a possible implementation, the method further includes: receiving, from the first terminal device, a packet identifier of a fourth data packet, the packet identifier of the fourth data packet being the smallest in the buffer of the first terminal device. The packet identifier of the fourth data packet is the smallest in the buffer of the first terminal device, or the fourth data packet is the earliest buffered data packet of the first terminal device.
[0034] In a possible implementation, 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 second part data packet is sent to the first terminal device, the data packet identifier of the second part data packet 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. By sending the part data packet to the first terminal device by the second terminal device, the data packet sent by the first terminal device can be avoided to be missing compared with the data packet sent by the second terminal device. It can be understood that, by sending the part data packet to the first terminal device by the second terminal device, the same TB is sent by the first terminal device and the second terminal device.
[0035] In a possible implementation, the method further includes: in response to the existence of the TB to be retransmitted, sending, to the first terminal device, HARQ information of the TB to be retransmitted. The HARQ information can include one or more of a redundancy version, a HARQ process number, and the like. That is, in the case where the second terminal device has the TB to be retransmitted, 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, and the same TB is sent by the first terminal device and the second terminal device.
[0036] In a third aspect, an embodiment of the present application provides a communication apparatus, which comprises:
[0037] a communication unit configured to receive 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 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;
[0038] a processing unit configured to allocate a data packet identifier to a second data packet based on 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.
[0039] Alternatively, the communication apparatus comprises:
[0040] a communication unit configured 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 including one or more of a PDCP count value of the first data packet, an IP packet identifier of the first data packet, and an RLC SN of the first data packet.
[0041] In a fourth aspect, an embodiment of the present application provides a terminal device, which comprises 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 steps in the method according to the first aspect or the second aspect.
[0042] In a fifth aspect, an embodiment of the present application provides a chip, comprising a processor, wherein the processor executes steps in the method according to the first aspect or executes steps in the method according to the second aspect.
[0043] In a sixth aspect, an embodiment of the present application provides a chip module, comprising a communication interface and a chip, wherein the chip comprises a processor, and the processor executes steps in the method according to the first aspect or executes steps in the method according to the second aspect.
[0044] In a seventh aspect, an embodiment of the present application provides a computer readable storage medium, wherein the computer readable storage medium stores a computer program or instructions, and the computer program or instructions are executed to implement steps in the method according to the first aspect or implement steps in the method according to the second aspect.
[0045] In an eighth aspect, an embodiment of the present application provides a computer program product, comprising a computer program or instructions, and the computer program or instructions are executed to implement steps in the method according to the first aspect or implement steps in the method according to the second aspect.
[0046] In a ninth aspect, an embodiment of the present application provides a communication system, which can comprise a first terminal device executing the method according to the first aspect and a second terminal device executing the method according to the second aspect. Optionally, the communication system further comprises an application layer and an access network device. BRIEF DESCRIPTION OF DRAWINGS
[0047] Figure 1 FIG. 1 is a schematic diagram of a system architecture to which an embodiment of the present application is applied;
[0048] Figure 2 FIG. 2 is a schematic diagram of a protocol stack of a Uu interface;
[0049] Figure 3 FIG. 3 is a flowchart of a data packet processing method provided by an embodiment of the present application;
[0050] Figure 4 FIG. 4 is a flowchart of another data packet processing method provided by an embodiment of the present application;
[0051] Figure 5 FIG. 5 is a flowchart of yet another data packet processing method provided by an embodiment of the present application;
[0052] Figure 6 FIG. 6 is a flowchart of still another data packet processing method provided by an embodiment of the present application;
[0053] Figure 7is a flowchart of another data packet processing method provided by an embodiment of the present application;
[0054] Figure 8 is a structural diagram of a communication device provided by an embodiment of the present application;
[0055] Figure 9 is a structural diagram of another communication device provided by an embodiment of the present application;
[0056] Figure 10 is a structural diagram of a chip module provided by an embodiment of the present application. DETAILED DESCRIPTION
[0057] In the present application, the terms "first", "second", and the like are used to distinguish the same or similar items with substantially the same functions and effects. Those skilled in the art can understand that the terms "first", "second", and the like do not limit the number and execution order, and the terms "first", "second", and the like do not necessarily mean different. The term "and / or" describes the association between the associated objects, which means that there can be three relationships, for example, A and / or B, which can represent the following three cases: A exists alone, A and B exist together, and B exists alone. The character " / " generally represents an "or" relationship between the associated objects before and after it.
[0058] It should be understood that in the present application, "at least one" means one or more; "multiple" means two or more. In addition, "equal to" in the present application can be used with "greater than" or "less than". In the case of "equal to" and "greater than", the technical solution of "greater than" is adopted; in the case of "equal to" and "less than", the technical solution of "less than" is adopted.
[0059] In the embodiments of the present application, "of", "corresponding", "corresponding", "associated", "mapped" and the like can be used interchangeably. It should be pointed out that when the distinction is not emphasized, the concepts or meanings to be expressed are consistent.
[0060] First, the system architecture involved in the present application is described.
[0061] The present application can be applied to a fourth generation (4th generation, 4G) system; or can be applied to a fifth generation (5th generation, 5G) system, also known as a new radio (new radio, NR) system; or can be applied to a sixth generation (6th generation, 6G) system, or a seventh generation (7th generation, 7G) system, or other future communication systems; or can also be used in a device to device (device to device, D2D) system, a machine to machine (machine to machine, M2M) system, a vehicle to everything (vehicle to everything, V2X) and the like.
[0062] The present application can be applied to Figure 1 The system architecture shown in the figure. Figure 1 The system architecture shown in the figure can include but is not limited to: an access network device 110, a first terminal device 120a, a second terminal device 102b and an application layer 130. Figure 1 The number and form of devices in the figure are used as examples and do not constitute a limitation on the embodiments of the present application, for example Figure 1 Taking two terminal devices as an example, more terminal devices can also be included in actual application.
[0063] The access network device 110 is a device that provides a terminal device with a wireless communication function. The access network device can be a satellite, a radio access network (RAN) device, or the like. The access network device can support at least one wireless communication technology, such as WCDMA, LTE, NR, 6G, or the like. Examples of the access network device include, but are not limited to, a generation nodeB (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 (for example, a home evolved node B or a home node B, HNB), a baseband unit (BBU), a transmission and reception point (TRP), a transmitting point (TP), a mobile switching center, or the like. The network device can also be a radio controller, a centralized unit (CU), and / or a distributed unit (DU) in a cloud radio access network (CRAN) scenario, or the access network device can be a relay station, an access point, a vehicle-mounted device, a wearable device, and an access network device in future mobile communication, or an access network device in future evolution of a PLMN, or the like. In some embodiments, the access network device can also be a device with a function of providing a terminal device with a wireless communication function, such as a chip module. The chip module can include a chip and other discrete devices. The embodiments of the present application do not limit the specific technology and specific device form of the access network device.
[0064] The terminal device is a device with wireless transceiving function, which can be referred to as 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 apparatus, etc. The terminal device can be fixed or mobile. It should be noted that the terminal device can support at least one wireless communication technology, such as wideband code division multiple access (WCDMA), long time evolution (LTE), NR, 6G or next-generation wireless communication technology, etc. For example, the terminal device can be a mobile phone, a pad, a desktop computer, a notebook computer, an all-in-one machine, a vehicle-mounted terminal, a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in 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 future mobile communication network or a terminal device in future evolved public land mobile network (PLMN), etc. In some embodiments of the present application, the terminal device can also be a device with transceiving function, such as a chip module. The chip module can include a chip and can also include other discrete devices. The embodiments of the present application do not limit the specific technology and specific device form of the terminal device.
[0065] In the embodiments of the present application, the first terminal device 120a and the second terminal device 120b have an association relationship, which means that both of them 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 the scenario of mobile phone backup, the application layer 130 sends the same data packet to two mobile phones, and the two mobile phones send the same data packet to the base station.
[0066] The application layer 130 can be understood as an application server, which can be an XR application server, a cloud server, a power grid relay server, etc.
[0067] Optionally, Figure 1 The system architecture shown can also include core network (CN) devices such as access and mobility management function (AMF), user plane function (UPF), etc.
[0068] It can be understood that the communication system described in the embodiments of the present application is for more clearly illustrating the technical solutions of the embodiments of the present application, and does not constitute a limitation on the technical solutions provided by the embodiments of the present application. Those skilled in the art can know that, with the evolution of system architecture and the appearance of new business scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems.
[0069] Secondly, the related concepts involved in the embodiments of the present application are described.
[0070] 1. Data packet transmission process between terminal device and access network device
[0071] In a mobile communication system, a 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 obtains the original data packet by inverse processing through each protocol layer. The sending device and the receiving device can be 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 interface includes the following protocol layers: service data adaptation protocol (SDAP) layer, PDCP layer, RLC layer, media access control (MAC) layer and physical (PHY) layer, which can be seen from Figure 2 The figure shown.
[0072] For a sending device, the processing order of a data packet at each protocol layer is: SDAP layer→PDCP layer→RLC layer→MAC layer→PHY layer; and vice versa, for a receiving device, the processing order of a data packet at each protocol layer is: PHY layer→MAC layer→RLC layer→PDCP layer→SDAP layer. It should be noted that for a certain protocol layer (for example, protocol layer A) of a sending device, a data packet received from an upper layer is referred to as a service data unit (SDU) of the protocol layer A, and a data packet sent to a lower layer by the protocol layer A is referred to as a protocol data unit (PDU) of the protocol layer A. For example, for a sending device, a data packet received by the PDCP layer from the SDAP layer is referred to as a PDCP SDU, and a data packet sent by the PDCP layer to the RLC layer is referred to as a PDCP PDU; for a receiving device, a data packet received by the PDCP layer from the RLC layer is referred to as a PDCP PDU, and a data packet sent by the PDCP layer to the SDAP layer is referred to as a PDCP SDU. It should be noted that the above protocol layers in the above 5G system are taken as an example for description, and the above protocol layers can also be extended to other protocol layers of other systems.
[0073] 1) SDAP layer
[0074] The main processing of a data packet at the SDAP layer can include: mapping of a quality of service (QoS) flow to a data radio bearer (DRB).
[0075] 2) PDCP layer
[0076] The main processing of a data packet at the PDCP layer can include: adding a PDCP sequence number (SN), header compression, encryption, integrity protection, etc. Among them, the PDCP adds a PDCP SN for each data packet; header compression is used to compress some transmission control protocol (TCP) / IP, user datagram protocol (UDP) / IP headers of a data packet received from an upper layer, to reduce overhead, for example, robust header compression (ROHC) can be performed on a data packet; encryption is used to encrypt a data packet to avoid being obtained by other illegal receiving devices; integrity protection is used to protect the integrity of data to avoid being modified by others, and generally, integrity protection is performed before encryption.
[0077] 3) RLC layer
[0078] The transmission modes of the RLC layer can be divided into transparent mode (TM), unacknowledged mode (UM) and acknowledged mode (AM). Different transmission modes have different functions. For AM, the main processing of the data packet at the RLC layer can include automatic repeat request (ARQ), segmentation, reassembly and addition of RLC SN; for UM, the main processing of the data packet at the RLC layer can include segmentation, reassembly and addition of RLC SN; for TM, the RLC layer does not perform any processing.
[0079] 4) MAC layer
[0080] The processing of the data packet at the MAC layer mainly includes mapping of the logical channel and the transmission channel, multiplexing of the logical channel, error correction through HARQ and the like.
[0081] 2, Data packet identification
[0082] The data packet identification is used to identify the data packet, which can be the data packet received from the application layer, the data packet in the processing process of the above protocol layers, or the data packet transmitted through the air interface. In the embodiments of the present application, the data packet identification can include one or more of the IP packet identification, the PDCP count value and the RLC SN.
[0083] 1) IP packet identification
[0084] The data packet received from the application layer is generally an IP packet, and the header of the IP packet includes the IP packet identification, which is used to uniquely identify each piece of data packet sent by the application layer. The IP packet identification can generally include an identifier (ID), and can also include a flag field and a fragment offset field.
[0085] The identifier has a field length of 16 bits, and is generally used together with the flag field and the fragment offset field for segmentation of the data packet. If the initial length of the data packet exceeds the maximum transmission unit (MTU) of the data link to be passed through by the data packet, the data packet must be segmented into smaller data packets.
[0086] For example, for a data packet of 5000 bytes, if a data link of 1500 bytes is encountered during transmission, i.e. the data frame can contain data packets of 1500 bytes at most. Then the data packet is segmented into multiple data packets, each of which has a length of no more than 1500 bytes, and each of which has the same identification field so that the receiving device can recognize that the data packets belong to the same data packet.
[0087] The marking field has a length of 3 bits, the first bit of which is a reserved field, the second bit of which is used to indicate whether fragmentation is allowed (e.g. a value of 0 indicates that fragmentation is allowed, and a value of 1 indicates that fragmentation is not allowed), and the third bit is an end flag (for the last data packet, the value of this bit is 1; for other data packets, the value of this bit is 0).
[0088] The segment offset field has a length of 13 bits, and is used to indicate the offset of the start of the segment relative to the start of the header, in units of octets.
[0089] 2) PDCP count value
[0090] The PDCP count value refers to the count value allocated by the PDCP layer for each PDCP SDU. The PDCP count value is a 32-bit unsigned number, which is composed of a hyper frame number (HFN) and a PDCP SN. The PDCP SN is included in the PDCP PDU. The number of bits of the HFN is the number of bits of the PDCP count value minus the number of bits of the PDCP SN. Alternatively, the PDCP count value only includes the PDCP SN.
[0091] 3) RLC SN
[0092] The RLC SN refers to the sequence number of the RLC PDU, which can have a length of 12 bits or 18 bits. Each RLC PDU corresponds to a single sequence number, regardless of whether it is segmented. For UM, if it is segmented, each segmented SDU has a separate sequence number.
[0093] The application layer sends the same data packet to at least two terminal devices, and the at least two terminal devices send the same data packet to the access network device. During transmission, if a terminal device in the at least two terminal devices resumes a wireless link after a wireless link failure or resumes the wireless link after a crash, the terminal device discards part of the data packet during the process from the wireless link failure to the resumption of the wireless link, but other terminal devices continue to transmit the data packet. This causes the terminal device and the other terminal devices to send different data packets to the access network device, thereby causing the access network device to fail to receive a TB. The wireless link failure refers to a disconnection or very poor quality of a wireless link between the terminal device and the access network device, and a specific wireless link failure determination mechanism is not described herein.
[0094] Therefore, the embodiments of the present application provide a data packet processing method and a communication device, which help to improve the success rate of the access network device receiving a TB. Even if a terminal device resumes a wireless link after a wireless link failure, the same data packet can be sent by each terminal device, thereby helping to improve the success rate of the access network device receiving a TB.
[0095] The data packet processing method provided by the embodiments of the present application will be described in detail below based on the system architecture shown in Figure 1 The embodiments of the present application take the application layer sending the same data packet to two terminal devices as an example, that is, a first terminal device and a second terminal device, and take the process of the first terminal device from a wireless link failure to the resumption of the wireless link and the second terminal device always maintaining a wireless link with the access network device as an example. For convenience of description, the first terminal device is referred to as UE1, and the second terminal device is referred to as UE2.
[0096] Please refer to Figure 3 FIG. 1 is a flowchart of a data packet processing method provided by the embodiments of the present application, and the method can include but is not limited to the following steps:
[0097] 301. UE2 sends a data packet identifier of a first data packet to UE1. Correspondingly, UE1 receives the data packet identifier from UE2.
[0098] The packet identifier of the first data packet can include 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. 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, the two have a corresponding relationship. 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, the two have a corresponding relationship. 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, the two have a corresponding relationship. For another 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, and the RLC SN of the first data packet, and the three have a corresponding relationship.
[0099] In mode 1, before step 301, UE1 sends a first request to UE2, the first request including the IP packet identifier of the first data packet, and the first request being used to request the PDCP count value of the first data packet corresponding to the IP packet identifier of the first data packet. In response to the first request, UE2 sends the PDCP count value corresponding to the IP packet identifier of the first data packet to UE1. For mode 1, please refer to Figure 4 The specific description of the embodiments shown will not be repeated here.
[0100] In mode 2, before step 301, UE1 sends a second request to UE2, the second request being 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, that is, the IP packet identifier of the first data packet and the PDCP count value of the first data packet, to UE1. After receiving the IP packet identifier of the first data packet and the PDCP count value of the first data packet, UE1 can know the corresponding relationship between the two, and thus know the allocation rule of the PDCP count value. For mode 2, please refer to Figure 5 The specific description of the embodiments shown will not be repeated here.
[0101] Optionally, the second identity allocation rule includes the RLC SN of the first data packet and the PDCP count value of the first data packet, and the RLC SN of the first data packet corresponds to the PDCP count value of the first data packet. In response to the third request, the UE 2 sends the UE 1 the second identity allocation rule, i.e., the RLC SN of the first data packet and the PDCP count value of the first data packet. After receiving the RLC SN of the first data packet and the PDCP count value of the first data packet, the UE 1 can learn the correspondence between the two, and thus learn the allocation rule of the RLC SN. Optionally, the second identity allocation rule includes the RLC SN of the first data packet and the IP packet identifier of the first data packet, and the RLC SN of the first data packet corresponds to the IP packet identifier of the first data packet. In response to the third request, the UE 2 sends the UE 1 the second identity allocation rule, i.e., the RLC SN of the first data packet and the IP packet identifier of the first data packet. After receiving the RLC SN of the first data packet and the IP packet identifier of the first data packet, the UE 1 can learn the correspondence between the two, and thus learn the allocation rule of the RLC SN. For mode 3, see FIG. 3. Figure 6 The specific description of the embodiments shown in the drawings will not be repeated here.
[0102] Optionally, the second identity 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 the three have a correspondence.
[0103] The step 301 can be that the UE 2 directly sends the data packet identifier of the first data packet to the UE 1 through an interface between UEs (e.g., a PC5 interface), or that the UE 2 sends the data packet identifier of the first data packet to an access network device through a Uu interface, and the access network device sends the data packet identifier of the first data packet to the UE 1 through the Uu interface. That is, the UE 2 sends the data packet identifier of the first data packet to the UE 1 through the access network device. Similarly, the request (e.g., the first request or the second request or the third request) sent by the UE 1 to the UE 2 can be sent directly by the UE 1 to the UE 2, or sent by the UE 1 to the UE 2 through the access network device.
[0104] 302, the UE 1 allocates a data packet identifier for the second data packet based on the data packet identifier of the first data packet.
[0105] The second data packet is a data packet to be transmitted in UE1 other than the first data packet. The second data packet may be a data packet in UE1 that has not been assigned a data packet identifier. Optionally, the second data packet may also be a data packet in UE1 that has been assigned a data packet identifier. If the assigned data packet identifier of a certain data packet is inconsistent with the data packet identifier assigned based on the data packet identifier of the first data packet, then the assigned data packet identifier will be updated to the data packet identifier assigned based on the data packet identifier of the first data packet.
[0106] The packet identifier assigned by UE1 to the second packet is the same as the packet identifier assigned by UE2 to the second packet.
[0107] In method 1, UE1 assigns a PDCP count value to the second data packet based on the PDCP count value of the first data packet. This ensures that UE1 and UE2 assign the same PDCP count value to data packets with the same IP packet identifier.
[0108] In method 2, UE1 assigns 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. This allows UE1 and UE2 to assign the same PDCP count value to data packets with the same IP packet identifier.
[0109] For method 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 ensures that UE1 and UE2 assign the same RLC SN to the same data packet.
[0110] exist Figure 3 In the illustrated embodiment, since UE1 assigns a data packet identifier 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 thus can use the same resources to transmit the same data packet, thereby improving the reliability of data packet transmission and helping to improve the success rate of the access network device receiving TB.
[0111] Please see Figure 4 This is a flowchart illustrating another data packet processing method provided in an embodiment of this application. The method may include, but is not limited to, the following steps:
[0112] 401, UE1 sends a first request to UE2. Correspondingly, UE2 receives the first request from UE1. The first request includes the IP packet identifier of the first data packet.
[0113] The UE 1 sends the IP packet identifier of the first data packet to the UE 2 after resuming the wireless link with the access network device. The first data packet is a data packet with the smallest IP packet identifier among the data packets without assigned PDCP count value in the UE 1, or the first data packet is any data packet among the data packets without assigned PDCP count value in the UE 1.
[0114] The IP packet identifier is an identifier in the case of non-segmented IP packet. The IP packet identifier includes the identifier, a flag and a segment offset in the case of segmented IP packet. The size of the IP packet identifier can be represented by the value of the segment offset field in the case of segmented IP packet. For example, the value of the segment offset field of segment 2 of IP packet No. 2 is 100, and the value of the segment offset field of segment 3 is 200, the IP packet identifier of segment 2 is smaller than that of segment 3.
[0115] 402. The UE 2 sends the PDCP count value of the first data packet to the UE 1. Correspondingly, the UE 1 receives the PDCP count value of the first data packet from the UE 2.
[0116] The PDCP count value of the first data packet can be the PDCP count value already assigned to the first data packet by the UE 2, or the PDCP count value to be assigned to the first data packet by the UE 2. In response to the first request, the UE 2 looks up the PDCP count value of the first data packet based on the IP packet identifier of the first data packet, or the UE 2 assigns the PDCP count value to the first data packet based on the IP packet identifier of the first data packet.
[0117] 403. The UE 1 assigns the PDCP count value to the second data packet based on the received PDCP count value of the first data packet.
[0118] The PDCP count value assigned to the second data packet by the UE 1 is the same as the PDCP count value assigned to the second data packet by the UE 2.
[0119] The second data packet can be a data packet without assigned PDCP count value in the UE 1. For example, the IP packet identifier of the first data packet is 100, the PDCP count value of the first data packet is 10237, and the data packet with IP packet identifier 101 is to be assigned a PDCP count value, then the PDCP count value 10238 is assigned to the data packet with IP packet identifier 101.
[0120] Optionally, the second data packet can also be a data packet whose PDCP count value has been allocated in the UE 1, and for a data packet, its allocated PDCP count value is inconsistent with the PDCP count value allocated based on the PDCP count value of the first data packet, then the allocated PDCP count value is updated to the PDCP count value allocated based on the PDCP count value of the first data packet. For example, the IP packet identification of the first data packet is 100, its PDCP count value is 10237, and the data packet with IP packet identification 101 has allocated PDCP count value 10235, then the PDCP count value of the data packet with IP packet identification 101 is updated to 10238.
[0121] In Figure 4 In the embodiment shown, the UE 1 requests the PDCP count value corresponding to the IP packet identification of the first data packet from the UE 2, and then the UE 1 can allocate PDCP count values for other data packets based on the received PDCP count value of the first data packet, so that the UE 1 and the UE 2 allocate the same PDCP count value for the data packet of the same IP packet identification, thereby helping to improve the success rate of the access network device receiving the TB.
[0122] Please refer to Figure 5 , which is a flowchart of another data packet processing method provided by the embodiment of the present application, which can include but is not limited to the following steps:
[0123] 501, the UE 1 sends a second request to the UE 2. Correspondingly, the UE 2 receives the second request from the UE 1. Wherein, the second request is used to request the first identification allocation rule of the UE 2.
[0124] Wherein, the first identification allocation rule can be understood as the rule of allocating PDCP count value for data packets. The UE 1 sends the second request to the UE 2 after recovering the wireless link between the UE 1 and the access network device.
[0125] The second request can be link recovery indication information, and the link recovery indication information is also used to indicate that the wireless link between the UE 1 and the access network device has been recovered, specifically, the wireless link between the UE 1 and the access network device has been recovered. It can be understood that the link recovery indication information indicates that the wireless link between the UE 1 and the access network device has been recovered, and on the other hand, it indicates that the first identification allocation rule of the UE 2 is requested. It can also be understood that when the link recovery indication information indicates that the wireless link between the UE 1 and the access network device has been recovered, it can implicitly indicate that the first identification allocation rule of the UE 2 is requested, which can save signaling overhead.
[0126] 502, UE2 sends the first identifier allocation rule to UE1. Correspondingly, 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, where 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 correspondence between the two).
[0127] The first data packet is any data packet in UE2 that has been assigned 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, then the first identifier allocation rule includes the IP packet identifier 100 and the corresponding PDCP count value 10237.
[0128] 503, UE1 assigns a PDCP count value to the second data packet based on the received first identifier allocation rule.
[0129] The PDCP count value assigned by UE1 to the second data packet is the same as the PDCP count value assigned by UE2 to the second data packet.
[0130] The second data packet can be a data packet in UE1 that has not been assigned 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 IP packet identifier 101 is waiting to be assigned a PDCP count value, then the data packet with IP packet identifier 101 is assigned a PDCP count value of 10238.
[0131] Optionally, the second data packet can also be a data packet with an allocated PDCP count value in UE1. If the allocated PDCP count value of a data packet is inconsistent with the PDCP count value allocated based on the first identifier allocation rule, the allocated PDCP count value will be 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 will be updated to 10238.
[0132] exist Figure 5 In the illustrated embodiment, UE1 requests UE2 a rule for UE2 to allocate PDCP count values for data packets. UE1 can then allocate PDCP count values for data packets based on this rule, enabling UE1 and UE2 to allocate the same PDCP count value for data packets with the same IP packet identifier, thereby helping to improve the success rate of access network devices receiving TB.
[0133] for Figure 4 or Figure 5In the embodiment shown, the correspondence between the IP packet identifier 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 in the UE2 according to an algorithm, which is not limited in the present application.
[0134] The correspondence can also be generated according to a mapping rule. Specifically, the mapping rule can be:
[0135] 1) The PDCP count value of the first data packet is the same as the identifier in the IP packet identifier. The field length of the identifier in the IP packet identifier is 16 bits, so the field length of the PDCP count value is also 16 bits, and the values are the same.
[0136] 2) The lower 16 bits of the PDCP count value of the first data packet are the identifier in the IP packet identifier. The field length of the PDCP count value is greater than 16 bits, for example, 18 bits, so the values of the lower 16 bits are the same as the identifier in the IP packet identifier.
[0137] 3) The PDCP count value of the first data packet is the lower bits of the identifier in the IP packet identifier, and the number of the lower bits is the same as the number of bits of the PDCP count value. The field length of the PDCP count value is less than 16 bits, for example, 12 bits, so the PDCP count value is the values of the lower 12 bits of the identifier in the IP packet identifier, i.e., the values of the 12 bits from right to left.
[0138] It should be noted that the above mapping rules are used for illustration and do not constitute a limitation on the embodiments of the present application.
[0139] In another possible implementation, the UE1 and the UE2 use the same one or more of the mapping rules. Then, the UE1 and the UE2 do not need to request or notify the correspondence.
[0140] Please refer to Figure 6 is a flow diagram of another data packet processing method provided by the embodiments of the present application, which can include but is not limited to the following steps:
[0141] Optionally, 601, the UE1 sends a third request to the UE2. Correspondingly, the UE2 receives the third request from the UE1. The third request is used to request the second identifier allocation rule of the UE2. The second identifier allocation rule can be understood as the rule for allocating the RLC SN to the RLC PDU. The UE1 sends the third request to the UE2 after recovering the wireless link with the access network device.
[0142] Optionally, the third request can be link recovery indication information, the link recovery indication information further being used to indicate that the wireless link between the UE 1 and the access network device has been recovered, specifically, the wireless link between the UE 1 and the access network device has been recovered. It can be understood that the link recovery indication information indicates that the wireless link between the UE 1 and the access network device has been recovered on one hand, and indicates the second identifier allocation rule for the UE 2 on the other hand. It can also be understood that the link recovery indication information can implicitly indicate the second identifier allocation rule for the UE 2 when indicating that the wireless link between the UE 1 and the access network device has been recovered, so that the signaling overhead can be saved.
[0143] 602. The UE 2 sends the second identifier allocation rule to the UE 1. Correspondingly, the UE 1 receives the second identifier allocation rule from the UE 2.
[0144] The first data packet is any one of the data packets in the UE 2 to which the RLC SN has been allocated.
[0145] In an implementation manner, 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, the RLC SN = 103 corresponds to the PDCP count value 1203, that is, the RLC SN allocated to the RLC PDU with the PDCP count value 1203 is 103.
[0146] In another implementation manner, 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, the RLC SN = 128 corresponds to the IP packet identifier 2287, that is, the RLC SN allocated to the RLC PDU with the IP packet identifier 2287 is 128.
[0147] 603. The UE 1 allocates the RLC SN to the second data packet based on the received second identifier allocation rule.
[0148] The RLC SN allocated by the UE 1 to the second data packet (for example, the RLC PDU) is the same as the RLC SN allocated by the UE 2 to the second data packet.
[0149] The second data packet can be a data packet in the UE 1 to which the RLC SN has not been allocated. Optionally, the second data packet can also be a data packet in the UE 1 to which the RLC SN has been allocated, and for a certain data packet, the allocated RLC SN is inconsistent with the RLC SN allocated based on the second identifier allocation rule, and then the allocated RLC SN is updated to the RLC SN allocated based on the second identifier allocation rule.
[0150] In Figure 6 In the embodiment shown, UE1 can request UE2 for a rule for UE2 to allocate RLC SNs for RLC PDUs, and then UE1 can allocate RLC SNs for RLC PDUs based on the rule, so that UE1 and UE2 allocate the same RLC SNs for the same RLC PDU, thereby helping to improve the success rate of the access network device receiving a TB.
[0151] See Figure 7 FIG. 7 is a flow diagram of another method for processing data packets according to an embodiment of the present application. The method can include, but is not limited to, the following steps:
[0152] 701. UE2 sends a data packet identifier of a third data packet to UE1. Correspondingly, UE1 receives the data packet identifier of the third data packet from UE2.
[0153] The data packet identifier of the third data packet is the smallest in the buffer of UE2, i.e., the third data packet is the data packet with the smallest IP packet identifier, PDCP count value or RLC SN in the buffer of UE2. Alternatively, the third data packet is the earliest buffered data packet in UE2, i.e., the data packet to be sent earliest according to the sending order.
[0154] For example, the data packet identifiers of the data packets to be sent in UE2 are 1021, 1022, 1023, 1024, 1, 2 and 3. The data packet identifier of the third data packet is 1021, i.e., the earliest buffered data packet, i.e., the data packet to be sent earliest according to the sending order. The maximum data packet identifier allocated to the data packet is 1024, and the data packet identifier needs to be renumbered if it exceeds the maximum identifier.
[0155] If the data packet identifiers of the data packets to be sent in UE2 are 3, 4, 5, 6, 7, 8, 9, 10, 11 and 12, the data packet identifier of the third data packet is 3, i.e., the smallest data packet identifier in the buffer.
[0156] Optionally, before step 701, UE1 sends a request to UE2, and the request is used to request the data packet identifier of the third data packet.
[0157] Optionally, before step 701, UE1 sends a first request, a second request or a third request to UE2. That is, for example, for the first request, it is used to request not only the IP packet identifier corresponding to the PDCP count value of the first data packet, but also the data packet identifier of the third data packet.
[0158] Optionally, 702, UE1 sends the packet identifier of the fourth data packet to UE2. Correspondingly, UE2 receives the packet identifier of the fourth data packet from UE1.
[0159] The packet identifier of the fourth data packet is the minimum in the buffer of UE1, i.e. the fourth data packet is the data packet with the minimum IP packet identifier, PDCP count value or RLC SN in the buffer of UE1. Alternatively, the fourth data packet is the earliest buffered data packet in UE1, i.e. the data packet to be sent earliest according to the sending order. Alternatively, the fourth data packet is the data packet required by UE1.
[0160] For example, the packet identifiers of the data packets to be sent in UE1 are 1021, 1022, 1023, 1024, 1, 2, 3; then the packet identifier of the fourth data packet is 1021, i.e. the earliest buffered data packet, i.e. the data packet to be sent earliest according to the sending order. Wherein 1024 is the maximum packet identifier assigned to the data packet, and the packet identifier needs to be renumbered when exceeding the maximum identifier.
[0161] If the packet identifiers of the data packets to be sent in UE1 are 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; then the packet identifier of the fourth data packet is 3, i.e. the minimum packet identifier in the buffer.
[0162] Step 702 can be performed before step 701 or after step 701. Optionally, step 702 can be performed before step 401 or step 501 or step 601. Optionally, step 702 can be performed before step 402 or step 502 or step 602.
[0163] Optionally, the packet identifier of the fourth data packet can be carried in the first request or the second request or the third request.
[0164] 703, in response to the packet identifier of the fourth data packet being smaller than the packet identifier of the third data packet, UE1 discards the first part of data packets.
[0165] The packet identifiers of the first part of data packets are smaller than the packet identifier of the third data packet and greater than or equal to the packet identifier of the fourth data packet. The number of the first part of data packets is one or more. For example, 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 terminal device can discard the data packets with PDCP count values of 97, 98 and 99. In this way, redundant data packets can be avoided from being sent by UE1, so that UE1 and UE2 can send the same TB.
[0166] 704, In response to the fact that the packet identifier of the fourth packet is greater than the packet identifier of the third packet, UE2 sends the second part of the packet to UE1. Accordingly, UE1 receives the second part of the packet from UE2.
[0167] In this configuration, the packet identifier of the second part of the data packet is greater than the packet identifier of the third data packet, and less than or equal to the packet identifier of the fourth data packet. There can be one or more packets in the second part. For example, if the PDCP count value of the fourth data packet is 105 and the PDCP count value of the third data packet is 100, then UE2 can send data packets with PDCP count values of 100, 101, 102, 103, and 104 to UE1.
[0168] Either step 703 or step 704 can be executed. By executing either step 703 or step 704, the content of TB in the MAC of UE1 and UE2 will be the same.
[0169] After step 703 or 704, since the data packets in the buffers of UE1 and UE2 are identical, a second data packet can be sent to the access network device based on the resources (including but not limited to time domain resources, frequency domain resources, and spatial domain resources) allocated by 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 packets to the access network device. This allows UE1 and UE2 to send the same data packets (TB).
[0170] exist Figure 7 In the illustrated embodiment, by comparing the packet identifier of the fourth packet in UE1's cache with the packet identifier of the third packet in UE2's cache, it is determined whether UE1 discards some packets or UE2 sends missing packets to UE1, so that the contents of TB in the MAC of UE1 and UE2 are the same. Thus, UE1 and UE2 can send the same TB on the same resources, thereby helping to improve the success rate of the access network device receiving TB.
[0171] Figure 7 The illustrated embodiment is based on the assumption that there is no TB to be retransmitted in UE2, or that HARQ retransmission is not supported. If there is a TB to be retransmitted in UE2, before step 701, UE2 sends HARQ information of the TB to be retransmitted to UE1. The HARQ information may include one or more of the following: redundancy version, HARQ process number, etc., so that UE1 can know the HARQ information of the TB to be retransmitted, and thus UE1 can execute the retransmission of the TB. In other words, when there is a TB to be retransmitted in UE2, UE2 sends the HARQ information of the TB to be retransmitted to UE1 and executes the retransmission. Figure 7 The embodiment shown, Figure 7 The cache in the middle can be replaced with the cache corresponding to the TB to be retransmitted.
[0172] It should be noted that Figure 7 The embodiments shown can be independently executed, so that the contents of the TBs in the MACs of UE1 and UE2 are the same. Figure 7 The embodiments shown can also be executed in combination with Figure 4 or Figure 5 or Figure 6 The embodiments shown are executed in combination, for example, in combination with Figure 4 The embodiments shown can be executed in combination, so that UE1 and UE2 assign the same PDCP count value to the data packets identified for the same IP packet, and also so that the contents of the TBs in the MACs of UE1 and UE2 are the same. Figure 4 to Figure 7 In the embodiments shown, the interaction between UE1 and UE2 can be directly through the PC5 interface, or through forwarding by the access network device, for example, the first identification allocation rule sent by UE2 to UE1 can be that UE2 sends the first identification allocation rule to the access network device, and the access network device sends the first identification allocation rule to UE1.
[0173] It should be noted that, for the foregoing method embodiments, in order to simply describe, they are all described as a combination of a series of actions, but those skilled in the art should know that the present application is not limited to the order of the actions described, because according to the present application, certain steps can be performed in other orders or at the same time. Secondly, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0174] In the above embodiments, the description of each embodiment has its own focus, and any multiple embodiments can be used in combination, and the parts not described in detail in a certain embodiment can be referred to the related description of other embodiments.
[0175] Please refer to Figure 8 , Figure 8 is a structural schematic diagram of a communication device provided by an embodiment of the present application. The communication device 80 can be a terminal device or a device matched with the terminal device. As Figure 8 shown, the communication device 80 includes a communication unit 802 and a processing unit 801.
[0176] In an implementation manner, the communication device 80 is used to realize the function of a first terminal device. The communication unit 802 is configured to receive a data packet identification of a first data packet from a second terminal device, the data packet identification of the first data packet including one or more of a PDCP count value of the first data packet, an IP packet identification of the first data packet, and an RLC SN of the first data packet; and the processing unit 801 is configured to allocate a data packet identification to a second data packet based on the data packet identification of the first data packet, the second data packet being a data packet to be transmitted other than the first data packet.
[0177] Optionally, the packet identifier of the first data packet comprises a PDCP count value of the first data packet; and the communication unit 802 is further configured 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 comprising an 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.
[0178] Optionally, the first data packet is a data packet with a minimum IP packet identifier among a plurality of data packets without assigned PDCP count values, or the first data packet is any data packet among the plurality of data packets without assigned PDCP count values.
[0179] Optionally, the packet identifier of the first data packet comprises a PDCP count value of the first data packet; and the communication unit 802 is further configured to send a second request to the second terminal device before receiving the packet identifier of the first data packet from the second terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule 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.
[0180] Optionally, the second request is link recovery indication information, the link recovery indication information being further used to indicate that the wireless link with the access network device has been recovered.
[0181] Optionally, the packet identifier of the first data packet comprises an RLC SN of the first data packet and a PDCP count value of the first data packet; or the packet identifier of the first data packet comprises an RLC SN of the first data packet and an IP packet identifier of the first data packet.
[0182] Optionally, the communication unit 802 is further configured 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, 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; or the second identifier allocation rule comprising an RLC SN of the first data packet and an IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet.
[0183] Optionally, the communication unit 802 is further configured to receive a packet identifier of a third data packet from the second terminal device, the packet identifier of the third data packet being the smallest in the buffer of the second terminal device; or the third data packet is a data packet earliest stored by the second terminal device.
[0184] Optionally, the processing unit 801 is further configured to, in response to the packet identifier of the fourth data packet being less than the packet identifier of the third data packet, discard the first part of data packets; the packet identifier of the first part of data packets is less than the packet identifier of the third data packet and greater than or equal to the packet identifier of the fourth data packet; and 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.
[0185] Optionally, the communication unit 802 is further configured to receive the second part of data packets from the second 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; 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.
[0186] Optionally, the communication unit 802 is further configured to receive the HARQ information of the TB to be retransmitted from the second terminal device before receiving the packet identifier of the third data packet from the second terminal device.
[0187] Optionally, the communication unit 802 is further configured to send the packet identifier of the fourth data packet to the second terminal device.
[0188] In an implementation manner, the communication apparatus 80 is configured to implement the function of the second terminal device. The communication unit 802 is configured to send the packet identifier of the first data packet to the first terminal device; 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.
[0189] Optionally, the communication unit 802 is further configured to, before sending the packet identifier of the first data packet to the first terminal device, receive a first request from 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.
[0190] Optionally, the communication unit 802 is further configured to, before sending the packet identifier of the first data packet to the first terminal device, receive a second request from the first terminal device, the second request being used to request the first identification allocation rule of the second terminal device, the first identification allocation rule including 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 corresponding to the PDCP count value of the first data packet; and in response to the second request, send the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0191] Optionally, the second request is link recovery indication information, and the link recovery indication information is further used to indicate that the wireless link between the first terminal device and the access network device has been recovered.
[0192] Optionally, the communication unit 802 is further configured to receive, before sending the packet identifier of the first data packet to the first terminal device, a third request 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; and send, in response to the third request, the RLC SN of the first data packet and the PDCP count value of the first data packet to the first terminal device.
[0193] Optionally, the communication unit 802 is further configured to receive, before sending the packet identifier of the first data packet to the first terminal device, a third request 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 an 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; and send, in response to the third request, the RLC SN of the first data packet and the IP packet identifier of the first data packet to the first terminal device.
[0194] Optionally, the communication unit 802 is further configured to send, to the first terminal device, a packet identifier of a third data packet, the packet identifier of the third data packet being the smallest in the buffer of the second terminal device; or the third data packet being the earliest buffered data packet of the second terminal device.
[0195] Optionally, the communication unit 802 is further configured to receive, from the first terminal device, a packet identifier of a fourth data packet, the packet identifier of the fourth data packet being the smallest in the buffer of the first terminal device; or the fourth data packet being the earliest buffered data packet of the first terminal device.
[0196] Optionally, the communication unit 802 is further configured to send, to the first terminal device, a second part of data packets in response to the packet identifier of the fourth data packet being greater than the packet identifier of the third data packet, 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.
[0197] Optionally, the communication unit 802 is further configured to send, to the first terminal device, HARQ information of a TB to be retransmitted in response to the TB to be retransmitted existing.
[0198] See Figure 9 , Figure 9is a structural schematic diagram of another communication apparatus provided in embodiments of the present application. The communication apparatus 90 can be a terminal device or a device matched with the terminal device. Optionally, the communication apparatus can further include a memory 903. The transceiver 901, the processor 902 and the memory 903 can be connected through a bus 904 or other manners. The bus is represented by a thick line in the figure, and the connection manners between other components are only schematically illustrated and are not limited. The bus can be divided into an address bus, a data bus, a control bus and the like. For the convenience of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus. Figure 9 Figure 9
[0199] In embodiments of the present application, the coupling between the devices, units or modules is indirect coupling or communication connection between the devices, units or modules, which can be electrical, mechanical or other forms, and is used for information interaction between the devices, units or modules. In embodiments of the present application, the specific connection medium between the transceiver 901, the processor 902 and the memory 903 is not limited.
[0200] The memory 903 can include a read-only memory and a random access memory, and provide instructions and data for the processor 902. A part of the memory 903 can also include a non-volatile random access memory.
[0201] The processor 902 can be a central processing unit (CPU), and the processor 902 can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, and the processor 902 can also be any conventional processor.
[0202] In an optional embodiment, the memory 903 is configured to store program instructions; and the processor 902 is configured to invoke the program instructions stored in the memory 903 to perform the steps performed by the first terminal device and the second terminal device in the corresponding embodiments. Figure 3 to Figure 7
[0203] In the embodiments of the present application, the method provided by the embodiments of the present application can be implemented by running a computer program (including program codes) capable of performing each step involved in the above method on a general computing device such as a computer including processing elements and storage elements such as CPU, RAM, ROM, etc. The computer program can be recorded on a computer readable recording medium such as a computer readable recording medium, loaded into the above computing device through the computer readable recording medium, and run therein.
[0204] Based on the same inventive concept, the principles and beneficial effects of the communication device 90 provided in the embodiments of the present application for solving problems are similar to those of the embodiments of the present application Figure 3 to Figure 7 The principles and beneficial effects of the embodiments of the present application for solving problems are similar to those of the embodiments of the present application
[0205] The aforementioned communication device may, for example, be a chip or a chip module.
[0206] The embodiments of the present application also provide a chip, which includes a processor that can execute the related steps of the first terminal device or the second terminal device in the foregoing method embodiments.
[0207] In an implementation manner, the chip is configured to: receive 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 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 allocate a data packet identifier to a second data packet based on 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.
[0208] Optionally, the data packet identifier of the first data packet includes the PDCP count value of the first data packet; and the chip is further configured to, before receiving the data packet identifier of the first data packet from the second terminal device, send 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.
[0209] Optionally, the first data packet is a data packet with the smallest IP packet identifier in a plurality of data packets without allocated PDCP count values, or the first data packet is any data packet in the plurality of data packets without allocated PDCP count values.
[0210] Optionally, the data packet identifier of the first data packet comprises a PDCP count value of the first data packet; and the chip is further configured to send a second request to the second terminal device before receiving the data packet identifier of the first data packet from the second terminal device, the second request being used to request a first identifier allocation rule of the second terminal device, the first identifier allocation rule comprising an IP packet identifier of the first data packet and the PDCP count value of the first data packet, the IP packet identifier of the first data packet corresponding to the PDCP count value of the first data packet.
[0211] Optionally, the second request is link recovery indication information, and the link recovery indication information is further used to indicate that the wireless link between the terminal device and the access network device has been recovered.
[0212] Optionally, the data packet identifier of the first data packet comprises an RLC SN of the first data packet and a PDCP count value of the first data packet; or the data packet identifier of the first data packet comprises an RLC SN of the first data packet and an IP packet identifier of the first data packet.
[0213] Optionally, the chip is further configured to send a third request to the second terminal device before receiving the data packet identifier of the first data packet from the second terminal device, the third request being used to request a second identifier allocation rule of the second terminal device, the second identifier allocation rule comprising 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; or the second identifier allocation rule comprising an RLC SN of the first data packet and an IP packet identifier of the first data packet, the RLC SN of the first data packet corresponding to the IP packet identifier of the first data packet.
[0214] Optionally, the chip is further configured to receive a data packet identifier of a third data packet from the second terminal device, the data packet identifier of the third data packet being the smallest in the buffer of the second terminal device; or the third data packet being the earliest buffered data packet of the second terminal device.
[0215] Optionally, the chip is further configured to discard a first part of data packets in response to a data packet identifier of a fourth data packet being smaller than a data packet identifier of the third data packet, the data packet identifier of the first part of data packets being smaller than the data packet identifier of the third data packet and greater than or equal to the data packet identifier of the fourth data packet, the data packet identifier of the fourth data packet being the smallest in the buffer of the first terminal device; or the fourth data packet being the earliest buffered data packet of the first terminal device.
[0216] Optionally, the chip is further configured to receive a second part of data packets from the second terminal device, the data packet identifier of the second part of data packets being greater than the data packet identifier of the third data packet and smaller than or equal to the data packet identifier of the fourth data packet, the data packet identifier of the fourth data packet being the smallest in the buffer of the first terminal device; or the fourth data packet being the earliest buffered data packet of the first terminal device.
[0217] Optionally, the chip is further configured to receive the HARQ information of the TB to be retransmitted from the second terminal device before receiving the packet identifier of the third data packet from the second terminal device.
[0218] Optionally, the chip is further configured to send the packet identifier of the fourth data packet to the second terminal device.
[0219] In another implementation, the chip is configured to: send the packet identifier of the first data packet to the first terminal device; the packet identifier of the first data packet comprises 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.
[0220] Optionally, the chip is further configured to: receive a first request from the first terminal device before sending the packet identifier of the first data packet to the first terminal device, the first request comprising 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 send the PDCP count value of the first data packet to the first terminal device in response to the first request.
[0221] Optionally, the chip is further configured 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 comprising 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; and send the IP packet identifier of the first data packet and the PDCP count value of the first data packet to the first terminal device in response to the second request.
[0222] Optionally, the second request is link recovery indication information, and the link recovery indication information is further used to indicate that the wireless link between the first terminal device and the access network device has been recovered.
[0223] Optionally, the chip is further configured 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 the second identifier allocation rule of the second terminal device, the second identifier allocation rule comprising the RLC SN of the first data packet and the PDCP count value of the first data packet, the RLC SN of the first data packet corresponding to the PDCP count value of the first data packet; and send the RLC SN of the first data packet and the PDCP count value of the first data packet to the first terminal device in response to the third request.
[0224] Optionally, the chip is further configured 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 comprising an RLC SN of the first data packet and an 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; and send 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.
[0225] Optionally, the chip is further configured to send a packet identifier of a third data packet to the first terminal device, the packet identifier of the third data packet being the smallest in the buffer of the second terminal device; or the third data packet being the earliest buffered data packet of the second terminal device.
[0226] Optionally, the chip is further configured to receive 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 the buffer of the first terminal device; or the fourth data packet being the earliest buffered data packet of the first terminal device.
[0227] Optionally, the chip is further configured to send a second part of data packets to the first terminal device in response to the packet identifier of the fourth data packet being greater than the packet identifier of the third data packet, 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.
[0228] Optionally, the chip is further configured to send HARQ information of a to-be-retransmitted TB to the first terminal device in response to the to-be-retransmitted TB existing.
[0229] The chip is used for sending information or receiving information, which can be that the chip outputs information or inputs information through a chip interface.
[0230] Please refer to Figure 10 , Figure 10 is a structural diagram of a chip module provided in an embodiment of the present application. The chip module 100 can perform the related steps of the terminal device in the foregoing method embodiments, and the chip module 100 comprises a communication interface 1001 and a chip 1002.
[0231] The communication interface is used for internal communication of the chip module, or is used for communication between the chip module and an external device. The communication interface can also be described as a communication module. The chip 1002 is used to implement the functions of the terminal device in the embodiments of the present application.
[0232] For example, the chip 1002 is configured to receive a data packet identifier of a first data packet from a second terminal device, the data packet identifier of the first data packet comprising 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 data packet identifier to a second data packet based on 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.
[0233] For example, the chip 1002 is configured to receive a data packet identifier of a first data packet from a second terminal device, the data packet identifier of the first data packet comprising 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 data packet identifier to a second data packet based on 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.
[0234] Optionally, the chip module 100 further comprises a storage module 1003 and a power supply module 1004. The storage module 1003 is configured to store data and instructions. The power supply module 1004 is configured to supply power for the chip module.
[0235] For each device, product, etc. applied to or integrated into the chip module, each module contained therein can be implemented in the form of hardware such as a circuit, different modules can be located in the same component (e.g., a chip, a circuit module, etc.) or different components of the chip module, or at least part of the modules can be implemented in the form of software programs running on a processor integrated in the chip module, and the remaining (if any) part of the modules can be implemented in the form of hardware such as a circuit.
[0236] The embodiment of the present application further provides a computer readable storage medium, and the computer readable storage medium stores one or more instructions. The one or more instructions are adapted to be loaded by a processor and execute the method provided by the method embodiment.
[0237] The embodiment of the present application further provides a computer program product containing a computer program or instructions, which, when running on a computer, causes the computer to execute the method provided by the method embodiment.
[0238] It should be noted that, for the above-mentioned various embodiments, in order to simply describe, they are all expressed as a series of action combinations. Those skilled in the art should know that the present application is not limited to the action order described, because some steps in the embodiment of the present application can be performed in other order or simultaneously. In addition, those skilled in the art should know that the embodiments described in the specification all belong to preferred embodiments, and the actions, steps, modules or units involved are not necessarily required by the embodiment of the present application.
[0239] In the above embodiments, the description of each embodiment of the present application has its own focus, and the parts not described in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0240] The steps of the methods or algorithms described in the embodiments of the present application can be implemented in the form of hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, erasable programmable read-only memory (EPROM), electrically EPROM (EEPROM), register, hard disk, mobile hard disk, compact disc read-only memory (CD-ROM), 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 the storage medium can be located in an ASIC. In addition, the ASIC can be located in a terminal device or a management device. Of course, the processor and the storage medium can also exist as discrete components in the terminal device or the management device.
[0241] Those skilled in the art should be aware that, in one or more examples described above, 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 by software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, the computer program instructions generate, in whole or in part, the processes or functions described in the embodiments of the present application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transferred from one website, computer, server, or data center to another website, computer, server, or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) manner. 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, data center, etc. integrated with one or more available media sets. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a digital video disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)), etc.
[0242] The various modules / units included in the various devices and products described in the above embodiments can be software modules / units or hardware modules / units, or can be partially software modules / units and partially hardware modules / units. For example, for the various devices and products applied to or integrated in a chip, the various modules / units included therein can all be implemented in the form of hardware such as circuitry, or at least some of the modules / units can be implemented in the form of software running on a processor integrated in the chip, and the remaining (if any) modules / units can be implemented in the form of hardware; for the various devices and products applied to or integrated in a chip module, the various modules / units included therein can all be implemented in the form of hardware such as circuitry, and different modules / units can be located in the same component (e.g., a chip, a circuit module, etc.) or different components of the chip module, or at least some of the modules / units can be implemented in the form of software running on a processor integrated in the chip module, and the remaining (if any) modules / units can be implemented in the form of hardware; for the various devices and products applied to or integrated in a terminal, the various modules / units included therein can all be implemented in the form of hardware such as circuitry, and different modules / units can be located in the same component (e.g., a chip, a circuit module, etc.) or different components of the terminal, or at least some of the modules / units can be implemented in the form of software running on a processor integrated in the terminal, and the remaining (if any) modules / units can be implemented in the form of hardware.
[0243] The above detailed description of the specific implementation of the embodiments of the present application has further explained the purposes, technical solutions, and beneficial effects of the embodiments of the present application. It should be understood that the above detailed description is only a specific implementation of the embodiments of the present application, and is not intended to limit the protection scope of the embodiments of the present application. Any modification, equivalent replacement, improvement, etc. made on the basis of the technical solutions of the embodiments of the present application shall be included in the protection scope of the embodiments of the present application.
Claims
1. A method of processing data packets, characterized by, The method is applied to a first terminal device, and the method comprises: sending a first request to a second terminal device, the first request comprising an IP packet identifier of a 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 first data packet being a data packet without a PDCP count value and having a minimum IP packet identifier among data packets received from an application layer, or the first data packet being any data packet without a PDCP count value among data packets received from the application layer; receiving the PDCP count value of the first data packet from the second terminal device; allocating a PDCP count value to a second data packet based on the PDCP count value of the first data packet, the second data packet being a data packet to be transmitted other than the first data packet.
2. The method of claim 1, wherein, The method further comprises: receiving a packet identifier of a third data packet from the second terminal device, the packet identifier of the third data packet being minimum in a buffer of the second terminal device; or the third data packet being a data packet earliest buffered by the second terminal device.
3. The method of claim 2, wherein, The method further comprises: in response to a packet identifier of a fourth data packet being less than the packet identifier of the third data packet, discarding a first part of data packets; the packet identifier of the first part of data packets being less than the packet identifier of the third data packet and greater than or equal to the packet identifier of the fourth data packet; wherein the packet identifier of the fourth data packet is minimum in a buffer of the first terminal device; or the fourth data packet is a data packet earliest buffered by the first terminal device.
4. The method of claim 2, wherein, The method further comprises: receiving a second part of data packets from the second 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, the packet identifier of the fourth data packet being minimum in a buffer of the first terminal device; or the fourth data packet being a data packet earliest buffered by the first terminal device.
5. The method of claim 2, wherein, Before the receiving of the packet identifier of the third data packet from the second terminal device, the method further comprises: receiving hybrid automatic repeat request (HARQ) information of a TB to be retransmitted from the second terminal device.
6. The method of claim 3 or 4, wherein, The method further comprises: sending the packet identifier of the fourth data packet to the second terminal device.
7. A method of processing data packets, characterized by The method is applied to a second terminal device, and the method comprises: receiving a first request from a first terminal device, the first request comprising an IP packet identifier of a 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 first data packet being a data packet without a PDCP count value and having a minimum IP packet identifier among data packets received from an application layer by the first terminal device, or the first data packet being any data packet without a PDCP count value among data packets received from the application layer by the first terminal device; sending, to the first terminal device, a PDCP COUNT value of the first data packet, so that the first terminal device allocates a PDCP COUNT value for a second data packet based on the PDCP COUNT value of the first data packet, the second data packet being a data packet to be transmitted other than the first data packet.
8. The method of claim 7, wherein, The method further comprises: sending, to the first terminal device, a packet identity of a third data packet, the packet identity of the third data packet being the smallest in the buffer of the second terminal device; or, the third data packet being the earliest buffered data packet of the second terminal device.
9. The method of claim 8, wherein, The method further comprises: receiving, from the first terminal device, a packet identity of a fourth data packet, the packet identity of the fourth data packet being the smallest in the buffer of the first terminal device; or, the fourth data packet being the earliest buffered data packet of the first terminal device.
10. The method of claim 9, wherein, The method further comprises: in response to the packet identity of the fourth data packet being greater than the packet identity of the third data packet, sending, to the first terminal device, a second part of data packets, the packet identity of the second part of data packets being greater than the packet identity of the third data packet and less than or equal to the packet identity of the fourth data packet.
11. The method of claim 8, wherein, The method further comprises: in response to there being a TB to be retransmitted, sending, to the first terminal device, HARQ information of the TB to be retransmitted.
12. A communications device, characterized by comprising units for implementing the method of any one of claims 1-6, or comprising units for implementing the method of any one of claims 7-11.
13. A terminal device comprising a processor, a memory, and a computer program or instructions stored on the memory, wherein the computer program or instructions are configured to cause the processor to perform the method of any one of claims 1-12. The processor executes the computer program or instructions to implement the steps of the method of any one of claims 1-6; or, to implement the steps of the method of any one of claims 7-11.
14. A chip comprising a processor, characterized in that, The processor executes the steps of the method of any one of claims 1-6; or, executes the steps of the method of any one of claims 7-11.
15. A chip module comprising a communication interface and a chip, characterized in that The chip comprises a processor, which executes the steps of the method of any one of claims 1-6; or, executes the steps of the method of any one of claims 7-11.
16. A computer readable storage medium characterized by: The chip comprises a processor, which executes the steps of the method of any one of claims 1-6; or, executes the steps of the method of any one of claims 7-11. The chip comprises a processor, which executes the steps of the method of any one of claims 1-6; or, executes the steps of the method of any one of claims 7-11.
Citation Information
Patent Citations
Data transmission method, apparatus, and system
US20220279488A1
Data packet processing method and device, and storage medium
WO2020258018A1