Communication method and device, storage medium, communication equipment and chip
By storing sharded data into the queue at the RLC layer to wait for reorganization, and processing the next PDU in parallel, especially the complete data, the problem of high data processing delay in the RLC layer is solved, and data processing efficiency and PDCP layer are improved.
Patent Information
- Application Number
- CN202410232623.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-29
- Publication Date
- 2025-07-25
AI Technical Summary
In the prior art, the RLC layer needs to perform data reorganization on the processing of sharded data, resulting in an increase in processing delay of complete data and affecting data processing efficiency.
The sharded data is stored in the preset queue and waiting for reorganization, while the next pending PDU is processed in parallel, including data processing in UM and AM modes, prioritizing the processing of complete data and window maintenance and timer maintenance.
The parallel processing of sharded data and complete data is realized, which reduces the data processing delay of the RLC layer, improves the data processing efficiency, and improves the processing efficiency of the PDCP layer.
Smart Images

Figure CN120378949A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a communication method, apparatus, storage medium, communication device, and chip. Background Art
[0002] The Radio Link Control (RLC) layer refers to the control layer in wireless communication systems such as Long Term Evolution (LTE) / New Radio (NR). Its main function is to control the wireless link and provide a reliable link. The RLC is located between the Media Access Control (MAC) layer and the Packet Data Convergence Protocol (PDCP) layer and supports the sending and receiving of data.
[0003] For the data delivered by the MAC layer to the RLC layer, it can be multiple Protocol Data Units (PDUs), and the PDU can be fragmented data or complete data. Currently, a serial processing method for fragmented data and complete data is adopted. If the PDU currently processed by the RLC layer is fragmented data and the next PDU to be processed is complete data, this method will cause the complete data to wait until the fragmented data is processed before it can be processed.
[0004] However, the RLC layer processing of fragmented data requires data recombination, which is relatively time-consuming. Waiting for the fragmented data to be processed will cause the processing of complete data to be delayed, increasing the processing delay of complete data by the RLC layer and reducing the data processing efficiency. At the same time, due to the delayed processing of complete data, the data delivery from the RLC layer to the PDCP layer and the processing of the complete data delivered by the RLC layer by the PDCP layer are also postponed. Summary of the Invention
[0005] In view of this, this application provides a communication method, apparatus, storage medium, communication device, and chip, mainly aiming to improve the technical problem that in the current data processing process of the RLC layer, the processing of complete data needs to wait until the fragmented data is processed, resulting in a high processing delay for complete data, which will in turn affect the data processing efficiency of the RLC layer.
[0006] In a first aspect, this application provides a communication method, including:
[0007] Obtain multiple PDUs delivered to the RLC layer;
[0008] Determine a first PDU currently to be processed by the RLC layer from the multiple PDUs;
[0009] If the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data recombination, and determine to start RLC layer processing on the next second PDU to be processed corresponding to the first PDU.
[0010] Optionally, storing the first PDU in a preset queue to wait for RLC layer data recombination includes:
[0011] If the first PDU is fragmented data in unacknowledged mode (UM) that needs to be recombined, or the first PDU is fragmented data in acknowledged mode (AM) that is non-repeatedly received within the reception window, store the first PDU in a preset queue to wait for RLC layer data recombination.
[0012] Optionally, determining to start RLC layer processing on the next second PDU to be processed corresponding to the first PDU includes:
[0013] If the second PDU is UM complete data, deliver the second PDU to the PDCP layer for processing;
[0014] If the second PDU is AM complete data, perform window maintenance and timer maintenance according to the second PDU.
[0015] Optionally, if the second PDU is AM complete data, the method further includes:
[0016] Obtain the sequence number (SN) of the AM complete data;
[0017] If there is fragmented data corresponding to the SN that has been processed by the RLC layer, generate a discard request;
[0018] Store the discard request in a discard request queue to wait for the discard processing of the fragmented data corresponding to the SN.
[0019] Optionally, the discard processing of the fragmented data corresponding to the SN includes: discarding the part of the data that has been recombined by the RLC layer for the SN; and / or clearing the PDU corresponding to the SN from the preset queue.
[0020] Optionally, determining to start RLC layer processing on the next second PDU to be processed corresponding to the first PDU includes:
[0021] If the second PDU is fragmented data, store the second PDU in the preset queue to wait for RLC layer data reorganization, and determine to start RLC layer processing on the next third PDU to be processed corresponding to the second PDU.
[0022] Optionally, the method further includes: if the data reorganization result of the first PDU is received, update the reception status and status variables according to the data reorganization result, and maintain the window and timer.
[0023] Optionally, the method further includes: after the fragmented data completes the update of the reception status and status variables, and the maintenance of the window and timer, determine to start RLC layer data reorganization on the next fourth PDU to be processed in the preset queue.
[0024] Optionally, the step of if the data reorganization result of the first PDU is received, update the reception status and status variables according to the data reorganization result, and maintain the window and timer, includes:
[0025] If the data reorganization result of the first PDU is received and it is determined that RLC layer processing needs to be performed on the next fifth PDU to be processed, then preferentially update the reception status and status variables according to the data reorganization result of the first PDU, and maintain the window and timer.
[0026] In a second aspect, the present application provides a communication device, including:
[0027] An acquisition module, configured to acquire a plurality of protocol data units (PDUs) submitted to the radio link control (RLC) layer;
[0028] A determination module, configured to determine a first PDU currently to be processed by the RLC layer from the plurality of PDUs;
[0029] A processing module, configured to if the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data reorganization, and determine to start RLC layer processing on a second PDU to be processed next corresponding to the first PDU.
[0030] In a third aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the communication method described in the first aspect is implemented.
[0031] Fourth aspect, the present application provides a communication device, which includes: a transceiver; a memory; a processor, which is respectively connected to the transceiver and the memory, and is configured to control the wireless signal transceiver of the transceiver by executing computer-executable instructions on the memory, and can implement the method described in the first aspect.
[0032] Fifth aspect, the present application provides a chip, which includes at least one processor and a communication interface; the communication interface is used to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the communication method described in the first aspect through logic circuits or by executing code instructions.
[0033] By means of the above technical solutions, a communication method, device, storage medium, communication device and chip provided by the present application. Specifically, first, obtain a plurality of PDUs submitted to the RLC layer; then determine the first PDU currently to be processed by the RLC layer from the plurality of PDUs; if the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data reorganization, and determine to start RLC layer processing on the second PDU corresponding to the next PDU to be processed after the first PDU. Compared with the current related technologies, the present application can, during the data processing process of the RLC layer, if the currently processed PDU is fragmented data, start RLC layer processing on the next PDU to be processed without waiting for the processing result of the fragmented data. For example, when the PDU is complete data, it can be directly processed, thereby realizing parallel processing of fragmented data and complete data, effectively reducing the waiting time for the complete data to be processed, thus reducing the overall delay of RLC layer data processing and improving the efficiency of RLC layer data processing. The complete data that is processed in advance can also be submitted to the PDCP layer as soon as possible and decrypted, integrity verified and related processing procedures can be carried out in advance, further improving the processing efficiency of the PDCP layer.
[0034] The above description is only an overview of the technical solutions of the present application. In order to be able to understand the technical means of the present application more clearly, it can be implemented according to the content of the description. And in order to make the above and other purposes, features and advantages of the present application more obvious and understandable, the following specifically describes the embodiments of the present application. Description of the Drawings
[0035] The drawings here are incorporated into the description and form a part of this description, showing embodiments consistent with the present application, and are used together with the description to explain the principles of the present application.
[0036] To more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for use in the description of the embodiments or related technologies. Obviously, for those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0037] Figure 1 The flowchart of a communication method provided by an embodiment of the present application is shown;
[0038] Figure 2 The schematic diagram of an example provided by an embodiment of the present application is shown;
[0039] Figure 3 The schematic diagram of an example provided by an embodiment of the present application is shown;
[0040] Figure 4 The flowchart of a communication method provided by an embodiment of the present application is shown;
[0041] Figure 5 The schematic diagram of an example provided by an embodiment of the present application is shown;
[0042] Figure 6 The schematic diagram of an example provided by an embodiment of the present application is shown;
[0043] Figure 7 The structural schematic diagram of a communication device provided by an embodiment of the present application is shown;
[0044] Figure 8 The structural schematic diagram of a communication device provided by an embodiment of the present application is shown;
[0045] Figure 9 The structural schematic diagram of a chip provided by an embodiment of the present application is shown. Detailed implementation manners
[0046] The embodiments of the present application will be described in more detail below with reference to the drawings. It should be noted that, without conflict, the embodiments and features in the embodiments of the present application can be combined with each other.
[0047] In order to improve the technical problem that in the current data processing process of the RLC layer, the processing of complete data needs to wait for the processing of fragmented data to be completed before proceeding, resulting in a high data processing delay for complete data, and further affecting the data processing efficiency of the RLC layer. This embodiment provides a communication method, as Figure 1 shown, the method includes:
[0048] Step 101, obtain a plurality of PDUs submitted to the RLC layer.
[0049] The execution subject of this embodiment may be a communication device or a communication equipment, which can be configured on the side of a terminal device or a network device, such as an electronic device or a chip, etc.
[0050] In some examples, the terminal device may be referred to as a terminal, a user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc. The terminal device may also be an automobile with communication functions, a smart car, a mobile phone, a wearable device, a tablet computer (Pad), a computer with wireless transceiver functions, a virtual reality (VR) device, an augmented reality (AR) device, a wireless terminal device in industrial control, a wireless terminal device in self-driving, a wireless terminal device in remote medical surgery, a wireless terminal device in a smart grid, a wireless terminal device in transportation safety, a wireless terminal device in a smart city, a wireless terminal device in a smart home, and so on. The embodiments of the present application do not limit the specific technologies and specific device forms adopted by the terminal device.
[0051] In some examples, the network device can be a device such as a base station or a satellite. In the embodiments of the present application, no specific limitation is made. The network device can be an entity on the network side for transmitting or receiving signals. For example, the network device can be a communication satellite, an evolved NodeB (eNB), a transmission reception point (TRP), a next generation NodeB (gNB) in an NR system, a base station in other future mobile communication systems, or an access node in a wireless fidelity (WiFi) system, etc. The embodiments of the present disclosure do not limit the specific technologies and specific device forms adopted by the network device. The network device provided by the embodiments of the present disclosure can be composed of a central unit (CU) and a distributed unit (DU). Among them, the CU can also be called a control unit. Adopting the CU-DU structure can split the protocol layer of the network device, such as a base station. The functions of some protocol layers are centrally controlled by the CU, and the functions of the remaining part or all protocol layers are distributed in the DU, and the DU is centrally controlled by the CU.
[0052] In this embodiment, multiple PDUs delivered from the MAC layer to the RLC layer can be obtained. These PDUs will be processed by the RLC layer, and then the processing results will be further delivered to the PDCP layer. The RLC layer supports segmentation / re-segmentation of data during data transmission and supports recombination of data fragments during data reception. In addition, since there may be scenarios with poor channel conditions and high data transmission error rates in the radio propagation environment of mobile communication, a mechanism other than Hybrid Automatic Repeat reQuest (HARQ) is still required to ensure the transmission service quality of upper-layer application data and improve the user experience. The polling, retransmission, and status reporting mechanisms provided by Automatic Repeat reQuest (ARQ) in the RLC provide a reliable guarantee for data transmission in the AM mode.
[0053] In some examples, there are mainly four modules used in the RLC data processing process, including a PDU Check module, a Reassemble Process module, a WinMaintain module, and a t-Reassembly Maintain module.
[0054] Among them, the PDU Check module is mainly responsible for checking the received data. For example, it checks whether the data is complete data in UM mode, whether it is UM data to be considered for reassembly, whether it is data outside the AM reception window, and / or whether it is duplicate data in AM mode; the Reassemble Process module is mainly responsible for reassembling the received fragmented data and forming complete data; the Win Maintain module is mainly responsible for maintaining the UM reassembly window or the AM reception window and updating the state variables during the maintenance process; the t-Reassembly Maintain module can maintain the reassembly timer based on the reception situation of the current data, the window, and the position of the state variables. For example, it can start, stop, or restart the reassembly timer after it has been stopped.
[0055] Step 102: Determine the first PDU currently to be processed by the RLC layer from multiple PDUs.
[0056] These multiple PDUs delivered from the MAC layer to the RLC layer can be regarded as a data queue, namely the Data PDU FIFO.
[0057] Exemplarily, the PDUs may be out of order or retransmitted during the transmission process. Each PDU carries a sequence number SN. The RLC receiver needs to correctly arrange the received PDUs in order according to these sequence numbers for correct reassembly or decoding. The first PDU currently to be processed can be the PDU with the smallest valid SN in the current Data PDU FIFO.
[0058] Step 103: If the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data reassembly, and determine to start RLC layer processing on the second PDU to be processed next corresponding to the first PDU.
[0059] The preset queue can be a pre-configured queue. The PDUs stored in this queue will queue up to wait for RLC layer data reassembly, such as waiting for the processing of the Reassemble Process module.
[0060] In some examples, for the multiple PDUs delivered from the MAC layer to the RLC layer, that is, the Data PDUs, they may either be Data PDUs containing fragments or Data PDUs containing complete data. The processing of fragmented data requires a data reassembly process, while the processing of complete data does not require data reassembly. Therefore, by first storing the fragmented data in the preset queue and starting to process the next data, if the next data is complete data, it is possible to perform the processing of fragmented data and complete data simultaneously and separately, that is, the processing of complete data does not need to wait for the processing of fragmented data to be completed.
[0061] In the current related technologies, for each piece of data received from the lower layer, the RLC layer processes the data according to the process as Figure 2 shown. Specifically, it adopts a serial processing method for fragmented data and complete data. If the PDU currently processed by the RLC layer is fragmented data and the next PDU to be processed is complete data, this method will cause the complete data to wait until the fragmented data is processed before it can be processed. Compared with the current related technologies, in this embodiment, during the data processing of the RLC layer, if the currently processed PDU is fragmented data, the RLC layer processing of the next PDU to be processed can be started without waiting for the processing result of the fragmented data. For example, when the PDU is complete data, it can be directly processed, thus realizing the parallel processing of fragmented data and complete data.
[0062] Exemplarily, as Figure 3 shown, there are Data PDUs in the Data PDU FIFO that need to be processed by the RLC layer. If all the Data PDUs can enter the subsequent processing stage through the PDU Check module, and Data1 is an AM fragmented data while the subsequent data is AM complete data. In the current related technologies, for Data2 / 3 / 4 / 5…, it needs to wait until Data1 goes through the aforementioned processing process before it can be processed, that is, the fragmented data and the complete data are processed serially in sequence. However, by using the method of this embodiment, the parallel processing of fragmented data and complete data can be realized, effectively reducing the waiting time for the complete data to be processed, thereby reducing the overall delay of the RLC layer data processing and improving the efficiency of the RLC layer in processing data. The complete data that is processed in advance can also be submitted to the PDCP layer as soon as possible and decrypted, integrity verified, and related processing processes can be carried out in advance, further improving the processing efficiency of the PDCP layer.
[0063] Furthermore, to illustrate the specific implementation process of the method of this embodiment, this embodiment provides a specific method as Figure 4 shown, where the method includes:
[0064] Step 201, obtain multiple PDUs submitted to the RLC layer.
[0065] Exemplarily, as Figure 5As shown, multiple PDUs are arranged in the Data PDU FIFO, waiting for the RLC layer to process these PDUs differently according to its working mode (such as AM, UM), including confirmation, retransmission request, discarding expired or duplicate PDUs, etc., to ensure that data can be efficiently and reliably transmitted over the wireless link. These PDUs may be fragmented Data PDUs or Data PDUs containing complete data. The processing of fragmented data requires a data recombination process, while the processing of complete data does not require data recombination. As Figure 5 shown, during the process of fragmented data recombination, one or more complete data that do not require recombination can be processed to achieve parallel processing of fragmented data and complete data.
[0066] Step 202: Determine the first PDU currently to be processed by the RLC layer from multiple PDUs.
[0067] For example, if the sequence numbers of multiple PDUs are SN = 1 / 2 / 3 / 4 / 5, the first PDU currently to be processed is the PDU with SN = 1; if the current multiple PDUs are SN = 5 / 6 / 7, the first PDU currently to be processed is the PDU with SN = 5.
[0068] Step 203: If the first PDU is UM fragmented data that needs to be recombined, or the first PDU is non-duplicate received AM fragmented data within the receive window, store the first PDU in a preset queue to wait for RLC layer data recombination.
[0069] When the RLC layer processes data, there are two different data transmission mode options: UM and AM. In the UM mode, the sending end sends the data all at once without waiting for the confirmation feedback from the receiving end. Once the sender sends the data, it cannot know whether the receiving end has successfully received the data or whether the data packet is lost. In the AM mode, after the sending end sends the data, it will wait for an acknowledgment signal (ACK or NACK) from the receiving end. If the receiving end successfully receives the data, it will return an ACK; otherwise, if it does not receive the data or the received data is incorrect, it will return a NACK. The sending end decides whether to retransmit the data based on the ACK / NACK information, thus ensuring the reliability of data transmission.
[0070] Exemplarily, such as Figure 6As shown, for each received data, it will first be processed by the PDU Check module. Among them, the complete UM data will be directly delivered, while the UM data that needs to be reassembled will be discarded; in the AM mode, the data outside the receive window and the duplicate data will also be discarded; if the current data is fragmented data, it will be stored in a preset queue (segfifo) and wait for the processing of the Reassemble Process module. After storing the fragmented data in the segfifo, if there is no reassembly result to be processed, the next data can be obtained and processed according to the process.
[0071] Step 204: Determine to start the RLC layer processing for the next second PDU to be processed corresponding to the first PDU.
[0072] For example, as Figure 6 shown, the next second PDU to be processed corresponding to the first PDU can be complete UM data, or fragmented UM data, or complete AM data, or fragmented AM data.
[0073] Optionally, if the second PDU is complete UM data, the second PDU is delivered to the Packet Data Convergence Protocol (PDCP) layer for processing; if the second PDU is complete AM data, window maintenance and timer maintenance are performed according to the second PDU.
[0074] Exemplarily, as Figure 6 shown, if the next data corresponding to the first PDU obtained is complete data, it is necessary to determine whether the data is complete UM data or complete AM data. If it is complete UM data, the direct delivery of the complete data can be completed during the fragmentation and reassembly process; if it is complete AM data, the complete data can be processed in parallel during the fragmentation and reassembly process to complete the update of the receive status at the corresponding SN position, status variables, window maintenance, and timer maintenance.
[0075] Optionally, if the second PDU is complete AM data, obtain the SN of the complete AM data; if there is fragmented data corresponding to the SN that has been processed by the RLC layer, generate a discard request; store the discard request in the discard request queue to wait for the discard processing of the fragmented data corresponding to the SN.
[0076] Exemplarily, if partial data has been previously received at the SN position of the current complete AM data, a discard request needs to be triggered and stored in the discard request queue (discard reqfifo), and then the Reassemble Process module processes the discard request and discards the received partial data. Similarly, if there is no reassembly result to be processed, the next data can be obtained and processed according to the process.
[0077] Optionally, discard part of the data that has been reorganized by the RLC layer for the SN; and / or, clear the PDU corresponding to the SN from the preset queue.
[0078] In some examples, after the sender receives the ACK information and confirms that the PDU corresponding to this SN has been correctly received and processed, it will then find and clear the corresponding PDU in the preset queue according to the SN information carried in the ACK. This can release buffer resources, and at the same time ensure that unnecessary retransmission of successfully received data will not occur, guaranteeing the efficient and reliable operation of the wireless communication system.
[0079] Optionally, when there are PDUs to be processed in the preset queue and discard requests to be processed in the discard request queue, give priority to processing the discard requests in the discard request queue.
[0080] In some examples, when there are shards to be processed in segfifo and discard requests to be processed in discard reqfifo, the discard requests need to be processed first. When the Reassemble Process module receives a discard request, it can discard the received part of the data and does not need to process the shards to be processed corresponding to segfifo, avoiding the output of duplicate data, reducing the workload of the Reassemble Process module at the same time, and improving data processing efficiency. In addition, processing the discard requests in a timely manner can also release storage space and network resources, preventing invalid data from occupying too much system resources.
[0081] Optionally, if the second PDU is fragmented data, store the second PDU in the preset queue to wait for RLC layer data reorganization, and determine to start RLC layer processing on the next third PDU to be processed corresponding to the second PDU.
[0082] In some examples, the preset queue is mainly used to accumulate all fragmented data belonging to the same PDU until all fragmented data is collected, and then perform RLC layer data reorganization in the correct order. During this waiting process, the next PDU to be processed can be processed first to improve the data processing efficiency of the RLC layer.
[0083] Optionally, if the data reorganization result of the first PDU is received, update the reception status and status variables according to the data reorganization result, and maintain the window and timer.
[0084] Exemplarily, after the Reassemble Process module finishes processing the shards, it will return the processing result. According to the returned result, update the reception status and status variables of the corresponding SN as required and perform subsequent window and timer maintenance.
[0085] Optionally, after the received fragmented data is completely received, the status and status variables are updated, and the window and timer are maintained, it is determined to start RLC layer data recombination for the next PDU to be processed in the preset queue.
[0086] In some examples, after the received status of each fragmented data is maintained, the status variables are updated, and the window is maintained, the Reassemble Process module will process the next fragment.
[0087] Optionally, if it is determined that the RLC layer processing needs to be performed on the next PDU to be processed while receiving the data recombination result of the first PDU, the processing is preferentially performed according to the data recombination result of the first PDU, and the reception status and status variables are updated as needed, and the window and timer are maintained.
[0088] For example, when there are both the processing results returned by the Reassemble Process module and the DataPDU to be processed, the return results of the Reassemble Process module need to be processed preferentially to prevent data accumulation from occupying buffer resources or the data fragments that have arrived but have not been recombined from being overwritten by new data, thus causing data loss or errors and affecting the correct operation of the entire communication system.
[0089] In some examples, a set of input data is obtained, and this set of data includes fragments and complete data of the same AM RLC entity. For example, the SN of the fragment data is 1, and after this fragment data is received, it can be recombined with the previously received fragment with SN = 1, and then there is complete data with SN = 2 / 3 / 4 / 5, etc. If the fragment and complete data are processed serially, the fragment with SN = 1 will be delivered to the PDCP after recombination is completed, and then the complete data with SN = 2 / 3 / 4 / 5 will be processed and delivered to the PDCP. For SN = 1, since it is AM fragment data, it will be processed for fragment recombination via the Reassemble Process module. And the entire fragment recombination process is time-consuming. Therefore, the processing of the fragment with SN = 1 and then the subsequent processing of SN = 2 / 3 / 4 / 5 in sequence results in waiting time between the processing of different data, increasing the data processing delay and reducing the processing efficiency of RLC and subsequent PDCP for data. If the fragment and complete data are processed in parallel, when SN = 1 is being recombined, the complete data with SN = 2 is already being processed. From the perspective of processing time, the processing time of the complete data is shorter than the fragment recombination and subsequent processing time, so one or more complete data will be delivered first, and then the data with SN = 1 after recombination is completed will be delivered. This avoids the waiting between the processing of fragment data and complete data, allows the fragment data and complete data to be processed in parallel, reduces the data processing delay, and improves the data processing efficiency. In addition, the order of data delivery to the PDCP may change from ascending order to a certain degree of out-of-order.
[0090] This embodiment is mainly applied to the data transmission and radio link control process in the NR system. Specifically, data packets generated by services such as E-mail, chat software, and File Transfer Protocol (FTP) can be processed through this embodiment.
[0091] Compared with the current related technologies, in the data processing process of the RLC layer, this solution configuration allows the complete data at the subsequent SN position to be processed and delivered to the upper layer in advance when the recombination at the previous SN position has not been completed, avoiding the ineffective waiting during the processing of the complete data after the fragment data, enabling the complete data to be processed in advance and hiding the processing time of one or more complete data within the processing time of fragment recombination, reducing the overall delay of RLC data processing, and improving the processing efficiency of RLC for data. The complete data that has been processed in advance can also be delivered to the PDCP layer as soon as possible and the decryption, integrity check, and related processing processes can be carried out in advance. This avoids the possible processing idleness of the PDCP layer during the waiting for the fragment data to be processed, thereby improving the processing efficiency of the PDCP layer.
[0092] Further, as Figure 1 and Figure 4For the specific implementation of the method shown, this embodiment provides a communication device, such as Figure 7 As shown, the device includes: an acquisition module 31, a determination module 32, and a processing module 33.
[0093] The acquisition module 31 is configured to acquire a plurality of PDUs delivered to the RLC layer;
[0094] The determination module 32 is configured to determine a first PDU currently to be processed by the RLC layer from the plurality of PDUs;
[0095] The processing module 33 is configured to, if the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data recombination, and determine to start RLC layer processing on a second PDU corresponding to the next PDU to be processed after the first PDU.
[0096] In some examples of this embodiment, the processing module 33 is specifically configured to, if the first PDU is UM fragmented data that needs to be recombined, or the first PDU is non-repeatedly received AM fragmented data within the reception window, store the first PDU in a preset queue to wait for RLC layer data recombination.
[0097] In some examples of this embodiment, the processing module 33 is further specifically configured to, if the second PDU is UM complete data, deliver the second PDU to the Packet Data Convergence Protocol (PDCP) layer for processing; if the second PDU is AM complete data, perform window maintenance and timer maintenance according to the second PDU.
[0098] In some examples of this embodiment, the processing module 33 is further specifically configured to, if the second PDU is AM complete data, obtain the SN of the AM complete data; if there is fragmented data corresponding to the SN that has been processed by the RLC layer, generate a discard request; store the discard request in a discard request queue to wait for the discard processing of the fragmented data corresponding to the SN.
[0099] In some examples of this embodiment, the processing module 33 is further specifically configured to discard part of the data that has been data-recombined by the RLC layer for the SN; and / or, clear the PDU corresponding to the SN from the preset queue.
[0100] In some examples of this embodiment, the processing module 33 is further specifically configured to, when there are PDUs to be processed in the preset queue and discard requests to be processed in the discard request queue, preferentially process the discard requests in the discard request queue.
[0101] In some examples of this embodiment, the processing module 33 is further specifically configured to, if the second PDU is fragmented data, store the second PDU in the preset queue to wait for RLC layer data reorganization, and determine to start RLC layer processing on the next third PDU to be processed corresponding to the second PDU.
[0102] In some examples of this embodiment, the processing module 33 is further specifically configured to, if receiving the data reorganization result of the first PDU, update the reception status and status variables according to the data reorganization result, and maintain the window and timer.
[0103] In some examples of this embodiment, the processing module 33 is further specifically configured to, after the fragmented data completes the update of the reception status and status variables, and the maintenance of the window and timer, determine to start RLC layer data reorganization on the next fourth PDU to be processed in the preset queue.
[0104] In some examples of this embodiment, the processing module 33 is further specifically configured to, if receiving the data reorganization result of the first PDU and determining that RLC layer processing needs to be performed on the next fifth PDU to be processed, preferentially update the reception status and status variables according to the data reorganization result of the first PDU, and maintain the window and timer.
[0105] It should be noted that for other corresponding descriptions of each functional unit involved in the communication device provided in this embodiment, reference can be made to Figure 1 and Figure 4 the corresponding descriptions therein, which will not be elaborated here.
[0106] Figure 8 FIG. 20 is a schematic structural diagram of a communication device 1800 provided in this embodiment. The communication device 1800 may be a terminal device, a network device, a chip, a chip system, or a processor that supports the network device to implement the above method, or a chip, a chip system, or a processor that supports the user equipment to implement the above method. This device can be used to implement the method described in the above method embodiment, and specifically, reference can be made to the description in the above method embodiment.
[0107] The communication device 1800 may include one or more processors 1801. The processor 1801 may be a general-purpose processor or a dedicated processor, etc. For example, it may be a baseband processor or a central processing unit. The baseband processor may be used to process communication protocols and communication data, and the central processing unit may be used to control the communication device (such as a base station, a baseband chip, a terminal device, a terminal device chip, a DU or a CU, etc.), execute computer programs, and process the data of the computer programs.
[0108] Optionally, the communication device 1800 may further include one or more memories 1802, on which a computer program 1804 may be stored, and the processor 1801 executes the computer program 1804, so that the communication device 1800 performs the method described in the above method embodiment. Optionally, data may also be stored in the memory 1802. The communication device 1800 and the memory 1802 may be provided separately or integrated together.
[0109] Optionally, the communication device 1800 may further include a transceiver 1805 and an antenna 1806. The transceiver 1805 may be referred to as a transceiver unit, a transceiver, or a transceiver circuit, etc., and is used to implement a transceiver function. The transceiver 1805 may include a receiver and a transmitter, the receiver may be referred to as a receiver or a receiving circuit, etc., and is used to implement a receiving function; the transmitter may be referred to as a transmitter or a transmitting circuit, etc., and is used to implement a transmitting function.
[0110] Optionally, the communication device 1800 may further include one or more interface circuits 1807. The interface circuit 1807 is used to receive code instructions and transmit them to the processor 1801. The processor 1801 executes the code instructions to enable the communication device 1800 to execute the method described in the above method embodiment.
[0111] In one implementation, the processor 1801 may include a transceiver for implementing the receiving and sending functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and sending functions may be separate or integrated. The above-mentioned transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or the above-mentioned transceiver circuit, interface, or interface circuit may be used for transmitting or delivering signals.
[0112] In one implementation, the processor 1801 may store a computer program 1803, which runs on the processor 1801 and enables the communication device 1800 to perform the method described in the above method embodiment. The computer program 1803 may be fixed in the processor 1801, in which case the processor 1801 may be implemented by hardware.
[0113] In one implementation, the communication device 1800 may include circuitry that can implement the functions of transmitting, receiving, or communicating in the foregoing method embodiments. The processors and transceivers described in this disclosure may be implemented on an integrated circuit (IC), analog IC, radio frequency integrated circuit (RFIC), mixed-signal IC, application specific integrated circuit (ASIC), printed circuit board (PCB), electronic device, etc. The processors and transceivers may also be fabricated using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor (NMOS), P-type metal oxide semiconductor (PMOS), bipolar junction transistor (BJT), BiCMOS, silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0114] The communication device described in the above embodiments may be a network device or a user equipment, but the scope of the communication device described in this disclosure is not limited thereto, and the structure of the communication device may not be limited by Figure 8 . The communication device may be an independent device or may be a part of a larger device. For example, the communication device may be:
[0115] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;
[0116] (2) A collection of one or more ICs. Optionally, the IC collection may also include storage components for storing data and computer programs;
[0117] (3) An ASIC, such as a modem;
[0118] (4) A module that can be embedded in other devices;
[0119] (5) A receiver, terminal device, smart terminal device, cellular phone, wireless device, handset, mobile unit, vehicle-mounted device, network device, cloud device, artificial intelligence device, etc.;
[0120] (6) Others, etc.
[0121] Based on the above embodiments, this embodiment also provides a chip, including at least one processor and a communication interface; the communication interface is configured to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the method as described above through logic circuits or by executing code instructions. Figure 1 and Figure 4 as shown.
[0122] Figure 9 FIG. is a schematic structural diagram of a chip 1000 for implementing the above communication method provided by this embodiment. Referring to Figure 9 , the chip 1000 includes at least one communication interface 1001 and a processor 1002. The communication interface 1001 is configured to receive signals input to the chip 1000 or signals output from the above chip 1000, and the processor 1002 communicates with the communication interface 1001 and implements the communication method described in the above embodiments of the present disclosure through logic circuits or by executing code instructions.
[0123] Those skilled in the art can also understand that the various illustrative logical blocks and steps listed in the embodiments of the present disclosure can be implemented by electronic hardware, computer software, or a combination of both. Whether such a function is implemented by hardware or software depends on the specific application and the design requirements of the entire system. For each specific application, those skilled in the art can use various methods to implement the described function, but such implementation should not be construed as exceeding the scope protected by the embodiments of the present disclosure.
[0124] The present disclosure also provides a computer-readable storage medium, on which instructions are stored, and when the instructions are executed by a computer, the functions of any of the above method embodiments are implemented.
[0125] The present disclosure also provides a computer program product, and when the computer program product is executed by a computer, the functions of any of the above method embodiments are implemented.
[0126] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs. When the computer program is loaded and executed on a computer, the processes or functions according to the embodiments of the present disclosure are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer program can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a high-definition digital video disc (DVD)), or a semiconductor medium (such as a solid state disk (SSD)), etc.
[0127] Those of ordinary skill in the art can understand that the various digital numbers such as the first and the second involved in the present disclosure are only for the convenience of description and are not used to limit the scope of the embodiments of the present disclosure, nor do they represent the order of precedence.
[0128] At least one in the present disclosure can also be described as one or more. The more can be two, three, four, or more, and the present disclosure does not make any limitations. In the embodiments of the present disclosure, for a technical feature, the technical features in this technical feature are distinguished by "the first", "the second", "the third", "A", "B", "C", and "D", etc. There is no order of precedence or size order among the technical features described by "the first", "the second", "the third", "A", "B", "C", and "D".
[0129] As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, device, and / or apparatus (such as a disk, an optical disc, a memory, a programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.
[0130] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected to each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), and the Internet.
[0131] The computer system can include clients and servers. The clients and servers are generally remote from each other and typically interact through a communication network. The client - server relationship is created by computer programs running on the respective computers and having a client - server relationship with each other.
[0132] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of this disclosure application can be achieved. There is no limitation herein.
[0133] In addition, it should be understood that the various embodiments described in this disclosure can be implemented separately or, where the solution permits, in combination with other embodiments.
[0134] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in connection with the embodiments claimed herein can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. A professional technician can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this disclosure.
[0135] Those skilled in the art can clearly understand that, for the sake of convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0136] As described above, it is only the specific implementation manner of the present disclosure, but the protection scope of the present disclosure is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present disclosure can easily think of changes or substitutions, which should all be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.
Claims
1. A communication method, characterized in that, Including: Obtaining a plurality of protocol data units (PDUs) delivered to the radio link control (RLC) layer; Determining a first PDU currently to be processed by the RLC layer from the plurality of PDUs; If the first PDU is fragmented data, storing the first PDU in a preset queue to wait for RLC layer data reorganization, and determining to start RLC layer processing on a second PDU corresponding to the next to-be-processed PDU after the first PDU.
2. The method according to claim 1, wherein The storing the first PDU in a preset queue to wait for RLC layer data reorganization includes: If the first PDU is unacknowledged mode (UM) fragmented data that needs to be reorganized, or the first PDU is non-duplicate received acknowledged mode (AM) fragmented data within the receive window, storing the first PDU in a preset queue to wait for RLC layer data reorganization.
3. The method according to claim 1, wherein The determining to start RLC layer processing on a second PDU corresponding to the next to-be-processed PDU after the first PDU includes: If the second PDU is UM complete data, delivering the second PDU to the packet data convergence protocol (PDCP) layer for processing; If the second PDU is AM complete data, performing window maintenance and timer maintenance according to the second PDU.
4. The method according to claim 3, characterized in that, If the second PDU is AM complete data, the method further includes: Obtaining the sequence number (SN) of the AM complete data; If there is fragmented data corresponding to the SN that has been processed by the RLC layer, generating a discard request; Storing the discard request in a discard request queue to wait for discard processing of the fragmented data corresponding to the SN.
5. The method according to claim 4, wherein The discard processing of the fragmented data corresponding to the SN includes: Discarding the part of the data that has been reorganized by the RLC layer for the SN; and / or, clearing the PDU corresponding to the SN from the preset queue.
6. The method according to claim 4 or 5, characterized in that, The method further includes: When there are PDUs to be processed in the preset queue and discard requests to be processed in the discard request queue, preferentially processing the discard requests in the discard request queue.
7. The method according to claim 1, wherein The determining to start RLC layer processing on a second PDU corresponding to the next to-be-processed PDU after the first PDU includes: If the second PDU is fragmented data, storing the second PDU in the preset queue to wait for RLC layer data reorganization, and determining to start RLC layer processing on a third PDU corresponding to the next to-be-processed PDU after the second PDU.
8. The method according to claim 1, wherein The method further includes: If the data reorganization result of the first PDU is received, updating the receive state and state variables according to the data reorganization result, and performing window and timer maintenance.
9. The method according to claim 8, wherein The method further includes: After the fragmented data completes the update of the receive state and state variables, and window and timer maintenance, determining to start RLC layer data reorganization on the next to-be-processed fourth PDU in the preset queue.
10. The method according to claim 8, characterized in that The if the data reorganization result of the first PDU is received, updating the receive state and state variables according to the data reorganization result, and performing window and timer maintenance includes: If, while receiving the data recombination result of the first PDU, it is determined that RLC layer processing needs to be performed on the next fifth PDU to be processed, the reception status and status variables are preferentially updated according to the data recombination result of the first PDU, and the window and timer are maintained.
11. A communication device, characterized in that, Comprising: An acquisition module, configured to acquire a plurality of protocol data units (PDUs) delivered to a radio link control (RLC) layer; A determination module, configured to determine a first PDU currently to be processed by the RLC layer from the plurality of PDUs; A processing module, configured to, if the first PDU is fragmented data, store the first PDU in a preset queue to wait for RLC layer data recombination, and determine to start RLC layer processing on a second PDU corresponding to the first PDU and to be processed next.
12. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.
13. A communication device, wherein, Comprising: A transceiver; A memory; A processor, respectively connected to the transceiver and the memory, configured to control the wireless signal transceiver of the transceiver by executing computer-executable instructions on the memory, and capable of implementing the method according to any one of claims 1 to 10.
14. A chip, characterized in that, Comprising at least one processor and a communication interface; the communication interface is used to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the method according to any one of claims 1 to 10 through logic circuits or by executing code instructions.