CN112615701B - Data processing method and device - Google Patents

Data processing method and device Download PDF

Info

Publication number
CN112615701B
CN112615701B CN202011644118.XA CN202011644118A CN112615701B CN 112615701 B CN112615701 B CN 112615701B CN 202011644118 A CN202011644118 A CN 202011644118A CN 112615701 B CN112615701 B CN 112615701B
Authority
CN
China
Prior art keywords
data packet
sequence number
data
target
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011644118.XA
Other languages
Chinese (zh)
Other versions
CN112615701A (en
Inventor
卿晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Semiconductor Chengdu Co Ltd
Original Assignee
Spreadtrum Semiconductor Chengdu Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spreadtrum Semiconductor Chengdu Co Ltd filed Critical Spreadtrum Semiconductor Chengdu Co Ltd
Priority to CN202011644118.XA priority Critical patent/CN112615701B/en
Publication of CN112615701A publication Critical patent/CN112615701A/en
Priority to PCT/CN2021/142145 priority patent/WO2022143684A1/en
Application granted granted Critical
Publication of CN112615701B publication Critical patent/CN112615701B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application discloses a data processing method and a data processing device, wherein the method comprises the following steps: determining the type of the target data packet as a Transmission Control Protocol (TCP) message arrival Acknowledgement (ACK); modifying the sequence number of the target data packet in the data packet queue to be sent from the initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number; and transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large. The method is beneficial to improving the transmission rate of the downlink data.

Description

Data processing method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data processing method and apparatus.
Background
After the terminal device successfully receives the downlink data, it replies a TCP ACK packet to the access network device, where the TCP ACK packet may indicate that all downlink data before the acknowledgement number corresponding to the TCP ACK packet is acknowledged to be received. Thus, the access network device determines that the downlink data to be sent to the terminal device has been successfully sent.
At present, uplink and downlink data can be transmitted simultaneously, generally, the uplink transmission rate is much lower than that of downlink data, and an uplink TCP ACK packet corresponding to the downlink data may be blocked by an uplink data service. This results in delayed transmission of TCP ACK packets, and further, a reduction in the transmission rate of downlink data.
Disclosure of Invention
The application discloses a data processing method and a data processing device, which are beneficial to improving the transmission rate of downlink data.
In a first aspect, an embodiment of the present application provides a data processing method and apparatus, which are applied to a packet data convergence protocol PDCP entity included in a terminal device, and the method includes:
determining the type of the target data packet as a Transmission Control Protocol (TCP) message arrival Acknowledgement (ACK);
modifying the sequence number of a target data packet in a data packet queue to be sent from an initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number;
and transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large.
In an embodiment, the target sequence number is a sequence number of a first data packet to be sent in a data packet queue to be sent.
In one embodiment, the method further comprises: and updating the sequence number of the data packet aiming at each data packet except the target data packet in the data packet queue to be sent, wherein the sequence number of the data packet after updating is the sum of the sequence number of the data packet before updating and 1.
In one embodiment, a data packet of type TCP ACK includes an acknowledgement number; the method further comprises the following steps: determining a first data packet matched with a target data packet in a data packet queue to be sent, wherein the first data packet and the target data packet belong to the same data stream, and an acknowledgement number in the first data packet is smaller than an acknowledgement number in the target data packet; and deleting the first data packet from the data packet queue to be sent.
In one embodiment, a data packet of type TCP ACK includes an acknowledgement number; the method further comprises the following steps: the target sequence number is the sequence number of the second data packet; and the second data packet is a data packet matched with the target data packet in the data packet queue to be sent, wherein the second data packet and the target data packet belong to the same data stream, and the acknowledgement number in the second data packet is smaller than the acknowledgement number in the target data packet.
In one embodiment, the method further comprises: and deleting the second data packet from the data packet queue to be sent.
In a second aspect, an embodiment of the present application provides a data processing apparatus, including:
a determining unit, configured to determine that a type of a data packet included in the target data packet is a TCP ACK type for transmission control protocol packet arrival acknowledgement;
the modifying unit is used for modifying the sequence number of the target data packet in the data packet queue to be sent from the initial sequence number to the target sequence number, and the target sequence number is smaller than the initial sequence number;
and the transmission unit is used for transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large.
In an embodiment, the target sequence number is a sequence number of a first data packet to be sent in a data packet queue to be sent.
In a third aspect, an embodiment of the present application provides a data processing apparatus, including a processor, a memory, and a communication interface, where the processor, the memory, and the communication interface are connected to each other, where the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured to call the program instructions to execute the data processing method described in the first aspect.
In a fourth aspect, embodiments of the present application provide a computer-readable storage medium storing one or more instructions adapted to be loaded by a processor and execute the data processing method described in the first aspect.
In a fifth aspect, an embodiment of the present application provides a chip, where the chip includes a processor and a data interface, and the processor reads instructions stored on a memory through the data interface, so as to implement the data processing method as described in the first aspect.
In a sixth aspect, an embodiment of the present application provides a chip module, which includes the chip as described in the fifth aspect.
In the embodiment of the application, the PDCP entity may determine that the type of the target data packet is a TCP packet arrival acknowledgement ACK; modifying the sequence number of a target data packet in a data packet queue to be sent from an initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number; and transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large. The method is beneficial to improving the transmission rate of the downlink data.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic structural diagram of a TCP ACK according to an embodiment of the present application;
fig. 2 is a schematic architecture diagram of a wireless communication network according to an embodiment of the present application;
fig. 3 is a schematic data flow diagram of a wireless communication according to an embodiment of the present application;
fig. 4 is a schematic flowchart of a data processing method according to an embodiment of the present application;
fig. 5 is a schematic diagram illustrating a method for determining a target serial number according to an embodiment of the present application;
FIG. 6 is a schematic diagram illustrating another method for determining a target serial number according to an embodiment of the present application;
FIG. 7 is a block diagram of a data processing apparatus according to an embodiment of the present disclosure;
fig. 8 is a simplified block diagram of a data processing apparatus according to an embodiment of the present disclosure;
fig. 9 is a simplified chip diagram of a data processing apparatus according to an embodiment of the present disclosure.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising a … …" does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element, and further, components, features, elements, and/or steps that may be similarly named in various embodiments of the application may or may not have the same meaning, unless otherwise specified by its interpretation in the embodiment or by context with further embodiments.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, such information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope herein. The word "if," as used herein, may be interpreted as "at … …" or "at … …" or "in response to a determination," depending on the context. Also, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes" and/or "including," when used in this specification, specify the presence of stated features, steps, operations, elements, components, items, species, and/or groups, but do not preclude the presence, or addition of one or more other features, steps, operations, elements, components, species, and/or groups thereof. The terms "or" and/or "as used herein are to be construed as inclusive or meaning any one or any combination. Thus, "A, B or C" or "A, B and/or C" means "any of the following: a; b; c; a and B; a and C; b and C; A. b and C ". An exception to this definition will occur only when a combination of elements, functions, steps or operations are inherently mutually exclusive in some way.
In order to better understand the embodiments of the present application, the following terms refer to the embodiments of the present application:
transmission Control Protocol (TCP): is a connection-oriented, reliable, byte stream-based transport layer communication protocol. TCP is intended to accommodate layered protocol hierarchies that support multiple network applications. Reliable communication services are provided by means of TCP between pairs of processes in host computers connected to different but interconnected computer communication networks.
Packet Data Convergence Protocol (PDCP): the PDCP layer belongs to a second layer of a Radio interface protocol stack, and processes Radio Resource Control (RRC) messages on a Control plane and Internet Protocol (IP) packets on a user plane. On the user plane, after the PDCP sublayer obtains IP data packets from the upper layers, the IP data packets may be header compressed and ciphered and then delivered to a radio link control protocol (RLC) sublayer. The PDCP sublayer also provides in-order commit and duplicate packet detection functions to the upper layers. In the control plane, the PDCP sublayer provides signaling transport services for the upper RRC layer, and implements ciphering and consistency protection of RRC signaling, and implements deciphering and consistency checking of RRC signaling in the reverse direction. The PDCP entity is located in the PDCP layer. For one terminal device, a plurality of PDCP entities may be defined. Each PDCP entity for carrying user plane data may be configured to use header compression techniques, each PDCP entity carrying data for one radio bearer.
TCP packet arrival Acknowledgement (ACK): is an acknowledgement of the highest sequence Number of the received data and returns the sequence Number (Ack Number) of the expected TCP packet at the next reception to the sender. For example, if the current data sequence number sent by the terminal device is 400 and the data length is 100, the access network device returns an acknowledgement number with an acknowledgement number of 501 to the terminal device after receiving the acknowledgement number. The structure of TCP ACK may be as shown in fig. 1, where an acknowledgement number occupies 32 bits, both the terminal device and the access network device may send ACK = Seq +1, where the Seq is a sequence number, and is a sequence number of downlink data, which is not a sequence number in this embodiment of the present application. It should be noted that, in the embodiment of the present application, the TCP ACK may be a packet dedicated to reply the acknowledgement number ACK, or may be a TCP packet carrying other data, where the TCP packet carrying other data is added with ACK information.
Sequence Number (SN): in the PDCP entity, the SN number may be a transmission sequence number of the data packet, and the PDCP layer may transmit each data packet according to the SN number of each data packet. In this way, the receiver in the access network device or the terminal device can ensure that the repeated data packets are submitted or detected in sequence. It should be noted that there is a maximum value of the SN numbers, which is determined according to the relevant protocol, and when the SN number reaches the maximum value, the next SN number of the SN number reaching the maximum value will be rearranged from 0. For example, if the maximum value is 2 32 -1, then SN is numbered 2 32 The next SN number of-1 is 0. In the embodiment of the application, the addition and subtraction operations of SN numbers are all satisfied with the algorithm.
In order to better understand the embodiments of the present application, a network architecture to which the embodiments of the present application are applicable is described below.
Referring to fig. 2, fig. 2 is a schematic diagram of a wireless communication network according to an embodiment of the present disclosure. The wireless communication network architecture comprises a terminal device and an access network device. The access network device may deploy one or more serving cells, and the serving cells are taken as an example in the embodiment of the present application. Multiple channels may be distributed in the serving cell to carry different services. The terminal device and the access network device may both include their respective PDCP entities, where the PDCP entities are located in a PDCP layer, and the terminal device and the access network device may perform operations such as IP header compression and decompression, data and signaling encryption and decryption, and signaling integrity protection through the PDCP entities. The PDCP entity can process data in the PDCP layer, which can be data packets, i.e., data packets, from a middle or higher layer of the device, such as an IP layer. The PDCP entity may number the data packets sent from the middle and high layers, that is, assign an SN number to each data packet, and then send each data packet according to the SN number of each data packet. As shown in fig. 3, a schematic diagram of a data flow of wireless communication is shown, a PDCP entity of a terminal device may receive data sent by a network layer, i.e., a middle-high layer, of the terminal device, after the PDCP entity processes the data, the PDCP entity may send the data to an RLC entity, and the RLC layer processes the data sent by the PDCP entity and sends the data to an MAC entity, and so on. After the physical layer of the access network device receives the information sent by the physical layer of the terminal device, the physical layer of the access network device can perform operations such as demodulation and decoding on the information, and gradually send the information to the PCDP entity, the network layer and the like of the access network device. Thus, data exchange of wireless communication is realized.
It should be noted that, in the embodiment of the present application, each protocol layer may correspond to a respective entity, for example, the RLC layer corresponds to an RLC entity. The steps performed by the entities corresponding to each protocol layer are completed in that protocol layer. For example, the steps performed by the PDCP entity are completed in the PDCP layer.
The access network device related in this embodiment is an entity for transmitting or receiving a signal on a network side, and may be configured to perform interconversion between a received air frame and an Internet Protocol (IP) packet, and serve as a router between the terminal device and the rest of the access network, where the rest of the access network may include an IP network and the like. The access network device may also coordinate management of attributes for the air interface. For example, the access network device may be an evolved Node B (eNB or e-NodeB) in LTE, a new radio controller (NR controller), a enode B (gNB) in 5G system, a centralized network element (centralized unit), a new radio base station, a radio remote module, a micro base station, a relay (relay), a distributed network element (distributed unit), a reception point (TRP) or a Transmission Point (TP), or any other radio access device, but the embodiment of the present invention is not limited thereto.
The terminal device referred to in the embodiments of the present application is an entity for receiving or transmitting signals at a user side. The terminal device may be a device providing voice and/or data connectivity to a user, e.g. a handheld device, a vehicle mounted device, etc. with wireless connection capability. The terminal device may also be other processing devices connected to the wireless modem. The terminal device may communicate with a Radio Access Network (RAN). A terminal device may also be referred to as a wireless terminal, a subscriber unit (subscriber unit), a subscriber station (subscriber station), a mobile station (mobile), a remote station (remote station), an access point (access point), a remote terminal (remote), an access terminal (access terminal), a user terminal (user terminal), a user agent (user agent), a user device (user device), or a User Equipment (UE), among others. The terminal equipment may be mobile terminals such as mobile telephones (otherwise known as "cellular" telephones) and computers having mobile terminals, e.g. portable, pocket, hand-held, computer-included or vehicle-mounted mobile devices, which exchange language and/or data with a radio access network. For example, the terminal device may be a Personal Communication Service (PCS) phone, a cordless phone, a Session Initiation Protocol (SIP) phone, a Wireless Local Loop (WLL) station, a Personal Digital Assistant (PDA), or the like. Common terminal devices include, for example: the mobile terminal includes a mobile phone, a tablet computer, a notebook computer, a handheld computer, a Mobile Internet Device (MID), a vehicle, a roadside device, an aircraft, and a wearable device, such as a smart watch, a smart bracelet, and a pedometer, but the embodiment of the present application is not limited thereto. The communication method and the related device provided by the present application are described in detail below.
In order to improve the transmission rate of the downlink data, embodiments of the present application provide a data processing method and apparatus, and details of the data processing method and apparatus provided in the embodiments of the present application are further described below.
Referring to fig. 4, fig. 4 is a schematic flow chart of a data processing method according to an embodiment of the present application. The method can be applied to a PDCP entity included in the terminal device, and when the PDCP entity performs the data processing method, the method can include the following steps:
410. and determining the type of the target data packet as a Transmission Control Protocol (TCP) message arrival Acknowledgement (ACK).
The PDCP entity may determine that a packet is a target packet when the packet is detected as a TCP ACK type. Wherein, the target data packet can come from the middle and high layers of the terminal device. The PDCP entity may automatically assign a sequence number (SN number), referred to as an initial sequence number, to the target packet upon determining the target packet. The initial sequence number is determined from the already occupied sequence numbers. For example, if the sequence number is already used at 400, the PDCP entity may automatically assign 401 the sequence number to the target packet when determining that the target packet is a TCP ACK, where 401 is the initial sequence number of the target packet.
420. And modifying the sequence number of the target data packet in the data packet queue to be sent from the initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number.
In a possible implementation manner, the target sequence number may be a sequence number of a first data packet to be sent in the data packet queue to be sent. In the PDCP entity, the sequence numbers of the data packets in the data packet queue to be sent are arranged from small to large, that is, the PDCP entity can put the target data packet at the front of the data packet queue to be sent. Accordingly, the sequence numbers of other data packets in the queue of data packets to be transmitted will be changed accordingly due to the modification of the sequence number of the target data packet. The PDCP entity may update the sequence number of the data packet for each data packet in the to-be-transmitted data packet queue except for the target data packet, where the sequence number of the updated data packet is the sum of the sequence number of the data packet before updating and 1.
For example, fig. 5 is a schematic diagram illustrating a method for determining a target serial number. The diagram includes a queue of data packets to be sent. In the queue of data packets to be sent, the PDCP entity has sent out all the data packets with sequence numbers 0 to 99, and the data with sequence numbers 100 to 400 is currently in a state of being sent. When the PDCP entity determines that a target packet is a TCP ACK, the PDCP entity will automatically assign an initial sequence number 401, that is, the sequence number is arranged to the end of the queue of the packets to be sent. Considering that the target data packet should be sent in time, the PDCP entity modifies the sequence number of the target data packet from the initial sequence number to the target sequence number. The target sequence number may be the sequence number of the first data packet to be sent in the queue of data packets to be sent, i.e. 100. At this time, the PDCP entity may set the sequence number of the target packet to 100, and accordingly, the sequence numbers of all other data to be sent are moved backward by one unit. For example, the packet with the original sequence number of 100 is moved forward to be 101, the packet with the original sequence number of 210 is moved forward to be 211, the packet with the original sequence number of 400 is moved forward to be 401, and so on. Thus, the PDCP entity can send the target packet next time without queuing up to the sequence number 100-400, i.e., at the initial sequence number 401.
In a possible implementation manner, the PDCP entity may update the sequence number of the data packet for each data packet in the to-be-sent data packet queue, where the sequence number of the updated data packet is the sum of the sequence number of the data packet before updating and 1. At this time, the position of the first data packet to be sent in the data packet queue to be sent is left, and the PDCP entity may determine the sequence number corresponding to the position of the first data packet as the target sequence number of the target data packet. In other words, the PDCP entity may also add 1 to the sequence number of the target packet except the sequence number in the to-be-sent packet queue, so as to leave the position of the first packet to be sent in the to-be-sent packet queue, where the position of the first packet may be the target sequence number.
In a possible implementation manner, if there is no data packet to be sent in the data packet queue to be sent, the initial sequence number of the target data packet confirmed by the PDCP entity is the same as the target sequence number.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number; the acknowledgement number is used to indicate the data sequence number of the next data packet expected to be received by the terminal device, and the acknowledgement number is carried in the uplink data, and the data sequence number is carried in the downlink data. The PDCP entity may determine a first packet in the queue of packets to be sent, where the first packet matches the destination packet, and the first packet and the destination packet belong to the same data flow, and an acknowledgement number in the first packet is smaller than an acknowledgement number of the destination packet. The PDCP entity may remove the first packet from the queue of packets to be sent. The PDCP entity may change the sequence numbers of other data packets in the queue of data packets to be sent accordingly, for example, subtracting 1 from the sequence number of the data packet after the first data packet. This is because the destination data packet is more updated than the first data packet, the acknowledgment number of the destination data packet may indicate that all data with sequence numbers before the acknowledgment number in the destination data packet are in the received downlink data, and the first data packet may indicate that all data with sequence numbers before the acknowledgment number in the first data packet are in the received downlink data. So that the range indicated by the acknowledgment number of the destination packet may cover the range indicated by the acknowledgment number of the first packet.
For example, if the sequence number of the first packet is 200, the acknowledgement number of the first packet is 101, the acknowledgement number of the target packet is 301, and the sequence numbers of the packets in the queue of packets to be sent are distributed to be 100-400. The PDCP entity may determine the sequence number 100 as the target sequence number of the target packet and further find that the acknowledgement number of the first packet (101) is smaller than the acknowledgement number of the target packet (301) by comparison. To illustrate, the ack number of the destination packet may indicate that data with sequence number before 300 in the downlink data is received, and the ack number of the first packet may indicate that data with sequence number before 100 in the downlink data is received. Then the first packet may be deleted when the PDCP entity confirms that the target packet is sent more preferentially because the first packet is not available.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number. The PDCP entity may determine, from the queue of data packets to be sent, a second data packet matching the target data packet, where the second data packet and the target data packet belong to the same data flow, and an acknowledgment number in the second data packet is smaller than an acknowledgment number of the target data packet. The PDCP entity may determine the sequence number of the second packet as a target sequence number of the target data. This is because the destination packet is more updated than the second packet, the acknowledgment number of the destination packet may indicate all data of the received downlink data having a sequence number before the acknowledgment number of the destination packet, and the second packet may indicate all data of the received downlink data having a sequence number before the acknowledgment number of the second packet. So that the range indicated by the acknowledgement number of the destination packet covers the range indicated by the acknowledgement number of the second packet. The PDCP entity may delete the second data packet from the to-be-sent data packet queue after determining that the target sequence number is the sequence number of the second data packet. By this way, on one hand, it can be ensured that a new TCP ACK packet (i.e. a target packet) is sent preferentially, thereby being beneficial to shortening Round Trip Time (RTT); on the other hand, the sequence number of the data packet to be sent (including the old TCP ACK data packet (i.e. the second data packet) and/or the non-TCP ACK data packet) which is not replaced does not need to be changed, which is beneficial to reducing the overhead.
It should be noted that, when the number of the second packets matching the target packet is more than one, the PDCP entity may determine the sequence number of the second packet with the smallest sequence number as the target sequence number.
For example, fig. 6 is a schematic diagram of another method for determining a target sequence number, where the diagram includes a target packet 1 (TCP ACK 4) and a target packet 2 (TCP ACK 5). TCP ACK1 is a packet matched by TCP ACK5 (i.e. the second packet 1 corresponding to TCP ACK 5), the acknowledgment number in TCP ACK5 is greater than the acknowledgment number of TCP ACK1, and TCP ACK1 and TCP ACK5 belong to the same data flow, i.e. the first data flow. In this example, TCP ACK1 has a sequence number of 101 in the queue of packets to be sent, TCP ACK2 has a sequence number of 100, and TCP ACK3 has a sequence number of 102. The PDCP entity may automatically determine that the initial sequence number of TCP ACK5 is 401 after determining that TCP ACK5 is TCP ACK. When the PDCP entity determines TCP ACK1 matching TCP ACK5, the sequence number of TCP ACK1 may be determined as the target sequence number of TCP ACK 5. The PDCP entity may modify the sequence number of the TCP ACK5 from the initial sequence number (401) to the target sequence number (101) and the PDCP entity may remove the TCP ACK1 from the queue of data packets to be sent.
For another example, in fig. 6, TCP ACK2 and TCP ACK3 are packets matched to TCP ACK4 (i.e., TCP ACK2 and TCP ACK3 are both the second packet 2 corresponding to TCP ACK4, and the number of the second packets 2 is 2), the acknowledgment number in TCP ACK4 is greater than the acknowledgment numbers of TCP ACK2 and TCP ACK3, and TCP ACK2, TCP3, and TCP ACK4 belong to the same data stream, i.e., a second data stream. The PDCP entity may automatically determine that the initial sequence number of TCP ACK4 is 402 after determining that TCP ACK4 is TCP ACK. When the PDCP entity determines TCP ACK2 and TCP ACK3 matching TCP ACK4, it may determine that the sequence number of the TCP ACK having the smaller sequence number of TCP ACK2 and TCP ACK3 is the target sequence number. Since the sequence number (100) of TCP ACK2 is less than the sequence number (102) of TCP ACK3, the PDCP entity determines that the target sequence number of TCP ACK4 is the sequence number of TCP ACK2, i.e., 100. And, the PDCP entity may also delete both TCP ACK2 and TCP ACK3 from the pending data packet queue.
It should be noted that, the acknowledgement numbers of the data packets belonging to different data streams are independent, and the ACKs of different data streams do not interfere with each other. As in the above example, TCP ACK5 and TCP ACK2 do not belong to the same data flow, the PDCP entity will not use the sequence number of TCP ACK2 as the target sequence number of TCP ACK5, nor will the sequence number of TCP ACK1 as the target sequence number of TCP ACK 4.
In a possible implementation manner, the PDCP entity may first determine a second data packet matching the target data packet from the data packet queue to be sent, delete the second data packet, and then determine that the sequence number of the second data packet is the target sequence number of the target data packet. In other words, the PDCP entity may also delete the second packet in the to-be-sent packet queue first, and then determine that the sequence number corresponding to the second packet is the target sequence number of the target packet. If the number of the second data packets is more than one, the PDCP entity may delete all the second data packets in the data packet queue to be sent first, and then determine that the sequence number corresponding to the position with the minimum sequence number in the positions left out in the data packet queue to be sent is the target sequence number.
430. And transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large.
The data packets in the data packet queue to be sent are arranged by the sequence numbers from small to large, and the PDCP entity can send the data packets in the data packet queue according to the sequence from small to large, so that the target data packet can be sent preferentially.
By the embodiment of the application, the PDCP entity may modify the sequence number of the target packet in the to-be-sent packet queue from the initial sequence number to the target sequence number after determining that the type of the target packet is TCP ACK, where the target sequence number is smaller than the initial sequence number. When the PDCP entity sends each packet in the to-be-sent packet queue in the order of sequence number from small to large, the target packet with the target sequence number can be sent preferentially over the target packet with the initial sequence number. After the target data packet is sent preferentially, the sending delay of the TCP ACK data packet can be reduced, so that the access network equipment can determine that the terminal equipment has received the sent downlink data in time, retransmission of the sent downlink data can be avoided, and the transmission rate of the downlink data can be improved.
Referring to fig. 7, fig. 7 is a schematic diagram of a unit in a data processing apparatus according to an embodiment of the present disclosure. The data processing apparatus shown in fig. 7 may be used to perform some or all of the functions in the method embodiment described above with respect to fig. 4. The device may be a terminal device, or a device in the terminal device, or a device capable of being used in cooperation with the terminal device.
The logical structure of the apparatus may include: a determining unit 710, a modifying unit 720 and a transmitting unit 730, and optionally, the apparatus may further include a deleting unit 740. When the apparatus is applied to a terminal device:
a determining unit 710, configured to determine that the type of the data packet included in the target data packet is a TCP ACK type for transmission control protocol packet arrival acknowledgement;
a modifying unit 720, configured to modify a sequence number of the target data packet in a to-be-sent data packet queue from an initial sequence number to a target sequence number, where the target sequence number is smaller than the initial sequence number;
a transmission unit 730, configured to send each data packet in the to-be-sent data packet queue according to a sequence of sequence numbers from small to large.
In a possible implementation manner, the target sequence number is a sequence number of a first data packet to be sent in a data packet queue to be sent.
In a possible implementation manner, the modifying unit 720 is further configured to update the sequence number of the data packet for each data packet in the to-be-sent data packet queue except for the target data packet, where the sequence number of the updated data packet is the sum of the sequence number of the data packet before updating and 1.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number; the determining unit 710 is further configured to determine a first data packet in a data packet queue to be sent, where the first data packet matches a target data packet, the first data packet and the target data packet belong to the same data stream, and a confirmation number in the first data packet is smaller than a confirmation number in the target data packet; the deleting unit 740 is configured to delete the first data packet from the to-be-sent data packet queue.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number; the target sequence number is the sequence number of the second data packet; and the second data packet is a data packet matched with the target data packet in the data packet queue to be sent, wherein the second data packet and the target data packet belong to the same data stream, and the acknowledgement number in the second data packet is smaller than the acknowledgement number in the target data packet.
In a possible implementation manner, the deleting unit 740 is further configured to delete the second data packet from the data packet queue to be sent.
Referring to fig. 8, fig. 8 is a simplified schematic diagram of a physical structure of a data processing apparatus according to an embodiment of the present disclosure, where the apparatus includes a processor 810, a memory 820, and a communication interface 830, and the processor 810, the memory 820, and the communication interface 830 are connected by one or more communication buses. The data processing device can also be a chip, a chip module, or the like.
The processor 810 is configured to support the data processing apparatus to perform the corresponding functions of the method of fig. 4. It should be understood that, in the embodiment of the present application, the processor 810 may be a Central Processing Unit (CPU), and the processor may also be other general-purpose processors, digital Signal Processors (DSPs), application Specific Integrated Circuits (ASICs), field Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 820 is used to store program codes and the like. The memory 820 in embodiments of the present application may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example and not limitation, many forms of Random Access Memory (RAM) are available, such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlronous DRAM (SLDRAM), and direct bus RAM (DR RAM).
Communication interface 830 is used for transceiving data, information, or messages, etc., and may also be described as a transceiver, transceiving circuitry, etc.
In the embodiment of the present application, when the data processing apparatus is applied to a terminal device, the processor 810 calls the program code stored in the memory 820 to perform the following operations:
the processor 810 calls the program code stored in the memory 820 to determine that the type of the data packet included in the target data packet is a transmission control protocol packet arrival acknowledgement (TCP ACK) type;
the processor 810 calls a program code stored in the memory 820 to modify a sequence number of the target data packet in a data packet queue to be sent from an initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number;
and the control communication interface 830 sends each data packet in the data packet queue to be sent according to the sequence of the sequence numbers from small to large.
In a possible implementation manner, the target sequence number is a sequence number of a first data packet to be sent in a data packet queue to be sent.
In one possible implementation, the processor 810 calls the program code stored in the memory 820 to update the sequence number of the data packet for each data packet in the queue of data packets to be sent except for the target data packet, where the sequence number of the data packet after updating is the sum of the sequence number of the data packet before updating and 1.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number; the processor 810 calls program codes stored in the memory 820 to determine a first data packet matching with a target data packet in a data packet queue to be sent, wherein the first data packet and the target data packet belong to the same data flow, and a confirmation number in the first data packet is smaller than a confirmation number in the target data packet; processor 810 invokes program code stored in memory 820 to remove the first packet from the queue of packets to be sent.
In one possible implementation, the data packet of type TCP ACK includes an acknowledgement number; the target sequence number is the sequence number of the second data packet; and the second data packet is a data packet matched with the target data packet in the data packet queue to be sent, wherein the second data packet and the target data packet belong to the same data stream, and the acknowledgement number in the second data packet is smaller than the acknowledgement number in the target data packet.
In one possible implementation, the processor 810 invokes program code stored in the memory 820 to remove the second packet from the queue of packets to be sent.
The modules/units included in the apparatuses and products described in the above embodiments may be software modules/units, or may also be hardware modules/units, or may also be part of software modules/units and part of hardware modules/units. For example, for each apparatus and product applied to or integrated into a chip, each module/unit included in the apparatus and product may all be implemented by hardware such as a circuit, or at least a part of the modules/units may be implemented by a software program running on a processor integrated within the chip, and the remaining (if any) part of the modules/units may be implemented by hardware such as a circuit; for each device and product applied to or integrated with the chip module, each module/unit included in the device and product may be implemented by hardware such as a circuit, and different modules/units may be located in the same component (e.g., a chip, a circuit module, etc.) or different components of the chip module, or at least part of the modules/units may be implemented by a software program running on a processor integrated inside the chip module, and the rest (if any) part of the modules/units may be implemented by hardware such as a circuit; for each device and product applied to or integrated in the terminal, each module/unit included in the device and product may be implemented by using hardware such as a circuit, and different modules/units may be located in the same component (e.g., a chip, a circuit module, etc.) or different components in the terminal, or at least part of the modules/units may be implemented by using a software program running on a processor integrated in the terminal, and the rest (if any) part of the modules/units may be implemented by using hardware such as a circuit.
Referring to fig. 9, fig. 9 is a simplified schematic diagram of a chip of a data processing apparatus according to an embodiment of the present disclosure, where the chip includes a processor 910 and a data interface 920. The chip can be used to handle the corresponding functions of the method as in fig. 4. The chip may be a data processing device as shown in fig. 8, or may be included in a data processing device as shown in fig. 8. The chip may also be included in a chip module.
It should be noted that, in the foregoing embodiments, descriptions of the respective embodiments are focused on, and reference may be made to relevant descriptions of other embodiments for parts that are not described in detail in a certain embodiment.
The steps in the method of the embodiment of the invention can be sequentially adjusted, combined and deleted according to actual needs.
The units in the processing equipment of the embodiment of the invention can be merged, divided and deleted according to actual needs.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions according to the embodiments of the present application are all or partially generated when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, memory Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present application.

Claims (8)

1. A data processing method is applied to a Packet Data Convergence Protocol (PDCP) entity included in a terminal device, and comprises the following steps:
determining the type of the target data packet as a Transmission Control Protocol (TCP) message arrival Acknowledgement (ACK);
modifying the sequence number of the target data packet in a data packet queue to be sent from an initial sequence number to a target sequence number, wherein the target sequence number is smaller than the initial sequence number;
transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large;
the data packet with the type of the TCP ACK comprises an acknowledgement number;
the second data packet is a data packet matched with the target data packet in the data packet queue to be sent, wherein the second data packet and the target data packet belong to the same data flow, and an acknowledgement number in the second data packet is smaller than an acknowledgement number in the target data packet; and if the number of the second data packets matched with the target data packet is at least two, the target sequence number is the sequence number of the second data packet with the minimum sequence number in the at least two second data packets.
2. The method of claim 1, further comprising:
and updating the serial number of the data packet aiming at each data packet except the target data packet in the data packet queue to be sent, wherein the updated serial number of the data packet is the sum of the serial number of the data packet before updating and 1.
3. The method of claim 1, further comprising:
and deleting the second data packet from the data packet queue to be sent.
4. A data processing apparatus, comprising:
a determining unit, configured to determine that a type of a data packet included in a target data packet is a TCP ACK type for transmission control protocol packet arrival acknowledgement;
a modification unit, configured to modify a sequence number of the target data packet in a to-be-sent data packet queue from an initial sequence number to a target sequence number, where the target sequence number is smaller than the initial sequence number;
the transmission unit is used for transmitting each data packet in the data packet queue to be transmitted according to the sequence of the sequence numbers from small to large;
the data packet with the type of the TCP ACK comprises an acknowledgement number;
the second data packet is a data packet matched with the target data packet in the data packet queue to be sent, wherein the second data packet and the target data packet belong to the same data stream, and an acknowledgement number in the second data packet is smaller than an acknowledgement number in the target data packet; and if the number of the second data packets matched with the target data packet is at least two, the target sequence number is the sequence number of the second data packet with the minimum sequence number in the at least two second data packets.
5. A data processing apparatus comprising a processor, a memory and a communication interface, the processor, the memory and the communication interface being interconnected, wherein the memory is configured to store a computer program comprising program instructions, the processor being configured to invoke the program instructions to perform a data processing method according to any one of claims 1 to 3.
6. A computer-readable storage medium, having stored thereon one or more instructions adapted to be loaded by a processor and to perform a data processing method according to any of claims 1 to 3.
7. A chip, characterized in that it comprises a processor and a data interface, the processor reading instructions stored on a memory through the data interface to execute the data processing method according to any one of claims 1 to 3.
8. A chip module, characterized in that it comprises a chip as claimed in claim 7.
CN202011644118.XA 2020-12-30 2020-12-30 Data processing method and device Active CN112615701B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011644118.XA CN112615701B (en) 2020-12-30 2020-12-30 Data processing method and device
PCT/CN2021/142145 WO2022143684A1 (en) 2020-12-30 2021-12-28 Data processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011644118.XA CN112615701B (en) 2020-12-30 2020-12-30 Data processing method and device

Publications (2)

Publication Number Publication Date
CN112615701A CN112615701A (en) 2021-04-06
CN112615701B true CN112615701B (en) 2023-02-14

Family

ID=75253270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011644118.XA Active CN112615701B (en) 2020-12-30 2020-12-30 Data processing method and device

Country Status (2)

Country Link
CN (1) CN112615701B (en)
WO (1) WO2022143684A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112615701B (en) * 2020-12-30 2023-02-14 展讯半导体(成都)有限公司 Data processing method and device
CN114585019B (en) * 2022-05-05 2022-08-23 深圳国人无线通信有限公司 ACK packet anti-congestion method, base station, terminal and system of 5G downlink TCP

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006283A (en) * 2010-10-21 2011-04-06 意法·爱立信半导体(北京)有限公司 Data transmission method and device
CN102420684A (en) * 2011-11-04 2012-04-18 展讯通信(上海)有限公司 Processing method of TCP (Transmission Control Protocol) data stream and communication device
CN102457986A (en) * 2010-10-29 2012-05-16 联芯科技有限公司 Method for transmitting uplink data of terminal, and terminal
CN104093170A (en) * 2014-06-10 2014-10-08 北京创毅视讯科技有限公司 TCP-based data transmission method and TCP agent apparatus
CN106209325A (en) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 A kind of TCP ACK message processing method and device
CN108259475A (en) * 2016-12-29 2018-07-06 西普霍特公司 The system and method for handling the grouping in transmission control protocol session
CN110999221A (en) * 2017-06-08 2020-04-10 海恩尼斯港研究公司 Dynamic TCP stream processing with modification notification
CN111800499A (en) * 2020-06-30 2020-10-20 北京百度网讯科技有限公司 Data transmission method and device and electronic equipment
CN111865828A (en) * 2020-07-24 2020-10-30 展讯通信(上海)有限公司 Data transmission method, system, electronic device and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763314B (en) * 2014-01-06 2017-01-11 南京信息工程大学 Method and device for processing user layer data in practically deployed tumble detecting system
US10499411B2 (en) * 2016-11-04 2019-12-03 Mediatek Inc. Method and apparatus for data transmission enhancements in mobile communications
US10511992B2 (en) * 2016-12-19 2019-12-17 Qualcomm Incorporated Prioritizing packets in wireless communications
CN109600853B (en) * 2017-09-30 2021-03-05 华为技术有限公司 Uplink data transmission method and device
CN111181697A (en) * 2018-11-13 2020-05-19 三星电子株式会社 Method and system for transmission of TCP ACK packets
CN112615701B (en) * 2020-12-30 2023-02-14 展讯半导体(成都)有限公司 Data processing method and device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006283A (en) * 2010-10-21 2011-04-06 意法·爱立信半导体(北京)有限公司 Data transmission method and device
CN102457986A (en) * 2010-10-29 2012-05-16 联芯科技有限公司 Method for transmitting uplink data of terminal, and terminal
CN102420684A (en) * 2011-11-04 2012-04-18 展讯通信(上海)有限公司 Processing method of TCP (Transmission Control Protocol) data stream and communication device
CN104093170A (en) * 2014-06-10 2014-10-08 北京创毅视讯科技有限公司 TCP-based data transmission method and TCP agent apparatus
CN106209325A (en) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 A kind of TCP ACK message processing method and device
CN108259475A (en) * 2016-12-29 2018-07-06 西普霍特公司 The system and method for handling the grouping in transmission control protocol session
CN110999221A (en) * 2017-06-08 2020-04-10 海恩尼斯港研究公司 Dynamic TCP stream processing with modification notification
CN111800499A (en) * 2020-06-30 2020-10-20 北京百度网讯科技有限公司 Data transmission method and device and electronic equipment
CN111865828A (en) * 2020-07-24 2020-10-30 展讯通信(上海)有限公司 Data transmission method, system, electronic device and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"R2-1701463 Prioritizing TCP ACK transmission";LG Electronics Inc.;《3GPP tsg_ran\WG2_RL2》;20170203;第1-3页 *

Also Published As

Publication number Publication date
CN112615701A (en) 2021-04-06
WO2022143684A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
US8988994B2 (en) System and method for creating logical radio link control (RLC) and medium access control (MAC) protocol data units (PDUs) in mobile communication system
CN109983740B (en) Data transmission method
JP7258882B2 (en) Method and apparatus
CN112615701B (en) Data processing method and device
US20170222943A1 (en) Method and apparatus for reordering
CN110463239B (en) Data transmission method, terminal equipment and network equipment
CN114979839A (en) Transmission control protocol proxy method and communication device
CN113873574A (en) Coding method and device
WO2017219216A1 (en) Data transmission method, and related device and system
WO2019213922A1 (en) Method for forwarding data among nodes in relay network, and network nodes
US10523790B2 (en) System and method of header compression for online network codes
US8073012B2 (en) Method and related apparatus for handling packet discard in a wireless communications system
US20230300871A1 (en) Wireless communication device, wireless communication method, and wireless communication system
WO2019214619A1 (en) Data processing method and apparatus
EP3200526B1 (en) Data transmission method and device
CN109756306B (en) Information transmission method and communication device
US9246638B2 (en) Method and apparatus for polling transmission status in a wireless communications system
CN113541895B (en) Data transmission method and related device
WO2022036601A1 (en) Method and apparatus for reporting terminal capability, terminal and network device
WO2021087729A1 (en) Method and apparatus for indicating decompressed object, and communication device
JP2009135931A (en) Method and communication apparatus for setting highest received state variable
CN114846774A (en) Communication method and device
US9794930B1 (en) Method and apparatus for packet data unit processing for retransmission
US20090042514A1 (en) Transmission method, transmission device and computer program
WO2023123515A1 (en) Data processing method, terminal device, and network device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant