CN112804713B - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN112804713B
CN112804713B CN201911115510.2A CN201911115510A CN112804713B CN 112804713 B CN112804713 B CN 112804713B CN 201911115510 A CN201911115510 A CN 201911115510A CN 112804713 B CN112804713 B CN 112804713B
Authority
CN
China
Prior art keywords
sequence number
pdu
thread
queue
current
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
CN201911115510.2A
Other languages
Chinese (zh)
Other versions
CN112804713A (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.)
Datang Mobile Communications Equipment Co Ltd
Original Assignee
Datang Mobile Communications Equipment 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 Datang Mobile Communications Equipment Co Ltd filed Critical Datang Mobile Communications Equipment Co Ltd
Priority to CN201911115510.2A priority Critical patent/CN112804713B/en
Publication of CN112804713A publication Critical patent/CN112804713A/en
Application granted granted Critical
Publication of CN112804713B publication Critical patent/CN112804713B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols

Abstract

The embodiment of the invention provides a data transmission method and device. The method comprises the following steps: identifying a Transmission Control Protocol (TCP) thread corresponding to a Protocol Data Unit (PDU) received by a Packet Data Convergence Protocol (PDCP) layer, and generating a thread identifier of the PDU corresponding to the TCP thread; generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, wherein each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications; determining a target queue in the two-dimensional queue, wherein the target queue comprises continuous PDUs; and carrying out in-sequence delivery on the PDUs in the target queue. The data processing method and the data processing device can reduce the transmission delay of the data packet and save network resources.

Description

Data transmission method and device
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a data transmission method and apparatus.
Background
In a User plane Protocol of a 5G (5th Generation Mobile Networks, fifth Generation communication technology) NR (New Radio technology), a Packet Data Convergence Protocol (PDCP), a Radio Link Control (RLC), a Media Access Control (MAC) layer, and a Transmission Control Protocol (TCP) are mainly included in the User plane Protocol.
Because the application of the current TCP protocol layer is basically multi-thread, multiple TCP connections can be established in one application process, one TCP connection corresponds to one thread and is carried on one RB (radio bearer), and one RB only has one PDCP receiving window in the PDCP protocol layer. Therefore, if one SDU of a certain thread is missing, SDUs of other threads cannot be delivered in time, which causes an increase in data transmission delay or retransmission over time.
Disclosure of Invention
Embodiments of the present invention provide a data transmission method and apparatus, which can reduce data packet transmission delay and save network resources.
The embodiment of the invention provides a data transmission method, which comprises the following steps:
identifying a Transmission Control Protocol (TCP) thread corresponding to a Protocol Data Unit (PDU) received by a Packet Data Convergence Protocol (PDCP) layer, and generating a thread identifier of the PDU corresponding to the TCP thread;
generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, wherein each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications;
determining a target queue in the two-dimensional queue, wherein the target queue comprises continuous PDUs;
and carrying out in-sequence delivery on the PDUs in the target queue.
An embodiment of the present invention provides a data transmission apparatus, where the apparatus includes:
the thread identification module is used for identifying a Transmission Control Protocol (TCP) thread corresponding to a Protocol Data Unit (PDU) received by a Packet Data Convergence Protocol (PDCP) layer and generating a thread identifier of the PDU corresponding to the TCP thread;
the queue generating module is used for generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications;
the target determining module is used for determining a target queue in the two-dimensional queue, and the target queue comprises continuous PDUs;
and the data delivery module is used for sequentially delivering the PDUs in the target queue.
The embodiment of the invention has the following advantages:
the embodiment of the invention can generate the thread identifier of the protocol data unit PDU corresponding to the TCP thread by identifying the TCP thread corresponding to the PDU received by the PDCP layer; and generating a two-dimensional queue according to the thread identifier corresponding to the PDU and the PDU serial number corresponding to the PDU, determining a target queue in the two-dimensional queue, and submitting the PDUs in the target queue in sequence. Under the condition of missing PDU, only partial threads missing PDU wait, and the target thread can be submitted normally, so that the submission efficiency can be improved, the data packet processing time delay can be reduced, the memory of a base station system can be saved, and the network resource can be saved.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings needed to be used in the description of the embodiments of the present invention will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to these drawings without inventive labor.
FIG. 1 is a flow chart of a first embodiment of a data transmission method of the present invention;
FIG. 2 is a schematic diagram of a two-dimensional queue of the present invention;
FIG. 3 is a flow chart of a second embodiment of a data transmission method of the present invention;
fig. 4 shows a block diagram of an embodiment of an information processing apparatus of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
In various embodiments of the present invention, it should be understood that the sequence numbers of the following processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Method embodiment one
Referring to fig. 1, a flowchart of a first embodiment of a data transmission method according to the present invention is shown, where the method is applied to a new air interface NR device, and the method may specifically include:
step 101, identifying a Transmission Control Protocol (TCP) thread corresponding to a Protocol Data Unit (PDU) received by a Packet Data Convergence Protocol (PDCP) layer, and generating a thread identifier of the PDU corresponding to the TCP thread.
The Data transmission method of the embodiment of the present invention may be applied to an NR (New Radio, New air interface) device, where the New air interface NR is also called a fifth generation mobile communication system 5G device, and a user Protocol of the 5G-NR mainly includes PDCP (Packet Data Convergence Protocol), RLC (Radio Link Control, Radio Link Control Protocol), and MAC (Medium Access Control, media Access Control). When a base station transmits uplink data to a UE (User Equipment), data in the UE flows from an upper protocol layer to a lower protocol layer, and generally, a data entity from/to the upper protocol layer is called an SDU (service data unit) and a corresponding entity to/from the lower protocol layer is called a PDU (protocol data unit). During uplink transmission, the PDCP layer processes data received from a higher Protocol layer, e.g., an IP layer (Internet Protocol), in the form of PDCP SDUs, and performs ciphering and/or header compression; then PDCP adds PDCP header, outputs in the form of PDCP PDU, and forwards to RLC; RLC receives the output RLC SDU from PDCP, adds RLC header to form RLC PDU; the MAC layer adds a MAC header to each RLC PDU and may concatenate multiple MAC PDUs to form a transport block for transmission in the physical layer. I.e., each protocol layer will generate PDCP, RLC and MAC headers for each IP (or higher) packet in turn, as well as data processing from the base station to the UE.
It should be noted that the data transmission method in the embodiment of the present invention may be applied to PDCP protocol layers of a base station side and a UE side, and for convenience of description, the base station side is taken as an example in the embodiment of the present invention, and the execution processes of the UE side are similar and refer to each other.
At present, TCP transmission is adopted for uploading or downloading services at a base station and a UE, and is carried on AM (amplitude modulation) radio bearer. Compared with the LTE (Long Term Evolution) system, in the NR system, the PDCP, RLC, and MAC headers are added to the SDUs corresponding to each IP packet independently.
The application of the TCP layer can adopt multithreading, a plurality of TCP connections can be established in one application process, one TCP connection corresponds to one thread and is carried on one RB (radio bearer).
And 102, generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, wherein each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications.
Specifically, after receiving the PDU, the PDCP layer performs two-dimensional processing on the PDU and the corresponding thread identifier to generate a two-dimensional queue, on the basis that the PDCP layer identifies different threads corresponding to the PDU and generates the corresponding thread identifier. The two-dimensional queue comprises a first dimension and a second dimension, wherein the first dimension represents a PDU sequence number, and the second dimension represents a thread identifier. And distinguishing different queues in the second dimension, wherein each queue in the two-dimensional queues comprises PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications. Referring to fig. 2, a schematic diagram of a two-dimensional queue of an embodiment of the invention is shown. As shown in fig. 2, the two-dimensional queue may include a horizontal axis and a vertical axis, the horizontal axis being a first dimension of the two-dimensional queue, and the vertical axis being a second dimension of the two-dimensional queue. In the example shown in fig. 2, 9 PDUs should be received at the PDCP layer, assuming that the PDU sequence numbers are PDU1 through PDU9, respectively, wherein PDU4 with thread identification of 3 is missing, the generated two-dimensional queue includes: queue 1, queue 2, queue 3, and queue 4. Queue 1 includes PDU1 and PDU2 with thread identification 1; queue 2 includes PDU3 and PDU5 with thread identification 3; queue 3 includes PDU6, PDU7, and PDU8 for thread identification 5; queue 4 includes PDU9 with thread identification of 7.
In a specific application, the PDCP protocol layer corresponding to the RB may record the following relevant state variables: the sequence number of the lower edge of the PDCP receiving window is RX _ DELIV, the sequence number of the received PDU is recorded as RCVD _ count, the sequence number of the NEXT PDU expected to be received is RX _ NEXT, that is, RX _ NEXT-1 is the PDU sequence number corresponding to the currently received maximum sequence number, and the missing PDU is recorded as RX _ REORD.
The generated two-dimensional queue may be recorded as:
sturct Queue[m][n](ii) a Wherein m is RCVD _ COUNTi-RX _ DELIV, i.e. where the m-0 position stores the PDU to which RX _ DELIV corresponds; taking the value of n as Thread identifier Threadi. Assuming PDU4 with thread id 3 is lost, RX _ DELIV is 1, RX _ NEXT is 10, and RX _ REORD is 4.
And 103, determining a target queue in the two-dimensional queue, wherein the target queue comprises continuous PDUs.
Wherein the target queue containing consecutive PDUs means that the target queue does not contain missing PDUs.
And 104, carrying out sequential delivery on the PDUs in the target queue.
The number of the target queues may be greater than 1, and taking fig. 2 as an example, assuming that PDU4 with thread identifier 3 is lost, since the thread identifier corresponding to queue 1 is 1, the thread identifier corresponding to queue 3 is 5, and the thread identifier corresponding to queue 4 is 7, which are both different from thread identifier 3 of lost PDU4, PDU1 and PDU2 in queue 1 are consecutive, PDU6, PDU7 and PDU8 in queue 3 are consecutive, and PDU9 in queue 4 is consecutive, it may be determined that the target queues include queue 1, queue 3 and queue 4. Since PDU4 is missing from queue 2, PDU3 and PDU5 are not contiguous and queue 2 cannot be the target queue. The target queue can deliver the PDUs to the PDCP layer in sequence, even if the PDU sequence numbers of the PDU6, the PDU7, the PDU8 and the PDU9 are behind the PDU4, the PDUs and the PDU4 belong to different TCP threads, and the PDUs in the queue are continuous, so that the missing PDU4 does not need to be waited for, the normal delivery can be realized, when the UE transmits data to the base station, the PDCP layer at the base station side can deliver the PDUs received in sequence to the core network in sequence, and the transmission delay of the data packets can be obviously reduced.
The embodiment of the invention aims at the wireless bearing RB of an AM (Amplitude Modulation) mode, identifies the TCP thread on a PDCP layer, and carries out reordering delivery on the PDU based on the TCP thread, so that only the thread with partial missing PDU waits, other threads can be normally delivered, the network delay is obviously reduced, and the memory of a base station system is saved; and effectively reduces the retransmission of the TCP layer caused by reordering, and saves network resources.
To sum up, the embodiment of the present invention can generate the thread identifier of the protocol data unit PDU corresponding to the TCP thread by identifying the TCP thread corresponding to the PDU received by the PDCP layer; and generating a two-dimensional queue according to the thread identifier corresponding to the PDU and the PDU serial number corresponding to the PDU, determining a target queue in the two-dimensional queue, and submitting the PDUs in the target queue in sequence. Under the condition of missing PDU, only partial thread missing PDU waits, and the target thread can be submitted normally, so that the submitting efficiency can be improved, the data packet processing time delay is reduced, the memory of a base station system is saved, and the network resource is saved.
Method embodiment two
Referring to fig. 3, a flowchart of a second embodiment of a data transmission method of the present invention is shown.
Step 301, identifying a Transmission Control Protocol (TCP) thread corresponding to a Protocol Data Unit (PDU) received by a Packet Data Convergence Protocol (PDCP) layer, and generating a thread identifier of the PDU corresponding to the TCP thread;
when a packet data convergence protocol PDCP layer receives a protocol data unit PDU, a transmission control protocol TCP thread corresponding to the PDU is identified and transmitted, and a thread identifier of the PDU corresponding to the TCP thread is generated.
The step 301 comprises:
step 3011, analyze the PDU received by PDCP layer to obtain TCP data packet; and identifying the TCP thread corresponding to the PDU according to the quadruple corresponding to the TCP data packet.
And 3012, generating a thread identifier corresponding to the PDU according to the TCP thread corresponding to the PDU and the quadruple.
When the PDCP layer receives the PDU, the PDU is analyzed to obtain a TCP data packet, the PDCP layer analyzes whether the TCP data packet format is a SYN (synchronization Sequence number) packet, when the TCP data packet format is analyzed to be SYN, the thread submitting the PDU is determined to be a newly-added thread, and the TCP thread corresponding to the PDU is identified according to a quadruplet (SrcIP source address, DestIP destination address, SrcPort source port and DstPort destination port) corresponding to the TCP data packet, a function mapping relation is established according to the TCP thread corresponding to the PDU and the quadruplet, and a thread identifier of the TCP thread corresponding to the PDU is generated. For example: when a certain thread is queried, four pieces of information need to be input: SrcIP source address, DestIP destination address, SrcPort source port, DstPort destination port. By establishing a functional relation of the four pieces of information, the four different pieces of information can be mapped to generate corresponding different thread identifications, and the thread identification only needs to be input when the thread is inquired, and the four pieces of information do not need to be input.
If the PDU is the PDU in the data exchange process, analyzing the PDU to obtain a TCP data packet, identifying a TCP thread corresponding to the PDU according to a quadruple corresponding to the TCP data packet, establishing a function mapping relation according to the TCP thread corresponding to the PDU and the quadruple, and generating a thread identifier of the TCP thread corresponding to the PDU. As shown in fig. 2, when receiving PDU3, the PDCP layer parses PDU3, and determines that the TCP thread delivering PDU3 is an added thread according to the TCP thread identifying PDU3 and the parsed quadruplet, and generates thread id 3; the PDCP layer receives the PDU5, the PDU5 is a PDU in data exchange, and generates a thread identifier 3 according to the TCP thread for identifying and transmitting the PDU5 and the resolved quadruplet, because the PDU3 and the PDU5 are transmitted by the same TCP thread, the information contained in the quadruplet corresponding to the PDU3 and the PDU5 is the same, and the thread identifier 3 is generated according to the function mapping relation.
Step 302, recording the data packet sequence number, the feedback packet sequence number and the packet type corresponding to the PDU submitted last time by the TCP thread.
And after receiving the PDU submitted by the TCP thread, the PDCP layer records the data packet sequence number, the feedback packet sequence number and the packet type corresponding to the PDU. The data packet sequence number refers to the sequence number of a certain data packet sent by a communication party; the feedback packet sequence number refers to a sequence number of a feedback packet returned to the opposite side after receiving a certain data packet of the opposite side. If a certain data packet actively sent by the opposite side is received, a feedback packet must be returned to the opposite side, and the opposite side receives the feedback packet and knows that the data packet is received by the opposite side after the numerical value calculation according to the feedback packet. If no feedback packet is received, meaning that the packet has been lost on the network, the packet needs to be retransmitted.
And 303, generating two-dimensional queues according to the thread identifiers corresponding to the PDUs and the PDU numbers corresponding to the PDUs, wherein each of the two-dimensional queues contains PDUs which are arranged according to the PDU numbers and have the same thread identifier, and each of the two-dimensional queues corresponds to a different thread identifier.
Specifically, after receiving the PDU, the PDCP layer performs two-dimensional processing on the PDU and the corresponding thread identifier to generate a two-dimensional queue, on the basis that the PDCP layer identifies different threads corresponding to the PDU and generates the corresponding thread identifier.
The two-dimensional queue comprises a first dimension and a second dimension, wherein the first dimension represents a PDU sequence number, and the second dimension represents a thread identifier. Taking fig. 2 as an example, the two-dimensional queue includes a horizontal axis and a vertical axis, the horizontal axis is a first dimension of the two-dimensional queue, and the vertical axis is a second dimension of the two-dimensional queue. When the PDCP layer receives 9 PDUs, different thread identifications correspond to one queue: queue 1 includes PDU1 and PDU2 with thread identification 1; queue 2 includes PDU3 and PDU5 for thread identification 3; queue 3 includes PDU6, PDU7, and PDU8 for thread identification 5; queue 4 includes PDU9 with thread identification of 7.
Each queue in the two-dimensional queues comprises PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications.
Step 304, determining a target queue in the two-dimensional queue, wherein the target queue comprises continuous PDUs.
Specifically, the step of determining the target queue in the two-dimensional queue includes:
step 3041, determining whether each of the two-dimensional queues contains missing PDUs;
step 3042, determining the queue not containing the missing PDU as the target queue.
As shown in fig. 2, since PDU4 with thread identification 3 is not received and is a missing PDU, it may be determined that queue 2 contains a missing PDU, and queue 1, queue 3, and queue 4 do not contain a missing PDU, and it is determined that the target queue includes queue 1, queue 3, and queue 4. The target queue can deliver PDUs to the PDCP layer in order without waiting for the missing PDU4 to arrive. After the delivery of PDU3 in queue 2, PDU5 would need to wait for PDU4 to be received before being delivered due to the loss of PDU 4. Thus, the missing PDU will only affect other PDUs after it belongs to the same thread, and will not affect the delivery of PDUs from different threads.
Optionally, the step of determining whether each of the two-dimensional queues contains missing PDUs includes:
step 3041a, determining a current TCP thread corresponding to the current queue according to the thread identifier corresponding to the current queue.
Step 3041b, acquiring a first data packet sequence number and a first feedback packet sequence number corresponding to the current PDU to be submitted by the current TCP thread, and a second data packet sequence number and a second feedback packet sequence number corresponding to the PDU last submitted by the current TCP thread.
A second data packet sequence number and a second feedback packet sequence number corresponding to the PDU last submitted by the current TCP thread, in step 302, the PDCP layer records the data packet sequence number, the feedback packet sequence number, and the packet type corresponding to the PDU last submitted by the TCP thread.
Step 3041c, determining whether the current missing PDU belongs to the current TCP thread according to the first packet type, the second packet type, the first data packet sequence number, the first feedback packet sequence number, the second data packet sequence number, and the second feedback packet sequence number.
The judging whether each queue in the two-dimensional queues contains missing PDUs comprises the following condition criteria:
optionally, if the first packet type and the second packet type are both feedback packets, the first data packet sequence number is equal to the second data packet sequence number, and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number, it is determined that the current missing PDU does not belong to the current TCP thread; or
Optionally, if the first packet type is a data packet, the second packet type is a feedback packet, and if the first data packet sequence number is equal to the second data packet sequence number, and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number, determining that the current missing PDU does not belong to the current TCP thread; or
Optionally, if the first packet type is a feedback packet, the second packet type is a data packet, and if the first feedback packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first feedback packet sequence number is greater than or equal to the second data packet sequence number, determining that the current missing PDU does not belong to the current TCP thread; or
Optionally, if the first packet type and the second packet type are both data packets, and if the first data packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first data packet sequence number is greater than or equal to the second data packet sequence number, it is determined that the current missing PDU does not belong to the current TCP thread.
Specifically, when the current ith PDU is lost, the continuity of the PDU belonging thread after i +1 needs to be judged according to the above conditions, and when the above conditions are met, it may be determined that the current missing PDU does not belong to the current TCP thread, and step 3041d is performed.
Step 3041d, if it is determined that the current missing PDU does not belong to the current TCP thread, determining that the current missing PDU does not belong to the current queue, otherwise, determining that the current missing PDU belongs to the current queue.
Determining that the current missing PDU does not belong to the current queue, determining that the current queue contains continuous PDUs, and determining the current queue as a target queue; and if the current missing PDU is determined to belong to the current queue, determining that the current queue contains the missing PDU and determining the current queue as a non-target queue. As shown in fig. 2, when PDU4 is not received, the thread continuity to which the PDU after PDU4 belongs is determined. According to the first data packet sequence number and the first feedback packet sequence number of PDU5 of queue 2, and the second data packet sequence number and the second feedback packet sequence number of PDU3, it can be determined that the missing PDU4 belongs to queue 2, and PDU5 and PDU3 are discontinuous.
In an application example of the present invention, it is assumed that a PDU with a PDU number i is missing, and the continuity of the PDU belonging thread after the (i + 1) th PDU needs to be determined. Suppose ThreadiThe sequence number of a first data packet corresponding to a received current PDU is Seqm, the feedback sequence number of a first feedback packet is AckSeqm, the type of the data packet SdaTypem and the length of a TCP packet are Len, wherein if the PSH of a packaging sub-header in the header of the TCP data packet is 1, the type of the data packet is data T, and if the PSH is 0 and ACK (Acknowledge character) is 1, the type of the data packet is feedback packet AckT. The sequence number of a second data packet corresponding to the PDU which is submitted to the application layer last time by the thread Threadi is LastSubmitSeq, the sequence number of a second feedback report is LastSubmitAckSeq, and the type of the data packet is LastSubmitSdType. The above conditional criteria for determining whether the current missing PDU belongs to the current TCP thread can be represented by the following table 1.
TABLE 1
Figure BDA0002273927890000111
When the above conditions are satisfied, the missing PDU is not attributed to the current TCP ThreadiThreadiIs Seq ID NomThe SDUs may be delivered to a PDCP layer, which delivers the PDUs received in sequence to an application layer of a core network in sequence when the UE transmits data to the base station. In other cases, ThreadiAnd not submitting, and waiting for missing PDU retransmission.
Step 305, delivering the PDUs before the missing PDU in the non-target queue in sequence, and waiting for the missing PDU in the non-target queue.
The PDCP layer receives PDUs (protocol data units) submitted by TCP threads in sequence, generates a two-dimensional queue according to thread identifications corresponding to the PDUs and PDU sequence numbers corresponding to the PDUs, determines a queue which does not contain the missing PDUs in the two-dimensional queue as a target queue, determines a queue containing the missing PDUs as a non-target queue, submits the PDUs before the missing PDUs in the non-target queue in sequence for the TCP threads corresponding to the non-target queue, starts a reordering timer to wait for the missing PDUs, and ensures that the PDUs are submitted to the PDCP layer in sequence.
Step 306, performing in-order delivery on the PDUs in the target queue.
And 307, analyzing a TCP packet format corresponding to the PDU submitted by the target queue.
And 308, if the TCP packet format is a termination sequence number FIN packet, terminating the target queue and recycling the thread identifier corresponding to the target queue.
And after the TCP thread sequentially delivers the PDUs, the TCP thread is terminated. And analyzing a TCP packet format corresponding to the PDU submitted by the target queue on the PDCP layer, if the TCP packet format is a termination sequence number FIN packet, the PDCP layer terminates the target queue and recovers a thread identifier corresponding to the target queue.
Aiming at an AM (Amplitude Modulation) mode radio bearer RB, the embodiment of the invention identifies a TCP thread on a PDCP layer, and carries out reordering delivery on the PDU based on the TCP thread, so that only the thread with partial missing PDU waits, other threads can normally deliver, the network delay is obviously reduced, and the memory of a base station system is saved; and effectively reduces the retransmission of the TCP layer caused by reordering, and saves network resources.
Device embodiment
Referring to fig. 4, a block diagram of an embodiment of an information processing apparatus according to the present invention is shown. The apparatus is applied to a new air interface NR device, and the apparatus may specifically include:
a thread identification module 401, configured to identify a transmission control protocol TCP thread corresponding to a protocol data unit PDU received by a packet data convergence protocol PDCP layer, and generate a thread identifier of the TCP thread corresponding to the PDU;
a queue generating module 402, configured to generate two-dimensional queues according to the thread identifier corresponding to the PDU and the PDU number corresponding to the PDU, where each of the two-dimensional queues includes PDUs arranged according to the PDU number and having the same thread identifier, and each of the two-dimensional queues corresponds to a different thread identifier;
a target determining module 403, configured to determine a target queue in the two-dimensional queue, where the target queue includes consecutive PDUs;
a data delivery module 404, configured to deliver the PDUs in the target queue in sequence.
Optionally, the thread identifying module 401 includes:
the data analysis submodule is used for analyzing the PDU received by the PDCP layer to obtain a TCP data packet;
the thread identification submodule is used for identifying the TCP thread corresponding to the PDU according to the quadruple corresponding to the TCP data packet;
and the identification generation submodule is used for generating the thread identification corresponding to the PDU according to the TCP thread corresponding to the PDU and the quadruplet.
Optionally, the target determining module 403 includes:
the missing judgment sub-module is used for judging whether each queue in the two-dimensional queues contains missing PDUs or not;
and the target determining submodule is used for determining the queue which does not contain the missing PDU as the target queue.
Optionally, the deletion judgment submodule includes:
the thread determining unit is used for determining a current TCP thread corresponding to a current queue according to a thread identifier corresponding to the current queue;
a sequence number obtaining unit, configured to obtain a first data packet sequence number and a first feedback packet sequence number corresponding to a current PDU to be submitted by the current TCP thread, and a second data packet sequence number and a second feedback packet sequence number corresponding to a PDU last submitted by the current TCP thread;
a thread determining unit, configured to determine whether the current missing PDU belongs to a current TCP thread according to the first packet type, the second packet type, the first data packet sequence number, the first feedback packet sequence number, the second data packet sequence number, and the second feedback packet sequence number;
optionally, the thread determining unit includes:
a first determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type and the second packet type are both feedback packets, the first data packet sequence number is equal to the second data packet sequence number, and the first feedback packet sequence number is greater than or equal to the second feedback packet signal; or
A second determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type is a data packet and the second packet type is a feedback packet, and if the first data packet sequence number is equal to the second data packet sequence number and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number; or
A third determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type is a feedback packet, the second packet type is a data packet, the first feedback packet sequence number is equal to a sum of the second data packet sequence number and a data packet length plus one, and the first feedback packet sequence number is greater than or equal to the second data packet sequence number; or
And the fourth judging subunit is used for determining that the current missing PDU does not belong to the current TCP thread if the first packet type and the second packet type are data packets, and if the first data packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first data packet sequence number is greater than or equal to the second data packet sequence number.
And the queue judging unit is used for determining that the current missing PDU does not belong to the current queue if the current missing PDU does not belong to the current TCP thread, and otherwise, determining that the current missing PDU belongs to the current queue.
Optionally, the apparatus further comprises:
and the recording module is used for recording the data packet sequence number, the feedback packet sequence number and the packet type corresponding to the PDU submitted last time by the TCP thread.
Optionally, the queue generating module 402 includes:
and the waiting submodule is used for sequentially submitting the PDUs before the missing PDUs in the non-target queue and waiting for the missing PDUs in the non-target queue.
Optionally, the data submitting module 404 includes:
the analysis submodule is used for analyzing a TCP packet format corresponding to the PDU submitted by the target queue;
and the termination submodule is used for terminating the target queue and recycling the thread identifier corresponding to the target queue if the TCP packet format is a termination sequence number FIN packet.
To sum up, the embodiment of the present invention, based on the thread-level reordering latency, can generate the thread identifier of the protocol data unit PDU corresponding to the TCP thread by identifying the TCP thread corresponding to the PDU received by the PDCP layer; and generating a two-dimensional queue according to the thread identifier corresponding to the PDU and the PDU serial number corresponding to the PDU, determining a target queue in the two-dimensional queue, and submitting the PDUs in the target queue in sequence.
Aiming at a radio bearer RB in an amplitude modulation AM mode, a TCP thread is identified on a PDCP layer, the thread is submitted in sequence, the PDU is not submitted in sequence according to a PDCP sequence number any more, only a queue missing the PDU is waited, and a target queue can be submitted normally, so that the submission efficiency can be improved, the data packet processing time delay is reduced, the memory of a base station system is saved, the retransmission of the TCP layer caused by reordering is effectively reduced, and the network resources are saved.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, apparatus, or computer program product. Accordingly, embodiments of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
Embodiments of the present invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing terminal to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
Finally, it should also be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal 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 terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or terminal equipment comprising the element.
The above detailed description is provided for the information processing method and the information processing apparatus according to the present invention, and the principle and the implementation of the present invention are explained by applying specific examples, and the description of the above embodiments is only used to help understanding the method and the core idea of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.

Claims (12)

1. A data transmission method is applied to a new air interface (NR) device, and the method comprises the following steps:
analyzing the PDU received by the PDCP layer to obtain a TCP data packet;
identifying a TCP thread corresponding to the PDU according to the quadruplet corresponding to the TCP data packet;
generating a thread identifier corresponding to the PDU according to the TCP thread corresponding to the PDU and the quadruple;
generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, wherein each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications;
judging whether each queue in the two-dimensional queues contains missing PDUs;
determining a queue not containing missing PDUs as a target queue, wherein the target queue contains continuous PDUs;
and carrying out in-sequence delivery on the PDUs in the target queue.
2. The method of claim 1, wherein after the step of generating the thread identifier corresponding to the PDU, the method further comprises:
and recording the data packet sequence number, the feedback packet sequence number and the packet type corresponding to the PDU submitted last time by the TCP thread.
3. The method of claim 2, wherein the step of determining whether each of the two-dimensional queues contains missing PDUs comprises:
determining a current TCP thread corresponding to a current queue according to a thread identifier corresponding to the current queue;
acquiring a first data packet sequence number and a first feedback packet sequence number corresponding to a current PDU to be submitted by the current TCP thread, and a second data packet sequence number and a second feedback packet sequence number corresponding to a PDU submitted last time by the current TCP thread;
determining whether the current missing PDU belongs to the current TCP thread according to the first packet type, the second packet type, the first data packet sequence number, the first feedback packet sequence number, the second data packet sequence number and the second feedback packet sequence number;
and if the current missing PDU is determined not to belong to the current TCP thread, determining that the current missing PDU does not belong to the current queue, otherwise, determining that the current missing PDU belongs to the current queue.
4. The method of claim 3, wherein the step of determining whether the current missing PDU belongs to the current TCP thread according to the first packet type, the second packet type, the first data packet sequence number, the first feedback packet sequence number, the second data packet sequence number, and the second feedback packet sequence number comprises:
if the first packet type and the second packet type are both feedback packets, the sequence number of the first data packet is equal to the sequence number of the second data packet, and the sequence number of the first feedback packet is greater than or equal to the sequence number of the second feedback packet, determining that the current missing PDU does not belong to the current TCP thread; or
If the first packet type is a data packet, the second packet type is a feedback packet, and if the first data packet sequence number is equal to the second data packet sequence number and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number, determining that the current missing PDU does not belong to the current TCP thread; or
If the first packet type is a feedback packet, the second packet type is a data packet, and if the first feedback packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first feedback packet sequence number is greater than or equal to the second data packet sequence number, determining that the current missing PDU does not belong to the current TCP thread; or
If the first packet type and the second packet type are data packets, and if the first data packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first data packet sequence number is greater than or equal to the second data packet sequence number, determining that the current missing PDU does not belong to the current TCP thread.
5. The method according to claim 1, wherein after the step of generating the two-dimensional queue according to the thread identifier corresponding to the PDU and the PDU number corresponding to the PDU, the method further comprises:
the PDUs prior to the missing PDU in the non-target queue are delivered in order and await the missing PDU in the non-target queue.
6. The method of claim 1, wherein after the step of in-order delivery of PDUs in the target queue, the method further comprises:
analyzing a TCP packet format corresponding to the PDU submitted by the target queue;
and if the TCP packet format is a termination sequence number FIN packet, terminating the target queue and recycling the thread identifier corresponding to the target queue.
7. A data transmission apparatus, applied to a new air interface NR device, the apparatus comprising:
the data analysis submodule is used for analyzing the PDU received by the PDCP layer to obtain a TCP data packet;
the thread identification submodule is used for identifying the TCP thread corresponding to the PDU according to the quadruple corresponding to the TCP data packet;
the identification generation submodule is used for generating a thread identification corresponding to the PDU according to the TCP thread corresponding to the PDU and the quadruplet;
the queue generating module is used for generating two-dimensional queues according to the thread identifications corresponding to the PDUs and the PDU sequence numbers corresponding to the PDUs, each queue in the two-dimensional queues comprises the PDUs which are arranged according to the PDU sequence numbers and have the same thread identification, and each queue corresponds to different thread identifications;
the missing judgment sub-module is used for judging whether each queue in the two-dimensional queues contains missing PDUs or not;
a target determining submodule, configured to determine a queue that does not include missing PDUs as a target queue, where the target queue includes consecutive PDUs;
and the data delivery module is used for sequentially delivering the PDUs in the target queue.
8. The apparatus of claim 7, further comprising:
and the recording module is used for recording the data packet sequence number, the feedback packet sequence number and the packet type corresponding to the PDU submitted last time by the TCP thread.
9. The apparatus of claim 8, wherein the missing determination submodule comprises:
the thread determining unit is used for determining a current TCP thread corresponding to a current queue according to a thread identifier corresponding to the current queue;
a sequence number obtaining unit, configured to obtain a first data packet sequence number and a first feedback packet sequence number corresponding to a current PDU to be submitted by the current TCP thread, and a second data packet sequence number and a second feedback packet sequence number corresponding to a PDU last submitted by the current TCP thread;
a thread determining unit, configured to determine whether the current missing PDU belongs to a current TCP thread according to a first packet type, a second packet type, the first data packet sequence number, the first feedback packet sequence number, the second data packet sequence number, and the second feedback packet sequence number;
and the queue judging unit is used for determining that the current missing PDU does not belong to the current queue if the current missing PDU does not belong to the current TCP thread, and otherwise, determining that the current missing PDU belongs to the current queue.
10. The apparatus of claim 9, wherein the thread decision unit comprises:
a first determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type and the second packet type are both feedback packets, the first data packet sequence number is equal to the second data packet sequence number, and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number; or
A second determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type is a data packet and the second packet type is a feedback packet, and if the first data packet sequence number is equal to the second data packet sequence number and the first feedback packet sequence number is greater than or equal to the second feedback packet sequence number; or
A third determining subunit, configured to determine that the current missing PDU does not belong to the current TCP thread if the first packet type is a feedback packet, the second packet type is a data packet, the first feedback packet sequence number is equal to a sum of the second data packet sequence number and a data packet length plus one, and the first feedback packet sequence number is greater than or equal to the second data packet sequence number; or
And the fourth judging subunit is used for determining that the current missing PDU does not belong to the current TCP thread if the first packet type and the second packet type are data packets, and if the first data packet sequence number is equal to the sum of the second data packet sequence number and the data packet length plus one, and the first data packet sequence number is greater than or equal to the second data packet sequence number.
11. The apparatus of claim 7, wherein the queue generating module comprises:
and the waiting submodule is used for sequentially submitting the PDUs before the missing PDUs in the non-target queue and waiting for the missing PDUs in the non-target queue.
12. The apparatus of claim 7, wherein the data delivery module comprises:
the analysis submodule is used for analyzing a TCP packet format corresponding to the PDU submitted by the target queue;
and the termination submodule is used for terminating the target queue and recycling the thread identifier corresponding to the target queue if the TCP packet format is a termination sequence number FIN packet.
CN201911115510.2A 2019-11-14 2019-11-14 Data transmission method and device Active CN112804713B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911115510.2A CN112804713B (en) 2019-11-14 2019-11-14 Data transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911115510.2A CN112804713B (en) 2019-11-14 2019-11-14 Data transmission method and device

Publications (2)

Publication Number Publication Date
CN112804713A CN112804713A (en) 2021-05-14
CN112804713B true CN112804713B (en) 2022-05-06

Family

ID=75803906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911115510.2A Active CN112804713B (en) 2019-11-14 2019-11-14 Data transmission method and device

Country Status (1)

Country Link
CN (1) CN112804713B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1839591A (en) * 2003-09-11 2006-09-27 艾利森电话股份有限公司 Method for discarding all segments corresponding to the same packet in a buffer
CN1893340A (en) * 2005-07-04 2007-01-10 上海原动力通信科技有限公司 Apparatus, system and method for realizing multi-carrier-wave high-speed down-converter grouped accessing business
CN101163086A (en) * 2006-10-11 2008-04-16 大唐移动通信设备有限公司 Method of implementing in-sequence submission of wireless link control service data unit
CN107925665A (en) * 2015-08-31 2018-04-17 高通股份有限公司 Unnecessary protocol Data Unit (PDU) is avoided to transmit

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040252711A1 (en) * 2003-06-11 2004-12-16 David Romano Protocol data unit queues
US20090323584A1 (en) * 2008-05-27 2009-12-31 Fujitsu Limited Method and Apparatus for Parallel Processing Protocol Data Units

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1839591A (en) * 2003-09-11 2006-09-27 艾利森电话股份有限公司 Method for discarding all segments corresponding to the same packet in a buffer
CN1893340A (en) * 2005-07-04 2007-01-10 上海原动力通信科技有限公司 Apparatus, system and method for realizing multi-carrier-wave high-speed down-converter grouped accessing business
CN101163086A (en) * 2006-10-11 2008-04-16 大唐移动通信设备有限公司 Method of implementing in-sequence submission of wireless link control service data unit
CN107925665A (en) * 2015-08-31 2018-04-17 高通股份有限公司 Unnecessary protocol Data Unit (PDU) is avoided to transmit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Clarification on highest NR PDCP PDU SN for retransmitted;Samsung;《3GPP TSG-RAN WG3 Meeting #101bis R3-186018》;20181012;全文 *

Also Published As

Publication number Publication date
CN112804713A (en) 2021-05-14

Similar Documents

Publication Publication Date Title
US20190268797A1 (en) Data transmission method and apparatus
EP2057813B1 (en) Inclusion of quality of service indication in header compression channel
US7984492B2 (en) Methods and apparatus for policy enforcement in a wireless communication system
JP5730942B2 (en) Packet routing in wireless communication environment
CN110086578B (en) Data transmission method, device and system
JP5373027B2 (en) Provision of QoS processing based on multiple requests
US20050036497A1 (en) Frame transmission/reception system, frame transmitting apparatus, frame receiving apparatus, and frame transmission/reception method
RU2409898C2 (en) Flexible segmentation scheme for communication systems
US20190312938A1 (en) Data Transmission Method And Apparatus
US20070243879A1 (en) Methods and apparatus for supporting quality of service in communication systems
JP2009509466A (en) Providing movement indications to resource requesters
US20080016248A1 (en) Method and apparatus for time synchronization of parameters
US20080298340A1 (en) Method and Apparatus for Improving Transmission of Downlink Shared Channel in a Wireless Communications System
CN1839591B (en) Method for discarding all segments corresponding to same packet in buffer
WO2016161594A1 (en) Data transmission method and apparatus
JP5124591B2 (en) Method for displaying consecutive data units in RAN
WO2016119269A1 (en) Service data stream data packet processing method and device
WO2019238025A1 (en) Data transmission method and device, sending device, receiving device and storage medium
CN112804713B (en) Data transmission method and device
WO2016061987A1 (en) Packet processing method and device
US11382022B2 (en) Method, apparatus, and computer program product for packet forwarding control protocol messages bundling
US20090042514A1 (en) Transmission method, transmission device and computer program
WO2023212956A1 (en) Data packet processing method and apparatus, and readable storage medium
WO2023125804A1 (en) Method and device for transmitting configuration information and data of quality of service flow
CN117082566A (en) Data transmission method and device and communication equipment

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