CN113392667B - Data transmission method of reader-writer, data receiver and storage medium - Google Patents

Data transmission method of reader-writer, data receiver and storage medium Download PDF

Info

Publication number
CN113392667B
CN113392667B CN202110944828.2A CN202110944828A CN113392667B CN 113392667 B CN113392667 B CN 113392667B CN 202110944828 A CN202110944828 A CN 202110944828A CN 113392667 B CN113392667 B CN 113392667B
Authority
CN
China
Prior art keywords
packet
data packet
data
specific time
time sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110944828.2A
Other languages
Chinese (zh)
Other versions
CN113392667A (en
Inventor
赵鹏飞
梁甲昌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Chengcheng Information Co ltd
Original Assignee
Chainway Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chainway Information Technology Co ltd filed Critical Chainway Information Technology Co ltd
Priority to CN202110944828.2A priority Critical patent/CN113392667B/en
Publication of CN113392667A publication Critical patent/CN113392667A/en
Application granted granted Critical
Publication of CN113392667B publication Critical patent/CN113392667B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/77Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for interrogation

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The application discloses a data transmission method of a reader-writer, a data receiver and a storage medium. The method comprises the following steps: a receiving end receives a data packet from a transmitting end, wherein the data packet comprises a first specific time sequence; the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence; if the last data packet is not received, the receiving end stores the first specific time sequence into the supplementary transmission buffer area; and scanning the supplementary transmission buffer area at regular time, and sending a supplementary transmission command to the sending end when the supplementary transmission buffer area is determined to contain the specific time sequence with the storing time length being greater than or equal to the overtime time length, wherein the supplementary transmission command contains the specific time sequence with the storing time length being greater than or equal to the overtime time length. By adopting the mode, the receiving end sends the receiving confirmation message once without sending a data packet by the sending end, thereby greatly reducing data interaction, saving bandwidth and being not easy to cause blockage under the condition of large data volume. Meanwhile, retransmission of packet loss data can be realized.

Description

Data transmission method of reader-writer, data receiver and storage medium
Technical Field
The invention relates to the technical field of radio frequency identification, in particular to a data transmission method of a reader-writer, a data receiver and a storage medium.
Background
Radio Frequency Identification (RFID) is an automatic Identification technology and is a key technology for constructing the internet of things. The RFID system mainly comprises a reader-writer and a transponder. The transponder mainly comprises an antenna, a coupling element and a chip, generally, tags are used as the transponder, each tag has a unique electronic product code, and the tags are attached to an object to identify a target object. The reader-writer, or reader, mainly consists of an antenna, a coupling element and a chip, is a device for reading and/or writing label information, and can be designed as a mobile handheld device or a fixed device.
With the development of Ultra High Frequency (UHF) technology becoming more mature, the number of tags that can be checked by a reader/writer per second is greatly increased. In some application scenarios, data can only be transmitted over the air transmission channel. Due to the defects of the air data transmission protocol, for example, if a large number of devices with the same frequency exist in an external field environment, other objects are shielded, or electronic interference and other factors are caused, the data transmission is abnormally interrupted, and thus the data transmission loss can be caused.
For the problem of data transmission loss, generally, each time a receiving end receives a data packet, the receiving end sends an acknowledgment receipt message to the sending end, so as to acknowledge the receipt of the data, and no packet loss occurs. When a certain set time is exceeded, if the sending end does not receive the receiving confirmation message sent by the receiving end, packet loss can be confirmed, and data retransmission is triggered. This way no problem arises when the amount of data is small. When the data volume is large, the adoption of the retransmission mechanism causes jamming, which causes data accumulation and transmission paralysis.
Disclosure of Invention
The embodiment of the application provides a data transmission method of a reader-writer, a data receiver and a storage medium. The occurrence of jamming can be reduced under the condition of large data volume.
In view of this, a first aspect of the present application provides a data transmission method for a reader/writer, where the method includes: a receiving end receives a data packet from a transmitting end, wherein the data packet comprises a first specific time sequence; the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence; if the last data packet is not received, the receiving end stores the first specific time sequence into a supplementary transmission buffer area; and scanning the supplementary transmission buffer area at regular time, and sending a supplementary transmission command to a sending end when the supplementary transmission buffer area is determined to contain a specific time sequence with the storing time length being more than or equal to the overtime time length, wherein the supplementary transmission command contains the specific time sequence with the storing time length being more than or equal to the overtime time length.
Therefore, each data packet includes the first specific timing sequence and the second specific timing sequence, and after receiving the data packet, the receiving end can determine whether to receive the previous data packet of the data packet according to the first specific timing sequence in the data packet. The first particular timing may be stored in a complementary transmission buffer when the last packet is not received. Therefore, when the transmission supplementing buffer zone contains a specific time sequence with the storage duration being greater than or equal to the overtime duration, the transmission supplementing command can be sent to the sending end. Therefore, the transmitting end can transmit the transmission supplementing packet after receiving the transmission supplementing command, and the transmission supplementing of the packet loss data packet is realized. By adopting the mode, the receiving end can send the receiving confirmation message once without sending a data packet by the sending end, thereby greatly reducing data interaction, saving bandwidth and being not easy to cause blockage under the condition of large data volume. Meanwhile, retransmission of packet loss data can be realized.
Optionally, with reference to the first aspect, in a possible implementation manner, the data packet further includes a second specific timing sequence, when the data packet is not a start packet, the first specific timing sequence of the data packet is a specific timing sequence of a previous data packet of the data packet, and the second specific timing sequence of the data packet is a specific timing sequence of the data packet itself, where the method further includes: and when the data packet is received, if the second specific time sequence of the data packet is determined to be the same as the specific time sequence contained in the supplementary transmission buffer area, clearing the same specific time sequence in the supplementary transmission buffer area. When the data packet is not the initial packet, the second specific time sequence of the data packet is the specific time sequence of the data packet itself, and the first specific time sequence of the data packet is the specific time sequence of the previous data packet. If the second specific time sequence is determined to be the same as the specific time sequence contained in the supplementary transmission buffer, the currently received data packet is the supplementary transmission packet. The same particular timing may be cleared from the complementary transmission buffer after the complementary transmission packet is received. Therefore, the supplementary transmission buffer can be recycled, and the data storage resource of the receiving end can be saved.
It can be understood that, when the data packet received by the receiving end is the supplementary transmission packet, whether the last data packet of the supplementary transmission packet is received can also be determined according to the first specific time sequence of the supplementary transmission packet. If the last data packet of the complementary transmission packet is not received, the first specific time sequence of the complementary transmission packet can be stored in the complementary transmission buffer area. And then sending a supplementary transmission instruction. Therefore, the situation that a plurality of continuous data packets are lost can be dealt with, and the data packets can be traced from the received supplementary transmission packets one by one until all the lost data packets are received in a supplementary transmission mode.
Optionally, with reference to the first aspect, in a possible implementation manner, the data packet further includes a second specific timing sequence, and when the data packet is an initial packet, the first specific timing sequence and the second specific timing sequence of the data packet are the same and both are specific timing sequences of the data packet itself, where the method further includes: and when the supplementary transmission packet of the previous round of data inventory period is received, discarding the supplementary transmission packet of the previous data inventory period. Therefore, when a new round of data inventory period starts, the supplementary transmission packet of the previous data inventory period is discarded, so that the data in the previous round of data inventory period can be prevented from being mixed into the current round of data inventory period, and the interference on the current round of data inventory is avoided.
Optionally, with reference to the first aspect, in a possible implementation manner, after receiving the start packet, the method further includes: recording a second specific time sequence of the last non-supplementary transmission packet received before the initial packet is received, recording the time of receiving the initial packet, and starting timing from the time of receiving the initial packet to obtain a timing duration; if the second specific time sequence of the received target data packet is greater than the second specific time sequence of the last non-supplementary transmission packet, judging that the target data packet is a supplementary transmission packet of the last data checking period; and if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to a set duration threshold, determining that the target data packet is a supplementary transmission packet of the previous data checking period. When the second specific time sequence of the received target data packet is greater than or equal to the second specific time sequence of the last non-complementary transmission packet, it can be said that the target data packet belongs to the last data counting period, and then the target data packet can be directly discarded. If the difference between the second specific time sequence and the timing duration is greater than or equal to the set duration threshold, it indicates that the second specific time sequence is far away from the initial packet, and does not belong to the current data inventory cycle, or can be directly discarded.
Optionally, with reference to the first aspect, in a possible implementation manner, the method further includes: when the time length of the data packet which is not received by the receiving end is greater than or equal to the preset longest receiving time, the receiving end sends a heartbeat packet to the sending end, wherein the heartbeat packet comprises a second specific time sequence of a last non-supplementary transmission packet which is received by the receiving end before the time length of the data packet which is not received by the receiving end, so as to indicate the sending end to confirm whether the data packet is not sent after the last data packet is sent; if the receiving end receives the response packet of the heartbeat packet from the sending end, the receiving end determines that the sending end is not disconnected, and when a first specific time sequence contained in a data packet received by the receiving end is a second specific time sequence of the last non-supplementary transmission packet, the receiving end determines that the received data packet is a supplementary transmission packet; if the receiving end does not receive the response packet of the heartbeat packet within the set time, the receiving end sends the heartbeat packet to the sending end once every other preset time, and if the number of the sent heartbeat packets reaches the preset number of the heartbeat packets or the response packet of the heartbeat packet is received, the sending of the heartbeat packet is stopped.
If the data packet is not received for a long time, the receiving end needs to determine whether the data packet is not received due to the disconnection of the transmitting end or the data packet is not received due to the data packet loss. The receiving end may send a heartbeat packet to the sending end, and the sending end may determine whether a data packet is not sent after sending the last data packet according to the heartbeat packet. If the sending end determines that the data packet is sent after the last data packet is sent, the data packet which is not received by the receiving end can be retransmitted. To avoid data loss. Meanwhile, when the number of heartbeat packets sent by the receiving end reaches the preset number of heartbeat packets, if the response packet of the heartbeat packet is not received, the receiving end can confirm that the sending end is disconnected and stop sending the heartbeat packet. If the receiving end receives the response packet of the heartbeat packet, the receiving end indicates that the sending end is not disconnected, and the sending of the heartbeat packet is stopped.
Optionally, with reference to the first aspect, in a possible implementation manner, the second specific timing in the data packet is determined by the sending end, and the rule for determining the second specific timing of the data packet includes: the second specific timing of the start packet is 0; when the second specific time sequence of the previous data packet is A and the time interval between the data packet sent in the current one millisecond and the previous data packet is B milliseconds, if the sending end sends a data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B; if the sending end sends C data packets in the current one millisecond, the second specific time sequence of the data packets sent in the current one millisecond is from A + B to A + B + C-1 in sequence, wherein A is larger than or equal to 1, B is larger than 1, C is larger than 1, and A, B, C are integers.
The second specific time sequence of the data packet is positively correlated with the timing duration from the start of the timing of the initial packet, so that the second specific time sequence of each data packet is ensured not to conflict, the second specific time sequence of each data packet is unique, the first specific data of each data packet belongs to the specific time sequence of the previous data packet, and namely the first specific time sequence of each data packet is the second specific time sequence of the previous data packet. So that it can be queried whether the last packet was received according to the first specific timing of the packet. In order to achieve the above effect, the second specific timing of the start packet may be set to be 0, and when a plurality of data packets are transmitted within one millisecond, the specific timing of the plurality of data packets transmitted within one millisecond may be sequentially increased, so as to ensure that the second specific timing of each data packet is not the same and is ordered.
Optionally, with reference to the first aspect, in a possible implementation manner, when the sender sends C data packets in a current one millisecond, and a time interval between sending a next data packet and the current data packet is D milliseconds, the rule for determining the second specific timing sequence of the data packet further includes: if A + B + D > A + B + C-1, the second specific time sequence of the next data packet is A + B + D; if A + B + D is less than or equal to A + B + C-1, the second specific timing of the next packet is A + B + C, where D > 1 and D is an integer. Thus, after a plurality of data packets are transmitted within one second, it can still be ensured that the second specific timing of each data packet is not the same.
Optionally, with reference to the first aspect, in a possible implementation manner, when the timing duration of the timing scanning on the supplementary transmission buffer is greater than the timeout duration, and the receiving end stores the first specific time sequence in the supplementary transmission buffer, the method further includes: and sending the transmission supplementing command to the sending end, wherein the transmission supplementing command comprises a first specific time sequence of the data packet. Therefore, the scanning of the same specific time sequence in continuous scanning can be reduced, the probability of sending a plurality of supplementary transmission commands is reduced, frequent sending of supplementary transmission commands is avoided, data interaction is reduced, and bandwidth is saved. Meanwhile, when the first specific time sequence is stored in the supplementary transmission buffer area, the supplementary transmission command is sent to the sending end, so that the supplementary transmission command can be sent in advance, the supplementary transmission command can be sent in advance when single-channel transmission is facilitated, and a supplementary transmission packet can be received in advance to accelerate the data transmission process. And data blockage is avoided.
After the first specific time sequence is stored in the transmission supplementing buffer area, when the storage duration of the first specific time sequence is determined to be greater than or equal to the timeout duration, a second transmission supplementing command can be sent to the sending end. The success probability of the supplement transmission command received by the sending end can be improved by sending the supplement transmission command twice, and the robustness of data transmission can be improved. Meanwhile, if the receiving end receives the supplementary transmission packet twice or more, only the first supplementary transmission packet is reserved.
A second aspect of the present application provides a data receiver comprising: the receiving and sending module is used for receiving a data packet, wherein the data packet comprises a first specific time sequence; the processing module is used for judging whether the transceiver module receives the last data packet of the data packets according to the first specific time sequence; the cache module is used for storing the first specific time sequence into a supplementary transmission buffer area when the last data packet is not received; and the scanning module is used for scanning the supplementary transmission buffer area at regular time, and when the supplementary transmission buffer area is determined to contain a specific time sequence with the storing duration being greater than or equal to the overtime duration, the scanning module instructs the transceiver module to send a supplementary transmission command to the sending end, wherein the supplementary transmission command contains the specific time sequence with the storing duration being greater than or equal to the overtime duration.
Optionally, with reference to the second aspect, in a possible implementation manner, the data packet further includes a second specific timing sequence, when the data packet is not a start packet, the first specific timing sequence of the data packet is a specific timing sequence of a last data packet of the data packet, and the second specific timing sequence of the data packet is a specific timing sequence of the data packet itself, and the cache module is further configured to, when the data packet is received, clear the same specific timing sequence in the retransmission buffer if it is determined that the second specific timing sequence of the data packet is the same as the specific timing sequence included in the retransmission buffer.
Optionally, with reference to the second aspect, in a possible implementation manner, the data packet further includes a second specific time sequence, when the data packet is an initial packet, the first specific time sequence and the second specific time sequence of the data packet are the same and are both specific time sequences of the data packet itself, and the cache module is further configured to start a new round of data inventory period after the transceiver module receives the initial packet, clear the supplementary transmission buffer, and discard the supplementary transmission packet of a previous round of data inventory period when the supplementary transmission packet of the previous round of data inventory period is received.
Optionally, with reference to the second aspect, in a possible implementation manner, after the start packet is received, the processing module is further configured to record a second specific time sequence of a last non-supplementary transmission packet received before the start packet is received, record a time when the start packet is received, and start timing from the time when the start packet is received, so as to obtain a timing duration; if the second specific time sequence of the received target data packet is greater than or equal to the second specific time sequence of the last non-supplementary transmission packet, determining that the target data packet is a supplementary transmission packet of the last data inventory period; and if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to a set duration threshold, determining that the target data packet is a supplementary transmission packet of the previous data checking period.
Optionally, with reference to the second aspect, in a possible implementation manner, when a duration that the transceiver module does not receive a data packet is greater than or equal to a preset longest receiving time, the transceiver module sends a heartbeat packet to a sending end, where the heartbeat packet includes a second specific timing sequence of a last non-complementary transmission packet received by the transceiver module before the duration that the transceiver module does not receive the data packet, so as to indicate that the sending end determines whether the data packet is not sent after sending the last data packet; if the transceiver module receives a response packet of a heartbeat packet from the sending end, the transceiver module determines that the sending end is not disconnected, and when a first specific time sequence contained in a data packet received by the transceiver module is a second specific time sequence of a last data packet received before the time length of the data packet which is not received, the transceiver module determines that the data packet is a supplementary transmission packet; if the transceiver module does not receive the response packet of the heartbeat packet within the set time, the transceiver module sends the heartbeat packet to the sending end once every other preset time, and if the number of the sent heartbeat packets reaches the preset number of the heartbeat packets or the response packet of the heartbeat packet is received, the sending of the heartbeat packet is stopped.
Optionally, with reference to the second aspect, in a possible implementation manner, the second specific timing in the data packet is determined by the sending end, and the rule for determining the second specific timing of the data packet includes: the second specific timing of the start packet is 0; when the second specific time sequence of the last data packet is A and the time interval between the data packet sent in the current one millisecond and the last data packet is B milliseconds, if the sending end only sends one data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B; if the sending end sends C data packets within the current one millisecond, the second specific time sequence of the data packets sent within the current one millisecond is from A + B to A + B + C-1 in sequence, wherein A is larger than or equal to 1, B is larger than 1, C is larger than 1, and A, B, C are integers.
Optionally, with reference to the second aspect, in a possible implementation manner, when the sending end sends C data packets within a current one millisecond, and a time interval between a next data packet and the sending of the current data packet is D milliseconds, the rule for determining the second specific time sequence of the data packet further includes: if A + B + D > A + B + C-1, the second specific time sequence of the next data packet is A + B + D; if A + B + D is less than or equal to A + B + C-1, the second specific timing of the next packet is A + B + C, where D > 1 and D is an integer.
Optionally, with reference to the second aspect, in a possible implementation manner, when the timing duration of the timing scanning on the supplementary transmission buffer is greater than the timeout duration, and the receiving end stores the first specific time sequence in the supplementary transmission buffer, the transceiver module is further configured to: and sending the transmission supplementing command to the sending end, wherein the transmission supplementing command comprises a first specific time sequence of the data packet.
A third aspect of the present application provides a data receiver, which includes a processor, a memory, and a communication interface, where the memory stores program instructions, and when the program instructions are executed by the processor, the data receiver implements the data transmission method of the reader/writer as described in any one of the implementations of the first aspect to the first aspect of the present application.
A fourth aspect of the present application provides a computer-readable storage medium, which stores program instructions that, when executed on a computer, cause the computer to execute the data transmission method of a reader/writer as described in any one of the implementation manners of the first aspect to the first aspect of the present application.
The application provides a data transmission method of a reader-writer, a data receiver and a storage medium. The data transmission method of the reader-writer comprises the following steps: a receiving end receives a data packet from a transmitting end, wherein the data packet comprises a first specific time sequence; the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence; if the last data packet is not received, the receiving end stores the first specific time sequence into a supplementary transmission buffer area; and scanning the supplementary transmission buffer area at regular time, and sending a supplementary transmission command to a sending end when the supplementary transmission buffer area is determined to contain a specific time sequence with the storing time length being more than or equal to the overtime time length, wherein the supplementary transmission command contains the specific time sequence with the storing time length being more than or equal to the overtime time length.
Therefore, each data packet includes the first specific timing sequence, and after receiving the data packet, the receiving end can determine whether to receive the last data packet of the data packet according to the first specific timing sequence in the data packet. The first particular timing may be stored in a complementary transmission buffer when the last packet is not received. Therefore, when the transmission supplementing buffer zone contains a specific time sequence with the storage duration being greater than or equal to the overtime duration, the transmission supplementing command can be sent to the sending end. Therefore, the transmitting end can transmit the transmission supplementing packet after receiving the transmission supplementing command, and the transmission supplementing of the packet loss data packet is realized. By adopting the mode, the receiving end can send the receiving confirmation message once without sending a data packet by the sending end, thereby greatly reducing data interaction, saving bandwidth and being not easy to cause blockage under the condition of large data volume. Meanwhile, retransmission of packet loss data can be realized.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a scene diagram of a reader/writer inventory tag according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a data transmission method of a reader/writer according to an embodiment of the present disclosure;
fig. 3 is a schematic flowchart of a data transmission method of a reader/writer according to an embodiment of the present disclosure;
fig. 4 is a schematic flowchart of a data transmission method of a reader/writer according to an embodiment of the present disclosure;
fig. 5 is a functional block diagram of a data receiver according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a data receiver according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The term "and/or" appearing in the present application may be an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" in this application generally indicates that the former and latter related objects are in an "or" relationship.
The terms "first," "second," and the like in the description and in the claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Moreover, the terms "comprises," "comprising," and any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or modules is not necessarily limited to those steps or modules explicitly listed, but may include other steps or modules not expressly listed or inherent to such process, method, article, or apparatus.
The label herein refers to an RFID label, a radio frequency label, or an electronic label, and is simply referred to as a label (Tag). The Reader/writer, also referred to herein as Reader, may be a UHF Reader/writer. The tag inventory system herein is an RFID system. The technology of the embodiment of the application can be used in various fields such as logistics, retail and clothing.
Referring to fig. 1, fig. 1 provides a view of a reader/writer checking tags and implementing data transmission. The reader 10 of fig. 1 may have a large number of tags that need to be inventoried, and as shown in fig. 1, the tags that the reader reads and writes may include one or more of tag 20-1, tag 20-2, tag 20-3 … …, tag 20-N, and the like. In a physical distribution inventory system, there may be one or more multiple readers 10, and the multiple readers 10 individually inventory tags. After the reader-writer 10 checks the tags, the tags are packaged into a data packet, and the data packet is sent to the data receiver 30, so that the data receiver 30 serves as a data gathering center and can receive the tag data checked by all the reader-writers 10, and thus managers can clearly know the tags and goods checked in the whole logistics system.
In order to solve the problem of packet loss, the receiving end (data receiver 30) generally sends an acknowledgment message to the sending end (reader/writer 10) after receiving each packet, so as to acknowledge the receipt of the data without packet loss. When a certain set time is exceeded, if the sending end does not receive the receiving confirmation message sent by the receiving end, packet loss can be confirmed, and data retransmission is triggered. This way no problem arises when the amount of data is small. However, when the amount of data is large, due to the fact that a large amount of acknowledgement messages are sent, jamming occurs by adopting the data retransmission mechanism, and data accumulation is caused, so that transmission paralysis is caused.
Therefore, the present application provides a data transmission method for a reader/writer, please refer to fig. 2, the method includes:
s101, the receiving end receives a data packet from the sending end.
The receiving end receives a data packet from the transmitting end, wherein the data packet comprises a first specific time sequence and a second specific time sequence.
It should be noted that, when the data packet is a start packet, the first specific timing and the second specific timing are both specific timings of the start packet itself. When the data packet is not the initial packet, the first specific time sequence of the data packet is the specific time sequence of the last data packet of the data packet, and the second specific time sequence of the data packet is the specific time sequence of the data packet itself.
It should be noted that the specific timing (i.e., the second specific timing) of each packet is unique. When the data packet is not the start packet, the first specific timing of the data packet is the specific timing of the last data packet of the data packet. In this application, the previous data packet of the data packet is the previous data packet sent by the sending end before sending the data packet. The first specific timing of the data packet is the second specific timing of the last data packet.
S102, the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence.
And the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence. Specifically, after the receiving end receives the data packet, the receiving end may compare a first specific time sequence included in the data packet with a second specific time sequence included in a previously received data packet, and if it is determined that the second specific time sequence of the previously received data packet is the same as the first specific time sequence in the data packet, it indicates that the previously received data packet is a previous data packet of the data packet, and may determine that the previous data packet of the received data packet is the previous data packet.
S103, if the last data packet is not received, the receiving end stores the first specific time sequence into the supplementary transmission buffer area.
Referring to step S102, if it is determined that the second specific timing included in the previously received data packet is not the same as the first specific timing of the data packet, it indicates that the receiving end does not receive the previous data packet. And may account for the last packet loss. The last packet needs to be retransmitted.
The receiving end stores the first specific time sequence of the data packet into a supplementary transmission buffer area. And sending a retransmission supplementing instruction to the sending end at a proper time. The last packet lost may be retransmitted.
And S104, scanning the supplementary transmission buffer at regular time.
And scanning the supplementary transmission buffer at regular time. A timing duration may be determined. The supplementary transmission buffer is scanned once every other timing duration.
And S105, when the fact that the transmission supplementing buffer zone contains the specific time sequence with the storing duration being greater than or equal to the overtime duration is determined, transmitting a transmission supplementing command to the transmitting end.
It should be noted that, in step S103, when the first specific timing of the data packet is stored in the supplementary transmission buffer, the first specific timing stored in the supplementary transmission buffer is started to be clocked. When scanning the supplementary transmission buffer area every time, if the supplementary transmission buffer area is determined to contain a specific time sequence with the storing duration being greater than or equal to the overtime duration, sending a supplementary transmission command to the sending end, wherein the supplementary transmission command contains the specific time sequence with the storing duration being greater than or equal to the overtime duration.
It should be noted that it is possible that the transmitting end needs to wait for a period of time to receive the data packet after sending the data packet. The timeout duration is set to avoid the situation that the sending end has sent the data packet, but the receiving end has not received the data packet due to the time relationship. When scanning the transmission supplementing buffer area each time, if the transmission supplementing buffer area contains a specific time sequence with the storing duration being greater than or equal to the overtime duration, a transmission supplementing command is sent to the sending end. And the timing duration for scanning the supplementary transmission buffer area is longer than the overtime duration. Therefore, if the supplementary transmission buffer comprises a certain specific time sequence, when a scanning is carried out for one time, the specific time sequence which is not overtime is required to be abandoned, and the supplementary transmission command is not sent according to the specific time sequence which is not overtime for the time being. If the timeout period is greater than or equal to the timing period, the particular timing not timed out may be scanned multiple times, which may burden the receiver data processing. If the timing duration is longer than the timeout duration, it can be ensured that if a certain specific time sequence which is not overtime is scanned, a supplementary transmission command is not sent temporarily. The particular timing that is not timed out must have timed out the next time it is scanned. The retransmission command can be sent, so that the data processing amount of the receiver can be reduced, and the data processing efficiency can be improved.
In the method, each data packet comprises a first specific time sequence and a second specific time sequence, and after receiving the data packet, a receiving end can judge whether to receive the last data packet of the data packet according to the first specific time sequence in the data packet. The first particular timing may be stored in a complementary transmission buffer when the last packet is not received. Therefore, when the transmission supplementing buffer zone contains a specific time sequence with the storage duration being greater than or equal to the overtime duration, the transmission supplementing command can be sent to the sending end. Therefore, the transmitting end can transmit the transmission supplementing packet after receiving the transmission supplementing command, and the transmission supplementing of the packet loss data packet is realized. By adopting the mode, the receiving end can send the receiving confirmation message once without sending a data packet by the sending end, thereby greatly reducing data interaction, saving bandwidth and being not easy to cause blockage under the condition of large data volume. Meanwhile, retransmission of packet loss data can be realized.
In step S101, after the receiving end receives the data packet, the receiving end may further determine whether the data packet is a start packet. Different operations may be performed accordingly with respect to whether the received data packet is a start packet. Referring to fig. 3, a data transmission method of a reader/writer provided by the present application may further include:
and S111, the receiving end receives the data packet from the transmitting end.
The receiving end receives a data packet from the transmitting end. Please refer to step S101 for understanding, which is not described herein again.
S112, the receiving end judges whether the data packet is an initial packet.
The receiving end judges whether the data packet is an initial packet. Specifically, referring to the foregoing 101, if the data packet is a start packet, the first specific timing of the data packet is the same as the second specific timing. If the data packet is not the initial packet, the first specific timing sequence and the second specific timing sequence of the data packet are different.
Therefore, when the receiving end receives the data packet, it can determine whether the data packet is the initial packet according to whether the first specific time sequence and the second specific time sequence in the data packet are the same. If the receiving end determines that the first specific time sequence is the same as the second specific time sequence, the receiving end can determine that the data packet is a start packet. If the receiving end determines that the first specific time sequence is different from the second specific time sequence, the receiving end can determine that the data packet is not an initial packet.
And S113, when the second specific time sequence of the data packet is determined to be the same as the specific time sequence contained in the supplementary transmission buffer, clearing the same specific time sequence in the supplementary transmission buffer.
When the receiving end determines that the data packet is not the initial packet, if the second specific time sequence of the data packet is determined to be the same as the specific time sequence contained in the buffer area, the data packet is a supplementary transmission packet. When the retransmission packet is received, the same specific time sequence in the retransmission buffer can be cleared, and retransmission of a lost data packet can be completed. Therefore, the supplementary transmission buffer can be recycled, and the data storage resource of the receiving end can be saved.
Meanwhile, it should be noted that, when the data packet received by the receiving end is the supplementary transmission packet, whether the last data packet of the supplementary transmission packet is received may also be determined according to the first specific time sequence of the supplementary transmission packet, and the determining process is understood with reference to the step S102, which is not described herein again. If the last data packet of the complementary transmission packet is not received, the first specific time sequence of the complementary transmission packet can be stored in the complementary transmission buffer area. And then a supplementary transmission instruction can be sent. Therefore, the previous data packet which is not received can be obtained according to the currently received data packet in sequence. It is possible to cope with a case where a plurality of packets are continuously lost. The packets can be traced from the received supplementary transmission packets one by one until all the lost packets are received.
And S114, starting a new round of data checking period, emptying the supplementary transmission buffer area, and discarding the supplementary transmission packet of the previous data checking period when the supplementary transmission packet of the previous data checking period is received.
And when the receiving end determines that the data packet is the initial packet, starting a new round of data checking period and emptying the supplementary transmission buffer area. And after receiving the initial packet, if receiving the supplementary transmission packet of the previous data checking period, discarding the supplementary transmission packet of the previous data checking period. Therefore, the data in the previous round of data inventory period can be prevented from being mixed into the current round of data inventory period, and the interference on the current round of data inventory can be avoided.
Specifically, how to determine that the received data packet is the data packet of the previous data tick period may include, but is not limited to, the following two methods:
1) and if the second specific time sequence of the received target data packet is greater than the second specific time sequence of the last non-supplementary transmission packet, judging that the target data packet is a supplementary transmission packet of the last data inventory period.
And the receiving end records a second specific time sequence of the last non-supplementary transmission data packet received before the initial packet is received.
Since the second specific timing of the start packet is counted again when the start packet is received. Then the second specific timing of the received data packet of the current roulette period is not greater than the second specific timing of the last non-complementary transmission packet of the previous roulette period for a short time after the start packet is received. And the data packet of the previous round of data disk cycle does not have to be sent to the receiving end for a long time. Therefore, if it is determined that the second specific timing of the received destination packet is greater than or equal to the second specific timing of the last non-complementary transmission packet, it may be determined that the received destination packet is a packet of the previous round-trip-point period or a complementary transmission packet.
2) And if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to the set duration threshold, judging that the target data packet is a supplementary transmission packet of the previous data inventory period.
And starting timing from the time when the starting packet is received to obtain a timing duration.
If the difference between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to the set duration threshold, it may be determined that the received target data packet is a supplementary transmission packet of the previous data counting period. The second specific timing of the data packet due to the current round of the inventory cycle is positively correlated with the timing duration. The difference value between the data packet of the current round of inventory period and the timing time is smaller than a set time threshold. Therefore, when the difference between the second specific timing of the received target data packet and the timing duration is greater than or equal to the set duration threshold, the target data packet can be determined to be a supplementary transmission packet of the previous data counting period.
In the data transmission method of the reader-writer provided by the application, if the receiving end does not receive the data packet sent by the sending end for a long time, the receiving end can also send a heartbeat packet to the sending end, so that whether the data packet is not received because the sending end is disconnected or the sending end does not send the data packet can be confirmed. Therefore, the data transmission method provided by the present application may further include:
and S121, when the duration that the receiving end does not receive the data packet is longer than or equal to the preset longest receiving time, the receiving end sends a heartbeat packet to the sending end.
And when the time length for which the receiving end does not receive the data packet is greater than or equal to the preset longest receiving time, the receiving end sends a heartbeat packet to the sending end.
The heartbeat packet includes a second specific time sequence of a last non-supplementary transmission packet received by the receiving end before a time length of not receiving the data packet, so as to indicate the transmitting end to confirm whether the data packet is sent after the last non-supplementary transmission packet is sent.
It should be noted that, if the sending end receives the heartbeat packet, the sending end sends a response packet of the heartbeat packet to the receiving end. And the heartbeat packet contains a second specific time sequence of the last non-supplementary transmission packet received by the receiving end. The sending end may determine whether the sending end has sent the data packet after the sending end sends the last non-complementary transmission packet according to the second specific timing sequence of the last non-complementary transmission packet received by the receiving end. If the sending end sends the data packet after sending the last non-supplementary transmission packet, it indicates that the receiving end of the data packet does not receive the data packet and packet loss occurs, and supplementary transmission is needed.
S122, the receiving end judges whether a response packet of the heartbeat packet is received from the sending end.
The receiving end judges whether a response packet of the heartbeat packet is received from the sending end.
And S123, the receiving end determines that the sending end is not disconnected.
When a receiving end receives a response packet of a heartbeat packet from a sending end, the receiving end determines that the sending end is not disconnected. When the sender is not dropped, there are two situations.
First, referring to step S121, the sending end determines, according to a second specific timing sequence of a last non-complementary transmission packet received by the receiving end and included in the heartbeat packet, that the sending end only sends a response packet of the heartbeat packet to the receiving end after sending the last non-complementary transmission packet and when not sending a data packet.
Secondly, the sending end determines that the data packet is sent after the last non-supplementary transmission packet is sent according to a second specific time sequence of the last non-supplementary transmission packet received by the receiving end and contained in the heartbeat packet. It may be further determined that after sending the last non-complementary transmission packet, the sending end sent the data packet, but the receiving end did not receive the data packet, and there is a packet loss. The transmitting end transmits a data packet which is not received by the receiving end to the receiving end. And when the first specific time sequence contained in the data packet received by the receiving end is the second specific time sequence of the last non-supplementary transmission packet received before the time length of the unreceived data packet, the receiving end determines that the data packet is a supplementary transmission packet.
And S124, the receiving end sends heartbeat packets to the sending end every other preset time, and the sending end stops sending the heartbeat packets when the quantity of the sent heartbeat packets reaches the preset quantity of the heartbeat packets or response packets of the heartbeat packets are received.
When the receiving end does not receive the response packet of the heartbeat packet within the set time, the receiving end sends the heartbeat packet to the sending end once every other preset time, and then the receiving end sends the heartbeat packet to the sending end once every other preset time.
And if the number of the sent heartbeat packets reaches the preset number of the heartbeat packets, the receiving end determines that the sending end is disconnected, and then the sending of the heartbeat packets is stopped. Or when receiving the response packet of the heartbeat packet from the transmitting end, stopping transmitting the heartbeat packet.
It should be noted that, in the above embodiment, the second specific timing of each data packet is uniquely determined and positively correlated to the timing duration from the beginning of the initial packet. The second specific timing is determined by the transmitting end. The determination rule of the second specific timing may include:
the second specific timing of the start packet is 0.
When the second specific time sequence of the last data packet is A, and the time interval between the data packet sent in the current one millisecond and the last data packet is B milliseconds, if the sending end only sends one data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B, wherein A is larger than or equal to 1, B is larger than 1, and A and B are integers. That is, if only one packet is sent in every millisecond, the second specific timing sequence of the packet is the number of milliseconds the packet starts to count from the start packet. Thus, the second specific timing of each packet is not the same and is ordered.
However, in an actual production environment, the sender may send more than one packet in a millisecond. If a plurality of data packets need to be sent within one millisecond, if the second specific time sequences of the plurality of data packets sent within one millisecond are all the number of milliseconds counted from the starting packet, the second specific time sequences of the plurality of data packets are the same, and if one or more data packets in the plurality of data packets have a packet loss according to the data transmission method of the reader-writer, which data packet needs to be retransmitted cannot be determined according to the first specific time sequence of the next data packet.
Therefore, when the sender needs to send multiple data packets within one millisecond, in order to ensure that the second specific timings of the multiple data packets are different, the second specific timings of all the data packets are positively correlated with the timing duration from the start of the start packet. When the sending end sends C data packets within the current one millisecond, the second specific time sequence of the data packets sent within the current one millisecond is from A + B to A + B + C-1 in sequence, wherein C is an integer larger than 1. Therefore, the second specific time sequences of the data packets sent within one millisecond can be different, and the rule positively correlated with the timing duration from the start packet can be kept.
It should be noted that if C packets are sent in the current one millisecond, the maximum second specific timing sent in the current one millisecond is a + B + C-1. When the sending end sends C data packets in the current millisecond and the time interval between the next data packet and the current data packet is D milliseconds, the explanation needs to be divided into two cases.
1) If A + B + D > A + B + C-1, where A + B + D is the transmit interval to the next packet based on the current number of milliseconds. I.e. the second specific timing of the next packet under normal conditions. If A + B + D > A + B + C-1, it indicates that the specific timing of the data packet sent by the current millisecond does not affect the specific timing of the next data packet. The second specific timing for the next packet can be applied directly.
For example, if the second specific timing a =1 of the previous packet, the time interval between the transmission of the previous packet and the transmission of the current packet within one millisecond is B =2 milliseconds, and C =3 packets are transmitted within the current millisecond. Then the current packet. Then, the second specific timing sequence of the data packet sent within the current one millisecond is sequentially: 3. 4 and 5. If the time interval between the next packet and the transmission of the packet transmitted in the current one millisecond is D =4 milliseconds, if the second specific timing of the next packet is a + B + D, the next packet is not affected by the second specific timing of the packet in the previous time interval, and no collision occurs. Then, since a + B + D > a + B + C-1, the second specific timing for this next packet is a + B + D = 7.
2) If A + B + D is less than or equal to A + B + C-1, the specific time sequence of the data packet sent by the current millisecond number is influenced on the specific time sequence of the next data packet. The specific timing of the next packet needs to be adjusted. Specifically, the second specific timing of the next packet may be determined as a + B + C. That is, the second specific timing of the next packet is determined as the second specific timing plus one of the packets with the largest second specific timing among the packets sent in the current one millisecond.
Illustratively, if the second specific timing a =1 of the previous packet, the time interval between the transmission of the current packet and the transmission of the previous packet is B =2 ms, and C =3 packets are transmitted in the current ms. Then the current packet. Then, the second specific timing sequence of the data packet sent within the current one millisecond is sequentially: 3. 4 and 5. Then, if the time interval between the next packet and the packet transmitted in the current one millisecond is D =2 milliseconds, if the second specific timing of the next packet is a + B + D =5, and the packet with the second specific timing of 5 has already appeared in the packet transmitted in the current one millisecond. Therefore, if the second specific timing of the next packet is determined to be 5, the influence is received, and a collision occurs. Then, since A + B + D ≦ A + B + C-1, the second specific timing for this next packet is A + B + C = 6.
The above describes a tag transmission method for a reader/writer, and the following describes a data receiver provided by the present application from the perspective of a functional module. Please refer to fig. 5. The application provides a functional module schematic diagram of a data receiver. The data receiver 30 includes:
the transceiver module 31 is configured to receive a data packet, where the data packet includes a first specific timing sequence.
The processing module 32 is configured to determine whether the transceiver module receives a previous data packet of the data packets according to the first specific time sequence.
And the buffer module 33 is configured to store the first specific timing sequence into a supplementary transmission buffer when the last data packet is not received.
And the scanning module 34 is configured to scan the supplementary transmission buffer at regular time, and when it is determined that the supplementary transmission buffer includes a specific time sequence with a storage duration greater than or equal to an timeout duration, instruct the transceiver module 31 to send a supplementary transmission command to the sending end, where the supplementary transmission command includes the specific time sequence with the storage duration greater than or equal to the timeout duration.
Preferably, the data packet further includes a second specific timing sequence, when the data packet is not the start packet, the first specific timing sequence of the data packet is a specific timing sequence of a last data packet of the data packet, the second specific timing sequence of the data packet is a specific timing sequence of the data packet itself, and the cache module 33 is further configured to, when the data packet is received, clear the same specific timing sequence in the retransmission buffer if it is determined that the second specific timing sequence of the data packet is the same as the specific timing sequence included in the retransmission buffer.
Preferably, the data packet further includes a second specific time sequence, when the data packet is an initial packet, the first specific time sequence and the second specific time sequence of the data packet are the same and are both specific time sequences of the data packet itself, and the buffer module 33 is further configured to start a new round of data counting cycle after the transceiver module 31 receives the initial packet, clear the supplementary transmission buffer, and discard the supplementary transmission packet of the previous round of data counting cycle when receiving the supplementary transmission packet of the previous round of data counting cycle.
Preferably, after receiving the start packet, the processing module 32 is further configured to record a second specific timing sequence of a last non-supplementary transmission packet received before receiving the start packet, record a time when the start packet is received, and start timing from the time when the start packet is received, so as to obtain a timing duration; if the second specific time sequence of the received target data packet is greater than or equal to the second specific time sequence of the last non-supplementary transmission packet, determining that the target data packet is a supplementary transmission packet of the last data inventory period; and if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to a set duration threshold, determining that the target data packet is a supplementary transmission packet of the previous data checking period.
Preferably, when the duration that the transceiver module 31 does not receive the data packet is greater than or equal to the preset longest receiving time, the transceiver module 31 sends a heartbeat packet to a sending end, where the heartbeat packet includes a second specific timing sequence of a last non-complementary transmission packet received by the transceiver module 31 before the duration that the data packet is not received, so as to indicate the sending end to determine whether the data packet is not sent after sending the last data packet; if the transceiver module 31 receives a response packet of a heartbeat packet from the transmitting end, the transceiver module 31 determines that the transmitting end is not disconnected, and when a first specific time sequence included in a data packet received by the transceiver module 31 is a second specific time sequence of a last data packet received before a time length when the data packet is not received, the transceiver module 31 determines that the data packet is a supplementary transmission packet; if the transceiver module 31 does not receive the response packet of the heartbeat packet within the set time, the transceiver module 31 sends the heartbeat packet to the sending end once every other preset time, and if the number of the sent heartbeat packets reaches the preset number of the heartbeat packets or the response packet of the heartbeat packet is received, the sending of the heartbeat packet is stopped.
Preferably, the second specific timing in the data packet is determined by the transmitting end, and the determining rule of the second specific timing of the data packet includes: the second specific timing of the start packet is 0; when the second specific time sequence of the last data packet is A and the time interval between the data packet sent in the current one millisecond and the last data packet is B milliseconds, if the sending end only sends one data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B; if the sending end sends C data packets within the current one millisecond, the second specific time sequence of the data packets sent within the current one millisecond is from A + B to A + B + C-1 in sequence, wherein A is larger than or equal to 1, B is larger than 1, C is larger than 1, and A, B, C are integers.
Preferably, when the sender sends C data packets within a current millisecond and a time interval between a next data packet and the current data packet is D milliseconds, the rule for determining the second specific timing sequence of the data packets further includes: if A + B + D > A + B + C-1, the second specific time sequence of the next data packet is A + B + D; if A + B + D is less than or equal to A + B + C-1, the second specific timing of the next packet is A + B + C, where D > 1 and D is an integer.
Preferably, the time length of the timing for scanning the supplementary transmission buffer is longer than the timeout time length.
Fig. 5 above describes the data receiver provided in the embodiment of the present application in detail from the perspective of a modular entity, and the data receiver in the embodiment of the present application is described in detail from the perspective of hardware processing.
Fig. 6 is a schematic structural diagram of a data receiver according to the present application. As shown in fig. 6, the data receiver 40 includes a processor 41, a memory 42, and a communication interface 43, and the processor 41, the memory 42, and the communication interface 43 may be connected by a bus 44.
The data receiver 40 is a hardware-structured device, and can be used for the functions of the respective functional blocks in the data receiver 30 shown in fig. 5.
Alternatively, the processor 41 may be one or more Central Processing Units (CPUs), microprocessors, application-specific integrated circuits (ASICs), or one or more integrated circuits for controlling the execution of programs according to the present disclosure.
The processor 41 is configured to execute the instructions in the memory 42 to execute the tag transmission method applied to the reader/writer shown in fig. 2 to 4. The communication interface 43 may include an input/output (I/O) interface.
The memory 42, the processor 41 and the communication interface 43 may be connected to each other by a bus 44, but are not limited to being connected only by the bus 44; the bus 44 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
Those skilled in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be performed by program instructions instructing associated hardware, and that the program may be stored in a computer-readable storage medium, which may include: ROM, RAM, magnetic or optical disks, and the like.
The present application further provides a computer-readable storage medium, which includes instructions, when the instructions are executed on a computer device, the computer device is caused to execute the data transmission method of the reader/writer according to any one of the embodiments of the present application.
The application also provides a chip, which comprises a processing unit and a storage unit, wherein the storage unit is used for storing the computer operation instruction; the processing unit is used for executing the data transmission method of the reader-writer provided by any one of the embodiments of the present application by calling the computer operation instruction stored in the storage unit.
The foregoing describes in detail a tag transmission method and a storage medium of a reader/writer provided in an embodiment of the present application, and a specific example is applied in the present application to explain the principle and implementation of the present application, and the description of the foregoing embodiment is only used to help understand the method and core idea of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application. Although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.

Claims (9)

1. A data transmission method of a reader/writer, the method comprising:
a receiving end receives a data packet from a transmitting end, wherein the data packet comprises a first specific time sequence;
the receiving end judges whether the last data packet of the data packets is received or not according to the first specific time sequence;
if the last data packet is not received, the receiving end stores the first specific time sequence into a supplementary transmission buffer area;
scanning the transmission supplementing buffer area at regular time, and sending a transmission supplementing command to a sending end when the transmission supplementing buffer area is determined to contain a specific time sequence with the storage duration being greater than or equal to the timeout duration, wherein the transmission supplementing command contains the specific time sequence with the storage duration being greater than or equal to the timeout duration;
wherein the data packet further includes a second specific timing sequence, the second specific timing sequence in the data packet is determined by the transmitting end, and the rule for determining the second specific timing sequence of the data packet includes:
the second specific timing of the start packet is 0;
when the second specific time sequence of the last data packet is A and the time interval between the data packet sent in the current one millisecond and the last data packet is B milliseconds,
if the sending end sends a data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B;
if the sending end sends C data packets in the current one millisecond, the second specific time sequence of the data packets sent in the current one millisecond is from A + B to A + B + C-1 in sequence, wherein A is more than or equal to 1, B is more than 1, C is more than 1, and A, B, C are integers;
after receiving the start packet, the method further comprises:
recording a second specific time sequence of the last non-supplementary transmission packet received before the initial packet is received, recording the time of receiving the initial packet, and starting timing from the time of receiving the initial packet to obtain a timing duration;
if the second specific time sequence of the received target data packet is greater than the second specific time sequence of the last non-supplementary transmission packet, judging that the target data packet is a supplementary transmission packet of the last data checking period;
if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to a set duration threshold, determining that the target data packet is a supplementary transmission packet of the previous data checking period;
when the data packet is not a starting packet, the first specific time sequence of the data packet is the specific time sequence of the last data packet of the data packet, and the second specific time sequence of the data packet is the specific time sequence of the data packet;
when the data packet is a starting packet, the first specific time sequence and the second specific time sequence of the data packet are the same and are the specific time sequences of the data packet.
2. The data transmission method of a reader/writer according to claim 1, characterized in that the method further comprises:
and when the data packet is received, if the second specific time sequence of the data packet is determined to be the same as the specific time sequence contained in the supplementary transmission buffer area, clearing the same specific time sequence in the supplementary transmission buffer area.
3. The data transmission method of a reader/writer according to claim 1, characterized in that the method further comprises:
and when the supplementary transmission packet of the previous round of data inventory period is received, discarding the supplementary transmission packet of the previous data inventory period.
4. The data transmission method of a reader/writer according to claim 2 or 3, characterized in that the method further comprises:
when the time length of the data packet which is not received by the receiving end is greater than or equal to the preset longest receiving time, the receiving end sends a heartbeat packet to the sending end, wherein the heartbeat packet comprises a second specific time sequence of a last non-supplementary transmission packet which is received by the receiving end before the time length of the data packet which is not received by the receiving end, so as to indicate the sending end to confirm whether the data packet is not sent after the last data packet is sent;
if the receiving end receives the response packet of the heartbeat packet from the sending end, the receiving end determines that the sending end is not disconnected, and when a first specific time sequence contained in a data packet received by the receiving end is a second specific time sequence of the last non-supplementary transmission packet, the receiving end determines that the received data packet is a supplementary transmission packet;
if the receiving end does not receive the response packet of the heartbeat packet within the set time, the receiving end sends the heartbeat packet to the sending end once every other preset time, and if the number of the sent heartbeat packets reaches the preset number of the heartbeat packets or the response packet of the heartbeat packet is received, the sending of the heartbeat packet is stopped.
5. The data transmission method of a reader/writer according to claim 1, wherein when the sender sends C data packets in a current one millisecond and a time interval between a next data packet and the current data packet is D milliseconds, the rule for determining the second specific timing sequence of the data packets further includes:
if A + B + D > A + B + C-1, the second specific time sequence of the next data packet is A + B + D;
if A + B + D is less than or equal to A + B + C-1, the second specific timing of the next packet is A + B + C, where D > 1 and D is an integer.
6. The data transmission method of the reader/writer according to any one of claims 1 to 3, wherein a timing duration of the timing for scanning the supplementary transmission buffer is longer than the timeout duration, and when the receiving end stores the first specific timing into the supplementary transmission buffer, the method further includes:
and sending the transmission supplementing command to the sending end, wherein the transmission supplementing command comprises a first specific time sequence of the data packet.
7. A data receiver, characterized in that the data receiver comprises:
the receiving and sending module is used for receiving a data packet, wherein the data packet comprises a first specific time sequence;
the processing module is used for judging whether the transceiver module receives the last data packet of the data packets according to the first specific time sequence;
the cache module is used for storing the first specific time sequence into a supplementary transmission buffer area when the last data packet is not received;
the scanning module is used for scanning the supplementary transmission buffer area at regular time, and when the supplementary transmission buffer area is determined to contain a specific time sequence with the storing duration being greater than or equal to the overtime duration, the scanning module instructs the transceiver module to send a supplementary transmission command to a sending end, wherein the supplementary transmission command contains the specific time sequence with the storing duration being greater than or equal to the overtime duration;
wherein the data packet further includes a second specific timing sequence, the second specific timing sequence in the data packet is determined by the transmitting end, and the rule for determining the second specific timing sequence of the data packet includes:
the second specific timing of the start packet is 0;
when the second specific time sequence of the last data packet is A and the time interval between the data packet sent in the current one millisecond and the last data packet is B milliseconds,
if the sending end sends a data packet in the current one millisecond, the second specific time sequence of the data packet sent in the current one millisecond is A + B;
if the sending end sends C data packets in the current one millisecond, the second specific time sequence of the data packets sent in the current one millisecond is from A + B to A + B + C-1 in sequence, wherein A is more than or equal to 1, B is more than 1, C is more than 1, and A, B, C are integers;
after receiving the start packet, the processing module is further configured to record a second specific time sequence of a last non-supplementary transmission packet received before receiving the start packet, record a time when the start packet is received, and start timing from the time when the start packet is received to obtain a timing duration; if the second specific time sequence of the received target data packet is greater than or equal to the second specific time sequence of the last non-supplementary transmission packet, judging that the target data packet is a supplementary transmission packet of the last data checking period; if the difference value between the second specific time sequence of the received target data packet and the timing duration is greater than or equal to a set duration threshold, determining that the target data packet is a supplementary transmission packet of the previous data checking period;
when the data packet is not a starting packet, the first specific time sequence of the data packet is the specific time sequence of the last data packet of the data packet, and the second specific time sequence of the data packet is the specific time sequence of the data packet;
when the data packet is a starting packet, the first specific time sequence and the second specific time sequence of the data packet are the same and are the specific time sequences of the data packet.
8. A data receiver, characterized in that the data receiver comprises a processor, a memory, a communication interface, the memory having stored therein program instructions, which when executed by the processor, implement the data transmission method of the reader/writer according to any one of claims 1 to 6.
9. A computer-readable storage medium characterized in that the computer-readable storage medium stores program instructions that, when executed on a computer, cause the computer to execute a data transmission method of a reader/writer according to any one of claims 1 to 6.
CN202110944828.2A 2021-08-17 2021-08-17 Data transmission method of reader-writer, data receiver and storage medium Active CN113392667B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110944828.2A CN113392667B (en) 2021-08-17 2021-08-17 Data transmission method of reader-writer, data receiver and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110944828.2A CN113392667B (en) 2021-08-17 2021-08-17 Data transmission method of reader-writer, data receiver and storage medium

Publications (2)

Publication Number Publication Date
CN113392667A CN113392667A (en) 2021-09-14
CN113392667B true CN113392667B (en) 2021-11-30

Family

ID=77622736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110944828.2A Active CN113392667B (en) 2021-08-17 2021-08-17 Data transmission method of reader-writer, data receiver and storage medium

Country Status (1)

Country Link
CN (1) CN113392667B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115209231B (en) * 2022-09-07 2024-03-22 腾讯科技(深圳)有限公司 Data transmission method, device, equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743143A (en) * 2018-11-16 2019-05-10 深圳证券交易所 Repeating method, device and the computer readable storage medium of data
CN109862038A (en) * 2019-03-22 2019-06-07 江苏睿鸿网络技术有限公司 The processing method of data delay and packet loss in a kind of stream media protocol
WO2020125647A1 (en) * 2018-12-17 2020-06-25 杭州海康威视数字技术股份有限公司 Data retransmission method, device, and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335933B1 (en) * 1999-05-21 2002-01-01 Broadcom Homenetworking, Inc. Limited automatic repeat request protocol for frame-based communication channels
EP1797663B1 (en) * 2004-08-31 2019-07-24 Telefonaktiebolaget LM Ericsson (publ) Data unit sender and data unit relay device
CN101026441A (en) * 2006-02-24 2007-08-29 中芯国际集成电路制造(上海)有限公司 Automatic erroneous data packet repeating method and retransmission buffer
CN101488841B (en) * 2009-02-18 2013-03-27 中兴通讯股份有限公司 Frame retransmission method and apparatus for radio link protocol
US8495251B2 (en) * 2011-09-28 2013-07-23 Emc Corporation Hardware method for detecting timeout conditions in a large number of data connections
CN102571635A (en) * 2012-01-18 2012-07-11 浪潮(北京)电子信息产业有限公司 Message transmission method and equipment
CN107491356A (en) * 2017-08-28 2017-12-19 广州市百果园信息技术有限公司 Message treatment method, terminal device and server based on sequence number
CN109560901B (en) * 2018-11-14 2021-09-21 广州虎牙信息科技有限公司 Data retransmission method, device, terminal equipment and storage medium
CN111385069A (en) * 2018-12-27 2020-07-07 广州市百果园信息技术有限公司 Data transmission method and computer equipment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743143A (en) * 2018-11-16 2019-05-10 深圳证券交易所 Repeating method, device and the computer readable storage medium of data
WO2020125647A1 (en) * 2018-12-17 2020-06-25 杭州海康威视数字技术股份有限公司 Data retransmission method, device, and system
CN109862038A (en) * 2019-03-22 2019-06-07 江苏睿鸿网络技术有限公司 The processing method of data delay and packet loss in a kind of stream media protocol

Also Published As

Publication number Publication date
CN113392667A (en) 2021-09-14

Similar Documents

Publication Publication Date Title
US8427315B2 (en) Ahead-of-time scheduling of commands in RFID reader systems
US8054162B2 (en) Communication method in RFID or remote sensor systems
US8653947B2 (en) Radio frequency identification system and tag counting ending method for anti-collision thereof
EP1916616A1 (en) Method and apparatus for response control of RFID tag, RFID system, RFID tag, response control information generating program storage medium and response control program storage medium
US20090179738A1 (en) Tag reading device
EP2523522B1 (en) Contention media access control for telecommunications
CN113392667B (en) Data transmission method of reader-writer, data receiver and storage medium
WO2009038247A1 (en) Time slot allocation apparatus and method for preventing collisions between time slots in tdma-based rfid network
CN101179304A (en) Wireless communication system and wireless communication apparatus
KR100682450B1 (en) Method for reader collision avoidance using sensor nodes and apparatus thereof
US20070279189A1 (en) Communication method between host and RFID reader, host device, RFID reader, and RFID communication system
US20110124297A1 (en) Method and an apparatus for controlling messages between host and controller
AU755365B2 (en) Improved method for collision management in a non-contact data exchange system
CN113283260B (en) Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium
CN107506674A (en) ALOHA collision-proof methods based on slot prediction
KR100829794B1 (en) Method of identifying radio frequency tag in rfid system
WO2022161336A1 (en) Method for tag inventory and related device
CN101286193B (en) Radio frequency recognition system and its anticollision counting method
CN111314448B (en) Data communication system and method adapted based on CPA field protection
KR100858053B1 (en) A Passive RFID Reader and Operation Control Method
CN113343735B (en) Tag processing method of reader-writer, reader-writer and storage medium
KR20080042021A (en) Wireless communication system, information and communication terminal, portable telephone, reader/writer, communication method and computer program
EP2722790A1 (en) Coexistence of RF barcodes and other NFC devices
CN115664469B (en) Communication method between ultrahigh frequency RFID systems
WO2021189248A1 (en) Tag identification and inventory method and apparatus, reader, medium and computer program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 518102 Floor 9, plant 2, Daqian industrial plant, zone 67, Xingdong community, Xin'an street, Bao'an District, Shenzhen, Guangdong Province

Patentee after: Shenzhen Chengcheng Information Co.,Ltd.

Address before: 518102 Floor 9, plant 2, Daqian industrial plant, zone 67, Xingdong community, Xin'an street, Bao'an District, Shenzhen, Guangdong Province

Patentee before: CHAINWAY INFORMATION TECHNOLOGY Co.,Ltd.