Data packet processing method and device, computer equipment and readable storage medium
By moving and deduplication of the PDCP receiving window at the receiving end, the problem of repeated packet submission caused by PDCP replication and out-of-order submission in the 5G protocol is solved, and efficient packet processing and transmission is achieved.
Patent Information
- Application Number
- CN202411916929.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2044-12-24
AI Technical Summary
In the 5G protocol, when PDCP replication and out-of-order submission are enabled at the same time, there may be a problem of PDU packets being repeatedly submitted at the upper layer, which increases the communication pressure between the two parties involved.
By obtaining the PDU data packet and PDCP sequence number sent by the sending end based on PDCP on the receiving end, determining the packet sequence, and moving the PDCP reception window in the packet sequence, deduplication processing of the PDU data packet corresponding to the repeated PDCP sequence number, and forwarding the PDU data packet corresponding to the different PDCP sequence numbers.
It effectively avoids repeated submission of data packets, reduces communication pressure, and improves the accuracy and completeness of data transmission.
Smart Images

Figure CN119743795A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a data packet processing method, apparatus, computer equipment and readable storage medium. Background Art
[0002] Packet Data Convergence Protocol (PDCP) duplication is a mechanism introduced by the 5th Generation Mobile Communication Technology (5G) protocol to improve transmission reliability in order to meet ultra-reliable and low-latency communication application scenarios. Specifically, the PDCP duplication mechanism sends 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 the receiving end obtaining the PDU data packet in the shortest time.
[0003] At present, when PDCP replication and out-of-order delivery are enabled at the same time, PDU data packets may be repeatedly delivered to the upper layer, increasing the communication pressure on both parties, so improvement is urgently needed. Summary of the invention
[0004] Based on this, it is necessary to provide a data packet processing method, apparatus, computer device and readable storage medium that can avoid duplicate data packet delivery in order 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] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0007] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0008] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0009] In one of the embodiments, if the repeated 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 repeated PDCP sequence number to deduplicate the PDU data packets corresponding to the repeated PDCP sequence number, and forward the PDU data packets corresponding to different PDCP sequence numbers, including:
[0010] Forward any PDU data packet corresponding to the duplicate PDCP sequence number;
[0011] The repeated PDCP sequence number is incremented by 1 to obtain a new window start sequence number of the PDCP receiving window;
[0012] According to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence to deduplicate the unforwarded PDU data packets corresponding to the repeated PDCP sequence numbers, and to forward the PDU data packets corresponding to the PDCP sequence numbers in the moved PDCP receiving window.
[0013] In one embodiment, forwarding any PDU data packet corresponding to the repeated PDCP sequence number includes:
[0014] The PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window is forwarded.
[0015] In one of the embodiments, according to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence to forward the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window, including:
[0016] Moving the PDCP receive window in the data packet sequence according to the new window start sequence number;
[0017] When it is determined that the PDCP sequence number in the moved PDCP receiving window meets the window forwarding condition, forwarding the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window;
[0018] 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.
[0019] In one embodiment, the method further comprises:
[0020] When it is determined that the PDCP sequence number in the moved PDCP receiving window does not meet the window forwarding condition, the system continues to wait for receiving each PDU data packet sent by the transmitting end.
[0021] In one of the embodiments, forwarding the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window includes:
[0022] The PDCP out-of-order delivery protocol is adopted to forward the PDU data packets corresponding to the PDCP sequence numbers in the moved PDCP receiving window.
[0023] In a second aspect, the present application further provides a data packet processing device, which is configured at a receiving end, and the device includes:
[0024] An acquisition module, used to acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the sending end based on the packet data convergence protocol PDCP; wherein 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;
[0025] A sequence update module, used for adding the PDCP sequence number of each PDU data packet to the forwarding sequence of the receiving end to obtain a data packet sequence;
[0026] A deduplication forwarding module is used to move the PDCP receiving window in the data packet sequence according to the repeated PDCP sequence number if there is a duplicate PDCP sequence number in the first PDCP sequence number located in the PDCP receiving window in the data packet sequence, so as to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0027] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0028] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0029] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0030] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0031] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the following steps are implemented:
[0032] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0033] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0034] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0035] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0036] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0037] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0038] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0039] The above-mentioned data packet processing method, apparatus, computer device and readable storage medium can efficiently manage and forward received PDU data packets by adding a forwarding sequence and tracking the PDCP sequence number at the receiving end. When a duplicate PDCP sequence number is detected, the receiving end can quickly move the receiving window and deduplicate the duplicate data packets, thereby avoiding unnecessary retransmission and processing overhead. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 An application environment diagram of a data packet processing method in one embodiment;
[0042] Figure 2 A schematic diagram of a flow chart of a data packet processing method in one embodiment;
[0043] Figure 3 is a schematic diagram of a data packet sequence and a PDCP receiving window in one embodiment;
[0044] Figure 4 is a schematic diagram of a PDCP receiving window after movement in one embodiment;
[0045] Figure 5 It is a flowchart of the steps of performing deduplication processing on PDU data packets corresponding to duplicate PDCP sequence numbers in one embodiment;
[0046] Figure 6 is a structural block diagram of a data packet processing device in one embodiment;
[0047] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying 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 that appear in the description of this embodiment are subject to the following explanations:
[0050] Packet Data Convergence Protocol (PDCP): PDCP is a layer in the wireless communication protocol stack that is responsible for data compression, decompression, encryption, decryption, and data reordering and retransmission control. It plays a key role in LTE (Long Term Evolution) and 5G networks to ensure the efficiency and security of data transmission.
[0051] Dedicated Radio Bearer (DRB): A type of bearer used to transmit user-specific data in wireless communications. Unlike SRB (Signaling Radio Bearer), DRB is mainly used to transmit user data.
[0052] Ethernet Header Compression Protocol (EHC): EHC is a protocol used to reduce the size of Ethernet headers, with the goal of improving data transmission efficiency in bandwidth-constrained 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 an efficient header compression protocol, especially suitable for applications with high real-time requirements, such as VoIP (Voice over IP) and video streaming. It can significantly reduce header overhead and improve network utilization while ensuring data integrity.
[0054] Uplink Data Compression (UDC): UDC is the process of compressing data in the uplink to reduce the time and bandwidth required for transmission. This is critical to improving network performance and user experience, especially when the amount of data is large.
[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. All data packets within the receive window are data packets to be forwarded.
[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 the data and is an important basis for the PDCP layer to perform data packet reassembly and retransmission control.
[0057] Received Count (RCVD_COUNT): RCVD_COUNT indicates the number of PDCP PDU data received, specifically defined as the number of PDUs received from a certain high sequence number (RCVD_HFN) to the current sequence number (RCVD_SN). This count is used to track the number of packets received within a specific time window, which helps with flow control and error handling.
[0058] In an exemplary embodiment, the data packet processing method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the application environment includes a sending end 102 , a receiving end 104 and a data processing layer 106 .
[0059] At the transmitting end 102, data starts from the upper layer (such as the application layer), is transmitted layer by layer, passes through the PDCP layer and the RLC layer, and finally reaches 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 the segmentation and reassembly of data, as well as error detection and correction. At the transmitting end 102, there may be multiple RLC entities, each responsible for processing data for a specific logical channel. To ensure the correct transmission and sequential reassembly of data, each RLC entity assigns a sequence number to the data PDU (Protocol Data Unit) it sends.
[0061] At the transmitting end 102, a mechanism is required to uniformly manage and allocate these sequence numbers, even if these data PDUs are sent by different RLC entities. The purpose of doing so is to make it easier for the receiving end 104 to identify and reassemble these data PDUs to ensure data integrity and order.
[0062] The PDCP layer sometimes duplicates data to send to multiple different RLC entities. This is usually to achieve redundant data transmission and improve transmission reliability. When data is duplicated by PDCP and sent to multiple RLC entities, these RLC entities should use the same sequence number to send 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 correctly identify and process the data without duplication or disorder.
[0063] Specifically, at the transmitting end 102, a unified sequence number generator may be set up to be responsible for allocating sequence numbers for data PDUs sent 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 these data PDUs are sent by. A coordination mechanism is established between the PDCP layer and the RLC layer to ensure that the same sequence number can be used for the data copied by the PDCP when it is sent to different RLC entities.
[0064] In an exemplary embodiment, Figure 2 As shown, a data packet processing method is provided, which is applied to Figure 1 The receiving end 104 in FIG. 1 is taken as an example for explanation, wherein:
[0065] S201, acquiring each protocol data unit PDU data packet and a PDCP sequence number of each PDU data packet sent by a transmitting end based on a packet data convergence protocol PDCP.
[0066] It can be seen from the above description that the PDCP sequence numbers of the PDU data packets obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same.
[0067] S202: Determine a data packet sequence according to a PDCP sequence number of each PDU data packet.
[0068] The receiving end 104 is responsible for data processing at 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, PDCP compresses the IP header. At the receiving end 104, the IP header is decompressed to restore the original data. 2) Data encryption and decryption: In order to protect the confidentiality of the data, PDCP encrypts the user data. At the receiving end 104, the encrypted data is decrypted to obtain the original data. 3) Integrity protection and verification: In order to ensure the integrity of the data, PDCP performs integrity protection on the user data. At the receiving end 104, the received data is integrity verified. 4) Data transmission: PDCP is responsible for transmitting user data and control signaling between the transmitting end and the receiving end 104. 5) Sequence number maintenance: PDCP assigns a unique sequence number (SN) to each transmitted data PDU so that it can be correctly reordered and delivered in sequence at the receiving end 104.
[0070] Specifically, when the receiving end 104 receives each PDU data packet sent by the transmitting end based on PDCP, it performs the following processing:
[0071] 1) PDCP PDU reception: The receiving end 104 will first receive the PDCP PDU containing user data or control signaling. 2) Sequence number extraction: Extract the PDCP sequence number from the received PDCP PDU. This sequence number is assigned by the PDCP layer of the transmitting end 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 track and manage the received PDUs to ensure the correct reordering and in-order delivery of the data. 4) Data reordering and in-order delivery: Based on the data packet sequence, the receiving end 104 will reorder the received PDUs and deliver them to the upper layer protocol for processing in the correct order.
[0072] S203, if there is a duplicate PDCP sequence number in the first PDCP sequence number in the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number, and forward the PDU data packets 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 to track and manage received PDUs. The size of the window is usually determined according to the system configuration and communication requirements. The sequence number in the PDCP receiving window indicates the PDU range currently expected to be received. Each PDCP sequence number in the PDCP receiving window indicates that the PDU data packet corresponding to the PDCP sequence number is in a state to be forwarded. The data packet corresponding to the PDCP sequence number before the PDCP receiving window is a forwarded data packet. In addition, Figure 3 The PDU forwarded to the upper layer means that the current layer has completed processing and is ready to be forwarded to the upper layer of the network protocol stack for further processing.
[0074] Furthermore, the PDCP SDU receiving window is provided with a set window length, which is a parameter used by the PDCP layer to manage received data. The receiving window size determines the number of PDUs that the PDCP layer can track and manage simultaneously. For example,
[0075] In this embodiment, the window length is set to 2 [pdcp-SN-Size] – 1 ;
[0076] Among them, 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 to facilitate correct reordering and in-order delivery at the receiving end.
[0077] Set the window length to 2 [pdcp-SN-Size] – 1 : This means that the sequence number range of the receive 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 receive window will be 0 to 5095. This fixed-size receive 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 , that is, the receiving range of the current PDCP receiving window is [1500, 1500+2 [pdcp -SN-Size] – 1 ].
[0079] Exemplarily, the first PDCP sequence number in the PDCP receiving window in the data packet sequence has a repeated PDCP sequence number, which means: Figure 3 The two PDCP sequence numbers in are both 1500; 1500 is located in the receiving range of the current PDCP receiving window [1500, 1500+2 [pdcp-SN-Size] – 1] Therefore, it is necessary to deduplicate the PDU data packets of the two PDCP sequence numbers.
[0080] The principle of deduplication is: first forward the PDU data packet corresponding to the sequence number 1500 that arrives first, and then move the PDCP receiving window by 1 sequence number. At this time, the receiving range of the PDCP receiving window is [1501, 1501+2 [pdcp -SN-Size] – 1 ], at this time, if Figure 4 As shown, for the moved PDCP receiving window, the new receiving range of the PDU data packet corresponding to the 1500 sequence number that arrives later and does not fall into the PDCP receiving window is [1501, 1501+2 [pdcp-SN-Size] – 1 ], the PDU data packet is discarded, that is, the two PDU data packets corresponding to the sequence number 1500 are deduplicated.
[0081] It can be understood that the above deduplication processing principle ensures that the PDU data packets corresponding to the duplicate PDCP sequence numbers can be accurately identified and discarded. By first forwarding one of the PDU data packets and moving the receiving window to the next sequence number position, the receiving end can ensure that the duplicate data packets will not be 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 receiving end 104 will forward them in the correct order. The forwarding process usually includes delivering the data to an upper layer protocol (such as an RLC layer) for further processing and transmission.
[0083] Specifically, the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window is forwarded, including: adopting the PDCP out-of-order delivery protocol to forward the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window.
[0084] It is understandable that for each PDU data packet, the receiving end will decide whether to immediately deliver it to the upper layer protocol according to 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 hierarchy of the network protocol stack. 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 completing packet forwarding, the receiver needs to update its internal state information (such as the position of the receiving window, the sequence number of the delivered packets, etc.) in order to track the subsequent received packets. In addition, the receiver may also need to send feedback information to the upper layer protocol or the sender to confirm the successful reception of the packet or request retransmission of the lost packet.
[0086] In the above-mentioned data packet processing method, the receiving end can efficiently manage and forward the received PDU data packets by adding a forwarding sequence and tracking the PDCP sequence number. When a repeated PDCP sequence number is detected, the receiving end can quickly move the receiving window and deduplicate the repeated data packets, thereby avoiding unnecessary retransmission and processing overhead.
[0087] In an exemplary embodiment, Figure 5 As shown, according to the repeated PDCP sequence number, the PDCP receiving window is moved in the data packet sequence to deduplicate the PDU data packets corresponding to the repeated PDCP sequence number, and forward the PDU data packets corresponding to different PDCP sequence numbers, including:
[0088] S501: forward any PDU data packet corresponding to a repeated PDCP sequence number.
[0089] Specifically, yes Figure 3 Any of the two duplicate PDU data packets corresponding to 1500 is forwarded.
[0090] S502, adding 1 to the repeated PDCP sequence number to obtain a new window start sequence number of the PDCP receiving window.
[0091] Specifically, 1500+1=1501, combined with Figure 4 , and set 1501 as the new window starting sequence number of the PDCP receiving window.
[0092] S503, according to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence to deduplicate the unforwarded PDU data packets corresponding to the repeated PDCP sequence numbers, and to forward the PDU data packets corresponding to the PDCP sequence numbers 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 starting sequence number.
[0094] It can be understood that the current window starting sequence number of the PDCP receiving window No. 1501 is moved in the data packet sequence according to the current window starting sequence number. At this time, the window range of the moved PDCP receiving window is [1501, 1501+2 [pdcp-SN-Size] – 1 ].
[0095] In this case, any PDU data packet corresponding to the repeated PDCP sequence number is forwarded, including: forwarding the PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window.
[0096] As shown 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 starting 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 starting sequence number.
[0098] Specifically, the receiving end moves the PDCP receiving window to a new position according to the new window starting sequence number calculated in the previous step. This usually involves updating the starting and ending sequence numbers of the receiving window to ensure that the sequence number range within the window is correct.
[0099] In an implementable manner, when it is determined that the PDCP sequence number in the moved PDCP receiving window meets the window forwarding condition, the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window is forwarded.
[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 is understandable that the receiving end will check whether the sequence number in the moved PDCP receiving window meets the window forwarding condition, that is, whether the number of sequence numbers in the window is equal to the set window length, and there are no duplicate sequence numbers in the window. If these conditions are met, the receiving end will forward the corresponding PDU data packet in the window to the upper layer protocol.
[0102] In another achievable manner, when it is determined that the PDCP sequence number in the moved PDCP receiving window does not satisfy the window forwarding condition, the system continues to wait for receiving each PDU data packet sent by the transmitting end.
[0103] Specifically, if the sequence number in the moved PDCP receiving window does not meet the window forwarding condition (for example, the number of sequence numbers in 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 in the moved PDCP receiving window, if the forwarding rate requirement is not high, the receiving end can deduplicate these 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 will be forwarded to the upper layer protocol, and the upper layer protocol will identify the duplicate data packets and deduplicate them.
[0105] In an exemplary embodiment, a specific embodiment of a data packet processing method is provided, including:
[0106] Assume that pdcp-SN-SizeDL is set to 18 and the PDCP receive window size is set to window=2 18-1 ;
[0107] At the transmitting end 102, the PDCP SN of the data PDU is determined, and the data PDU is simultaneously sent to the receiving end 104 by copying the data PDU to different RLC entities using dual connectivity or carrier aggregation;
[0108] At 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 When ≥RVCD_COUNT-RX_DELIV≥ 0, forward it to the upper layer;
[0110] When RVCD_COUNT-RX_DELIV<0, discard;
[0111] When RVCD_COUNT-RX_DELIV=0 or RVCD_COUNT-RX_DELIV=2 18-1 When the receive window starts, it changes to RX_DELIV+1, and the receive window size remains at 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 displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages 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 carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0113] Based on the same inventive concept, the embodiment of the present application also provides a data packet processing device for implementing the data packet processing method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in the one or more data packet processing device embodiments provided below can refer to the limitations of the data packet processing method above, and will not be repeated here.
[0114] In an exemplary embodiment, Figure 6 As shown, a data packet processing device is provided, comprising: an acquisition module 11, a sequence update module 12 and a deduplication forwarding module 13, wherein:
[0115] The acquisition module 11 is used to obtain each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the sending end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet based on the PDCP duplication protocol at the sending end are the same;
[0116] The sequence updating module 12 is used to add the PDCP sequence number of each PDU data packet to the forwarding sequence of the receiving end to obtain a data packet sequence;
[0117] The deduplication forwarding module 13 is used to move the PDCP receiving window in the data packet sequence according to the repeated PDCP sequence number if there is a duplicate PDCP sequence number in the first PDCP sequence number located in the PDCP receiving window in the data packet sequence, so as to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0118] In one embodiment, the deduplication forwarding module 13 is further used to:
[0119] Forward any PDU data packet corresponding to the duplicate PDCP sequence number;
[0120] The repeated PDCP sequence number is incremented by 1 to obtain a new window start sequence number of the PDCP receiving window;
[0121] According to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence to deduplicate the unforwarded PDU data packets corresponding to the repeated PDCP sequence numbers, and to forward the PDU data packets corresponding to the PDCP sequence numbers in the moved PDCP receiving window.
[0122] In one embodiment, the deduplication forwarding module 13 is further used for:
[0123] The PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window is forwarded.
[0124] In one of the embodiments, the deduplication forwarding module 13 is further used to: move the PDCP receiving window in the data packet sequence according to the new window starting sequence number;
[0125] When it is determined that the PDCP sequence number in the moved PDCP receiving window meets the window forwarding condition, forwarding the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window;
[0126] 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.
[0127] In one of the embodiments, the deduplication forwarding module 13 is further used to: when it is determined that the PDCP sequence number in the moved PDCP receiving window does not meet the window forwarding condition, continue to wait for receiving each PDU data packet sent by the sending end.
[0128] In one of the embodiments, the deduplication forwarding module 13 is further used to: adopt the PDCP out-of-order delivery protocol to forward the PDU data packets corresponding to the PDCP sequence numbers in the moved PDCP receiving window.
[0129] Each module in the above-mentioned data packet processing device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0130] In an exemplary embodiment, a computer device is provided. The computer device may be a terminal, and its internal structure diagram may be as shown in FIG. Figure 7As shown. The 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, and 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 used 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 the operation of the operating system and the computer program in the non-volatile storage medium. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal in a wired or wireless manner, and the wireless manner can be implemented through WIFI, a mobile cellular network, near field communication (NFC) or other technologies. When the computer program is executed by the processor, a data packet processing method is implemented. The display unit of the computer device is used 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, and the input device of the computer device can be a touch layer covering the display screen, or a button, trackball or touchpad set on the computer device shell, or an external keyboard, touchpad or mouse.
[0131] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0132] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0133] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0134] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0135] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0136] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:
[0137] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0138] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0139] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0140] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps:
[0141] Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same;
[0142] Determine the data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet;
[0143] If there is a duplicate PDCP sequence number in the first PDCP sequence number within the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
[0144] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the 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. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0145] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0146] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data packet processing method, characterized in that: Applied to the receiving end, the method includes: Acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the transmitting end based on the packet data convergence protocol PDCP; wherein the PDCP sequence numbers of each PDU data packet obtained by duplicating the same PDU data packet by the transmitting end based on the PDCP duplication protocol are the same; Determining a data packet sequence of the receiving end according to the PDCP sequence number of each PDU data packet; If there is a duplicate PDCP sequence number in the first PDCP sequence number located in the PDCP receiving window in the data packet sequence, the PDCP receiving window is moved in the data packet sequence according to the duplicate PDCP sequence number to deduplicate the PDU data packets corresponding to the duplicate PDCP sequence number and forward the PDU data packets corresponding to different PDCP sequence numbers.
2. The method according to claim 1, characterized in that The step of moving the PDCP receiving window in a data packet sequence according to the repeated PDCP sequence number to deduplicate the PDU data packets corresponding to the repeated PDCP sequence number, and forwarding the PDU data packets corresponding to different PDCP sequence numbers includes: Forwarding any PDU data packet corresponding to the repeated PDCP sequence number; Increment the repeated PDCP sequence number by 1 to obtain a new window starting sequence number of the PDCP receiving window; According to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence to deduplicate the unforwarded PDU data packets corresponding to the repeated PDCP sequence number, and to forward the PDU data packets corresponding to the PDCP sequence number in the moved PDCP receiving window.
3. The method according to claim 2, characterized in that The forwarding processing of any PDU data packet corresponding to the repeated PDCP sequence number includes: The PDU data packet corresponding to the first PDCP sequence number in the PDCP receiving window is forwarded.
4. The method according to claim 2, characterized in that: According to the new window starting sequence number, the PDCP receiving window is moved in the data packet sequence 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 a data packet sequence according to the new window starting sequence number; When it is determined that the PDCP sequence number in the moved PDCP receiving window meets the window forwarding condition, forwarding the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window; 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.
5. The method according to claim 4, characterized in that The method further comprises: When it is determined that the PDCP sequence number in the moved PDCP receiving window does not satisfy the window forwarding condition, continue to wait for receiving each PDU data packet sent by the sending end.
6. The method according to claim 4, characterized in that The forwarding processing of the PDU data packet corresponding to the PDCP sequence number in the moved PDCP receiving window includes: The PDCP out-of-order delivery protocol is adopted to forward the PDU data packets corresponding to the PDCP sequence numbers in the moved PDCP receiving window.
7. A data packet processing device, characterized in that: Configured at the receiving end, the device includes: An acquisition module, used to acquire each protocol data unit PDU data packet and the PDCP sequence number of each PDU data packet sent by the sending end based on the packet data convergence protocol PDCP; wherein 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; A sequence updating module, used for adding the PDCP sequence number of each PDU data packet to the forwarding sequence of the receiving end to obtain a data packet sequence; A deduplication forwarding module is used to move the PDCP receiving window in the data packet sequence according to the repeated PDCP sequence number if there is a duplicate PDCP sequence number in the first PDCP sequence number located in the PDCP receiving window in the data packet sequence, so as to deduplicate the PDU data packets corresponding to the repeated PDCP sequence number 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, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Receiving method and communication equipment
CN110324851A
Superframe number (HFN) resynchronization of packet data convergence protocol (PDCP) protocol data units
CN118614019A
Novel insulin analog and use thereof
KR1020210109491A
Method for sending information, method for receiving information, PDCP entity, and computer storage medium
WO2018108127A1
Data receiving method and apparatus, and a network-side device and terminal device
WO2024114536A1