Base station uplink and downlink service data optimized transmission method and device
By determining whether the COUNT value of PDCP SDU data is equal to RX_DELIV in the PDCP protocol layer of the base station, and processing the ACK data in a timely manner, the ACK feedback delay problem caused by the disordered uplink data is solved, and the downlink data transmission traffic and user experience are improved.
Patent Information
- Application Number
- CN202210173509.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-24
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2042-02-24
AI Technical Summary
In the base stations in the 5G era, due to the out-of-order PDCP SDU data received by the PDCP entity during the uplink transmission, the ACK feedback of the TCP data cannot be submitted to the core network in time, thereby reducing the downlink TCP data transmission traffic and affecting the user experience.
When the PDCP SDU data is received by the base station PDCP protocol layer, it is determined whether the corresponding COUNT value is equal to RX_DELIV. If not equal, data type parsing is performed. If the data is parsed as ACK data, the data is sent to the upper layer immediately and the reorder window is maintained using its corresponding COUNT value.
By submitting ACK data in a timely manner, prevent the TCP window from shrinking, improve the downlink TCP data transmission traffic, improve the user experience, and ensure the stable transmission of uplink data through maintenance reordering windows.
Smart Images

Figure CN115065991B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of wireless communication technology, and in particular to a method and device for optimizing transmission of uplink and downlink service data of a base station. Background Art
[0002] The introduction of 5G technology has increased the data transmission speed and provided convenience for terminal users to upload and download faster. At the same time, it has also made the uplink and downlink business scenarios in the 5G era more complicated. A typical uplink and downlink business scenario of a base station is the downlink transmission of TCP data and the uplink transmission of ACK feedback and other types of data of TCP data; when there is interference on the air interface or the signal is relatively weak, the uplink transmission in this business scenario is likely to cause the uplink data arriving at the PDCP protocol layer of the base station to be out of order.
[0003] If the uplink data received by the PDCP protocol layer of the base station is out of order, it will usually be processed in a reordering manner. This means that the ACK data received by the PDCP protocol layer needs to wait in the reordering window and cannot be delivered to the core network in time, causing the TCP window for sending TCP data in the application layer to shrink, which in turn leads to a decrease in the downlink TCP data transmission traffic and a reduction in user experience. Summary of the invention
[0004] The purpose of the present invention is to provide a method and device for optimizing the transmission of uplink and downlink service data of a base station, so as to solve the problem that the ACK feedback of TCP data cannot be delivered to the core network in time due to the disorder of PDCP SDU received by the PDCP entity during the uplink transmission process, so as to increase the downlink TCP data transmission flow and enhance the user experience.
[0005] In a first aspect, an embodiment of the present invention provides a method for optimizing transmission of uplink and downlink service data of a base station, comprising:
[0006] When the PDCP protocol layer of the base station receives the PDCP SDU data, determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV;
[0007] If the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, performing data type analysis on the PDCP SDU data;
[0008] If the PDCP SDU data is parsed as ACK data, the PDCP SDU data is immediately sent to an upper layer, and a COUNT value corresponding to the PDCP SDU data is used to maintain a reordering window of the PDCP protocol layer;
[0009] The RX_DELIV is a COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0010] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, the method of maintaining the reordering window of the PDCP protocol layer by using the COUNT value corresponding to the PDCP SDU data includes:
[0011] In the PDCP protocol layer, the COUNT value corresponding to the PDCP SDU data is regarded as a COUNT value corresponding to the PDCP SDU data with empty content;
[0012] Buffering the PDCP SDU data whose content is empty into a reordering window;
[0013] After parsing the data type of the PDCP SDU data, the method further includes:
[0014] If it is parsed that the PDCP SDU data is not ACK data, the PDCP SDU data is cached in a reordering window.
[0015] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, after determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the method further includes:
[0016] If the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the PDCP SDU data is immediately sent to the upper layer, and the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and the theoretical COUNT value and whose content is not empty is sent to the upper layer in ascending order of COUNT value;
[0017] Update the RX_DELIV to the theoretical COUNT value;
[0018] The theoretical COUNT value is a COUNT value corresponding to the second PDCP SDU data in the reordering window that has not been submitted to an upper layer and is still waiting to be received.
[0019] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, when the reordering timer set in the reordering window reaches the timing time, the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and RX_REORD and whose content is not empty is sent to the upper layer in ascending order of COUNT value, and the RX_DELIV is updated to the RX_REORD;
[0020] The RX_REORD is a COUNT value corresponding to the PDCP SDU data that triggers the reordering timer.
[0021] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, after the PDCP protocol layer of the base station receives the PDCP SDU data, the method further includes:
[0022] If the COUNT value corresponding to the PDCP SDU data is not less than RX_NEXT, changing the RX_NEXT to the sum of the COUNT value corresponding to the PDCP SDU data and 1;
[0023] Otherwise, keep the RX_NEXT unchanged;
[0024] The RX_NEXT is a COUNT value corresponding to the PDCP SDU data expected to be received.
[0025] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, after the RX_DELIV is updated, the method further includes:
[0026] In the case where the RX_NEXT is not equal to the RX_DELIV, a reordering timer is started.
[0027] According to the method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention, when the RX_DELIV is not less than the RX_REORD, the reordering timer is turned off;
[0028] After the reordering timer is started, if the RX_DELIV is less than the RX_NEXT, the RX_REORD is updated to the RX_NEXT.
[0029] In a second aspect, an embodiment of the present invention provides a base station uplink and downlink service data optimization transmission device, the device comprising:
[0030] A judgment module, configured to judge whether a COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV when the PDCP protocol layer of the base station receives the PDCP SDU data;
[0031] a parsing module, configured to perform data type parsing on the PDCP SDU data if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV;
[0032] an uploading and maintaining module, configured to immediately send the PDCP SDU data to an upper layer if the PDCP SDU data is parsed as ACK data, and maintain a reordering window of the PDCP protocol layer using a COUNT value corresponding to the PDCP SDU data;
[0033] The RX_DELIV is a COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0034] In a third aspect, the present invention further provides an electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the steps of the method for optimizing transmission of uplink and downlink service data of a base station are implemented as described in the first aspect.
[0035] In a fourth aspect, the present invention further provides a non-transitory computer-readable storage medium, which, when executed by a processor, implements the steps of the method for optimizing transmission of uplink and downlink service data of a base station as described in the first aspect.
[0036] The present invention provides a method and device for optimizing transmission of uplink and downlink service data of a base station. When the PDCP protocol layer of the base station receives PDCP SDU data whose COUNT value is not equal to RX_DELIV, the data type of the PDCP SDU data is parsed; wherein RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received. If the PDCP SDU data is ACK data, the PDCP SDU data is immediately sent to the upper layer; so that the ACK data received by the PDCP protocol layer can be delivered to the core network in time without waiting in the reordering window, thereby preventing the TCP window for sending TCP data in the application layer from shrinking, increasing the downlink TCP data transmission flow, and improving the user experience. At the same time, the COUNT value corresponding to the PDCP SDU data is used to maintain the reordering window of the PDCP protocol layer; the continuity of the PDCP SN is guaranteed to maintain the stable transmission of the uplink data, and the downlink data transmission flow is increased while stabilizing the uplink data transmission flow, which has good promotion and application value. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] In order to more clearly illustrate the technical solutions in the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0038] Figure 1It is a flow chart of a method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention;
[0039] Figure 2 This is an example diagram of a PDCP protocol layer reordering method in an example of the present invention;
[0040] Figure 3 It is a structural schematic diagram of a base station uplink and downlink service data optimization transmission device provided by the present invention;
[0041] Figure 4 It is a structural schematic diagram of an electronic device for implementing a method for optimizing transmission of uplink and downlink service data of a base station provided by the present invention. DETAILED DESCRIPTION
[0042] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0043] Combine the following Figure 1-Figure 4 The present invention describes a method and device for optimizing transmission of uplink and downlink service data of a base station.
[0044] First, as Figure 1 As shown, the present invention provides a method for optimizing transmission of uplink and downlink service data of a base station, comprising:
[0045] S11. When the PDCP protocol layer of the base station receives PDCP SDU data, it is determined whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV;
[0046] In the technical field of the present invention, each terminal has a corresponding bearer corresponding to it on the base station side, so the data transmission between the terminal and the base station corresponds to the corresponding bearer of the base station. For uplink data, the terminal data can find the corresponding bearer when it is sent to the base station. The base station sends the data to the core network after processing the data through the corresponding bearer. For downlink data, the base station finds the bearer corresponding to the terminal when the data is received from the core network. The base station sends the data to the corresponding terminal after processing.
[0047] It can be understood that if the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, it means that the PDCP SDU data is the first PDCP SDU data in the previous reordering window that has not been submitted to the upper layer and is still waiting to be received, and the PDCP SDU data can be sent to the upper layer normally without waiting in the reordering window; on the contrary, if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, it means that the PDCP SDU data is not the first PDCP SDU data in the previous reordering window that has not been submitted to the upper layer and is still waiting to be received. At this time, the PDCP protocol layer of the base station will inevitably receive PDCP SDU data out of order, and the PDCP SDU data should be cached in the reordering window first, and then sent to the upper layer after the PDCP SN is continuous. Here, "before" means before the PDCP SDU data is received.
[0048] For example, the current base station is transmitting PDCP SDU data with COUNT values of 0 to 9, PDCP SDU data 0 has been sent to the core network, PDCP SDU data 1 and PDCP SDU data 4 to 9 have not been received, PDCP SDU data 2 and PDCP SDU data 3 are received and cached in the reordering window, and RX_DELIV is 1 at this time;
[0049] Assume that the COUNT value of the currently received PDCP SDU data is 1, that is, the COUNT value of the currently received PDCP SDU data is equal to RX_DELIV, which means that the currently received PDCP SDU data is the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0050] Assume that the COUNT value of the currently received PDCP SDU data is 5, that is, the COUNT value of the currently received PDCP SDU data is not equal to RX_DELIV, which means that the currently received PDCP SDU data is not the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0051] It should be noted that the upper layer mentioned in the present invention refers to the data transmission layer above the base station PDCP SDU protocol layer when the base station sends data to the core network.
[0052] S12. If the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, performing data type analysis on the PDCP SDU data;
[0053] In the technical field of the present invention, conventional means may be used to parse the data type of the PDCP SDU data, which will not be described in detail here.
[0054] S13: If it is parsed that the PDCP SDU data is ACK data, the PDCP SDU data is immediately sent to an upper layer, and a COUNT value corresponding to the PDCP SDU data is used to maintain a reordering window of the PDCP protocol layer.
[0055] The core of the optimized transmission of uplink and downlink service data of the base station of the present invention is to give priority to the uplink ACK data, that is, when the PDCP SDU data is received out of order at the PDCP protocol layer of the base station, the response ACK of the TCP data sent from the terminal to the base station does not participate in the reordering and is directly sent to the core network. The purpose of this setting is to enable the ACK data received by the PDCP protocol layer to be delivered to the core network in a timely manner, thereby preventing the TCP window for sending TCP data in the application layer from shrinking, increasing the downlink TCP data transmission flow, and improving the user experience.
[0056] However, such an improvement should not harm uplink transmission. Therefore, when PDCP SDU data is received out of order at the base station PDCP protocol layer, it is necessary to maintain the reordering window for uplink ACK data to ensure the continuity of the PDCP SN so that other types of uplink data can be transmitted normally and maintain the stability of the uplink data transmission flow.
[0057] The RX_DELIV is a COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0058] The present invention provides a method for optimizing transmission of uplink and downlink service data of a base station. When the PDCP protocol layer of the base station receives PDCP SDU data whose COUNT value is not equal to RX_DELIV, the data type of the PDCP SDU data is parsed; wherein RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received. If the PDCP SDU data is ACK data, the PDCP SDU data is immediately sent to the upper layer; so that the ACK data received by the PDCP protocol layer can be delivered to the core network in time without waiting in the reordering window, thereby preventing the TCP window for sending TCP data in the application layer from shrinking, increasing the downlink TCP data transmission flow, and improving the user experience. At the same time, the COUNT value corresponding to the PDCP SDU data is used to maintain the reordering window of the PDCP protocol layer; the continuity of the PDCP SN is guaranteed to maintain the stable transmission of the uplink data, and the downlink data transmission flow is increased while stabilizing the uplink data transmission flow, which has good promotion and application value.
[0059] Based on the above embodiments, as an optional embodiment, maintaining the reordering window of the PDCP protocol layer by using the COUNT value corresponding to the PDCP SDU data includes:
[0060] In the PDCP protocol layer, the COUNT value corresponding to the PDCP SDU data is regarded as a COUNT value corresponding to the PDCP SDU data with empty content;
[0061] Buffering the PDCP SDU data whose content is empty into a reordering window;
[0062] The present invention is applicable to base station uplink and downlink service scenarios of downlink transmission of TCP data and uplink transmission of ACK feedback of TCP data and other types of data, because uplink transmission in this service scenario is carried out when there is interference at the air interface or the signal is relatively weak, which easily makes the uplink data arriving at the PDCP protocol layer of the base station out of order; and in the traditional method, the uplink ACK data cannot be sent immediately due to the disorder, and it is necessary to wait in the reordering window for other data continuous with it to come up or the reordering timeout before sending, so that the uplink ACK data cannot be sent to the core network in time; therefore, in the case of disordered uplink data, the present invention immediately sends the received uplink ACK data to the core network, and replaces the uplink ACK data with PDCP SDU data with a COUNT value corresponding to the uplink ACK data and empty content, and caches it in the reordering window, so that it cooperates with the reordering work of the PDCP protocol layer of the base station, maintains the continuity of the PDCP SN of the reordering window, ensures that other types of uplink data can also be transmitted normally when the PDCP SDU data reception disorder occurs at the PDCP protocol layer of the base station, and maintains the stability of the uplink data transmission flow.
[0063] After parsing the data type of the PDCP SDU data, the method further includes:
[0064] If it is parsed that the PDCP SDU data is not ACK data, the PDCP SDU data is cached in a reordering window.
[0065] It is understandable that when PDCP SDU data is received out of order at the PDCP protocol layer of the base station, the PDCP SDU data is not the first PDCP SDU data in the previous reordering window that has not been submitted to the upper layer and is still waiting to be received, and the PDCP SDU data is not ACK data. In this case, the PDCP SDU data can only be cached in the reordering window and wait for its corresponding PDCP SN to be continuous or wait for the reordering to time out before it can be sent to the core network.
[0066] Based on the above embodiments, as an optional embodiment, after determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the method further includes:
[0067] If the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the PDCP SDU data is immediately sent to the upper layer, and the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and the theoretical COUNT value and whose content is not empty is sent to the upper layer in ascending order of COUNT value;
[0068] Update the RX_DELIV to the theoretical COUNT value;
[0069] The theoretical COUNT value is a COUNT value corresponding to the second PDCP SDU data in the reordering window that has not been submitted to an upper layer and is still waiting to be received.
[0070] In the technical field of the present invention, the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV and may be generated under two working conditions;
[0071] The first working condition is that the PDCP protocol layer of the base station does not receive PDCP SDU data out of order.
[0072] In this case, there is no cached PDCP SDU data in the reordering window of the base station, the reordering timer is not turned on, RX_DELIV is equal to RX_NEXT, and the PDCP SDU data whose content is between RX_DELIV and the theoretical COUNT value and whose content is not empty does not exist; therefore, when the PDCP protocol layer of the base station receives the PDCP SDU data, it immediately sends it to the core network, and then sends the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and the theoretical COUNT value and whose content is not empty to the upper layer in ascending order of the COUNT value (because the PDCP SDU data does not exist, the PDCP SDU data is not actually sent).
[0073] The second working condition is: PDCP SDU data is received out of order at the PDCP protocol layer of the base station.
[0074] In this case, there is cached PDCP SDU data in the reordering window of the base station, and the reordering timer has been turned on; therefore, when the PDCP protocol layer of the base station receives the PDCP SDU data, it immediately sends it to the core network, and then sends the PDCP SDU data in the reordering window whose COUNT value is between RX_DELIV and the theoretical COUNT value and whose content is not empty to the upper layer in ascending order of the COUNT value.
[0075] It should be noted that the PDCP SDU data with empty content has no actual message, so when the PDCP SDU data to be sent is the PDCP SDU data with empty content, the reordering window deletes the PDCP SDU data with empty content and regards it as having been sent.
[0076] The present invention automatically skips the transmission of PDCP SDU data with empty content and COUNT value corresponding to uplink ACK data marked in the reordering window, and erases it to ensure the normal operation of the reordering window, thereby enabling the normal transmission of other types of uplink data and maintaining the stability of uplink data transmission flow.
[0077] Based on the above embodiments, as an optional embodiment, when the reordering timer set in the reordering window reaches the timing time, the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and RX_REORD and whose content is not empty is sent to the upper layer in ascending order of COUNT value, and the RX_DELIV is updated to the RX_REORD;
[0078] The RX_REORD is a COUNT value corresponding to the PDCP SDU data that triggers the reordering timer.
[0079] In the technical field of the present invention, when the reordering timer reaches the timing time, the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and RX_REORD and whose content is not empty is sent to the upper layer, and the PDCP SDU data whose COUNT value is the RX_DELIV and the PDCP SDU data whose COUNT value is not cached in the reordering window and whose COUNT value is between RX_DELIV and RX_REORD are abandoned; RX_DELIV is updated to the RX_REORD; and the reordering timer is closed.
[0080] For example, when the reordering timer times out, the current PDCP SDU data 0 has been sent to the core network, PDCP SDU data 1 and PDCP SDU data 4 have not been received, PDCP SDU data 2 has been received and is ACK data (sent to the core network, and the PDCP SDU data replacing PDCP SDU data 2 has been cached in the reordering window), PDCP SDU data 3 and PDCP SDU data 5 have been received, the current reordering timer has been started, the RX_REORD has been set to 6, and the RX_DELIV has been set to 1;
[0081] Then give up waiting for PDCP SDU data 1 and PDCP SDU data 4, and send PDCP SDU data 3 and PDCP SDU data 5 to the core network (note that because PDCP SDU data 2 has been sent, when it rotates to PDCP SDU data 2, the PDCP SDU data with empty content in the reordering window that replaces PDCP SDU data 2 is deleted and the information is synchronized to that PDCP SDU data 2 in the reordering window has been sent to the core network).
[0082] In addition, because the waiting for PDCP SDU data 1 and PDCP SDU data 4 is abandoned, RX_DELIV is updated to 6, and the reordering timer is stopped at this time.
[0083] The present invention uses a reordering timer to control the waiting time of PDCP SDU data buffered in a reordering window, thereby ensuring normal transmission of other uplink data other than ACK data when the sequence is disordered.
[0084] Based on the above embodiments, as an optional embodiment, after the PDCP protocol layer of the base station receives the PDCP SDU data, the method further includes:
[0085] If the COUNT value corresponding to the PDCP SDU data is not less than RX_NEXT, changing the RX_NEXT to the sum of the COUNT value corresponding to the PDCP SDU data and 1;
[0086] Otherwise, keep the RX_NEXT unchanged;
[0087] The RX_NEXT is a COUNT value corresponding to the PDCP SDU data expected to be received.
[0088] The present invention mainly optimizes specific uplink and downlink service scenarios of the PDCP protocol layer of the base station (downlink transmission of TCP data and uplink transmission of ACK feedback and other types of data of TCP data). If the terminal wants to transmit data through the base station, the terminal must first initiate an access process. Through the corresponding process processing, each protocol layer on the base station side will establish a corresponding bearer, so the PDCP protocol layer also establishes a PDCP bearer. The reordering of the PDCP bearer requires the maintenance of the following three variables:
[0089] a) RX_NEXT,: COUNT value corresponding to the PDCP SDU data expected to be received, initialized to 0;
[0090] b) RX_DELIV: COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received, initialized to 0;
[0091] c) RX_REORD: COUNT value corresponding to the PDCP SDU data that triggers the reordering timer. , initialized to 0;
[0092] For RX_NEXT, it is always the sum of the maximum value of the COUNT values corresponding to all PDCP SDU data buffered in the reordering window and 1;
[0093] The present invention provides conditions for normal reordering and normal transmission of PDCP SDU data buffered in a reordering window by updating RX_NEXT in real time.
[0094] Based on the above embodiments, as an optional embodiment, after the RX_DELIV is updated, the following further includes:
[0095] In the case where the RX_NEXT is not equal to the RX_DELIV, a reordering timer is started.
[0096] It can be understood that after the RX_DELIV is updated, if the RX_NEXT is equal to the RX_DELIV, it means that the PDCP SDU data reception of the PDCP protocol layer of the base station is not out of order at this time, and there is no need to start the reordering timer; if the RX_NEXT is not equal to the RX_DELIV, it means that the PDCP SDU data reception of the PDCP protocol layer of the base station is out of order at this time, and the reordering timer needs to be started.
[0097] It should be noted that the maximum number of PDCP SDU data that can be buffered in the reordering window in the present invention is 2. K ; Wherein, K is the size of the sequence number carried by the base station PDCP protocol layer.
[0098] The present invention limits the start condition of the reordering timer to ensure the normal progress of the reordering work and the normal sending of the PDCP SDU data buffered in the reordering window.
[0099] Based on the above embodiments, as an optional embodiment, when the RX_DELIV is not less than the RX_REORD, the reordering timer is turned off;
[0100] After the reordering timer is started, if the RX_DELIV is less than the RX_NEXT, the RX_REORD is updated to the RX_NEXT.
[0101] It can be understood that if RX_DELIV is not less than the RX_REORD, it means that the previously out-of-order PDCP SN sequence numbers (eg, PDCP SDU data 1 to PDCP SDU data 6) have been transmitted, and thus the reordering timer is closed accordingly.
[0102] Likewise, after the reordering timer is started, if the RX_DELIV is less than the RX_NEXT, it means that the PDCP SDU data whose COUNT value is between RX_DELIV and the RX_NEXT are out of sequence, and thus the RX_REORD is updated to the RX_NEXT.
[0103] The present invention lays a foundation for the normal implementation of the reordering work and the normal transmission of the PDCP SDU data buffered in the reordering window by updating RX_REORD in real time.
[0104] The uplink data sent by the terminal reaches the base station through the air interface to find the corresponding bearer. If there is interference on the air interface or the signal strength is relatively weak, the uplink data will inevitably arrive at the PDCP protocol layer of the base station out of order. In view of this situation, when the bearer of the current terminal resolves that the uplink data belongs to ACK data and the corresponding PDCP SN sequence number is discontinuous, the present invention immediately sends the ACK data to the core network and uses the COUNT value of the ACK data to maintain the reordering window, that is, the out-of-order ACK data is not reordered but the reordering window is maintained. The purpose of maintaining the reordering window is to avoid holes in the reordering window, thereby preventing the UDP data in the reordering window from being discontinuous and having to wait until the reordering timeout before being sent, affecting the UDP data flow.
[0105] To explain better, here is an example:
[0106] Given a base station, the base station performs uplink and downlink data transmission at the same time, downlink transmission of TCP data, uplink transmission of UDP data and TCP data response ACK;
[0107] Figure 2 An example diagram of the PDCP protocol layer reordering method is provided, such as Figure 2 As shown, the terminal UE sends 10 data, and the PDCP SN numbers maintained by the terminal-side PDCP protocol are 0 to 9, two of which are uplink ACK data, and the remaining 8 are UDP data. Due to interference or weak air interface, the data received by the gNB on the base station side is out of order.
[0108] First, PDCP SDU data 0 (UDP) is received, PDCP SDU data 0 (UDP) is sent to the core network UPF, RX_NEXT is updated to 1, and RX_DELIV is updated to 1;
[0109] Then, PDCP SDU data 3 (UDP) is received. Since PDCP SDU data 1 (UDP) is not received, PDCP SDU data 3 cannot be sent, and PDCP SDU data 3 is cached in the reordering window. Since PDCP SDU data 1 (UDP) is not received, RX_DELIV is not updated, RX_NEXT is updated to 4, and the reordering timer needs to be started and RX_REORD is updated to 4.
[0110] Then, PDCP SDU data 2 (ACK) is received. Since PDCP SDU data 1 (UDP) is not received, the window is discontinuous and PDCP SDU data 2 (ACK) cannot be sent. However, the present invention optimizes ACK priority transmission, so PDCP SDU data 2 (ACK) is directly sent to the core network, but the reordering window still needs to be maintained. PDCP SDU data 2 (ACK) is cached in the reordering window but the corresponding data is empty; RX_NEXT, RX_DELIV and RX_REORD are maintained unchanged;
[0111] There will be two situations:
[0112] Receive PDCP SDU data 1 (UDP), the reordering window is continuous, because PDCP SDU data 2 (ACK) has been sent, PDCP SDU data 3 (UDP) is still in the cache and has not been sent, send PDCP SDU data 1 (UDP) to the core network UPF, and then send PDCP SDU data 3 (UDP) to the core network; update RX_DELIV to 4, and turn off the timer;
[0113] Receive PDCP SDU data 4 (UDP), cache PDCP SDU data 4 (UDP) in the reordering window. Because PDCP SDU data 1 (UDP) is not received and the reordering timer times out, it is necessary to send the data cached in the reordering window. Since PDCP SDU data 2 (ACK) has been sent, PDCP SDU data 3 (UDP) and PDCP SDU data 4 (UDP) are still cached and not sent, PDCP SDU data 3 (UDP) and PDCP SDU data 4 (UDP) are directly sent to the core network UPF, RX_DELIV and RX_NEXT are updated to 5, and the timer is turned off.
[0114] The data sent by the terminal to the base station is processed according to the above strategy. The principle is to ensure that ACK data is sent first, and the reordering window cannot be disordered, so that UDP data can also be sent in order. This ensures that ACK data is sent quickly and UDP data traffic is not affected.
[0115] In the second aspect, a base station uplink and downlink service data optimization transmission device provided by the present invention is described. The base station uplink and downlink service data optimization transmission device described below and the base station uplink and downlink service data optimization transmission method described above can correspond to each other. Figure 3 The following is a schematic diagram of a structure of a base station uplink and downlink service data optimization transmission device. Figure 3 As shown, the device includes: a judgment module 21, an analysis module 22 and an upload and maintenance module 23;
[0116] The judging module 21 is configured to judge whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV when the PDCP protocol layer of the base station receives the PDCP SDU data;
[0117] The parsing module 22 is configured to perform data type parsing on the PDCP SDU data if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV;
[0118] The uploading and maintaining module 23 is used for immediately sending the PDCP SDU data to the upper layer if the PDCP SDU data is parsed as ACK data, and maintaining the reordering window of the PDCP protocol layer by using the COUNT value corresponding to the PDCP SDU data;
[0119] The RX_DELIV is a COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0120] The present invention provides a base station uplink and downlink service data optimization transmission device. When the base station PDCP protocol layer receives PDCP SDU data whose COUNT value is not equal to RX_DELIV, the data type of the PDCP SDU data is parsed; wherein RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received. If the PDCP SDU data is ACK data, the PDCP SDU data is immediately sent to the upper layer; so that the ACK data received by the PDCP protocol layer can be delivered to the core network in time without waiting in the reordering window, thereby preventing the TCP window for sending TCP data in the application layer from shrinking, increasing the downlink TCP data transmission flow, and improving the user experience. At the same time, the COUNT value corresponding to the PDCP SDU data is used to maintain the reordering window of the PDCP protocol layer; the continuity of the PDCP SN is guaranteed to maintain the stable transmission of the uplink data, and the downlink data transmission flow is increased while stabilizing the uplink data transmission flow, which has good promotion and application value.
[0121] Based on the above embodiments, as an optional embodiment, the upload and maintenance module 23 is specifically used for:
[0122] In the PDCP protocol layer, the COUNT value corresponding to the PDCP SDU data is regarded as a COUNT value corresponding to the PDCP SDU data with empty content;
[0123] Buffering the PDCP SDU data whose content is empty into a reordering window;
[0124] Based on the above embodiments, as an optional embodiment, the device further includes: a cache module, which is used to:
[0125] When it is parsed that the PDCP SDU data is not ACK data, the PDCP SDU data is buffered in a reordering window.
[0126] Based on the above embodiments, as an optional embodiment, the device further includes: a first sending module, configured to:
[0127] If the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the PDCP SDU data is immediately sent to the upper layer, and the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and the theoretical COUNT value and whose content is not empty is sent to the upper layer in ascending order of COUNT value;
[0128] Update the RX_DELIV to the theoretical COUNT value;
[0129] The theoretical COUNT value is a COUNT value corresponding to the second PDCP SDU data in the reordering window that has not been submitted to an upper layer and is still waiting to be received.
[0130] Based on the above embodiments, as an optional embodiment, the device further includes: a second sending module, configured to:
[0131] When the reordering timer set in the reordering window reaches the timing time, the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and RX_REORD and whose content is not empty is sent to the upper layer in ascending order of COUNT value, and the RX_DELIV is updated to the RX_REORD;
[0132] The RX_REORD is a COUNT value corresponding to the PDCP SDU data that triggers the reordering timer.
[0133] Based on the above embodiments, as an optional embodiment, the device further includes: a RX_NEXT update module, which is used to:
[0134] After the PDCP protocol layer of the base station receives the PDCP SDU data, if the COUNT value corresponding to the PDCP SDU data is not less than RX_NEXT, the RX_NEXT is changed to the sum of the COUNT value corresponding to the PDCP SDU data and 1; otherwise, the RX_NEXT is maintained unchanged;
[0135] The RX_NEXT is a COUNT value corresponding to the PDCP SDU data expected to be received.
[0136] Based on the above embodiments, as an optional embodiment, after the RX_DELIV is updated, the following further includes:
[0137] In the case where the RX_NEXT is not equal to the RX_DELIV, a reordering timer is started.
[0138] Based on the above embodiments, as an optional embodiment, when the RX_DELIV is not less than the RX_REORD, the reordering timer is turned off;
[0139] After the reordering timer is started, if the RX_DELIV is less than the RX_NEXT, the RX_REORD is updated to the RX_NEXT.
[0140] Thirdly, Figure 4 An example of a physical structure diagram of an electronic device is shown in FIG. Figure 4 As shown, the electronic device may include: a processor (processor) 410, a communication interface (Communications Interface) 420, a memory (memory) 430 and a communication bus 440, wherein the processor 410, the communication interface 420, and the memory 430 communicate with each other through the communication bus 440. The processor 410 can call the logic instructions in the memory 430 to execute the base station uplink and downlink service data optimization transmission method, which includes: when the base station PDCP protocol layer receives PDCP SDU data, determine whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV; if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, perform data type parsing on the PDCP SDU data; if the PDCP SDU data is parsed as ACK data, immediately send the PDCP SDU data to the upper layer, and use the COUNT value corresponding to the PDCP SDU data to maintain the reordering window of the PDCP protocol layer; wherein, the RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0141] In addition, the logic instructions in the above-mentioned memory 430 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0142] In a fourth aspect, the present invention further provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the above-mentioned embodiments to perform the method for optimizing the transmission of uplink and downlink service data of a base station, the method comprising: when the PDCP protocol layer of the base station receives PDCP SDU data, determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV; if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, performing data type parsing on the PDCP SDU data; if the PDCP SDU data is parsed to be ACK data, immediately sending the PDCP SDU data to an upper layer, and using the COUNT value corresponding to the PDCP SDU data to maintain the reordering window of the PDCP protocol layer; wherein, the RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received.
[0143] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.
[0144] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0145] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for optimizing transmission of uplink and downlink service data of a base station, characterized in that: The method comprises: When the PDCP protocol layer of the base station receives the PDCP SDU data, determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV; If the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV, performing data type analysis on the PDCP SDU data; If the PDCP SDU data is parsed as ACK data, the PDCP SDU data is immediately sent to an upper layer, and a COUNT value corresponding to the PDCP SDU data is used to maintain a reordering window of the PDCP protocol layer; If it is parsed that the PDCP SDU data is not ACK data, buffering the PDCP SDU data in a reordering window; Wherein, the RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received; The maintaining the reordering window of the PDCP protocol layer by using the COUNT value corresponding to the PDCP SDU data includes: In the PDCP protocol layer, a COUNT value corresponding to the PDCP SDU data is used as a COUNT value corresponding to a PDCP SDU data with empty content; The PDCP SDU data with empty content is buffered in a reordering window.
2. The method for optimizing transmission of uplink and downlink service data of a base station according to claim 1, characterized in that: After determining whether the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the method further includes: If the COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV, the PDCP SDU data is immediately sent to the upper layer, and the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and the theoretical COUNT value and whose content is not empty is sent to the upper layer in ascending order of COUNT value; Update the RX_DELIV to the theoretical COUNT value; The theoretical COUNT value is a COUNT value corresponding to the second PDCP SDU data in the reordering window that has not been submitted to an upper layer and is still waiting to be received.
3. The method for optimizing transmission of uplink and downlink service data of a base station according to claim 2, characterized in that: When the reordering timer set in the reordering window reaches the timing time, the PDCP SDU data whose COUNT value in the reordering window is between RX_DELIV and RX_REORD and whose content is not empty is sent to the upper layer in ascending order of COUNT value, and the RX_DELIV is updated to the RX_REORD; The RX_REORD is a COUNT value corresponding to the PDCP SDU data that triggers the reordering timer.
4. The method for optimizing transmission of uplink and downlink service data of a base station according to claim 3, characterized in that: After the PDCP protocol layer of the base station receives the PDCP SDU data, the method further includes: If the COUNT value corresponding to the PDCP SDU data is not less than RX_NEXT, changing the RX_NEXT to the sum of the COUNT value corresponding to the PDCP SDU data and 1; Otherwise, keep the RX_NEXT unchanged; The RX_NEXT is a COUNT value corresponding to the PDCP SDU data expected to be received.
5. The method for optimizing transmission of uplink and downlink service data of a base station according to claim 4, characterized in that: After the RX_DELIV update, it also includes: In the case where the RX_NEXT is not equal to the RX_DELIV, a reordering timer is started.
6. The method for optimizing transmission of uplink and downlink service data of a base station according to claim 5, characterized in that: When the RX_DELIV is not less than the RX_REORD, the reordering timer is turned off; After the reordering timer is started, if the RX_DELIV is less than the RX_NEXT, the RX_REORD is updated to the RX_NEXT.
7. A base station uplink and downlink service data optimization transmission device, characterized in that: The device comprises: A judgment module, configured to judge whether a COUNT value corresponding to the PDCP SDU data is equal to RX_DELIV when the PDCP protocol layer of the base station receives the PDCP SDU data; A parsing module, configured to perform data type parsing on the PDCP SDU data if the COUNT value corresponding to the PDCP SDU data is not equal to RX_DELIV; an uploading and maintaining module, configured to immediately send the PDCP SDU data to an upper layer if the PDCP SDU data is parsed as ACK data, and maintain a reordering window of the PDCP protocol layer using a COUNT value corresponding to the PDCP SDU data; a data caching module, configured to cache the PDCP SDU data into a reordering window if it is parsed that the PDCP SDU data is not ACK data; Wherein, the RX_DELIV is the COUNT value corresponding to the first PDCP SDU data in the reordering window that has not been submitted to the upper layer and is still waiting to be received; The upload and maintenance module is also used to: In the PDCP protocol layer, a COUNT value corresponding to the PDCP SDU data is used as a COUNT value corresponding to a PDCP SDU data with empty content; The PDCP SDU data with empty content is buffered in a reordering window.
8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the steps of the method for optimizing transmission of uplink and downlink service data of a base station are implemented as described in any one of claims 1 to 6.
9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by the processor, the steps of the method for optimizing transmission of uplink and downlink service data of a base station are implemented as claimed in any one of claims 1 to 6.
Citation Information
Patent Citations
Timer controlling method and device and data packet processing method and device
CN111756485A
Data transmission method and device
CN113365308A