Data processing method, base station, terminal, and storage medium
By generating sequence number encodings for PDCP SDUs and deleting PDCP SDU backups based on the sequence number confirmed by ACK messages, the problem of air interface resource occupation caused by PDCP SDU retransmissions is solved, improving data processing efficiency and business continuity.
Patent Information
- Application Number
- CN202010870213.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-26
- Publication Date
- 2026-01-02
- Estimated Expiration
- 2040-08-26
AI Technical Summary
In wireless communication, the retransmission of PDCP SDUs increases air interface resource consumption and affects service continuity. Existing technologies are inefficient when deleting PDCP SDU backup files through RLC status reports and cannot reduce the amount of retransmitted packets in a timely manner.
By acquiring TCP packets, backing them up, and generating sequence number encodings for PDCP SDUs, and upon receiving ACK packets, deleting PDCP SDUs that meet the criteria based on the acknowledgment sequence number, timely clearing of PDCP SDU backup files is achieved.
By promptly deleting backup files of PDCP SDUs, the amount of PDCP retransmission packets is reduced, improving data processing efficiency and business continuity.
Smart Images

Figure CN114126084B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of wireless communication, and in particular to a data processing method, a base station, a terminal and a storage medium. BACKGROUND
[0002] In wireless communication, the Packet Data Convergence Protocol (PDCP) layer is a protocol layer of a user plane. The PDCP layer of a data sending end parses data messages from a high layer, backs up the data messages to PDCP service data units (SDUs), encapsulates the data messages into protocol data units (PDUs) and distributes the data messages to a data receiving end. Meanwhile, the PDCP layer backs up PDCP SDUs corresponding to unacknowledged PDCP PDUs and PDCP sequence numbers of the PDCP SDUs. In a data receiving end switching scenario, the unacknowledged PDCP PDUs of a source cell need to transmit the PDCP SDUs and the PDCP sequence numbers corresponding to the PDCP PDUs to a target cell. Meanwhile, the PDCP SDU backup in the data receiving end needs to be retransmitted when PDCP reestablishment is performed in the target cell. The retransmission process occupies air interface resources, and when the number of PDCP SDU backups is large, the amount of transmitted messages is large, which can easily cause packet loss and affect service continuity.
[0003] To solve this problem, a Radio Link Control (RLC) status report prohibit timer is usually configured in an Acknowledged Mode (AM) of the RLC layer. After the data sending end receives the RLC status report sent by the data receiving end, the data sending end deletes the PDCP SDU backups that have been acknowledged by the UE, thereby reducing the amount of messages in the retransmission. However, the RLC status report is usually transmitted periodically, and unnecessary backup messages are still transmitted when PDCP reestablishment is performed. SUMMARY
[0004] The subject matter of the detailed description is summarized below. This summary is not intended to limit the scope of the claims.
[0005] The embodiments of the present application provide a data processing method, a base station, a terminal and a storage medium. Compared with deleting backup files of PDCP SDUs by using RLC status reports, the backup files of the PDCP SDUs can be deleted more timely, thereby reducing the amount of messages in PDCP retransmission.
[0006] In a first aspect, the embodiments of the present application provide a data processing method, comprising:
[0007] obtaining a transmission control protocol (TCP) packet, backing up a packet data convergence protocol (PDCP) service data unit (SDU) corresponding to the TCP packet, generating and saving a sequence number code corresponding to the PDCP SDU;
[0008] sending the TCP packet to a data receiving end;
[0009] when receiving an acknowledgement (ACK) packet carrying an acknowledgement sequence number sent by the data receiving end according to the TCP packet, determining a sequence number code meeting an acknowledgement condition from the saved sequence number codes according to the acknowledgement sequence number in the ACK packet;
[0010] deleting a PDCP SDU corresponding to the sequence number code meeting the acknowledgement condition.
[0011] In a second aspect, an embodiment of the present application further provides a base station, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the data processing method as described above when executing the computer program.
[0012] In a third aspect, an embodiment of the present application further provides a terminal, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the data processing method as described above when executing the computer program.
[0013] In a fourth aspect, an embodiment of the present application further provides a computer readable storage medium, storing computer executable instructions, and the computer executable instructions are used to execute the preset path information obtaining method or the data processing method as described above.
[0014] The embodiment of the present application comprises: obtaining a TCP packet, backing up a PDCP SDU corresponding to the TCP packet, generating and saving a sequence number code corresponding to the PDCP SDU, sending the TCP packet to a data receiving end, when receiving an ACK packet carrying an acknowledgement sequence number sent by the data receiving end according to the TCP packet, determining a sequence number code meeting an acknowledgement condition from the saved sequence number codes according to the acknowledgement sequence number in the ACK packet, and deleting a PDCP SDU corresponding to the sequence number code meeting the acknowledgement condition. According to the scheme provided by the embodiment of the present application, since the PDCP SDU is encapsulated in sequence and then delivered to a high layer at the data receiving end, the sequence number code determined according to the acknowledgement sequence number in the ACK packet is the maximum confirmable sequence number code, and the PDCP SDU corresponding to the sequence number code smaller than or equal to the maximum confirmable sequence number code is deleted, so that the backup file of the PDCP SDU can be deleted more timely, thereby reducing the amount of PDCP retransmission packets.
[0015] Other features and advantages of the present application will be set forth in the description that follows, and in part will be apparent from the description, or can be learned by practice of the application. The purposes and other advantages of the application will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings. BRIEF DESCRIPTION OF DRAWINGS
[0016] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description, serve to explain the technical solution of the application, and do not constitute a limitation on the technical solution of the application.
[0017] Figure 1 is a flow chart of a data processing method provided by an embodiment of the present application;
[0018] Figure 2 is a data transceiving schematic diagram of a data sending end and a data receiving end in a data processing method provided by another embodiment of the present application;
[0019] Figure 3 is a flow chart of determining a TCP message as an optimizable message in a data processing method provided by another embodiment of the present application;
[0020] Figure 4 is a flow chart of determining a TCP message as an optimizable message in a data processing method provided by another embodiment of the present application;
[0021] Figure 5 is a flow chart of determining a TCP message as an optimizable message in a data processing method provided by another embodiment of the present application;
[0022] Figure 6 is a flow chart of determining a TCP message as an optimizable message in a data processing method provided by another embodiment of the present application;
[0023] Figure 7 is a flow chart of determining a sequence number code meeting a confirmation condition in a data processing method provided by another embodiment of the present application;
[0024] Figure 8 is a flow chart of determining a sequence number code of a PDCP SDU in a data processing method provided by another embodiment of the present application;
[0025] Figure 9 is a schematic diagram of a base station device for executing a data processing method provided by another embodiment of the present application;
[0026] Figure 10 is a schematic diagram of a terminal device for executing a data processing method provided by another embodiment of the present application. DETAILED DESCRIPTION
[0027] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0028] It should be noted that although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first," "second," etc., in the specification, claims, or the aforementioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0029] This invention provides a data processing method, a base station, a terminal, and a storage medium. The data processing method includes: acquiring a TCP packet, backing up a PDCP SDU corresponding to the TCP packet, generating and saving a sequence number encoding corresponding to the PDCP SDU; sending the TCP packet to a data receiving end; when receiving an ACK packet carrying an acknowledgment number sent by the data receiving end based on the TCP packet, determining a sequence number encoding that meets the acknowledgment condition from the saved sequence number encodings based on the acknowledgment number in the ACK packet; and deleting the PDCP SDU corresponding to the sequence number encoding that meets the acknowledgment condition. According to the solution provided by the embodiments of this invention, since the PDCP SDU is encapsulated in sequence and delivered to the higher layer at the data receiving end, the sequence number encoding determined by the acknowledgment number in the ACK packet is the maximum acknowledgable sequence number encoding. Deleting PDCP SDUs corresponding to sequence numbers less than or equal to this maximum acknowledgable sequence number encoding allows for more timely deletion of PDCP SDU backup files, thereby reducing the amount of PDCP retransmission packets.
[0030] The embodiments of the present invention will be further described below with reference to the accompanying drawings.
[0031] like Figure 1 As shown, Figure 1 This is a flowchart of a data processing method applied to a data sending end according to an embodiment of the present invention. The data processing method includes, but is not limited to, steps S110, S200, S300 and S400.
[0032] Step S110: Obtain TCP packets, back up the PDCP SDU corresponding to the TCP packets, and generate and save the sequence number encoding corresponding to the PDCP SDU.
[0033] In an embodiment, the sequence number coding of the PDCP SDU can be saved in any form, for example, saved to the attribute information of the PDCP SDU, or a mapping relationship between the PDCP SDU and the sequence number coding can be generated, and the specific manner is selected according to actual needs, and the unique correspondence between the PDCP SDU and the sequence number coding can be realized.
[0034] In an embodiment, the sequence number coding can be generated after the PDCP SDU is encapsulated, or can be directly generated after the backup, and the embodiment is not limited.
[0035] In step S120, the TCP message is sent to the data receiving end.
[0036] It should be noted that at the data receiving end, the PDCP SDU is also delivered to the upper layer in sequence, so that the last delivered PDCP SDU is confirmed, and the previous ones have been received by the upper layer. For 5G, although the RLC SDU allows out-of-order delivery, the corresponding PDCP SDU will be sorted and delivered to the upper layer in sequence without configuring the out-of-order distribution, so that the last delivered PDCP SDU is confirmed, and the previous ones have been received by the upper layer. Based on the above principle, the sequence number coding generated after the backup of the PDCP SDU can essentially reflect the encapsulation order of the message, and the PDCP SDU backup that can be deleted can be more conveniently identified.
[0037] In step S130, when the ACK message carrying the confirmation sequence number sent by the data receiving end according to the TCP message is received, the sequence number coding that meets the confirmation condition is determined from the saved sequence number coding according to the confirmation sequence number in the ACK message.
[0038] In an embodiment, in the initialization stage of the data sending end, a bearer, an RLC instance and a PDCP instance are usually established, and multiple TCP links can be simultaneously provided in the same bearer. The processing of data is usually independently performed between the TCP links, and the link identifier can be used to distinguish the TCP links. Therefore, after the ACK message is received, the corresponding link identifier can be parsed from the ACK message, the TCP link using the confirmation sequence number determined by the ACK message is determined according to the link identifier, and then subsequent operations are performed, so as to avoid mistakenly deleting the PDCP SDU of other TCP links.
[0039] It should be noted that after the data receiving end receives the TCP message, the ACK message carrying the confirmation sequence number is usually sent after the entire TCP message is determined. Therefore, the PDCP SDU determined by the confirmation sequence number of the ACK message can be determined to be completely confirmed, and the situation that the PDCP SDU backup is only partially confirmed will not occur.
[0040] In an embodiment, the confirmation condition can be set according to actual conditions, for example, less than or equal to the determined sequence number code, the characteristics of the PDCP SDU can be delivered in order, the sequence number code can be quickly batch-determined to delete the PDCP SDU, and the efficiency of the PDCP SDU backup deletion can be improved.
[0041] In an embodiment, the form of the sequence number code can be a number related to the encapsulation order, or it can be related information recording the last encapsulated PDCP SDU, which can achieve batch-determination of the PDCP SDU according to the encapsulation order. Those skilled in the art have the motivation to adjust the specific form of the sequence number code according to actual needs, which will not be described here.
[0042] Step S140, deleting the PDCP SDU corresponding to the sequence number code meeting the confirmation condition.
[0043] In an embodiment, deleting the PDCP SDU can be deleting the backup message, or it can be deleting the entire PDCP SDU backup, and this embodiment will not be limited.
[0044] Based on the above embodiment, the message received by the data sending end can be of any type, and the sequence number code is determined after analysis according to the encapsulation order. Therefore, when the sequence number code meeting the condition is determined, the PDCP SDU corresponding to the sequence number code meeting the confirmation condition can be the backup of any message, even if the message corresponding to the PDCP SDU is not a TCP message, but its encapsulation order determines that its delivery order is before the PDCP SDU determined according to the acknowledgement sequence number in the ACK message, so it can be inferred that the non-TCP message has also been confirmed, and therefore when the sequence number code meets the confirmation condition, the PDCP SDU can be deleted together.
[0045] In an embodiment, when step S140 of the embodiment is executed, if an RLC status report is received, the PDCP SDU backup in the data sending end can be processed according to the RLC status report after the deletion of the PDCP SDU according to step of the embodiment is completed, or the step of the embodiment can be stopped and directly executed according to the RLC status report. The specific mode can be adjusted according to actual needs, and this embodiment will not be limited. It should be noted that the deletion of the PDCP SDU backup according to the RLC status report is a method in the prior art, and this embodiment will not be described in detail.
[0046] It should be noted that after step S140 of the embodiment is executed, when the data receiving end moves and causes the switching of the cell, the data sending end no longer retransmits the deleted PDCP SDU backup, effectively reducing the data amount during PDCP retransmission.
[0047] In addition, in an embodiment, referring to Figure 2 , Figure 2 is a schematic diagram of the data receiving end and the data sending end of the embodiment of the present application. It should be noted that the data sending end in the embodiment of the present application can be a base station or a terminal. When the data sending end is a base station and the data receiving end is a terminal, the base station receives the TCP packet sent by the server, parses the packet, encapsulates the packet into a PDCP PDU, and sends the PDCP PDU to the terminal. The terminal receives the PDCP PDU, decapsulates the PDCP PDU, constructs a TCP ACK packet according to the obtained TCP data packet, encapsulates the TCP ACK packet into a PDCP PDU, and sends the PDCP PDU to the base station. The base station decapsulates the PDCP PDU, parses the link identifier and the acknowledgement sequence number, determines the TCP link to which the link identifier belongs, determines the corresponding sequence number code according to the acknowledgement sequence number, and deletes the backup of the PDCP SDU with a sequence number code less than or equal to the sequence number code in the PDCP retransmission queue. When the data sending end is a terminal and the base station is the data receiving end, the principle is basically the same, and thus will not be described herein.
[0048] In addition, referring to Figure 3 , in an embodiment, Figure 1 The step S100 in the embodiment shown includes but is not limited to the following steps:
[0049] In step S210, the TCP packet is parsed to obtain the packet information of the TCP packet.
[0050] In step S220, it is determined that the TCP packet is an optimizable packet according to the packet information.
[0051] It should be noted that according to the TCP protocol, if the TCP packet carries a payload, the sequence number occupied by the packet is the length of the payload. For example, the TCP sequence number of the TCP packet is 2, and the length of the payload is 2. In this TCP link, the sequence numbers 2 to 4 are all occupied by the packet. When a plurality of packets meet the sequence number continuity characteristic, all the TCP packets before the TCP packet are determined to be acknowledged in the case that the TCP packet is acknowledged. The TCP packet with the above sequence number continuity is defined as an optimizable packet, and vice versa. The optimizable packet is a plurality of packets with continuous sequence numbers in the same TCP link. Therefore, the position of an optimizable packet in the TCP link can be quickly determined, and the PDCP SDU encapsulated before the optimizable packet can be quickly determined according to the sequence number code, so as to realize the backup deletion of the PDCP SDU. The determination condition of the optimizable packet can be adjusted according to actual requirements, and the embodiment does not limit it. The sequence number code meeting the acknowledgement condition can be determined from the saved sequence number codes according to the packet information of the optimizable packet and the acknowledgement sequence number of the ACK packet.
[0052] In an embodiment, the message information can be any information capable of being parsed from the TCP message, such as a link identifier, a TCP sequence number, a TCP payload length, and the like, and the embodiment is not limited more.
[0053] In an embodiment, the message received by the data sending end can be any type of message, such as a TCP message, a User Datagram Protocol (UDP) message, and the like. The data sending end can parse and encapsulate different types of messages received by the data sending end, generate a sequence number code, and use the sequence number code for subsequent judgment, and the embodiment is not limited more. It should be noted that, for messages other than TCP messages, the messages can be set as non-optimizable messages by default. After the sequence number code is determined through the TCP message, the PDCP SDU corresponding to the sequence number code can be deleted.
[0054] In addition, with reference to Figure 4 In an embodiment, the message information includes a message type, Figure 1 The step S120 in the embodiment shown includes but is not limited to the following steps:
[0055] In step S310, when it is determined according to the message type that the TCP message is a non-retransmitted SYN message or a non-retransmitted SYN ACK message, it is determined that the TCP link to which the TCP message belongs is an optimizable link, and it is determined that the TCP message is an optimizable message.
[0056] It should be noted that, according to the TCP protocol, if the SYN flag of the TCP message is 1, the payload length of the TCP message needs to be increased by 1. Therefore, the payload length of the SYN message or the SYN ACK message is always non-zero, and the non-retransmitted SYN message or the non-retransmitted SYN ACK message is usually the first message in the TCP link. Therefore, the sequence number of the SYN message or the SYN ACK message in the TCP link is definitely continuous, and thus the SYN message or the SYN ACK message can be determined as an optimizable message.
[0057] In addition, with reference to Figure 5 In an embodiment, the message information includes a message type, and the message information includes a TCP sequence number, a payload length, and a link identifier, Figure 1 The step S120 in the embodiment shown includes but is not limited to the following steps:
[0058] In step S320, when it is determined that the TCP message is a data message, it is determined according to the link identifier that the TCP link to which the TCP message belongs is an optimizable link, and it is determined according to the TCP sequence number and the payload length that the TCP message is an optimizable message.
[0059] In an embodiment, when the first packet of a TCP link is not a non-retransmitted SYN packet or a SYN ACK packet, the continuity of the sequence number of the TCP link cannot be ensured, and the determination condition of the optimized packet needs to meet the continuity of the TCP sequence number, thus, the premise of determining the optimized packet is not met, and it can be determined that all the packets of the TCP link are non-optimized packets.
[0060] It should be noted that when it is determined that the TCP link is an optimized link, and according to the TCP protocol, if the TCP packet carries a payload, the sequence number occupied by the packet is the length of the payload, thus, according to the TCP sequence number and the payload length, it can be determined whether the TCP packet is continuous with the sequence number occupied by the previous optimized packet. In the determination of the optimized packet, the sum of the TCP sequence number and the payload length can be used for determination, or after it is determined that a packet is an optimized packet, the reference sequence number of the next packet being an optimized packet can be generated according to the TCP sequence number and the payload length, and a specific mode can be selected according to actual needs, which will not be described here.
[0061] In addition, with reference to Figure 6 In an embodiment, Figure 5 The step S320 in the embodiment shown includes but is not limited to the following steps:
[0062] In step S410, when the payload length is greater than zero, and the TCP sequence number is greater than or equal to the sum of the TCP sequence number and the TCP payload length of the previous optimized packet belonging to the same TCP link of the TCP packet, it is determined that the TCP packet is an optimized packet.
[0063] Based on the above embodiment, when the payload length is zero, the TCP packet does not occupy any sequence number, thus, the ACK packet constructed by the data receiving end according to the TCP packet does not carry an acknowledgement sequence number, and the matching of the sequence number coding cannot be performed, thus, the TCP packet with the zero payload length is determined as a non-optimized packet by default.
[0064] In an embodiment, when the TCP sequence number is greater than or equal to the sum of the TCP sequence number and the TCP payload length of the previous optimized packet belonging to the same TCP link of the TCP packet, the TCP packet is determined as an optimized packet, thus, the sequence numbers of the adjacent optimized packets are necessarily continuous, and since the TCP packets are delivered in sequence, the TCP packet determined by the acknowledgement signal in the ACK packet constructed according to an optimized packet will also be acknowledged by the previous optimized packet, thus, the PDCP SDU backup that can be deleted can be quickly and batch-determined, and the efficiency of the backup deletion is effectively improved.
[0065] In addition, with reference to Figure 7 In an embodiment, the packet information further includes a TCP sequence number and a payload length, Figure 4The step S130 in the illustrated embodiment further includes but is not limited to the following steps:
[0066] The step S510 obtains maximum confirmable information composed of a TCP sequence number and a payload length.
[0067] The step S520, when the acknowledgement sequence number in the ACK message is greater than or equal to the sum of the TCP sequence number and the payload length in the maximum confirmable information, confirms the sequence number code corresponding to the TCP message as a sequence number code meeting the confirmation condition.
[0068] In an embodiment, the maximum confirmable information can be information data independently saved in the data sending end, or can be saved into a PDCP instance of the data sending end, and can be used to save message information of the latest encapsulated optimizable message.
[0069] In an embodiment, the maximum confirmable information composed of the TCP sequence number and the payload length can be directly saved into the maximum confirmable information, or can be saved after a specific value is calculated according to the TCP sequence number and the payload length, and the specific manner is adjusted according to actual needs, and the corresponding PDCP SDU can be matched according to the maximum confirmable information when the acknowledgement sequence number meets the condition.
[0070] In an embodiment, when the acknowledgement sequence number in the ACK message is greater than or equal to the sum of the TCP sequence number and the payload length in the maximum confirmable information, the TCP message corresponding to the TCP sequence number has been completely confirmed, i.e., the TCP message corresponding to the TCP sequence number is the maximum TCP sequence number message, and therefore, the TCP messages encapsulated before the TCP message have also been confirmed. The sequence number code of the PDCP SDU corresponding to the maximum TCP sequence number message is obtained as a reference code, and the sequence number code meeting the confirmation condition can be quickly determined. It should be noted that since the sequence number code is obtained according to the encapsulation order, the confirmation condition can be less than or equal to the sequence number code. For example, the sequence number code matched according to the maximum TCP sequence number message is 5, and the sequence number codes of the PDCP SDUs currently saved and not deleted are 1 to 4, which can all be confirmed as sequence number codes meeting the confirmation condition, and the backups of the PDCP SDUs corresponding to the sequence number codes 1 to 5 can be deleted.
[0071] In addition, with reference to Figure 8 In an embodiment, Figure 1 The step S100 in the illustrated embodiment includes but is not limited to the following steps:
[0072] The step S600 sets and saves sequence number codes for the PDCP SDUs according to the encapsulation order of the PDCP SDUs in the TCP link.
[0073] In an embodiment, according to Figure 2 As shown, after parsing the TCP packet, the data sending end encapsulates the TCP packet into PDCP PDU and backs up the PDCP SDU, so the encapsulation sequence of the TCP packet can set the sequence number of the PDCP SDU in turn, so that the sequence number can reflect the encapsulation sequence of the PDCP SDU in the TCP link. Since the PDCP PDU is usually delivered in sequence, the data receiving end also decapsulates and constructs the ACK packet in sequence, so the sequence number obtained from the ACK packet confirmation sequence number is the maximum confirmed sequence number, and the PDCP PDU delivered before it has also been confirmed. Therefore, according to the sequence number coding order, the PDCP SDU corresponding to the sequence number coding less than or equal to the sequence number coding can be determined as the confirmed PDCP SDU and deleted.
[0074] It should be noted that since the sequence number is determined according to the encapsulation sequence, for non-optimizable packets, although the packet information is not updated to the maximum confirmable information, it only means that the non-optimizable packet cannot be used to determine the maximum confirmed sequence number. The non-optimizable packet is still encapsulated into PDCP PDU and the PDCP SDU is backed up. Therefore, the embodiment determines the sequence number corresponding to the TCP packet that meets the conditions through the packet information of the optimizable packet and the determined sequence number of the ACK packet. The non-optimizable packet should also be included, and the sequence number can meet the confirmation condition in the above embodiment.
[0075] In order to elaborate the technical solutions of the embodiments of the present application, the following three specific examples are used to further illustrate the technical solutions of the embodiments of the present application.
[0076] It should be noted that in order to facilitate the description of the scheme, the base station is used as the data sending end and the terminal is used as the data receiving end in the following example scenarios, but this does not limit the technical solutions of the embodiments.
[0077] Scenario one: TCP sequence number of TCP flow is continuous
[0078] The PDCP layer of the base station receives the SYN message sent by the server, and parses the following first message information from the SYN message: the first TCP payload length is 1, the first link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the optimization condition is met, the message identifier is set to be optimized, the message identifier and the first message information are saved to the attribute information of the first backup PDCP SDU, the first link identifier, the first TCP sequence number and the first TCP payload length are saved under the PDCP instance, the first PDCP PDU is encapsulated, the first sequence number code is determined to be 1, and then the first PDCP PDU is delivered to the lower layer to send to the terminal.
[0079] After the terminal receives the PDCP PDU, the RLC state report inhibition timer is not timed out when the RLC protocol is unpacked, and the RLC state report is not sent. After the message obtained by unpacking passes through the RLC and PDCP protocol layers, it is delivered to the TCP / IP layer; the TCP / IP layer constructs a SYN ACK message, and the second message information is as follows: the first acknowledgement sequence number is 2, and the second link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000); the terminal delivers the SYN ACK message to the PDCP layer, and sends it to the base station through the PDCP, RLC and other protocol layers.
[0080] After the base station receives the SYN ACK message, since the message type is a TCP message, the second message information is parsed from the TCP message, since the second link identifier is the same as the first link identifier, the first message information is obtained from the PDCP instance, and the first PDCP SDU with the sequence number code 1 is matched out according to the first message information, so that the first PDCP SDU meets the condition of the TCP message sent by the terminal. The backup message of the first PDCP SDU is deleted.
[0081] The base station receives the first ACK message sent by the server, and parses the third message information: the second TCP sequence number is 2, the second TCP payload length is 0, and the third link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the second TCP payload length is 0, the optimization condition is not met, the message identifier is determined to be non-optimized, the message identifier and the third message information are updated to the attribute information of the second backup PDCP SDU, the second PDCP PDU is encapsulated after the message, the second sequence number code is determined to be 2, and then the second PDCP PDU is delivered to the lower layer to send to the terminal.
[0082] The base station receives the data message sent by the server, parses the fourth message information: the third TCP sequence number is 2, the third TCP payload length is 100, the fourth link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), the message meets the optimization condition, and is an optimized message. The message identifier and the fourth message information are updated to the third backup PDCP SDU, the third TCP sequence number and the third TCP payload length are updated to the PDCP instance, the message is encapsulated into the third PDCP PDU, the third sequence number code is determined as 3, and then the third PDCP PDU is delivered to the lower layer to send to the terminal.
[0083] After the terminal receives the third PDCP PDU sent by the base station, a second ACK message is constructed, wherein the second TCP acknowledgement sequence number of the second ACK message is 102, and the second ACK message is sent to the base station; the base station receives and parses the second ACK message, and since the second TCP acknowledgement sequence number is the sum of the third TCP sequence number and the third TCP payload length, the third backup PDCP SDU is matched out according to the third TCP sequence number and the third TCP payload length in the PDCP instance. Since the third sequence number code of the third backup PDCP SDU is 3 and the second sequence number code of the second backup PDCP SDU is 2, the backup messages of the third backup PDCP SDU and the second backup PDCP SDU are deleted together.
[0084] Scenario two: TCP sequence number of TCP flow is out of order.
[0085] The PDCP layer of the base station receives the SYN message sent by the server, and parses the following first message information from the SYN message: the first TCP payload length is 1, the first link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the message meets the optimization condition, the message identifier is set as optimized, the message identifier and the first message information are saved to the attribute information of the first backup PDCP SDU, the first link identifier, the first TCP sequence number and the first TCP payload length are saved to the PDCP instance, the message is encapsulated into the first PDCP PDU, the first sequence number code is determined as 1, and then the first PDCP PDU is delivered to the lower layer to send to the terminal.
[0086] After the terminal receives the PDCP PDU, when the RLC protocol is unpacked, the RLC status report inhibition timer does not time out, the RLC status report is not sent, the message obtained by unpacking passes through the RLC and PDCP protocol layers, and is delivered to the TCP / IP layer; the TCP / IP layer constructs a SYN ACK message, and the second message information is as follows: the first acknowledgement sequence number is 2, and the second link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, and server port: 20000); the terminal delivers the SYN ACK message to the PDCP layer, and sends the message to the base station through the PDCP, RLC and other protocol layers.
[0087] After the base station receives the SYN ACK message, since the message type is a TCP message, the second message information is parsed from the TCP message, since the second link identifier is the same as the first link identifier, the first message information is obtained from the PDCP instance, the first PDCP SDU with the sequence number code 1 is matched out according to the first message information, the first PDCP SDU meets the condition of the TCP message confirmation sent by the terminal, and the backup message of the first PDCP SDU is deleted.
[0088] The base station receives the first ACK message sent by the server, parses the third message information: the second TCP sequence number is 2, the second TCP payload length is 0, the third link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, and server port: 20000), since the second TCP payload length is 0, the optimization condition is not met, the message identifier is determined as non-optimizable, the message identifier and the third message information are updated to the attribute information of the second backup PDCP SDU, the message is encapsulated into a second PDCP PDU, the second sequence number code is determined as 2, and then the second PDCP PDU is delivered to the lower layer and sent to the terminal.
[0089] The base station receives the first data message sent by the server, parses the fourth message information: the third TCP sequence number is 102, the third TCP payload length is 100, the fourth link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, and server port: 20000), the first data message meets the optimization condition, the message identifier is determined as optimizable, the message identifier and the fourth message information are updated to the third backup PDCP SDU, the third TCP sequence number and the third TCP payload length are updated to the PDCP instance, the message is encapsulated into a third PDCP PDU, the third sequence number code is determined as 3, and then the third PDCP PDU is delivered to the lower layer and sent to the terminal.
[0090] After the terminal receives the first data message sent by the base station, a second ACK message is constructed, wherein the second TCP acknowledgement number of the second ACK message is 2; after the base station receives the second ACK message sent by the terminal, the second ACK message is parsed, since the second acknowledgement number is less than the sum of the third TCP sequence number and the third TCP payload length, the confirmation condition is not met, and the deletion of the backup message is not performed.
[0091] After the base station receives the second data message sent by the server, the fifth message information is parsed: the fourth TCP sequence number is 2, the fourth TCP payload length is 100, the fifth link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the TCP sequence number of the current message is less than the sum of the TCP sequence number and the TCP payload length stored under the PDCP instance, the optimization condition is not met, the message identifier is determined as non-optimizable, the message identifier is saved to the fourth backup PDCP SDU, the message is encapsulated into the fourth PDCP PDU, the fourth sequence number coding is determined as 4, and then the fourth PDCP PDU is delivered to the lower layer to send to the terminal.
[0092] After the terminal receives the second data message sent by the base station, a third ACK message is constructed, wherein the third TCP acknowledgement number of the third ACK message is 202; after the base station receives the third ACK message sent by the terminal, since the third TCP acknowledgement number is equal to the sum of the third TCP sequence number and the third TCP payload length, the confirmation condition is met, the third backup PDCP SDU is determined as the maximum confirmable PDCP SDU according to the above method, since the third sequence number coding of the third backup PDCP SDU is 3 and the second sequence number coding of the second backup PDCP SDU is 2, the backup messages of the third backup PDCP SDU and the second backup PDCP SDU are deleted together.
[0093] After the base station PDCP layer receives the third data message sent by the server, the sixth message information is parsed: the fifth TCP sequence number is 202, the fifth TCP payload length is 100, the sixth link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the fifth TCP sequence number is equal to the sum of the third TCP sequence number and the third TCP payload length, the optimization condition is met, the message identifier is determined as optimizable, the message identifier and the sixth message information are saved to the attribute information of the fifth backup PDCP SDU, the message is encapsulated into the fifth PDCP PDU, the fifth sequence number coding is determined as 5, and then the fourth PDCP PDU is delivered to the lower layer to send to the terminal.
[0094] After the terminal receives the third data message sent by the base station, a fourth ACK message is constructed, wherein the fourth TCP acknowledgement sequence number of the fourth data message is 302; after the base station receives the fourth ACK message sent by the terminal, since the fourth TCP acknowledgement sequence number is equal to the sum of the fifth TCP sequence number and the fifth TCP payload length, the confirmation condition is met, it is determined that the fifth backup PDCP SDU is the largest confirmable PDCP SDU, since the fifth sequence number code is 3 and the fourth sequence number code of the fourth backup PDCP SDU is 4, the backup message of the fifth backup PDCP SDU and the fourth backup PDCP SDU are deleted together.
[0095] Scenario three: mixed service scenario
[0096] The PDCP layer of the base station receives the SYN message sent by the server, and parses the following first message information from the SYN message: the first TCP payload length is 1, the first link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000), since the optimization condition is met, the message identifier is set to be optimized, the message identifier and the first message information are saved to the attribute information of the first backup PDCP SDU, the first link identifier, the first TCP sequence number and the first TCP payload length are saved to the PDCP instance, the message is encapsulated into the first PDCP PDU, the first sequence number code is determined to be 1, and then the first PDCP PDU is delivered to the lower layer to send to the terminal.
[0097] After the terminal receives the PDCP PDU, when the RLC protocol is unpacked, the RLC status report inhibition timer is not timed out, and the RLC status report is not sent, the message obtained after unpacking passes through the RLC and PDCP protocol layers and is delivered to the TCP / IP layer; the TCP / IP layer constructs a SYN ACK message, and the second message information is as follows: the first acknowledgement sequence number is 2, and the second link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, server port: 20000); the terminal delivers the SYN ACK message to the PDCP layer, and sends it to the base station through the PDCP, RLC and other protocol layers.
[0098] After the base station receives the SYN ACK message, since the message type is a TCP message, the second message information is parsed from the TCP message, since the second link identifier is the same as the first link identifier, the first message information is obtained from the PDCP instance, and the first PDCP SDU with the sequence number code 1 is matched according to the first message information, then the first PDCP SDU meets the condition of the TCP message sent by the terminal, and the backup message of the first PDCP SDU is deleted.
[0099] The base station receives the first ACK message sent by the server, and parses the third message information: the second TCP sequence number is 2, the second TCP payload length is 0, and the third link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, and server port: 20000). Since the second TCP payload length is 0, the optimization condition is not met, the message identifier is determined to be non-optimizable, the message identifier and the third message information are updated to the attribute information of the second backup PDCP SDU, the message is encapsulated into the second PDCP PDU, the second sequence number coding is determined to be 2, and then the second PDCP PDU is delivered to the lower layer to send to the terminal.
[0100] The base station receives the UDP message sent by the server. Since the UDP message does not belong to the TCP message, the optimization condition is not met, the message identifier is determined to be non-optimizable, and the message identifier is saved under the third backup PDCP SDU. After the message is encapsulated into the third PDCP PDU, the third sequence number coding is determined to be 3, and then the third PDCP PDU is delivered to the lower layer to send to the terminal.
[0101] The base station receives the data message sent by the server, parses the fourth message information: the third TCP sequence number is 2, the third TCP payload length is 100, the fourth link identifier (client IP: 1.1.1.1, server IP: 2.2.2.2, client port: 10000, and server port: 20000), and meets the optimization condition. The message identifier is determined to be optimizable, the message identifier is saved under the fourth backup PDCP SDU, the message is encapsulated into the fourth PDCP PDU, the fourth sequence number coding is determined to be 4, and then the fourth PDCP PDU is delivered to the lower layer to send to the terminal.
[0102] After the terminal receives the TCP DATA sent by the base station, the second ACK message is constructed, wherein the second TCP acknowledgment sequence number of the second ACK message is 102. The base station receives the second ACK message sent by the terminal. Since the second TCP acknowledgment sequence number is equal to the sum of the third TCP sequence number and the third TCP payload length, the confirmation condition is met, the fourth backup PDCP SDU is determined to be the maximum confirmable PDCP SDU according to the above method, the fourth sequence number coding of the fourth backup PDCP SDU is 4, the second sequence number coding of the second backup PDCP SDU is 2, and the third sequence number coding of the third backup PDCP SDU is 3. Therefore, the backup messages of the second backup PDCP SDU, the third backup PDCP SDU, and the fourth backup PDCP SDU are deleted together.
[0103] In addition, with reference to Figure 9An embodiment of the present invention also provides a base station 900, which includes: a memory 920, a processor 910, and a computer program stored in the memory 920 and executable on the processor 910.
[0104] The processor 910 and memory 920 can be connected via a bus or other means.
[0105] The non-transient software program and instructions required to implement the data processing method of the above embodiments are stored in the memory 920. When executed by the processor 910, the data processing method of the above embodiments is executed, for example, the method described above. Figure 1 Method steps S110 to S140, Figure 3 Method steps S210 to S220, Figure 4 Method step S310, Figure 5 Method step S320, Figure 6 Method step S410, Figure 7 Method steps S510 to S520, Figure 8 Method step S600.
[0106] Additionally, refer to Figure 10 An embodiment of the present invention also provides a terminal 1000, which includes: a memory 1020, a processor 1010, and a computer program stored in the memory 1020 and executable on the processor 1010.
[0107] The processor 1010 and the memory 1020 can be connected via a bus or other means.
[0108] The non-transient software program and instructions required to implement the data processing method of the above embodiments are stored in the memory 1020. When executed by the processor 1010, the data processing method of the above embodiments is executed, for example, the method described above. Figure 1 Method steps S110 to S140, Figure 3 Method steps S210 to S220, Figure 4 Method step S310, Figure 5 Method step S320, Figure 6 Method step S410, Figure 7 Method steps S510 to S520, Figure 8 Method step S600.
[0109] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs.
[0110] Furthermore, one embodiment of the present invention provides a computer-readable storage medium storing computer-executable instructions that are executed by a processor or controller, for example, by a processor in the above embodiments, causing the processor to perform the data processing method applied to a data transmitting end in the above embodiments, for example, performing the above-described... Figure 1 Method steps S110 to S140, Figure 3 Method steps S210 to S220, Figure 4 Method step S310, Figure 5 Method step S320, Figure 6 Method step S410, Figure 7 Method steps S510 to S520, Figure 8 Method step S600. Those skilled in the art will understand that all or some of the steps in the methods disclosed above can be implemented as software, firmware, hardware, and suitable combinations thereof. Some or all physical components can be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software can be distributed on a computer-readable medium, which can include computer storage media (or non-transitory media) and communication media (or transient media). As is known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible to a computer. Furthermore, as is known to those skilled in the art, communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and may include any information delivery medium.
[0111] The above is a specific description of the preferred embodiment of the present application, but the present application is not limited to the above-described embodiments, and those skilled in the art can make various equivalent modifications or replacements without departing from the spirit of the present application, and these equivalent modifications or replacements are all included in the scope defined by the claims of the present application.
Claims
1. A data processing method, applied at a data sending end, comprising: Acquire Transmission Control Protocol (TCP) packets, parse the TCP packets, and obtain the packet information of the TCP packets; Based on the message information, the TCP message is determined to be an optimizable message; Back up the Packet Data Aggregation Protocol Service Data Unit (PDCP SDU) corresponding to the TCP packet, and generate and save the sequence number encoding corresponding to the PDCP SDU; Send the TCP message to the data receiving end; When an ACK packet carrying an acknowledgment number is received from the data receiving end according to the TCP packet, the maximum acknowledgment information is obtained, and the sequence number code that meets the acknowledgment conditions is determined from the stored sequence number codes according to the acknowledgment number in the ACK packet and the maximum acknowledgment information; wherein, the maximum acknowledgment information is composed of the packet information of the optimizable packet, and the optimizable packet is one or more packets with consecutive sequence numbers in the same TCP link; Delete the PDCP SDU corresponding to the sequence number that meets the confirmation conditions.
2. The data processing method according to claim 1, characterized in that, The message information includes the message type, and determining that the TCP message is an optimizable message based on the message information includes: When the TCP packet is determined to be a non-retransmitted synchronous SYN packet or a non-retransmitted synchronous ACK packet based on the packet type, the TCP link to which the TCP packet belongs is determined to be an optimizable link, and the TCP packet is determined to be an optimizable packet.
3. The data processing method according to claim 1, characterized in that, The message information includes the TCP sequence number, payload length, and link identifier. Determining that the TCP message is an optimizable message based on the message information includes: When the TCP packet is determined to be a data packet, the TCP link to which the TCP packet belongs is determined to be an optimizable link based on the link identifier, and the TCP packet is determined to be an optimizable packet based on the TCP sequence number and the payload length.
4. The data processing method according to claim 3, characterized in that, The step of determining that the TCP packet is an optimizable packet based on the TCP sequence number and the payload length includes: If the payload length is greater than zero, and the TCP sequence number is greater than or equal to the sum of the TCP sequence number and TCP payload length of the previous optimizable packet belonging to the same TCP link as the TCP packet, then the TCP packet is determined to be an optimizable packet.
5. The data processing method according to claim 1, characterized in that, The message information also includes a TCP sequence number and payload length. The maximum acknowledgment information is composed of the TCP sequence number and the payload length. The step of determining the sequence number encoding that meets the acknowledgment conditions from the stored sequence number encodings based on the acknowledgment number in the ACK message and the maximum acknowledgment information includes: When the acknowledgment number in the ACK packet is greater than or equal to the sum of the TCP sequence number and the payload length in the maximum acknowledgment information, the sequence number encoding that is less than or equal to the sequence number encoding corresponding to the TCP packet is confirmed as a sequence number encoding that meets the acknowledgment conditions.
6. The data processing method according to claim 1, characterized in that, The generation and storage of the sequence number code corresponding to the PDCPSDU includes: The sequence number encoding of the PDCP SDU is set and saved according to the encapsulation order of the PDCP SDU in the TCP link.
7. A base station, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, implements the data processing method as described in any one of claims 1 to 6.
8. A terminal, comprising: A memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that the processor, when executing the computer program, implements the data processing method as described in any one of claims 1 to 6.
9. A computer-readable storage medium storing computer-executable instructions for performing the data processing method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Data processing method, data processing device, RLC entity and PDCP entity
CN101729524A