Data packet processing method and device, computer device and readable storage medium

By identifying and moving the PDCP receive window at the receiving end to remove duplicate PDU data packet sequence numbers, the problem of duplicate data packet delivery caused by PDCP duplication in 5G communication is solved, improving the accuracy and efficiency of data transmission.

CN119743795BActive Publication Date: 2025-11-07CHINA TELECOM CORP LTD TECHNOLOGY INNOVATION CENTER +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411916929.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-11-07
Estimated Expiration
2044-12-24

AI Technical Summary

Technical Problem

In 5G communication, when PDCP replication and out-of-order delivery are enabled simultaneously, it may lead to repeated delivery of PDU data packets, increasing the communication pressure on both parties.

Method used

The receiving end obtains the PDCP sequence number of the PDU data packet, identifies duplicate sequence numbers, moves the receiving window in the data packet sequence to perform deduplication, and forwards data packets with different sequence numbers.

Benefits of technology

This effectively avoids the delivery of duplicate data packets, reduces unnecessary retransmissions and processing overhead, and improves the accuracy and integrity of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119743795B_ABST
    Figure CN119743795B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of communication, in particular to a data packet processing method and device, computer equipment and a readable storage medium. The method comprises the following steps: obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and the PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by copying the same PDU data packet based on the PDCP duplication protocol are the same; determining the data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet; if the first PDCP sequence number in the data packet sequence located in a PDCP receiving window has a repeated PDCP sequence number, then moving the PDCP receiving window in the data packet sequence according to the repeated PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the repeated PDCP sequence number and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, in particular to a data packet processing method and device, computer equipment and a readable storage medium. BACKGROUND

[0002] Packet Data Convergence Protocol (PDCP) duplication is a mechanism introduced by the 5th Generation Mobile Communication Technology (5G) protocol to improve transmission reliability to meet ultra-reliable and low-latency communication application scenarios. Specifically, the PDCP duplication mechanism will send the same Packet Data Convergence Protocol Data Unit (PDCP PDU) through multiple Radio Link Control (RLC) channels at the sending end to increase the chances of obtaining PDU data packets in the shortest time at the receiving end.

[0003] At present, when PDCP duplication and out-of-order delivery are enabled at the same time, there may be a situation where PDU data packets are repeatedly delivered to the upper layer, increasing the communication pressure of the two parties, so it is necessary to improve. SUMMARY

[0004] Therefore, it is necessary to provide a data packet processing method and device, computer equipment and a readable storage medium that can avoid repeated data packet delivery to solve the above technical problems.

[0005] In a first aspect, the present application provides a data packet processing method applied to a receiving end, the method comprising:

[0006] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and the PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating the same PDU data packet based on the PDCP duplication protocol are the same;

[0007] determining the data packet sequence of the receiving end according to the PDCP sequence numbers of each PDU data packet;

[0008] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the different PDCP sequence number.

[0009] In one of the embodiments, if the duplicate PDCP sequence number is the minimum sequence number in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the different PDCP sequence number, including:

[0010] forwarding any PDU data packet corresponding to the duplicate PDCP sequence number;

[0011] incrementing the duplicate PDCP sequence number by 1 to obtain a new window start sequence number of the PDCP receiving window;

[0012] moving the PDCP receiving window in the data packet sequence according to the new window start sequence number, so as to perform deduplication processing on the unforwarded PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window.

[0013] In one of the embodiments, forwarding any PDU data packet corresponding to the duplicate PDCP sequence number includes:

[0014] forwarding the PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window.

[0015] In one of the embodiments, moving the PDCP receiving window in the data packet sequence according to the new window start sequence number, so as to perform forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window, includes:

[0016] moving the PDCP receiving window in the data packet sequence according to the new window start sequence number;

[0017] in a case where it is determined that the PDCP sequence number in the moved PDCP receiving window satisfies a window forwarding condition, performing forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window;

[0018] wherein the window forwarding condition is that the number of the PDCP sequence number in the moved PDCP receiving window is equal to a set window length.

[0019] In one of the embodiments, the method further comprises:

[0020] In the case that the PDCP sequence number in the moved PDCP receiving window does not satisfy the window forwarding condition, continuing to wait for receiving the PDU data packets sent by the sending end.

[0021] In one of the embodiments, the forwarding processing of the PDU data packets corresponding to the PDCP sequence number in the moved PDCP receiving window comprises:

[0022] The forwarding processing of the PDU data packets corresponding to the PDCP sequence number in the moved PDCP receiving window is performed by using the PDCP out-of-order delivery protocol.

[0023] In a second aspect, the application further provides a data packet processing device configured in a receiving end, which comprises:

[0024] The obtaining module is configured to obtain each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet, wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating the same PDU data packet based on a PDCP duplication protocol are the same.

[0025] The sequence updating module is configured to add the PDCP sequence numbers of each PDU data packet to a forwarding sequence of the receiving end to obtain a data packet sequence.

[0026] The deduplication forwarding module is configured to, if a first PDCP sequence number located in a PDCP receiving window in the data packet sequence has a duplicate PDCP sequence number, move the PDCP receiving window in the data packet sequence according to the duplicate PDCP sequence number to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.

[0027] In a third aspect, the application further provides a computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the following steps when executing the computer program:

[0028] The obtaining module is configured to obtain each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet, wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating the same PDU data packet based on a PDCP duplication protocol are the same.

[0029] The sequence updating module is configured to add the PDCP sequence numbers of each PDU data packet to a forwarding sequence of the receiving end to obtain a data packet sequence.

[0030] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the different PDCP sequence number.

[0031] In a fourth aspect, the present application further provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the following steps:

[0032] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating a same PDU data packet based on a PDCP duplication protocol are the same;

[0033] determining a data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet;

[0034] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the different PDCP sequence number.

[0035] In a fifth aspect, the present application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the following steps:

[0036] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating a same PDU data packet based on a PDCP duplication protocol are the same;

[0037] determining a data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet;

[0038] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to the different PDCP sequence number.

[0039] The data packet processing method, device, computer device and readable storage medium can efficiently manage and forward the received PDU data packet by adding a forwarding sequence and tracking the PDCP sequence number. When the repeated PDCP sequence number is detected, the receiving end can quickly move the receiving window and perform the deduplication processing on the repeated data packet, thereby avoiding unnecessary retransmission and processing overhead. BRIEF DESCRIPTION OF DRAWINGS

[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other related drawings can be obtained by those skilled in the art without creative labor.

[0041] Figure 1 An application environment diagram of the data packet processing method in an embodiment;

[0042] Figure 2 A flowchart of the data packet processing method in an embodiment;

[0043] Figure 3 A schematic diagram of the data packet sequence and the PDCP receiving window in an embodiment;

[0044] Figure 4 A schematic diagram of the PDCP receiving window after moving in an embodiment;

[0045] Figure 5 A flowchart of the step of deduplicating the PDU data packet corresponding to the repeated PDCP sequence number in an embodiment;

[0046] Figure 6 A structural block diagram of the data packet processing device in an embodiment;

[0047] Figure 7 An internal structure diagram of the computer device in an embodiment. DETAILED DESCRIPTION

[0048] In order to make the purpose, technical solutions and advantages of the present application more clear, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0049] First, some nouns or terms appearing in the description of the present embodiment are applicable to the following explanations:

[0050] Packet Data Convergence Protocol (PDCP): PDCP is a layer in the wireless communication protocol stack responsible for data compression, decompression, encryption, decryption, and data reordering and retransmission control. It plays a crucial role in LTE (Long Term Evolution) and 5G networks, ensuring the efficiency and security of data transmission.

[0051] Dedicated Radio Bearer (DRB): A type of bearer used in wireless communication for transmitting user-specific data. Unlike SRB (Signaling Radio Bearer), DRB is mainly used for transmitting user data.

[0052] Ethernet Header Compression Protocol (EHC): EHC is a protocol used to reduce the size of Ethernet headers, aiming to improve data transmission efficiency in bandwidth-limited network environments. By compressing the header, transmission resources can be saved, and data transmission speed can be accelerated.

[0053] Robust Header Compression Protocol (ROHC): ROHC is a highly efficient header compression protocol, particularly suitable for real-time applications such as VoIP (Voice over IP) and video streaming. It can significantly reduce header overhead while ensuring data integrity, improving network utilization.

[0054] Uplink Data Compression (UDC): UDC refers to the process of compressing data in the uplink to reduce the time and bandwidth required for transmission. This is crucial for improving network performance and user experience, especially in cases of large data volumes.

[0055] Receive Delivery (RX_DELIV): In the PDCP layer, RX_DELIV refers to the position or sequence number of the first data packet within the receive window that has not yet been delivered to the upper layer (SDAP layer). This helps track which data has been successfully received but not yet processed or delivered, and all data packets within the receive window are pending forwarding.

[0056] Received Sequence Number (RCVD_SN): RCVD_SN refers to the sequence number of the received PDCP data unit (PDU), including the PDU header. The sequence number is used to ensure the correct order and integrity of data, and is an important basis for PDCP layer to perform packet reassembly and retransmission control.

[0057] Received Count (RCVD_COUNT): RCVD_COUNT represents the number of received PDCP PDU data, specifically defined as the number of PDU received between a certain high sequence number (RCVD_HFN, High Frame Number) and the current sequence number (RCVD_SN). This count is used to track the number of packets received within a certain time window, which helps to perform flow control and error handling.

[0058] In an exemplary embodiment, the data packet processing method provided by the embodiments of the present application can be applied in an application environment as shown in Figure 1 The application environment includes a sending end 102, a receiving end 104 and a data processing layer 106.

[0059] Among them, in the sending end 102, data starts from the upper layer (such as the application layer) and is transmitted layer by layer downward, passing through the PDCP layer, the RLC layer, and finally reaching the physical layer for wireless transmission. In this process, each layer will perform specific processing on the data, such as segmentation, reassembly, encryption, compression, etc.

[0060] The RLC layer is responsible for data segmentation and reassembly, as well as error detection and correction. In the sending end 102, there can be multiple RLC entities, each responsible for processing data of a specific logical channel. In order to ensure correct transmission and sequential reassembly of data, each RLC entity will assign a sequence number to the data PDU (Protocol Data Unit) it sends.

[0061] In the sending end 102, a mechanism is needed to uniformly manage and allocate these sequence numbers, even if these data PDUs are sent by different RLC entities. The purpose of this is to make it easier to identify and reassemble these data PDUs at the receiving end 104, ensuring the integrity and order of the data.

[0062] The PDCP layer sometimes duplicates data for transmission to multiple different RLC entities, which is usually to implement redundant transmission of data and improve the reliability of transmission. When data is duplicated by the PDCP and transmitted to multiple RLC entities, these RLC entities should use the same sequence number to transmit these data PDUs. This is done to ensure that at the receiving end 104, even if the same data PDU is received from different RLC entities, it can be correctly identified and processed without duplication or out-of-order situations.

[0063] Specifically, at the sending end 102, a unified sequence number generator can be set up to assign sequence numbers to data PDUs transmitted by all RLC entities. A mapping table is maintained to record the relationship between each data PDU and its corresponding sequence number, as well as which RLC entity transmitted these data PDUs. A coordination mechanism is established between the PDCP layer and the RLC layer to ensure that PDCP-duplicated data can use the same sequence number when transmitted to different RLC entities.

[0064] In an exemplary embodiment, as shown in Figure 2 , a data packet processing method is provided, which is applied to the receiving end 104 in Figure 1 for example, and wherein:

[0065] S201, obtaining each protocol data unit (PDU) data packet transmitted by the sending end based on the packet data convergence protocol (PDCP) and the PDCP sequence number of each PDU data packet.

[0066] As described above, the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the sending end based on the PDCP duplication protocol are the same.

[0067] S202, determining the data packet sequence according to the PDCP sequence numbers of each PDU data packet.

[0068] Among them, the receiving end 104 is responsible for data processing of the PDCP layer.

[0069] Specifically, the PDCP layer belongs to the second layer of the wireless interface protocol stack, and is mainly responsible for the following functions: 1) IP header compression and decompression: In order to reduce the number of bits transmitted through the wireless interface, the PDCP will compress the IP header. At the receiving end 104, the IP header will be decompressed to restore the original data. 2) Data encryption and decryption: In order to protect the confidentiality of data, the PDCP will encrypt the user data. At the receiving end 104, the encrypted data will be decrypted to obtain the original data. 3) Integrity protection and verification: In order to ensure the integrity of the data, the PDCP will perform integrity protection on the user data. At the receiving end 104, the received data will be integrity verified. 4) Data transmission: The PDCP is responsible for transmitting user data and control signaling between the sending end and the receiving end 104. 5) Sequence number maintenance: The PDCP will assign a unique sequence number (SN) to each transmitted data PDU, so that the receiving end 104 can correctly reorder and deliver in order.

[0070] Specifically, when the receiving end 104 receives each PDU data packet sent by the sending end based on the PDCP, the following processing will be performed:

[0071] 1) PDCP PDU reception: The receiving end 104 will first receive a PDCP PDU containing user data or control signaling. 2) Sequence number extraction: The PDCP sequence number is extracted from the received PDCP PDU. This sequence number is assigned by the sending end PDCP layer and is used to identify the uniqueness of each PDU. 3) Forwarding sequence combination: The receiving end 104 will combine the extracted PDCP sequence number with its own forwarding sequence to generate a data packet sequence. This process helps the receiving end 104 to track and manage the received PDU, ensuring correct reordering and in-order delivery of data. 4) Data reordering and in-order delivery: According to the data packet sequence, the receiving end 104 will reorder the received PDU and deliver it to the upper layer protocol in the correct order for processing.

[0072] S203, if the first PDCP sequence number in the PDCP receiving window in the data packet sequence has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, to perform de-duplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number, and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.

[0073] In this embodiment, the data packet sequence is as follows: Figure 3As shown, a PDCP receiving window is set in the data packet sequence, the PDCP receiving window is a sliding window used for tracking and managing received PDUs. The size of the window is usually determined according to system configuration and communication requirements. The sequence numbers within the PDCP receiving window represent the range of PDUs currently expected to be received, and each PDCP sequence number within the PDCP receiving window indicates that the PDU data packet corresponding to the PDCP sequence number is in a state to be forwarded. The PDCP sequence numbers before the PDCP receiving window correspond to data packets that have been forwarded. In addition, Figure 3 The PDU that has been forwarded to the upper layer in the above means that the processing of the current layer has been completed and is ready to be forwarded to the next layer of the network protocol stack for further processing.

[0074] Further, the PDCP SDU receiving window is set with a set window length, which is a parameter used by the PDCP layer to manage received data. The size of the receiving window determines the number of PDUs that the PDCP layer can simultaneously track and manage. For example,

[0075] In this embodiment, the set window length is 2 [pdcp-SN-Size] – 1 ;

[0076] where pdcp-SN-Size is the size of the PDCP sequence number (SN), usually in bits. The PDCP layer assigns a unique sequence number to each transmitted PDU in order to correctly reorder and deliver in sequence at the receiving end.

[0077] The set window length is 2 [pdcp-SN-Size] – 1 : This means that the sequence number range of the receiving window is fixed from 0 to 2 [pdcp-SN-Size] – 1 . For example, if pdcp-SN-Size is 12, the sequence number range of the receiving window will be from 0 to 5095. This fixed-size receiving window helps to simplify the implementation and management of the PDCP layer.

[0078] In this embodiment, the initial sequence number of the PDCP receiving window is 1500, and the corresponding window termination sequence number is 1500+2 [pdcp-SN-Size] – 1 , i.e. the receiving range of the current PDCP receiving window is [1500, 1500+2 [pdcp -SN-Size] – 1 ].

[0079] For example, the first PDCP sequence number within the PDCP receiving window in the data packet sequence has a duplicate PDCP sequence number, which means that: Figure 3 The two PDCP sequence numbers in the above are both 1500, and 1500 is within the receiving range [1500, 1500+2 [pdcp-SN-Size] – 1Therefore, since the first digit of the PDU data packet with the two PDCP sequence numbers is the first digit, it is necessary to perform deduplication processing on the PDU data packet with the two PDCP sequence numbers.

[0080] The deduplication principle is as follows: First, forward the PDU data packet corresponding to the first arriving sequence number 1500. Then, shift the PDCP receive window by one sequence number. At this point, the receiving range of the PDCP receive window is [1501, 1501+2]. [pdcp -SN-Size] – 1 At this time, such as Figure 4 As shown, for the moved PDCP receive window, the new receive range where the PDU data packet corresponding to the later-arriving sequence number 1500 does not fall into the PDCP receive window is [1501, 1501+2]. [pdcp-SN-Size] – 1 Within this range, the PDU data packet is discarded, thus achieving deduplication of the two PDU data packets corresponding to sequence number 1500.

[0081] Understandably, the deduplication principle described above ensures that PDU data packets corresponding to duplicate PDCP sequence numbers can be accurately identified and discarded. By first forwarding one of the PDU data packets and then moving the receive window to the next sequence number position, the receiver can ensure that duplicate data packets are not mistakenly retained, thereby improving the accuracy and integrity of data transmission.

[0082] In addition, for PDU data packets corresponding to different PDCP sequence numbers, the receiver 104 will forward them in the correct order. Forwarding typically involves delivering the data to upper-layer protocols (such as the RLC layer) for further processing and transmission.

[0083] Specifically, the forwarding process for the PDU data packets corresponding to the PDCP sequence number within the moved PDCP receive window includes: using the PDCP out-of-order delivery protocol to forward the PDU data packets corresponding to the PDCP sequence number within the moved PDCP receive window.

[0084] Understandably, for each PDU data packet, the receiving end will decide whether to immediately deliver it to the upper-layer protocol based on the rules of the PDCP out-of-order delivery protocol. If the protocol allows out-of-order delivery and the current data packet meets the delivery conditions (such as data integrity, sequence number verification, etc.), the receiving end can immediately deliver it to the upper-layer protocol. Once the decision to deliver the data packet is made, the receiving end will deliver the PDU data packet to the upper-layer protocol (such as the RLC layer) for further processing according to the network protocol stack hierarchy. During the forwarding process, the receiving end may also need to add necessary metadata or perform other auxiliary operations to ensure that the data packet can be correctly identified and processed by the upper-layer protocol.

[0085] After the data packet forwarding is completed, the receiving end needs to update its internal state information (such as the position of the receiving window, the sequence number of the delivered data packet, etc.) in order to track the subsequent received data packets. In addition, the receiving end can also need to send feedback information to the upper layer protocol or the sending end to confirm the successful reception of the data packet or request retransmission of the lost data packet.

[0086] The above data packet processing method can efficiently manage and forward the received PDU data packet by adding the forwarding sequence and tracking the PDCP sequence number. When the duplicate PDCP sequence number is detected, the receiving end can quickly move the receiving window and perform the deduplication processing on the duplicate data packet, thereby avoiding unnecessary retransmission and processing overhead.

[0087] In an exemplary embodiment, as shown in Figure 5 According to the duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence to perform the deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and the forwarding processing on the PDU data packet corresponding to the different PDCP sequence number, including:

[0088] S501, any PDU data packet corresponding to the duplicate PDCP sequence number is processed by the forwarding processing.

[0089] Specifically, any PDU data packet in the two duplicate PDU data packets corresponding to 1500 in Figure 3 is processed by the forwarding processing.

[0090] S502, the duplicate PDCP sequence number is processed by the increment processing to obtain a new window start sequence number of the PDCP receiving window.

[0091] Specifically, 1500+1=1501, and in combination with Figure 4 1501 is taken as the new window start sequence number of the PDCP receiving window.

[0092] S503, according to the new window start sequence number, the PDCP receiving window is moved in the data packet sequence to perform the deduplication processing on the unforwarded PDU data packet corresponding to the duplicate PDCP sequence number and the forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window.

[0093] Specifically, the method further includes: moving the PDCP receiving window in the data packet sequence according to the current window start sequence number.

[0094] It can be understood that the current window start sequence number of the PDCP receiving window of No. 1501 is moved in the data packet sequence according to the current window start sequence number, and the window range of the moved PDCP receiving window is [1501, 1501+2 [pdcp-SN-Size] – 1 ] at this time.

[0095] In this case, any PDU data packet corresponding to the repeated PDCP sequence number is forwarded, including the PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window.

[0096] As in the above example, the PDU data packet corresponding to the first PDCP sequence number corresponding to the sequence number 1500 is forwarded.

[0097] In an exemplary embodiment, the PDCP receiving window is moved in the data packet sequence according to the new window start sequence number to forward the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window, including moving the PDCP receiving window in the data packet sequence according to the new window start sequence number.

[0098] Specifically, the receiving end moves the PDCP receiving window to a new position according to the new window start sequence number calculated in the previous step. This usually involves updating the start and end sequence numbers of the receiving window to ensure that the sequence number range in the window is correct.

[0099] In one implementation, the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window is forwarded when it is determined that the PDCP sequence number in the moved PDCP receiving window satisfies the window forwarding condition.

[0100] The window forwarding condition is that the number of PDCP sequence numbers in the moved PDCP receiving window is equal to the set window length.

[0101] It can be understood that the receiving end checks whether the sequence numbers in the moved PDCP receiving window satisfy the window forwarding condition, i.e., whether the number of sequence numbers in the window is equal to the set window length, and whether there is a repeated sequence number in the window. If these conditions are met, the receiving end forwards the corresponding PDU data packet in the window to the upper layer protocol.

[0102] In another implementation, the receiving end continues to wait for the PDU data packets sent by the sending end when it is determined that the PDCP sequence number in the moved PDCP receiving window does not satisfy the window forwarding condition.

[0103] Specifically, if the sequence numbers within the moved PDCP receiving window do not meet the window forwarding condition (e.g., the number of sequence numbers within the window is insufficient or there are other problems), the receiving end will continue to wait until enough PDU data packets are received to meet the condition.

[0104] Specifically, if duplicate sequence numbers are still detected within the moved PDCP receiving window, if the forwarding rate requirement is not high, the receiving end can remove the duplicate sequence numbers and ensure that only unique PDU data packets are forwarded to the upper layer protocol; if the forwarding rate requirement is high, the data packets corresponding to the PDCP receiving window are all forwarded to the upper layer protocol, and the upper layer protocol discriminates and removes duplicate data packets.

[0105] In an exemplary embodiment, a specific embodiment of a data packet processing method is provided, comprising:

[0106] Assuming that pdcp-SN-SizeDL is set to 18 and the PDCP receiving window size is set to window = 2 18-1 ;

[0107] In the sending end 102, the PDCP SN of the data PDU is determined, and by duplicating to different RLC entities, it is sent to the receiving end 104 by using dual connectivity or carrier aggregation;

[0108] In the receiving end 104, according to the relevant steps in TS 38.323, RVCD_COUNT is calculated by RCVD_SN, and compared with RX_DELIV:

[0109] When 2 18-1 ≥ RVCD_COUNT - RX_DELIV ≥ 0, it is forwarded to the upper layer;

[0110] When RVCD_COUNT - RX_DELIV < 0, it is discarded;

[0111] When RVCD_COUNT - RX_DELIV = 0 or RVCD_COUNT - RX_DELIV = 2 18-1 , the receiving window starting point is changed to RX_DELIV + 1, and the receiving window size is still 2 18-1 , that is, the PDCP receiving window is moved at this time.

[0112] It should be understood that although the steps in the flowcharts involved in the above embodiments are shown in sequence according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other orders. Moreover, at least some of the steps in the flowcharts involved in the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be alternately executed with at least part of other steps or steps or stages in other steps.

[0113] Based on the same inventive concept, the embodiments of the present application also provide a data packet processing device for implementing the above-mentioned data packet processing method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more data packet processing device embodiments provided below can refer to the limitations of the data packet processing method in the above text, which will not be repeated here.

[0114] In one exemplary embodiment, as shown in Figure 6 A data packet processing device is provided, comprising: an acquisition module 11, a sequence updating module 12, and a duplicate removal and forwarding module 13, wherein:

[0115] The acquisition module 11 is configured to acquire protocol data unit (PDU) data packets sent by a sending end based on a packet data convergence protocol (PDCP) and PDCP sequence numbers of the PDU data packets; wherein the PDCP sequence numbers of the PDU data packets obtained by the sending end by duplicating the same PDU data packet based on a PDCP duplication protocol are the same.

[0116] The sequence updating module 12 is configured to add the PDCP sequence numbers of the PDU data packets to a forwarding sequence of a receiving end to obtain a data packet sequence.

[0117] The duplicate removal and forwarding module 13 is configured to, if a first PDCP sequence number located in a PDCP receiving window in the data packet sequence has duplicate PDCP sequence numbers, move the PDCP receiving window in the data packet sequence according to the duplicate PDCP sequence numbers to perform duplicate removal processing on PDU data packets corresponding to the duplicate PDCP sequence numbers and forwarding processing on PDU data packets corresponding to different PDCP sequence numbers.

[0118] In one embodiment, the duplicate removal and forwarding module 13 is further configured to:

[0119] forward any PDU data packet corresponding to the duplicate PDCP sequence number.

[0120] incrementing the duplicated PDCP sequence number by 1 to obtain a new window start sequence number of the PDCP receiving window;

[0121] moving the PDCP receiving window in the data packet sequence according to the new window start sequence number, to perform deduplication processing on the unforwarded PDU data packet corresponding to the duplicated PDCP sequence number, and to perform forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window.

[0122] In one of the embodiments, the deduplication and forwarding module 13 is further configured to:

[0123] perform forwarding processing on the PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window.

[0124] In one of the embodiments, the deduplication and forwarding module 13 is further configured to: move the PDCP receiving window in the data packet sequence according to the new window start sequence number;

[0125] perform forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window, in a case where it is determined that the PDCP sequence number in the moved PDCP receiving window satisfies a window forwarding condition.

[0126] In one of the embodiments, the window forwarding condition is that the number of the PDCP sequence numbers in the moved PDCP receiving window is equal to a set window length.

[0127] In one of the embodiments, the deduplication and forwarding module 13 is further configured to: continue to wait for receiving each PDU data packet sent by the sending end, in a case where it is determined that the PDCP sequence number in the moved PDCP receiving window does not satisfy the window forwarding condition.

[0128] In one of the embodiments, the deduplication and forwarding module 13 is further configured to: perform forwarding processing on the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window, by using a PDCP out-of-order delivery protocol.

[0129] Each of the modules in the above data packet processing apparatus can be realized by software, hardware, and combinations thereof, in whole or in part. Each of the modules can be embedded in or independent of a processor in the computer device in hardware form, or stored in a memory in the computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to each of the modules.

[0130] In one exemplary embodiment, a computer device is provided, which can be a terminal, and an internal structure diagram of the computer device can be as shown in Figure 7The computer device includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. The processor, the memory, and the input / output interface are connected through a system bus. The communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. The processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for running the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is configured to exchange information between the processor and external devices. The communication interface of the computer device is configured to perform wired or wireless communication with external terminals. The wireless communication can be achieved through WIFI, mobile cellular network, near field communication (NFC), or other technologies. The computer program is executed by the processor to implement a data packet processing method. The display unit of the computer device is configured to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the computer device can be a touch layer overlaid on the display screen, or a key, trackball, or touchpad arranged on the shell of the computer device, or an external keyboard, touchpad, or mouse, etc.

[0131] Those skilled in the art can understand that Figure 7 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. A specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0132] In one exemplary embodiment, a computer device is provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the following steps:

[0133] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating the same PDU data packet based on a PDCP duplication protocol are the same;

[0134] determining a data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet;

[0135] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.

[0136] In one embodiment, a computer readable storage medium is provided, and the computer readable storage medium has stored thereon a computer program, and the computer program is executed by a processor to implement the following steps:

[0137] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating a same PDU data packet based on a PDCP duplication protocol are the same;

[0138] determining a data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet;

[0139] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.

[0140] In one embodiment, a computer program product is provided, and the computer program product includes a computer program, and the computer program is executed by a processor to implement the following steps:

[0141] obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet; wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating a same PDU data packet based on a PDCP duplication protocol are the same;

[0142] determining a data packet sequence of a receiving end according to the PDCP sequence numbers of each PDU data packet;

[0143] If the first PDCP sequence number in the data packet sequence located in the PDCP receiving window has a duplicate PDCP sequence number, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number, so as to perform deduplication processing on the PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on the PDU data packet corresponding to different PDCP sequence numbers.

[0144] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., without being limited thereto.

[0145] The technical features of the above embodiments can be combined in any manner. To make the description concise, all possible combinations of the technical features in the above embodiments are not described, but as long as the combinations of the technical features do not exist contradictions, they should be considered as the scope of the present application.

[0146] The above-described embodiments are merely illustrative of several embodiments of the present application, and the description is relatively specific and detailed, but should not be understood as a limitation on the scope of the patent. It should be noted that for those skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are all within the scope of the present application. Therefore, the scope of protection of the present application should be subject to the appended claims.

Claims

1. A method of processing data packets, characterized by, Applied to a receiving end, the method comprises: obtaining each protocol data unit (PDU) data packet sent by a sending end based on a packet data convergence protocol (PDCP) and a PDCP sequence number of each PDU data packet, wherein the PDCP sequence numbers of each PDU data packet obtained by the sending end by duplicating the same PDU data packet based on a PDCP duplication protocol are the same; determining a data packet sequence of the receiving end according to the PDCP sequence numbers of each PDU data packet; if a first PDCP sequence number in the data packet sequence within a PDCP receiving window exists a duplicate PDCP sequence number, moving the PDCP receiving window in the data packet sequence according to the duplicate PDCP sequence number to perform deduplication processing on a PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on PDU data packets corresponding to different PDCP sequence numbers.

2. The method of claim 1, wherein, The moving of the PDCP receiving window in the data packet sequence according to the duplicate PDCP sequence number to perform deduplication processing on a PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on PDU data packets corresponding to different PDCP sequence numbers comprises: forwarding processing on any PDU data packet corresponding to the duplicate PDCP sequence number; incrementing the duplicate PDCP sequence number by 1 to obtain a new window start sequence number of the PDCP receiving window; moving the PDCP receiving window in the data packet sequence according to the new window start sequence number to perform deduplication processing on an unforwarded PDU data packet corresponding to the duplicate PDCP sequence number and forwarding processing on PDU data packets corresponding to PDCP sequence numbers within the moved PDCP receiving window.

3. The method of claim 2, wherein, The forwarding processing on any PDU data packet corresponding to the duplicate PDCP sequence number comprises: forwarding processing on a PDU data packet corresponding to a first PDCP sequence number within the PDCP receiving window.

4. The method of claim 2, wherein, The moving of the PDCP receiving window in the data packet sequence according to the new window start sequence number to perform forwarding processing on PDU data packets corresponding to PDCP sequence numbers within the moved PDCP receiving window comprises: moving the PDCP receiving window in the data packet sequence according to the new window start sequence number; performing forwarding processing on PDU data packets corresponding to PDCP sequence numbers within the moved PDCP receiving window if the PDCP sequence numbers within the moved PDCP receiving window satisfy a window forwarding condition; wherein the window forwarding condition is that the number of PDCP sequence numbers within the moved PDCP receiving window is equal to a set window length.

5. The method of claim 4, wherein, The method further comprises: continuing to wait for receiving each PDU data packet sent by the sending end if the PDCP sequence numbers within the moved PDCP receiving window do not satisfy the window forwarding condition.

6. The method of claim 4, wherein, The forwarding processing on PDU data packets corresponding to PDCP sequence numbers within the moved PDCP receiving window comprises: The PDCP out-of-sequence delivery protocol is adopted to forward process PDU data packets corresponding to PDCP sequence numbers in a PDCP receiving window after the movement.

7. A data packet processing device, characterized by The device is configured at a receiving end, and comprises: An acquisition module is configured to acquire protocol data unit (PDU) data packets sent by a sending end based on a packet data convergence protocol (PDCP) and PDCP sequence numbers of the PDU data packets, wherein the PDCP sequence numbers of the PDU data packets obtained by the sending end by duplicating a same PDU data packet based on a PDCP duplication protocol are the same. A sequence updating module is configured to add the PDCP sequence numbers of the PDU data packets to a forwarding sequence of the receiving end to obtain a data packet sequence. A duplicate removal forwarding module is configured to, if a first PDCP sequence number located in a PDCP receiving window in the data packet sequence has duplicate PDCP sequence numbers, move the PDCP receiving window in the data packet sequence according to the duplicate PDCP sequence numbers to remove the PDU data packets corresponding to the duplicate PDCP sequence numbers and forward the PDU data packets corresponding to different PDCP sequence numbers. 8.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-7. The processor executes the computer program to implement the steps of the method in any one of claims 1 to 6.

9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.

10. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6. The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Receiving method and communication equipment

    CN110324851A

  • Superframe number (HFN) resynchronization of packet data convergence protocol (PDCP) protocol data units

    CN118614019A