Data processing method and apparatus, terminal, and network-side device
By polling and retransmitting or reporting status when data packets meet certain conditions at both the sending and receiving ends, the problem of data packet synchronization in multimodal services is solved, achieving better synchronization and resource utilization.
Patent Information
- Application Number
- PCT/CN2025/109234
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-25
- Filing Date
- 2025-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Existing technologies cannot effectively guarantee the synchronization between related data packets in multimodal services, especially when relative delay exceeds the time limit, which can easily lead to packet loss and resource waste.
When the first data packet and the second data packet meet certain conditions, the sending end triggers polling and/or retransmission of the second data packet; when the receiving end meets the conditions, it sends a status report of the second data packet to ensure the synchronization of related data packets.
By timely polling and retransmission or status reporting, packet loss due to relative delay timeout is avoided, ensuring the synchronization between related data packets and reducing the waste of air interface resources.
Smart Images

Figure CN2025109234_29012026_PF_FP_ABST
Abstract
Description
Data processing methods, devices, terminals and network-side equipment
[0001] Cross-reference to related applications
[0002] This application claims priority to Chinese Patent Application No. 202411007871.6, filed in China on July 25, 2024, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This application belongs to the field of communication technology, specifically relating to a data processing method, apparatus, terminal, and network-side equipment. Background Technology
[0004] For multimodal services, some often include multiple sub-services, such as video, haptic, and audio. The data packets of these sub-services often have some correlation; for example, their relative latency needs to be below a certain threshold to ensure synchronization. To optimize multimodal services, some optimizations have been proposed, such as notifying the network to speed up scheduling and optimizing the logical channel priority during uplink resource filling. However, these optimizations cannot adequately guarantee the synchronization between related data packets. Summary of the Invention
[0005] This application provides a data processing method, apparatus, terminal, and network-side device that can solve the problem of how to better ensure the synchronization between related data packets.
[0006] Firstly, a data processing method is provided, executed by the sending end, the method comprising:
[0007] When the first data packet and the second data packet meet the first condition, the sending end triggers polling and / or retransmission of the second data packet; wherein the first data packet and the second data packet are associated.
[0008] Secondly, a data processing method is provided, executed by the receiving end, the method comprising:
[0009] When the first data packet and the second data packet meet the second condition, the receiving end sends a status report on the second data packet; wherein the first data packet and the second data packet are associated.
[0010] Thirdly, a data processing apparatus is provided for use at a transmitting end, comprising:
[0011] The processing module is configured to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet meet a first condition; wherein the first data packet and the second data packet are associated.
[0012] Fourthly, a data processing apparatus is provided for use at a receiving end, comprising:
[0013] The sending module is used to send a status report on the second data packet when the first data packet and the second data packet meet the second condition; wherein the first data packet and the second data packet are associated.
[0014] Fifthly, a data processing apparatus is provided, the apparatus being configured to perform the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.
[0015] In a sixth aspect, a terminal is provided, the terminal including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect, or implementing the steps of the method as described in the second aspect.
[0016] In a seventh aspect, a terminal is provided, including a processor and a communication interface. For example, when the terminal is a sending end, the processor is used to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet meet a first condition; or, when the terminal is a receiving end, the communication interface is used to send a status report of the second data packet when the first data packet and the second data packet meet a second condition; the first data packet and the second data packet are associated.
[0017] Eighthly, a network-side device is provided, the network-side device including a processor and a memory, the memory storing a program or instructions executable on the processor, the program or instructions, when executed by the processor, implementing the steps of the method as described in the first aspect, or implementing the steps of the method as described in the second aspect.
[0018] In a ninth aspect, a network-side device is provided, including a processor and a communication interface. For example, when the network-side device is a transmitter, the processor is used to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet meet a first condition; or, when the network-side device is a receiver, the communication interface is used to send a status report of the second data packet when the first data packet and the second data packet meet a second condition; the first data packet and the second data packet are associated.
[0019] In a tenth aspect, a readable storage medium is provided, on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect, or implement the steps of the method described in the second aspect.
[0020] Eleventhly, a wireless communication system is provided, comprising: a terminal and a network-side device; wherein, when the terminal is a transmitting end and the network-side device is a receiving end, the terminal can be used to perform the steps of the method described in the first aspect, and the network-side device can be used to perform the steps of the method described in the second aspect; or, when the terminal is a receiving end and the network-side device is a transmitting end, the terminal can be used to perform the steps of the method described in the second aspect, and the network-side device can be used to perform the steps of the method described in the first aspect.
[0021] In a twelfth aspect, a chip is provided, the chip including a processor and a communication interface coupled to the processor, the processor being configured to run programs or instructions to implement the method as described in the first aspect, or to implement the method as described in the second aspect.
[0022] In a thirteenth aspect, a computer program / program product is provided, which is stored in a storage medium and is executed by at least one processor to implement the steps of the method as described in the first aspect, or to implement the steps of the method as described in the second aspect.
[0023] According to the solution of this application embodiment, when the first data packet and the second data packet with an association meet certain conditions, the sending end can directly trigger the polling and / or retransmission of the second data packet, thereby speeding up the polling and / or retransmission of the second data packet, avoiding packet loss due to relative delay timeout, and thus better ensuring the synchronization between related data packets. Attached Figure Description
[0024] Figure 1 shows a block diagram of a wireless communication system that can be applied to an embodiment of this application;
[0025] Figure 2 is a flowchart of a data processing method provided in an embodiment of this application;
[0026] Figure 3 is one of the flowcharts of the data processing process in a specific embodiment of this application;
[0027] Figure 4 is a second flowchart of the data processing procedure in a specific embodiment of this application;
[0028] Figure 5 is a flowchart of another data processing method provided in an embodiment of this application;
[0029] Figure 6 is a flowchart of the data processing procedure in a specific embodiment of this application;
[0030] Figure 7 is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0031] Figure 8 is a schematic diagram of another data processing device provided in an embodiment of this application;
[0032] Figure 9 is a schematic diagram of the structure of a communication device provided in an embodiment of this application;
[0033] Figure 10 is a schematic diagram of the structure of a terminal provided in an embodiment of this application;
[0034] Figure 11 is a schematic diagram of the structure of a network-side device provided in an embodiment of this application. Detailed Implementation
[0035] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0036] The terms "first," "second," etc., used in this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of the same class, not limited in number; for example, the first object can be one or more. Furthermore, "or" in this application indicates at least one of the connected objects. For example, the scope of protection for "A or B" covers at least three scenarios: Scenario 1: including A but not B; Scenario 2: including B but not A; Scenario 3: including both A and B. In addition, the terms "A and / or B," "at least one of A and B," and "at least one of A or B" also cover at least the above three scenarios. The character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0037] The term "instruction" in this application can be either a direct instruction (or explicit instruction) or an indirect instruction (or implicit instruction). A direct instruction can be understood as one in which the sender explicitly informs the receiver of specific information, the operation to be performed, or the requested result, etc., in the instruction sent. An indirect instruction can be understood as one in which the receiver determines the corresponding information based on the instruction sent by the sender, or makes a judgment and determines the operation to be performed or the requested result, etc., based on the judgment result.
[0038] It is worth noting that the technologies described in this application are not limited to Long Term Evolution (LTE) / LTE-Advanced (LTE-A) systems, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency-Division Multiple Access (SC-FDMA), or other systems. The terms "system" and "network" in this application are often used interchangeably, and the described technologies can be used with the systems and radio technologies mentioned above, as well as with other systems and radio technologies. The following description describes New Radio (NR) systems for illustrative purposes, and the term NR is used in most of the following description; however, these technologies can also be applied to systems other than NR systems, such as 6th generation (6G) radio systems. th Generation 6G communication system.
[0039] Figure 1 shows a block diagram of a wireless communication system applicable to an embodiment of this application. The wireless communication system includes a terminal 11 and a network-side device 12. The terminal 11 can be a mobile phone, tablet computer, laptop computer, notebook computer, personal digital assistant (PDA), handheld computer, netbook, ultra-mobile personal computer (UMPC), mobile internet device (MID), augmented reality (AR), virtual reality (VR) device, robot, wearable device, flight vehicle, vehicle user equipment (VUE), shipboard equipment, pedestrian user equipment (PUE), smart home (home devices with wireless communication capabilities, such as refrigerators, televisions, washing machines, or furniture), game console, personal computer (PC), ATM, or self-service machine, etc. Wearable devices include: smartwatches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart chains, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among these, in-vehicle devices can also be referred to as in-vehicle terminals, in-vehicle controllers, in-vehicle modules, in-vehicle components, in-vehicle chips, or in-vehicle units, etc. It should be noted that the specific type of terminal 11 is not limited in this application embodiment. Network-side equipment 12 may include access network equipment or core network equipment, wherein access network equipment may also be referred to as Radio Access Network (RAN) equipment, radio access network function, or radio access network unit. Access network equipment may include base stations, Wireless Local Area Network (WLAN) access points (AS), or Wireless Fidelity (WiFi) nodes, etc.The term "base station" can be referred to as Node B (NB), Evolved Node B (eNB), Next Generation Node B (gNB), New Radio Node B (NR Node B), Access Point, Relay Base Station (RBS), Serving Base Station (SBS), Base Transceiver Station (BTS), Radio Base Station, Radio Transceiver, Basic Service Set (BSS), Extended Service Set (ESS), Home Node B (HNB), Home Evolved Node B, Transmit / Receive Point (TRP), or any other suitable term in the relevant field, provided that the same technical effect is achieved. The term "base station" is not limited to any specific technical terminology.
[0040] The data processing method, apparatus, terminal, and network-side device provided in this application will be described in detail below with reference to the accompanying drawings and through some embodiments and application scenarios.
[0041] Please refer to Figure 2, which is a flowchart of a data processing method provided in an embodiment of this application. This method is executed by a sending end, which can be a terminal or a network-side device. As shown in Figure 2, the method includes the following steps:
[0042] Step 21: When the first data packet and the second data packet meet the first condition, the sending end triggers polling and / or retransmission of the second data packet; the first data packet and the second data packet are associated.
[0043] In this embodiment of the application, the first data packet and the second data packet are data packets from different services. For example, the first data packet and the second data packet can be data packets from two different sub-services in a multimodal service, such as Extended Reality (XR) service.
[0044] The correlation between the first data packet and the second data packet can be that the relative delay between the first data packet and the second data packet is less than a certain threshold.
[0045] Optionally, the first and second data packets can reside in the same flow or the same radio bearer (RB). This flow can be, for example, a Quality of Service (QoS) flow, and a flow can be mapped to one or more RBs. This is suitable for scenarios where data packets from two services are mapped to a single Flow / Packet Data Convergence Protocol (PDCP) / Radio Link Control (RLC) protocol, and polling / retransmission is triggered for associated data packets of the RBs corresponding to the same flow.
[0046] Optionally, the first data packet and the second data packet may reside in two different flows (e.g., QoS Flow) or two different Resource Blocks (RBs), and there may be a relative latency relationship between the two flows or the two RBs. This is applicable to scenarios where data packets of two services are mapped to different flows / PDCP / RLC, and polling / retransmission is triggered for associated data packets of RBs corresponding to different flows.
[0047] For polling, polling bits (such as polling bit) can be sent to notify the receiver to send a status report to the sender.
[0048] According to the solution of this application embodiment, when the first data packet and the second data packet with an association meet certain conditions, the sending end can directly trigger the polling and / or retransmission of the second data packet, thereby speeding up the polling and / or retransmission of the second data packet, avoiding packet loss due to relative delay timeout, and thus better ensuring the synchronization between related data packets.
[0049] In this embodiment, the sending end can trigger polling / retransmission optimization processing based on the relative delay budget. For example, the sending end PDCP maintains the relative delay budget, and when it is about to expire, it notifies RLC to trigger early retransmission / polling. Step 21 above may include at least one of the following:
[0050] (1) When the sending end has not received an acknowledgment (ACK) and / or negative acknowledgment (NACK) message for the sent second data packet after the first data packet has been correctly received and the first timer has expired, or when the sending end has not received an ACK and / or NACK message for the sent second data packet within the first time after the first data packet has been correctly received, the sending end triggers polling of the second data packet; the first timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, the first timer can be started after a data packet such as packet1 of RB1 corresponding to flow 1 is correctly received; if no ACK / NACK message is received for packet2 of RB2 corresponding to flow 2 (this packet2 has been sent and is associated with packet1) when the first timer expires, the sending end triggers polling of packet2;
[0051] (2) When the sending end has sent the first data packet and the second timer expires without receiving the ACK and / or NACK information of the sent second data packet, or when the sending end has not received the ACK and / or NACK information of the sent second data packet within a second time after the first data packet has been sent, the sending end triggers polling of the second data packet; the second timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, the second timer can be started after packet1 of RB1 corresponding to flow 1 is sent; if the second timer expires without receiving the ACK / NACK information of packet2 of RB2 corresponding to flow 2 (this packet2 has been sent and is associated with packet1), then polling of packet2 is triggered;
[0052] (3) When the sending end has not received the ACK information of the sent second data packet when the first data packet has been correctly received and the third timer expires, or when the sending end has not received the ACK information of the sent second data packet within the third time after the first data packet has been correctly received, the retransmission of the second data packet is triggered; the third timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, and the third timer can be started after packet1 of RB1 corresponding to flow 1 is correctly received; if the ACK information of packet2 of RB2 corresponding to flow 2 (this packet2 has been sent and is associated with packet1) is not received when the third timer expires, the retransmission of packet2 is triggered;
[0053] (4) When the sending end has sent the first data packet and the fourth timer expires without receiving the ACK information of the sent second data packet, or when the sending end has not received the ACK information of the sent second data packet within the fourth time after the first data packet has been sent, the retransmission of the second data packet is triggered; the fourth timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, and the fourth timer can be started after packet1 of RB1 corresponding to flow 1 is sent; if the fourth timer expires without receiving the ACK information of packet2 of RB2 corresponding to flow 2 (this packet2 has been sent and is associated with packet1), the retransmission of packet2 is triggered.
[0054] Therefore, by means of (1) to (4) above, the sending end can promptly identify that the second data packet is about to expire due to the successful reception / sending of the first data packet, thereby speeding up the polling and / or retransmission of the second data packet and avoiding packet loss or waste of air interface resources due to relative delay expiration.
[0055] Optionally, in (1) to (4) above, the first timer, the second timer, the third timer and the fourth timer may be preset or agreed upon by the protocol, or may be configured by the network side; the first time, the second time, the third time and the fourth time may be preset or agreed upon by the protocol, or may be configured by the network side; there is no limitation in this regard.
[0056] Optionally, if the sending end is a terminal, the above data processing method may further include:
[0057] The terminal receives configuration information; wherein the configuration information is used to configure at least one of the following: a first timer, a second timer, a third timer, and a fourth timer, and the duration of any one of the first timer, second timer, third timer, and fourth timer is less than the relative delay budget. Therefore, by configuring the duration of the corresponding timer to be less than the relative delay budget, it can be ensured that the relative delay of the associated data packets meets the requirements of the relative delay budget, avoiding packet loss due to relative delay exceeding the budget.
[0058] Optionally, the above data processing method may also include at least one of the following:
[0059] 1) When the sending end receives the NACK information of the sent second data packet after the first data packet has been correctly received and the third timer has expired, or when it receives the NACK information of the sent second data packet after the first time, the priority of the second data packet in the data packets to be transmitted and retransmitted is increased; wherein, the first time is after the time of receiving the first data packet, and the first time is separated from the time of receiving by a first time interval; the first time interval can be preset or agreed upon by the protocol, or it can be configured by the network side;
[0060] 2) When the sending end receives the NACK information of the sent second data packet after the first data packet has been sent and the fourth timer has expired, or when it receives the NACK information of the sent second data packet after the second time, the priority of the second data packet in the data packets to be transmitted and retransmitted is increased; wherein, the second time is after the sending time of the first data packet, and the second time is separated from the sending time by a second time interval; the second time interval can be preset or agreed upon by the protocol, or it can be configured by the network side.
[0061] By increasing the priority of the second data packet in the data packets to be transmitted, the second data packet can be transmitted as early as possible, thereby avoiding packet loss due to relative delay timeout.
[0062] In one optional embodiment, taking the sending end as the terminal and processing flowA and flowB with a relative delay relationship as an example, the terminal can trigger RLC polling / retransmission optimization processing according to the relative delay budget; as shown in Figure 3, the specific data processing process may include:
[0063] S1: The network side configures timer T1 and / or timer T2 for flowA and flowB, which have a relative time delay relationship;
[0064] S2: Optionally, the PDCP or RLC of flowA in the terminal monitors the data transmission of flowB associated with flowA. If data packet 1 of the RB corresponding to flowB has been correctly received (e.g., ACK information received from the receiver) or has been sent (e.g., authorization received, data packet 1 is submitted to the underlying layer for transmission), and data packet 2 associated with data packet 1 of the RB corresponding to flowA has been sent, and no RLC ACK / NACK information for data packet 2 is received when timer T1 expires, then the terminal triggers polling of data packet 2 and updates the variable POLL_SN to the largest sequence number (SN) in the transmission of flowA.
[0065] S3: Optional, the PDCP or RLC of flowA in the terminal monitors the data transmission of flowB associated with flowA. If data packet 3 of the RB corresponding to flowB has been correctly received (e.g., ACK information received from the receiver) or has been sent (e.g., authorization received, data packet 3 is submitted to the lower layer for transmission), and data packet 4 associated with data packet 3 of the RB corresponding to flowA has been sent, and no RLC ACK information for data packet 4 is received when timer T2 expires, then the terminal triggers retransmission of data packet 4 and updates or does not update the retransmission count counter.
[0066] Optionally, if the terminal receives the RLC NACK information for data packet 4 after timer T2 expires, and data packet 4 is still waiting to be transmitted in the retransmission buffer, the priority of data packet 4 in this logical channel and all other logical channels can be increased to transmit data packet 4 as soon as possible and avoid packet loss due to relative delay expiration.
[0067] In this way, the sending end can promptly identify that some data packets in flow A are about to expire due to the successful transmission / reception of data packets in another flow B related to flow A. By accelerating polling or actively retransmitting these data packets in flow A, the sending end can avoid packet loss or waste of air interface resources due to relative delay expiration.
[0068] Optionally, step 21 above may include at least one of the following:
[0069] (a) When the sender triggers polling of the first data packet, it also triggers polling of the second data packet; the polling of the first data packet is triggered because the packet delay budget (PDB) is about to expire;
[0070] (b) The sending end triggers polling of the second data packet when it has already triggered polling of the first data packet and the fifth timer expires without sending polling of the second data packet, or when it fails to send polling of the second data packet within the fifth time after triggering polling of the first data packet; the polling of the first data packet is triggered because the PDB is about to expire; the fifth timer is used by the sending end to monitor the relative delay between polling of related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, and the fifth timer can be started after polling of packet1 of RB1 corresponding to flow 1; if no polling of packet2 of RB2 corresponding to flow 2 (this packet2 is associated with packet1) is sent when the fifth timer expires, then polling of packet2 is triggered;
[0071] (c) When the sending end has triggered polling of the first data packet and the number of data packets following the second data packet that has been correctly received after the sixth timer expires is greater than or equal to a first value, i.e., a small number of data packets following the second data packet have been received, or when the number of data packets following the second data packet that has been correctly received after the third time is greater than or equal to the first value, i.e., a certain amount of data packets following the second data packet have been received, the sending end triggers polling of the second data packet; wherein, the polling of the first data packet is triggered because the data packet delay budget (PDB) is about to expire; the sixth timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; the third time is located after the triggering time of polling the first data packet, and the third time is separated from the triggering time by a third time interval; the first value can be preset or agreed upon by the protocol, or it can be configured by the network side; the third time interval can be preset or agreed upon by the protocol, or it can be configured by the network side.
[0072] Therefore, by using (a) to (c) above, polling of other data packets associated with a data packet can be triggered in a timely manner when a data packet has been sent, thereby better ensuring the synchronization between related data packets.
[0073] Optionally, in (a) to (c) above, the fifth timer and the sixth timer may be preset or agreed upon by the protocol, or may be configured by the network side; the fifth time may be preset or agreed upon by the protocol, or may be configured by the network side; there is no limitation in this regard.
[0074] Optionally, step 21 above may include at least one of the following:
[0075] (d) When the sending end triggers the retransmission of the first data packet, it also triggers the retransmission of the second data packet; the retransmission of the first data packet is triggered because the data packet delay budget (PDB) is about to expire.
[0076] (e) The sender triggers the retransmission of the second data packet when the retransmission of the first data packet has been triggered and the second data packet has not been retransmitted when the seventh timer expires, or when the second data packet has not been retransmitted within the seventh time after the retransmission of the first data packet is triggered; the retransmission of the first data packet is triggered because the data packet delay budget (PDB) is about to expire; the seventh timer is used by the sender to monitor the relative delay between retransmissions of related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, and the seventh timer can be started after packet 1 of RB1 corresponding to flow 1 is retransmitted; if packet 2 of RB2 corresponding to flow 2 (this packet 2 is associated with packet 1) is not retransmitted when the seventh timer expires, the retransmission of packet 2 is triggered;
[0077] (f) When the sending end has triggered a retransmission of the first data packet and the number of data packets following the second data packet that have been correctly received after the expiration of the eighth timer is less than or equal to the second value, i.e., a small number of data packets following the second data packet have been received, or when the number of data packets following the second data packet that have been correctly received after the fourth time is less than or equal to the second value, i.e., a small number of data packets following the second data packet have been received, the sending end triggers a retransmission of the second data packet; wherein, the retransmission of the first data packet is triggered because the data packet delay budget (PDB) is about to expire; the eighth timer is used by the sending end to monitor the relative delay between related data packets of the same RB or different RBs; the fourth time is located after the triggering time of the retransmission of the first data packet, and the fourth time is separated from the triggering time by a fourth time interval; the second value can be preset or agreed upon by the protocol, or it can be configured by the network side; the fourth time interval can be preset or agreed upon by the protocol, or it can be configured by the network side.
[0078] Optionally, after triggering the retransmission of the second data packet, the count of the retransmission count of the second data packet can be incremented by one or not.
[0079] Therefore, by using (d) to (f) above, the retransmission of other related data packets can be triggered in a timely manner when a data packet has been retransmitted. For example, if a data packet in a flow is skipped or relaxed during retransmission, the corresponding data packet in another flow with a relative time delay relationship will also be skipped or relaxed during retransmission, thereby better ensuring the synchronization between related data packets.
[0080] Optionally, in (d) to (f) above, the seventh timer and the eighth timer may be preset or agreed upon by the protocol, or may be configured by the network side; the seventh time may be preset or agreed upon by the protocol, or may be configured by the network side; there is no limitation in this regard.
[0081] In one optional embodiment, taking the sending end as the terminal and processing flowA and flowB with a relative time delay relationship as an example, as shown in Figure 4, the specific data processing process may include:
[0082] S1: The network side configures timer T3 and / or timer T4 for flowA and flowB, which have a relative time delay relationship;
[0083] S21-S22: Optional, if S21: Data packet 5 of the RB corresponding to flowA is polled due to the PDB being about to expire, then S22: The RLC of flowB in the terminal triggers polling on data packet 6 of flowB associated with data packet 5, or if polling on data packet 6 is not sent when timer T3 expires, polling on data packet 6 is triggered.
[0084] S31-S32: Optional. If S31: Data packet 5 of the RB corresponding to flowA is actively retransmitted due to the PDB being about to expire, then S32: The RLC of terminal flowB triggers a retransmission of data packet 6 associated with data packet 5 of flowB, or if data packet 6 is not sent when timer T4 expires, a retransmission of data packet 6 is triggered; the retransmission count counter is incremented by one or not incremented by one.
[0085] In this way, the sending end can promptly identify that some data packets in flow A are about to expire due to accelerated retransmission of data packets in another flow B related to flow A. Thus, by accelerating polling or actively retransmitting these data packets in flow A, packet loss or waste of air interface resources due to relative delay expiration can be avoided.
[0086] Please refer to Figure 5, which is a flowchart of a data processing method provided in an embodiment of this application. This method is executed by a receiving end, which can be a terminal or a network-side device. As shown in Figure 5, the method includes the following steps:
[0087] Step 51: When the first data packet and the second data packet meet the second condition, the receiving end sends a status report for the second data packet; the first data packet and the second data packet are associated.
[0088] In this embodiment of the application, the first data packet and the second data packet are data packets from different services. For example, the first data packet and the second data packet can be data packets from two different sub-services in a multimodal service, such as extended reality (XR) service.
[0089] The correlation between the first data packet and the second data packet can be that the relative delay between the first data packet and the second data packet is less than a certain threshold.
[0090] The status report may include ACK and / or NACK information for the received second data packet.
[0091] Optionally, the first data packet and the second data packet can reside in the same flow (e.g., QoS Flow) or the same RB. A flow can be mapped to one or more RBs. This is applicable to scenarios where data packets from two services are mapped to a single flow / PDCP / RLC, and polling / retransmission is triggered for associated data packets of the RB corresponding to the same flow.
[0092] Optionally, the first data packet and the second data packet may reside in two different flows (e.g., QoS Flow) or two different Resource Blocks (RBs), and there may be a relative latency relationship between the two flows or the two RBs. This is applicable to scenarios where data packets of two services are mapped to different flows / PDCP / RLC, and polling / retransmission is triggered for associated data packets of RBs corresponding to different flows.
[0093] According to the solution of this application embodiment, when the first data packet and the second data packet with an association meet certain conditions, the receiving end can directly send a status report for the second data packet, thereby speeding up the sending of the status report or canceling the retransmission of the second data packet, avoiding the waste of air interface resources due to packet loss or unnecessary retransmission caused by relative delay overdue, and thus better ensuring the synchronization between related data packets.
[0094] In this embodiment, the receiving end can trigger the early transmission of the status report based on a timer associated with the relative delay budget. Step 51 above may include:
[0095] When the receiving end has correctly received the first data and has not received the second data packet when the ninth timer expires, or when it has not received the second data packet within the ninth time after correctly receiving the first data, it sends a status report for the second data packet. The ninth timer is used by the receiving end to monitor the relative delay between the reception of associated data packets of the same RB or different flow RBs; for example, if a multimodal service includes flow 1 and flow 2, the ninth timer can be started after packet 1 of RB1 corresponding to flow 1 is correctly received; if packet 2 of RB2 corresponding to flow 2 (this packet 2 is associated with packet 1) is not received when the ninth timer expires, or if no data is received from RB2 corresponding to flow 2, a status report (such as ACK / ANCK information) for packet 2 is sent; or, if no status report for RB2 corresponding to flow 2 is sent within the time from the start of the ninth timer to its expiration, a status report for RB2 corresponding to flow 2 is triggered.
[0096] The ninth timer and the ninth time can be preset or agreed upon by the protocol, or they can be configured by the network side; there is no limitation on this.
[0097] This allows for faster sending of status reports for the second data packet or cancellation of retransmission of the second data packet, avoiding wasted air interface resources due to packet loss or unnecessary retransmission caused by relative delay exceeding the time limit.
[0098] Optionally, the aforementioned status report for sending the second data packet may include any of the following:
[0099] ① When the sequence number of the second data packet is less than the receiver's highest status report variable (such as RX_Highest_status), send ACK or NACK information for the second data packet, or send ACK or NACK information for each data packet in the first data; wherein, the first data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the receiver's highest status report variable, and the first sequence number is the next sequence number of the data packets that have been received correctly in succession;
[0100] ② When the sequence number of the second data packet is greater than or equal to the receiver's highest status report variable (e.g., RX_Highest_status) and less than the receiver's next status trigger variable (e.g., RX_Next_Status_Trigger), send ACK or NACK information for the second data packet, or send ACK or NACK information for each data packet in the second data; wherein the second data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to a first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of data packets that have been received correctly in succession;
[0101] ③ When the sequence number of the second data packet is greater than or equal to the next status trigger variable (such as RX_Next_Status_Trigger) of the receiving end, send ACK or NACK information for the second data packet, or send ACK or NACK information for each data packet in the second data; wherein the second data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of the data packets that have been received correctly in succession;
[0102] ④ Send ACK or NACK information for each data packet in the third data; wherein the third data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of the data packets that have been received correctly in succession.
[0103] This allows for the selective reporting of ACK or NACK information for the required data packets, based on the sequence number of the second data packet.
[0104] Understandably, the aforementioned receiver's highest status report variable (e.g., RX_Highest_status) represents the highest SN value that the receiver can send for a status report. The aforementioned receiver's next status trigger variable (e.g., RX_Next_Status_Trigger) represents the SN value of the data packet that triggers the receiver's next status report.
[0105] Optionally, step 51 above may further include: when the receiving end has correctly received the first data and has not received the second data packet when the tenth timer expires, or when it has not received the second data packet within the tenth time after correctly receiving the first data, sending ACK information for the second data packet, or sending ACK information for all data packets whose sequence number is less than or equal to the sequence number of the second data packet. The tenth timer is used by the receiving end to monitor the relative delay between the reception of related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, so the tenth timer can be started after packet1 of RB1 corresponding to flow 1 is correctly received; if packet2 of RB2 corresponding to flow 2 (this packet2 is associated with packet1) is not received when the tenth timer expires, or if data of RB2 corresponding to flow 2 is not received, then ACK information for the relevant data packet is reported; or, if no status report of RB2 corresponding to flow 2 is sent within the time from the start of the tenth timer to its expiration, then a status report for RB2 corresponding to flow 2 is triggered.
[0106] The tenth timer and tenth time can be preset or agreed upon by the protocol, or configured by the network side; there is no limitation on this. Therefore, by reporting the ACK information of the relevant data packets, i.e., directly confirming the correct reception of the relevant data packets, the retransmission of these data packets can be cancelled, thereby avoiding the waste of air interface resources due to unnecessary retransmissions.
[0107] Optionally, step 51 above may also include any of the following:
[0108] a) When the receiving end sends a status report for the first data packet, it also sends a status report for the second data packet; the status report for the first data packet is sent because the data packet delay budget (PDB) is about to expire;
[0109] b) The receiving end sends a status report for the second data packet when it has already sent a status report for the first data packet and the eleventh timer expires but has not sent a status report for the second data packet, or when it has not sent a status report for the second data packet within the eleventh time after sending a status report for the first data packet; the status report for the first data packet is sent because the data packet delay budget (PDB) is about to expire; the eleventh timer is used by the receiving end to monitor the relative delay between status reports of related data packets of the same RB or different RBs; for example, a multimodal service includes flow 1 and flow 2, and the eleventh timer can be started after the status report of packet 1 of RB1 corresponding to flow 1 is sent; if the status report of packet 2 of RB2 corresponding to flow 2 (this packet 2 is associated with packet 1) is not sent when the eleventh timer expires, or if the status report of data of RB2 corresponding to flow 2 is not sent, the status report of packet 2 is sent directly; or, if the status report of RB2 corresponding to flow 2 is not sent within the time from the start of the eleventh timer to its expiration, the status report of RB2 corresponding to flow 2 is triggered.
[0110] The eleventh timer and eleventh time can be preset or agreed upon by the protocol, or configured by the network side; there is no limitation on this. Therefore, by using a) to b) above, the transmission of status reports can be accelerated, thereby better ensuring the synchronization between related data packets.
[0111] Optionally, step 51 above may also include any of the following:
[0112] c) When the receiving end sends the ACK information for the first data packet, it also sends the ACK information for the second data packet; the ACK information for the first data packet is sent because the data packet delay budget (PDB) has expired.
[0113] d) When the receiving end has sent an ACK message for the first data packet and has not correctly received the second data packet when the twelfth timer expires, or when it has not correctly received the second data packet within the twelfth time after sending the acknowledgment message for the first data packet, it sends an ACK message for the second data packet; the ACK message for the first data packet is sent because the data packet delay budget (PDB) has expired; the twelfth timer is used by the receiving end to monitor the relative delay between the reception of related data packets of the same RB or different RBs or between two streams; for example, a multimodal service includes stream 1 and stream 2, and the twelfth timer can be started after packet 1 of RB1 corresponding to stream 1 is correctly received; if packet 2 of RB2 corresponding to stream 2 (this packet 2 is associated with packet 1) is not correctly received when the twelfth timer expires, or if the data of RB2 corresponding to stream 2 is not correctly received, then an ACK message for packet 2 is sent, that is, directly confirming that packet 2 has been correctly received; or, if no status report of RB2 corresponding to stream 2 is sent within the time from the start of the twelfth timer to its expiration, then a status report for RB2 corresponding to stream 2 is triggered.
[0114] The twelfth timer and the twelfth time can be preset or agreed upon by the protocol, or they can be configured by the network side; there is no limitation on this. Therefore, by using c) to d) above, the retransmission of the second data packet can be canceled / abandoned, thereby avoiding the waste of air interface resources due to unnecessary retransmissions.
[0115] In one optional embodiment, taking the receiving end as a network-side device and processing flowA and flowB with a relative time delay relationship as an example, as shown in Figure 6, the specific data processing process may include:
[0116] S1: Define timer T5 and / or timer T6 on the network side;
[0117] S2: Optional, the network side monitors the data reception status of two associated flows, flow A and flow B. When the relative delay of the associated data packets of the RBs corresponding to flow A and flow B exceeds the T5 time period, specifically when a data packet of the RB corresponding to flow A is correctly received, timer T5 is started to monitor whether the data packet corresponding to flow B is correctly received. If the data packet corresponding to SN=x of flow B is not received before timer T5 expires, the RX_Highest_Status and RX_Next_Status_Trigger of flow B RLC are updated, and the status report of the relevant data packet is reported, for example:
[0118] - If x < RX_Highest_status, trigger a status report, such as: report the ACK or NACK information of packet x, or report the ACK or NACK information of all packets where RX_Next (i.e., the next SN of the continuously and correctly received packets) <= SN < RX_Highest_Status. In addition, the variable ACK_SN can be set to the SN of the first RLC SDU that has not been correctly received and is greater than RX_Highest_Status.
[0119] - If RX_Highest_status < x < RX_Next_Status_Trigger, trigger a status report, such as: report the ACK or NACK information of packet x, or report the ACK or NACK information of all packets where RX_Next <= SN < x. In addition, the variable ACK_SN can be set to the SN of the first RLC SDU that has not been correctly received and is greater than x, and the variable RX_Highest_status is updated to the SN of the first RLC SDU that has not been correctly received and is greater than x.
[0120] - If x > RX_Next_Status_Trigger, trigger a status report, such as: report the ACK or NACK information of packet x, or report the ACK or NACK information of all packets where RX_Next <= SN < x; in addition, the variable ACK_SN can be set to the SN of the first RLC SDU that has not been correctly received and is greater than x. If there is still an SN GAP (interval) between x and RX_Next_Highest, then the variable RX_Highest_status is updated to the SN of the first RLC SDU that has not been correctly received and is greater than x, and the variable RX_Next_Status_Trigger is updated to RX_Next_Highest, and timer T5 is restarted.
[0121] S3: Optionally, the receiving end can monitor the data reception of two associated flows, flow A and flow B. When the relative delay of the associated packets of the RBs corresponding to flow A and flow B exceeds the duration of T6. Specifically, when a certain packet of the RB corresponding to flow A is correctly received, start timer T6 to monitor whether the corresponding packet of flow B is correctly received. If the corresponding packet of flow B with SN = x has not been received when timer T6 expires, then trigger the sending of the ACK of packet x, or trigger the sending of the ACK of all packets where SN <= x.
[0122] In one optional embodiment, taking the receiver as a network-side device and processing flows A and B with a relative time delay relationship as an example, the receiver can monitor the reception status of the two flows A and B. When a data packet of the RB corresponding to flow A triggers a status report to accelerate retransmission due to PDB expiration, or sends a status report=ACK to notify the sender to cancel retransmission by identifying the expiration through PDB, a status report is also triggered for the data packet associated with flow B to accelerate retransmission or wait for a preset time. If no status report is sent within the preset time, a status report is triggered. If the receiver triggers a status report=ACK to cancel retransmission for flow A, a status report=ACK is also triggered for the data packet associated with flow B, or a preset time is waited. If the corresponding data packet is not correctly received within the preset time, a status report=ACK is triggered.
[0123] In this way, the receiving end can identify that some data packets of flow A are about to expire due to the expiration of data packets of another flow B related to flow A or accelerated retransmission. By accelerating the sending of status reports for these data packets or canceling retransmission, the receiving end can avoid wasting air interface resources due to packet loss or unnecessary retransmission caused by relative delay expiration.
[0124] The data processing method provided in this application can be executed by a data processing device. This application uses an example of a data processing device executing a data processing method to illustrate the data processing apparatus provided in this application.
[0125] This application provides a data processing apparatus. As an example, the data processing apparatus may be a communication device or a component within a communication device, such as a chip. The communication device may be a terminal, a network-side device, or a server, etc. Exemplarily, the terminal may include, but is not limited to, the type of terminal 11 listed above, and the network-side device may include, but is not limited to, the type of network-side device 12 listed above. This application does not impose specific limitations.
[0126] The data processing device includes a receiving module, a transmitting module, and a processing module. These modules can be implemented in software or hardware. When implemented in hardware, the processing module can be implemented by a processor. For example, the processor can include general-purpose processors, special-purpose processors, such as a Central Processing Unit (CPU), microprocessor, Digital Signal Processor (DSP), Artificial Intelligence (AI) processor, Graphics Processing Unit (GPU), Application Specific Integrated Circuit (ASIC), Network Processor (NP), Field Programmable Gate Array (FPGA), or other programmable logic devices, gate circuits, transistors, discrete hardware components, etc. The receiving and transmitting modules can be implemented by a communication interface, which can include one or more of the following: transceiver, pins, circuits, bus, radio frequency unit, etc.
[0127] Specifically, referring to Figure 7, when the data processing device is a sending end (such as a terminal or network-side device), the data processing device 70 includes a processing module 71, which is used to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet meet the first condition; the first data packet and the second data packet are associated.
[0128] Optionally, the first data packet and the second data packet reside on the same radio bearer; or,
[0129] The first data packet and the second data packet are located on two different radio bearers, and there is a relative time delay relationship between the two radio bearers.
[0130] Optionally, the processing module 71 is specifically configured to perform at least one of the following:
[0131] When the first data packet has been correctly received and no ACK and / or NACK information of the sent second data packet is received when the first timer expires, or when no ACK and / or NACK information of the sent second data packet is received within a first time after the first data packet has been correctly received, polling of the second data packet is triggered.
[0132] When the first data packet has been sent and the second timer expires without receiving ACK and / or NACK information for the sent second data packet, or when the first data packet has been sent and the second timer expires without receiving ACK and / or NACK information for the sent second data packet, polling of the second data packet is triggered.
[0133] If the first data packet has been correctly received and no ACK information for the sent second data packet is received when the third timer expires, or if no ACK information for the sent second data packet is received within a third time after the first data packet has been correctly received, the retransmission of the second data packet is triggered.
[0134] If the ACK message for the second data packet is not received after the first data packet has been sent and the fourth timer expires, or if the ACK message for the second data packet is not received within a fourth time after the first data packet has been sent, the retransmission of the second data packet is triggered.
[0135] Optionally, the processing module 71 is further configured to perform at least one of the following:
[0136] When the first data packet has been correctly received and the NACK information of the sent second data packet is received after the third timer expires, or when the NACK information of the sent second data packet is received after the first time, the priority of the second data packet in the data packets to be transmitted and retransmitted is increased; wherein, the first time is after the time of receiving the first data packet, and the first time is separated from the time of receiving by a first time interval;
[0137] When the first data packet has been sent and the NACK message of the second data packet has been received after the fourth timer expires, or when the NACK message of the second data packet has been received after the second time, the priority of the second data packet in the retransmission data packet to be transmitted is increased; wherein, the second time is after the time of sending the first data packet, and the second time is separated from the time of sending by a second time interval.
[0138] Optionally, when the sending end is a terminal, the data processing device 70 further includes:
[0139] A receiving module is configured to receive configuration information; wherein the configuration information is configured to configure at least one of the following: the first timer, the second timer, the third timer, and the fourth timer, and the timing duration of any one of the first timer, the second timer, the third timer, and the fourth timer is less than the relative delay budget.
[0140] Optionally, the processing module 71 is specifically configured to perform at least one of the following:
[0141] When polling of the first data packet is triggered, polling of the second data packet is also triggered;
[0142] When polling of the first data packet has been triggered and no polling of the second data packet has been sent when the fifth timer expires, or when no polling of the second data packet has been sent within the fifth time after polling of the first data packet has been triggered, polling of the second data packet is triggered.
[0143] Polling of the second data packet is triggered when the number of data packets following the second data packet that have been correctly received after the sixth timer expires is greater than or equal to a first value, or when the number of data packets following the second data packet that have been correctly received after the third time is greater than or equal to the first value; wherein, the third time is after the time when polling of the first data packet is triggered, and the third time is separated from the time when polling is triggered by a third time interval;
[0144] The polling of the first data packet is triggered because the data packet latency budget is about to expire.
[0145] Optionally, the processing module 71 is specifically configured to perform at least one of the following:
[0146] When the retransmission of the first data packet is triggered, the retransmission of the second data packet is also triggered;
[0147] If the retransmission of the first data packet has been triggered and the second data packet has not been retransmitted when the seventh timer expires, or if the second data packet has not been retransmitted within the seventh time after the retransmission of the first data packet has been triggered;
[0148] When the retransmission of the first data packet has been triggered and the number of data packets following the second data packet that have been correctly received after the eighth timer expires is greater than or equal to the second value, or when the number of data packets following the second data packet that have been correctly received after the fourth time is greater than or equal to the second value, the retransmission of the second data packet is triggered; wherein, the fourth time is after the triggering time of the retransmission of the first data packet, and the fourth time is separated from the triggering time by a fourth time interval;
[0149] The retransmission of the first data packet is triggered because the data packet delay budget is about to expire.
[0150] Optionally, when the sending end is a terminal, the data processing device 70 further includes:
[0151] Optionally, the processing module 71 is further configured to: after triggering the retransmission of the second data packet, increment or decrement the count of the retransmissions of the second data packet.
[0152] The data processing apparatus 70 provided in this application embodiment can implement the various processes implemented in the method embodiment shown in FIG2 and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0153] Referring to Figure 8, when the data processing device is a receiving end (such as a terminal or network-side device), the data processing device 80 includes a sending module 81, which is used to send a status report on the second data packet when the first data packet and the second data packet meet the second condition; the first data packet and the second data packet are associated.
[0154] Optionally, the first data packet and the second data packet reside on the same radio bearer; or,
[0155] The first data packet and the second data packet are located on two different radio bearers, and there is a relative time delay relationship between the two radio bearers.
[0156] Optionally, the sending module 81 is further configured to: send a status report on the second data packet when the first data has been correctly received and the second data packet has not been received when the ninth timer expires, or when the second data packet has not been received within the ninth time after the first data has been correctly received.
[0157] Optionally, the sending module 81 is further configured to perform any of the following:
[0158] When the sequence number of the second data packet is less than the highest status report variable of the receiving end, send ACK or NACK information for the second data packet, or send ACK or NACK information for each data packet in the first data; wherein the first data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the highest status report variable of the receiving end, and the first sequence number is the next sequence number of the data packets that have been received correctly in succession;
[0159] When the sequence number of the second data packet is greater than or equal to the highest state report variable of the receiver and less than the next state trigger variable of the receiver, ACK or NACK information is sent for the second data packet, or ACK or NACK information is sent for each data packet in the second data; wherein the second data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to a first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of the data packets that have been received correctly in succession;
[0160] When the sequence number of the second data packet is greater than or equal to the next state trigger variable of the receiving end, send ACK or NACK information for the second data packet, or send ACK or NACK information for each data packet in the second data; wherein the second data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to a first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of data packets that have been received correctly in succession;
[0161] Send ACK or NACK information for each data packet in the third data; wherein the third data includes at least one data packet, and the sequence number of each data packet in the at least one data packet is greater than or equal to a first sequence number and less than the sequence number of the second data packet, wherein the first sequence number is the next sequence number of data packets that have been received correctly in succession.
[0162] Optionally, the sending module 81 is further configured to: send ACK information for the second data packet when the first data has been correctly received and the second data packet has not been received when the tenth timer expires, or when the second data packet has not been received within the tenth time after the first data has been correctly received, or send ACK information for all data packets whose sequence number is less than or equal to the sequence number of the second data packet.
[0163] Optionally, the sending module 81 is further configured to perform any of the following:
[0164] When sending a status report for the first data packet, a status report for the second data packet is sent;
[0165] If a status report for the first data packet has been sent but no status report for the second data packet has been sent when the eleventh timer expires, or if no status report for the second data packet has been sent within the eleventh time after the status report for the first data packet has been sent, then a status report for the second data packet shall be sent.
[0166] The status report of the first data packet is sent because the data packet delay budget is about to expire.
[0167] Optionally, the sending module 81 is further configured to perform any of the following:
[0168] When sending the ACK message for the first data packet, send the ACK message for the second data packet;
[0169] If the ACK message for the first data packet has been sent and the second data packet is not received correctly when the twelfth timer expires, or if the second data packet is not received correctly within the twelfth time after the acknowledgment message for the first data packet has been sent, then send the ACK message for the second data packet.
[0170] The ACK information for the first data packet is sent because the data packet delay budget has been exceeded.
[0171] The data processing device 80 provided in this application embodiment can implement the various processes implemented in the method embodiment shown in FIG5 and achieve the same technical effect. To avoid repetition, it will not be described again here.
[0172] As shown in Figure 9, this application embodiment also provides a communication device 90, including a processor 91 and a memory 92. The memory 92 stores programs or instructions that can run on the processor 91. For example, when the communication device 90 is a transmitting end (such as a terminal or network-side device), the program or instructions executed by the processor 91 implement the various steps of the data processing method embodiment shown in Figure 2 above, and can achieve the same technical effect. When the communication device 90 is a receiving end (such as a terminal or network-side device), the program or instructions executed by the processor 91 implement the various steps of the data processing method embodiment shown in Figure 5 above, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0173] This application also provides a terminal, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the steps in the method embodiments shown in FIG2 or FIG5. When the terminal is a transmitting end, the corresponding embodiment corresponds to the above-described transmitting end-side method embodiment, and all implementation processes and methods of the above-described transmitting end-side method embodiment can be applied to this terminal embodiment and can achieve the same technical effect. The terminal can be the data processing device shown in FIG7. Alternatively, when the terminal is a receiving end, the corresponding embodiment corresponds to the above-described receiving end-side method embodiment, and all implementation processes and methods of the above-described receiving end-side method embodiment can be applied to this terminal embodiment and can achieve the same technical effect. The terminal can be the data processing device shown in FIG8.
[0174] Specifically, Figure 10 is a schematic diagram of the hardware structure of a terminal implementing an embodiment of this application.
[0175] The terminal 1000 includes, but is not limited to, at least some of the following components: radio frequency unit 1001, network module 1002, audio output unit 1003, input unit 1004, sensor 1005, display unit 1006, user input unit 1007, interface unit 1008, memory 1009, and processor 1010.
[0176] Those skilled in the art will understand that the terminal 1000 may also include a power supply (such as a battery) for powering various components. The power supply can be logically connected to the processor 1010 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The terminal structure shown in Figure 10 does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0177] It should be understood that, in this embodiment, the input unit 1004 may include a graphics processor 10041 and a microphone 10042. The graphics processor 10041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 1006 may include a display panel 10061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 1007 includes a touch panel 10071 and at least one of other input devices 10072. The touch panel 10071 is also called a touch screen. The touch panel 10071 may include a touch detection device and a touch controller. Other input devices 10072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0178] In this embodiment, after receiving downlink data from the network-side device, the radio frequency unit 1001 can transmit it to the processor 1010 for processing; in addition, the radio frequency unit 1001 can send uplink data to the network-side device. Typically, the radio frequency unit 1001 includes, but is not limited to, antennas, amplifiers, transceivers, couplers, low-noise amplifiers, duplexers, etc.
[0179] The memory 1009 can be used to store software programs or instructions, as well as various data. The memory 1009 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 1009 may include volatile memory or non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 1009 in this embodiment includes, but is not limited to, these and any other suitable types of memory.
[0180] The processor 1010 may include one or more processing units; optionally, the processor 1010 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into the processor 1010.
[0181] For example, when the terminal 1000 is the sender, the processor 1010 is used to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet meet the first condition; the first data packet and the second data packet are associated. It can be understood that the implementation process in this case can refer to the relevant description of the method embodiment shown in FIG2 and achieve the same or corresponding technical effect. To avoid repetition, it will not be described again here.
[0182] Alternatively, when the terminal 1000 is a receiving end, the radio frequency unit 1001 is used to send a status report for the second data packet when the first data packet and the second data packet meet the second condition; the first data packet and the second data packet are associated. It is understood that the implementation process in this case can refer to the relevant description of the method embodiment shown in FIG5 and achieve the same or corresponding technical effects. To avoid repetition, it will not be described again here.
[0183] This application also provides a network-side device, including a processor and a communication interface. The communication interface is coupled to the processor, which is used to run programs or instructions. It can implement the steps of the method embodiment shown in FIG2 or FIG5 and achieve the same technical effect.
[0184] Specifically, this application embodiment also provides a network-side device, which may be the data processing device shown in FIG. 7 or FIG. 8. As shown in FIG. 11, the network-side device 110 includes: an antenna 111, a radio frequency device 112, a baseband device 113, a processor 114, and a memory 115. The antenna 111 is connected to the radio frequency device 112. In the uplink direction, the radio frequency device 112 receives information through the antenna 111 and sends the received information to the baseband device 113 for processing. In the downlink direction, the baseband device 113 processes the information to be transmitted and sends it to the radio frequency device 112. The radio frequency device 112 processes the received information and transmits it through the antenna 111.
[0185] The method executed by the network-side device in the above embodiments can be implemented in the baseband device 113, which includes a baseband processor.
[0186] The baseband device 113 may include at least one baseband board, on which multiple chips are disposed, as shown in FIG11. One of the chips is, for example, a baseband processor, which is connected to the memory 115 via a bus interface to call the program in the memory 115 and execute the network device operation shown in the above method embodiment.
[0187] The network-side device may also include a network interface 116, such as a Common Public Radio Interface (CPRI).
[0188] Specifically, the network-side device 110 in this application embodiment further includes: instructions or programs stored in memory 115 and executable on processor 114. Processor 114 calls the instructions or programs in memory 115 to execute the methods executed by each module shown in FIG7 or FIG8 and achieve the same technical effect. To avoid repetition, it will not be described in detail here.
[0189] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described data processing method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0190] The processor may be the processor in the terminal described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.
[0191] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above data processing method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0192] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0193] This application also provides a computer program / program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the above-described data processing method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0194] This application also provides a communication system, including: a terminal and a network-side device; wherein, when the terminal is a transmitting end and the network-side device is a receiving end, the terminal can be used to execute the steps of the method described in FIG2, and the network-side device can be used to execute the steps of the method described in FIG5; or, when the terminal is a receiving end and the network-side device is a transmitting end, the terminal can be used to execute the steps of the method described in FIG5, and the network-side device can be used to execute the steps of the method described in FIG2.
[0195] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0196] From the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of computer software products plus necessary general-purpose hardware platforms, and of course, they can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disk, optical disk, etc.) and includes several instructions to cause the terminal or network-side device to execute the methods described in the various embodiments of this application.
[0197] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other implementations under the guidance of this application without departing from the spirit and scope of the claims. All of these implementations are within the protection scope of this application.
Claims
1. A data processing method, comprising: triggering, by a sending end, polling and / or retransmission of a second data packet when a first data packet and the second data packet satisfy a first condition; wherein the first data packet and the second data packet have an association relationship. 2.The method of claim 1, wherein: the first data packet and the second data packet are located in a same radio bearer; or the first data packet and the second data packet are respectively located in two different radio bearers, and the two radio bearers have a relative time delay relationship.
3. The method of claim 1 or 2, wherein, The triggering, by the sending end, of the polling and / or retransmission of the second data packet when the first data packet and the second data packet satisfy the first condition comprises at least one of the following: triggering, by the sending end, the polling of the second data packet when the first data packet has been correctly received, and no acknowledgement (ACK) information and / or negative acknowledgement (NACK) information of the second data packet has been received after a first timer expires, or no ACK information and / or NACK information of the second data packet has been received within a first time after the first data packet has been correctly received; triggering, by the sending end, the polling of the second data packet when the first data packet has been sent, and no ACK information and / or NACK information of the second data packet has been received after a second timer expires, or no ACK information and / or NACK information of the second data packet has been received within a second time after the first data packet has been sent; triggering, by the sending end, the retransmission of the second data packet when the first data packet has been correctly received, and no ACK information of the second data packet has been received after a third timer expires, or no ACK information of the second data packet has been received within a third time after the first data packet has been correctly received; triggering, by the sending end, the retransmission of the second data packet when the first data packet has been sent, and no ACK information of the second data packet has been received after a fourth timer expires, or no ACK information of the second data packet has been received within a fourth time after the first data packet has been sent.
4. The method according to any one of claims 1 to 3, wherein, The method further comprises at least one of the following: increasing, by the sending end, a priority of the second data packet in a retransmission data packet to be transmitted when the first data packet has been correctly received, and NACK information of the second data packet has been received after the third timer expires, or NACK information of the second data packet has been received after a first time point; wherein the first time point is after a receiving time point of the first data packet, and the first time point is separated from the receiving time point by a first time length. The sending end improves the priority of the second data packet in the to-be-transmitted retransmission data packet when the sending end receives NACK information of the sent second data packet after the first data packet has been sent and the fourth timer expires, or when the sending end receives NACK information of the sent second data packet after a second time point; the second time point is after the sending time point of the first data packet, and the second time point is separated from the sending time point by a second time length.
5. The method of claim 3, wherein the sending end is a terminal, and the method further comprises: The terminal receives configuration information; wherein the configuration information is used to configure at least one of the first timer, the second timer, the third timer, and the fourth timer, and the time length of any one of the first timer, the second timer, the third timer, and the fourth timer is less than the relative time delay budget.
6. The method according to any one of claims 1 to 5, wherein, The sending end triggers polling and / or retransmission of the second data packet when the first data packet and the second data packet meet a first condition, including at least one of the following: The sending end triggers polling of the second data packet when polling of the first data packet is triggered; The sending end triggers polling of the second data packet when polling of the first data packet has been triggered, and polling of the second data packet is not sent when a fifth timer expires, or polling of the second data packet is not sent within a fifth time after polling of the first data packet is triggered; The sending end triggers polling of the second data packet when polling of the first data packet has been triggered, and the number of data packets correctly received after the second data packet is greater than or equal to a first value when a sixth timer expires, or the number of data packets correctly received after the second data packet is greater than or equal to the first value after a third time point; the third time point is after the triggering time point of polling of the first data packet, and the third time point is separated from the triggering time point by a third time length. The polling of the first data packet is triggered because the data packet time delay budget is about to expire.
7. The method according to any one of claims 1 to 6, wherein, The sending end triggers polling and / or retransmission of the second data packet when the first data packet and the second data packet meet a first condition, including at least one of the following: The sending end triggers retransmission of the second data packet when retransmission of the first data packet is triggered; The sending end triggers retransmission of the second data packet when retransmission of the first data packet has been triggered, and the second data packet is not retransmitted when a seventh timer expires, or the second data packet is not retransmitted within a seventh time after retransmission of the first data packet is triggered; The sending end triggers retransmission of the second data packet when the number of data packets correctly received after the second data packet is greater than or equal to a second value after the eighth timer expires after triggering retransmission of the first data packet, or when the number of data packets correctly received after the second data packet is greater than or equal to the second value after a fourth time point; the fourth time point is after the triggering time point of retransmission of the first data packet, and the fourth time point is separated from the triggering time point by a fourth time length. The retransmission of the first data packet is triggered due to expiration of a packet delay budget.
8. The method of claim 7, wherein, After triggering retransmission of the second data packet, the method further comprises: Counting the number of retransmissions of the second data packet by one or not.
9. A data processing method, comprising: A receiving end sends a status report of a second data packet when a first data packet and the second data packet satisfy a second condition; the first data packet and the second data packet have an association relationship.
10. The method of claim 9, wherein The first data packet and the second data packet are located in a same radio bearer; or The first data packet and the second data packet are respectively located in two different radio bearers, and the two radio bearers have a relative time delay relationship.
11. The method of claim 9 or 10, wherein, The receiving end sends a status report of a second data packet when a first data packet and the second data packet satisfy a second condition, comprising: The receiving end sends a status report of the second data packet when the first data is correctly received, and the second data packet is not received when a ninth timer expires, or the second data packet is not received within a ninth time after the first data is correctly received.
12. The method of claim 11, wherein, The sending of the status report of the second data packet comprises any of the following: The receiving end sends ACK or NACK information of the second data packet, or sends ACK or NACK information of each data packet in first data when a sequence number of the second data packet is less than a highest status report variable of the receiving end; the first data includes at least one data packet, and each data packet in the at least one data packet has a sequence number greater than or equal to a first sequence number and less than the highest status report variable of the receiving end, and the first sequence number is a next sequence number of a data packet that has been continuously correctly received; The receiving end sends ACK or NACK information of the second data packet, or sends ACK or NACK information of each data packet in second data when a sequence number of the second data packet is greater than or equal to a highest status report variable of the receiving end and less than a next status triggering variable of the receiving end; the second data includes at least one data packet, and each data packet in the at least one data packet has a sequence number greater than or equal to a first sequence number and less than the sequence number of the second data packet, and the first sequence number is a next sequence number of a data packet that has been continuously correctly received; The receiving end sends ACK or NACK information of the second data packet, or sends ACK or NACK information of each data packet in the second data, when the sequence number of the second data packet is greater than or equal to the next state trigger variable of the receiving end; wherein the second data includes at least one data packet, the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of the data packet that has been continuously and correctly received. The receiving end sends ACK or NACK information of each data packet in the third data; wherein the third data includes at least one data packet, the sequence number of each data packet in the at least one data packet is greater than or equal to the first sequence number and less than the sequence number of the second data packet, and the first sequence number is the next sequence number of the data packet that has been continuously and correctly received.
13. The method according to any one of claims 9 to 12, wherein, The receiving end sends a state report of the second data packet when the first data packet and the second data packet satisfy a second condition, including: The receiving end sends ACK information of the second data packet, or sends ACK information of all data packets with sequence numbers less than or equal to the sequence number of the second data packet, when the first data has been correctly received, and the second data packet has not been received when the tenth timer expires, or the second data packet has not been received within the tenth time after the first data has been correctly received.
14. The method according to any one of claims 9 to 13, wherein, The receiving end sends a state report of the second data packet when the first data packet and the second data packet satisfy a second condition, including any of the following: The receiving end sends a state report of the second data packet when a state report of the first data packet is sent; The receiving end sends a state report of the second data packet when a state report of the first data packet has been sent, and a state report of the second data packet has not been sent when the eleventh timer expires, or a state report of the second data packet has not been sent within the eleventh time after the state report of the first data packet has been sent; The state report of the first data packet is sent due to expiration of a data packet delay budget.
15. The method according to any one of claims 9 to 14, wherein, The receiving end sends ACK information of the second data packet when ACK information of the first data packet is sent; The receiving end sends ACK information of the second data packet when ACK information of the first data packet has been sent, and the second data packet has not been correctly received when the twelfth timer expires, or the second data packet has not been correctly received within the twelfth time after the ACK information of the first data packet has been sent; The ACK information of the first data packet is sent due to identification of expiration of a data packet delay budget.
16. A data processing apparatus comprising: The processing module is configured to trigger polling and / or retransmission of the second data packet when the first data packet and the second data packet satisfy a first condition.
17. The apparatus of claim 16, wherein, The first data packet and the second data packet are located in a same radio bearer; or The first data packet and the second data packet are respectively located in two different radio bearers, and the two radio bearers have a relative time delay relationship.
18. The apparatus of claim 16 or 17, wherein, The processing module is specifically configured to perform at least one of the following: trigger polling of the second data packet when the first data packet has been correctly received, and ACK information and / or NACK information of the second data packet that has been sent is not received when a first timer expires, or when ACK information and / or NACK information of the second data packet that has been sent is not received within a first time after the first data packet has been correctly received; trigger polling of the second data packet when the first data packet has been sent, and ACK information and / or NACK information of the second data packet that has been sent is not received when a second timer expires, or when ACK information and / or NACK information of the second data packet that has been sent is not received within a second time after the first data packet has been sent; trigger retransmission of the second data packet when the first data packet has been correctly received, and ACK information of the second data packet that has been sent is not received when a third timer expires, or when ACK information of the second data packet that has been sent is not received within a third time after the first data packet has been correctly received; trigger retransmission of the second data packet when the first data packet has been sent, and ACK information of the second data packet that has been sent is not received when a fourth timer expires, or when ACK information of the second data packet that has been sent is not received within a fourth time after the first data packet has been sent.
19. The apparatus of any one of claims 16 to 18, wherein, The processing module is specifically configured to perform at least one of the following: trigger polling of the second data packet when polling of the first data packet is triggered; trigger polling of the second data packet when polling of the first data packet has been triggered, and polling of the second data packet is not sent when a fifth timer expires, or when polling of the second data packet is not sent within a fifth time after polling of the first data packet is triggered; trigger polling of the second data packet when polling of the first data packet has been triggered, and a number of data packets correctly received after the second data packet is greater than or equal to a first value after a sixth timer expires, or when a number of data packets correctly received after the second data packet is greater than or equal to the first value at a third time; the third time is after a time when polling of the first data packet is triggered, and the third time is separated from the time by a third time length. The polling of the first data packet is triggered because a data packet time delay budget is about to expire.
20. The apparatus of any one of claims 16 to 19, wherein, The processing module is specifically configured to perform at least one of the following: triggering retransmission of the second data packet when triggering retransmission of the first data packet; triggering retransmission of the second data packet when retransmission of the first data packet has been triggered, and the second data packet has not been retransmitted when a seventh timer expires, or the second data packet has not been retransmitted within a seventh time after triggering retransmission of the first data packet; triggering retransmission of the second data packet when retransmission of the first data packet has been triggered, and the number of data packets correctly received after the second data packet is greater than or equal to a second value after expiration of an eighth timer, or the number of data packets correctly received after the second data packet is greater than or equal to the second value after a fourth time; the fourth time is after the triggering time of retransmission of the first data packet, and the fourth time is separated from the triggering time by a fourth length of time. The retransmission of the first data packet is triggered due to expiration of a data packet delay budget.
21. A data processing apparatus, comprising: a sending module configured to send a status report of a second data packet when a first data packet and the second data packet satisfy a second condition; wherein the first data packet and the second data packet have an association relationship.
22. The apparatus of claim 21, wherein the sending module is specifically configured to send the status report of the second data packet when the first data has been correctly received, and the second data packet has not been received when a ninth timer expires, or the second data packet has not been received within a ninth time after the first data has been correctly received.
23. The apparatus of claim 21 or 22, wherein the sending module is specifically configured to send ACK information of the second data packet, or send ACK information of all data packets with sequence numbers less than or equal to the sequence number of the second data packet, when the first data has been correctly received, and the second data packet has not been received when a tenth timer expires, or the second data packet has not been received within a tenth time after the first data has been correctly received.
24. The apparatus of any one of claims 21 to 23, wherein, The sending module is specifically configured to perform any one of the following: send the status report of the second data packet when sending the status report of the first data packet; send the status report of the second data packet when the status report of the first data packet has been sent, and the status report of the second data packet has not been sent when an eleventh timer expires, or the status report of the second data packet has not been sent within an eleventh time after sending the status report of the first data packet; The status report of the first data packet is sent due to expiration of a data packet delay budget.
25. The apparatus of any one of claims 21 to 24, wherein, The sending module is specifically configured to perform any one of the following: send ACK information of the second data packet when sending ACK information of the first data packet; sending ACK information of the second data packet when ACK information of the first data packet has been sent and the second data packet is not correctly received when the twelfth timer expires, or when the second data packet is not correctly received within the twelfth time after sending the ACK information of the first data packet; wherein the ACK information of the first data packet is sent due to identifying that a data packet delay budget expires. 26.A terminal, comprising a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions, when executed by the processor, implement steps of the data processing method according to any one of claims 1 to 8, or implement steps of the data processing method according to any one of claims 9 to 15. 27.A network side device, comprising a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions, when executed by the processor, implement steps of the data processing method according to any one of claims 1 to 8, or implement steps of the data processing method according to any one of claims 9 to 15. 28.A readable storage medium, the readable storage medium storing programs or instructions, the programs or instructions, when executed by a processor, implement steps of the data processing method according to any one of claims 1 to 8, or implement steps of the data processing method according to any one of claims 9 to 15.
Citation Information
Patent Citations
Method and device for enhancing RLC (Radio Link Control) acknowledgement mode under retransmission overrun and dual unconditions
CN114584263A
Data packet processing method and device, and terminal
CN116233921A
Method and device used in wireless communication
CN117692957A
Wireless communication method and communication equipment
CN118235353A
Method and apparatus for sending data packets, electronic device and readable storage medium
WO2024065542A1