Data transmission method and device

A data transmission method and data packet technology, which are applied in the field of data transmission methods and devices, can solve problems such as increased data transmission delay, failure to submit SDUs in time, overtime retransmission, etc., to reduce processing delays, improve delivery efficiency, The effect of saving network resources

Active Publication Date: 2021-05-14
DATANG MOBILE COMM EQUIP CO LTD
6 Cites 0 Cited by

AI-Extracted Technical Summary

Problems solved by technology

Therefore, if one SDU of a certain thread is missing, the SDUs of other threads will not be ...
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

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 TCP thread corresponding to the PDU; according to the thread identifier corresponding to the PDU and the PDU serial number corresponding to the PDU, generating a two-dimensional queue, each queue in the two-dimensional queue comprising PDUs arranged according to the PDU serial number and having the same thread identifier, and each queue corresponding to different thread identifiers; determining a target queue in the two-dimensional queue, wherein the target queue comprises continuous PDUs; and submitting the PDUs in the target queue in sequence. According to the data processing method and device, the data packet transmission delay can be reduced, and network resources are saved.

Application Domain

Technology Topic

Image

  • Data transmission method and device
  • Data transmission method and device
  • Data transmission method and device

Examples

  • Experimental program(2)

Example Embodiment

[0025] Method embodiment one
[0026] refer to figure 1 , which shows a flow chart of Embodiment 1 of a data transmission method of the present invention, the method is applied to a new air interface NR device, and the method may specifically include:
[0027] Step 101: Identify the transmission control protocol TCP thread corresponding to the protocol data unit PDU received by the PDCP layer, and generate a thread identifier corresponding to the TCP thread for the PDU.
[0028] The data transmission method in the embodiment of the present invention can be applied to NR (New Radio, new air interface) equipment. The new air interface NR is also called the fifth generation mobile communication system 5G equipment, and the user protocol of 5G-NR mainly includes PDCP (Packet DataConvergence Protocol, packet data convergence protocol), RLC (Radio Link Control, radio link control layer protocol) and MAC (Medium Access Control, media access control layer). When the base station transmits uplink data to the UE (User Equipment, user equipment), the data in the UE flows from the upper protocol layer to the lower protocol layer. Generally speaking, the data entity from/to the upper protocol layer is called SDU (service data unit, service data unit), and the corresponding entity to/from the lower protocol layer is called PDU (protocol data unit, protocol data unit). During uplink transmission, the PDCP layer processes data received from higher protocol layers, such as the IP layer (Internet Protocol, Internet Protocol), in the form of PDCP SDUs, performs encryption and/or header compression; then PDCP adds PDCP headers, and then Output in the form of PDCP PDU and forward it to RLC; RLC receives the output RLC SDU from PDCP, adds RLC header to form RLC PDU; MAC layer adds MAC header to each RLC PDU and may concatenate multiple MAC PDUs to form at the physical layer Transport blocks transmitted in . That is, each protocol layer will sequentially generate PDCP, RLC and MAC headers for each IP (or higher layer) packet, and the same is true for data processing sent from the base station to the UE.
[0029] It should be noted that the data transmission method in the embodiment of the present invention can be applied to the PDCP protocol layer on the base station side and the UE side. , can be cross-referenced.
[0030] Currently, uploading or downloading services at the base station and UE end are transmitted by TCP, and carried on an AM (amplitude modulation, amplitude modulation) radio bearer. Compared with the LTE (Long Term Evolution, long-term evolution) system, in the NR system, PDCP, RLC and MAC headers are added independently to the SDU corresponding to each IP packet.
[0031] Wherein, the application of TCP layer can adopt multithreading, can set up a plurality of TCP connections in one application process, a TCP connection corresponds to a thread, bears on an RB (radio bearer, radio bearer), the embodiment of the present invention is in packet data When the PDCP layer of the convergence protocol receives the protocol data unit PDU, it can identify the transmission control protocol TCP thread corresponding to the transmission of the PDU, and generate a thread identifier corresponding to the TCP thread of the PDU.
[0032] Step 102, according to the thread ID corresponding to the PDU and the PDU serial number corresponding to the PDU, generate a two-dimensional queue, each queue in the two-dimensional queue contains the PDU serial number and has the same thread ID PDU, each of the queues corresponds to a different thread identifier.
[0033] Specifically, after the PDCP layer receives the PDU, on the basis that the PDCP layer identifies different threads corresponding to the PDU and generates a corresponding thread identifier, the PDU and the corresponding thread identifier are two-dimensionalized to generate a two-dimensional queue. The two-dimensional queue includes a first dimension and a second dimension, wherein the first dimension represents a PDU sequence number, and the second dimension represents a thread identifier. Different queues are distinguished in the second dimension, each queue in the two-dimensional queue includes PDUs arranged according to the PDU sequence number and having the same thread ID, and each queue corresponds to a different thread ID. refer to figure 2 , shows a schematic diagram of a two-dimensional queue according to an embodiment of the present invention. like figure 2 As shown, the two-dimensional queue may include a horizontal axis and a vertical axis, the horizontal axis is the first dimension of the two-dimensional queue, and the vertical axis is the second dimension of the two-dimensional queue. exist figure 2 In the example shown, 9 PDUs should be received at the PDCP layer. Assuming that the PDU serial numbers are PDU1 to PDU9, and the PDU4 whose thread ID is 3 is lost, the generated two-dimensional queue includes: queue 1, queue 2, queue 3 and queue 4. Queue 1 includes PDU1 and PDU2 with thread ID 1; queue 2 includes PDU3 and PDU5 with thread ID 3; queue 3 includes PDU6, PDU7 and PDU8 with thread ID 5; queue 4 includes PDU9 with thread ID 7.
[0034] In a specific application, the PDCP protocol layer corresponding to the RB can record the following related state variables: the serial number of the lower edge of the PDCP receiving window is RX_DELIV, the received PDU serial number is recorded as RCVD_COUNTi, and the next PDU serial number expected to be received is RX_NEXT, that is, RX_NEXT-1 It is the PDU sequence number corresponding to the largest sequence number currently received, and the missing PDU is recorded as RX_REORD.
[0035] The resulting two-dimensional queue can be documented as:
[0036] sturct Queue[m][n]; among them, the value of m is RCVD_COUNT i -RX_DELIV, that is, where m=0 position stores the PDU corresponding to RX_DELIV; the value of n is the thread identifier Thread i. Assuming that PDU4 whose thread ID is 3 is lost, then RX_DELIV=1, RX_NEXT=10, and RX_REORD=4.
[0037] Step 103. Determine a target queue in the two-dimensional queue, and the target queue includes continuous PDUs.
[0038] Wherein, the target queue contains continuous PDUs means that the target queue does not contain missing PDUs.
[0039] Step 104, delivering the PDUs in the target queue in order.
[0040] Wherein, the number of the target queue can be greater than 1, to figure 2 As an example, assume that PDU4 with thread ID 3 is lost, because the thread ID corresponding to queue 1 is 1, the thread ID corresponding to queue 3 is 5, and the thread ID corresponding to queue 4 is 7, all of which are different from the thread ID 3 of the lost PDU4 , so PDU 1 and PDU 2 in queue 1 are continuous, PDU6, PDU7 and PDU8 in queue 3 are continuous, and PDU9 in queue 4 is continuous, then it can be determined that the target queue includes queue 1, queue 3, and queue 4. Since PDU4 is missing in queue 2, PDU3 and PDU5 are not consecutive, and queue 2 cannot be used as the target queue. The target queue can submit PDUs to the PDCP layer in order, even if the PDU sequence numbers of PDU6, PDU7, PDU8, and PDU9 are after PDU4, but because they belong to different TCP threads from PDU4, and the PDUs in the queue are all continuous, Therefore, there is no need to wait for the missing PDU 4, which can be delivered normally. When the UE transmits data to the base station, the PDCP layer on the base station side can deliver the PDUs received in order to the core network in order, which can significantly reduce the data packet transmission delay.
[0041] The embodiment of the present invention aims at radio bearer RB in AM (Amplitude Modulation, amplitude modulation) mode, identifies TCP threads at the PDCP layer, and reorders and submits PDUs based on TCP threads, so that only some threads missing PDUs wait, and other threads can be submitted normally , the network delay is significantly reduced, saving base station system memory; and effectively reducing the retransmission of the TCP layer due to reordering, saving network resources.
[0042] To sum up, the embodiment of the present invention can generate the thread identifier corresponding to the TCP thread of the PDU by identifying the TCP thread corresponding to the protocol data unit PDU received by the PDCP layer; according to the thread identifier corresponding to the PDU and the corresponding PDU Generate a two-dimensional queue, determine a target queue in the two-dimensional queue, and deliver the PDUs in the target queue in order. In the case of missing PDUs, only some missing PDU threads wait, and the target thread can submit normally, so it can improve delivery efficiency, reduce data packet processing delay, save base station system memory, and save network resources.

Example Embodiment

[0043] Method embodiment two
[0044] refer to image 3 , shows a flowchart of Embodiment 2 of a data transmission method of the present invention.
[0045] Step 301, identifying the transmission control protocol TCP thread corresponding to the protocol data unit PDU received by the packet data convergence protocol PDCP layer, and generating the thread identifier corresponding to the TCP thread of the PDU;
[0046] When the packet data convergence protocol PDCP layer receives the protocol data unit PDU, it identifies the transmission control protocol TCP thread corresponding to the transmission of the PDU, and generates a thread identifier corresponding to the TCP thread of the PDU.
[0047] The step 301 includes:
[0048] Step 3011: Analyze the PDU received by the PDCP layer to obtain a TCP data packet; identify the TCP thread corresponding to the PDU according to the quadruple corresponding to the TCP data packet.
[0049] Step 3012: Generate a thread identifier corresponding to the PDU according to the TCP thread corresponding to the PDU and the quadruple.
[0050] When the PDCP layer receives the PDU, it parses the PDU to obtain a TCP data packet, whether the PDCP layer parses the TCP data packet format is a SYN (Synchronize Sequence Numbers, synchronization sequence number) packet, and when the parsed TCP data packet format is SYN, it is determined to submit the The thread of PDU is newly added thread, and according to the quaternion (SrcIP source address, DestIP destination address, SrcPort source port, DstPort purpose port) corresponding to described TCP data packet, identify the TCP thread corresponding to described PDU, according to described A function mapping relationship is established between the TCP thread corresponding to the PDU and the quadruple, and a thread identifier of the TCP thread corresponding to the PDU is generated. For example: when querying a certain thread, four pieces of information need to be input: SrcIP source address, DestIP destination address, SrcPort source port, DstPort destination port. By establishing a functional relationship about the four pieces of information, different pieces of information can be mapped to generate corresponding different thread identifiers, and when querying a thread, only the thread identifier needs to be input without inputting the four pieces of information.
[0051] If the PDU is a PDU in the data exchange process, the PDU is also parsed to obtain a TCP packet, and the TCP thread corresponding to the PDU is identified according to the quadruple group corresponding to the TCP packet, and according to the corresponding TCP thread of the PDU A function mapping relationship is established between the TCP thread and the quadruple, and a thread identifier of the TCP thread corresponding to the PDU is generated. like figure 2 Among them, when the PDCP layer receives PDU3, it analyzes PDU3, and judges that the TCP thread that submits PDU3 is a newly added thread according to the TCP thread that identifies and transmits PDU3 and the parsed quaternion, and generates a thread ID 3; when the PDCP layer receives PDU5, Described PDU5 is the PDU in the data exchange, according to the TCP thread of identification transmission PDU5 and the quaternion that resolves, generate thread identification 3, because PDU3 and PDU5 are transmitted by the same TCP thread, so the quaternion corresponding to PDU3 and PDU5 The information contained in the group is the same, and the thread ID 3 is generated according to the function mapping relationship.
[0052] Step 302: Record the data packet sequence number, feedback packet sequence number, and packet type corresponding to the PDU submitted by the TCP thread last time.
[0053] After the PDCP layer receives the PDU submitted by the TCP thread, it records the data packet sequence number, feedback packet sequence number, and packet type corresponding to the PDU. The data packet sequence number refers to the sequence number of a certain data packet sent by the communication party; the feedback packet sequence number refers to the sequence number of a feedback packet returned to the other party after receiving a certain data packet from the other party. If a data packet sent by the other party is received, a feedback packet must be returned to the other party. After receiving the feedback packet, the other party knows that the data packet has been received by the other party after calculating according to the value in the feedback packet. If no feedback packet is received, it means that the data packet has been lost on the network, and the data packet needs to be resent.
[0054] Step 303, according to the thread ID corresponding to the PDU and the PDU serial number corresponding to the PDU, generate a two-dimensional queue, each queue in the two-dimensional queue contains the PDU serial number and has the same thread ID PDU, each of the queues corresponds to a different thread ID.
[0055] Specifically, after the PDCP layer receives the PDU, on the basis that the PDCP layer identifies different threads corresponding to the PDU and generates a corresponding thread identifier, the PDU and the corresponding thread identifier are two-dimensionalized to generate a two-dimensional queue.
[0056] The two-dimensional queue includes a first dimension and a second dimension, wherein the first dimension represents a PDU sequence number, and the second dimension represents a thread identifier. by figure 2 For example, the two-dimensional queue includes a horizontal axis and a vertical axis, the horizontal axis is the first dimension of the two-dimensional queue, and the vertical axis is the second dimension of the two-dimensional queue. When the PDCP layer receives 9 PDUs, different thread IDs correspond to a queue: queue 1 includes PDU1 and PDU2 with thread ID 1; queue 2 includes PDU3 and PDU5 with thread ID 3; queue 3 includes thread ID 5 PDU6, PDU7 and PDU8; queue 4 includes PDU9 with thread ID 7.
[0057] Each of the two-dimensional queues includes PDUs arranged according to the PDU sequence numbers and having the same thread ID, and each queue corresponds to a different thread ID.
[0058] Step 304. Determine a target queue in the two-dimensional queue, and the target queue includes continuous PDUs.
[0059] Specifically, the step of determining the target queue in the two-dimensional queue includes:
[0060] Step 3041, judging whether each queue in the two-dimensional queue contains missing PDUs;
[0061] Step 3042, determine the queue that does not contain the missing PDU as the target queue.
[0062] like figure 2 As shown, since the PDU4 with the thread ID of 3 has not been received, it is a missing PDU, so it can be determined that queue 2 contains missing PDUs, while queue 1, queue 3, and queue 4 do not contain missing PDUs, so it is determined that the target queue includes queue 1, Queue 3, Queue 4. The target queue can deliver PDUs to the PDCP layer in sequence without waiting for the missing PDU 4 to arrive. After PDU3 in queue 2 is submitted, because PDU4 is missing, PDU5 needs to wait for PDU4 to be received before submitting. Thus, the missing PDU will only affect other PDUs belonging to the same thread, and will not affect the delivery of PDUs from different threads.
[0063] Optionally, the step of judging whether each queue in the two-dimensional queue contains missing PDUs includes:
[0064] Step 3041a, according to the thread identifier corresponding to the current queue, determine the current TCP thread corresponding to the current queue.
[0065] Step 3041b, obtain the first data packet sequence number and the first feedback packet sequence number corresponding to the current PDU to be delivered by the current TCP thread, and the second data packet sequence number and second feedback packet corresponding to the PDU submitted last time by the current TCP thread Package serial number.
[0066] The second packet sequence number and the second feedback packet sequence number corresponding to the PDU submitted by the current TCP thread last time, as described in step 302, record the packet sequence number, Feedback package number and package type.
[0067]Step 3041c, 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 , to determine whether the current missing PDU belongs to the current TCP thread.
[0068] Described judging whether each queue in the two-dimensional queue contains missing PDUs, includes the following criteria:
[0069] Optionally, if both the first packet type and the second packet type are feedback packets, and 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, then determine that the current missing PDU does not belong to the current TCP thread; or
[0070] 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 If the 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
[0071] 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 second data packet sequence number and the data packet length plus one and, and the first feedback packet sequence number is greater than or equal to the second data packet sequence number, then it is determined that the current missing PDU does not belong to the current TCP thread; or
[0072] Optionally, if both 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 length of the data packet plus one, and the first data packet sequence number is greater than or equal to the second data packet sequence number, then it is determined that the current missing PDU does not belong to the current TCP thread.
[0073] Specifically, if the current i-th PDU is lost, the continuity of the PDU belonging thread after i+1 needs to be judged according to the above conditions. When the above conditions are established, it can be determined that the current missing PDU does not belong to the current TCP thread, and the steps are executed 3041d.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

no PUM

Description & Claims & Application Information

We can also present the details of the Description, Claims and Application information to help users get a comprehensive understanding of the technical details of the patent, such as background art, summary of invention, brief description of drawings, description of embodiments, and other original content. On the other hand, users can also determine the specific scope of protection of the technology through the list of claims; as well as understand the changes in the life cycle of the technology with the presentation of the patent timeline. Login to view more.
the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Similar technology patents

Classification and recommendation of technical efficacy words

  • Improve delivery efficiency
  • Reduce processing delay

Commodity ex-warehouse method

Owner:BEIJING JINGDONG ZHENSHI INFORMATION TECH CO LTD

Database deployment method and device

ActiveCN104717233AImprove delivery efficiencyFile access structuresData switching networksDatabase fileDatabase application
Owner:CHINA TELECOM CORP LTD

Method, system and apparatus for monitoring survive of subscriber conversation

InactiveCN101304367AReduce liveness monitoring trafficReduce processing delayEnergy efficient ICTMetering/charging/biilling arrangementsTraffic volumeProcessing delay
Owner:HUAWEI TECH CO LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products