Patent Description:
Data transmitted between an electronic device such as user equipment (UE, user equipment) and a network side device such as an evolved Node B (eNB, evolved Node B) usually needs to pass through a packet data convergence protocol (PDCP, packet data convergence protocol), a radio link control (RLC, radio link control) protocol, media access control (MAC, media access control), and a physical layer (PHY, physical layer). Each layer completes different data processing.

The PDCP mainly performs security operations and header compression/decompression processing, for example, encryption and integrity protection, robust header compression (ROHC, robust header compression) and decompression. The RLC mainly implements data segmentation and concatenation, in-order delivery, and automatic repeat-request (ARQ, automatic repeat-request) data transmission guarantee. The MAC mainly completes scheduling, concatenation processing of different logical channels, and hybrid automatic repeat request (HARQ, hybrid automatic repeat request) operations. The physical layer converts transport blocks into packets and transmits the packets through an air interface.

An uplink data compression (UDC, uplink data compression) technology is introduced in a transmission of an acknowledged mode (AM, acknowledged mode) of long term evolution (LTE, long term evolution), and is implemented at the PDCP layer. The UDC technology is mainly used for some data packets (packets) that have a large amount of duplicate content, where redundant information between packets is compressed, to reduce an amount of to-be-transmitted data, so as to reduce an amount of data transmitted through an air interface, and reduce uplink resources. Specifically, in the UDC technology, as a transmitting end, an electronic device compresses a received data packet of an uplink application layer, and generates a PDCP data packet based on a compressed data packet. A structure of the PDCP data packet is shown in <FIG>. A PDCP layer product serial number (SN, serial number) is included in a PDCP header (header). As a receiving end, a network side device obtains the compressed data packet (namely, the compressed data packet in the electronic device) from the received PDCP data packet, and decompresses the compressed data packet to obtain an original data packet (namely, the data packet of the uplink application layer in the electronic device).

Principles of data compression and decompression in the UDC technology are described as follows. In the UDC, data packets are compressed and decompressed based on a buffer (buffer). The buffer stores a character string, and the character string is commonly referred to as a dictionary. According to a protocol, a size of the buffer is <NUM> KB, <NUM> KB, or <NUM> KB. When a data packet is compressed, the data packet is compared with the dictionary, and some fields that are the same as the dictionary in the data packet are removed as redundancy, to reduce an amount of transmitted data. Decompression is to restore the redundancy in the data packet based on the dictionary, and fill the restored redundancy into a decompressed data packet to obtain the original data packet. A size of the dictionary is less than or equal to the size of the buffer. For example, in the Arena of Valor application, when a buffer is set to <NUM> KB, a size of a dictionary is less than <NUM> KB.

For example, as shown in <FIG>, in an electronic device, it is assumed that a preset dictionary or an initial dictionary in a buffer is abc, and a buffer including the preset dictionary or the initial dictionary is referred to as a buffer <NUM>. After a packet <NUM> is compressed based on the dictionary abc in the buffer <NUM>, the packet <NUM> is placed in the buffer <NUM> to obtain a buffer <NUM> that includes a dictionary abc-def. In a network side device, before the compressed packet <NUM> is received, an initial buffer also has only a preset dictionary or an initial dictionary abc, namely, the buffer <NUM>. After the compressed packet <NUM> is received, the compressed packet <NUM> is decompressed based on the dictionary abc in the buffer <NUM>, to obtain the packet <NUM>, which is specifically def, and then data in the packet <NUM> is stored in a buffer (namely, the buffer <NUM>) of the network side device from back to front. In this case, the buffer in the network side device also changes to the buffer <NUM> including the dictionary abc-def, to implement unification of the buffer in the electronic device and the buffer in the network side device. Similarly, after compressing a packet <NUM>, the electronic device places the packet <NUM> into the buffer <NUM>, to obtain a buffer <NUM>. Because a size of a buffer is fixed, data that is placed later squeezes previous data out of the buffer. This is similar to a process in which the packet <NUM> is added to the buffer in the figure. After receiving the compressed packet <NUM>, the network side device decompresses the compressed packet <NUM> based on the dictionary abc-def in the buffer <NUM>, to obtain the packet <NUM>, and stores data in the packet <NUM> in the buffer <NUM> from the back to the front, to obtain the buffer <NUM>. Based on the foregoing compression and decompression principles of the UDC, it may be learned that, when the network side device decompresses a data packet, successful decompression of a next data packet depends on successful decompression of a previous data packet. Once decompression of a data packet fails, data packets following the data packet cannot be successfully decompressed.

In the network side device, a large quantity of data packets are easily lost due to a decompression failure of a data packet, and lost data needs to be retransmitted from a TCP/IP layer at an upper layer of the PDCP in the electronic device. This results in a waste of data processing resources and uplink data transmission resources of the electronic device and the network side device.

Document <CIT> discloses a method for service recovery after a failure of decryption or decompression.

This application provides a data packet decompression method, an electronic device, and a network side device, to reduce resource waste caused by a data packet decompression failure.

To describe technical solutions in embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings used for describing the embodiments. It is clearly that the accompanying drawings in the following descriptions show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

Terms used in embodiments of this application are only used to explain specific embodiments of this application, but are not intended to limit this application.

A data packet transmission process in a UDC technology in a conventional implementation solution is first described. Currently, the UDC technology is applicable only to an AM mode of LTE. Usually, a PDCP layer of a network side device receives data packets in sequence, to ensure that a buffer in an electronic device is aligned with a buffer in the network side device, and implement sequential decompression. As shown in <FIG>, for example, a size of a buffer is two data packets. One dashed box represents one buffer. Each row of buffers in upper and lower rows starts from a first dashed box representing a buffer <NUM>, and subsequent dashed boxes sequentially represent a buffer <NUM> to a buffer <NUM>. Buffers with same sequence numbers on the upper and lower rows are the same. It should be noted that an original packet shown in <FIG> refers to an original data packet. In a normal case, upper two lines are respectively a PDCP layer and an RLC layer of the electronic device, and lower two lines are respectively an RLC layer and a PDCP layer of the network side device. Packets <NUM> to <NUM> in PDCP data packets of the electronic device are sequentially transmitted from the PDCP layer to the RLC layer, and finally transmitted to the RLC layer of the network side device. After the RLC layer of the network side device sorts the received PDCP data packets, the RLC layer submits the received PDCP data packets to the PDCP layer for decompression. For example, as shown in <FIG>, a packet <NUM> in the original data packets (namely, data packets of an uplink application layer) of the electronic device is compressed based on a buffer <NUM> that includes a packet <NUM> and a packet <NUM> in the original data packets, to generate the packet <NUM> of the PDCP data packet. The RLC layer of the network side device sorts the PDCP data packets <NUM> to <NUM> and submits the PDCP data packets <NUM> to <NUM> together to the PDCP layer. The packet <NUM> in the PDCP data packet is decompressed based on a buffer <NUM> that is updated after the packet <NUM> and the packet <NUM> are correctly decompressed, namely, the buffer <NUM> including an original data packet <NUM> (namely, the original package <NUM> shown in <FIG>) and an original data packet <NUM> (namely, the original package <NUM> shown in <FIG>). All numbers in <FIG> are PDCP SNs.

In LTE, there is a feedback mechanism for UDC decompression errors. When the network side device finds that a decompression error occurs on a PDCP data packet, the network side device feeds back, to the electronic device, a control protocol data unit (control PDU) in which a UDC decompression error occurs. After receiving the control PDU, the electronic device resets (resets) the buffer starting from an original data packet that currently needs to be compressed; compresses, based on a preset dictionary or an initial dictionary, the original data packet that currently needs to be compressed to generate a PDCP data packet; and indicates, in a UDC header, that the PDCP data packet is a PDCP data packet generated after the buffer is reset.

For example, for UDC transmission in LTE, in some cases, for example, when a discard timer (discard timer) expires, the PDCP layer of the electronic device may discard some PDCP data packets, and notifies the lower RLC layer to avoid sending an expired PDCP data packet through an air interface. As shown in <FIG>, for example, after a packet <NUM> in PDCP data packets whose SNs are <NUM>, <NUM>, <NUM>, and <NUM> at the PDCP layer are discarded due to an expiration, the PDCP layer may notify the RLC layer that the PDCP data packet <NUM> needs to be discarded, and numbers of PDCP data packets at the RLC layer also change as follows: a PDCP packet <NUM> corresponds to an RLC packet <NUM>, a PDCP packet <NUM> corresponds to an RLC packet <NUM>, and a PDCP packet <NUM> corresponds to an RLC packet <NUM>. The network side device receives the PDCP data packets and submits the PDCP data packets to the PDCP layer. After the PDCP data packets <NUM> and <NUM> are decompressed, because the PDCP data packet <NUM> is discarded by the RLC layer in the electronic device, when the network side device decompresses the received PDCP data packet <NUM> (namely, the foregoing packet <NUM> of the RLC), a buffer used for decompression is inconsistent with a compression buffer used for compression, and a decompression error occurs. Further, the network side device may feed back a control PDU to the electronic device. However, as shown in <FIG>, after the PDCP data packet <NUM> in the electronic device is discarded due to an expiration, PDCP data packets <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may be packed already. The PDCP data packets <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> may still be sent by the electronic device normally and received by the network side device. The network side device sends the control PDU to require the electronic device to reset the buffer when the network device fails to decompress the PDCP data packet <NUM>, but in this case, the PDCP data packets <NUM>, <NUM>, <NUM>, and <NUM> in the electronic device are sent already. Therefore, the electronic device may reset the buffer starting from a PDCP data packet <NUM>. The network side device fails to decompress all the PDCP data packets <NUM> to <NUM>, and can normally decompress a PDCP data packet and send the PDCP data packet to the uplink application layer only from the PDCP data packet <NUM>. In other words, all PDCP data packets (the PDCP data packets <NUM> to <NUM> in the figure) from a time when the network side device discovers the decompression failure (the PDCP data packet <NUM> in the figure) to a time when the network side device receives the PDCP data packet generated after the buffer is reset (the PDCP data packet <NUM> in the figure) are discarded due to the decompression failure, resulting in a large quantity of lost PDCP data packets. In addition, the uplink application layer needs to retransmit data in the lost PDCP data packets, causing a waste of data processing resources and uplink data transmission resources of the electronic device and the network side device.

Currently, the UDC technology is not used in <NUM> new radio (NR, new radio). If the UDC technology is used in <NUM> NR, definitely, a technical solution is reusing the foregoing existing UDC mechanism for a data radio bearer (DRB, data radio bearer) transmission in an AM mode. For details, refer to <FIG>. As shown in <FIG>, a PDCP data packet compression and decompression process in <NUM> NR shown in <FIG> differs from a PDCP data packet compression and decompression process in LTE shown in <FIG> mainly in the following two aspects:.

A PDCP layer of <NUM> NR has a reordering function. A process of decompressing and submitting a PDCP data packet is performed at a last step of sending the PDCP data packet to an upper layer of the PDCP layer, that is, the PDCP data packet is decompressed before the PDCP data packet is sorted and submitted to the upper layer.

To reduce a data packet processing delay in <NUM> NR, the PDCP layer in the electronic device may further perform preprocessing. To be specific, when a bottom layer does not allocate an air interface grant (grant), the PDCP layer sends PDCP data packets to the lower RLC layer for advance processing. Therefore, only the packet <NUM> in the PDCP data packets may be transmitted through the air interface, but the PDCP data packets <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are processed at the PDCP layer, and are submitted to the RLC layer for further preprocessing.

In <NUM> NR, in a case similar to that in LTE, if an electronic device deletes some PDCP data packets at the PDCP layer due to a PDCP discard timer expiration, a similar batch packet loss event also occurs. In addition, because the PDCP layer in the network side device needs to reorder the PDCP data packets, a reordering timer (reordering timer) is started to wait for a PDCP data packet that does not arrive. Therefore, decompression of a PDCP data packet after the PDCP data packet that does not arrive in an SN-based sorting sequence can be performed only after the reordering timer expires. Only in this case, can the network side device find that a problem occurs in decompression of the PDCP data packet after the PDCP data packet that does not arrive, and feed back the problem to the electronic device. In addition, because the PDCP layer in the electronic device has a preprocessing function, more PDCP data packets are compressed based on unaligned buffers and transmitted to the network side device. The foregoing two reasons directly cause more data packet decompression failures. In other words, more PDCP data packets are lost when a batch packet loss event occurs in <NUM> NR. For example, as shown in <FIG>, after the PDCP data packet <NUM> is discarded due to an expiration, the PDCP data packets <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are packed, and transmitted to the RLC layer due to the preprocessing function. Even if the PDCP data packets <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are normally sent, the PDCP data packets cannot be correctly decompressed by the network side device. In addition, in the network side device, the network side device delivers the PDCP data packet <NUM> to the upper layer only after the reordering timer expires, and only in this case, can the network side device find that the decompression of the PDCP data packet <NUM> fails. Compared with the same case in LTE, a time when the network side device finds that the decompression of the PDCP data packet <NUM> fails is delayed by duration of the reordering timer. When the electronic device receives feedback of a decompression error of the network side device for the PDCP data packet <NUM>, the PDCP data packets <NUM> and <NUM> may be sent already, and the PDCP data packet <NUM>, <NUM>, and <NUM> are transmitted to the RLC layer, the buffer can be reset only from a PDCP data packet <NUM>. The network side device can normally decompress a PDCP data packet and send the PDCP data packet to the upper layer of the PDCP layer only after receiving the PDCP data packet <NUM>. Therefore, because the PDCP layer has the preprocessing function and a problem can be detected in the PDCP layer reordering procedure only after the reordering timer expires, a quantity of lost PDCP data packets in <NUM> NR may be larger than that in LTE when PDCP data packet decompression fails, causing a more serious waste on data processing resources and uplink data transmission resources of the electronic device and the network side device.

Therefore, this application provides a data packet decompression method, an electronic device, and a network side device, to reduce a resource waste caused by a PDCP data packet decompression failure.

The data packet decompression method in embodiments of this application is applicable to an AM mode and an unacknowledged mode (UM, unacknowledged mode) of LTE, and is also applicable to an AM mode and a UM mode of <NUM> NR.

In the data packet decompression method in embodiments of this application, the electronic device numbers a maintained compression buffer, the network side device numbers a maintained decompression buffer, and a number of a compression buffer used when the electronic device compresses a PDCP data packet is the same as a number of a decompression buffer used when the network side device decompresses the PDCP data packet. In a possible implementation, an SN of the PDCP data packet may be used as a number for the compression buffer and the decompression buffer that are generated based on the PDCP data packet, so that different buffers can be distinguished, and the PDCP data packet, the compression buffer, and the decompression buffer can be effectively associated. Specifically, for an original data packet n, the electronic device performs compression processing on the original data packet n based on a compression buffer (n - <NUM>), to generate a PDCP data packet n corresponding to the original data packet n, and updates the compression buffer (n - <NUM>) to a new compression buffer (n) based on the original data packet n. Optionally, a number of the new compression buffer (n) may be an SN of the PDCP data packet n. Correspondingly, for the PDCP data packet n, the network side device decompresses the PDCP data packet n by using a current decompression buffer (n - <NUM>), to generate the original data packet n corresponding to the PDCP data packet n, and updates the decompression buffer (n - <NUM>) to a new decompression buffer (n) based on the original data packet n. Optionally, a number of the new decompression buffer (n) may be the SN of the PDCP data packet n.

For example, <FIG> is an example diagram of a relationship between buffers and PDCP data packets maintained in the electronic device and the network side device. It is assumed that a buffer that includes a preset dictionary or an initial dictionary in each of the electronic device and the network side device is a buffer <NUM>. In the electronic device, a PDCP data packet <NUM> is obtained by compressing an original data packet <NUM> by using the buffer <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM> of the PDCP data packet <NUM>, to obtain a buffer <NUM> (that is, the buffer <NUM> is generated based on the PDCP data packet <NUM>); a PDCP data packet <NUM> is obtained by compressing an original data packet <NUM> by using the buffer <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM> of the PDCP data packet <NUM>, to obtain a buffer <NUM>; a PDCP data packet <NUM> is obtained by compressing an original data packet <NUM> by using the buffer <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM> of the PDCP data packet <NUM>, to obtain a buffer <NUM>; and the rest may be deduced by analogy. In the network side device, the PDCP data packet <NUM> is decompressed based on the buffer <NUM> to obtain the original data packet <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM>, to obtain the buffer <NUM> (that is, the buffer <NUM> is generated based on the PDCP data packet <NUM>); the PDCP data packet <NUM> is decompressed based on the buffer <NUM> to obtain the original data packet <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM>, to obtain the buffer <NUM>; the PDCP data packet <NUM> is decompressed based on the buffer <NUM> to obtain the original data packet <NUM>, and the buffer <NUM> is updated based on the original data packet <NUM>, to obtain the buffer <NUM>; and the rest may be deduced by analogy. In <FIG>, compression or decompression of a same PDCP data packet in the electronic device and the network side device is based on a same buffer. Numbers <NUM> to <NUM> of the PDCP data packets and the buffers in <FIG> are merely examples, and are not intended to limit a numbering manner of the buffers.

Based on the foregoing numbers of the buffers, as shown in <FIG>, an embodiment of the data packet decompression method may include the following steps.

Step <NUM>: A network side device receives a PDCP data packet, and determines whether the PDCP data packet is successfully decompressed.

Optionally, determining whether the PDCP data packet is successfully decompressed may include: determining whether a checksum (checksum) of the PDCP data packet is correct.

The checksum is a <NUM>-bit value obtained through calculation based on a buffer used for PDCP data packet compression, and is placed at an end of the PDCP data packet. The network side device may obtain a checksum through calculation based on a decompression buffer to be used for PDCP data packet decompression. Whether the checksum (checksum) of the PDCP data packet is correct may be determined by comparing whether the checksum obtained by the network side device through calculation is consistent with the checksum carried in the PDCP data packet. If the checksum obtained by the network side device through calculation is consistent with the checksum carried in the PDCP data packet, it is determined that the checksum (checksum) of the PDCP data packet is correct, and it indicates that the decompression buffer used for the PDCP data packet decompression is the same as the compression buffer used when the electronic device generates the PDCP data packet, and indicates that the PDCP data packet can be decompressed successfully. On the contrary, if the checksum obtained by the network side device through calculation is inconsistent with the checksum carried in the PDCP data packet, it is determined that the checksum of the PDCP data packet is incorrect, and it indicates that the PDCP data packet fails to be decompressed.

For example, it is assumed that a PDCP data packet <NUM> is not received. In this case, a number of the decompression buffer in the network side device is <NUM> (namely, a buffer <NUM>), and a PDCP data packet that needs to be decompressed is a packet <NUM>. A checksum carried in the PDCP data packet <NUM> is obtained by the electronic device through calculation based on a compression buffer whose number is <NUM> (namely, a buffer <NUM>), and the network side device calculates a checksum based on the decompression buffer whose number is <NUM>. The compression buffer whose number is <NUM> is different from the decompression buffer whose number is <NUM>. Therefore, the checksums are inconsistent through comparison, and it can be determined that the checksum of the PDCP data packet <NUM> is incorrect, and the PDCP data packet fails to be decompressed.

When a determining result in this step is that the PDCP data packet is successfully decompressed, the network side device continues to determine whether a next PDCP data packet is successfully decompressed.

Step <NUM>: If a determining result of the network side device is that the PDCP data packet fails to be decompressed, the network side device determines a buffer identifier corresponding to the PDCP data packet and a number of a decompression buffer used for decompression, and sends the buffer identifier to the electronic device; and the electronic device receives the buffer identifier, and sends data in a compression buffer corresponding to the buffer identifier to the network side device.

Optionally, the buffer identifier may be sent to the electronic device by using a control PDU.

Optionally, the compression buffer may be sent to the network side device by using a control PDU.

The buffer identifier is used to indicate, to the electronic device, a compression buffer used for generating an Nth PDCP data packet. Optionally, the buffer identifier may be an identifier of a decompression buffer used for decompressing the PDCP data packet, or an identifier of a compression buffer used for generating the PDCP data packet, or an identifier of a decompression buffer that is updated based on an original data packet of the PDCP data packet, or an identifier of a compression buffer that is updated based on the original data packet of the PDCP data packet. In a possible implementation, the identifier of the decompression buffer may be a number of the decompression buffer, and the identifier of the compression buffer may be a number of the compression buffer.

Optionally, the compression buffer and the decompression buffer may be numbered by using an SN of the PDCP data packet. For example, the number of the compression buffer or the decompression buffer that is updated based on the original data packet of the PDCP data packet is set to an SN. In this case, the SN is the number of the compression buffer or the decompression buffer that is updated based on the original data packet of the PDCP data packet. The number of the compression buffer used for generating the PDCP data packet is a value of the SN minus <NUM>, and the number of the decompression buffer used for decompressing the PDCP data packet is also the value of the SN minus <NUM>. For example, it is assumed that an SN of a PDCP data packet is m. In this case, a number of a compression buffer for generating the PDCP data packet is m - <NUM>, and a number of a compression buffer that is updated based on an original data packet of the PDCP data packet is m. Similarly, a number of a decompression buffer used for decompressing the PDCP data packet is m - <NUM>, and a number of a decompression buffer that is updated based on the original data packet of the PDCP data packet is m. Based on the foregoing buffer numbering manner, in a possible implementation, the network side device may obtain the SN from a header of the PDCP data packet, and send the SN as the buffer identifier to the electronic device. Herein, the SN sent as the buffer identifier is the identifier of the compression buffer or the decompression buffer updated based on the original data packet of the PDCP data packet. In another possible implementation, the network side device may alternatively obtain, through calculation based on an SN value m obtained from the header of the PDCP data packet, that the number of the decompression buffer used for decompressing the PDCP data packet is m - <NUM>, and send the number m - <NUM> as the buffer identifier to the electronic device.

The example in step <NUM> is continued. As shown in <FIG>, the network side device fails to decompress the PDCP data packet <NUM>, and the network side device may obtain an SN of the PDCP data packet <NUM>. It is assumed that the SN is <NUM>.

In a possible implementation, the network side device may send the value <NUM> of the SN to the electronic device. Correspondingly, the electronic device obtains, through calculation based on the value of the SN, that the number that is of the decompression buffer and that is sent by the network side device is <NUM> (that is, <NUM> - <NUM>), and sends data in the compression buffer whose number is <NUM> (namely, the compression buffer corresponding to the number of the decompression buffer) in the electronic device to the network side device.

In another possible implementation, the network side device may obtain, through calculation based on the value <NUM> of the SN, that the number of the decompression buffer used by the network side device to decompress the PDCP data packet <NUM> is <NUM>, and the network side device may send the number <NUM> to the electronic device. Correspondingly, the electronic device sends the data in the compression buffer whose number is <NUM> (namely, the compression buffer corresponding to the number of the decompression buffer) in the electronic device to the network side device.

Step <NUM>: The network side device receives the data in the compression buffer, updates the decompression buffer by using the received data in the compression buffer, decompresses the PDCP data packet based on an updated decompression buffer to obtain the original data packet corresponding to the PDCP data packet, and updates the decompression buffer based on the original data packet.

Then, the network side device may continue, based on the updated decompression buffer, to decompress PDCP data packets subsequent to the PDCP data packet.

The example in step <NUM> is continued. As shown in <FIG>, the network side device receives data in the buffer <NUM>, updates the decompression buffer of the PDCP data packet by using the data in the buffer <NUM>, where a number of the updated decompression buffer is also <NUM>, decompresses the PDCP data packet <NUM> based on the decompression buffer <NUM> to obtain an original data packet <NUM> of the PDCP data packet <NUM>, and updates the decompression buffer whose number is <NUM> by using the obtained original data packet <NUM> to obtain a decompression buffer whose number is <NUM>.

Because a compression buffer and a decompression buffer with a same number are the same, the network side device updates the received buffer to the decompression buffer of the PDCP data packet, and decompresses the PDCP data packet based on the updated decompression buffer, to obtain the original data packet corresponding to the PDCP data packet. In this way, the decompression buffer required by the PDCP data packet that fails to be decompressed is obtained from the electronic device, to ensure that the PDCP data packet that fails to be decompressed can be successfully decompressed, and resolve a problem of a resource waste caused by the network side device failing to decompress the PDCP data packet in the conventional technology.

Optionally, to prevent an excessively large amount of compression buffer data sent to the network side device, a maximum threshold may be preset in the electronic device. A specific value of the maximum threshold is not limited in this embodiment of this application. Correspondingly, in step <NUM>, after receiving the buffer identifier, the electronic device may first determine whether a size of the compression buffer corresponding to the buffer identifier exceeds the preset maximum threshold. If the size of the compression buffer does not exceed the maximum threshold, the electronic device sends the data in the compression buffer corresponding to the buffer identifier to the network side device; or if the size of the compression buffer exceeds the maximum threshold, the electronic device may indicate the network side device to perform a buffer resetting procedure according to the conventional technology. For example, the electronic device may send a buffer resetting notification to the network side device. Optionally, the buffer resetting notification may be sent to the network side device by using a control PDU. In a buffer resetting procedure of the electronic device, the electronic device initializes the maintained compression buffer, and then the electronic device compresses, by using the initialized compression buffer, an original data packet that currently needs to be compressed, generates a corresponding PDCP data packet, and transmits the PDCP data packet to the network side device. In the buffer resetting procedure of the network side device, the network side device initializes a maintained decompression buffer, and the network side device decompresses a newly received PDCP data packet by using the initialized decompression buffer until the newly received PDCP data packet is successfully decompressed.

The example shown in <FIG> is continued. It is assumed that the electronic device compresses an original data packet <NUM> and obtains a PDCP data packet <NUM> before receiving the buffer identifier, and the network side device receives the PDCP data packet <NUM> already. After the electronic device receives the buffer identifier, a compression buffer corresponding to the buffer identifier is the buffer <NUM>. If a size of the buffer <NUM> does not exceed the maximum threshold, the electronic device sends data in the buffer <NUM> to the network side device; or if a size of the buffer <NUM> exceeds the maximum threshold, the electronic device indicates the network side device to reset the buffer. The electronic device and the network side device separately execute the buffer resetting procedure, and initialize the maintained buffer. The electronic device compresses, by using the initialized compression buffer, an original data packet <NUM> that needs to be compressed, to generate a PDCP data packet <NUM>, and transmits the PDCP data packet <NUM> to the network side device. Correspondingly, the network side device sequentially decompresses the newly received PDCP data packet <NUM> and PDCP data packet <NUM> by using the initialized decompression buffer, and the PDCP data packet <NUM> is decompressed successfully. Then, the decompression buffer is updated based on the original data packet <NUM> obtained by decompressing the PDCP data packet <NUM>, and a received PDCP data packet <NUM> and a subsequent PDCP data packet are processed according to step <NUM>.

As shown in <FIG>, another embodiment of the data packet decompression method may include the following steps.

Step <NUM>: After a network side device sends an acknowledgment (ACK) for an Nth PDCP data packet to an electronic device, the electronic device receives the ACK, generates an (N + <NUM>)th PDCP data packet, sends the (N + <NUM>)th PDCP data packet to the network side device, and waits for the network side device to feed back an ACK or a negative acknowledgment (NACK); the network side device starts a preset timer to determine whether the (N + <NUM>)th PDCP data packet is successfully decompressed within duration of the timer; and if the network side device determines that the (N + <NUM>)th PDCP data packet is successfully decompressed, step <NUM> is performed; or if the network side device determines that the (N + <NUM>)th PDCP data packet is not successfully decompressed, step <NUM> is performed.

For example, as shown in <FIG>, a PDCP data packet <NUM> (namely, the Nth PDCP data packet) is successfully decompressed within duration of a timer for the PDCP data packet <NUM>, and the network side device sends the ACK to the electronic device. Then, the electronic device receives the ACK, generates a PDCP data packet <NUM>, sends the PDCP data packet <NUM> to the network side device, and waits for the network side device to feed back an ACK or an NACK. The network side device starts the preset timer (a timer for the PDCP data packet <NUM>), to determine whether the PDCP data packet <NUM> (namely, the (N + <NUM>)th PDCP data packet) is successfully decompressed within duration of the timer. If a determining result is that the PDCP data packet <NUM> is successfully decompressed, step <NUM> is performed. In <FIG>, for example, the PDCP data packet <NUM> is lost. In this case, the network side device cannot successfully decompress the PDCP data packet <NUM> within the duration of the timer. Therefore, it is determined that the PDCP data packet <NUM> fails to be decompressed, and step <NUM> is performed.

It should be noted that, for a first PDCP data packet, a timer for the first PDCP data packet may be started after a bearer is successfully established between the network side device and the electronic device. For the Nth PDCP data packet, where N is greater than or equal to <NUM>, a timer for the Nth PDCP data packet may be started after the network side device sends an ACK or an NACK for the (N - <NUM>)th PDCP data packet to the electronic device.

Step <NUM>: The network side device sends the ACK to the electronic device, restarts the preset timer, and determines whether an (N + <NUM>)th PDCP data packet is successfully decompressed within the duration of the timer, and step <NUM> is performed.

For processing of a determining result by the network side device in step <NUM>, refer to step <NUM>.

The example in step <NUM> is continued. If the PDCP data packet <NUM> is successfully decompressed, the network side device sends an ACK to the electronic device, restarts the preset timer, determines whether a PDCP data packet <NUM> is successfully decompressed (that is, the (N + <NUM>)th PDCP data packet is successfully decompressed) within the duration of the timer, and performs step <NUM>. For subsequent processing of the determining result, refer to step <NUM>, and details are not described herein again.

Step <NUM>: The electronic device receives the ACK, generates the (N + <NUM>)th PDCP data packet, and sends the (N + <NUM>)th PDCP data packet to the network side device.

For subsequent processing after the network side device receives the (N + <NUM>)th PDCP data packet, refer to step <NUM>.

Step <NUM>: The network side device sends the NACK to the electronic device, and the electronic device receives the NACK, sends an (N + <NUM>)th PDCP data packet to the network side device, sends data in a compression buffer used for generating the (N + <NUM>)th PDCP data packet (namely, a next PDCP data packet of the (N + <NUM>)th PDCP data packet) to the network side device, and performs step <NUM>.

An example in step <NUM> is continued. As shown in <FIG>, the electronic device receives the NACK sent by the network side device, and sends, to the network side device, the data in the buffer <NUM> used for generating the next PDCP data packet <NUM> of the PDCP data packet <NUM>.

Step <NUM>: The network side device updates the decompression buffer by using the data in the received compression buffer, and decompresses the received (N + <NUM>)th PDCP data packet by using an updated decompression buffer.

A meaning of performing step <NUM> and step <NUM> is as follows: If the (N + <NUM>)th PDCP data packet fails to be decompressed, it needs to be ensured that the (N + <NUM>)th PDCP data packet is successfully decompressed, and it further needs to be ensured that more subsequent PDCP data packets are successfully decompressed. Therefore, the data in the compression buffer used for generating the (N + <NUM>)th PDCP data packet needs to be sent to the network side device, and the network side device updates the decompression buffer, and decompresses the (N + <NUM>)th PDCP data packet. In this case, the (N + <NUM>)th PDCP data packet is discarded, but the network device successfully decompresses the (N + <NUM>)th PDCP data packet. Then, the preset timer is started, to continue to determine whether the (N + <NUM>)th PDCP data packet is successfully decompressed within the duration of the timer. Details are not described subsequently.

Optionally, to prevent an excessively large amount of compression buffer data sent to the network side device, a maximum threshold may be preset in the electronic device. A specific range of the maximum threshold is not limited in this embodiment of this application. Correspondingly, in step <NUM>, after receiving the NACK, the electronic device may first determine whether a size of the compression buffer used for generating the (N + <NUM>)th PDCP data packet exceeds the preset maximum threshold. If the size does not exceed the maximum threshold, the electronic device sends, to the network side device, data in the compression buffer used for generating the (N + <NUM>)th PDCP data packet; or if the size exceeds the maximum threshold, the electronic device may perform a buffer resetting procedure according to the conventional technology. The electronic device and the network side device separately initialize a maintained buffer. Then, the electronic device re-compresses a corresponding original data packet based on a reset buffer, generates the (N + <NUM>)th PDCP data packet, and transmits the (N + <NUM>)th PDCP data packet to the network side device. In this case, for processing after the network side device successfully decompresses the (N + <NUM>)th PDCP data packet, refer to step <NUM>.

As shown in <FIG>, still another embodiment of the data packet decompression method may include the following steps.

Step <NUM>: An electronic device monitors a transmission result of each PDCP data packet, determines that transmission of a PDCP data packet fails, and sends data in a compression buffer used for generating a next PDCP data packet of the PDCP data packet to a network side device.

Optionally, that the electronic device monitors the transmission result of each PDCP data packet may include: The electronic device detects a transmission result of a MAC packet corresponding to each PDCP data packet. Correspondingly, when it is detected that a transmission result of at least one MAC packet corresponding to one PDCP data packet is a transmission failure, the electronic device determines that the transmission of the PDCP data packet fails.

A PDCP data packet is transmitted from a PDCP layer to an RLC layer. An RLC header is added to the PDCP data packet at the RLC layer to obtain an RLC data packet, and the RLC data packet is transmitted to a MAC layer. At the MAC layer, after the RLC data packet is fragmented, several MAC packets are obtained, and the several obtained MAC packets are MAC packets corresponding to the PDCP data packet in this step. The MAC packets may be transmitted in a HARQ manner. In this case, monitoring whether a transmission result of a MAC packet is successful or unsuccessful may be implemented by monitoring a quantity of retransmissions of the MAC packet. For example, a quantity threshold may be preset. If the quantity of retransmissions of the MAC packet reaches the preset quantity threshold, it may be determined that the MAC packet transmission fails; or if the quantity of retransmissions of the MAC packet does not reach the preset quantity threshold, it is determined that the MAC packet transmission succeeds. A specific value of the quantity-of-times threshold is not limited in this embodiment of this application. Optionally, when the MAC packet is transmitted in the HARQ manner, the network side device may feed back an NACK of the MAC packet to the electronic device, to indicate to the electronic device that the network side device fails to receive the MAC packet. In other words, when the electronic device transmits a MAC packet to the network side device, if the electronic device receives an NACK of the network side device for the MAC packet, the electronic device may determine that the current transmission of the MAC packet fails.

Optionally, the electronic device may send the data in the compression buffer to the network side device by using a control PDU.

Step <NUM>: When decompressing the next PDCP data packet of the PDCP data packet that fails to be sent, the network side device updates a decompression buffer based on the received data in the compression buffer, and decompresses, by using an updated decompression buffer, the next PDCP data packet of the PDCP data packet that fails to be sent.

For example, as shown in <FIG>, the electronic device detects that a PDCP data packet <NUM> fails to be sent, and sends, to the network side device, data in a buffer <NUM> used for generating a PDCP data packet <NUM>. When decompressing the PDCP data packet <NUM>, the network side device updates a decompression buffer (that is, a buffer <NUM>) based on the received data in the buffer <NUM>. An updated decompression buffer is also the buffer <NUM>, and the PDCP data packet <NUM> is decompressed by using the buffer <NUM>.

Optionally, to prevent an excessively large amount of compression buffer data sent to the network side device, a maximum threshold may be preset in the electronic device. A specific value of the maximum threshold is not limited in this embodiment of this application. Correspondingly, in step <NUM>, after failing to send the PDCP data packet, the electronic device may first determine whether a size of a compression buffer used for generating a next PDCP data packet of the PDCP data packet exceeds the preset maximum threshold. If the size of the compression buffer does not exceed the maximum threshold, the electronic device sends, to the network side device, data in the compression buffer used for generating the next PDCP data packet of the PDCP data packet; or if the size of the compression buffer exceeds the maximum threshold, the electronic device may indicate the network side device to perform a buffer resetting procedure in the conventional technology, for example, the electronic device may send a buffer resetting notification to the network side device. Optionally, the buffer resetting notification may be sent to the network side device by using a control PDU. In a buffer resetting procedure of the electronic device, the electronic device initializes the maintained compression buffer, and then the electronic device compresses, by using the initialized compression buffer, an original data packet that currently needs to be compressed, generates a corresponding PDCP data packet, and transmits the PDCP data packet to the network side device. In a buffer resetting procedure of the network side device, the network side device initializes a maintained decompression buffer, and the network side device decompresses a newly received PDCP data packet by using the initialized decompression buffer until the newly received PDCP data packet is successfully decompressed.

In this embodiment, if the electronic device detects that a PDCP data packet fails to be sent, it indicates that the network side device does not receive the PDCP data packet. In this case, it needs to be ensured that the network side device can successfully decompress a next PDCP data packet of the PDCP data packet, to ensure that more subsequent PDCP data packets are successfully decompressed. Therefore, data in the compression buffer used for generating a next PDCP data packet of the PDCP data packet needs to be sent to the network side device, and the network side device updates the decompression buffer, and decompresses the next PDCP data packet of the PDCP data packet. In this case, the PDCP data packet is discarded. However, the network side device successfully decompresses the next PDCP data packet of the PDCP data packet, to resolve a problem that is in the conventional technology and that a large quantity of PDCP data packets are lost because a PDCP data packet fails to be sent, and reduce resource waste caused by a PDCP data packet decompression failure.

<FIG> is a flowchart of still another embodiment of the data packet decompression method according to this application. The method may be applied to a network side device. As shown in <FIG>, the method may include the following steps.

Step <NUM>: Receive a first PDCP data packet.

Step <NUM>: Decompress the first PDCP data packet.

Step <NUM>: Send a first buffer data identifier to an electronic device if the first PDCP data packet fails to be decompressed, where the first buffer data identifier corresponds to buffer data used for decompressing the first PDCP data packet.

Optionally, buffer data used for decompressing the first PDCP data packet may be data in the decompression buffer described in the foregoing embodiment.

Optionally, the first buffer data identifier may be an identifier of the foregoing decompression buffer. The first buffer data identifier may be specifically: an identifier of a decompression buffer used for decompressing the first PDCP data packet, or an identifier of a decompression buffer that is updated based on an original data packet of the first PDCP data packet, or an identifier of a compression buffer used for generating the first PDCP data packet, or an identifier of a compression buffer that is updated based on the original data packet of the first PDCP data packet.

Step <NUM>: Receive first buffer data sent by the electronic device, where the first buffer data corresponds to the first buffer data identifier, and the first buffer data is buffer data used for generating the first PDCP data packet.

Optionally, the first buffer data may be data in a compression buffer corresponding to the first buffer data identifier.

Optionally, the network side device may receive the first buffer data by using a control PDU.

Step <NUM>: Decompress the first PDCP data packet by using the first buffer data.

<FIG> is a flowchart of still another embodiment of a data packet decompression method according to this application. The method may be applied to an electronic device. As shown in <FIG>, the method may include the following steps.

Step <NUM>: Receive a first buffer data identifier sent by a network side device, where the first buffer data identifier is sent after the network side device fails to decompress a received first PDCP data packet, and the first buffer data identifier corresponds to buffer data used for decompressing the first PDCP data packet.

Step <NUM>: Send first buffer data corresponding to the first buffer data identifier to the network side device, where the first buffer data is buffer data used for generating the first PDCP data packet.

Optionally, before step <NUM>, the method may further include:
determining that a size of the first buffer data does not exceed a preset maximum threshold.

Optionally, the electronic device may send the first buffer data to the network side device by using a control PDU.

For specific implementations of the embodiments shown in <FIG> and <FIG>, refer to corresponding descriptions in the embodiment shown in <FIG>.

Step <NUM>: Send a first identifier to an electronic device if a first PDCP data packet fails to be decompressed within first duration.

Optionally, the first identifier may be an NACK.

Step <NUM>: Receive a second PDCP data packet sent by the electronic device, where the second PDCP data packet is sent after the electronic device receives the first identifier, and the second PDCP data packet is a next data packet of the first PDCP data packet; and receive second buffer data sent by the electronic device, where the second buffer data is sent after the electronic device receives the first identifier, and the second buffer data is buffer data used by the electronic device to generate the second PDCP data packet.

Optionally, the second buffer data may be data in a compression buffer used by the electronic device to generate the second PDCP data packet.

Optionally, the network side device may receive the second buffer data by using a control PDU.

Step <NUM>: Decompress the second PDCP data packet by using the second buffer data.

<FIG> is a flowchart of still another embodiment of the data packet decompression method according to this application. The method may be applied to an electronic device. As shown in <FIG>, the method may include the following steps.

Step <NUM>: Receive a first identifier from a network side device, where the first identifier is used to indicate that the network side device fails to decompress a first PDCP data packet within first duration.

Step <NUM>: In response to the first identifier, send a second PDCP data packet to the network side device, and send second buffer data to the network side device, where the second buffer data is buffer data used by the electronic device to generate the second PDCP data packet, and the second PDCP data packet is a next data packet of the first PDCP data packet.

Optionally, before step <NUM>, the method may further include:
determining that a size of the second buffer data does not exceed a preset maximum threshold.

Optionally, the second buffer data may be sent to the network side device by using a control PDU.

Step <NUM>: Receive second buffer data sent by an electronic device, where the second buffer data is sent after the electronic device detects that a quantity of retransmissions of at least one MAC packet corresponding to a first PDCP data packet reaches a preset quantity threshold, the second buffer data is buffer data used by the electronic device to generate a second PDCP data packet, and the second PDCP data packet is a next data packet of the first PDCP data packet.

Step <NUM>: Decompress the received second PDCP data packet by using the second buffer data.

Step <NUM>: Monitor a transmission result of a MAC packet corresponding to each PDCP data packet.

Step <NUM>: Send second buffer data to a network side device if it is detected that a quantity of retransmissions of at least one MAC packet corresponding to a first PDCP data packet reaches a preset quantity threshold, where the second buffer data is buffer data used by the electronic device to generate a second PDCP data packet, and the second PDCP data packet is a next data packet of the first PDCP data packet.

Optionally, before the second buffer data is sent to the network side device in step <NUM>, the method may further include:
determining that a size of the second buffer data does not exceed a preset maximum threshold.

It may be understood that some or all of the steps or operations in the foregoing embodiments are merely examples. In embodiments of this application, other operations or variations of various operations may be further performed. In addition, the steps may be performed in a sequence different from that presented in the foregoing embodiments, and not all operations in the foregoing embodiments may need to be performed.

<FIG> is a diagram of a structure of an embodiment of a data packet decompression apparatus according to this application. The apparatus may be applied to a network side device. As shown in <FIG>, the apparatus <NUM> may include:.

The receiving unit <NUM> is further configured to receive first buffer data sent by the electronic device, where the first buffer data corresponds to the first buffer data identifier, and the first buffer data is buffer data used for generating the first PDCP data packet.

The decompression unit <NUM> is further configured to decompress the first PDCP data packet by using the first buffer data.

In a possible implementation, the first buffer data identifier may be an identifier of a decompression buffer used for decompressing the first PDCP data packet, or an identifier of a decompression buffer that is updated based on an original data packet of the first PDCP data packet, or an identifier of a compression buffer used for generating the first PDCP data packet, or an identifier of a compression buffer that is updated based on the original data packet of the first PDCP data packet.

In a possible implementation, the receiving unit <NUM> may receive the first buffer data by using a control PDU.

<FIG> is a diagram of a structure of another embodiment of a data packet decompression apparatus according to this application. The apparatus may be applied to a network side device. As shown in <FIG>, the apparatus <NUM> may include:.

In a possible implementation, the first identifier is an NACK.

<FIG> is a diagram of a structure of still another embodiment of a data packet decompression apparatus according to this application. The apparatus may be applied to an electronic device. As shown in <FIG>, the apparatus <NUM> may include a receiving unit <NUM> and a sending unit <NUM>.

In a possible implementation, the sending unit <NUM> may be further configured to determine that a size of the first buffer data does not exceed a preset maximum threshold.

In a possible implementation, the sending unit <NUM> may be specifically configured to send the first buffer data to the network side device by using a control protocol data unit.

In a possible implementation, the sending unit <NUM> may be further configured to determine that a size of the second buffer data does not exceed a preset maximum threshold.

In a possible implementation, the sending unit <NUM> may be specifically configured to send the second buffer data to the network side device by using a control protocol data unit.

<FIG> is a diagram of a structure of still another embodiment of a data packet decompression apparatus according to this application. The apparatus may be applied to a network side device. As shown in <FIG>, the apparatus <NUM> may include:.

In a possible implementation, the receiving unit <NUM> may receive the second buffer data by using a control protocol data unit.

<FIG> is a diagram of a structure of still another embodiment of a data packet decompression apparatus according to this application. The apparatus may be applied to an electronic device. As shown in <FIG>, the apparatus <NUM> may include:.

The apparatuses provided in the embodiments shown in <FIG> may be configured to perform the technical solutions in the method embodiments shown in <FIG> of this application. For implementation principles and technical effects thereof, refer to related descriptions in the method embodiments.

It should be understood that division into the units of the apparatuses shown in <FIG> is merely logical function division. During actual implementation, all or some of the units may be integrated into one physical entity or may be physically separated. In addition, all the units may be implemented in a form of software invoked by a processing element; or may be implemented in a form of hardware; or some units may be implemented in a form of software invoked by a processing element, and some units are implemented in a form of hardware. For example, the sending unit may be a separately disposed processing element, or may be integrated into a chip of an electronic device for implementation. Implementations of the other units are similar thereto. In addition, all or some of the units may be integrated, or may be implemented independently. In an implementation process, steps of the foregoing methods or the foregoing units may be implemented by using an integrated logical circuit of hardware in the processing element, or by using instructions in a form of software.

For example, the foregoing units may be one or more integrated circuits configured to implement the foregoing methods, for example, one or more application-specific integrated circuits (Application-Specific Integrated Circuits; ASICs for short below), one or more digital signal processors (Digital Signal Processors; DSPs for short below), or one or more field programmable gate arrays (Field Programmable Gate Arrays; FPGAs for short below). For another example, the modules may be integrated together, and implemented in a form of a system-on-a-chip (System-On-a-Chip, SOC for short below).

An embodiment of this application further provides a network side device, including one or more processors, a memory, and one or more computer programs. The one or more computer programs are stored in the memory, the one or more computer programs include instructions, and when the instructions are executed by the device, the device is enabled to perform the method provided in the embodiment shown in <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, or <FIG>.

An embodiment of this application further provides an electronic device, including one or more processors, a memory, and one or more computer programs. The one or more computer programs are stored in the memory, the one or more computer programs include instructions, and when the instructions are executed by the device, the device is enabled to perform the method provided in the embodiment shown in <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, or <FIG>.

This application further provides a network side device. The device includes a storage medium and a central processing unit. The storage medium may be a non-volatile storage medium. The storage medium stores a computer-executable program. The central processing unit is connected to the non-volatile storage medium, and executes the computer-executable program to implement the method provided in the embodiment shown in <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, or <FIG> of this application.

This application further provides an electronic device. The device includes a storage medium and a central processing unit. The storage medium may be a non-volatile storage medium. The storage medium stores a computer-executable program. The central processing unit is connected to the non-volatile storage medium, and executes the computer-executable program to implement the method provided in the embodiment shown in <FIG>, <FIG>, <FIG>, <FIG>, <FIG>, or <FIG> of this application.

An embodiment of this application further provides a computer-readable storage medium. The computer-readable storage medium stores a computer program. When the computer program is run on a computer, the computer is enabled to perform the method provided in the embodiments shown in <FIG> in this application.

An embodiment of this application further provides a computer program product. The computer program product includes a computer program. When the computer program is run on a computer, the computer is enabled to perform the method provided in the embodiments shown in <FIG> in this application.

In embodiments of this application, "at least one" refers to one or more, and " a plurality of" refers to two or more. The term "and/or" describes an association relationship between associated objects and indicates that three relationships may exist. For example, A and/or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be singular or plural. The character "/" usually indicates an "or" relationship between the associated objects. "At least one of the following items" and a similar expression thereof refer to any combination of these items, including any combination of singular items or plural items. For example, at least one of a, b, and c may represent: a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural.

A person of ordinary skill in the art may be aware that units and algorithm steps described in embodiments disclosed in this specification may be implemented by electronic hardware or a combination of computer software and electronic hardware.

In embodiments of this application, when any of the functions is implemented in a form of a software functional unit and sold or used as an independent product, the function may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technology, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in embodiments of this application. The foregoing storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM for short below), a random access memory (Random Access Memory, RAM for short below), a magnetic disk, or a compact disc.

Claim 1:
A data packet decompression method, applied to a network side device and comprising:
receiving a first packet data convergence protocol, PDCP, data packet;
decompressing the first PDCP data packet;
sending a first buffer data identifier to an electronic device if the first PDCP data packet fails to be decompressed, wherein the first buffer data identifier corresponds to buffer data used for decompressing the first PDCP data packet;
receiving first buffer data sent by the electronic device, wherein the first buffer data corresponds to the first buffer data identifier, and the first buffer data is buffer data used for generating the first PDCP data packet; and
decompressing the first PDCP data packet by using the first buffer data.