Packet processing method, Internet of Things device

By sending data packets to multiple base stations in IoT devices and demodulating and recovering the correct data packets by the server, the problem of low transmission efficiency caused by code error on the base station side is solved, and more efficient data transmission is achieved.

CN112532710BActive Publication Date: 2025-07-08TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011330317.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-24
Publication Date
2025-07-08
Estimated Expiration
2040-11-24

AI Technical Summary

Technical Problem

When there are many Internet of Things devices, the base station side is prone to errors, resulting in the traditional retransmission mechanism wasting transmission resources and reducing transmission efficiency.

Method used

The data packets of the Internet of Things devices are sent to multiple base stations, and the data packets of multiple base stations are demodulated and restored through the server, identify the correct bytes and fuse them to avoid the base station's focus on transmission.

Benefits of technology

It improves transmission efficiency, reduces the number of retransmissions, and saves transmission resources, especially has a positive impact on battery-powered equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112532710B_ABST
    Figure CN112532710B_ABST
Patent Text Reader

Abstract

This application relates to a data packet processing method, apparatus, Internet of Things device, base station, computer device, and storage medium. The method includes: obtaining a data packet to be processed; when the data packet to be processed is a data packet to be sent, sending the data packet to be sent to more than two base stations, so that the data packet to be sent is sent to a server via the more than two base stations, and the server demodulates and recovers the data packet to be sent according to the data packets sent by the more than two base stations. Using this method can improve the transmission efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of the Internet of Things, and particularly to a data packet processing method, apparatus, Internet of Things device, base station, computer device, and storage medium. Background Art

[0002] With the increasing development of information technology, the development of Internet of Things technology is also changing with each passing day. In the usage scenarios of the Internet of Things, Internet of Things devices, such as intelligent water tanks, intelligent trash cans, intelligent meter reading devices, etc., need to periodically upload the relevant information of their own devices to the base station. When there are many Internet of Things devices within a certain range, it is easy to generate more error codes on the base station side. In traditional Internet of Things technology, in order to recover the data packets without codes, a retransmission mechanism is adopted, that is, the base station is required to feedback a confirmation data packet indicating that it has received the data packet to the Internet of Things node for each successfully received data packet, such as an ACK (ACKnowledge Character) data packet. If the Internet of Things node does not receive the confirmation data packet, the Internet of Things node will consider that an error code has occurred on the base station side and trigger retransmission, and re-send the entire data packet to the base station. This processing method is likely to waste transmission resources and reduce transmission efficiency. Summary of the Invention

[0003] Based on this, it is necessary to provide a data packet processing method, apparatus, Internet of Things device, base station, computer device, and storage medium with high transmission efficiency for the above technical problems.

[0004] A data packet processing method, the method comprising:

[0005] Obtaining a data packet to be processed;

[0006] When the data packet to be processed is a data packet to be sent, sending the data packet to be sent to more than two base stations, so that the data packet to be sent is sent to a server via more than two base stations, and the server demodulates and recovers the data packet to be sent according to the data packets sent by more than two base stations.

[0007] In one embodiment, after sending the data packet to be sent to more than two base stations, further comprising: storing the data packet to be sent.

[0008] In one embodiment, before sending the data packet to be retransmitted to more than two base stations, further comprising: inserting the pilot bytes into the data packet to be retransmitted at intervals of a predetermined number of bytes.

[0009] In one embodiment, the data packet to be retransmitted byte identifier includes a byte index array.

[0010] A data packet processing method, the method comprising:

[0011] Receive the data packets uploaded by the Internet of Things devices;

[0012] When the data packet reception is completed, send the received data packet to the server, so that the server can demodulate and recover the data packet to be sent by the Internet of Things device according to the data packets sent by two or more base stations.

[0013] In one embodiment, the data packet is the data packet after inserting wizard bytes at every predetermined byte in the data packet to be sent by the Internet of Things device.

[0014] In one embodiment, the signal quality information includes the received signal strength.

[0015] In one embodiment, after obtaining the signal quality information of the received bytes, the following steps are further included: storing the signal quality information into the signal quality information array.

[0016] In one embodiment, obtaining the error code byte detection model includes:

[0017] Extract wizard bytes from the data packet at every predetermined byte interval;

[0018] Obtain the byte features of each of the wizard bytes;

[0019] Determine whether each of the wizard bytes is a correct byte;

[0020] Use the byte features of each of the wizard bytes as the training feature set, and whether each of the wizard bytes is a correct byte as the training label corresponding to each of the byte features to perform model training on the preset error code byte detection model; obtain the error code byte detection model.

[0021] In one embodiment, the following steps are further included: during the process of receiving the data packets uploaded by the Internet of Things devices, obtain the signal quality information of each received byte of the data packet;

[0022] Obtaining the byte features of each received byte in the data packet includes: determining the byte features of each received byte based on the signal quality information corresponding to each received byte.

[0023] In one embodiment, the signal quality information includes: the received signal strength of the noise, the received signal strength of the received byte, the interference signal strength of the received byte. Determining the byte features of each received byte based on the signal quality information corresponding to each received byte includes:

[0024] Determine the noise power based on the received signal strength of the noise;

[0025] Determine the byte signal power of the received byte based on the received signal strength of the received byte and the noise power;

[0026] Determine the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength of the received byte;

[0027] Determine the byte feature of the received byte based on the noise power, the byte signal power, and the interference signal power.

[0028] In one embodiment, obtaining an error byte detection model includes:

[0029] When it is determined that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, determine the previously used error byte detection model as the obtained error byte detection model.

[0030] In one embodiment, it further includes: receiving a retransmission indication data packet sent by a server, where the retransmission indication data packet carries an Internet of Things node identifier, a data packet number, and a byte identifier to be retransmitted; forwarding the retransmission indication data packet to the Internet of Things node corresponding to the Internet of Things node identifier, where the retransmission indication data packet is used to instruct the Internet of Things node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet corresponding to the data packet number.

[0031] In one embodiment, it further includes: receiving an acknowledgment data packet sent by a server, where the acknowledgment data packet carries an Internet of Things node identifier and a data packet number, and forwarding the acknowledgment data packet to the Internet of Things node corresponding to the Internet of Things node identifier, where the acknowledgment data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

[0032] A data packet processing method, the processing method includes:

[0033] Receiving a data packet of an Internet of Things node forwarded by a base station, where the data packet carries an Internet of Things node identifier and a data packet identifier;

[0034] Obtaining the correct bytes in the data packet;

[0035] Fusing the correct bytes in the data packets corresponding to the Internet of Things node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes;

[0036] Demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the fused correct bytes.

[0037] In one embodiment, obtaining an error code byte detection model includes: extracting a wizard byte from the data packet at every predetermined byte interval; obtaining the byte features of each wizard byte; determining whether each wizard byte is a correct byte; using the byte features of each wizard byte as a training feature set and whether each wizard byte is a correct byte as the training label corresponding to each byte feature to perform model training on a preset error code byte detection model; and obtaining the error code byte detection model.

[0038] In one embodiment, determining whether each wizard byte is a correct byte includes:

[0039] Comparing each wizard byte with the pre-stored wizard byte content and determining whether each wizard byte is a correct byte according to the consistency of the comparison result.

[0040] In one embodiment, it further includes: when receiving a data packet of an Internet of Things node forwarded by a base station, receiving the signal quality information of each received byte of the data packet;

[0041] Obtaining the byte features of each received byte in the data packet includes: determining the byte features of each received byte based on the signal quality information corresponding to each received byte.

[0042] In one embodiment, the signal quality information includes: the received signal strength of noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

[0043] In one embodiment, determining the byte features of each received byte based on the signal quality information corresponding to each received byte includes:

[0044] Determining the noise power based on the received signal strength of noise;

[0045] Determining the byte signal power of the received byte based on the received signal strength of the received byte and the noise power;

[0046] Determining the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength of the received byte;

[0047] Determining the byte features of the received byte based on the noise power, the byte signal power, and the interference signal power.

[0048] In one embodiment, obtaining an error code byte detection model includes:

[0049] When determining that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, determining the previously used error code byte detection model as the obtained error code byte detection model.

[0050] In one embodiment, the method further includes:

[0051] When successfully demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the correctly fused bytes, return an acknowledgement data packet to more than two of the base stations. The acknowledgement data packet carries the Internet of Things node identifier and the data packet number, and the acknowledgement data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

[0052] In one embodiment, the method further includes: when the demodulation of the data packet corresponding to the Internet of Things node identifier and the data packet identifier fails based on the fused correct bytes, obtain the identifier of the received bytes for which the demodulation fails to obtain the byte identifier to be retransmitted; generate a retransmission indication data packet, where the retransmission indication data packet carries the Internet of Things node identifier, the data packet number, and the byte identifier to be retransmitted; send the retransmission indication data packet to more than two base stations to return an acknowledgement data packet base station, and the retransmission indication data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet number.

[0053] A data packet processing device, the device includes:

[0054] A data packet acquisition module, configured to acquire a data packet to be processed;

[0055] A node communication module, configured to send the data packet to be sent to more than two base stations when the data packet to be processed is a data packet to be sent, so that the data packet to be sent is sent to a server via more than two of the base stations, and the server demodulates and restores the data packet to be sent according to the data packets sent by more than two of the base stations.

[0056] A data packet processing device, the device includes:

[0057] A base station first communication module, configured to receive a data packet uploaded by an Internet of Things device;

[0058] A base station second communication module, configured to send the received data packet to a server when the data packet reception is completed, so that the server demodulates and restores the data packet to be sent of the Internet of Things device according to the data packets sent by more than two base stations.

[0059] A data packet processing device, the device includes:

[0060] A server communication module, configured to receive a data packet of an Internet of Things node forwarded by a base station, where the data packet carries an Internet of Things node identifier and a data packet identifier;

[0061] A correct byte detection module for obtaining correct bytes in the data packet;

[0062] A fusion module for fusing correct bytes in data packets corresponding to the IoT node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes;

[0063] A fusion demodulation module for demodulating a data packet corresponding to the IoT node identifier and the data packet identifier based on the fused correct bytes.

[0064] An IoT device includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the following steps are implemented:

[0065] Obtain a data packet to be processed;

[0066] When the data packet to be processed is a data packet to be sent, send the data packet to be sent to two or more base stations, so that the data packet to be sent is sent to a server via two or more base stations, and the server demodulates and recovers the data packet to be sent according to the data packets sent by two or more base stations.

[0067] A base station includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the following steps are implemented:

[0068] Receive a data packet uploaded by an IoT device;

[0069] When the data packet reception is completed, send the received data packet to the server, so that the server demodulates and recovers the data packet to be sent by the IoT device according to the data packets sent by two or more base stations.

[0070] A computer device includes a memory and a processor. The memory stores a computer program. When the processor executes the computer program, the steps of the following method are implemented:

[0071] Receive a data packet of an IoT node forwarded by a base station, where the data packet carries an IoT node identifier and a data packet identifier;

[0072] Obtain correct bytes in the data packet;

[0073] Fuse correct bytes in data packets corresponding to the IoT node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes;

[0074] Demodulate a data packet corresponding to the IoT node identifier and the data packet identifier based on the fused correct bytes.

[0075] A computer-readable storage medium stores a computer program thereon, and when the computer program is executed by a processor, the steps included in any of the above methods are implemented.

[0076] Based on the data packet processing method, device, computer device, and storage medium of the above-described embodiments, the data packets of the Internet of Things nodes are forwarded to the server via more than two base stations. Each base station does not need to care whether the received data packets are complete. The server combines the data packets forwarded by more than two base stations, identifies the correct bytes in the data forwarded by each base station, and combines the correct data of multiple base stations to demodulate the correct data packets sent by the Internet of Things nodes. There is no need to repeatedly retransmit between the base station side and the Internet of Things nodes, but instead, the correct data packets of the Internet of Things nodes are restored by combining the correct data of multiple base stations, improving the transmission efficiency. Description of the Drawings

[0077] Figure 1 It is an application environment diagram of the data packet processing method in an embodiment;

[0078] Figure 2 It is a schematic flowchart of the data packet processing method in an embodiment;

[0079] Figure 3 It is a schematic flowchart of the data packet processing method of the Internet of Things node in an example;

[0080] Figure 4 It is a schematic flowchart of the data packet processing method in an embodiment;

[0081] Figure 5 In 5-1 of, in an example, when the base station does not detect the error code data and directly forwards the data packet to the server, it is a schematic flowchart of the data packet processing method of the base station;

[0082] Figure 5 In 5-2 of, in an example, when the base station detects the error code data and forwards the data packet and the correct bytes of the data packet to the server, it is a schematic flowchart of the data packet processing method of the base station;

[0083] Figure 6 It is a schematic flowchart of the data packet processing method in an embodiment;

[0084] Figure 7 In 7-1 of, in an example, when the base station does not detect the error code data and the server performs the error code detection, it is a schematic flowchart of the data packet processing method of the server;

[0085] Figure 7 In 7-2 of, in an example, when the base station detects the error code data, it is a schematic flowchart of the data packet processing method of the server;

[0086] Figure 8 In 8-1 of [description], it is a schematic diagram of the time axis in the data packet processing process when, in an embodiment, the base station does not detect error code data and the server performs error code detection;

[0087] Figure 8 In 8-2 of [description], it is a schematic diagram of the time axis in the data packet processing process when, in an embodiment, the base station detects error code data;

[0088] Figure 9 It is a structural block diagram of a data packet processing device in an embodiment;

[0089] Figure 10 It is a structural block diagram of a data packet processing device in another embodiment;

[0090] Figure 11 It is a structural block diagram of a data packet processing device in another embodiment;

[0091] Figure 12 It is an internal structure diagram of an Internet of Things device / base station / computer device in an embodiment. Detailed implementation manners

[0092] In order to make the objectives, technical solutions, and advantages of this application clearer, the following further elaborates on this application in combination with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not used to limit this application.

[0093] The data packet processing method provided by this application can be applied to, for example Figure 1In the application environment shown. Among them, multiple Internet of Things devices 102 can be connected to multiple base stations 104 through a wireless network, and the multiple base stations 104 are communicatively connected to a server. Among them, the Internet of Things device 102 can be any terminal device, such as a smart water tank, a smart trash can, smart meter reading, etc. In this application scenario and the embodiments of the present application, this Internet of Things device is also referred to as an Internet of Things node. After such Internet of Things devices 102 are deployed, if necessary, they need to upload data, and the uploaded data can be transmitted to the server 106 via the base station 104. For example, the Internet of Things device 102 can upload data periodically, and these data can be the monitoring data or detection data of the Internet of Things itself. When there are many Internet of Things devices 102 within a certain range, it is easy to generate more error codes on the side of the base station 104. In the traditional method, when the base station 104 detects that there is an error code in the data packet transmitted by the Internet of Things device 102, it will require the Internet of Things device 102 to retransmit the data, resulting in the Internet of Things device 102 needing to retransmit the data frequently, resulting in more transmissions of retransmitted data packets, which requires consuming more transmission resources. In the case where the Internet of Things device 102 is a battery-powered device, the Internet of Things device 102 retransmitting data frequently will also greatly consume the battery power and waste the battery life.

[0094] In the solution of the embodiment of the present application, the same data packet transmitted by the Internet of Things device 102 will be received by multiple base stations 104. For example, Figure 1 the data packet sent by the Internet of Things node A will be received by the base stations BS1, BS2, and BSn, etc. at the same time. Similarly, the data packet sent by the Internet of Things node N will be received by the base stations BS1, BS2, and BSn, etc. at the same time. After the base station 104 receives the data packet transmitted by the Internet of Things device, it may not detect whether the received data packet is complete, or when detecting that the data packet is incomplete, it no longer requires the Internet of Things device 102 to retransmit, but forwards the received data packet to the server 106 for the server 106 to detect the correct bytes in the data packet, or directly forwards the information of the correct bytes detected in the data packet together with the data packet to the server 106. The server 106 combines the correct bytes in the data packets forwarded by multiple base stations 104 to perform fusion recovery of the data packets transmitted by the Internet of Things device 102 to recover the data packet actually sent by the Internet of Things device 102. When the server 106 can successfully recover the data packet, it will feedback an acknowledgment data packet to the Internet of Things device 102 via each base station, indicating that the data packet has been successfully received. On the contrary, when the server 106 fails to successfully recover the data packet, it will feedback a retransmission instruction data packet to the Internet of Things node 102 via the base station 104 to indicate that the data packet has not been successfully received, and carry the retransmission byte identifier in the retransmission instruction data packet to inform which bytes need to be retransmitted.

[0095] Among them, between the Internet of Things device 102 and the base station 104, any possible wireless communication method can be used. For example, LoRa (a long-distance communication technology for low-power wide-area networks (LPWAN), a long-distance wireless transmission solution based on spread-spectrum technology) can be used for communication. At this time, the Internet of Things device 102 can be called a LoRa node, and the base station 104 can be called a LoRa base station. In the following related embodiments, the Internet of Things device 102 is taken as a LoRa node and the base station as a LoRa base station for illustration. The server 106 can be a cloud server or an edge server, and can be specifically implemented by an independent server or a server cluster composed of multiple servers.

[0096] In one embodiment, as Figure 2 shown, a data packet processing method is provided. Taking this method applied to Figure 1 the Internet of Things device 102 in

[0097] as an example for illustration, it includes the following steps S201 to step S202.

[0098] Among them, the data packet to be processed refers to the data packet to be processed. In the actual technical use of the Internet of Things device 102, the processing of multiple different types of data packets will be involved. For example, data packets that need to be transmitted to the server 106 via the base station 104, data packets received and forwarded by the server 106 via the base station 104, and so on. These data packets obtained by the Internet of Things device 102 can be stored in a data packet queue, or the processing order of each data packet can be determined by other means to process these data packets sequentially or simultaneously.

[0099] Step S202: When the data packet to be processed is a data packet to be sent, send the data packet to be sent to more than two base stations, so that the data packet to be sent is sent to the server via more than two base stations, and the server demodulates and restores the data packet to be sent according to the data packets sent by more than two base stations.

[0100] Among them, in some embodiments, when the data packet to be processed is a data packet to be sent to the base station, or a data packet to be sent to the server via the base station, the Internet of Things device sends the data packet to be sent to more than two base stations. Among them, in the data packet to be sent, the Internet of Things node identifier of the Internet of Things device can also be carried, so that the base station or the server can identify which Internet of Things device the data packet to be sent is sent by. In the data packet to be sent, a data packet identifier can also be carried to identify which data packet the data packet to be sent is sent by the Internet of Things device.

[0101] In some embodiments, after the data packet to be sent is sent to more than two base stations, the IoT node may also store the data packet to be sent locally, for example, cache it in a local buffer. By caching the data packet to be sent that has been sent locally, it is convenient to obtain the data content of relevant bytes in a timely manner for retransmission when the data content of relevant bytes of the data packet to be sent needs to be retransmitted later.

[0102] In some embodiments, before sending the data packet to be sent to more than two base stations, pilot bytes may be further inserted into the data packet to be sent at intervals of a predetermined number of bytes. Among them, the specific content of the inserted pilot bytes is the information content known on the server side. Thus, after the data packet to be sent with pilot bytes inserted is transmitted to the server via the base station, it is possible to determine whether the pilot bytes have an error by comparing the byte content of the received pilot bytes with the known pilot byte content. Thus, it is possible to evaluate whether other bytes have an error in combination with the consistency of the pilot byte content. For example, an error byte detection model can be trained in combination with the consistency of the pilot byte content, and the trained error byte detection model can be used to evaluate whether other bytes have an error.

[0103] Among them, the specific content of the pilot bytes can be set differently according to actual technical needs, as long as both the server and the base station know the specific content of the inserted pilot bytes. In addition, the specific content of the set pilot bytes can be the same content, that is, the content of the pilot bytes inserted at the positions of the data packet to be processed at intervals of a predetermined number of bytes is the same, so as to reduce the complexity of server processing and improve processing efficiency.

[0104] In one embodiment, the method in this embodiment further includes the following steps S203 to S205.

[0105] Step S203: When the data packet to be processed is a retransmission indication data packet, extract the first data packet number and the byte identifier to be retransmitted in the retransmission indication data packet.

[0106] Among them, after the data packets sent by the IoT node to the server via more than two base stations are comprehensively detected by the server in combination with the data packets of multiple base stations, if there are still error bytes that cannot be correctly recovered in the data packets transmitted from each base station, the server will return the above retransmission indication data packet to the base station via the base station. In some application examples, this retransmission indication data packet may also be recorded as a NAK data packet. In this retransmission indication data packet, it contains the number of the corresponding data packet (denoted as the first data packet number in the embodiments of the present application), and the byte identifier to be retransmitted that has not been correctly recovered and needs to be retransmitted. In some embodiments, the byte identifier to be retransmitted may be included in the retransmission indication data packet in the form of a byte index array.

[0107] Step S204: Extract the byte data corresponding to the byte identifier to be retransmitted from the stored data packets corresponding to the first data packet number, and construct a data packet to be retransmitted.

[0108] In some embodiments, after constructing the data packet to be retransmitted, the pilot byte may be inserted into the data packet to be retransmitted at intervals of a predetermined number of bytes.

[0109] Step S205: Send the data packet to be retransmitted to more than two base stations, so that the data packet to be sent is sent to the server via more than two base stations. The server demodulates and restores the data packet to be sent based on the data packets to be retransmitted sent by more than two base stations and the data packets sent by more than two base stations.

[0110] The process of sending the above data packet to be retransmitted to the server via more than two base stations may be the same as the method of sending the data packet to be sent.

[0111] In one embodiment, the method in this embodiment further includes the following step S206.

[0112] Step S206: When the data packet to be processed is an acknowledgment packet, obtain the second data packet number carried in the acknowledgment packet; and remove the data packet corresponding to the second data packet number from the stored data packets.

[0113] Among them, after the data packets sent by the Internet of Things node to the server via more than two base stations are comprehensively detected by the server in combination with the data packets of multiple base stations and the data packets sent by the base stations can be restored, the server will return the above acknowledgment packet to the base station via the base station. In some application examples, this acknowledgment packet may also be denoted as an ACK packet. In this retransmission indication packet, the number of the corresponding data packet is included (denoted as the second data packet number in the embodiments of the present application). After receiving this acknowledgment packet, the Internet of Things node can confirm that the data packet corresponding to the second data packet number has been successfully received and restored by the server, and thus the data packet with the second data packet number stored can be removed.

[0114] Accordingly, in some specific examples, the processing flow on the side of the Internet of Things node, i.e., the LoRa node, may be as Figure 3 shown. Refer to Figure 3 shown, and it makes corresponding actions specifically based on the type of the currently received or currently to-be-processed data packet.

[0115] If the currently received or currently to-be-processed data packet is the data packet Pm transmitted by the application layer, that is, the data packet to be sent to the base station or sent to the server via the base station. Then, an indicator byte I is inserted into the Pm data packet every predetermined number of bytes (e.g., T bytes), obtaining the Pm data packet with the indicator byte inserted. Figure 3 In the example shown, it is also called the indicator data packet Ptm. Among them, the content of the indicator byte is known in advance by the IoT node, the base station side, and the server. Subsequently, the indicator data packet Ptm is sent to each base station to be sent to the server via each base station. Subsequently, the data packet Pm before inserting the indicator byte is stored in the transmission buffer tx_buf, and the processing of the next data packet is returned.

[0116] If the currently received or currently to-be-processed data packet is a retransmission indication data packet (such as a NAK packet), then the number Px of the data packet with an error code carried in the NAK packet and the retransmission byte identifier of the byte to be retransmitted, such as the byte index e_index, are extracted. Then, the data packet numbered Px is extracted from the transmission buffer tx_buf, and the byte data at the corresponding position is extracted from the data packet Px according to the index e_index, and the retransmission data packet Prm is constructed with the extracted bytes. Then, an indicator byte I is inserted into the Prm data packet every T bytes, obtaining the Prm data packet with the indicator byte inserted ( Figure 3 also called the indicator data packet Ptrm in the example shown), and the indicator data packet Ptrm is sent to each base station to be sent to the server via each base station, and the processing of the next data packet is returned.

[0117] If the currently received or currently to-be-processed data packet is an acknowledgement data packet (such as an ACK packet), then the number Pn of the data packet that has been correctly received provided in the ACK packet is extracted, and the data packet numbered Pn is deleted from the transmission buffer tx_buf.

[0118] If no data packet is currently received or there is no data packet to be processed, then the device can enter the sleep state. It can return to process the next data packet to be processed after sleeping for a period of time or being triggered based on the condition of receiving a data packet.

[0119] In one embodiment, as Figure 4 shown, a data packet processing method is provided. Taking the base station 104 in Figure 1 as an example for illustration, it includes the following steps S401 to step S402.

[0120] Step S401: Receive the data packet uploaded by the IoT device.

[0121] Among them, the data packet uploaded by the Internet of Things device received by the base station 104 may be the data packet to be sent sent by the Internet of Things device mentioned in the above embodiments. Among them, when the Internet of Things device inserts a pilot byte into the data packet to be sent, the data packet is the data packet after inserting a pilot byte every predetermined byte in the data packet to be sent by the Internet of Things device.

[0122] Step S402: When the reception of the data packet is completed, send the received data packet to the server, so that the server demodulates and restores the data packet to be sent by the Internet of Things device according to the data packets sent by two or more base stations.

[0123] Thus, after the base station finishes receiving the data packet uploaded by the Internet of Things device, it can directly forward the data packet to the server without analyzing the integrity of the data packet, so that the server demodulates and restores the data packet to be sent by the Internet of Things device according to the data packets sent by two or more base stations, avoiding the problem of wasting resources caused by frequent retransmission on the base station side.

[0124] It can be understood that in some embodiments, the data packet uploaded by the Internet of Things device received in step S401 above may also be a data packet to be retransmitted uploaded by the Internet of Things device. When the Internet of Things device inserts a pilot byte into the data packet to be retransmitted, the data packet to be retransmitted may specifically be the data packet after inserting a pilot byte every predetermined byte in the data packet to be retransmitted by the Internet of Things device.

[0125] In some embodiments, during the process of receiving the data packet uploaded by the Internet of Things device in step S401 above, the signal quality information of each received byte of the data packet may also be obtained. Among them, the signal quality information refers to the relevant information that can feedback the received signal quality of the received byte. For example, in some embodiments, the signal quality information includes the received signal strength RSSI (RSSI, Received Signal Strength Indicator). It can be understood that the signal quality information may also include other information related to signal quality at the same time, such as the received signal strength of noise, the received signal strength of the received byte, the interference signal strength of the received byte, etc. The manner in which the base station obtains the signal quality information can be carried out by any information acquisition method in communication, and the embodiments of the present application do not make specific limitations.

[0126] In some embodiments, after obtaining the signal quality information, the signal quality information may also be stored in a signal quality information array. To store the signal quality information in an arrayed manner.

[0127] At this time, when sending the received data packet to the server in the above step S402, it may be to send the received data packet and the signal quality information of each corresponding byte to the server. Thus, by sending the signal quality information of each byte corresponding to the data packet to the server together, it is convenient for the server to comprehensively evaluate whether the byte is a correct byte, that is, whether an error code has occurred, based on the signal quality information corresponding to the byte. In some embodiments, the byte feature corresponding to the byte may also be determined in combination with the signal quality information of each byte, so as to facilitate determining whether each byte is a correct byte in combination with a related detection model, such as the error code byte detection model in the embodiments of the present application.

[0128] In some other embodiments, in the above step S402, when the data packet reception is completed, the base station may also obtain the correct bytes in the data packet, obtain the information of the correct bytes in the data packet, and send the received data packet and the information of the correct bytes in the data packet to the server, so that the server fuses the data packets sent by two or more base stations and the correct bytes corresponding to each data packet to demodulate and recover the data packet to be sent by the Internet of Things device.

[0129] Thus, by identifying the correct bytes of the data packet at the base station and feeding back the correct bytes to the server, the server can directly combine the information of the correct bytes already informed by multiple base stations to directly recover the correct data packet to be sent by the Internet of Things device.

[0130] In some embodiments, the base station may detect the correct bytes in the data packet by detecting whether error codes occur in each byte of the data packet. In some specific examples, detection may be performed in combination with a detection model. At this time, obtaining the correct bytes in the data packet may include the following steps S4021 to S4024.

[0131] Step S4021: Obtain an error code byte detection model.

[0132] Among them, the error code byte detection model may be a logistic regression model, and the specific structure of the logistic regression model is not specifically limited in the embodiments of the present application.

[0133] In some embodiments, the error code byte detection model may be obtained by real-time training using the comparison results of each pilot byte in the data packet as training labels. When obtaining the error code byte detection model in one embodiment, it may include the following steps 1 to 4.

[0134] Step 1: Extract pilot bytes from the data packet at intervals of a predetermined number of bytes.

[0135] Among them, the number of predetermined bytes, which is the same as the number of predetermined bytes when the above-mentioned Internet of Things device inserts the wizard bytes, is a parameter that is known to both the Internet of Things device and the base station. It can be pre-set in the Internet of Things device and the base station, or in the actual technical process, determined through negotiation according to actual needs by both parties, or set in the physical network device and the base station in other ways, as long as the settings in the Internet of Things device and the base station are the same.

[0136] When extracting the wizard bytes from the data packet, the byte content after each predetermined byte interval can be directly regarded as the byte content of the wizard bytes. It should be understood that in the actual technical implementation, the byte content of the extracted wizard bytes may be the byte content without error codes or the byte content with error codes.

[0137] Step 2: Obtain the byte characteristics of each of the wizard bytes.

[0138] The byte characteristics of each wizard byte can be obtained in various possible ways, as long as they can reflect the characteristics related to whether the wizard byte has generated or may generate error codes. In some embodiments, in the case of obtaining the signal quality information of each received byte when receiving the data packet, the byte characteristics of the wizard byte can be determined in combination with the signal quality information of each received byte.

[0139] In some specific embodiments, to determine the byte characteristics of each of the wizard bytes, the following method can be adopted:

[0140] First, based on the received signal strength of the noise, determine the noise power; denote RSSI N as the received signal strength of the noise, then the noise power can be expressed by the formula

[0141] Second, based on the received signal strength of the wizard byte and the noise power, determine the byte signal power of the wizard byte; denote RSSI b as the received signal strength of the byte, then the byte signal power can be expressed by the formula

[0142] Then, based on the noise power, the byte signal power, and the interference signal strength, determine the interference signal power of the wizard byte; denote RSSI i as the interference signal strength corresponding to the byte, then the interference signal power can be expressed by the formula

[0143] Then, based on the noise power, the byte signal power, and the interference signal power, determine the byte characteristics of the wizard byte. In an embodiment of the present application, the byte characteristics can be expressed by the formula

[0144] Thus, for each pilot byte, its corresponding physical layer characteristic SINR can be obtained i , where i indicates that it is the i-th byte in the data packet.

[0145] Step 3: Determine whether each of the pilot bytes is a correct byte.

[0146] In some embodiments, specifically, each of the pilot bytes can be compared with the pre-stored pilot byte content, and whether each of the pilot bytes is a correct byte is determined according to the consistency of the comparison result. Since the base station knows what the specific byte content of the pilot byte inserted by the IoT node is, the byte content of the pilot byte in the data packet can be compared with the pre-stored pilot byte content, and whether the pilot byte in the data packet is a correct byte, that is, whether an error code occurs, can be determined according to whether the two are consistent. Specifically, when the two are consistent, the pilot byte is considered a correct byte; otherwise, the pilot byte is considered an error code byte.

[0147] Step 4: Use the byte characteristics of each of the pilot bytes as a training feature set, and whether each of the pilot bytes is a correct byte as the training label corresponding to each of the byte characteristics, to train a preset error code byte detection model; obtain the error code byte detection model.

[0148] Among them, in the specific process of model training, the byte characteristics of each pilot byte are processed by the preset error code byte detection model to obtain the processing result of whether the pilot byte processed by the preset error code byte detection model is a correct byte, and then the processing result is compared with the training label corresponding to the byte characteristics of the pilot byte (that is, whether it is actually a correct byte). If they are inconsistent, the model parameters in the preset error code byte detection model are adjusted, and the above process is repeated until the model convergence condition is reached. For example, the processing results of the byte characteristics of each pilot byte after being processed by the preset error code byte detection model are all consistent with their corresponding training labels, or the preset training times are reached, or the pilot bytes whose processing results after being processed by the preset error code byte detection model are consistent with their corresponding training labels reach a predetermined proportion or a predetermined number. Then, the finally trained preset error code byte detection model is used as the error code byte detection model corresponding to the data packet.

[0149] In some other embodiments, it is not always necessary to train the error code byte detection model in real time. At this time, when it is determined that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, the error code byte detection model used last time is determined as the obtained error code byte detection model. In some other embodiments, it may also be that when it is determined that the difference between the signal interference state based on the signal quality information of each received byte and the signal interference state of a signal when the error code byte detection model was used last time is within a predetermined range, the error code byte detection model used last time is determined as the obtained error code byte detection model. Thus, when the signal interference is small or there is no change in the signal interference, the error code byte detection model used last time can be directly used to improve the processing efficiency.

[0150] Step S4022: Obtain the byte features of each received byte in the data packet.

[0151] It can be understood that the received bytes in the data packet include the pilot byte and other bytes other than the pilot byte, that is, non-pilot bytes. At this time, the byte features of each received byte obtained in the data packet can be the byte features of other bytes except the pilot byte. In actual technical applications, after obtaining the data packet, the byte features of all received bytes in the data packet can be determined, and then the byte features of the pilot byte are used in the above model training process, while the non-pilot bytes are used for specific model detection.

[0152] It can be understood that when obtaining the byte features of each received byte, the method may be the same as that for determining the byte features of the pilot byte above, and the following method can be specifically adopted:

[0153] First, based on the received signal strength of the noise, determine the noise power; denote RSSI N as the received signal strength of the noise, then the noise power can be expressed by the formula

[0154] Second, based on the received signal strength of the received byte and the noise power, determine the byte signal power of the received byte; denote RSSI b as the received signal strength of the received byte, then the byte signal power of the received byte can be expressed by the formula

[0155] Then, based on the noise power, the byte signal power, and the interference signal strength, determine the interference signal power of the received byte; denote RSSI i as the interference signal strength corresponding to the byte, then the interference signal power can be expressed by the formula

[0156] Then, based on the noise power, the byte signal power, and the interference signal power, determine the byte feature of the received byte. In an embodiment of the present application, the byte feature can be expressed by the formula as

[0157] Thus, for each received byte, its corresponding physical layer feature SINR can be obtained i , where i indicates that it is the i-th byte in the data packet.

[0158] Step S4023: Process the byte features of each received byte by using the error byte detection model to obtain the detection result of whether each received byte is a correct byte.

[0159] Based on the obtained error byte detection model above, input the byte feature of the received byte into the error byte detection model, and the detection result of whether the received byte is a correct byte can be output via the error byte detection model.

[0160] Step S4024: Obtain the correct bytes in the data packet based on the detection results of whether each received byte is a correct byte.

[0161] In the process of processing the error byte detection model above, it can be that the byte feature of one received byte is input each time, or the byte features of multiple received bytes are input simultaneously, so as to obtain the detection results of whether all received bytes are correct bytes, and thus all the correct bytes in the data packet can be obtained.

[0162] In some embodiments, the method of this embodiment may further include the following steps:

[0163] Step S403: Receive a retransmission indication data packet sent by the server, where the retransmission indication data packet carries the Internet of Things node identifier, the data packet number, and the identifier of the byte to be retransmitted; forward the retransmission indication data packet to the Internet of Things node corresponding to the Internet of Things node identifier, and the retransmission indication data packet is used to instruct the Internet of Things node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the identifier of the byte to be retransmitted in the data packet with the corresponding data packet number. Thus, after receiving the retransmission indication data packet sent by the server, the base station can directly forward the retransmission indication data packet to the corresponding base station to instruct the Internet of Things device to re-upload the byte data of the byte that needs to be retransmitted.

[0164] In some embodiments, the method of this embodiment may further include the following steps:

[0165] Step S404: Receive the confirmation data packet sent by the server. The confirmation data packet carries the Internet of Things node identifier and the data packet number, and forward the confirmation data packet to the Internet of Things node corresponding to the Internet of Things node identifier. The confirmation data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number. Thus, after receiving the confirmation data packet sent by the server, the base station can directly forward the confirmation data packet to the corresponding base station to notify that the corresponding data packet of the Internet of Things device has been successfully received.

[0166] Accordingly, in some specific examples, in the case where the base station does not detect error code data and directly forwards the data packet to the server, the processing flow on the base station side, that is, the LoRa base station side, can be as Figure 5 shown in 5-1, and it makes corresponding actions specifically based on the type of the currently received or the currently to-be-processed data packet.

[0167] If the currently received or the currently to-be-processed data packet is a confirmation data packet (ACK packet) or a retransmission indication data packet (NAK packet) sent by the server to the LoRa node (i.e., the Internet of Things device), directly forward the ACK packet or the NAK packet to the LoRa node, and return to process the next data packet.

[0168] If the currently received or the currently to-be-processed data packet is a data packet sent by the LoRa node. Then judge whether the data packet is currently being received. If the data packet is still being received, obtain the signal quality information of the currently received byte (such as received signal strength RSSI, etc.), store it in the signal quality information array p_rssi, and continue this process. If the data packet reception has been completed, send the received LoRa data packet and the array p_rssi storing the RSSI to the server, and return to process the next data packet.

[0169] If no data packet is currently received or there is no data packet to be processed, it can enter the sleep state. After sleeping for a period of time, or triggered based on the condition of receiving a data packet, return to process the next data packet to be processed.

[0170] In some specific examples, in the case where the base station detects error code data and forwards the data packet and the correct bytes of the data packet to the server, the processing flow on the base station side, that is, the LoRa base station side, can be as Figure 5-2 shown, and it makes corresponding actions specifically based on the type of the currently received or the currently to-be-processed data packet.

[0171] If the currently received or to-be-processed data packet is an acknowledgment packet (ACK packet) or a retransmission indication packet (NAK packet) sent by the server to the LoRa node (i.e., the Internet of Things device), directly forward the ACK packet or NAK packet to the LoRa node and return to process the next data packet.

[0172] If the currently received or to-be-processed data packet is a data packet sent by the LoRa node. Then determine whether the data packet is currently being received. If the data packet is still being received, obtain the signal quality information of the currently received byte (such as received signal strength RSSI, etc.) and store it in the signal quality information array p_rssi, and continue this process.

[0173] If the reception of the data packet has been completed, combine the array p_rssi storing RSSI, detect the correct bytes in the data packet, and send the received data packet and the correct bytes detected in the data packet to the server, and return to process the next data packet.

[0174] If no data packet is currently received or there is no data packet to be processed, it can enter the sleep state. After sleeping for a period of time, or triggered based on the condition of receiving a data packet, return to process the next data packet to be processed.

[0175] For the solution of the above-described embodiments, when applied to a specific base station, taking the base station as a LoRa base station using LoRa technology as an example, the frequency of bus access in the device driver of the base station can also be modified to achieve the goal of at least one RSSI sampling for each byte in the LoRa data packet. For example, in the LoRa gateway of model NUCLEO-F746ZG, it is necessary to continuously monitor whether the device triggers the interrupt signals of GPIO (General Purpose Input / Output) of PreambleDetected, Synchronized, and Receiving. If the device triggers the above GPIO information in sequence, it indicates that the LoRa data packet is currently being received. In some embodiments, with a given SF of 7 and a bandwidth of 125 kHz, the operating frequency of the SPI (Serial Peripheral Interface) bus can be modified to at least 5.1 kHz so that each LoRa byte has at least one RSSI sampling, and the LoRa data rate at this time is about 4.1 kbps. In some embodiments, when it is monitored that the device triggers the GPIO interrupt signal of RXDone, it indicates that the current LoRa data packet has been received completely, and the RSSI sampling data reading can be stopped.

[0176] In one embodiment, as Figure 6 shown, a data packet processing method is provided. Taking the method applied to the server 106 in Figure 1 as an example, the method includes the following steps S601 to S604.

[0177] Step S601: Receive the data packets of the IoT nodes forwarded by the base station. The data packets carry the IoT node identifier and the data packet identifier.

[0178] Among them, the data packets of the IoT nodes forwarded by the base station received by the server may be the to-be-sent data packets sent by the base station mentioned in the above embodiments. When the base station inserts the pilot bytes into the to-be-sent data packets, the data packets are the data packets after inserting the pilot bytes every predetermined byte in the to-be-sent data packets of the IoT devices. In some embodiments, the data packets of the IoT nodes forwarded by the base station received by the server may also be the to-be-retransmitted data packets uploaded by the IoT devices. When the IoT devices insert the pilot bytes into the to-be-retransmitted data packets, the to-be-retransmitted data packets may specifically be the data packets after inserting the pilot bytes every predetermined byte in the to-be-retransmitted data packets of the IoT devices. For ease of description, the following embodiments are described by taking the to-be-sent data packets of the IoT devices as an example.

[0179] Among them, the server may simultaneously receive the data packets of different IoT nodes sent by multiple base stations. The data packets from different IoT nodes can be distinguished from which IoT node they come from through the IoT node identifiers carried in the data packets. For ease of description, in the following embodiments of the present application, the example is described by combining the data packets of the same IoT node sent by multiple base stations received by the server.

[0180] In some embodiments, during the process of the base station receiving the data packets sent by the base station, when the signal quality information of each received byte of the data packet is also obtained, at this time, when receiving the data packets of the IoT nodes forwarded by the base station, the signal quality information of each received byte of the data packet is also simultaneously received. In some embodiments, the signal quality information includes: the received signal strength of the noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

[0181] Step S602: Obtain the correct bytes in the data packet.

[0182] In some embodiments, when the base station has detected the correct bytes in the data packet, when the base station sends the data packet to the server, the detected correct bytes in the data packet will be sent to the server at the same time. At this time, the server can directly obtain the correct bytes in the data packet, that is, the bytes without error codes, from the information sent by the base station.

[0183] In some embodiments, when the base station fails to detect the correct bytes in the data packet, the server can detect the correct bytes in the data packet by detecting whether there are error codes in each byte of the data packet.

[0184] In some embodiments, a detection model can be combined to detect the correct bytes in the data packet. At this time, obtaining the correct bytes in the data packet may include the following steps S6021 to step S6024.

[0185] Step S6021: Obtain an error code byte detection model.

[0186] Among them, the error code byte detection model can be a logistic regression model, and the specific structure of the logistic regression model is not specifically limited in the embodiments of the present application.

[0187] In some embodiments, the error code byte detection model can be obtained by real-time training using the comparison results of each pilot byte in the data packet as training labels. It should be understood that since there are differences in the wireless transmission environment between the IoT devices and each base station during the process of transmitting data packets to each base station, the error code situations of the data packets received by each base station are different. Therefore, corresponding error code byte detection models can be trained respectively for the data packets forwarded by each base station to specifically identify the correct bytes in the data packets forwarded by the corresponding base stations. When obtaining the error code byte detection model by training for the data packets forwarded by each base station, the specific method can be the same as the method for the base station to obtain the error code byte detection model described above.

[0188] In some other embodiments, it is not always necessary to train the error code byte detection model in real time. At this time, when the signal interference state is determined to be within a predetermined interference range based on the signal quality information of each received byte of the data packet for a certain base station, the error code byte detection model used last time is determined as the obtained error code byte detection model. In some other embodiments, it can also be that when the difference between the signal interference state determined based on the signal quality information of each received byte and the signal interference state of a previous use of the error code byte detection model is within a predetermined range, the error code byte detection model used last time is determined as the obtained error code byte detection model. Thus, when the signal interference is small or there is no change in the signal interference, the error code byte detection model used last time can be directly used to improve the processing efficiency.

[0189] Step S6022: Obtain the byte features of each received byte in the data packet.

[0190] Among them, when obtaining the byte features of each received byte, the method can be the same as the method for the base station to determine the byte features of each received byte described above.

[0191] Step S6023: Process the byte features of each received byte using the error code byte detection model to obtain the detection result of whether each received byte is a correct byte.

[0192] Based on the obtained error code byte detection model above, input the byte features of the received byte into this error code byte detection model, and the detection result of whether this received byte is a correct byte can be output via this error code byte detection model.

[0193] Step S6024: Obtain the correct bytes in the data packet based on the detection results of whether each received byte is a correct byte.

[0194] During the processing of the above error code byte detection model, it can be that the byte features of one received byte are input each time, or the byte features of multiple received bytes are input simultaneously, so as to obtain the detection results of whether all received bytes are correct bytes, and thus all the correct bytes in the data packet can be obtained.

[0195] Step S603: Fuse the correct bytes in the data packets corresponding to the IoT node and the data packet identifier forwarded by two or more base stations to obtain the fused correct bytes.

[0196] As described above, since the wireless transmission environment between the IoT device and each base station is different during the process of transmitting data packets to each base station, the error code situations of the data packets received by each base station are different. Therefore, for the data packets forwarded by each base station, the corresponding error code byte detection model can be obtained, and the correct bytes corresponding to the data packets of each base station can be determined accordingly and fused accordingly.

[0197] Step S604: Demodulate the data packet corresponding to the IoT node identifier and the data packet identifier based on the fused correct bytes.

[0198] In some embodiments, after demodulating the data packet corresponding to the IoT node identifier and the data packet identifier based on the fused correct bytes, steps S605 to S607 may further be included.

[0199] Step S605: When the demodulation of the data packet corresponding to the IoT node identifier and the data packet identifier fails based on the fused correct bytes, obtain the identifier of the received byte for which the demodulation fails to obtain the identifier of the byte to be retransmitted.

[0200] Step S606: Generate a retransmission indication data packet, and the retransmission indication data packet carries the IoT node identifier, the data packet number, and the identifier of the byte to be retransmitted.

[0201] Step S607: Send the retransmission indication data packet to two or more of the base stations to return an acknowledgment data packet. The retransmission indication data packet is used to indicate the physical network node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet number.

[0202] In some embodiments, after demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the correctly fused bytes, the following steps may further be included:

[0203] Step S608: When successfully demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the correctly fused bytes, return an acknowledgment data packet to two or more of the base stations. The acknowledgment data packet carries the Internet of Things node identifier and the data packet number, and the acknowledgment data packet is used to indicate the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

[0204] In some specific examples, in the case where the base station does not perform error code data detection and the server performs error code detection, the processing flow on the server side may be as Figure 7-1 shown. Refer to Figure 7-1 shown. When it receives the Ptm data packet and the RSSI sequence p_rssi transmitted by the base station, it performs the following processing procedure.

[0205] Extract the RSSI information from the signal quality information array p_rssi every T bytes, that is, extract the signal quality information of each pilot byte, and calculate the byte feature SINR of each pilot byte of the physical layer in the above-mentioned manner i , and put it into the training set feature array t_feature. And for the training label Y i corresponding to the training set, it is obtained by comparing the information content of the pilot byte with the known information content of the pilot byte in the following manner.

[0206]

[0207] Since the server knows the specific content of the LoRa pilot byte, it can compare the received pilot byte with the known pilot byte to determine whether the pilot byte has an error. For each pilot LoRa byte, determine the corresponding label Y i , and put it into the training set label array t_label.

[0208] Then, based on the training set feature array t_feature and the training set label array t_label, train an error code byte detection model to obtain a trained error code byte detection model for detecting LoRa error code bytes. The error code byte detection model may be a logistic regression model.

[0209] Then, for the bytes in the Ptm data packet except the wizard byte, calculate the byte feature SINR of each byte at the physical layer in the manner described above. i , and input the obtained byte feature SINR i into the trained error byte detection model to obtain the index c_index of the correct bytes in the data packet Ptm.

[0210] If not all n base station data packets have been received currently, return to the above process until the indexes of the correct bytes in the ptm data received by all base stations are obtained.

[0211] If all n base station data packets have been received, fuse the parts of the correct bytes detected in the n base station data packets and demodulate the data packet.

[0212] If the data packet cannot be successfully demodulated currently, put the index e_index of the error bytes in the data packet number into the NAK packet, send it to the base station, and then the base station sends it to the IoT device to indicate that the IoT device retransmits the byte data corresponding to the index e_index of the error bytes.

[0213] If the data packet can be successfully demodulated currently, feedback ACK to the base station, and the base station sends it to the IoT device to inform the IoT device that the data packet has been successfully received.

[0214] Accordingly, in some specific examples, in the case of error data detection at the base station, the processing flow on the server side can be as Figure 7-2 shown. Refer to Figure 7-2 shown. When it receives the Ptm data packet transmitted by the base station and the information of the corresponding correct bytes, it performs the following processing procedure.

[0215] If not all n base station data packets and the corresponding correct bytes have been received currently, return to the above process until the ptm data received by all base stations and the indexes of the corresponding correct bytes are obtained.

[0216] If all n base station data packets and the corresponding correct bytes have been received, fuse the parts of the correct bytes detected in the n base station data packets and demodulate the data packet.

[0217] If the data packet cannot be successfully demodulated currently, put the index e_index of the error bytes in the data packet number into the NAK packet, send it to the base station, and then the base station sends it to the IoT device to indicate that the IoT device retransmits the byte data corresponding to the index e_index of the error bytes.

[0218] If the data packet can be successfully demodulated currently, feedback ACK to the base station, which is sent to the Internet of Things device by the base station to inform the Internet of Things device that the data packet has been successfully received.

[0219] Based on the above-described embodiments, the interaction processing flow among the Internet of Things device, the base station, and the server will be described below as an example. Figure 8 A schematic diagram showing the time series in this interaction processing is shown.

[0220] Figure 8-1 As shown, taking the case where the base station does not detect error code data and the server performs error code detection as an example, for a certain Internet of Things device, such as Figure 1 Internet of Things node A in Figure 1 when it needs to upload data, after obtaining the data packet to be uploaded, inserts a pilot byte I every predetermined byte in the data packet pm to obtain a pilot data packet ptm, and sends the pilot data packet ptm to multiple base stations, such as

[0221] base station BS1, base station BS2,... base station BSn in

[0222] Base stations BS1, BS2,... BSn each receive the pilot data packet ptm sent by Internet of Things node A, and during the process of receiving the pilot data packet ptm, simultaneously obtain the signal quality information of each received byte in the received pilot data packet ptm, such as received signal strength RSSI, etc. The received signal quality information can be stored in the array p_rssi. And after the data packet ptm is received, transmit the received ptm data packet and the array p_rssi of the corresponding signal quality information to the server. Among them, during the transmission of the pilot data packet ptm to the base station, error codes may occur. The pilot data packets ptm received and forwarded to the server by base stations BS1, BS2,... BSn are actually data packets that may contain error code byte data. i After the server receives the pilot data packets ptm forwarded by base stations BS1, base station BS2,... base station BSn and the corresponding array p_rssi of signal quality information, for the data packet ptm and the array p_rssi of each base station, extract the RSSI information every T bytes from the array p_rssi, that is, extract the signal quality information of each pilot byte, and calculate the byte feature SINR of each pilot byte of the physical layer in the above-described manner i, and put it into the training set label array t_label. Based on the training set feature array t_feature and the training set label array t_label, a bit error byte detection model is trained. For each byte of the physical layer except the pilot byte in the Ptm data packet, the byte feature SINR of each byte is calculated in the manner described above. i , and the obtained byte feature SINR i is input into the trained bit error byte detection model to obtain the index c_index of the correct byte in the data packet Ptm. Then, the server fuses the parts of the correct bytes detected in the data packets of n base stations and demodulates the data packets.

[0223] If the data packet cannot be successfully demodulated currently, the number of the data packet and the index e_index of the bit error byte in the data packet are put into the NAK packet and sent to the base station, and then sent to the IoT device by the base station. After receiving the NAK packet, the IoT device extracts the byte data corresponding to the byte index e_index from the data packet with the corresponding number, forms the data packet to be retransmitted, and after inserting a pilot byte at every predetermined byte interval in the data packet to be retransmitted, adopts the same processing method as the above-mentioned data packet to be sent, and sends it to the server through multiple base stations.

[0224] If the data packet can be successfully demodulated currently, an ACK data packet is fed back to the base station and sent to the IoT device by the base station to inform the IoT device that the data packet has been successfully received. After receiving the ACK data packet, the IoT device confirms that the server has successfully received the data packet and removes the data packet with the corresponding number from the cache.

[0225] Figure 8-2 As shown in the example of bit error data detection by the base station, for an IoT device, such as Figure 1 the IoT node A in it, when it needs to upload data, after obtaining the data packet to be uploaded, inserts a pilot byte I at every predetermined byte interval in the data packet pm to obtain the pilot data packet ptm, and sends the pilot data packet ptm to multiple base stations, such as Figure 1 the base station BS1, base station BS2,... base station BSn in it.

[0226] The base stations BS1, BS2,... BSn each receive the pilot data packet ptm sent by the IoT node A, and during the process of receiving the pilot data packet ptm, simultaneously obtain the signal quality information of each received byte in the received pilot data packet ptm, such as the received signal strength RSSI, etc., and the received signal quality information can be stored in the array p_rssi.

[0227] After each base station BS1, BS2, …… BSn finishes receiving the PTM data packet, it extracts the RSSI information from the array p_rssi every T bytes, that is, extracts the signal quality information of each pilot byte, and calculates the byte feature SINR of each pilot byte in the physical layer through the method described above. i , and puts it into the training set feature array t_feature. By comparing the consistency between the information content of the pilot byte and the known information content of the pilot byte, it determines whether the content of the pilot byte is correct, so as to obtain the corresponding training label Y. i , and puts it into the training set label array t_label. Based on the training set feature array t_feature and the training set label array t_label, a bit error byte detection model is trained. For the other bytes in the Ptm data packet except the pilot byte, the byte feature SINR of each byte in the physical layer is calculated through the method described above. i , and inputs it into the trained bit error byte detection model to obtain the index c_index of the correct byte in the data packet Ptm.

[0228] Then, each base station BS1, BS2, …… BSn transmits the received PTM data packet and the corresponding index c_index of the correct byte to the server.

[0229] After the server receives the pilot data packet Ptm forwarded by the base stations BS1, BS2, …… BSn and the corresponding index c_index of the correct byte, it fuses the correct byte parts detected in the data packets of the n base stations and demodulates the data packet.

[0230] If the data packet cannot be successfully demodulated currently, the number of the data packet and the index e_index of the bit error byte in the data packet are put into the NAK packet and sent to the base station, and then sent to the Internet of Things device by the base station. After receiving the NAK packet, the Internet of Things device extracts the byte data corresponding to the byte index e_index from the data packet with the corresponding number, forms a data packet to be retransmitted, and inserts pilot bytes every predetermined byte in the data packet to be retransmitted. Then, it adopts the same processing method as the data packet to be sent and sends it to the server through multiple base stations.

[0231] If the data packet can be successfully demodulated currently, an ACK data packet is fed back to the base station and sent to the Internet of Things device by the base station to inform the Internet of Things device that the data packet has been successfully received. After receiving the ACK data packet, the Internet of Things device confirms that the server has successfully received the data packet, and then removes the data packet with the corresponding number from the cache.

[0232] It should be understood that although the steps in the flowcharts involved in the above-described embodiments are sequentially shown according to the indications of the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this document, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in these flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.

[0233] In one embodiment, as Figure 9 shown, a data packet processing device is provided. The device can be arranged in an Internet of Things node, and the device includes:

[0234] A data packet acquisition module 901 for acquiring data packets to be processed;

[0235] A node communication module 902 for, when the data packet to be processed is a data packet to be sent, sending the data packet to be sent to more than two base stations, so that the data packet to be sent is sent to a server via more than two base stations, and the server demodulates and recovers the data packet to be sent according to the data packets sent by more than two base stations.

[0236] In some embodiments, the device further includes: a pilot byte insertion module for inserting pilot bytes into the data packet to be sent at every predetermined byte interval.

[0237] At this time, the above-mentioned node communication module 902 is used to send the data packet to be sent inserted with pilot bytes to more than two base stations.

[0238] In some embodiments, the device further includes: a node storage module for storing the data packet to be sent.

[0239] In some embodiments, the device further includes: a retransmission processing module for, when the data packet to be processed is a retransmission indication data packet, extracting the first data packet number and the to-be-retransmitted byte identifier in the retransmission indication data packet; extracting the byte data corresponding to the to-be-retransmitted byte identifier from the stored data packet corresponding to the first data packet number, and constructing a to-be-retransmitted data packet.

[0240] At this time, the node communication module 902 also sends the to-be-retransmitted data packet to more than two base stations, so that the data packet to be sent is sent to a server via more than two base stations, and the server demodulates and recovers the data packet to be sent according to the to-be-retransmitted data packet sent by more than two base stations and combines the data packets sent by more than two base stations.

[0241] In some embodiments, the apparatus further includes: a wizard byte insertion module, which also inserts wizard bytes at intervals of a predetermined number of bytes in each packet to be retransmitted. At this time, the node communication module 902 is further configured to send the packet to be retransmitted with inserted wizard bytes to more than two base stations.

[0242] In some embodiments, the byte identifier to be retransmitted includes an array of byte indices.

[0243] In some embodiments, the apparatus further includes: a node data deletion module, which is configured to, when the packet to be processed is an acknowledgment packet, obtain the second packet number carried in the acknowledgment packet; and remove the packet corresponding to the second packet number from the packets stored in the storage module.

[0244] In one embodiment, as Figure 10 shown, there is provided a packet processing apparatus, which can be disposed in a base station. The apparatus includes:

[0245] A base station first communication module 1001, which is configured to receive packets uploaded by an Internet of Things device;

[0246] A base station second communication module 1002, which is configured to, when the reception of the packet is completed, send the received packet to a server, so that the server demodulates and restores the packet to be sent by the Internet of Things device according to the packets sent by more than two base stations.

[0247] In some embodiments, the packet is a packet after inserting wizard bytes at intervals of a predetermined number of bytes in the packet to be sent by the Internet of Things device.

[0248] In some embodiments, the apparatus further includes: a signal quality information acquisition module, which is configured to acquire signal quality information of each received byte of the packet during the process of the base station first communication module receiving the packet uploaded by the Internet of Things device. At this time, the base station second communication module is configured to send the received packet and the corresponding signal quality information of each byte to the server.

[0249] In some embodiments, the signal quality information includes received signal strength.

[0250] In some embodiments, the signal quality information acquisition module stores the signal quality information in a signal quality information array.

[0251] In some embodiments, the apparatus further includes: a base station detection module, which is configured to detect correct bytes in the packet. At this time, the base station second communication module is configured to send the received packet and the information of the correct bytes in the packet to the server.

[0252] In some embodiments, the base station detection module includes:

[0253] A detection model acquisition module, which acquires an error code byte detection model;

[0254] A byte feature acquisition module, which is used to acquire the byte features of each received byte in the data packet;

[0255] A detection processing module, which is used to process the byte features of each received byte by using the error code byte detection model to obtain a detection result of whether each received byte is a correct byte;

[0256] A result determination module, which is used to obtain the correct bytes in the data packet based on the detection result of whether each received byte is a correct byte.

[0257] In some embodiments, the detection model acquisition module includes:

[0258] A wizard byte extraction module, which is used to extract wizard bytes from the data packet at intervals of a predetermined number of bytes;

[0259] A wizard byte feature acquisition module, which is used to acquire the byte features of each wizard byte;

[0260] A wizard byte determination module, which is used to determine whether each wizard byte is a correct byte;

[0261] A model training module, which is used to perform model training on a preset error code byte detection model by using the byte features of each wizard byte as a training feature set and whether each wizard byte is a correct byte as a training label corresponding to each byte feature; and obtain the error code byte detection model.

[0262] In some embodiments, the wizard byte determination module compares each wizard byte with the pre-stored wizard byte content and determines whether each wizard byte is a correct byte according to the consistency of the comparison result.

[0263] In some embodiments, the signal quality information includes: the received signal strength of noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

[0264] In some embodiments, the byte feature acquisition module determines the noise power based on the received signal strength of the noise; determines the byte signal power of the received byte based on the received signal strength of the received byte and the noise power; determines the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength; and determines the byte feature of the received byte based on the noise power, the byte signal power, and the interference signal power.

[0265] In some embodiments, when the detection model acquisition module determines that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, or determines that the difference between the signal interference state and the signal interference state of a previous use of the error code byte detection model is within a predetermined range based on the signal quality information of each received byte, it determines the error code byte detection model used last time as the acquired error code byte detection model.

[0266] In some embodiments, the second communication module of the base station is further configured to receive a retransmission indication data packet sent by the server, where the retransmission indication data packet carries an Internet of Things node identifier, a data packet number, and a byte identifier to be retransmitted; the first communication module of the base station is further configured to forward the retransmission indication data packet to the Internet of Things node corresponding to the Internet of Things node identifier, and the retransmission indication data packet is used to instruct the Internet of Things node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet corresponding to the data packet number.

[0267] In some embodiments, the second communication module of the base station is further configured to receive an acknowledgment data packet sent by the server, where the acknowledgment data packet carries an Internet of Things node identifier and a data packet number; the first communication module of the base station is further configured to forward the acknowledgment data packet to the Internet of Things node corresponding to the Internet of Things node identifier, and the acknowledgment data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

[0268] In one embodiment, as Figure 11 shown, a data packet processing device is provided, and the device can be set in a server, including:

[0269] A server communication module 1101, configured to receive a data packet of an Internet of Things node forwarded by a base station, where the data packet carries an Internet of Things node identifier and a data packet identifier;

[0270] A correct byte detection module 1102, configured to obtain correct bytes in the data packet;

[0271] A fusion module 1103, configured to fuse correct bytes in data packets corresponding to the Internet of Things node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes;

[0272] A fusion demodulation module 1104, configured to demodulate a data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the fused correct bytes.

[0273] In some embodiments, the server communication module 1101 receives a data packet of an Internet of Things node forwarded by a base station and information about correct bytes in the data packet. At this time, the correct byte detection module 1102 obtains correct bytes in the data packet from the information of the server communication module 1101.

[0274] In some embodiments, the correct byte detection module includes:

[0275] A detection model acquisition module that acquires an error code byte detection model;

[0276] A byte feature acquisition module for acquiring the byte features of each received byte in the data packet;

[0277] A detection processing module for processing the byte features of each received byte using the error code byte detection model to obtain a detection result of whether each received byte is a correct byte;

[0278] A result determination module for obtaining the correct bytes in the data packet based on the detection results of whether each received byte is a correct byte.

[0279] In some embodiments, the detection model acquisition module includes:

[0280] A wizard byte extraction module for extracting wizard bytes from the data packet at a predetermined interval;

[0281] A wizard byte feature acquisition module for acquiring the byte features of each wizard byte;

[0282] A wizard byte determination module for determining whether each wizard byte is a correct byte;

[0283] A model training module for training a preset error code byte detection model using the byte features of each wizard byte as a training feature set and whether each wizard byte is a correct byte as the training label corresponding to each byte feature; obtaining the error code byte detection model.

[0284] In some embodiments, the wizard byte determination module compares each wizard byte with the pre-stored wizard byte content and determines whether each wizard byte is a correct byte according to the consistency of the comparison result.

[0285] In some embodiments, when the server communication module receives the data packet of the Internet of Things node forwarded by the base station, it also receives the signal quality information of each received byte of the data packet. At this time, the byte feature acquisition module determines the byte features of each received byte based on the signal quality information corresponding to each received byte.

[0286] In some embodiments, the signal quality information includes: the received signal strength of noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

[0287] In some embodiments, the byte feature acquisition module determines the noise power based on the received signal strength of the noise; determines the byte signal power of the received byte based on the received signal strength of the received byte and the noise power; determines the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength; and determines the byte feature of the received byte based on the noise power, the byte signal power, and the interference signal power.

[0288] In some embodiments, the detection model acquisition module further determines the error code byte detection model used last time as the acquired error code byte detection model when it determines that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, or when it determines that the difference between the signal interference state and the signal interference state of a single one when the error code byte detection model was used last time is within a predetermined range based on the signal quality information of each received byte.

[0289] In some embodiments, the apparatus further includes: a confirmation indication module, which is configured to generate a confirmation data packet when successfully demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the fused correct bytes. The confirmation data packet carries the Internet of Things node identifier and the data packet number. At this time, the server communication module also sends the confirmation data packet to two or more of the base stations. The confirmation data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

[0290] In some embodiments, the apparatus further includes: a retransmission indication module, which, when the demodulation of the data packet corresponding to the Internet of Things node identifier and the data packet identifier fails based on the fused correct bytes, obtains the identifier of the received byte for which the demodulation fails to obtain the byte identifier to be retransmitted; and generates a retransmission indication data packet. The retransmission indication data packet carries the Internet of Things node identifier, the data packet number, and the byte identifier to be retransmitted. At this time, the server communication module sends the retransmission indication data packet to two or more base stations to return a confirmation data packet. The retransmission indication data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet number.

[0291] For the specific limitations of the data packet processing apparatus, reference may be made to the limitations on the data packet processing method in the foregoing text, which will not be elaborated here. Each module in the foregoing data packet processing apparatus may be implemented in whole or in part by software, hardware, and their combination. The foregoing modules may be embedded in or independent of the processor in the computer device in the form of hardware, or may be stored in the memory of the computer device in the form of software, so as to facilitate the processor to call and execute the operations corresponding to the foregoing modules.

[0292] In one embodiment, an Internet of Things device, a base station, and a computer device are provided. The computer device may be a server, and their internal structural diagrams may be as shown in Figure 12 the figure. It includes a processor, a memory, and a network interface connected through a system bus. Among them, the processor is used to provide computing and control capabilities. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store relevant data. For example, when the device is an Internet of Things node, it is used to store data packets that have been sent to each base station but for which ACK feedback from the server has not been received yet. When the device is a base station, it is used to temporarily store relevant data that has been forwarded to the server. When the device is a server, it is used to store wizard bytes, an error byte detection model obtained from previous training, relevant data received from each base station, etc. The network interface is used to communicate with external devices through a network connection. When the computer program is executed by the processor, it implements a data packet processing method.

[0293] Those skilled in the art can understand that Figure 12 the structure shown in is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0294] In one embodiment, an Internet of Things device is provided, including a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements the steps of the data packet processing method in any one of the embodiments implemented by the Internet of Things node as described above.

[0295] In one embodiment, a base station is provided, including a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements the steps of the data packet processing method in any one of the embodiments implemented by the base station as described above.

[0296] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program. When the processor executes the computer program, it implements the steps of the data packet processing method in any one of the embodiments implemented by the server as described above.

[0297] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by the processor, it implements the steps of the data packet processing method in any one of the embodiments of the Internet of Things node, base station, and server as described above.

[0298] In one embodiment, a computer program product or a computer program is provided. The computer program product or the computer program includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the steps in the above method embodiments.

[0299] Those of ordinary skill in the art can understand that all or part of the processes of implementing the above method embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the above method embodiments. Among them, any reference to a memory, storage, database, or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memories. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.

[0300] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.

[0301] The above-described embodiments merely represent several implementation manners of the present application. Their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.

Claims

1. A data packet processing method, which is applied to a base station, and the method includes: Receiving a data packet uploaded by an Internet of Things device, and obtaining signal quality information of each received byte of the data packet. The data packet is a data packet obtained by inserting a wizard byte every predetermined byte into the data packet to be sent by the Internet of Things device. The content of the wizard byte is information content known to the Internet of Things device, the base station, and the server side. The data packet carries a data packet identifier, and the data packet identifier is used to uniquely identify the data packet; When the data packet reception is completed, obtaining the correct bytes in the data packet, obtaining information of the correct bytes in the data packet, and sending the received data packet and the information of the correct bytes in the data packet to the server, so that the server demodulates and restores the data packet to be sent by the Internet of Things device according to the data packets sent by two or more base stations and the correct bytes corresponding to each data packet; The obtaining the correct bytes in the data packet includes: Based on the signal quality information corresponding to each received byte, determining the byte characteristics of each received byte. The received bytes include wizard bytes and non-wizard bytes; Extracting wizard bytes from the data packet every other predetermined byte; comparing each wizard byte with the pre-stored content of the wizard byte, and determining whether each wizard byte is a correct byte according to the consistency of the comparison result; using the byte characteristics of each wizard byte as a training feature set, and whether each wizard byte is a correct byte as a training label corresponding to each byte characteristic, training a preset error code byte detection model to obtain an error code byte detection model; Using the error code byte detection model to process the byte characteristics of each non-wizard byte to obtain a detection result of whether each received byte is a correct byte; Based on the detection result of whether each received byte is a correct byte, obtaining the correct bytes in the data packet.

2. The method according to claim 1, characterized in that, The method further includes: Sending the signal quality information of each received byte to the server.

3. The method according to claim 1, wherein: The signal quality information includes received signal strength.

4. The method according to claim 1, wherein: After obtaining the signal quality information of the received byte, the method further includes the step of storing the signal quality information into a signal quality information array.

5. The method according to claim 1, wherein The signal quality information includes: received signal strength of noise, received signal strength of the received byte, interference signal strength of the received byte, based on the signal quality information corresponding to each received byte; The determining the byte characteristics of each received byte includes: Based on the received signal strength of noise, determining the noise power; Based on the received signal strength of the received byte and the noise power, determining the byte signal power of the received byte; Based on the noise power, the byte signal power, and the interference signal strength of the received byte, determining the interference signal power of the received byte; Based on the noise power, the byte signal power, and the interference signal power, determining the byte characteristics of the received byte.

6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: When it is determined that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, determining the error code byte detection model used last time as the obtained error code byte detection model.

7. The method according to any one of claims 1 to 5, characterized in that The method further includes: Receiving a retransmission indication data packet sent by a server, where the retransmission indication data packet carries an Internet of Things (IoT) node identifier, a data packet number, and a byte identifier to be retransmitted; forwarding the retransmission indication data packet to the IoT node corresponding to the IoT node identifier, where the retransmission indication data packet is used to instruct the IoT node corresponding to the IoT node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet corresponding to the data packet number.

8. The method according to any one of claims 1 to 5, characterized in that The method further includes: Receiving an acknowledgment data packet sent by a server, where the acknowledgment data packet carries an IoT node identifier and a data packet number, and forwarding the acknowledgment data packet to the IoT node corresponding to the IoT node identifier, where the acknowledgment data packet is used to instruct the physical network node corresponding to the IoT node identifier to delete the data packet corresponding to the data packet number.

9. The method according to claim 5, wherein Determining the byte feature of the pilot byte based on the noise power, the byte signal power, and the interference signal power includes: Use the formula to determine the byte characteristics of the wizard byte; Among them, i represents the i-th byte in the data packet, and SINR i represents the byte feature of byte i, represents the byte signal power of the byte, represents the interference signal power of byte i, represents the noise power.

10. A data packet processing method, which is applied to a server, and the method includes: Receiving a data packet of an IoT node forwarded by a base station and signal quality information of each received byte of the data packet, where the data packet carries an IoT node identifier and a data packet identifier, the data packet is a data packet after inserting pilot bytes at every predetermined byte in the data packet to be sent by the IoT node, the content of the pilot byte is information content known to the IoT device, the base station, and the server side, and the data packet identifier is used to uniquely identify the data packet to be sent; Obtaining correct bytes in the data packet, where the correct bytes are determined according to the pilot bytes in the data packet; Fusing the correct bytes in the data packets corresponding to the IoT node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes; Demodulating the data packet corresponding to the IoT node identifier and the data packet identifier based on the fused correct bytes; The obtaining the correct bytes in the data packet includes: Determining the byte feature of each received byte based on the signal quality information corresponding to each received byte, where the received bytes include pilot bytes and non-pilot bytes; Extracting pilot bytes from the data packet at every predetermined byte interval; comparing each pilot byte with the pre-stored pilot byte content, and determining whether each pilot byte is a correct byte according to the consistency of the comparison result; using the byte features of each pilot byte as a training feature set, and whether each pilot byte is a correct byte as a training label corresponding to each byte feature, training a preset error byte detection model to obtain the error byte detection model; Processing the byte features of each non-pilot byte by using the error byte detection model to obtain a detection result of whether each received byte is a correct byte; Obtaining the correct bytes in the data packet based on the detection results of whether each received byte is a correct byte.

11. The method according to claim 10, wherein The signal quality information includes: the received signal strength of noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

12. The method according to claim 11, wherein Determine the byte characteristics of each of the received bytes based on the signal quality information corresponding to each of the received bytes, including: Determine the noise power based on the received signal strength of the noise; Determine the byte signal power of the received byte based on the received signal strength of the received byte and the noise power; Determine the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength of the received byte; Determine the byte characteristics of the received byte based on the noise power, the byte signal power, and the interference signal power.

13. The method according to claim 10, wherein The method further includes: When it is determined that the signal interference state is within a predetermined interference range based on the signal quality information of each of the received bytes, determine the error code byte detection model used last time as the obtained error code byte detection model.

14. The method according to any one of claims 10 to 13, characterized in that The method further includes: When successfully demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the correctly fused bytes, return an acknowledgment data packet to two or more of the base stations. The acknowledgment data packet carries the Internet of Things node identifier and the data packet number, and the acknowledgment data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

15. The method according to any one of claims 10 to 13, characterized in that, The method further includes: When the demodulation of the data packet corresponding to the Internet of Things node identifier and the data packet identifier fails based on the correctly fused bytes, obtain the identifier of the received byte for which the demodulation fails to obtain the byte identifier to be retransmitted; generate a retransmission indication data packet, where the retransmission indication data packet carries the Internet of Things node identifier, the data packet number, and the byte identifier to be retransmitted; send the retransmission indication data packet to two or more base stations to return an acknowledgment data packet base station, and the retransmission indication data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet number.

16. The method according to claim 12, wherein The determination of the byte characteristics of the pilot byte based on the noise power, the byte signal power, and the interference signal power includes: Using the formula to determine the byte characteristics of the wizard byte; where i represents the i-th byte in the data packet, and SINR i represents the byte feature of byte i, represents the byte signal power of the byte, represents the interference signal power of byte i, represents the noise power.

17. A data packet processing device, which is applied to a base station, and the device includes: A base station first communication module, configured to receive a data packet uploaded by an Internet of Things device. The data packet is a data packet after inserting a pilot byte at every predetermined byte in the data packet to be sent by the Internet of Things device. The content of the pilot byte is information content known to the Internet of Things device, the base station, and the server side. The data packet carries a data packet identifier, and the data packet identifier is used to uniquely identify the data packet; A signal quality information acquisition module, configured to acquire the signal quality information of each received byte of the data packet; The base station detection module is used to determine the byte features of each received byte based on the signal quality information corresponding to each received byte. The received bytes include pilot bytes and non-pilot bytes. Every predetermined number of bytes, a pilot byte is extracted from the data packet. Each of the pilot bytes is compared with the pre-stored pilot byte content, and whether each of the pilot bytes is a correct byte is determined according to the consistency of the comparison result. Using the byte features of each of the pilot bytes as a training feature set, and whether each of the pilot bytes is a correct byte as the training label corresponding to each byte feature, a preset error code byte detection model is trained to obtain an error code byte detection model. The error code byte detection model is used to process the byte features of each of the non-pilot bytes to obtain the detection result of whether each received byte is a correct byte. Based on the detection results of whether each received byte is a correct byte, the correct bytes in the data packet are obtained. The second base station communication module is used to, when the data packet reception is completed, send the received data packet and the information of the correct bytes in the data packet to the server, so that the server demodulates and restores the data packet to be sent by the Internet of Things device according to the data packets sent by two or more base stations and the correct bytes corresponding to each data packet.

18. The device according to claim 17, wherein The signal quality information includes the received signal strength of noise, the received signal strength of the received byte, and the interference signal strength of the received byte.

19. The device according to claim 17, characterized in that, The signal quality information acquisition module is used to store the signal quality information into a signal quality information array.

20. The device according to claim 17, wherein The base station detection module is further used to, when it is determined that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, or when it is determined that the difference between the signal interference state based on the signal quality information of each received byte and the signal interference state of a previous use of the error code byte detection model is within a predetermined range, determine the error code byte detection model used last time as the obtained error code byte detection model.

21. The device according to claim 17, wherein The second base station communication module is further used to receive a retransmission instruction data packet sent by the server. The retransmission instruction data packet carries an Internet of Things node identifier, a data packet number, and a byte identifier to be retransmitted. The first base station communication module is further used to forward the retransmission instruction data packet to the Internet of Things node corresponding to the Internet of Things node identifier. The retransmission instruction data packet is used to instruct the Internet of Things node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the byte identifier to be retransmitted in the data packet with the corresponding data packet number.

22. The device according to claim 17, wherein The second base station communication module is further used to receive an acknowledgment data packet sent by the server. The acknowledgment data packet carries an Internet of Things node identifier and a data packet number. The first base station communication module is further used to forward the acknowledgment data packet to the Internet of Things node corresponding to the Internet of Things node identifier. The acknowledgment data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet with the corresponding data packet number.

23. The device according to claim 18, wherein: The base station detection module is configured to determine the noise power based on the received signal strength of the noise; determine the byte signal power of the received byte based on the received signal strength of the received byte and the noise power; determine the interference signal power of the received byte based on the noise power, the byte signal power, and the interference signal strength; and determine the byte feature of the received byte based on the noise power, the byte signal power, and the interference signal power.

24. The device according to claim 23, characterized in that, The base station detection module is further configured to use the formula to determine the byte feature of the wizard byte; Among them, i represents the i-th byte in the data packet, and SINR i represents the byte feature of byte i, represents the byte signal power of the byte, represents the interference signal power of byte i, represents the noise power.

25. A data packet processing device, which is applied to a server, and the device includes: A server-side communication module, configured to receive a data packet of an Internet of Things node forwarded by a base station and signal quality information of each received byte of the data packet, where the data packet carries an Internet of Things node identifier and a data packet identifier, the data packet is a data packet obtained by inserting a wizard byte at every predetermined byte in a data packet to be sent by the Internet of Things node, the content of the wizard byte is information content known to the Internet of Things device, the base station, and the server side, and the data packet identifier is used to uniquely identify the data packet to be sent; A correct byte detection module, configured to determine the byte feature of each received byte based on the signal quality information corresponding to each received byte, where the received bytes include wizard bytes and non-wizard bytes; extract wizard bytes from the data packet every other predetermined byte; compare each wizard byte with the pre-stored content of the wizard byte, and determine whether each wizard byte is a correct byte according to the consistency of the comparison result; use the byte feature of each wizard byte as a training feature set, and whether each wizard byte is a correct byte as a training label corresponding to each byte feature to train a preset error code byte detection model to obtain the error code byte detection model; use the error code byte detection model to process the byte feature of each received byte to obtain a detection result of whether each non-wizard byte is a correct byte; and obtain correct bytes in the data packet based on the detection result of whether each received byte is a correct byte; A fusion module, configured to fuse correct bytes in data packets corresponding to the Internet of Things node and the data packet identifier forwarded by two or more base stations to obtain fused correct bytes; A fusion demodulation module, configured to demodulate a data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the fused correct bytes.

26. The device according to claim 25, wherein: The correct byte detection module is further configured to, when determining that the signal interference state is within a predetermined interference range based on the signal quality information of each received byte, or when determining that the difference between the signal interference state and the signal interference state of a previous use of the error code byte detection model is within a predetermined range based on the signal quality information of each received byte, determine the error code byte detection model used last time as the obtained error code byte detection model.

27. The device according to claim 25, wherein, The device further includes a confirmation indication module; The confirmation indication module is configured to generate a confirmation data packet when successfully demodulating the data packet corresponding to the Internet of Things node identifier and the data packet identifier based on the correctly fused bytes. The confirmation data packet carries the Internet of Things node identifier and the data packet number. The server communication module is further configured to send the confirmation data packet to two or more of the base stations. The confirmation data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to delete the data packet corresponding to the data packet number.

28. The device according to claim 25, characterized in that, The device further includes: a retransmission indication module. The retransmission indication module is further configured to, when the demodulation of the data packet corresponding to the Internet of Things node identifier and the data packet identifier fails based on the correctly fused bytes, obtain the identifier of the received bytes with demodulation failure to obtain the identifier of the bytes to be retransmitted; and generate a retransmission indication data packet, which carries the Internet of Things node identifier, the data packet number, and the identifier of the bytes to be retransmitted. The server communication module is further configured to send the retransmission indication data packet to two or more base stations that return confirmation data packets. The retransmission indication data packet is used to instruct the physical network node corresponding to the Internet of Things node identifier to retransmit the byte data corresponding to the identifier of the bytes to be retransmitted in the data packet number.

29. The device according to any one of claims 25 to 28, characterized in that, The signal quality information includes: the received signal strength of the noise, the received signal strength of the received bytes, and the interference signal strength of the received bytes.

30. The device according to claim 29, characterized in that, The correct byte detection module is configured to determine the noise power based on the received signal strength of the noise; determine the byte signal power of the received bytes based on the received signal strength of the received bytes and the noise power; determine the interference signal power of the received bytes based on the noise power, the byte signal power, and the interference signal strength; and determine the byte characteristics of the received bytes based on the noise power, the byte signal power, and the interference signal power.

31. The device according to claim 30, characterized in that, The correct byte detection module is further configured to use the formula to determine the byte feature of the wizard byte; where i represents the i-th byte in the data packet, and SINR i represents the byte feature of byte i, represents the byte signal power of the byte, represents the interference signal power of byte i, represents the noise power.

32. A base station includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.

33. A computer device includes a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, the steps of the method according to any one of claims 1 to 16 are implemented.

34. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 16 are implemented.

35. A computer program product comprising a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 16 are implemented.

Citation Information

Patent Citations

  • METHOD FOR PROCESSING A RECEIVED DATA IN AN IoT NETWORK

    KR1020170115356A