Communication method and device, electronic equipment, chip and storage medium
By detecting duplicate data packets at the terminal's packet data aggregation protocol layer and performing context initialization of the decompression compressor, the problem of silent calls and dropped calls caused by discarding duplicate data packets after reconstruction is solved, thus improving the reliability and consistency of communication.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-29
- Publication Date
- 2026-04-14
AI Technical Summary
In high-speed operation and other high-frequency switching scenarios, the first data packet after reconstruction may be repeatedly discarded, leading to issues such as silent voice, dropped calls, and disconnection. This is especially true in acknowledgment mode, where the first compressed packet after reconstruction may be discarded, resulting in decompression failure.
By detecting duplicate data packets at the terminal's packet data aggregation protocol layer, determining whether to discard the first data packet, and performing decompression context initialization under certain conditions, duplicate data packets are prevented from being directly discarded, ensuring successful decompression of subsequent data packets.
It solves the problem of long-term silent calls or automatic hang-ups caused by the discarding of duplicate data packets after reconstruction, improves the reliability and continuity of communication, and avoids data packet decompression failure.
Smart Images

Figure CN121865339A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of data processing, and more particularly to a communication method, apparatus, electronic device, chip, and storage medium. Background Technology
[0002] In the field of communications, compression technology is a key technology for improving transmission speed and saving storage space in data transmission. With the increasing volume of data, the necessity of data compression is becoming increasingly prominent. Commonly used compression algorithms include simple and efficient lossless data compression algorithms, such as Run-Length Encoding (RLE); the LZO algorithm, which has a fast compression speed and high compression ratio but a slower decompression speed; the LZ4 algorithm, which has both high compression and decompression speeds but a lower compression ratio; and the ROHC header compression algorithm, which is widely recognized as ideal for wireless links. Summary of the Invention
[0003] This disclosure provides a communication method, apparatus, electronic device, chip, and storage medium that can avoid the problem that after a handover reconstruction in ROHC-configured Acknowledged Mode (AM) mode, subsequent data packets are discarded due to decompression failures, as the first data packet is a duplicate and is discarded. It also solves the problem of voice silence, dropped calls, and interruptions for a period of time caused by the repeated discarding of the first compressed packet after reconstruction in high-frequency handover scenarios such as high-speed operation.
[0004] A first aspect of this disclosure provides a communication method, the method comprising: determining that a first data packet of a current communication service is a duplicate data packet, the first data packet being a data packet received after reconstruction via a first radio bearer; and determining whether to discard the first data packet based on a first parameter, the first parameter being obtained from the Packet Data Convergence Protocol (PDCP) layer of the terminal.
[0005] In some embodiments of this disclosure, the method further includes: obtaining a second parameter stored in the PDCP layer; and, if the second parameter satisfies a preset condition, determining whether to discard the first data packet based on the first parameter.
[0006] In some embodiments of this disclosure, the method further includes: obtaining reconstruction configuration information; determining, based on the reconstruction configuration information, that the terminal's decompression compressor no longer uses the original context information, and that the first radio bearer is configured to use a first compression method and a first transmission mode.
[0007] In some embodiments of this disclosure, the method further includes: setting a first parameter to a first initial value, setting a second parameter to a second initial value, wherein a preset condition is satisfied when the second parameter is the second initial value.
[0008] In some embodiments of this disclosure, after receiving the first data packet via the first wireless bearer, the method further includes: updating the first parameter to a first value in response to the second parameter being a second initial value and the first parameter being a first initial value, and performing integrity protection verification on the first data packet.
[0009] In some embodiments of this disclosure, determining whether to discard the first data packet based on a first parameter includes any of the following: if the first parameter is a first value, determining not to discard the first data packet and performing context initialization of the terminal's decompression compressor based on the first data packet, the first value being used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction; if the first parameter is a second value, determining to discard the first data packet.
[0010] In some embodiments of this disclosure, the context initialization of the terminal's decompression compressor based on the first data packet includes: decompressing the first data packet to obtain context configuration information; and performing context initialization of the decompression compressor based on the context configuration information.
[0011] In some embodiments of this disclosure, the method further includes: updating the second parameter to a third value and resetting the first parameter to a first initial value in response to completing context initialization.
[0012] In some embodiments of this disclosure, the method further includes: determining whether the first data packet is the last data packet of the current communication service when a preset condition is met; ending the data packet reception process of the current communication service when the first data packet is the last data packet; and receiving a second data packet on the first radio bearer when the first data packet is not the last data packet, wherein the second data packet is the next data packet after the first data packet.
[0013] In some embodiments of this disclosure, the preset conditions are any of the following: determining to discard the first data packet; the integrity protection verification of the first data packet fails; the first data packet is not the first data packet received on the first radio bearer after reconstruction; or the context initialization of the decompression of the terminal is completed.
[0014] A second aspect of this disclosure provides a communication apparatus, comprising: a processing module, configured to determine that a first data packet of a current communication service is a duplicate data packet, the first data packet being a data packet received after reconstruction via a first radio bearer; and to determine whether to discard the first data packet based on a first parameter, the first parameter being obtained from the Packet Data Convergence Protocol (PDCP) layer of a terminal.
[0015] In some embodiments of this disclosure, the processing module is further configured to: obtain a second parameter stored in the PDCP layer; and, if the second parameter satisfies a preset condition, determine whether to discard the first data packet based on the first parameter.
[0016] In some embodiments of this disclosure, the processing module is further configured to: obtain reconstruction configuration information; determine, based on the reconstruction configuration information, that the terminal's decompression compressor no longer uses the original context information, and that the first wireless bearer is configured to use a first compression method and a first transmission mode.
[0017] In some embodiments of this disclosure, the processing module is further configured to: determine not to discard the first data packet when the first parameter is a first value, and perform context initialization of the terminal's decompression compressor based on the first data packet, wherein the first value is used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction; and determine to discard the first data packet when the first parameter is a second value.
[0018] A third aspect of this disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods described in the first aspect of this disclosure.
[0019] A fourth aspect of this disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the first aspect of this disclosure.
[0020] A fifth aspect of this disclosure provides a chip including 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 described in the first aspect of this disclosure through logic circuits or executing code instructions.
[0021] In summary, the communication method proposed in this disclosure can determine whether to discard the first data packet based on the second parameter when the first data packet is a duplicate data packet. This can prevent the first data packet, which is used for initialization, from being discarded. In other words, it can avoid the problem that after the AM bearer is re-established by configuring ROHC, subsequent data packets will be discarded due to decompression failure for a period of time because the first data packet is a duplicate packet. This solves the problem of voice silence, dropped calls, and interruptions for a period of time caused by the first data packet being discarded repeatedly after reconstruction in high-speed operation and other high-frequency handover scenarios.
[0022] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.
[0024] Figure 1 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 1 ; Figure 2 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 2 ; Figure 3 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 3 ; Figure 4A A flowchart illustrating a conventional data packet receiving scheme provided in an embodiment of this disclosure; Figure 4B A schematic flowchart illustrating a scheme for improving decompression robustness after NR reconstruction, provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of the structure of a communication device provided in an embodiment of the present disclosure; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure; Figure 7 This is a schematic diagram of the chip structure provided in an embodiment of this disclosure. Detailed Implementation
[0025] Embodiments of this disclosure are described in detail below, with examples of embodiments illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.
[0026] Compression technology is a key technology in the field of data transmission used to improve transmission speed and save storage space. With the growth of data volume, the necessity of data compression is becoming increasingly prominent. Commonly used compression algorithms include simple and efficient lossless data compression algorithms, such as the RLE algorithm; the LZO algorithm, which has a fast compression speed and high compression ratio but a slower decompression speed; the LZ4 algorithm, which has a high compression and decompression speed but a low compression ratio; and the Robust Header Compression (ROHC) algorithm, which is recognized as ideal for wireless links.
[0027] Duplicate detection technology is primarily used to ensure the reliability, integrity, and continuity of data transmission. It can effectively reduce the processing of redundant information and improve data processing efficiency. In the field of communication data transmission, the commonly used identifier for detecting duplicates is the count value calculated from the sequence number (SN) carried by the data packet.
[0028] In wireless communication, mobility scenarios are common. During movement, the UE often moves from one base station coverage area to another, requiring a handover of the radio link to maintain the connection between the UE and the base station as uninterrupted as possible. If ROHC header compression is configured but drb-Continue ROHC is not configured during the handover process, the context required for ROHC decompression needs to be released, cleared, and then re-established. After reconstruction, the ROHC context needs to be initialized using the static and dynamic context information carried in the IR packet.
[0029] In the traditional approach, each received data packet is used to calculate the COUNT value for encryption and decryption based on the SN carried and the locally maintained HyperFrame Number (HFN). Then, decryption and integrity protection calculations are performed. After decryption, the COUNT value is compared with RX_DELIV to determine whether it is a duplicate packet. If it is a duplicate packet, the data packet is discarded. If the packet is not discarded, decompression and status variable updates are performed.
[0030] In scenarios where ROHC decompression is configured after reconstruction, the first packet received after reconstruction is an Initialization and Refresh (IR) packet. The IR packet is used to update the static and dynamic context information required for decompression. If the ROHC context is not updated via the IR packet after reconstruction, subsequent data packets will fail to decompress until the context is resynchronized with the base station via feedback, resulting in a period of silent calls or even automatic hang-up. In Acknowledged Mode (AM) bearer, if the first packet received after reconstruction is a duplicate packet, according to regulations, this packet will be discarded after decryption and will not be decompressed. Therefore, subsequent data packets will be discarded due to decompression failure, ultimately leading to prolonged silent calls, hang-up, or data interruption.
[0031] Therefore, in order to solve the above problems, this disclosure proposes a communication method that makes up for the deficiency in the current 3GPP where the ROHC context is not initialized because the first data packet is repeatedly dropped after the reconstruction and ROHC is configured. This method can detect the problem that the ROHC context cannot be initialized when the first IR packet is dropped after the AM bearer is reconstructed and the ROHC header is decompressed. It makes up for the problem that the first data packet is dropped after the reconstruction and ROHC is configured, which leads to the failure to decompress a large number of subsequent data packets, resulting in long-term silent calls, automatic hang-up, or data interruption, thus improving the user experience.
[0032] In some embodiments, the scheme of this application can be executed by an electronic device, such as a terminal device, and optionally by the Packet Data Convergence Protocol (PDCP) layer of the terminal device.
[0033] The specific details of this method are as follows.
[0034] Figure 1 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 1 .like Figure 1 As shown, the method may include the following steps.
[0035] Step 101: Determine that the first data packet of the current communication service is a duplicate data packet.
[0036] In some embodiments, the current communication service can be a communication service that is currently in progress, such as voice service, data transmission service, etc.
[0037] In some embodiments, the first data packet is a data packet received through the first radio bearer after reconstruction. That is, the first data packet may be a data packet received by the terminal device after reconstruction is completed. Reconstruction may refer to re-establishing the communication link between the terminal device and the network device. Reconstruction may be a Radio Resource Control (RRC) connection reconstruction.
[0038] In some embodiments, before receiving the first data packet, the method further includes: obtaining reconstruction configuration information; determining, based on the reconstruction configuration information, that the terminal's decompression compressor no longer uses the original context information, and that the first radio bearer is configured to use a first compression method and a first transmission mode.
[0039] Optionally, reconstruction configuration information can be obtained during the reconstruction process, and the reconstruction configuration information can be used to determine whether the terminal's decompression compressor can continue to use the original context for decompression. The compression method and transmission mode used by the first radio bearer that receives the first data packet can be determined. The first radio bearer is any one of multiple data radio bearers between the terminal and the base station. The first compression method is ROHC, and the first transmission mode is AM mode.
[0040] Optionally, if the third parameter is not included in the reconstruction configuration information, or if the reconstruction configuration information includes the third parameter but the value of the third parameter is empty, or if the reconstruction configuration information includes the third parameter and the value of the third parameter indicates that the terminal's decompressor no longer uses the original context information, it can be determined that the terminal's decompressor no longer uses the original context information. Here, the third parameter can be drb-Continue ROHC, which can be used to indicate whether to continue using the original ROHC context information after a radio link reconstruction occurs.
[0041] In some embodiments, when it is determined from the reconstruction configuration information that the decompression compressor of the reconstructed terminal no longer uses the original context information, and the first radio bearer is configured to use the first compression method and the first transmission mode, the method further includes: setting the first parameter to a first initial value, setting the second parameter to a second initial value, and satisfying a preset condition when the second parameter is the second initial value.
[0042] The first parameter can indicate whether the current data packet is the first data packet received by the terminal device after reconstruction, or whether the current data packet is the Nth data packet received by the terminal after reconstruction, or whether to execute a judgment process, etc. For example, the first parameter could be `g_reest_rohc_num`. The second parameter can indicate whether to execute a judgment process, which is a process for determining whether to discard duplicate data packets, or a process for determining whether to decompress duplicate data packets. For example, the first parameter could be `g_reest_rohc_flag`.
[0043] In some embodiments, the second initial value can be used to indicate that a judgment process needs to be performed. For example, the second initial value can be true. The first initial value can be used to indicate that the first data packet is the first data packet received by the terminal on the first radio bearer after reconstruction. The first initial value can be used to indicate that no data packet has been received after reconstruction. For example, the first initial value can be 0.
[0044] In other words, based on the reconstruction configuration information, it can be determined whether the scenario requirements are met. The scenario requirements are that the decompression compressor of the terminal after reconstruction no longer uses the original context information, and the first wireless bearer is configured to use the first compression method and the first transmission mode. At this time, g_reest_rohc_flag can be set to true and g_reest_rohc_num can be set to 0 (i.e., step 1).
[0045] In some embodiments, after obtaining the reconstruction configuration information and initializing the first and second parameters, data packets can be received normally. At the same time, the sequence number (SN) corresponding to each data packet can be obtained. The sequence number corresponding to each data packet can be included in the data packet. For example, the RCVD_SN of each data packet can be determined (i.e., step 2).
[0046] In some embodiments, after reconstruction is complete, the terminal can receive data packets normally. The terminal can receive the first data packet on the first radio bearer, and then determine whether the first data packet is a duplicate data packet. Optionally, if RCVD_COUNT is less than RX_DELIV or RCVD_COUNT has already been received, the first data packet can be determined to be a duplicate data packet. RCVD_COUNT is used to indicate the highest sequence number (SN) or cumulative reception count of data packets that the terminal has successfully received. RX_DELIV is used to indicate the highest sequence number or cumulative delivery count of data packets that have been successfully delivered to the upper layer (such as the PDCP layer). RCVD_COUNT is calculated by the terminal based on the SN of the received first data packet and the RCVD_HFN stored locally by the terminal.
[0047] In some embodiments, after receiving the first data packet via the first wireless bearer, the method further includes: updating the first parameter to a first value in response to the second parameter being a second initial value and the first parameter being a first initial value, and performing integrity protection verification on the first data packet.
[0048] In other words, after receiving the first data packet, the values of the first parameter and the second parameter can be obtained. Based on the values of the first parameter and the second parameter, it can be determined whether the first data packet is the first data packet received after reconstruction. For example, in response to the second parameter being the second initial value and the first parameter being the first initial value, it can be determined that the first data packet is the first data packet received after reconstruction (i.e., step 3).
[0049] Optionally, the second parameter can also be used to indicate whether the first parameter can be updated. For example, when the second parameter is true, the first parameter is allowed to be updated, and when the second parameter is false, the first parameter is not allowed to be updated. In the case of the second parameter being true, the value of the first parameter can be updated to the first value after the first data packet is received (i.e., step 3-1). In the case of the second parameter being false, the first parameter is not updated.
[0050] The value of the first parameter can be 0 or 1, or the value of the first parameter can be a positive integer greater than or equal to 0. If the value of the first parameter is 0 or 1, and the value of the first parameter is 0 and the value of the second parameter is true after receiving the first data packet, then the first parameter is updated to the first value, which can be 1. If the value of the first parameter is 0 and the value of the second parameter is false, then the first parameter is not updated. Or if the value of the first parameter is 0 and the value of the second parameter is true or false, then the first parameter is not updated (i.e., step 3-2).
[0051] For example, if the value of the first parameter can be a positive integer greater than or equal to 0, the first parameter can be used to indicate that the data packet is the Nth data packet received after reconstruction. In this case, the value of the first parameter can be updated to the first value after the first data packet is received in response to the first parameter being true.
[0052] In some embodiments, after updating or not updating the first parameter according to the above method, an integrity protection verification can be performed on the first data packet to determine whether the first data packet has been tampered with or otherwise altered. Optionally, a count value (RCVD_COUNT) can be calculated based on the RCVD_HFN stored locally on the terminal and the SN (RCVD_SN) corresponding to the data packet. The count value can then be used to perform an integrity protection verification on the first data packet (i.e., step 5).
[0053] If the integrity protection verification fails, the first data packet can be discarded directly. Then, it can be determined whether the first data packet is the last data packet corresponding to the current communication service (i.e., step 5-2). For example, when it is a voice service, the user's first sentence can be split into 10 data packets for transmission. After a short pause, the user's second sentence can be split into 5 data packets for transmission. The current communication service can refer to the voice service corresponding to the first sentence, or the voice service corresponding to the second sentence, or the voice service within a certain period of time, etc.
[0054] Optionally, if the integrity protection verification passes, it can be determined whether the first data packet is a duplicate data packet, that is, whether the first data packet meets the discarding condition. In the scheme disclosed herein, if the second parameter is true, even if the first data packet meets the discarding condition (the first data packet is a duplicate data packet), the first data packet will not be directly discarded. Further judgment of the first data packet is required based on the second parameter to determine whether to discard the first data packet.
[0055] Specifically, it can be determined whether the first data packet is a duplicate data packet by judging whether the first data packet meets the discarding condition. The discarding condition is that RCVD_COUNT is less than RX_DELIV or RCVD_COUNT has been received (i.e., step 6).
[0056] Optionally, if the first data packet does not meet the discard condition, i.e., the first data packet is not a duplicate data packet, the first data packet can be stored and decompressed normally (i.e., step 6-1). After storing the first data packet (SDU) (i.e., step 7), the state variables maintained locally by the terminal can be updated, such as HFN, SN, RX_DELIV, etc. maintained locally by the terminal (i.e., step 8). Then, the first data packet can be decompressed to obtain the context configuration information in the first data packet, and the context configuration information in the first data packet can be used to perform context initialization (i.e., step 9).
[0057] Step 102: Determine whether to discard the first data packet based on the first parameter.
[0058] In some embodiments, the first parameter is obtained from the Packet Data Convergence Protocol (PDCP) layer of the terminal, that is, the PDCP layer of the terminal can store the first parameter.
[0059] In some embodiments, when the first data packet is a duplicate data packet, it can be determined whether to discard the data packet based on the first parameter. For example, it can be determined whether the first data packet is the first data packet received after reconstruction based on the first parameter, or whether the first data packet is an IR packet based on the first parameter. In the case that the first data packet is the first data packet received after reconstruction (IR packet), it can be determined not to discard the first data packet and to use the first data packet to perform initialization.
[0060] In some embodiments, the method further includes: obtaining a second parameter stored in the PDCP layer; and, if the second parameter satisfies a preset condition, determining whether to discard the first data packet based on the first parameter. Optionally, when the second parameter is a second initial value, it can be determined that the second parameter satisfies the preset condition, that is, if the second parameter is true, it can be determined whether to discard the first data packet based on the first parameter.
[0061] Optionally, the first data packet can be an IR packet. That is, when the IR packet is determined to be a duplicate data packet, the scheme of this application can avoid the IR packet being directly discarded. It can achieve the decompression of the IR packet and the normal execution of context initialization based on the information in the IR packet even if the IR packet is a duplicate data packet (the SN of the IR packet is repeated).
[0062] In summary, the above embodiments of this disclosure can determine whether to discard the first data packet based on the second parameter when the first data packet is a duplicate data packet. This can prevent the first data packet, which is used for initialization, from being discarded. In other words, it can avoid the problem that after the AM bearer is re-established with ROHC, subsequent data packets will be discarded due to decompression failure. This solves the problem of voice silence, dropped calls, and interruptions for a period of time caused by the first data packet being discarded repeatedly after reconstruction in high-speed operation and other high-frequency handover scenarios.
[0063] Figure 2 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 2 .like Figure 2 As shown, based on Figure 1 The illustrated embodiment shows that the method includes the following steps.
[0064] Step 201: If the first parameter is a first value, determine that the first data packet will not be discarded, and perform context initialization of the terminal's decompression compressor based on the first data packet.
[0065] In some embodiments, the first value is used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction. For example, the first value can be 1, in which case it is determined that the first data packet will not be dropped, and the terminal's decompression context initialization is performed based on the first data packet.
[0066] In some embodiments, performing context initialization of the terminal's decompression compressor based on the first data packet includes: decompressing the first data packet to obtain context configuration information; and performing context initialization of the decompression compressor based on the context configuration information. The decompression compressor can be the terminal's decompression compressor, such as the ROHC decompression compressor; that is, performing context initialization of the decompression compressor can also be performing context initialization of the ROHC.
[0067] In some embodiments, the method further includes: updating the second parameter to a third value and resetting the first parameter to a first initial value in response to the completion of context initialization (i.e., step 10-1). In other words, the values of the first and second parameters can be determined, and it can be determined whether context initialization has been completed after reconstruction based on the values of the first and second parameters. For example, if g_reest_rohc_flag equals true and g_reest_rohc_num equals 1, it can be determined that context initialization has been completed after reconstruction. At this time, the second parameter can be updated to a third value, and the first parameter can be reset to the first initial value. The third value can be used to indicate that the judgment process is no longer executed, the third value can indicate that the first parameter is not allowed to be updated, the third value can indicate that context initialization is no longer executed, etc.
[0068] In some embodiments, if it is determined from the first and second parameters that the context initialization has not been completed after reconstruction, i.e., g_reest_rohc_flag is equal to false and / or g_reest_rohc_num is not equal to 1, the first and second parameters may not be updated.
[0069] In some embodiments, after determining that the first parameter and the second parameter will not be updated, or after updating the first parameter and the second parameter, the state of the reordering timer can be updated (i.e., step 11). For example, the state of the reordering timer can be updated according to the sequence of the received first data packet.
[0070] In some embodiments, after the context initialization is completed using the first data packet, or after it is determined that the first parameter and the second parameter will not be updated, or after the first parameter and the second parameter are updated, or after the state of the reordering timer is updated, it can be determined whether the first data packet is the last data packet (i.e., step 12). If the first data packet is not the last data packet, the terminal continues to receive the next data packet. If the first data packet is the last data packet, the packet receiving process ends.
[0071] Step 202: If the first parameter is the second value, determine to discard the first data packet.
[0072] In some embodiments, when the first parameter is a second value, it can be determined that the first data packet is not the first data packet received after reconstruction, wherein the second value may be, for example, a first initial value. If the second value is not equal to the first value, the first data packet can be discarded.
[0073] In some embodiments, after discarding the first data packet, it can be determined whether the first data packet is the last data packet (i.e., step 12). If the first data packet is not the last data packet, the terminal continues to receive the next data packet. If the first data packet is the last data packet, the packet receiving process ends.
[0074] In summary, the above embodiments of this disclosure can determine whether to discard the first data packet based on the second parameter when the first data packet is a duplicate data packet. This can prevent the first data packet, which is used for initialization, from being discarded. In other words, it can avoid the problem that after the AM bearer is re-established with ROHC, subsequent data packets will be discarded due to decompression failure. This solves the problem of voice silence, dropped calls, and interruptions for a period of time caused by the first data packet being discarded repeatedly after reconstruction in high-speed operation and other high-frequency handover scenarios.
[0075] Figure 3 A flowchart illustrating a communication method provided in this embodiment of the disclosure. Figure 3 .like Figure 3 As shown, based on Figure 1 The illustrated embodiment shows that the method includes the following steps.
[0076] Step 301: If the preset conditions are met, determine whether the first data packet is the last data packet of the current communication service.
[0077] In some embodiments, the preset conditions are any of the following: determining to discard the first data packet; the integrity protection verification of the first data packet fails; the first data packet is not the first data packet received on the first radio bearer after reconstruction; or the context initialization of the decompression of the terminal is completed.
[0078] In some embodiments, under the condition of meeting a preset condition, it is determined whether the first data packet is the last data packet of the current communication service (i.e., step 5-2). For example, when it is a voice service, the user's first sentence can be split into 10 data packets for transmission. After a pause, the user's second sentence can be split into 5 data packets for transmission. The current communication service can refer to the voice service corresponding to the first sentence, or the voice service corresponding to the second sentence, or the voice service within a certain period of time, etc. At this time, it can be determined whether the first data packet is the last data packet among the 10 data packets corresponding to the first sentence, or the last data packet among the 5 data packets corresponding to the second sentence, or the last data packet within the first time period, etc.
[0079] Step 302: If the first data packet is the last data packet, end the data packet reception process of the current communication service.
[0080] In some embodiments, when the first data packet is the last data packet, the data packet reception process of the current communication service can be terminated. For example, the receiving module can be turned off, and the detection of data packets sent by the base station can be stopped to reduce power consumption.
[0081] Step 303: If the first data packet is not the last data packet, receive the second data packet on the first radio bearer.
[0082] In some embodiments, the second data packet is the next data packet after the first data packet, that is, if the first data packet is not the last data packet, the terminal can continue to receive the next data packet.
[0083] In summary, the above embodiments of this disclosure can determine whether the first data packet is the last data packet of the current communication service, and when the first data packet is the last data packet of the current communication service, the data packet receiving process of the current communication service is terminated, which can reduce terminal power consumption.
[0084] The technical solutions of this disclosure will be further described in detail below with reference to specific application embodiments.
[0085] The following is a scheme for improving decompression robustness after NR reconstruction provided by an embodiment of this disclosure. This scheme belongs to the field of compression and repetition detection in wireless communication data transmission, and can also be applied to other data processing fields that require compression and decompression to save storage space and speed up transmission, such as the Internet of Things, finance, medical care, and industrial monitoring. Since the traditional duplicate detection and decompression process is part of the downlink data transmission process, this section introduces the duplicate detection and decompression process in conjunction with the PDCP downlink data transmission process, such as... Figure 4A As shown, the traditional scheme immediately performs decryption completion protection after calculating RCVD_COUNT. If the completion protection passes, it immediately checks whether the packet is a duplicate. If it is a duplicate, it is discarded without decompressing the ROHC header. This downlink data transmission reception process is used both before and after reconstruction. However, if drb-Continue ROHC is not configured after reconstruction, the context information needs to be reinitialized based on the IR packet in order to decompress normally.
[0086] This solution addresses the scenario where ROHC is configured after AM bearer reconstruction and the first data packet is a duplicate packet that is dropped. It solves the problem that the first data packet after reconstruction is also an IR packet that is dropped and cannot be decompressed, resulting in subsequent data packets failing to decompress for a period of time due to uninitialized context. This solution can avoid problems such as long periods of silent voice, dropped calls, or data interruption after reconstruction.
[0087] like Figure 4B As shown, the solution of this application includes the following steps: Step 1: During the reconstruction process, check whether the new configuration uses ROHC. If the configuration uses it, set the global variable flag g_reest_rohc_flag to true and g_reest_rohc_num to 0. Step 2: After the reconstruction is complete, start the process of receiving and processing data packets, and read the RCVD_SN of a node. Step 3: Judge whether g_reest_rohc_flag is equal to true and g_reest_rohc_num is equal to 0: Step 3-1: If the condition is satisfied, set g_reest_rohc_num to 1, and then jump to Step 4. Step 3-2: If any condition is not satisfied, directly jump to Step 4. Step 4: Calculate RCVD_COUNT = [RCVD_HFN, RCVD_SN], and perform decryption and integrity protection according to RCVD_COUNT. Step 5: Judge whether the integrity protection passes: Step 5-1: If the integrity protection passes, directly jump to Step 6. Step 5-2: If the integrity protection fails, directly discard the node and report it, and then jump to Step 12. Step 6: Judge whether the current data packet meets the discard condition: RCVD_COUNT < RX_DELIV or RCVD_COUNT has been received before; Step 6-1: If the discard condition is not met, directly jump to Step 7. Step 6-2: If the discard condition is met, continue to judge whether it is the first packet after reconstruction, that is, g_reest_rohc_flag is equal to true and g_reest_rohc_num is equal to 1: Step 6-2-1: If it is the first packet after reconstruction, jump to Step 9. Step 6-2-2: If it is not the first packet after reconstruction, discard it and then jump to Step 12. Step 7: Store the Service Data Unit (SDU). Step 8: Update the status variables. Step 9: Decompress. Step 10: Judge whether g_reest_rohc_flag is equal to true and g_reest_rohc_num is equal to 1: Step 10-1: If this condition is met, set g_reest_rohc_flag to false and g_reest_rohc_num to 0. Step 10-2: If it is not met, jump to Step 11. Step 11: Update the reordering timer state; Step 12: Determine if this is the last data packet; Step 12-1: This is not the last package, skip to step 2; Step 12-2: This is the last package; proceed to step 13. Step 13: End the package receiving process.
[0088] In summary, the solution disclosed herein can avoid the problem that after the AM bearer is rebuilt with ROHC configured, subsequent data packets will be dropped due to decompression failure for a period of time because the first data packet is a duplicate packet. It also solves the problem of voice silence, dropped calls, and interruptions for a period of time caused by the repeated dropping of the first compressed packet after reconstruction in high-frequency handover scenarios such as high-speed operation.
[0089] Figure 5 This is a schematic diagram of the structure of a communication device 500 provided in an embodiment of this disclosure. Figure 5 As shown, the device includes: a processing module 510, configured to determine that the first data packet of the current communication service is a duplicate data packet, wherein the first data packet is a data packet received through the first radio bearer after reconstruction; and to determine whether to discard the first data packet according to a first parameter, wherein the first parameter is obtained from the Packet Data Convergence Protocol (PDCP) layer of the terminal.
[0090] In some embodiments, the processing module is further configured to obtain a second parameter stored in the PDCP layer; and if the second parameter satisfies a preset condition, determine whether to discard the first data packet based on the first parameter.
[0091] In some embodiments, the processing module is further configured to obtain reconstruction configuration information; determine, based on the reconstruction configuration information, that the terminal's decompression compressor no longer uses the original context information, and that the first radio bearer is configured to use a first compression method and a first transmission mode.
[0092] In some embodiments, the processing module is further configured to set the first parameter to a first initial value, set the second parameter to a second initial value, and satisfy a preset condition when the second parameter is the second initial value.
[0093] In some embodiments, the processing module is further configured to update the first parameter to a first value in response to the second parameter being a second initial value and the first parameter being a first initial value, and to perform integrity protection verification on the first data packet.
[0094] In some embodiments, the processing module is further configured to: determine not to discard the first data packet when the first parameter is a first value, and perform context initialization of the terminal's decompression compressor based on the first data packet, the first value being used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction; and determine to discard the first data packet when the first parameter is a second value.
[0095] In some embodiments, the processing module is further configured to decompress the first data packet to obtain context configuration information; and perform context initialization of the decompressor according to the context configuration information.
[0096] In some embodiments, the processing module is further configured to update the second parameter to a third value and reset the first parameter to a first initial value in response to the completion of context initialization.
[0097] In some embodiments, the processing module is further configured to determine whether the first data packet is the last data packet of the current communication service if a preset condition is met; if the first data packet is the last data packet, terminate the data packet receiving process of the current communication service; if the first data packet is not the last data packet, receive the second data packet on the first radio bearer, wherein the second data packet is the next data packet after the first data packet.
[0098] In some embodiments, the preset conditions are any of the following: determining to discard the first data packet; the integrity protection verification of the first data packet fails; the first data packet is not the first data packet received on the first radio bearer after reconstruction; or the context initialization of the decompression of the terminal is completed.
[0099] In summary, the communication device 500 can determine whether to discard the first data packet based on the second parameter if the first data packet is a duplicate data packet. This avoids the first data packet being discarded because it is a data packet used for initialization. In other words, it avoids the problem that after the AM bearer is re-established with ROHC, subsequent data packets will be discarded due to decompression failure. This solves the problem of voice silence, dropped calls, and interruptions caused by the first data packet being discarded repeatedly after reconstruction in high-speed operation and other high-frequency handover scenarios.
[0100] The methods and apparatus provided in the embodiments of this application have been described above. To implement the functions of the methods provided in the embodiments of this application, the electronic device may include a hardware structure and software modules, and may implement the above functions in the form of a hardware structure, software modules, or a hardware structure plus software modules. One of the above functions may be executed in the form of a hardware structure, software modules, or a hardware structure plus software modules.
[0101] Figure 6 This is a block diagram illustrating an electronic device 600 for implementing the above-described method according to an exemplary embodiment. For example, the electronic device 600 may be a mobile phone, computer, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.
[0102] Reference Figure 6 The electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 608, an audio component 610, an input / output (I / O) interface 612, a sensor component 614, and a communication component 616.
[0103] Processing component 602 typically controls the overall operation of electronic device 600, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 602 may include one or more processors 620 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 602 may include one or more modules to facilitate interaction between processing component 602 and other components. For example, processing component 602 may include a multimedia module to facilitate interaction between multimedia component 608 and processing component 602.
[0104] Memory 604 is configured to store various types of data to support the operation of electronic device 600. Examples of such data include instructions for any application or method operating on electronic device 600, contact data, phonebook data, messages, pictures, videos, etc. Memory 604 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0105] Power supply component 606 provides power to various components of electronic device 600. Power supply component 606 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 600.
[0106] Multimedia component 608 includes a screen that provides an output interface between electronic device 600 and user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 608 includes a front-facing camera and / or a rear-facing camera. When electronic device 600 is in an operating mode, such as a shooting mode or video mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0107] Audio component 610 is configured to output and / or input audio signals. For example, audio component 610 includes a microphone (MIC) configured to receive external audio signals when electronic device 600 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 604 or transmitted via communication component 616. In some embodiments, audio component 610 also includes a speaker for outputting audio signals.
[0108] I / O interface 612 provides an interface between processing component 602 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0109] Sensor assembly 614 includes one or more sensors for providing state assessments of various aspects of electronic device 600. For example, sensor assembly 614 may detect the on / off state of electronic device 600, the relative positioning of components such as the display and keypad of electronic device 600, changes in position of electronic device 600 or a component of electronic device 600, the presence or absence of user contact with electronic device 600, orientation or acceleration / deceleration of electronic device 600, and temperature changes of electronic device 600. Sensor assembly 614 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 614 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0110] Communication component 616 is configured to facilitate wired or wireless communication between electronic device 600 and other devices. Electronic device 600 can access wireless networks based on communication standards, such as WiFi, 2G or 3G, 4G LTE, 5G NR (NewRadio), or combinations thereof. In one exemplary embodiment, communication component 616 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 616 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0111] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0112] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 604 including instructions, which can be executed by a processor 620 of an electronic device 600 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.
[0113] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the above embodiments of this disclosure.
[0114] Figure 7 This is a schematic diagram illustrating the structure of a chip 700 for implementing the above method according to an exemplary embodiment. (Refer to...) Figure 7 The chip 700 includes a communication interface 701 and at least one processor 702. The communication interface 701 is used to receive signals input to the chip 700 or signals output from the chip 700. The processor 702 communicates with the communication interface 701 and implements the methods described in the above embodiments of this disclosure through logic circuits or executing code instructions.
[0115] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0116] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in at least one embodiment or example.
[0117] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.
[0118] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having at least one wire (communication method), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.
[0119] It should be understood that various parts of the embodiments of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0120] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
[0121] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc.
[0122] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.
Claims
1. A communication method, characterized in that, The method includes: The first data packet of the current communication service is determined to be a duplicate data packet, and the first data packet is the data packet received through the first radio bearer after reconstruction; Based on a first parameter, it is determined whether to discard the first data packet, wherein the first parameter is obtained from the Packet Data Convergence Protocol (PDCP) layer of the terminal.
2. The method according to claim 1, characterized in that, The method further includes: Obtain the second parameter stored in the PDCP layer; If the second parameter meets the preset conditions, determine whether to discard the first data packet based on the first parameter.
3. The method according to claim 1, characterized in that, The method further includes: Obtain rebuild configuration information; Based on the reconstruction configuration information, it is determined that the terminal's decompression compressor no longer uses the original context information, and the first wireless bearer is configured to use a first compression method and a first transmission mode.
4. The method according to claim 3, characterized in that, The method further includes: The first parameter is set to a first initial value, and the second parameter is set to a second initial value. When the second parameter is the second initial value, a preset condition is met.
5. The method according to claim 4, characterized in that, After receiving the first data packet via the first wireless bearer, the method further includes: In response to the second parameter being the second initial value and the first parameter being the first initial value, the first parameter is updated to the first value, and integrity protection verification is performed on the first data packet.
6. The method according to any one of claims 1 to 5, characterized in that, The step of determining whether to discard the first data packet based on the first parameter includes any one of the following: When the first parameter is a first value, it is determined that the first data packet will not be dropped, and the context initialization of the terminal's decompression is performed based on the first data packet. The first value is used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction. If the first parameter is a second value, it is determined that the first data packet will be discarded.
7. The method according to claim 6, characterized in that, The step of performing context initialization of the terminal's decompression compressor based on the first data packet includes: The first data packet is decompressed to obtain context configuration information; Based on the context configuration information, the context initialization of the decompressor is performed.
8. The method according to claim 7, characterized in that, The method further includes: In response to the completion of the context initialization, the second parameter is updated to a third value, and the first parameter is reset to a first initial value.
9. The method according to any one of claims 1 to 5, characterized in that, The method further includes: If preset conditions are met, determine whether the first data packet is the last data packet of the current communication service; If the first data packet is the last data packet, the data packet reception process of the current communication service ends; If the first data packet is not the last data packet, a second data packet is received on the first radio bearer, the second data packet being the next data packet after the first data packet.
10. The method according to claim 9, characterized in that, The preset condition is any one of the following: Determine to discard the first data packet; The integrity protection verification of the first data packet failed; The first data packet is not the first data packet received on the first radio bearer after reconstruction; Complete the context initialization of the decompressor for the terminal.
11. A communication device, characterized in that, include: The processing module is used to determine that the first data packet of the current communication service is a duplicate data packet, wherein the first data packet is a data packet received through the first radio bearer after reconstruction; Based on a first parameter, it is determined whether to discard the first data packet, wherein the first parameter is obtained from the Packet Data Convergence Protocol (PDCP) layer of the terminal.
12. The apparatus according to claim 11, characterized in that, The processing module is also used for: Obtain the second parameter stored in the PDCP layer; If the second parameter meets the preset conditions, determine whether to discard the first data packet based on the first parameter.
13. The apparatus according to claim 12, characterized in that, The processing module is also used for: Obtain rebuild configuration information; Based on the reconstruction configuration information, it is determined that the terminal's decompression compressor no longer uses the original context information, and the first wireless bearer is configured to use a first compression method and a first transmission mode.
14. The apparatus according to any one of claims 11 to 13, characterized in that, The processing module is also used for any of the following: When the first parameter is a first value, it is determined that the first data packet will not be dropped, and the context initialization of the terminal's decompression is performed based on the first data packet. The first value is used to indicate that the first data packet is the first data packet received on the first radio bearer after reconstruction. If the first parameter is a second value, it is determined that the first data packet will be discarded.
15. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method of any one of claims 1-10.
16. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-10.
17. A chip, characterized in that, It 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 method as described in any one of claims 1 to 10 through logic circuits or executing code instructions.