WO2022100733A1 - Data sensing method and related device thereof - Google Patents

Data sensing method and related device thereof Download PDF

Info

Publication number
WO2022100733A1
WO2022100733A1 PCT/CN2021/130648 CN2021130648W WO2022100733A1 WO 2022100733 A1 WO2022100733 A1 WO 2022100733A1 CN 2021130648 W CN2021130648 W CN 2021130648W WO 2022100733 A1 WO2022100733 A1 WO 2022100733A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packet
data packets
sending
data
sent
Prior art date
Application number
PCT/CN2021/130648
Other languages
French (fr)
Chinese (zh)
Inventor
施玲玲
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2022100733A1 publication Critical patent/WO2022100733A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received

Definitions

  • the embodiments of the present application relate to the field of communication technologies, and in particular, to a data sending method and related devices.
  • the packet data convergence protocol (PDCP) layer can assign a 32-bit digital number (count) to the data for integrity protection and encryption and decryption; wherein , count is composed of a high-order overclocking number (hyper frame number, HFN) and a low-order sequence number (sequence number, SN); among them, the length of SN is fixed and configured by the upper layer, which can occupy 5 bits, 12 bits or 16 bits.
  • count is composed of a high-order overclocking number (hyper frame number, HFN) and a low-order sequence number (sequence number, SN); among them, the length of SN is fixed and configured by the upper layer, which can occupy 5 bits, 12 bits or 16 bits.
  • the sending end and the receiving end save the HFN respectively, and then the sending end numbers the data packets in sequence, determines the SN corresponding to each data packet, and then uses the HFN and each data packet stored by itself.
  • the SN corresponding to the data packet constitutes the count value corresponding to each data packet.
  • the data packet is encrypted according to the corresponding count value and other parameters of each data packet and sent to the receiver, that is, the SN will be sent to the receiver during the data transmission process. Continuously increasing by 1; when the SN reaches the maximum value, the sender will reverse, so that the HEV saved by itself is increased by 1, and then the subsequent data packets are numbered from the initial state.
  • the receiver Since the data packet sent by the sender only carries the SN, but not the HFN, the receiver updates the HFN stored by itself according to the SN number carried in the data packet. Specifically, the receiver will use the SN of the received data packet as the The lower limit value of its receiving window, and then the lower limit value updates the receiving window, and receives data packets according to the receiving window. When the lower limit value of the receiving window flips, it adds 1 to the HFN saved by itself, and then saves it according to itself. HFN and SN of the data packet, decrypt the received data packet.
  • the embodiments of the present application provide a data sending method and related equipment, which are used by the PDCP layer to number and send the SN number of the data packet to be sent, so as to avoid traffic interruption due to different superframe numbers HFN stored at the sending end and the receiving end situation occurs.
  • a first aspect of the embodiments of the present application provides a data transmission method, the method comprising:
  • the PDCP layer of the sender can first determine the length of the receive window on the receiver side to determine the number of packets to be sent. Send the number of first data packets that need to carry the SN number in the data packet, and then sequentially number the SN of the first data packet; The target end sends the first data packet and the second data packet, and then the target end forwards the received data packet to the receiving end.
  • the sender when the sender sends the first data packet and the second data packet to the target end in turn, it also needs to send its own number to the target end, that is, send indication information to the target end, telling the target end The starting point of the numbering; in this way, the target end can continue to number the received second data packet without SN according to the starting point, that is, the data packet finally received by the receiving end will carry the SN, and the receiving end will carry the SN according to the data packet. SN to maintain its own stored HFN.
  • the sending end indicates the starting point of the SN number of the target end, and the target end can sequentially number the successfully received second data packets according to the starting point.
  • the destination will still number the received data packets without SN from the starting point, thus ensuring that the SN of the data packets forwarded to the receiving end can always fall into the receiving window, ensuring the normal sliding of the receiving window and Ensure the normal update of the receiving end HFN.
  • the sender when the data packet that the sender has sent exceeds an SN length, the sender will add 1 to the stored superframe number HFN, and then start from the initial state and re-process the data packet for the second time.
  • the SN number of the round it is understandable that in the second round of numbering, it is also necessary to ensure that the number of data packets carrying the SN does not exceed the length of the receiving window.
  • the sender can Count the number of all data packets that it has sent, and the target end counts the number of data packets that it has successfully received, and then compares them to estimate the number of lost packets. If the number of lost packets exceeds the length of the receiving window, then It can be determined that the packet is abnormal, and then it can be processed according to the abnormal phenomenon of the packet, including retransmitting the data packet, or releasing the link resources for re-access.
  • the sender can determine the total number of data packets that have been sent, and then send the total number of sent data packets to the target end for the target end to judge the packet loss situation.
  • the sender can also judge the packet loss situation; that is, the target sends feedback information to the sender, and the feedback is used to report the total number of packets successfully received by the target; Then the sender counts the number of all data packets it has sent, compares the two to get the number of lost packets, and finally judges whether the number of lost packets reaches the preset threshold, if it reaches the preset threshold, such as the number of lost packets reaches the receiving window
  • the length of the packet is determined by P, and the sender can make the final processing according to the abnormal phenomenon of the packet.
  • a second aspect of the embodiments of the present application provides another data transmission method, which includes:
  • the target end receives the data packet sent by the sending end, and then forwards the sending packet to the receiving end; first, the data packet sent by the sending end to the target end includes the first data packet that carries the SN and the second data packet that does not carry the SN, After receiving the second data packet without the SN, the target end needs to continue to number the SN of the second data packet following the SN number of the first data packet, and then forward the first data packet and the number to the receiving end in turn according to the SN. after the second packet.
  • the target end sequentially numbers the successfully received second data packets. In this way, even if a large amount of packet loss occurs between the sender and the target end, the target end will still recognize the received packets that do not carry the SN. Start numbering of the data packets, so as to ensure that the SN of the data packets forwarded to the receiving end can always fall into the receiving window, ensure the normal sliding of the receiving window and ensure the normal update of the receiving end HFN, and prevent the receiving end and the sending end from maintaining their own The phenomenon of HFN misalignment occurs.
  • the sender when the sender sends the first data packet and the second data packet to the target end in turn, it also needs to send its own number to the target end, that is, send indication information to the target end, telling the target end The starting point of the numbering; in this way, the target end can continue to number the received second data packet without SN according to the starting point, that is, the data packet finally received by the receiving end will carry the SN, and the receiving end will carry the SN according to the data packet. SN to maintain its own stored HFN.
  • the sender can Count the number of all data packets that it has sent, and the target end counts the number of data packets that it has successfully received, and then compares them to estimate the number of lost packets. If the number of lost packets exceeds the length of the receiving window, then It can be determined that the packet is abnormal, and then it can be processed according to the abnormal phenomenon of the packet, including retransmitting the data packet, or releasing the link resources for re-access.
  • the target end needs to receive the total number of data packets sent by the sender end, and then the target end determines the total number of data packets that it has successfully received; and finally estimates the number of lost packets to determine the packet loss situation.
  • the sender can also judge the packet loss situation; that is, the target sends feedback information to the sender, and the feedback is used to report the total number of packets successfully received by the target; Then the sender counts the number of all data packets it has sent, compares the two to get the number of lost packets, and finally judges whether the number of lost packets reaches the preset threshold, if it reaches the preset threshold, such as the number of lost packets reaches the receiving window
  • the length of the packet is determined by P, and the sender can make the final processing according to the abnormal phenomenon of the packet.
  • a third aspect of the present application provides a sending device, the sending device comprising:
  • a determining unit configured to determine the number N of the first data packets in the data packets to be sent according to the length of the receiving window corresponding to the receiving end; wherein, the generation sending data packet sequence includes M generation sending packets, the M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
  • a processing unit configured to number the sequence number SN of the first data packet
  • the determining unit is further configured to determine that the remaining generation sending data packet is the second data packet; the second data packet does not carry the SN;
  • a sending unit configured to sequentially send the first data packet and the second data packet to the target end, so that the target end forwards the first data packet and the second data packet to the receiving end.
  • the sending unit is further configured to send indication information to the target end; the indication information includes an upper limit value of the number of the transmitting end; the indication information is used to indicate the target end The end numbers the SN of the received second data packet.
  • the processing unit is further configured to update the stored superframe number HFN when the number of sent data packets exceeds the SN length;
  • the determining unit is also used to redetermine the number N of the first data packet in the transmission data packet from the initial state;
  • the processing unit is further configured to number the SN of the first data packet in the on behalf of the transmission data packet.
  • the determining unit is further configured to determine the total number of sent data packets, and send the total number of sent data packets to the target end.
  • the sending device further includes a receiving unit
  • the receiving unit is configured to receive feedback information sent by the target terminal, where the feedback information includes the total number of data packets successfully received by the target terminal;
  • the determining unit is further configured to determine whether the number of lost packets reaches a preset threshold according to the feedback information; if it reaches the preset threshold, determine that the PDCP layer determines that the packet transmission is abnormal.
  • a fourth aspect of the present application provides a forwarding device, the forwarding device comprising:
  • a receiving unit configured to receive the first data packet and the second data packet sent by the sending end; wherein, the first data packet carries the sequence number SN, the second data packet does not carry the SN, and the first data packet The number N is less than the length of the receiving window corresponding to the receiving end;
  • a processing unit configured to number the SN of the second data packet
  • a sending unit configured to send the first data packet and the numbered second data packet to the receiving end in sequence.
  • the receiving unit is further configured to receive indication information sent by the transmitting end; the indication information includes the upper limit of the number of the transmitting end;
  • the processing unit is specifically configured to sequentially number the SN number of the second data packet according to the upper limit value of the number.
  • the forwarding device further includes a determining unit
  • the receiving unit is further configured to receive the total number of sent data packets sent by the sending end;
  • the determining unit is used to determine the total number of data packets that have been successfully received by oneself; according to the total number of the data packets that have been sent and the total number of data packets that have been successfully received by itself, determine the packet loss situation;
  • the sending unit is further configured to send feedback information to the sending end, where the feedback information is used to report the packet loss situation to the sending end.
  • the forwarding device further includes a determining unit
  • the determining unit is used to determine the total number of data packets successfully received by itself
  • the sending unit is further configured to send the total number of data packets successfully received by itself to the sending end.
  • a fifth aspect of the present application provides a sending device, comprising: at least one processor and a memory, where the memory stores computer-executable instructions that can be executed on the processor, and when the computer-executable instructions are executed by the processor, the The sending device executes the method described in the first aspect or any possible implementation manner of the first aspect.
  • a sixth aspect of the present application provides a forwarding device, comprising: at least one processor and a memory, where the memory stores computer-executable instructions executable on the processor, and when the computer-executable instructions are executed by the processor, the The forwarding device executes the method described in the second aspect or any possible implementation manner of the second aspect.
  • a seventh aspect of the present application provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instruction, A data transmission method described in any one of the possible implementation manners of the first aspect to the first aspect;
  • the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
  • the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory.
  • the memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
  • An eighth aspect of the present application provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected by a line, and the at least one processor is used for running a computer program or instruction, A data transmission method described in any one of the possible implementation manners of the second aspect to the second aspect;
  • the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
  • the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory.
  • the memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
  • a ninth aspect of the embodiments of the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, which enables the computer to execute the above-mentioned first to second aspects when driving on the computer any one of the data transmission methods described.
  • the embodiments of the present application have the following advantages:
  • the PDCP layer of the transmitting end first determines the number of the first data packets that need to carry the SN number in the data packets to be sent according to the length of the receiving window on the receiving end, and then sequentially analyzes the first data packets.
  • the SN of the packet is numbered; then the remaining data packets are determined as the second data packet without SN, and finally the first data packet and the second data packet are sent to the target end in turn, and then the target end will receive the data packet.
  • the sending end sends a data packet to the target end; it is ensured that the number of first data packets with SN in the data packet sequence does not exceed the length of the receiving end's receiving window, so even if the first data packet carrying SN is in the transmission process. If all packets are lost in the middle, some data packets will also fall into the receiving window, the receiving window will slide normally, and the receiving end will maintain the HFN normally, so as to avoid the phenomenon that the HFN maintained by the receiving end and the transmitting end are not aligned.
  • FIG. 1 is a schematic flowchart of a data transmission method according to an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a sending device according to an embodiment of the present application.
  • FIG. 3 is a schematic structural diagram of a forwarding device according to an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of another sending device provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of another forwarding device according to an embodiment of the present application.
  • the embodiments of the present application provide a data sending method and related equipment, which are used by the PDCP layer to number and send the SN number of the data packet to be sent, so as to avoid traffic interruption due to different superframe numbers HFN stored at the sending end and the receiving end situation occurs.
  • a long term evolution (Long Term Evolution, LTE) wireless communication system is a high-speed wireless communication system established on the third generation mobile communication system.
  • LTE air interface user plane protocol stack there are PDCP protocol layer, radio link control (RLC) layer, medium access control (MAC) layer and physical layer in sequence from top to bottom; , each layer completes different data processing, the PDCP layer mainly performs security operations and header compression and decompression processing, such as encryption and integrity protection, etc.; the RLC layer mainly completes data segment concatenation, sequential delivery and automatic retransmission Request (automatic repeat request, ARQ) data transmission guarantee, etc.; MAC layer mainly completes scheduling and cascade processing between different logical channels and hybrid automatic repeat request (HARQ) operation, etc.; Finally, the physical layer completes Transport block contracting and over-the-air transmission.
  • RLC radio link control
  • MAC medium access control
  • the PDCP layer of the transmitting end interacts with the RLC layer of the lower layer; the PDCP layer first manages the sequence number (SN) of the service data units (SDU) received from the upper layer, and then executes the Header compression, integrity protection and encryption, update state variables, generate a protocol data unit (PDU), and finally send the PDU to the RLC layer; after the RLC layer receives the PDU, it sends it in sequence according to the sequence number carried by the PDU , and finally sent to the receiving end (terminal); and in the response mode, the RLC layer will return a confirmation message to the PDCP layer that the PDCP PDU is successfully sent; the PDCP layer will clear the PDCP PDU from the transmission buffer after receiving the confirmation message.
  • SN sequence number
  • SDU service data units
  • PDU protocol data unit
  • the PDCP layer will assign a 32-bit digital number count to each data packet (PDU), where count is composed of high-order HFN and low-order SN; the length of SN is configured by the upper layer, which can be 5bit, 7bit or 12bit, etc., there is no specific limitation.
  • the PDCP layer Before sending the data packet, the PDCP layer will configure the corresponding SN for the data packets in the buffer sequence in turn. Exemplarily, the numbering can start from 0 to determine the SN corresponding to each data packet; The high-order HFN is uniformly maintained by the sender. For example, it is determined that the HFNs of multiple data packets to be forwarded are all 1; in this way, each data packet can be composed of HFN and its corresponding SN.
  • the count corresponding to each data packet is used to encrypt the data packet and transmit it to the receiving end.
  • the length of the SN will limit the upper limit of the number.
  • HFN+1 can be added, and then starting from 0, the 4097th data packet and subsequent data packets can be renumbered; that is, in the process of continuously sending data packets, the SN continues to increase by 1, When the SN corresponding to a successfully sent data packet reaches the maximum value, the HFN corresponding to the sender will increase by 1, and the SN corresponding to the subsequent data packets to be sent will be reversed. In this way, the count value of each data packet sent by the sender is different.
  • the data packet sent by the sender to the receiver will only carry the SN corresponding to the data packet, but not the current HFN of the sender.
  • the sender and the receiver maintain their corresponding HFN respectively; the receiver corresponds to There is a receiving window, which only receives data packets whose SN falls into the receiving window.
  • the length of the receiving window is generally the size of the SN space.
  • the SN length configured by the upper layer is 12 bits.
  • the receiving window is half of its size 2048, and the lower limit of the receiving window will determine the position of the receiving window. For example, if the lower limit of the receiving window is 10, then the receiving window The window will receive packets with SNs from 10 to 2057, and will not receive packets that fall outside the receive window.
  • the lower limit of the receiving window is dynamically changed and determined by the SN of the latest successfully received data packet. For example, the receiving end receives the data packets in sequence. When the SN of the first data packet successfully received is 0, it will receive The lower limit of the window is determined to be 0. At this time, the data packets with SN from 0 to 2027 will fall into the receiving window and can be received by the sender; then, the SN of the second data packet received by the receiver is 1, then the lower limit of the receiving window The value is updated to 1. At this time, the data packets whose SN is 1 to 2048 will fall into the receiving window. Similarly, the receiving window will slide with the SN of the successfully received data packets, and the reception of multiple data packets will be completed in turn.
  • the receiving end When the lower limit of the receiving window is flipped, the receiving end will update the HFN maintained by itself, so that the HFN of the receiving end and the transmitting end can be synchronized, so that the receiving end can obtain each HFN through the HFN maintained by itself and the SN carried in the data packet.
  • the correct count of the packet, and the packet is decrypted with the correct count.
  • the sender will send data packets to the target end (base station), and the target end will forward the data packets to the receiving end. Due to the instability of the channel between the base station and the base station, a large number of packet loss will occur. This may cause the HFN maintained by the receiving end and the sending end to be different, so that the receiving end cannot decrypt the data packets normally, resulting in interrupted and unrecoverable traffic.
  • the sender sends 5000 data packets to the receiver through the target end, and the corresponding SN space size is 4096, the sender first determines the SN of 5098 data packets in turn, and the sender starts from 0 to number, The HEN corresponding to the first 4096 data packets is 0, and the SN is from 0 to 4095 in turn; the sender starts from the 4098th data packet, adds 1 to the HFN it maintains, and then starts from 0. Number the 4098th data packet, That is, the HFN corresponding to the 4098th to 5098th data packets is 1, and the SN is 0 to 999. The sender then sends these packets to the target in turn.
  • the target end forwards the successfully received data packets. It is understandable that the initial HFN stored by the receiving end itself is also 0, and the corresponding window length is 2048, that is, the initial receiving window is 0 to 2047; if the target side successfully forwards the SN If the data packet is 1 to the receiving end, the receiving end's receiving window will be updated to 1 to 2048. If no packet loss occurs, that is, when the receiving end successfully receives the 4096th data packet, the receiving end will determine the new lower limit of the receiving window. 4095, and update the receiving window to 4095 to 2046. When the 4097th data packet is received again, since the SN of the 4097th data packet is 0, the receiver judges that the lower limit value of the window will be sent and flipped, and it will save itself. Increase HFN by 1 to keep the HFN of the receiver and transmitter the same.
  • the data packets received by the receiver will not be consecutive data packets.
  • the receiving window is updated to 1 to 2048, and all the data packets with SNs from 2 to 2048 Lost, after the receiving end successfully receives the data packet with SN of 1, the SN number of the received data packet does not fall into the receiving window, then the receiving window will discard the received data packet and maintain the original receiving window and HFN It remains unchanged, that is, the window of the receiver is 1 to 2048, and the HFN is 0; then, when the receiver receives the 4097th to 5098th data packets again, because its corresponding SN number is 0 to 999, it successfully falls into the In the receiving window, the receiving end will receive these data packets, but since the receiving end does not perceive the flip of the lower limit of the receiving window, it still considers HFN to be 0, but in fact, the 4097th to 5098th data packets correspond to The HFN is already 1, so the HFN of
  • the embodiments of the present application provide a data transmission method and related equipment.
  • the PDCP layer at the transmitting end can only number the SN of a part of the data packet, and then part of the data packet carries the SN to the data packet.
  • the target side sends, and part of it does not carry the SN and sends it to the target side.
  • the target side After receiving the data packet without the SN, the target side will number its SN before sending it. Finally, the data packets received by the receiving end all carry the SN. .
  • FIG. 1 is a schematic flowchart of a data transmission method provided by an embodiment of the present application; as shown in FIG. 1 , the data transmission method includes the following steps:
  • the sender determines the number N of the first data packets carrying the SN according to the length of the receiving window;
  • the sender sends the data packet to the target, and then the target forwards the data packet for the receiver; before sending the data packet, the sender first determines the number N of the first data packets carrying the SN, and then In the sequence of data packets to be sent, N data packets are selected as the first data packets, and the remaining data packets are determined as the second data packets; wherein, the number of the first data packets is smaller than the length of the receiving window (PDCP reordering window) .
  • the number of first data packets determined by the sender cannot exceed 2047.
  • the sender needs to send 3000 data packets, so that the first 2047 data packets in the sequence of data packets to be sent can be selected as the first data packet. From the beginning of the 2048th data packet to the 3000th data packet, it can be determined that it is the second data packet that does not carry the SN.
  • PDCP data forwarding includes PDCP data forwarding in handover scenarios, and PDCP data forwarding in NSA scenarios; this method can not only be applied to traffic handover scenarios in LTE systems, but also can be applied to NR.
  • the traffic switching scenario under the system can also be applied to the traffic switching scenario between the LTE system and the NR system, which is not specifically limited.
  • the sender sequentially numbers the SNs of the N first data packets
  • the sender After the sender determines the first data packet, it can sequentially number the SNs of the first data packet. For example, in the above example, the sender determines that the SNs of the first to 2047th data packets are 0 to 2047 in sequence. 2046.
  • the sending end sends the first data packet and the second data packet to the target end;
  • the sending end sends the first data packet and the second data packet to the target end, and then the target end sends the received data packet to the receiving end. It is understandable that the first data packet sent by the sending end to the target end carries the SN , the second data packet does not carry the SN.
  • the sender sends indication information to the target
  • the sending end also needs to send indication information to the target end, where the indication information is used to instruct the target end to number the second data packet without the SN, and forward the second data packet to the receiving end after re-carrying the SN.
  • the receiving end can receive the data packets in sequence according to the SN carried in the data packet, and can judge the packet loss situation according to the SN. Therefore, the target end needs to number the second data packet that does not carry the SN before forwarding.
  • the indication information includes the serial number of the sending end, for example, sending the upper limit of the number corresponding to the sending end to the target end, and instructing the target end to number the second data packet received following the upper limit value;
  • the sender determines that the number of first data packets is 2047, then the sender can determine the first to 2047th data packets of the sequence to be sent as the first data packet, and determine its corresponding SN as 0 to 2046. Then, the sender can determine that the upper limit of the number is 2047, that is, the corresponding SN of the next packet.
  • the sender carries the count value of the next packet in the indication information and sends it to the target.
  • the target end starts numbering from 2047 to the received second data packet that does not carry the SN.
  • the target terminal numbers the SN corresponding to the second data packet according to the indication information sent by the sender;
  • the target end numbers the second data packet, and then forwards the first data packet and the numbered second data packet to the target end in turn.
  • the phenomenon of packets occurs. If each data sent by the sender carries SN, a large number of data packets carrying SN will be lost. When the number of lost packets exceeds the length of the receiving window, the data packets received by the receiving end will fall into the receiving window. In addition, it cannot slide normally, and eventually the HFNs of the sender and the receiver are different; when the target end numbers the second data packet, the target end only numbers the received second data packet, no matter how many packets are lost, the target end The terminal will only number the second data packet that is successfully received, and then forward the first data packet and the second data packet to the receiving end.
  • the first second data packet sent by the target end will fall within the receiving window.
  • the receiving window is updated, and then the HFN is normally maintained according to the lower limit of the receiving window, and finally, the HFN of the sender and the receiver is guaranteed to be synchronized to avoid traffic interruption.
  • the number of packets, so that it does not exceed 2048, for example, the number of the first data packet is determined to be 2000; in this way, the sender determines the SN of the first 2000 data packets in the transmission sequence, numbered in sequence from 0 to 1999, and determines The last 3000 data packets are sent without SN; then the target end is instructed to start numbering the data packets without SN from 2000.
  • the receiving terminal will Perform normal reception, and update the position of the receiving window according to its SN; when the receiving end receives the first data packet again, that is, when the SN of the received data packet does not exceed 1999, it can be determined that the lower limit of the receiving window has flipped, Just add 1 to the HFN it maintains. In this way, it can be ensured that the HFN of the sender and the receiver are consistent, so that the receiver can successfully decrypt the received data packets to avoid traffic interruption.
  • the target end forwards the first data packet and the numbered second data packet to the receiving end;
  • the sender determines the total number of sent data packets
  • the sender can determine the total number of packets to be sent before sending packets. , and then according to the number of packets successfully received by the target end, determine whether a large number of packet loss occurs, and then take relevant measures for the large number of packet loss.
  • the sender sends the request information to the target
  • the sender sends request information to the target, where the request information is used to instruct the target to report the total number of successfully received data packets, and then the sender checks whether a large number of packets are lost.
  • the target terminal determines the total number of successfully received data packets according to the request information
  • the target terminal reports the total number of successfully received data packets to the sender
  • the target end reports the total number of successfully received data packets to the sender according to the indication information.
  • the sender determines the packet loss situation according to the total number of successfully received data packets reported by the target end;
  • the sender After obtaining the total number of successfully received data packets sent by the target end, the sender determines the number of lost packets. Exemplarily, the total number of successfully received data packets is subtracted from the total number of sent data packets to obtain the lost number of packets. The number of packets, and then determine whether the number of lost packets reaches the preset threshold, and then make corresponding ear processing according to the judgment result.
  • the sender sends the total number of packets sent to the target
  • the sending end may also send the total number of sent data packets to the target end, and the target end determines the packet loss situation on the link.
  • the target terminal determines the packet loss situation according to the total number of sent data packets and the total number of successfully received data packets;
  • the target end uses the received total number of data packets sent by the sender and subtracts the total number of successfully received data packets to determine the packet loss situation.
  • the target end reports the packet loss situation to the sender
  • steps 108 to 111 and steps 112 to 114 are optional steps.
  • steps 109, 110 and 111 need to be performed; when step 112 is performed, steps 113 and 114 are performed.
  • the sender determines whether there is an abnormality in packet sending according to the packet loss situation
  • the sender makes corresponding processing according to the packet loss situation.
  • the preset threshold can be the number corresponding to the receiving window. When the number of lost packets exceeds the length of the receiving window, it can reset the retransmission or release the receiving end.
  • FIG. 2 is a schematic structural diagram of a sending device provided by this application. As shown in FIG. 2 , the sending device includes:
  • the determining unit 201 is configured to determine, according to the length of the receiving window corresponding to the receiving end, the number N of the first data packets in the data packets to be sent;
  • the M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
  • a processing unit 202 configured to number the sequence number SN of the first data packet
  • the determining unit 201 is further configured to determine that the remaining generation sending data packet is the second data packet; the second data packet does not carry the SN;
  • a sending unit 203 configured to sequentially send the first data packet and the second data packet to the target end, so that the target end forwards the first data packet and the second data packet to the receiving end .
  • the sending unit 203 is further configured to send indication information to the target terminal; the indication information includes the upper limit value of the number of the transmitting terminal; the indication information is used to instruct the target terminal to receive The SN of the second data packet is numbered.
  • processing unit 202 is further configured to update the stored superframe number HFN when the number of sent data packets exceeds the SN length;
  • the determining unit 201 is further configured to re-determine the number N of the first data packets in the generation transmission data packets from the initial state;
  • the processing unit 202 is further configured to number the SN of the first data packet in the on behalf of the transmission data packet.
  • the determining unit 201 is further configured to determine the total number of sent data packets, and send the total number of sent data packets to the target end.
  • the sending device further includes a receiving unit 204:
  • the receiving unit 204 is configured to receive feedback information sent by the target terminal, where the feedback information includes the total number of data packets successfully received by the target terminal;
  • the determining unit 201 is further configured to determine whether the number of lost packets reaches a preset threshold according to the feedback information; if it reaches the preset threshold, determine that the PDCP layer determines that the packet transmission is abnormal.
  • FIG. 3 is a schematic structural diagram of a forwarding device provided by the application. As shown in FIG. 3 , the forwarding device includes:
  • a receiving unit 301 configured to receive a first data packet and a second data packet sent by a sending end; wherein, the first data packet carries a sequence number SN, the second data packet does not carry an SN, and the first data packet
  • the number N of the packets is less than the length of the receiving window corresponding to the receiving end; the processing unit 302 is used to number the SN of the second data packet;
  • the sending unit 303 is configured to send the first data packet and the numbered second data packet to the receiving end in sequence.
  • the receiving unit 301 is further configured to receive indication information sent by the transmitting end; the indication information includes the upper limit of the number of the transmitting end;
  • the processing unit 302 is specifically configured to sequentially number the SN number of the second data packet according to the upper limit value of the number.
  • the forwarding device further includes a determining unit 304;
  • the receiving unit 301 is further configured to receive the total number of sent data packets sent by the sending end;
  • the determining unit 304 is used to determine the total number of packets successfully received by oneself; according to the total number of packets sent and the total number of packets successfully received by oneself, determine the packet loss situation ;
  • the sending unit 303 is further configured to send feedback information to the sending end, where the feedback information is used to report the packet loss situation to the sending end.
  • the forwarding device further includes a determining unit 304;
  • the determining unit 304 is used to determine the total number of packets successfully received by itself;
  • the sending unit 303 is further configured to send the total number of data packets successfully received by itself to the sending end.
  • FIG. 4 is a schematic structural diagram of another sending device 400 provided by an embodiment of the present application.
  • the sending device 400 includes: a processor 401 , a memory 402 , and a communication interface 403 .
  • the processor 401, the memory 402, and the communication interface 403 are connected to each other through a bus;
  • the bus can be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 4, but it does not mean that there is only one bus or one type of bus.
  • the memory 402 may include volatile memory (volatile memory), such as random-access memory (RAM); the memory may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory) ), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 402 may also include a combination of the above-mentioned types of memory.
  • volatile memory such as random-access memory (RAM)
  • non-volatile memory such as flash memory (flash memory)
  • HDD hard disk drive
  • SSD solid-state drive
  • the memory 402 may also include a combination of the above-mentioned types of memory.
  • the processor 401 may be a central processing unit (central processing unit, CPU), a network processor (English: network processor, NP), or a combination of CPU and NP.
  • the processor 401 may further include a hardware chip.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
  • the communication interface 403 may be a wired communication interface, a wireless communication interface or a combination thereof, wherein the wired communication interface may be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface or a combination thereof.
  • the wireless communication interface may be a WLAN interface, a cellular network communication interface or a combination thereof, and the like.
  • the processor 401 is configured to run the computer program or instructions in the memory 402 to perform the steps performed by the sender in any possible implementation manner of the embodiment shown in FIG. 1 .
  • FIG. 5 is a schematic structural diagram of another forwarding device 500 provided by an embodiment of the present application.
  • the forwarding device 500 includes: a processor 501 , a memory 502 , and a communication interface 503 .
  • the processor 501, the memory 502, and the communication interface 503 are connected to each other through a bus; the bus may be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 5, but it does not mean that there is only one bus or one type of bus.
  • the memory 502 may include volatile memory (volatile memory), such as random-access memory (random-access memory, RAM); the memory may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory) ), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD); the memory 502 may also include a combination of the above-mentioned types of memory.
  • volatile memory such as random-access memory (random-access memory, RAM
  • non-volatile memory such as flash memory (flash memory)
  • HDD hard disk drive
  • SSD solid-state drive
  • the processor 501 may be a central processing unit (central processing unit, CPU), a network processor (English: network processor, NP) or a combination of CPU and NP.
  • the processor 501 may further include a hardware chip.
  • the above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof.
  • the above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
  • the communication interface 503 may be a wired communication interface, a wireless communication interface or a combination thereof, wherein the wired communication interface may be, for example, an Ethernet interface.
  • the Ethernet interface can be an optical interface, an electrical interface or a combination thereof.
  • the wireless communication interface may be a WLAN interface, a cellular network communication interface, a combination thereof, or the like.
  • the processor 501 is configured to run the computer program or instructions in the memory 502 to perform the steps performed by the target in any possible implementation manner of the embodiment shown in FIG. 1 .
  • An embodiment of the present application further provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instruction, To perform a data sending method described in any one of any possible implementation manners of the embodiment shown in FIG. 1;
  • the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
  • the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory.
  • the memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
  • Embodiments of the present application also provide a computer storage medium, where the computer storage medium is used to store the computer software instructions used for the above-mentioned sending device, which includes a program for executing a program designed for the sending device.
  • Embodiments of the present application also provide a computer storage medium, where the computer storage medium is used for storing the computer software instructions used for the above-mentioned forwarding device, which includes a program for executing a program designed for the forwarding device.
  • Embodiments of the present application further provide a computer program product, where the computer program product includes computer software instructions, and the computer software instructions can be loaded by a processor to implement the above-mentioned process in a data sending method.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), magnetic disk or optical disk and other media that can store program codes .

Abstract

Disclosed in embodiments of the present application are a data sending method and a related device, which are used in the technical field of communications. The method comprises: a packet data convergence protocol (PDCP) layer of a sending end determines, according to the length of a receiving window corresponding to a receiving end, the number N of first data packets among data packets to be sent, wherein a sequence of the data packets to be sent comprises M data packets to be sent, M is greater than the length of the receiving window, and N is less than the length of the receiving window; the sending end numbers sequence numbers (SNs) of the first data packets; the sending end determines the remaining data packets to be sent as second data packets, wherein the second data packets do not carry SNs; the sending end sends the first data packets and the second packets to a target end in sequence, so that the target end forwards the first data packets and the second data packets to the receiving end.

Description

一种数据发送方法及其相关设备A data transmission method and related equipment
本申请要求于2020年11月13日提交中国专利局、申请号为202011270069.8、发明名称为“一种数据发送方法及其相关设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on November 13, 2020 with the application number 202011270069.8 and the invention titled "A data transmission method and related equipment", the entire contents of which are incorporated herein by reference Applying.
技术领域technical field
本申请实施例涉及通信技术领域,尤其涉及一种数据发送方法及其相关设备。The embodiments of the present application relate to the field of communication technologies, and in particular, to a data sending method and related devices.
背景技术Background technique
在长期演进(long term evolution,LTE)系统中,分组数据汇聚协议(packet data convergence protocol,PDCP)层可以为数据分配一个32位的数字编号(count),用于完整性保护和加解密;其中,count是由高位的超频号(hyper frame number,HFN)和低位的序列号(sequence number,SN)组成的;其中,SN的长度是固定的,由上层配置,可以占5位、12位或者16位。In the long term evolution (LTE) system, the packet data convergence protocol (PDCP) layer can assign a 32-bit digital number (count) to the data for integrity protection and encryption and decryption; wherein , count is composed of a high-order overclocking number (hyper frame number, HFN) and a low-order sequence number (sequence number, SN); among them, the length of SN is fixed and configured by the upper layer, which can occupy 5 bits, 12 bits or 16 bits.
在发送端与接收端相互通信的过程中,发送端和接收端分别保存HFN,然后发送端按序对数据包进行编号,确定每个数据包对应的SN,然后利用自身保存的HFN和每个数据包对应的SN来构成各数据包对应的count值,最后,根据各数据包对应的count值和其他参数对数据包进行加密后发送给接收方,即发送端在数据传输过程中,SN会不断增加1;当SN达到最大值时,发送端就会发生反转,使得自身保存的HEV加1,然后又从初始转态对后续的数据包进行编号。In the process of mutual communication between the sending end and the receiving end, the sending end and the receiving end save the HFN respectively, and then the sending end numbers the data packets in sequence, determines the SN corresponding to each data packet, and then uses the HFN and each data packet stored by itself. The SN corresponding to the data packet constitutes the count value corresponding to each data packet. Finally, the data packet is encrypted according to the corresponding count value and other parameters of each data packet and sent to the receiver, that is, the SN will be sent to the receiver during the data transmission process. Continuously increasing by 1; when the SN reaches the maximum value, the sender will reverse, so that the HEV saved by itself is increased by 1, and then the subsequent data packets are numbered from the initial state.
由于发送端发送的数据包只携带SN,而不携带HFN,因此,接收端是根据数据包携带的SN号来更新自身保存的HFN,具体的,接收端会将接收到的数据包的SN作为其接收窗口的下限值,然后该下限值更新接收窗口,并根据接收窗口接收数据包,当接收窗口的下限值发生翻转后,就将其自身保存的HFN加1,再根据自身保存的HFN和数据包的SN,对接收到的数据包进行解密。Since the data packet sent by the sender only carries the SN, but not the HFN, the receiver updates the HFN stored by itself according to the SN number carried in the data packet. Specifically, the receiver will use the SN of the received data packet as the The lower limit value of its receiving window, and then the lower limit value updates the receiving window, and receives data packets according to the receiving window. When the lower limit value of the receiving window flips, it adds 1 to the HFN saved by itself, and then saves it according to itself. HFN and SN of the data packet, decrypt the received data packet.
在切换数据或者信道质量很差的情况,将会发生大量丢包现象,这样将导致接收端接收到的数据包无法落入接收窗口内,接收窗口无法获得更新,这样,将导致接收端保存的HFN和发送端HFN不能同步更新,从而导致发送端对后续接收到的数据包无法正确解密,流量中断且无法恢复。In the case of switching data or poor channel quality, a large number of packet loss will occur, which will cause the data packets received by the receiver to fail to fall into the receiving window, and the receiving window cannot be updated. The HFN and the sender HFN cannot be updated synchronously, so that the sender cannot correctly decrypt the subsequently received data packets, and the traffic is interrupted and cannot be recovered.
发明内容SUMMARY OF THE INVENTION
本申请实施例提供了一种数据发送方法及相关设备,用于PDCP层对待发送数据包的SN号进行编号并发送,避免因发送端和接收端保存的超帧号HFN不相同而导致流量中断的情况发生。The embodiments of the present application provide a data sending method and related equipment, which are used by the PDCP layer to number and send the SN number of the data packet to be sent, so as to avoid traffic interruption due to different superframe numbers HFN stored at the sending end and the receiving end situation occurs.
本申请实施例的第一方面提供一种数据传输方法,方法包括:A first aspect of the embodiments of the present application provides a data transmission method, the method comprising:
当发送端与接收端进行数据传输时,如果发送端需要发送的数据包的个数超过接收端侧接收窗口的长度时,发送端的PDCP层就可以先根据接收端侧接收窗口的长度,确定待发送数据包中需要携带SN号的第一数据包的个数,然后依次对第一数据包的SN进行编号; 然后将剩下的数据包确定为不带SN的第二数据包,最后依次向目标端发送第一数据包和第二数据包,然后目标端再将接收到的数据包转发至接收端。When the sender and the receiver perform data transmission, if the number of packets to be sent by the sender exceeds the length of the receive window on the receiver side, the PDCP layer of the sender can first determine the length of the receive window on the receiver side to determine the number of packets to be sent. Send the number of first data packets that need to carry the SN number in the data packet, and then sequentially number the SN of the first data packet; The target end sends the first data packet and the second data packet, and then the target end forwards the received data packet to the receiving end.
在流量切换的场景中,发送端和目标端(转发侧)之间经常会发生大量丢包的情况,如果丢包数量超过接收端的接收窗口长度,那么将导致接收窗口不再滑动,无法正常维护HFN,最终造成发送端和接收端的HFN异步情况发生,这样,接收端就无法对接收到的数据包进行正常解密;而本实施中,发送端向目标端发送数据包时,保证数据包序列中带SN的第一数据包个数不超过接收端接收窗口长度,这样,即便携带SN的第一数据包在传输过程中全部发生丢包,也将有数据包落入接收窗口中,接收窗口将会正常滑动,且接收端会正常维护HFN,避免接收端和发送端各自维护的HFN对不齐的现象发生。In the scenario of traffic switching, a large number of packet loss often occurs between the sender and the destination (forwarding side). If the number of lost packets exceeds the length of the receiving window of the receiving end, the receiving window will no longer slide and cannot be maintained normally. HFN will eventually cause the HFN asynchronous situation between the sender and the receiver. In this way, the receiver cannot decrypt the received data packets normally. In this implementation, when the sender sends a data packet to the target, it is guaranteed that the data packets are in the sequence. The number of first data packets with SN does not exceed the length of the receiving window of the receiving end. In this way, even if all the first data packets carrying SN are lost during transmission, some data packets will fall into the receiving window, and the receiving window will It will slide normally, and the receiving end will maintain the HFN normally, so as to avoid the misalignment of the HFNs maintained by the receiving end and the transmitting end.
在一个可选的实施方式中,当发送端在向目标端依次发送第一数据包和第二数据包时,还需要向目标端发送自身编号情况,即向目标端发送指示信息,告诉目标端编号的起点;这样,目标端就可以根据该起点来对接收到的没有携带SN的第二数据包继续进行编号,即接收端最终接收到的数据包都将携带SN,接收端根据数据包携带的SN来维护自身存储的HFN。In an optional implementation manner, when the sender sends the first data packet and the second data packet to the target end in turn, it also needs to send its own number to the target end, that is, send indication information to the target end, telling the target end The starting point of the numbering; in this way, the target end can continue to number the received second data packet without SN according to the starting point, that is, the data packet finally received by the receiving end will carry the SN, and the receiving end will carry the SN according to the data packet. SN to maintain its own stored HFN.
在本实施例中,发送端指示目标端SN编号起点,目标端就可以根据该起点对接收成功的第二数据包依次进行编号,这样,即便发送端与目标端之间发生大量丢包现象,但是目标端仍然会对接收到的为未携带SN的数据包从起点开始编号,这样,就保证了向接收端转发的数据包的SN总能落入接收窗口中,保证接收窗口的正常滑动以及保证接收端HFN的正常更新。In this embodiment, the sending end indicates the starting point of the SN number of the target end, and the target end can sequentially number the successfully received second data packets according to the starting point. In this way, even if a large amount of packet loss occurs between the sending end and the target end, However, the destination will still number the received data packets without SN from the starting point, thus ensuring that the SN of the data packets forwarded to the receiving end can always fall into the receiving window, ensuring the normal sliding of the receiving window and Ensure the normal update of the receiving end HFN.
在一个可选的实施方式中,当发送端已经发送的数据包超过一个SN长度后,发送端就会将存储的超帧号HFN加1,然后从初始状态开始,重新对数据包进行第二轮的SN编号;可以理解的,第二轮编号过程中,也要保证携带SN的数据包数量不超过接收窗口长度。In an optional implementation manner, when the data packet that the sender has sent exceeds an SN length, the sender will add 1 to the stored superframe number HFN, and then start from the initial state and re-process the data packet for the second time. The SN number of the round; it is understandable that in the second round of numbering, it is also necessary to ensure that the number of data packets carrying the SN does not exceed the length of the receiving window.
在一个可选的实施方式中,发送端和接收端各自维护的HFN之所以会发生不同步的现象,是因为发送端和目标端在数据传输时的大量丢包造成的,因此,发送端可以统计自身已经发送的所有数据包的个数,目标端统计自身成功接收的数据包的个数,然后将其进行对比估计丢包的个数,如果丢包的个数超过接收窗口的长度,就可以确定发包异常,然后就可以根据发包异常现象做出处理,包括重传数据包、或者释放链路资源重新接入等。In an optional implementation manner, the reason why the HFNs maintained by the sender and the receiver are out of sync is due to a large amount of packet loss during data transmission between the sender and the target. Therefore, the sender can Count the number of all data packets that it has sent, and the target end counts the number of data packets that it has successfully received, and then compares them to estimate the number of lost packets. If the number of lost packets exceeds the length of the receiving window, then It can be determined that the packet is abnormal, and then it can be processed according to the abnormal phenomenon of the packet, including retransmitting the data packet, or releasing the link resources for re-access.
因此,发送端可以确定已经发送的数据包的总个数,然后将该已发送的数据包的总个数发送给目标端,供目标端进行丢包情况的判断。Therefore, the sender can determine the total number of data packets that have been sent, and then send the total number of sent data packets to the target end for the target end to judge the packet loss situation.
在一个可选的实施方式中,也可以由发送端来进行丢包情况的判断;即目标端向发送端发送反馈信息,该反馈信息用来上报目标端接收成功的数据包的总个数;然后发送端统计自身已经发送的所有数据包的个数,将两者进行对比得到丢包数量,最后判断丢包个数是否达到预设阈值,如果到达预设阈值,如丢包数量达到接收窗口长度,就P确定发包异常,发送端就可以根据发包异常现象做出最后的处理。In an optional implementation manner, the sender can also judge the packet loss situation; that is, the target sends feedback information to the sender, and the feedback is used to report the total number of packets successfully received by the target; Then the sender counts the number of all data packets it has sent, compares the two to get the number of lost packets, and finally judges whether the number of lost packets reaches the preset threshold, if it reaches the preset threshold, such as the number of lost packets reaches the receiving window The length of the packet is determined by P, and the sender can make the final processing according to the abnormal phenomenon of the packet.
本申请实施例的第二方面提供另一种数据传输方法,方法包括:A second aspect of the embodiments of the present application provides another data transmission method, which includes:
目标端接收发送端发送的数据包,然后将该发送包转发至接收端;首先,发送端向目标端发送的数据包包括携带有SN的第一数据包和未携带SN的第二数据包,目标端在接收到未携带SN的第二数据包之后,就需要接着第一数据包的SN编号继续对第二数据包的SN 进行编号,然后按照SN依次向接收端转发第一数据包和编号后的第二数据包。The target end receives the data packet sent by the sending end, and then forwards the sending packet to the receiving end; first, the data packet sent by the sending end to the target end includes the first data packet that carries the SN and the second data packet that does not carry the SN, After receiving the second data packet without the SN, the target end needs to continue to number the SN of the second data packet following the SN number of the first data packet, and then forward the first data packet and the number to the receiving end in turn according to the SN. after the second packet.
在本实施例中,目标端对接收成功的第二数据包依次进行编号,这样,即便发送端与目标端之间发生大量丢包现象,但是目标端仍然会对接收到的为未携带SN的数据包开始编号,这样,就保证了向接收端转发的数据包的SN总能落入接收窗口中,保证接收窗口的正常滑动以及保证接收端HFN的正常更新,避免接收端和发送端各自维护的HFN对不齐的现象发生。In this embodiment, the target end sequentially numbers the successfully received second data packets. In this way, even if a large amount of packet loss occurs between the sender and the target end, the target end will still recognize the received packets that do not carry the SN. Start numbering of the data packets, so as to ensure that the SN of the data packets forwarded to the receiving end can always fall into the receiving window, ensure the normal sliding of the receiving window and ensure the normal update of the receiving end HFN, and prevent the receiving end and the sending end from maintaining their own The phenomenon of HFN misalignment occurs.
在一个可选的实施方式中,当发送端在向目标端依次发送第一数据包和第二数据包时,还需要向目标端发送自身编号情况,即向目标端发送指示信息,告诉目标端编号的起点;这样,目标端就可以根据该起点来对接收到的没有携带SN的第二数据包继续进行编号,即接收端最终接收到的数据包都将携带SN,接收端根据数据包携带的SN来维护自身存储的HFN。In an optional implementation manner, when the sender sends the first data packet and the second data packet to the target end in turn, it also needs to send its own number to the target end, that is, send indication information to the target end, telling the target end The starting point of the numbering; in this way, the target end can continue to number the received second data packet without SN according to the starting point, that is, the data packet finally received by the receiving end will carry the SN, and the receiving end will carry the SN according to the data packet. SN to maintain its own stored HFN.
在一个可选的实施方式中,发送端和接收端各自维护的HFN之所以会发生不同步的现象,是因为发送端和目标端在数据传输时的大量丢包造成的,因此,发送端可以统计自身已经发送的所有数据包的个数,目标端统计自身成功接收的数据包的个数,然后将其进行对比估计丢包的个数,如果丢包的个数超过接收窗口的长度,就可以确定发包异常,然后就可以根据发包异常现象做出处理,包括重传数据包、或者释放链路资源重新接入等。In an optional implementation manner, the reason why the HFNs maintained by the sender and the receiver are out of sync is due to a large amount of packet loss during data transmission between the sender and the target. Therefore, the sender can Count the number of all data packets that it has sent, and the target end counts the number of data packets that it has successfully received, and then compares them to estimate the number of lost packets. If the number of lost packets exceeds the length of the receiving window, then It can be determined that the packet is abnormal, and then it can be processed according to the abnormal phenomenon of the packet, including retransmitting the data packet, or releasing the link resources for re-access.
因此,目标端需要接收发送端发送的已经发送的数据包的总个数,然后目标端确定自身接收成功的数据包的总个数;最后估计丢包个数来确定丢包情况。Therefore, the target end needs to receive the total number of data packets sent by the sender end, and then the target end determines the total number of data packets that it has successfully received; and finally estimates the number of lost packets to determine the packet loss situation.
在一个可选的实施方式中,也可以由发送端来进行丢包情况的判断;即目标端向发送端发送反馈信息,该反馈信息用来上报目标端接收成功的数据包的总个数;然后发送端统计自身已经发送的所有数据包的个数,将两者进行对比得到丢包数量,最后判断丢包个数是否达到预设阈值,如果到达预设阈值,如丢包数量达到接收窗口长度,就P确定发包异常,发送端就可以根据发包异常现象做出最后的处理。In an optional implementation manner, the sender can also judge the packet loss situation; that is, the target sends feedback information to the sender, and the feedback is used to report the total number of packets successfully received by the target; Then the sender counts the number of all data packets it has sent, compares the two to get the number of lost packets, and finally judges whether the number of lost packets reaches the preset threshold, if it reaches the preset threshold, such as the number of lost packets reaches the receiving window The length of the packet is determined by P, and the sender can make the final processing according to the abnormal phenomenon of the packet.
本申请第三方面提供了一种发送设备,该发送设备包括:A third aspect of the present application provides a sending device, the sending device comprising:
确定单元,用于根据接收端对应的接收窗口的长度,确定待发送数据包中第一数据包的个数N;其中,所述代发送数据包序列中包括M个代发送数据包,所述M大于所述接收窗口的长度,所述N小于所述接收窗口的长度;a determining unit, configured to determine the number N of the first data packets in the data packets to be sent according to the length of the receiving window corresponding to the receiving end; wherein, the generation sending data packet sequence includes M generation sending packets, the M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
处理单元,用于为所述第一数据包的序列号SN进行编号;a processing unit, configured to number the sequence number SN of the first data packet;
所述确定单元,还用于确定剩余代发送数据包为第二数据包;所述第二数据包不携带SN;The determining unit is further configured to determine that the remaining generation sending data packet is the second data packet; the second data packet does not carry the SN;
发送单元,用于向目标端依次发送所述第一数据包和所述第二数据包,以使得所述目标端向所述接收端转发所述第一数据包和所述第二数据包。A sending unit, configured to sequentially send the first data packet and the second data packet to the target end, so that the target end forwards the first data packet and the second data packet to the receiving end.
在一个可选的实施方式中,所述发送单元,还用于向所述目标端发送指示信息;所述指示信息包括所述发送端的编号上限值;所述指示信息用于指示所述目标端对接收到的所述第二数据包的SN进行编号。In an optional implementation manner, the sending unit is further configured to send indication information to the target end; the indication information includes an upper limit value of the number of the transmitting end; the indication information is used to indicate the target end The end numbers the SN of the received second data packet.
在一个可选的实施方式中,所述处理单元,还用于当发送的数据包的个数超过SN长度时,对存储的超帧号HFN进行更新;In an optional implementation manner, the processing unit is further configured to update the stored superframe number HFN when the number of sent data packets exceeds the SN length;
所述确定单元,还用于从初始状态开始,重新确定代发送数据包中的第一数据包的个 数N;The determining unit is also used to redetermine the number N of the first data packet in the transmission data packet from the initial state;
所述处理单元,还用于对所述代发送数据包中的第一数据包的SN进行编号。The processing unit is further configured to number the SN of the first data packet in the on behalf of the transmission data packet.
在一个可选的实施方式中,所述确定单元,还用于确定已发送的数据包的总个数,并将已发送的数据包的总个数发送给所述目标端。In an optional implementation manner, the determining unit is further configured to determine the total number of sent data packets, and send the total number of sent data packets to the target end.
在一个可选的实施方式中,所述发送设备还包括接收单元;In an optional implementation manner, the sending device further includes a receiving unit;
所述接收单元,用于接收所述目标端发送的反馈信息,该反馈信息包括所述目标端接收成功的数据包的总个数;The receiving unit is configured to receive feedback information sent by the target terminal, where the feedback information includes the total number of data packets successfully received by the target terminal;
所述确定单元,还用于根据所述反馈信息判断丢包个数是否达到预设阈值;若到达所述预设阈值,则确定PDCP层确定发包异常。The determining unit is further configured to determine whether the number of lost packets reaches a preset threshold according to the feedback information; if it reaches the preset threshold, determine that the PDCP layer determines that the packet transmission is abnormal.
本申请第四方面提供了一种转发设备,该转发设备包括:A fourth aspect of the present application provides a forwarding device, the forwarding device comprising:
接收单元,用于接收发送端发送的第一数据包和第二数据包;其中,所述第一数据包携带有序列号SN,所述第二数据包未携带SN,所述第一数据包的个数N小于接收端对应的接收窗口的长度;a receiving unit, configured to receive the first data packet and the second data packet sent by the sending end; wherein, the first data packet carries the sequence number SN, the second data packet does not carry the SN, and the first data packet The number N is less than the length of the receiving window corresponding to the receiving end;
处理单元,用于对所述第二数据包的SN进行编号;a processing unit, configured to number the SN of the second data packet;
发送单元,用于依次向所述接收端发送所述第一数据包和编号后的第二数据包。A sending unit, configured to send the first data packet and the numbered second data packet to the receiving end in sequence.
在一个可选的实施方式中,所述接收单元,还用于接收所述发送端发送的指示信息;所述指示信息包括所述发送端的编号上限值;In an optional implementation manner, the receiving unit is further configured to receive indication information sent by the transmitting end; the indication information includes the upper limit of the number of the transmitting end;
所述处理单元,具体用于根据所述编号上限值依次对所述第二数据包的SN号进行编号。The processing unit is specifically configured to sequentially number the SN number of the second data packet according to the upper limit value of the number.
在一个可选的实施方式中,所述转发设备还包括确定单元;In an optional implementation manner, the forwarding device further includes a determining unit;
所述接收单元,还用于接收所述发送端发送的已发送的数据包的总个数;The receiving unit is further configured to receive the total number of sent data packets sent by the sending end;
所述确定单元,用于确定自身接收成功的数据包的总个数;根据所述已发送的数据包的总个数和所述自身接收成功的数据包的总个数,确定丢包情况;The determining unit is used to determine the total number of data packets that have been successfully received by oneself; according to the total number of the data packets that have been sent and the total number of data packets that have been successfully received by itself, determine the packet loss situation;
所述发送单元,还用于向所述发送端发送反馈信息,所述反馈信息用于向所述发送端上报所述丢包情况。The sending unit is further configured to send feedback information to the sending end, where the feedback information is used to report the packet loss situation to the sending end.
在一个可选的实施方式中,所述转发设备还包括确定单元;In an optional implementation manner, the forwarding device further includes a determining unit;
所述确定单元,用于确定自身接收成功的数据包的总个数;The determining unit is used to determine the total number of data packets successfully received by itself;
所述发送单元,还用于将自身接收成功的数据包的总个数发送给所述发送端。The sending unit is further configured to send the total number of data packets successfully received by itself to the sending end.
本申请第五方面提供一种发送设备,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述发送设备执行如上述第一方面或第一方面任意一种可能的实现方式所述的方法。A fifth aspect of the present application provides a sending device, comprising: at least one processor and a memory, where the memory stores computer-executable instructions that can be executed on the processor, and when the computer-executable instructions are executed by the processor, the The sending device executes the method described in the first aspect or any possible implementation manner of the first aspect.
本申请第六方面提供一种转发设备,包括:至少一个处理器和存储器,存储器存储有可在处理器上运行的计算机执行指令,当所述计算机执行指令被所述处理器执行时,所述转发设备执行如上述第二方面或第二方面任意一种可能的实现方式所述的方法。A sixth aspect of the present application provides a forwarding device, comprising: at least one processor and a memory, where the memory stores computer-executable instructions executable on the processor, and when the computer-executable instructions are executed by the processor, the The forwarding device executes the method described in the second aspect or any possible implementation manner of the second aspect.
本申请第七方面提供了一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以进行第一方面至第一方面的任一种可能的实现方式中任一项所描述的一种数据传输方法;A seventh aspect of the present application provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instruction, A data transmission method described in any one of the possible implementation manners of the first aspect to the first aspect;
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。Wherein, the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。In a possible implementation, the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
本申请第八方面提供了一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以进行第二方面至第二方面的任一种可能的实现方式中任一项所描述的一种数据传输方法;An eighth aspect of the present application provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected by a line, and the at least one processor is used for running a computer program or instruction, A data transmission method described in any one of the possible implementation manners of the second aspect to the second aspect;
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。Wherein, the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。In a possible implementation, the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
本申请实施例的第九方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上行驶时,使得计算机执行上述第一方面至第二方面任意一种所述的数据传输方法。A ninth aspect of the embodiments of the present application provides a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, which enables the computer to execute the above-mentioned first to second aspects when driving on the computer any one of the data transmission methods described.
从以上技术方案可以看出,本申请实施例具有以下优点:As can be seen from the above technical solutions, the embodiments of the present application have the following advantages:
当发送端与接收端进行数据传输时,发送端的PDCP层先根据接收端侧接收窗口的长度,确定待发送数据包中需要携带SN号的第一数据包的个数,然后依次对第一数据包的SN进行编号;然后将剩下的数据包确定为不带SN的第二数据包,最后依次向目标端发送第一数据包和第二数据包,然后目标端再将接收到的数据包转发至接收端;由于发送端向目标端发送数据包时,保证数据包序列中带SN的第一数据包个数不超过接收端接收窗口长度,所以即便携带SN的第一数据包在传输过程中全部发生丢包,也将有数据包落入接收窗口中,接收窗口将会正常滑动,且接收端会正常维护HFN,避免接收端和发送端各自维护的HFN对不齐的现象发生。When the transmitting end and the receiving end perform data transmission, the PDCP layer of the transmitting end first determines the number of the first data packets that need to carry the SN number in the data packets to be sent according to the length of the receiving window on the receiving end, and then sequentially analyzes the first data packets. The SN of the packet is numbered; then the remaining data packets are determined as the second data packet without SN, and finally the first data packet and the second data packet are sent to the target end in turn, and then the target end will receive the data packet. Forwarded to the receiving end; since the sending end sends a data packet to the target end, it is ensured that the number of first data packets with SN in the data packet sequence does not exceed the length of the receiving end's receiving window, so even if the first data packet carrying SN is in the transmission process. If all packets are lost in the middle, some data packets will also fall into the receiving window, the receiving window will slide normally, and the receiving end will maintain the HFN normally, so as to avoid the phenomenon that the HFN maintained by the receiving end and the transmitting end are not aligned.
附图说明Description of drawings
图1为本申请实施例提供的一种数据传输方法的流程示意图;1 is a schematic flowchart of a data transmission method according to an embodiment of the present application;
图2为本申请实施例提供的一种发送设备的结构示意图;FIG. 2 is a schematic structural diagram of a sending device according to an embodiment of the present application;
图3为本申请实施例提供的一种转发设备的结构示意图;3 is a schematic structural diagram of a forwarding device according to an embodiment of the present application;
图4为本申请实施例提供的另一种发送设备的结构示意图;FIG. 4 is a schematic structural diagram of another sending device provided by an embodiment of the present application;
图5为本申请实施例提供的另一种转发设备的结构示意图。FIG. 5 is a schematic structural diagram of another forwarding device according to an embodiment of the present application.
具体实施方式Detailed ways
本申请实施例提供了一种数据发送方法及相关设备,用于PDCP层对待发送数据包的SN号进行编号并发送,避免因发送端和接收端保存的超帧号HFN不相同而导致流量中断的情况发生。The embodiments of the present application provide a data sending method and related equipment, which are used by the PDCP layer to number and send the SN number of the data packet to be sent, so as to avoid traffic interruption due to different superframe numbers HFN stored at the sending end and the receiving end situation occurs.
下面将结合本申请中的附图,对本申请中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。The technical solutions in the present application will be described in detail below with reference to the drawings in the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理 解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third", "fourth", etc. (if any) in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances so that the embodiments described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having" and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those expressly listed Rather, those steps or units may include other steps or units not expressly listed or inherent to these processes, methods, products or devices.
长期演进(long term evolution,LTE)无线通信系统是一种建立于第三代移动通信系统上的高速无线通信系统。在LTE空中接口用户面协议栈中,从上至下依次有PDCP协议层、无线链路控制(radio link control,RLC)层、媒体接入控制(medium access control,MAC)层和物理层;其中,每一层完成不同的数据处理,PDCP层主要进行安全操作和头压缩解压缩处理,例如加密性和完整性保护等;RLC层主要完成数据的分段级联、按序递交以及自动重传请求(automatic repeat request,ARQ)数据传输保障等;MAC层主要完成调度以及不同逻辑信道之间的级联处理以及混合自动重传请求(hybrid automatic repeat request,HARQ)操作等;最后,物理层完成传输块承包和空口发送。A long term evolution (Long Term Evolution, LTE) wireless communication system is a high-speed wireless communication system established on the third generation mobile communication system. In the LTE air interface user plane protocol stack, there are PDCP protocol layer, radio link control (RLC) layer, medium access control (MAC) layer and physical layer in sequence from top to bottom; , each layer completes different data processing, the PDCP layer mainly performs security operations and header compression and decompression processing, such as encryption and integrity protection, etc.; the RLC layer mainly completes data segment concatenation, sequential delivery and automatic retransmission Request (automatic repeat request, ARQ) data transmission guarantee, etc.; MAC layer mainly completes scheduling and cascade processing between different logical channels and hybrid automatic repeat request (HARQ) operation, etc.; Finally, the physical layer completes Transport block contracting and over-the-air transmission.
在数据传输过程中,发送端(基站)PDCP层与下层的RLC层交互;PDCP层先对从高层接收的服务数据单元(service data units,SDU)管理序列号(sequence number,SN),然后执行头压缩、完整性保护和加密,更新状态变量,生成协议数据单元(protocol data unit,PDU),最后将PDU发送至RLC层;RLC层接收到PDU之后,再根据PDU携带的序列号按序发送,最终发送至接收端(终端);并且在应答模式下,RLC层会向PDCP层返回PDCP PDU发送成功的确认消息;PDCP层在接收到确认消息后,会将PDCP PDU从发送缓存中清除。In the process of data transmission, the PDCP layer of the transmitting end (base station) interacts with the RLC layer of the lower layer; the PDCP layer first manages the sequence number (SN) of the service data units (SDU) received from the upper layer, and then executes the Header compression, integrity protection and encryption, update state variables, generate a protocol data unit (PDU), and finally send the PDU to the RLC layer; after the RLC layer receives the PDU, it sends it in sequence according to the sequence number carried by the PDU , and finally sent to the receiving end (terminal); and in the response mode, the RLC layer will return a confirmation message to the PDCP layer that the PDCP PDU is successfully sent; the PDCP layer will clear the PDCP PDU from the transmission buffer after receiving the confirmation message.
PDCP层会为每个数据包(PDU)分配一个32位的数字编号count,其中,count是由高位的HFN和低位的SN组成的;其中,SN的长度由上层配置,可以是5bit、7bit或者12bit等,具体不做限制,PDCP层在发送数据包之前,会为缓存序列中的数据包依次配置其对应的SN,示例性的,可以从0开始编号,确定每个数据包对应的SN;而高位的HFN由发送端统一维护,例如确定当前待转发的多个数据包的HFN都为1;这样,每个数据包都可以由HFN和其对应的SN组成不同的count,PDCP层最后根据各数据包对应的count来对数据包进行加密,并向接收端传输。The PDCP layer will assign a 32-bit digital number count to each data packet (PDU), where count is composed of high-order HFN and low-order SN; the length of SN is configured by the upper layer, which can be 5bit, 7bit or 12bit, etc., there is no specific limitation. Before sending the data packet, the PDCP layer will configure the corresponding SN for the data packets in the buffer sequence in turn. Exemplarily, the numbering can start from 0 to determine the SN corresponding to each data packet; The high-order HFN is uniformly maintained by the sender. For example, it is determined that the HFNs of multiple data packets to be forwarded are all 1; in this way, each data packet can be composed of HFN and its corresponding SN. The count corresponding to each data packet is used to encrypt the data packet and transmit it to the receiving end.
可以理解的,SN的长度将限制编号的上限值,例如,上层配置的SN长度为12bit,那么SN的空间大小则为2 12=4096,即PDCP层最多可以为4096个数据包的SN号进行配置,即确定第一个数据包对应的SN号为0,直至第4096个数据包的SN号为4097;当PDCP层的待发送数据包超过4096个时,就需要对发送端维护的HFN进行更新,示例性的,可以将HFN+1,然后从0开始,对第4097个数据包以及其后的数据包重新编号;即发送端在连续发送数据包的过程中,SN不断加1,当发送成功的某数据包对应的SN达到最大值后,发送端对应的HFN将会加1,并且其后的待发送数据包对应的SN将发生翻转。这样,发送端发送的每个数据包的count值都不相同。 It can be understood that the length of the SN will limit the upper limit of the number. For example, if the length of the SN configured by the upper layer is 12 bits, then the space size of the SN is 2 12 =4096, that is, the PDCP layer can be up to 4096 SN numbers of data packets Configure, that is, determine that the SN number corresponding to the first data packet is 0, until the SN number of the 4096th data packet is 4097; when the PDCP layer has more than 4096 data packets to be sent, it is necessary to maintain the HFN of the sender. To update, for example, HFN+1 can be added, and then starting from 0, the 4097th data packet and subsequent data packets can be renumbered; that is, in the process of continuously sending data packets, the SN continues to increase by 1, When the SN corresponding to a successfully sent data packet reaches the maximum value, the HFN corresponding to the sender will increase by 1, and the SN corresponding to the subsequent data packets to be sent will be reversed. In this way, the count value of each data packet sent by the sender is different.
发送端向接收端发送的数据包中,只会携带数据包对应的SN,而不会携带发送端当前的HFN,一般的,发送端和接收端都是各自维护其对应的HFN;接收端对应有接收窗口,其仅仅对SN落入接收窗口的数据包进行接收,具体的,接收窗口的长度一般为SN空间大小的一般,示例性的,在上述例子中,上层配置的SN长度为12bit,则SN的空间大小则为2 12 =4096,那么接收窗口即为其大小的一半2048,而接收窗口的下限值将确定接收窗口的位置,例如,接收窗口的下限值为10,那么接收窗口将接收SN为10到2057的数据包,而对落入接收窗口之外的数据包不进行接收。 The data packet sent by the sender to the receiver will only carry the SN corresponding to the data packet, but not the current HFN of the sender. Generally, the sender and the receiver maintain their corresponding HFN respectively; the receiver corresponds to There is a receiving window, which only receives data packets whose SN falls into the receiving window. Specifically, the length of the receiving window is generally the size of the SN space. Exemplarily, in the above example, the SN length configured by the upper layer is 12 bits. Then the space size of SN is 2 12 = 4096, then the receiving window is half of its size 2048, and the lower limit of the receiving window will determine the position of the receiving window. For example, if the lower limit of the receiving window is 10, then the receiving window The window will receive packets with SNs from 10 to 2057, and will not receive packets that fall outside the receive window.
接收窗口的下限值是动态变化的,由最新接收成功的数据包的SN决定,例如,接收端按序接收数据包,当成功接收到第一个数据包的SN为0时,就将接收窗口下限值确定为0,此时SN为0到2027的数据包将落入接收窗口,可被发送端接收;接着,接收端接收第二个数据包的SN为1,则接收窗口下限值更新为1,此时SN为1到2048的数据包将落入接收窗口,同理,接收窗口将随着成功接收的数据包的SN进行滑动,依次完成对多个数据包的接收,当接收窗口下限值发生翻转时,接收端将会更新其自身维护的HFN,这样就可以保证接收端和发送端的HFN同步,使得接收端可以通过自身维护的HFN和数据包携带的SN获得每个数据包正确的count,并且利用正确的count对数据包进行解密。The lower limit of the receiving window is dynamically changed and determined by the SN of the latest successfully received data packet. For example, the receiving end receives the data packets in sequence. When the SN of the first data packet successfully received is 0, it will receive The lower limit of the window is determined to be 0. At this time, the data packets with SN from 0 to 2027 will fall into the receiving window and can be received by the sender; then, the SN of the second data packet received by the receiver is 1, then the lower limit of the receiving window The value is updated to 1. At this time, the data packets whose SN is 1 to 2048 will fall into the receiving window. Similarly, the receiving window will slide with the SN of the successfully received data packets, and the reception of multiple data packets will be completed in turn. When the lower limit of the receiving window is flipped, the receiving end will update the HFN maintained by itself, so that the HFN of the receiving end and the transmitting end can be synchronized, so that the receiving end can obtain each HFN through the HFN maintained by itself and the SN carried in the data packet. The correct count of the packet, and the packet is decrypted with the correct count.
而数据流量切换的情况下,发送端将发送数据包至目标端(基站),有目标端转发数据包给接收端,由于基站与基站之间为信道的不稳定性,将会发生大量丢包的情况,这可能造成接收端与发送端维护的HFN不同,使得接收端不能对数据包进行正常解密,从而导致流量中断且不可恢复。例如,在某一时刻,发送端通过目标端向接收端发送5000个数据包,而其对应的SN空间大小为4096,发送端先依次确定5098个数据包的SN,发送端从0开始编号,前4096个数据包对应的HEN为0,SN依次从0到4095;发送端从第4098个数据包开始,将对其维护的HFN加1,然后从0开始对第4098个数据包进行编号,即第4098至第5098个数据包对应的HFN为1,SN为0到999。然后发送端依次向目标端发送这些数据包。In the case of data traffic switching, the sender will send data packets to the target end (base station), and the target end will forward the data packets to the receiving end. Due to the instability of the channel between the base station and the base station, a large number of packet loss will occur. This may cause the HFN maintained by the receiving end and the sending end to be different, so that the receiving end cannot decrypt the data packets normally, resulting in interrupted and unrecoverable traffic. For example, at a certain moment, the sender sends 5000 data packets to the receiver through the target end, and the corresponding SN space size is 4096, the sender first determines the SN of 5098 data packets in turn, and the sender starts from 0 to number, The HEN corresponding to the first 4096 data packets is 0, and the SN is from 0 to 4095 in turn; the sender starts from the 4098th data packet, adds 1 to the HFN it maintains, and then starts from 0. Number the 4098th data packet, That is, the HFN corresponding to the 4098th to 5098th data packets is 1, and the SN is 0 to 999. The sender then sends these packets to the target in turn.
目标端对接收成功的数据包进行转发,可以理解的,接收端自身保存的初始HFN也为0,其对应的窗口长度为2048,即初始的接收窗口为0至2047;若目标侧成功转发SN为1的数据包至接收端,则接收端的接收窗口就更新为1至2048,若未发生丢包,即接收端成功接收第4096个数据包时,接收端就将接收窗口下限值确定新4095,并更新接收窗口为4095至2046,当再次接收到第4097个数据包是,由于第4097个数据包对应SN为0,那么接收端判断窗口下限值将发送翻转,就将自身保存的HFN加1,保持接收端和发送端的HFN一致。The target end forwards the successfully received data packets. It is understandable that the initial HFN stored by the receiving end itself is also 0, and the corresponding window length is 2048, that is, the initial receiving window is 0 to 2047; if the target side successfully forwards the SN If the data packet is 1 to the receiving end, the receiving end's receiving window will be updated to 1 to 2048. If no packet loss occurs, that is, when the receiving end successfully receives the 4096th data packet, the receiving end will determine the new lower limit of the receiving window. 4095, and update the receiving window to 4095 to 2046. When the 4097th data packet is received again, since the SN of the 4097th data packet is 0, the receiver judges that the lower limit value of the window will be sent and flipped, and it will save itself. Increase HFN by 1 to keep the HFN of the receiver and transmitter the same.
然而,在发生大量丢包的情况下,接收端接收的数据包将不是连续的数据包,在上述例子中,若接收端的接收窗口更新至1至2048,而SN为2至2048的数据包全部丢失,接收端在成功接收SN为1的数据包后,再次接收的数据包SN号没有落入接收窗口中,那么接收窗口就会将接收到的数据包丢弃,并且维持原来的接收窗口和HFN保持不变,即接收端的窗口为1至2048,HFN为0;而其后,接收端再次接收到第4097至第5098个数据包时,由于其对应的SN号为0至999,成功落入接收窗口中,那么接收端将接收这些数据包,但是由于接收端并未感知到接收窗口下限值的翻转,因此其仍然认为HFN为0,而实际上,第4097至第5098个数据包对应的HFN已经为1,这样,就导致了发送端和接收端的HFN不一致,接收端无法对接收到的数据包解密,导致流量中断。However, in the case of a large number of packet loss, the data packets received by the receiver will not be consecutive data packets. In the above example, if the receiver's receiving window is updated to 1 to 2048, and all the data packets with SNs from 2 to 2048 Lost, after the receiving end successfully receives the data packet with SN of 1, the SN number of the received data packet does not fall into the receiving window, then the receiving window will discard the received data packet and maintain the original receiving window and HFN It remains unchanged, that is, the window of the receiver is 1 to 2048, and the HFN is 0; then, when the receiver receives the 4097th to 5098th data packets again, because its corresponding SN number is 0 to 999, it successfully falls into the In the receiving window, the receiving end will receive these data packets, but since the receiving end does not perceive the flip of the lower limit of the receiving window, it still considers HFN to be 0, but in fact, the 4097th to 5098th data packets correspond to The HFN is already 1, so the HFN of the sender and the receiver are inconsistent, and the receiver cannot decrypt the received data packets, resulting in traffic interruption.
基于上述问题,本申请实施例提供了一种数据发送方法及相关设备,发送端的PDCP层在确定数据包对应的SN时,可以只对一部分数据包的SN进行编号,然后一部分数据包携 带SN向目标侧发送,一部分不携带SN向目标侧发送,然后目标侧在接收到不携带SN的数据包后,就对其SN进行编号后再发送,最终,接收端接收到的数据包都携带有SN。Based on the above problems, the embodiments of the present application provide a data transmission method and related equipment. When determining the SN corresponding to the data packet, the PDCP layer at the transmitting end can only number the SN of a part of the data packet, and then part of the data packet carries the SN to the data packet. The target side sends, and part of it does not carry the SN and sends it to the target side. After receiving the data packet without the SN, the target side will number its SN before sending it. Finally, the data packets received by the receiving end all carry the SN. .
图1为本申请实施例提供的一种数据传输方法的流程示意图;如图1所示,该数据传输方法包括以下步骤:FIG. 1 is a schematic flowchart of a data transmission method provided by an embodiment of the present application; as shown in FIG. 1 , the data transmission method includes the following steps:
101、发送端根据接收窗口的长度,确定携带SN的第一数据包的个数N;101. The sender determines the number N of the first data packets carrying the SN according to the length of the receiving window;
在流量切换过程中,发送端将数据包发送给目标端,再由目标端为接收端转发数据包;发送端在发送数据包之前,先确定携带SN的第一数据包的个数N,然后在待发送数据包序列中选择N个数据包作为第一数据包,其余的数据包确定为第二数据包;其中,第一数据包的个数要小于接收窗口(PDCP重排序窗口)的长度。In the flow switching process, the sender sends the data packet to the target, and then the target forwards the data packet for the receiver; before sending the data packet, the sender first determines the number N of the first data packets carrying the SN, and then In the sequence of data packets to be sent, N data packets are selected as the first data packets, and the remaining data packets are determined as the second data packets; wherein, the number of the first data packets is smaller than the length of the receiving window (PDCP reordering window) .
示例性的,上层配置的SN长度为12bit,即SN的空间大小则为2 12=4096;一般的,接收端对应的接收窗口占SN空间大小的一半;即接收窗口的长度为2048,那么,发送端确定的第一数据包的个数,不能超过2047,例如,发送端需要发送3000个数据包,这样就可以选择待发送数据包序列中前2047个数据包作为第一数据包,从第2048个数据包开始至第3000个数据包,都可以确定其为不携带SN的第二数据包。 Exemplarily, the length of the SN configured by the upper layer is 12 bits, that is, the space size of the SN is 2 12 =4096; generally, the receiving window corresponding to the receiving end occupies half of the space size of the SN; that is, the length of the receiving window is 2048, then, The number of first data packets determined by the sender cannot exceed 2047. For example, the sender needs to send 3000 data packets, so that the first 2047 data packets in the sequence of data packets to be sent can be selected as the first data packet. From the beginning of the 2048th data packet to the 3000th data packet, it can be determined that it is the second data packet that does not carry the SN.
可以理解的,在PDCP数据转发过程中,PDCP数据转发包括切换场景下PDCP数据转发,以及NSA场景下PDCP数据转发等;该方法不仅可以适用于LTE系统下的流量切换场景,还可以适用于NR系统下的流量切换场景,还可以适用于LTE系统与NR系统之间的流量切换场景,具体不做限定。It can be understood that in the process of PDCP data forwarding, PDCP data forwarding includes PDCP data forwarding in handover scenarios, and PDCP data forwarding in NSA scenarios; this method can not only be applied to traffic handover scenarios in LTE systems, but also can be applied to NR. The traffic switching scenario under the system can also be applied to the traffic switching scenario between the LTE system and the NR system, which is not specifically limited.
102、发送端依次对N个第一数据包的SN进行编号;102. The sender sequentially numbers the SNs of the N first data packets;
当发送端确定第一数据包之后,就可以依次对第一数据包的SN进行编号,例如,在上述例子中,发送端确定第1个数据包至第2047个数据包的SN依次为0至2046。After the sender determines the first data packet, it can sequentially number the SNs of the first data packet. For example, in the above example, the sender determines that the SNs of the first to 2047th data packets are 0 to 2047 in sequence. 2046.
103、发送端向目标端发送第一数据包和第二数据包;103. The sending end sends the first data packet and the second data packet to the target end;
发送端将第一数据包和第二数据包发送给目标端,然后目标端再将接收到的数据包发送给接收端,可以理解的,发送端向目标端发送的第一数据包携带有SN,第二数据包未携带SN。The sending end sends the first data packet and the second data packet to the target end, and then the target end sends the received data packet to the receiving end. It is understandable that the first data packet sent by the sending end to the target end carries the SN , the second data packet does not carry the SN.
可以理解的,发送的第一数据包和第二数据包的个数超过4096个时,发送端的HFN需要加1,然后对后续的数据包从0开始继续编号。It is understandable that when the number of the first data packet and the second data packet sent exceeds 4096, the HFN of the sending end needs to be incremented by 1, and then the subsequent data packets continue to be numbered from 0.
104、发送端向目标端发送指示信息;104. The sender sends indication information to the target;
发送端还需要向目标端发送指示信息,该指示信息用于指示目标端对没有携带SN的第二数据包先进行编号,让第二数据包重新携带SN之后,再转发给接收端。The sending end also needs to send indication information to the target end, where the indication information is used to instruct the target end to number the second data packet without the SN, and forward the second data packet to the receiving end after re-carrying the SN.
接收端可以根据数据包携带的SN来按序接收数据包,并且可以根据SN来判断丢包情况,因此需要目标端对未携带SN的第二数据包进行编号后再转发。The receiving end can receive the data packets in sequence according to the SN carried in the data packet, and can judge the packet loss situation according to the SN. Therefore, the target end needs to number the second data packet that does not carry the SN before forwarding.
示例性的,指示信息中包括发送端的编号情况,例如,将发送端对应的编号上限值发送给目标端,指示目标端接着上限值对接收到的第二数据包进行编号;例如,在上述例子中,发送端确定第一数据包的个数为2047个,那么发送端可以将待发送序列的第1个至第2047个数据包确定为第一数据包,并确定其对应的SN为0至2046,然后,发送端就可以确定其编号上限值为2047,即下一报文的对应的SN,发送端将下一报文的count值携带在指示信息中发送给目标端,指示目标端对接收到的未携带SN的第二数据包,从2047开始 进行编号。Exemplarily, the indication information includes the serial number of the sending end, for example, sending the upper limit of the number corresponding to the sending end to the target end, and instructing the target end to number the second data packet received following the upper limit value; In the above example, the sender determines that the number of first data packets is 2047, then the sender can determine the first to 2047th data packets of the sequence to be sent as the first data packet, and determine its corresponding SN as 0 to 2046. Then, the sender can determine that the upper limit of the number is 2047, that is, the corresponding SN of the next packet. The sender carries the count value of the next packet in the indication information and sends it to the target. The target end starts numbering from 2047 to the received second data packet that does not carry the SN.
105、目标端根据发送端发送的指示信息对第二数据包对应的SN进行编号;105. The target terminal numbers the SN corresponding to the second data packet according to the indication information sent by the sender;
目标端对第二数据包进行编号,然后将第一数据包和编号后的第二数据包依次转发给目标端,可以理解的,发送端和目标端之间的数据传输将可能会发送大量丢包的现象发生,如果发送端发送的每个数据都携带SN,那么将会丢失大量携带SN的数据包,当丢包数量超过接收窗口长度时,接收端接收的数据包将落入接收窗口之外,无法正常滑动,最终导致发送端和接收端的HFN不相同;而由目标端对第二数据包进行编号时,目标端只对接收到的第二数据包进行编号,无论丢包多少,目标端都只会从接收成功的第二数据包进行编号,然后再向接收端转发第一数据包和第二数据包,这样,目标端发送的首个第二数据包将会落在接收窗口内,接收窗口得以更新,然后正常的根据接收窗口下限值来维护HFN,最终,保证发送端和接收端的HFN同步,避免流量中断。The target end numbers the second data packet, and then forwards the first data packet and the numbered second data packet to the target end in turn. The phenomenon of packets occurs. If each data sent by the sender carries SN, a large number of data packets carrying SN will be lost. When the number of lost packets exceeds the length of the receiving window, the data packets received by the receiving end will fall into the receiving window. In addition, it cannot slide normally, and eventually the HFNs of the sender and the receiver are different; when the target end numbers the second data packet, the target end only numbers the received second data packet, no matter how many packets are lost, the target end The terminal will only number the second data packet that is successfully received, and then forward the first data packet and the second data packet to the receiving end. In this way, the first second data packet sent by the target end will fall within the receiving window. , the receiving window is updated, and then the HFN is normally maintained according to the lower limit of the receiving window, and finally, the HFN of the sender and the receiver is guaranteed to be synchronized to avoid traffic interruption.
示例性的,上层配置的SN长度为12bit,即SN的空间大小则为2 12=4096,接收窗口的长度为2048,接收端需要向发送端发送5000个数据包;接收端首先确定第一数据包的个数,使得其不超过2048,例如确定第一数据包的个数为2000个;这样,发送端确定发送序列中的前2000个数据包的SN,依次编号为0到1999,并确定后3000个数据包不携带SN进行发送;然后指示目标端对没有携带SN的数据包从2000开始编号。 Exemplarily, the length of the SN configured by the upper layer is 12 bits, that is, the space size of the SN is 2 12 =4096, the length of the receiving window is 2048, and the receiving end needs to send 5000 data packets to the transmitting end; the receiving end first determines the first data packet. The number of packets, so that it does not exceed 2048, for example, the number of the first data packet is determined to be 2000; in this way, the sender determines the SN of the first 2000 data packets in the transmission sequence, numbered in sequence from 0 to 1999, and determines The last 3000 data packets are sent without SN; then the target end is instructed to start numbering the data packets without SN from 2000.
可以理解的,即使在发送端和目标端之间发生大量丢包情况,例如从第三个数据包开始发送丢包,共丢了2048个数据包,那么第2051个数据包被目标端成功接收时,目标端仍按照发送端的指示,从2001开始编号,即为第2051个未携带SN的第二数据包编号为2001,这样,就可以使其落入接收端的接收窗口内,接收端对其进行正常接收,并且根据其SN更新接收窗口的位置;当接收端再次接收到第一数据包时,即接收到的数据包的SN不超过1999时,就可以确定接收窗口下限值发生翻转,就将其维护的HFN加1,这样,就可以保证发送端和接收端的HFN一致,使得接收端成功对接收到的数据包进行解密,避免流量中断。It is understandable that even if there is a lot of packet loss between the sender and the target, for example, starting from the third packet, a total of 2048 packets are lost, then the 2051st packet is successfully received by the target. When the target terminal still follows the instructions of the sender, the numbering starts from 2001, that is, the number of the 2051st second data packet without SN is 2001. In this way, it can fall into the receiving window of the receiving terminal, and the receiving terminal will Perform normal reception, and update the position of the receiving window according to its SN; when the receiving end receives the first data packet again, that is, when the SN of the received data packet does not exceed 1999, it can be determined that the lower limit of the receiving window has flipped, Just add 1 to the HFN it maintains. In this way, it can be ensured that the HFN of the sender and the receiver are consistent, so that the receiver can successfully decrypt the received data packets to avoid traffic interruption.
106、目标端向接收端转发第一数据包和编号后的第二数据包;106. The target end forwards the first data packet and the numbered second data packet to the receiving end;
107、发送端确定已发送的数据包总个数;107. The sender determines the total number of sent data packets;
可以理解的,当发送端与目标端之间发生大量丢包情况时,将会导致传输异常,甚至流量中断无法恢复,那么发送端可以在发送数据包之前先确定待发送数据包的总个数,然后再根据目标端成功接收的数据包的个数,确定是否发生大量丢包情况,然后再对大量丢包的情况采取相关措施。It is understandable that when a large amount of packet loss occurs between the sender and the destination, it will lead to abnormal transmission, and even traffic interruption cannot be recovered. Then the sender can determine the total number of packets to be sent before sending packets. , and then according to the number of packets successfully received by the target end, determine whether a large number of packet loss occurs, and then take relevant measures for the large number of packet loss.
108、发送端向目标端发送请求信息;108. The sender sends the request information to the target;
一个具体的实施方式,发送端向目标端发送请求信息,该请求信息用于指示目标端上报其统计的接收成功的数据包总个数,然后发送端来进行是否发生大量丢包。In a specific implementation manner, the sender sends request information to the target, where the request information is used to instruct the target to report the total number of successfully received data packets, and then the sender checks whether a large number of packets are lost.
109、目标端根据请求信息,确定接收成功的数据包总个数;109. The target terminal determines the total number of successfully received data packets according to the request information;
110、目标端向发送端上报接收成功的数据包总个数;110. The target terminal reports the total number of successfully received data packets to the sender;
目标端根据指示信息,向发送端上报接收成功的数据包总个数。The target end reports the total number of successfully received data packets to the sender according to the indication information.
111、发送端根据目标端上报的接收成功的数据包总个数,确定丢包情况;111. The sender determines the packet loss situation according to the total number of successfully received data packets reported by the target end;
发送端获取目标端发送的接收成功的数据包总个数后,来确定丢包的数量,示例性的, 用已发送的数据包总个数减去接收成功的数据包总个数,得到丢包数量,然后判断丢包数量是不是到达预设阈值,然后根据判断结果做出相应耳朵处理。After obtaining the total number of successfully received data packets sent by the target end, the sender determines the number of lost packets. Exemplarily, the total number of successfully received data packets is subtracted from the total number of sent data packets to obtain the lost number of packets. The number of packets, and then determine whether the number of lost packets reaches the preset threshold, and then make corresponding ear processing according to the judgment result.
112、发送端向目标端发送已发送的数据包总个数;112. The sender sends the total number of packets sent to the target;
示例性的,发送端还可以将已发送的数据包总个数发送给目标端,由目标端来判断链路上的丢包情况。Exemplarily, the sending end may also send the total number of sent data packets to the target end, and the target end determines the packet loss situation on the link.
113、目标端根据已发送的数据包总个数和接收成功的数据包总个数确定丢包情况;113. The target terminal determines the packet loss situation according to the total number of sent data packets and the total number of successfully received data packets;
目标端利用接收到的发送端发送的已发送的数据包总个数,减去接收成功的数据包总个数,确定丢包情况。The target end uses the received total number of data packets sent by the sender and subtracts the total number of successfully received data packets to determine the packet loss situation.
114、目标端向发送端上报丢包情况;114. The target end reports the packet loss situation to the sender;
可以理解的,步骤108至111和步骤112至114为可选的步骤,当执行步骤108时,则需要执行步骤109、110和111;当执行步骤112时,则执行步骤113和114。It can be understood that steps 108 to 111 and steps 112 to 114 are optional steps. When step 108 is performed, steps 109, 110 and 111 need to be performed; when step 112 is performed, steps 113 and 114 are performed.
115、发送端根据丢包情况,确定是否出现发包异常现象;115. The sender determines whether there is an abnormality in packet sending according to the packet loss situation;
发送端根据丢包情况,来做出相应的处理,例如,预设阈值可以为接收窗口对应的个数,当丢包数量超过接收窗口的长度时,就可以重置重发或者释放接收端。The sender makes corresponding processing according to the packet loss situation. For example, the preset threshold can be the number corresponding to the receiving window. When the number of lost packets exceeds the length of the receiving window, it can reset the retransmission or release the receiving end.
图2为本申请提供的一种发送设备的结构示意图,如图2所示,该发送设备包括:FIG. 2 is a schematic structural diagram of a sending device provided by this application. As shown in FIG. 2 , the sending device includes:
确定单元201,用于根据接收端对应的接收窗口的长度,确定待发送数据包中第一数据包的个数N;其中,所述代发送数据包序列中包括M个代发送数据包,所述M大于所述接收窗口的长度,所述N小于所述接收窗口的长度;The determining unit 201 is configured to determine, according to the length of the receiving window corresponding to the receiving end, the number N of the first data packets in the data packets to be sent; The M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
处理单元202,用于为所述第一数据包的序列号SN进行编号;a processing unit 202, configured to number the sequence number SN of the first data packet;
所述确定单元201,还用于确定剩余代发送数据包为第二数据包;所述第二数据包不携带SN;The determining unit 201 is further configured to determine that the remaining generation sending data packet is the second data packet; the second data packet does not carry the SN;
发送单元203,用于向目标端依次发送所述第一数据包和所述第二数据包,以使得所述目标端向所述接收端转发所述第一数据包和所述第二数据包。A sending unit 203, configured to sequentially send the first data packet and the second data packet to the target end, so that the target end forwards the first data packet and the second data packet to the receiving end .
示例性的,所述发送单元203,还用于向所述目标端发送指示信息;所述指示信息包括所述发送端的编号上限值;所述指示信息用于指示所述目标端对接收到的所述第二数据包的SN进行编号。Exemplarily, the sending unit 203 is further configured to send indication information to the target terminal; the indication information includes the upper limit value of the number of the transmitting terminal; the indication information is used to instruct the target terminal to receive The SN of the second data packet is numbered.
示例性的,所述处理单元202,还用于当发送的数据包的个数超过SN长度时,对存储的超帧号HFN进行更新;Exemplarily, the processing unit 202 is further configured to update the stored superframe number HFN when the number of sent data packets exceeds the SN length;
所述确定单元201,还用于从初始状态开始,重新确定代发送数据包中的第一数据包的个数N;The determining unit 201 is further configured to re-determine the number N of the first data packets in the generation transmission data packets from the initial state;
所述处理单元202,还用于对所述代发送数据包中的第一数据包的SN进行编号。The processing unit 202 is further configured to number the SN of the first data packet in the on behalf of the transmission data packet.
示例性的,所述确定单元201,还用于确定已发送的数据包的总个数,并将已发送的数据包的总个数发送给所述目标端。Exemplarily, the determining unit 201 is further configured to determine the total number of sent data packets, and send the total number of sent data packets to the target end.
示例性的,所述发送设备还包括接收单元204:Exemplarily, the sending device further includes a receiving unit 204:
所述接收单元204,用于接收所述目标端发送的反馈信息,该反馈信息包括所述目标端接收成功的数据包的总个数;The receiving unit 204 is configured to receive feedback information sent by the target terminal, where the feedback information includes the total number of data packets successfully received by the target terminal;
所述确定单元201,还用于根据所述反馈信息判断丢包个数是否达到预设阈值;若到达所述预设阈值,则确定PDCP层确定发包异常。The determining unit 201 is further configured to determine whether the number of lost packets reaches a preset threshold according to the feedback information; if it reaches the preset threshold, determine that the PDCP layer determines that the packet transmission is abnormal.
图3为本申请提供的一种转发设备的结构示意图,如图3所示,该转发设备包括:FIG. 3 is a schematic structural diagram of a forwarding device provided by the application. As shown in FIG. 3 , the forwarding device includes:
接收单元301,用于接收发送端发送的第一数据包和第二数据包;其中,所述第一数据包携带有序列号SN,所述第二数据包未携带SN,所述第一数据包的个数N小于接收端对应的接收窗口的长度;处理单元302,用于对所述第二数据包的SN进行编号;A receiving unit 301, configured to receive a first data packet and a second data packet sent by a sending end; wherein, the first data packet carries a sequence number SN, the second data packet does not carry an SN, and the first data packet The number N of the packets is less than the length of the receiving window corresponding to the receiving end; the processing unit 302 is used to number the SN of the second data packet;
发送单元303,用于依次向所述接收端发送所述第一数据包和编号后的第二数据包。The sending unit 303 is configured to send the first data packet and the numbered second data packet to the receiving end in sequence.
示例性的,所述接收单元301,还用于接收所述发送端发送的指示信息;所述指示信息包括所述发送端的编号上限值;Exemplarily, the receiving unit 301 is further configured to receive indication information sent by the transmitting end; the indication information includes the upper limit of the number of the transmitting end;
所述处理单元302,具体用于根据所述编号上限值依次对所述第二数据包的SN号进行编号。The processing unit 302 is specifically configured to sequentially number the SN number of the second data packet according to the upper limit value of the number.
示例性的,所述转发设备还包括确定单元304;Exemplarily, the forwarding device further includes a determining unit 304;
所述接收单元301,还用于接收所述发送端发送的已发送的数据包的总个数;The receiving unit 301 is further configured to receive the total number of sent data packets sent by the sending end;
所述确定单元304,用于确定自身接收成功的数据包的总个数;根据所述已发送的数据包的总个数和所述自身接收成功的数据包的总个数,确定丢包情况;The determining unit 304 is used to determine the total number of packets successfully received by oneself; according to the total number of packets sent and the total number of packets successfully received by oneself, determine the packet loss situation ;
所述发送单元303,还用于向所述发送端发送反馈信息,所述反馈信息用于向所述发送端上报所述丢包情况。The sending unit 303 is further configured to send feedback information to the sending end, where the feedback information is used to report the packet loss situation to the sending end.
示例性的,所述转发设备还包括确定单元304;Exemplarily, the forwarding device further includes a determining unit 304;
所述确定单元304,用于确定自身接收成功的数据包的总个数;The determining unit 304 is used to determine the total number of packets successfully received by itself;
所述发送单元303,还用于将自身接收成功的数据包的总个数发送给所述发送端。The sending unit 303 is further configured to send the total number of data packets successfully received by itself to the sending end.
请参阅图4,为本申请实施例提供的另一种发送设备400的结构示意图,该发送设备400包括:处理器401,存储器402,通信接口403。Please refer to FIG. 4 , which is a schematic structural diagram of another sending device 400 provided by an embodiment of the present application. The sending device 400 includes: a processor 401 , a memory 402 , and a communication interface 403 .
处理器401、存储器402、通信接口403通过总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The processor 401, the memory 402, and the communication interface 403 are connected to each other through a bus; the bus can be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 4, but it does not mean that there is only one bus or one type of bus.
存储器402可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器402还可以包括上述种类的存储器的组合。The memory 402 may include volatile memory (volatile memory), such as random-access memory (RAM); the memory may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory) ), a hard disk drive (HDD) or a solid-state drive (SSD); the memory 402 may also include a combination of the above-mentioned types of memory.
处理器401可以是中央处理器(central processing unit,CPU),网络处理器(英文:network processor,NP)或者CPU和NP的组合。处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 401 may be a central processing unit (central processing unit, CPU), a network processor (English: network processor, NP), or a combination of CPU and NP. The processor 401 may further include a hardware chip. The above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
通信接口403可以为有线通信接口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为 WLAN接口,蜂窝网络通信接口或其组合等。The communication interface 403 may be a wired communication interface, a wireless communication interface or a combination thereof, wherein the wired communication interface may be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface or a combination thereof. The wireless communication interface may be a WLAN interface, a cellular network communication interface or a combination thereof, and the like.
其中,处理器401用于运行存储器402中的计算机程序或指令,以进行图1所示实施例的任一种可能的实现方式中发送端所执行的步骤。The processor 401 is configured to run the computer program or instructions in the memory 402 to perform the steps performed by the sender in any possible implementation manner of the embodiment shown in FIG. 1 .
请参阅图5,为本申请实施例提供的另一种转发设备500的结构示意图,该转发设备500包括:处理器501,存储器502,通信接口503。Please refer to FIG. 5 , which is a schematic structural diagram of another forwarding device 500 provided by an embodiment of the present application. The forwarding device 500 includes: a processor 501 , a memory 502 , and a communication interface 503 .
处理器501、存储器502、通信接口503通过总线相互连接;总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The processor 501, the memory 502, and the communication interface 503 are connected to each other through a bus; the bus may be a peripheral component interconnect (PCI for short) bus or an extended industry standard architecture (EISA for short) bus or the like. The bus can be divided into an address bus, a data bus, a control bus, and the like. For ease of presentation, only one thick line is used in FIG. 5, but it does not mean that there is only one bus or one type of bus.
存储器502可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器502还可以包括上述种类的存储器的组合。The memory 502 may include volatile memory (volatile memory), such as random-access memory (random-access memory, RAM); the memory may also include non-volatile memory (non-volatile memory), such as flash memory (flash memory) ), hard disk drive (HDD) or solid-state drive (solid-state drive, SSD); the memory 502 may also include a combination of the above-mentioned types of memory.
处理器501可以是中央处理器(central processing unit,CPU),网络处理器(英文:network processor,NP)或者CPU和NP的组合。处理器501还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 501 may be a central processing unit (central processing unit, CPU), a network processor (English: network processor, NP) or a combination of CPU and NP. The processor 501 may further include a hardware chip. The above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The above-mentioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a general array logic (generic array logic, GAL) or any combination thereof.
通信接口503可以为有线通信接口,无线通信接口或其组合,其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为WLAN接口,蜂窝网络通信接口或其组合等。The communication interface 503 may be a wired communication interface, a wireless communication interface or a combination thereof, wherein the wired communication interface may be, for example, an Ethernet interface. The Ethernet interface can be an optical interface, an electrical interface or a combination thereof. The wireless communication interface may be a WLAN interface, a cellular network communication interface, a combination thereof, or the like.
其中,处理器501用于运行存储器502中的计算机程序或指令,以进行图1所示实施例的任一种可能的实现方式中目标端所执行的步骤。The processor 501 is configured to run the computer program or instructions in the memory 502 to perform the steps performed by the target in any possible implementation manner of the embodiment shown in FIG. 1 .
本申请实施例还提供了一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以进行图1所示实施例的任一种可能的实现方式中任一项所描述的一种数据发送方法;An embodiment of the present application further provides a chip or a chip system, the chip or chip system includes at least one processor and a communication interface, the communication interface and the at least one processor are interconnected through a line, and the at least one processor is used for running a computer program or instruction, To perform a data sending method described in any one of any possible implementation manners of the embodiment shown in FIG. 1;
其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。Wherein, the communication interface in the chip may be an input/output interface, a pin, a circuit, or the like.
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。In a possible implementation, the chip or chip system described above in this application further includes at least one memory, where instructions are stored in the at least one memory. The memory may be a storage unit inside the chip, such as a register, a cache, etc., or a storage unit of the chip (eg, a read-only memory, a random access memory, etc.).
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述基于关于发送设备所用的计算机软件指令,其包括用于执行为关于发送设备所设计的程序。Embodiments of the present application also provide a computer storage medium, where the computer storage medium is used to store the computer software instructions used for the above-mentioned sending device, which includes a program for executing a program designed for the sending device.
本申请实施例还提供了一种计算机存储介质,该计算机存储介质用于储存为上述基于关于转发设备所用的计算机软件指令,其包括用于执行为关于转发设备所设计的程序。Embodiments of the present application also provide a computer storage medium, where the computer storage medium is used for storing the computer software instructions used for the above-mentioned forwarding device, which includes a program for executing a program designed for the forwarding device.
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,该计算机软件指令可通过处理器进行加载来实现上述关于一种数据发送方法中的流程。Embodiments of the present application further provide a computer program product, where the computer program product includes computer software instructions, and the computer software instructions can be loaded by a processor to implement the above-mentioned process in a data sending method.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。In the above-mentioned embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented in software, it can be implemented in whole or in part in the form of a computer program product.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device and unit described above may refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-only memory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the present application can be embodied in the form of software products in essence, or the parts that contribute to the prior art, or all or part of the technical solutions, and the computer software products are stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), magnetic disk or optical disk and other media that can store program codes .

Claims (19)

  1. 一种数据传输方法,其特征在于,所述方法包括:A data transmission method, characterized in that the method comprises:
    发送端的分组数据聚合协议PDCP层根据接收端对应的接收窗口的长度,确定待发送数据包中第一数据包的个数N;其中,所述代发送数据包序列中包括M个代发送数据包,所述M大于所述接收窗口的长度,所述N小于所述接收窗口的长度;The packet data aggregation protocol PDCP layer of the sending end determines the number N of the first data packets in the data packets to be sent according to the length of the receiving window corresponding to the receiving end; wherein, the generation sending data packet sequence includes M generation sending data packets , the M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
    所述发送端为所述第一数据包的序列号SN进行编号;The sending end numbers the sequence number SN of the first data packet;
    所述发送端确定剩余代发送数据包为第二数据包;所述第二数据包不携带SN;The sending end determines that the remaining generation to send the data packet is the second data packet; the second data packet does not carry the SN;
    所述发送端向目标端依次发送所述第一数据包和所述第二数据包,以使得所述目标端向所述接收端转发所述第一数据包和所述第二数据包。The sending end sends the first data packet and the second data packet to the target end in sequence, so that the target end forwards the first data packet and the second data packet to the receiving end.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    所述发送端向所述目标端发送指示信息;所述指示信息包括所述发送端的编号上限值;所述指示信息用于指示所述目标端对接收到的所述第二数据包的SN进行编号。The sending end sends indication information to the target end; the indication information includes the upper limit value of the number of the sending end; the indication information is used to indicate the SN of the second data packet received by the target end number.
  3. 根据权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 2, wherein the method further comprises:
    当发送的数据包的个数超过SN长度时,所述发送端对存储的超帧号HFN进行更新;When the number of sent data packets exceeds the SN length, the sending end updates the stored superframe number HFN;
    所述发送端从初始状态开始,重新确定代发送数据包中的第一数据包的个数N;The sending end starts from the initial state, and re-determines the number N of the first data packets in the data packets that are sent on behalf of;
    所述发送端对所述代发送数据包中的第一数据包的SN进行编号。The sending end numbers the SN of the first data packet in the on behalf of the sending data packet.
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1 to 3, wherein the method further comprises:
    所述发送端确定已发送的数据包的总个数,并将已发送的数据包的总个数发送给所述目标端。The sending end determines the total number of sent data packets, and sends the total number of sent data packets to the target end.
  5. 根据权利要求4所述的方法,其特征在于,所述方法还包括:The method according to claim 4, wherein the method further comprises:
    所述发送端接收所述目标端发送的反馈信息,该反馈信息包括所述目标端接收成功的数据包的总个数;The sending end receives feedback information sent by the target end, where the feedback information includes the total number of data packets successfully received by the target end;
    所述发送端根据所述反馈信息判断丢包个数是否达到预设阈值;The sending end judges whether the number of lost packets reaches a preset threshold according to the feedback information;
    若到达所述预设阈值,所述发送端的PDCP层确定发包异常。If the preset threshold is reached, the PDCP layer of the transmitting end determines that the packet transmission is abnormal.
  6. 一种数据传输方法,其特征在于,所述方法包括:A data transmission method, characterized in that the method comprises:
    目标端接收发送端发送的第一数据包和第二数据包;其中,所述第一数据包携带有序列号SN,所述第二数据包未携带SN,所述第一数据包的个数N小于接收端对应的接收窗口的长度;The target end receives the first data packet and the second data packet sent by the transmitting end; wherein, the first data packet carries the sequence number SN, the second data packet does not carry the SN, and the number of the first data packet N is less than the length of the receiving window corresponding to the receiving end;
    所述目标端对所述第二数据包的SN进行编号;The target end numbers the SN of the second data packet;
    所述目标端依次向所述接收端发送所述第一数据包和编号后的第二数据包。The target end sends the first data packet and the numbered second data packet to the receiving end in sequence.
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:The method according to claim 6, wherein the method further comprises:
    所述目标端接收所述发送端发送的指示信息;所述指示信息包括所述发送端的编号上限值;The target terminal receives the indication information sent by the transmitting terminal; the indication information includes the upper limit value of the number of the transmitting terminal;
    所述目标端根据所述编号上限值依次对所述第二数据包的SN号进行编号。The target end sequentially numbers the SN number of the second data packet according to the upper limit value of the number.
  8. 根据权利要求6至7任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 6 to 7, wherein the method further comprises:
    所述目标端接收所述发送端发送的已发送的数据包的总个数;The target terminal receives the total number of sent data packets sent by the sender;
    所述目标端确定自身接收成功的数据包的总个数;The target terminal determines the total number of data packets successfully received by itself;
    所述目标端根据所述已发送的数据包的总个数和所述自身接收成功的数据包的总个数, 确定丢包情况所述目标端向所述发送端发送反馈信息,所述反馈信息用于向所述发送端上报所述丢包情况。The target end determines the packet loss situation according to the total number of the sent data packets and the total number of data packets successfully received by the target end. The target end sends feedback information to the transmitting end, and the feedback The information is used to report the packet loss situation to the sender.
  9. 根据权利要求6至7任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 6 to 7, wherein the method further comprises:
    所述目标端确定自身接收成功的数据包的总个数,并将自身接收成功的数据包的总个数发送给所述发送端。The target terminal determines the total number of data packets successfully received by itself, and sends the total number of data packets successfully received by itself to the sender.
  10. 一种发送设备,其特征在于,所述发送设备包括:A sending device, characterized in that the sending device comprises:
    确定单元,用于根据接收端对应的接收窗口的长度,确定待发送数据包中第一数据包的个数N;其中,所述代发送数据包序列中包括M个代发送数据包,所述M大于所述接收窗口的长度,所述N小于所述接收窗口的长度;a determining unit, configured to determine the number N of the first data packets in the data packets to be sent according to the length of the receiving window corresponding to the receiving end; wherein, the generation sending data packet sequence includes M generation sending packets, the M is greater than the length of the receiving window, and the N is less than the length of the receiving window;
    处理单元,用于为所述第一数据包的序列号SN进行编号;a processing unit, configured to number the sequence number SN of the first data packet;
    所述确定单元,还用于确定剩余代发送数据包为第二数据包;所述第二数据包不携带SN;The determining unit is further configured to determine that the remaining generation sending data packet is the second data packet; the second data packet does not carry the SN;
    发送单元,用于向目标端依次发送所述第一数据包和所述第二数据包,以使得所述目标端向所述接收端转发所述第一数据包和所述第二数据包。A sending unit, configured to sequentially send the first data packet and the second data packet to the target end, so that the target end forwards the first data packet and the second data packet to the receiving end.
  11. 根据权利要求10所述的发送设备,其特征在于,所述发送单元,还用于向所述目标端发送指示信息;所述指示信息包括所述发送端的编号上限值;所述指示信息用于指示所述目标端对接收到的所述第二数据包的SN进行编号。The sending device according to claim 10, wherein the sending unit is further configured to send indication information to the target end; the indication information includes an upper limit value of the number of the transmitting end; instructing the target end to number the SN of the second data packet received.
  12. 根据权利要求10至11任一项所述的发送设备,其特征在于,所述处理单元,还用于当发送的数据包的个数超过SN长度时,对存储的超帧号HFN进行更新;The sending device according to any one of claims 10 to 11, wherein the processing unit is further configured to update the stored hyperframe number HFN when the number of the data packets sent exceeds the SN length;
    所述确定单元,还用于从初始状态开始,重新确定代发送数据包中的第一数据包的个数N;The determining unit is also used to re-determine the number N of the first data packets in the generation transmission data packets from the initial state;
    所述处理单元,还用于对所述代发送数据包中的第一数据包的SN进行编号。The processing unit is further configured to number the SN of the first data packet in the on behalf of the transmission data packet.
  13. 根据权利要求10至12任一项所述的发送设备,其特征在于,所述确定单元,还用于确定已发送的数据包的总个数,并将已发送的数据包的总个数发送给所述目标端。The sending device according to any one of claims 10 to 12, wherein the determining unit is further configured to determine the total number of sent data packets, and send the total number of sent data packets to the target.
  14. 根据权利要求13所述的发送设备,其特征在于,所述发送设备还包括接收单元:The sending device according to claim 13, wherein the sending device further comprises a receiving unit:
    所述接收单元,用于接收所述目标端发送的反馈信息,该反馈信息包括所述目标端接收成功的数据包的总个数;The receiving unit is configured to receive feedback information sent by the target terminal, where the feedback information includes the total number of data packets successfully received by the target terminal;
    所述确定单元,还用于根据所述反馈信息判断丢包个数是否达到预设阈值;若到达所述预设阈值,则确定PDCP层确定发包异常。The determining unit is further configured to determine whether the number of lost packets reaches a preset threshold according to the feedback information; if it reaches the preset threshold, determine that the PDCP layer determines that the packet transmission is abnormal.
  15. 一种转发设备,其特征在于,所述转发设备包括:A forwarding device, characterized in that the forwarding device comprises:
    接收单元,用于接收发送端发送的第一数据包和第二数据包;其中,所述第一数据包携带有序列号SN,所述第二数据包未携带SN,所述第一数据包的个数N小于接收端对应的接收窗口的长度;a receiving unit, configured to receive the first data packet and the second data packet sent by the sending end; wherein, the first data packet carries the sequence number SN, the second data packet does not carry the SN, and the first data packet The number N is less than the length of the receiving window corresponding to the receiving end;
    处理单元,用于对所述第二数据包的SN进行编号;a processing unit, configured to number the SN of the second data packet;
    发送单元,用于依次向所述接收端发送所述第一数据包和编号后的第二数据包。A sending unit, configured to send the first data packet and the numbered second data packet to the receiving end in sequence.
  16. 根据权利要求15所述的转发设备,其特征在于,所述接收单元,还用于接收所述发送端发送的指示信息;所述指示信息包括所述发送端的编号上限值;The forwarding device according to claim 15, wherein the receiving unit is further configured to receive indication information sent by the transmitting end; the indication information includes an upper limit value of the number of the transmitting end;
    所述处理单元,具体用于根据所述编号上限值依次对所述第二数据包的SN号进行编号。The processing unit is specifically configured to sequentially number the SN number of the second data packet according to the upper limit value of the number.
  17. 根据权利要求15至16任一项所述的转发设备,其特征在于,所述转发设备还包括确定单元;The forwarding device according to any one of claims 15 to 16, wherein the forwarding device further comprises a determining unit;
    所述接收单元,还用于接收所述发送端发送的已发送的数据包的总个数;The receiving unit is further configured to receive the total number of sent data packets sent by the sending end;
    所述确定单元,用于确定自身接收成功的数据包的总个数;根据所述已发送的数据包的总个数和所述自身接收成功的数据包的总个数,确定丢包情况;The determining unit is used to determine the total number of data packets that have been successfully received by oneself; according to the total number of the data packets that have been sent and the total number of data packets that have been successfully received by itself, determine the packet loss situation;
    所述发送单元,还用于向所述发送端发送反馈信息,所述反馈信息用于向所述发送端上报所述丢包情况。The sending unit is further configured to send feedback information to the sending end, where the feedback information is used to report the packet loss situation to the sending end.
  18. 根据权利要求15至16任一项所述的转发设备,其特征在于,所述转发设备还包括确定单元;The forwarding device according to any one of claims 15 to 16, wherein the forwarding device further comprises a determining unit;
    所述确定单元,用于确定自身接收成功的数据包的总个数;The determining unit is used to determine the total number of data packets successfully received by itself;
    所述发送单元,还用于将自身接收成功的数据包的总个数发送给所述发送端。The sending unit is further configured to send the total number of data packets successfully received by itself to the sending end.
  19. 一种存储一个或多个计算机执行指令的计算机可读存储介质,其特征在于,当所述计算机执行指令被处理器执行时,所述处理器执行如上述权利要求1-5或权利要求6-9任一项所述的方法。A computer-readable storage medium storing one or more computer-executable instructions, characterized in that, when the computer-executable instructions are executed by a processor, the processor executes the above-mentioned claims 1-5 or claim 6- 9 The method of any one.
PCT/CN2021/130648 2020-11-13 2021-11-15 Data sensing method and related device thereof WO2022100733A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011270069.8A CN114499749A (en) 2020-11-13 2020-11-13 Data sending method and related equipment thereof
CN202011270069.8 2020-11-13

Publications (1)

Publication Number Publication Date
WO2022100733A1 true WO2022100733A1 (en) 2022-05-19

Family

ID=81490525

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/130648 WO2022100733A1 (en) 2020-11-13 2021-11-15 Data sensing method and related device thereof

Country Status (2)

Country Link
CN (1) CN114499749A (en)
WO (1) WO2022100733A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107342849A (en) * 2017-06-15 2017-11-10 电信科学技术研究院 A kind of method and apparatus for carrying out data processing
US20180013685A1 (en) * 2016-07-06 2018-01-11 Qualcomm Incorporated Method for packet data convergence protocol count synchronization
EP3576445A1 (en) * 2017-01-24 2019-12-04 ZTE Corporation Data transmission method and apparatus
CN111510278A (en) * 2020-04-26 2020-08-07 Oppo广东移动通信有限公司 Hyper frame number HFN synchronization method, terminal and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011017849A1 (en) * 2009-08-14 2011-02-17 华为技术有限公司 Data processing method and apparatus thereof
CN103607261B (en) * 2013-11-22 2017-06-23 大唐移动通信设备有限公司 A kind of data transmission method and device
WO2018126449A1 (en) * 2017-01-06 2018-07-12 富士通株式会社 Method for modifying data transmission window and device thereof, and communication system
CN108810984B (en) * 2017-05-05 2020-03-24 维沃移动通信有限公司 Data processing method and device
WO2018227511A1 (en) * 2017-06-15 2018-12-20 Oppo广东移动通信有限公司 Data transmission method and related product
CN110035017A (en) * 2018-01-12 2019-07-19 华为技术有限公司 A kind of communication means and device
CN111262660B (en) * 2018-11-30 2022-01-14 华为技术有限公司 Data transmission method, equipment and system
CN111556523A (en) * 2019-02-12 2020-08-18 电信科学技术研究院有限公司 Data transmission method and base station
CN111818630A (en) * 2019-07-12 2020-10-23 维沃移动通信有限公司 State variable maintenance method and device and user equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180013685A1 (en) * 2016-07-06 2018-01-11 Qualcomm Incorporated Method for packet data convergence protocol count synchronization
EP3576445A1 (en) * 2017-01-24 2019-12-04 ZTE Corporation Data transmission method and apparatus
CN107342849A (en) * 2017-06-15 2017-11-10 电信科学技术研究院 A kind of method and apparatus for carrying out data processing
CN111510278A (en) * 2020-04-26 2020-08-07 Oppo广东移动通信有限公司 Hyper frame number HFN synchronization method, terminal and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUTUREWEI: "Initialization of HFNs of RX_DELIV and RX_NEXT", 3GPP DRAFT; R2-2001308, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. Elbonia; 20200224 - 20200306, 14 February 2020 (2020-02-14), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051849616 *
NOKIA, NOKIA SHANGHAI BELL: "PDCP Operation for MBS", 3GPP DRAFT; R2-2009313, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. RAN WG2, no. Electronic; 20201102 - 20201113, 22 October 2020 (2020-10-22), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP051942278 *

Also Published As

Publication number Publication date
CN114499749A (en) 2022-05-13

Similar Documents

Publication Publication Date Title
KR101461293B1 (en) Method and apparatus for controlling a handover between utra r6 cells and r7 cells
KR101811749B1 (en) Delivery of protocol data units
TWI762684B (en) Handover method, a access network equipment and a terminal equipment
US20220070748A1 (en) Data transmission method and related device
US10736174B2 (en) Network node and methods therein for packet data convergence protocol (PDCP) reordering
US8379855B2 (en) Ciphering in a packet-switched telecommunications system
CN111328118A (en) Transmission method and device
KR20090031239A (en) A method for handling correctly received but header compression failed packets
KR20140007978A (en) Wireless communication method and apparatus for supporting reconfiguration of radio link control parameters
KR100954925B1 (en) Method of delivering a pdcp data unit to an upper layer
JP6880228B2 (en) Communication device and communication method
US20200413288A1 (en) Congestion processing method and apparatus
US11695520B2 (en) Method and apparatus for implementing efficient switching on a split bearer
JP2012239153A (en) Mobile communication system and wireless base station
EP3720070A1 (en) Data packet processing method and device
US9247452B2 (en) Passive radio link control entity with unified interface
CN111918335B (en) Method and device for processing data packet
WO2022100733A1 (en) Data sensing method and related device thereof
US11916799B2 (en) Reducing latency at packet data convergence protocol (PDCP) in new radio
WO2016054911A1 (en) Detection method, sending end, receiving end and detection system
WO2020124540A1 (en) Data packet reordering method, electronic device and storage medium
JP4955734B2 (en) Method of transmitting PDCP data unit to upper level

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21891253

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21891253

Country of ref document: EP

Kind code of ref document: A1