CN113283260A - Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium - Google Patents

Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium Download PDF

Info

Publication number
CN113283260A
CN113283260A CN202110826612.6A CN202110826612A CN113283260A CN 113283260 A CN113283260 A CN 113283260A CN 202110826612 A CN202110826612 A CN 202110826612A CN 113283260 A CN113283260 A CN 113283260A
Authority
CN
China
Prior art keywords
value
parameter value
target channel
tag
reader
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.)
Granted
Application number
CN202110826612.6A
Other languages
Chinese (zh)
Other versions
CN113283260B (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 CN202110826612.6A priority Critical patent/CN113283260B/en
Publication of CN113283260A publication Critical patent/CN113283260A/en
Application granted granted Critical
Publication of CN113283260B publication Critical patent/CN113283260B/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
    • G06K7/10316Methods 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 using at least one antenna particularly designed for interrogating the wireless record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • G06K17/0029Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement being specially adapted for wireless interrogation of grouped or bundled articles tagged with wireless record carriers

Landscapes

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

Abstract

The application discloses a method for intelligently switching channels of a multi-channel reader-writer, the reader-writer and a storage medium. The method comprises the following steps: step S100: acquiring a first parameter value of a target channel; step S200: acquiring a second parameter value of each label in the target channel according to the first parameter value, wherein the maximum value of the second parameter value is positively correlated with the first parameter value; step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel; step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; step S500: and repeating the steps S100 to S400 according to the first parameter value after the fixed numerical value is reduced until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value, and switching to the next channel. The checking efficiency and the checking real-time performance can be improved.

Description

Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium
Technical Field
The invention relates to the technical field of radio frequency identification, in particular to a method for intelligently switching channels of a multi-channel reader-writer, the reader-writer 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.
The application of RFID technology in various fields, especially in the fields of logistics, retail, clothing, etc., is becoming more and more widespread, but at the same time the demand is becoming higher, especially for RFID on handheld devices, which requires a read-miss-free, continuous, efficient inventory of an indefinite number of tags, such as single tags, a small number of tags, or multiple tags, or even a large number of tags.
The multi-antenna reader-writer is also called a multi-channel reader-writer, and in the actual use process of the multi-channel reader-writer, the number of labels required to be checked in each channel is usually different. However, in the conventional multi-channel reader/writer, a fixed count time is set for each channel or a fixed count number is set for each channel. When the fixed counting time is up, or the fixed counting times are finished, the next channel can be switched to for counting. However, this may cause that when there are few labels currently required to be checked in a certain channel, a fixed checking time still needs to be checked, or the next channel can be switched after the number of times of checking reaches the fixed number of times of checking, which may affect the real-time performance and efficiency of label checking. It is also possible that when there are more tags currently required to be checked in a certain channel, after the tags required to be checked in the channel are checked according to a fixed checking time or a fixed checking number, the tags required to be checked in the channel are not checked. Therefore, the channel needs to wait until the next polling, and the remaining tags can be continuously checked, which also affects the real-time performance and efficiency of the multi-channel reader-writer.
Disclosure of Invention
The embodiment of the application provides a method for intelligently switching channels of a multi-channel reader-writer, the reader-writer and a storage medium. The real-time performance and the efficiency of reading and writing the label by the multi-channel reader-writer are improved.
In view of this, a first aspect of the present application provides a method for intelligently switching channels of a multi-channel reader/writer, where the method includes: step S100: acquiring a first parameter value of a target channel; step S200: acquiring a second parameter value of each label in the target channel according to the first parameter value, wherein the maximum value of the second parameter value is positively correlated with the first parameter value; step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel; step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; step S500: and repeating the steps S100 to S400 according to the first parameter value after the fixed numerical value is reduced until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value, and switching to the next channel.
Because the upper limit value of the second parameter value is in positive correlation with the first parameter value, when the first parameter value is reduced, the upper limit value of the second parameter value is correspondingly reduced, the second parameter of each label does not exceed the upper limit value of the second parameter at the maximum, and when the maximum value of the second parameter is reduced, the values of the second parameter of each label in the target channel tend to be concentrated, and the dispersity is reduced.
When the time slot value of the preset multiple is greater than the conflict value, it can be shown that the distribution of the tags in the target channel is relatively dispersed, the number of the tags is relatively small, the first parameter value can be reduced according to a fixed numerical value, and then the second parameter value of each tag is generated according to the first parameter value, so that the dispersion degree of the tags in the target channel can be reduced, and the concentration degree of the tags in the target channel is improved. When the conflict value is less than or equal to the conflict value threshold, then it may be substantially determined that the tag in the target lane is completely inventoried. And adjusting the first parameter value according to the size relationship between the time slot value of the preset multiple and the conflict value, which is equivalent to dynamically adjusting the first parameter value according to the number of the tags in the channel. And switching to the next channel until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold. And the checking efficiency and the checking real-time performance can be improved without waiting for fixed checking time or fixed checking times.
With reference to the first aspect, in a possible implementation manner, in the step S200, the obtaining, according to the first parameter value, a second parameter value of each tag in the target channel includes: acquiring the upper limit value of the second parameter value according to the first parameter value, and randomly generating the second parameter value of each label in the range from zero to the upper limit value of the second parameter value; in step S300, the time slot value has a preset time slot upper limit, and the obtaining of the time slot value and the collision value in the target channel according to the second parameter value of each tag in the target channel includes: step S301: when the time slot value is smaller than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel; step S302: when the tag with the second parameter value being zero does not exist in the target channel, subtracting one from the second parameter values of all tags in the target channel, adding one to the time slot value, and returning to the step S301; step S303: when the tag with the second parameter being zero exists in the target channel, if it is determined that the tag with the second parameter being zero in the target channel exists a tag which does not transmit the product electronic code EPC, adding one to the collision value, and returning to step S301. Thus, within the set upper limit of the time slot, the time slot value and the conflict value of the target channel can be determined.
With reference to the first aspect, in a possible implementation manner, in step S303, the determining that a tag in which an unsent product electronic code EPC exists in the tags in which the second parameter in the target channel is zero includes: the reader-writer sends an inventory instruction to the label in the target channel; and the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a random number, and the reader-writer determines the tag with the random number as a messy code as a tag which does not send the EPC. When the reader determines that the received random number is a random code, it may be determined that the tag does not send an EPC tag under the current condition.
With reference to the first aspect, in a possible implementation manner, in step S303, the determining that a tag in which an unsent product electronic code EPC exists in the tags in which the second parameter in the target channel is zero includes: the reader-writer sends an inventory instruction to the label in the target channel; the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a first random number; when the reader-writer determines that the response message is normal according to the lead code, the reader-writer analyzes a second random number from the response message and sends the second random number to the tag; if the reader-writer does not receive the EPC from the tag within the preset time, the reader-writer determines that the tag sending the response message is a tag which does not send the EPC, and the EPC is sent when the tag receives the second random number and determines that the second random number is the same as the first random number.
With reference to the first aspect, in a possible implementation manner, the step S400 further includes: and when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to the fixed value. When the time slot value of the preset multiple is smaller than or equal to the conflict value, it can be stated that the labels in the target channel are concentrated, the first parameter value can be increased according to a fixed value, and then the second parameter value of each label is generated according to the first parameter value, so that the concentration of the labels can be reduced, and thus when the number of the labels in the target channel is large, the value of the first parameter can be increased, thereby increasing the counting time of the target channel and improving the counting efficiency.
With reference to the first aspect, in a possible implementation manner, the step S500 further includes: recording the number of the labels checked in the current polling period of the target channel, and determining the first parameter value in the next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel, wherein the first parameter value in the next polling period of the target channel is positively correlated with the number of the labels checked in the current polling period of the target channel. Because the labels are checked continuously, if the number of the labels checked by the target channel in the current polling cycle is large, the number of the labels of the target channel in the next polling cycle is high, the number of the labels required to be checked in the next polling cycle can be predicted in advance by determining the first parameter value of the next polling cycle according to the number of the labels checked in the current polling cycle, the time length required to be checked in the next polling cycle can be predicted in advance, and the checking efficiency can be improved.
With reference to the first aspect, in a possible implementation manner, in step S100, the obtained first parameter value of the target channel is a first parameter value of a current inventory period, where the current inventory period belongs to the current polling period; before step S500, if the current inventory cycle is completed, the method further includes: step S601: and if the first parameter value is zero and the conflict value is greater than the preset conflict value threshold, executing a next inventory period, wherein the first parameter value of the next inventory period is greater than or equal to the first parameter value of the current inventory period, and the next inventory period also belongs to the current polling period. If the first parameter value is zero and the conflict value is greater than the preset conflict threshold value, it indicates that the current inventory cycle is exited because the first parameter value is zero, and it indicates that the first parameter value is small and the target channel tag cannot be completely inventoried in the current inventory cycle. The next counting cycle can be executed again, and the first parameter value of the next counting cycle can be set to be greater than or equal to the first parameter value of the current counting cycle, so that the probability that the label in the target channel can be counted in the next counting cycle can be improved.
With reference to the first aspect, in a possible implementation manner, in step S100, the obtained first parameter value of the target channel is a first parameter value of a current inventory period, where the current inventory period belongs to the current polling period; before the step S500, when the current inventory cycle is completed, the method further includes: step S602: if the first parameter value is not zero and the conflict value is greater than the preset conflict value threshold, recording the first parameter value when the current inventory cycle is finished, and executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is equal to the first parameter value when the current inventory cycle is finished. If the first parameter value is not zero and the conflict value is greater than the preset conflict value threshold value, it indicates that the current inventory cycle is due to overtime exit, that is, the current inventory cycle time is up, and the target channel label is not completely inventoried. The next inventory cycle can be executed, and the next inventory cycle sets the first parameter value as the first parameter at the end of the current inventory cycle, so that the first parameter value of the current inventory cycle can be continued, and the consistency of the inventory process can be improved.
With reference to the first aspect, in a possible implementation manner, the method further includes: and when the counting period of counting in the target channel exceeds the preset counting period number, switching to the next channel. In some cases, the number of tags in the target channel may be large, and if the target channel is checked, a long time is needed, which may affect the checking of other channels. When the counting period of counting in the target channel exceeds the preset counting period number, the next channel can be directly switched to. The tags which are not checked in the target channel can wait for the next polling period to be checked, so that the overall checking efficiency and real-time performance can be improved.
A second aspect of the present application provides a reader/writer, which includes a data processing module and a channel switching module, where the data processing module is configured to execute step S100: acquiring a first parameter value of a target channel; the data processing module is further configured to execute step S200: acquiring a second parameter value of each tag in the target channel according to the first parameter value, wherein the upper limit value of the second parameter value is positively correlated with the first parameter value; the data processing module is further configured to execute step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel; the data processing module is further configured to execute step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; the data processing module is further configured to, in step S500, repeatedly execute steps S100 to S400 according to the first parameter value after the fixed value is reduced, until the first parameter value is zero and the collision value is less than or equal to a preset collision value threshold, where the channel switching module is configured to switch to a next channel.
With reference to the second aspect, in a possible implementation manner, in executing the step S200, the acquiring, by the data processing module, a second parameter value of each tag in the target channel according to the first parameter value includes: acquiring the upper limit value of the second parameter value according to the first parameter value, and randomly generating the second parameter value of each label in the range from zero to the upper limit value of the second parameter value; in the step S300, the obtaining of the time slot value and the collision value in the target channel according to the second parameter value of each tag in the target channel includes: step S301: when the time slot value is smaller than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel; step S302: when the tag with the second parameter value being zero does not exist in the target channel, subtracting one from the second parameter values of all tags in the target channel, adding one to the time slot value, and returning to the step S301; step S303: when the tag with the second parameter being zero exists in the target channel, if it is determined that the tag with the second parameter being zero in the target channel exists a tag which does not transmit the product electronic code EPC, adding one to the collision value, and returning to step S301.
With reference to the second aspect, in a possible implementation manner, in step S303, the determining that a tag without a product electronic code EPC is present in the tags with the second parameter of zero in the target channel includes: the reader-writer sends an inventory instruction to the label in the target channel; and the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a random number, and the reader-writer determines the tag with the random number as a messy code as the tag which does not send the EPC.
With reference to the second aspect, in a possible implementation manner, in step S303, the determining that a tag without a product electronic code EPC is present in the tags with the second parameter of zero in the target channel includes: the reader-writer sends an inventory instruction to the label in the target channel; the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a first random number; when the reader-writer determines that the response message is normal according to the lead code, the reader-writer analyzes a second random number from the response message and sends the second random number to the tag; if the reader does not receive the EPC from the tag within the preset time, the reader determines that the tag sending the response message is the tag not sending the EPC, and the EPC is sent when the tag receives the second random number and determines that the second random number is the same as the first random number.
With reference to the second aspect, in a possible implementation manner, in executing step S400, the data processing module further includes: and when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to the fixed value.
With reference to the second aspect, in a possible implementation manner, in executing step S500, the data processing module further includes: recording the number of the labels checked in the current polling period of the target channel, and determining the first parameter value in the next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel, wherein the first parameter value in the next polling period of the target channel is positively correlated with the number of the labels checked in the current polling period of the target channel.
With reference to the second aspect, in a possible implementation manner, in step S100, the data processing module obtains a first parameter value of the target channel as a first parameter value of a current checking period, where the current checking period belongs to the current polling period; before the data processing module executes step S500, if the current inventory cycle is completed, the data processing module is further configured to execute step S601: and if the first parameter value is zero and the conflict value is greater than the preset conflict value threshold, executing a next inventory period, wherein the first parameter value of the next inventory period is greater than or equal to the first parameter value of the current inventory period, and the next inventory period also belongs to the current polling period.
With reference to the second aspect, in a possible implementation manner, in step S100, the data processing module obtains a first parameter value of the target channel as a first parameter value of a current checking period, where the current checking period belongs to the current polling period; before the data processing module performs step S500, if the current inventory cycle is completed, the data processing module is further configured to perform step S602: if the first parameter value is not zero and the conflict value is greater than the preset conflict value threshold, recording the first parameter value when the current inventory cycle is finished, and executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is equal to the first parameter value when the current inventory cycle is finished.
With reference to the second aspect, in a possible implementation manner, the data processing module is further configured to switch to a next channel when an inventory cycle of an inventory tag in the target channel exceeds an inventory cycle upper limit.
A third aspect of the present application provides a reader/writer, where the reader/writer 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 method for intelligently switching channels of a multi-channel reader/writer according to any one of the possible implementation manners of the first aspect to the first aspect of the present application is implemented.
A fourth aspect of the present application provides a computer-readable storage medium, where program instructions are stored, and when the program instructions are executed on a computer, the computer is caused to execute the method for intelligently switching channels of a multi-channel reader/writer according to any one of the possible implementation manners of the first aspect to the first aspect of the present application.
The application provides a method for intelligently switching channels of a multi-channel reader-writer, the reader-writer and a storage medium. The method comprises the following steps: step S100: acquiring a first parameter value of a target channel; step S200: acquiring a second parameter value of each tag in the target channel according to the first parameter value, wherein the upper limit value of the second parameter value is positively correlated with the first parameter value; step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel; step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; step S500: and repeating the steps S100 to S400 according to the first parameter value after the fixed numerical value is reduced until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value, and switching to the next channel.
Because the upper limit value of the second parameter value is in positive correlation with the first parameter value, when the first parameter value is reduced, the upper limit value of the second parameter value is correspondingly reduced, the second parameter of each label does not exceed the upper limit value of the second parameter at the maximum, and when the maximum value of the second parameter is reduced, the values of the second parameter of each label in the target channel tend to be concentrated, and the dispersity is reduced.
When the time slot value of the preset multiple is greater than the conflict value, it can be shown that the distribution of the tags in the target channel is relatively dispersed, the number of the tags is relatively small, the first parameter value can be reduced according to a fixed numerical value, and then the second parameter value of each tag is generated according to the first parameter value, so that the dispersion degree of the tags in the target channel can be reduced, and the concentration degree of the tags in the target channel is improved. When the conflict value is less than or equal to the conflict value threshold, then it may be substantially determined that the tag in the target lane is completely inventoried. And adjusting the first parameter value according to the size relation between the time slot value of the preset multiple and the conflict value, which is equivalent to dynamically adjusting the first parameter value according to the number of the tags in the channel until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value, and switching to the next channel. And the checking efficiency and the checking real-time performance can be improved without waiting for fixed checking time or fixed checking times.
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 method for intelligently switching channels of a multi-channel reader/writer according to an embodiment of the present disclosure;
fig. 3 is a flowchart of a method for obtaining a timeslot value and a conflict value in a target channel according to an embodiment of the present disclosure;
fig. 4 is another schematic flowchart of a method for intelligently switching channels of a multi-channel reader/writer according to an embodiment of the present disclosure;
fig. 5 is a functional block diagram of a reader/writer according to an embodiment of the present disclosure;
fig. 6 is a schematic structural diagram of a reader/writer 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 inventory tag. 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. If the reader-writer is a multi-channel reader-writer, the tag may enter each channel of the reader-writer randomly or according to a certain rule. It is very likely that the number of tags that need to be inventoried in each channel of the reader/writer will be inconsistent.
In the actual use process of the multi-channel reader-writer, the number of the labels which need to be checked currently in each channel is usually different. However, in the conventional multi-channel reader/writer, a fixed counting time is set for each channel or a fixed counting number is set for each channel, and when the fixed counting time is up or the fixed counting number is completed, the next channel is switched to perform counting operation. However, this may cause that when there are few labels currently required to be checked in a certain channel, a fixed checking time still needs to be checked, or the next channel can be switched after the number of times of checking reaches the fixed number of times of checking, which may affect the real-time performance and efficiency of label checking. It is also possible that when there are more tags currently required to be checked in a certain channel, after the tags required to be checked in the channel are checked according to a fixed checking time or a fixed checking number, the tags required to be checked in the channel are not checked. Therefore, the channel needs to wait until the next polling, and the remaining tags can be continuously checked, which also affects the real-time performance and efficiency of the multi-channel reader-writer.
Therefore, the present application provides a method for intelligently switching channels of a multi-channel reader/writer, please refer to fig. 2, where the method includes:
s100, obtaining a first parameter value of the target channel.
And acquiring a first parameter value of a target channel, wherein the target channel is any one channel (antenna) in the reader-writer. The first parameter value of the target channel has an initial value. The first parameter value for an inventory period after the first inventory period may be obtained from a previous inventory period. For example, when the target channel is powered on for the first time, the initial value of the first parameter may be 4.
S200, acquiring a second parameter value of each label in the target channel according to the first parameter value.
And acquiring a second parameter value of each label in the target channel according to the first parameter value. It is noted that each tag in the target pathway has a second parameter value, the first parameter valueThe two parameter values may be random numbers within a range of values. The value range has an upper limit value and a lower limit value, the lower limit value is zero, and the upper limit value is positively correlated with the first parameter value. As an example, if the first parameter is Q, the upper limit value of the second parameter may be 2Q-1. The second parameter value of each tag in the target channel is a random number ranging from zero to the upper limit value of the second parameter, and the second parameter value of each tag can be the same or different.
S300, acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel.
And acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel. It should be noted that, in an RFID read-write system formed by a reader-writer and a tag, the reader-writer may send a query rep command to the tag for a limited number of times. And adding one to the time slot when the reader-writer sends a QueryRep command once until the time slot value reaches the preset time slot upper limit value. When all tags in the target channel receive the QueryRep command, if no tag with the second parameter being zero exists in the target channel, subtracting one from the second parameter value of the tag in the target channel, and adding one to the time slot value. It should be noted that the tag may be checked only if the second parameter of the tag is zero. When there is no tag with zero second parameter in the target channel, the second parameter of all tags needs to be reduced by one, and the next time slot is entered, so that it is possible to check the tag.
In addition, when a tag with a second parameter value of zero exists in the target channel, the tag with the second parameter value of zero can be checked. However, if there are a plurality of tags having a second parameter value of zero in one slot, a collision may occur, that is, there are tags that do not transmit a product electronic code (EPC). If only one tag with the second parameter of zero is determined in the current time slot, no collision occurs, and the collision value is unchanged. And if a plurality of tags with the second parameter value being zero are determined in the current time slot, the collision value is increased by one. And counting the time slot value and the conflict value at the moment until the time slot value reaches the preset time slot upper limit.
S400, when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value.
And when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value. The preset multiple is preset and can be adjusted according to actual conditions. Illustratively, the preset multiple may be 4.
It should be noted that, when the time slot value of the preset multiple is greater than the collision value, it may be indicated that the label distribution in the target channel is more dispersed, and the number of labels is relatively less, and the first parameter may be reduced according to a fixed value. Illustratively, the first parameter may be reduced by one. Therefore, when the steps S100 and S200 are repeatedly executed, the value range of the second parameter value of each tag can be narrowed, so that the tags are more densely distributed, and the probability of inventory can be improved.
And S500, repeating the steps S100 to S400 according to the first parameter value reduced by the fixed value until the first parameter value is zero and the conflict value is less than or equal to the preset conflict value threshold value, and switching to the next channel.
And repeating the steps S100 to S400 according to the first parameter reduced according to the fixed value until the first parameter value is zero and the conflict value is less than or equal to the preset conflict value threshold value, and switching to the next channel.
For example, if the first parameter value is 4, the upper limit value of the second parameter of all tags in the target channel is 24-1= 15. The second parameter values of all tags in the target channel range from 0 to 15. After step S400, the first parameter is decreased by 1, and then the first parameter value is 3. When steps S100 and S200 are repeatedly executed, the upper limit value of the second parameter of all tags in the target channel is 23-1= 7. The value of the second parameter value of all the tags in the target channel ranges from 0 to 7. Generated in the target channel according to the first parameter value after the first parameter is decreasedThe value of the second parameter for each tag tends to converge.
And after the second parameter value of each label is regenerated, continuously judging the size relationship between the time slot value of the preset multiple and the conflict value, if the time slot value of the preset multiple is still larger than the conflict value, continuously reducing the value of the first parameter until the value of the first parameter is zero, and switching to the next channel when the conflict value is smaller than or equal to the preset conflict threshold value. The preset conflict value is preset, and when the conflict value is smaller than or equal to the preset conflict value, the tag which is not read by the reader cannot appear. Therefore, each counting process does not need to wait for fixed counting time or counting times, and the counting efficiency and the counting instantaneity can be improved.
Further, the step S300 of obtaining the slot value and the collision value in the target channel according to the second parameter value of each tag in the target channel may specifically include the following steps, please refer to fig. 3, and the step S300 may specifically include:
s301, when the time slot value is smaller than or equal to the time slot upper limit, whether a label with a second parameter value of zero exists in the target channel is judged.
And when the time slot value is less than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel. And when the time slot value is larger than the time slot upper limit, directly acquiring the time slot value and the conflict value at the moment. Proceed directly to step S400.
When there is no tag with a second parameter value of zero in the target channel, the process proceeds to step S302. If the second parameter value is zero and a tag without EPC code transmission exists in the tag with the second parameter value being zero in the target channel, the process proceeds to step S303.
S302, subtracting one from the second parameter values of all the tags in the target channel, returning to the step S301, and adding one to the time slot value.
And when the label with the second parameter value being zero does not exist in the target channel, subtracting one from the second parameter value of all labels in the target channel, and adding one to the time slot value. It is noted that only tags with a second parameter value of zero are possible to be inventoried. When no label with the second parameter value being zero exists in the target channel, the label which can be checked in the current time slot is not shown. Therefore, in this case, the reader sends a QueryRep command to the tags, and after receiving the QueryRep command, all the tags subtract one from their own second parameter value and enter the next time slot, that is, add one to the time slot value. Then returning to step S301, it is continuously determined whether the current time slot value is less than or equal to the upper time slot limit. And if the time slot value is less than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel.
And S303, if the label of the non-transmitted EPC exists in the labels with the second parameter of zero in the target channel, adding one to the collision value, and returning to the step S301.
If it is determined that there is a tag that does not transmit the EPC from among the tags whose second parameter is zero in the target channel, the collision value is incremented by one, and the process returns to step S301.
It should be noted that, when there are multiple tags with zero second parameter value in a time slot, collision may occur, that is, there are tags that do not transmit EPC. It should be noted that, in one time slot, the reader sends an inventory command (ACK) to the tag. And after receiving the inventory command, the tag with the second parameter of zero sends a response message to the reader. Typically, the response message contains a 12-bit preamble and a 16-bit random number.
In some common practice, when the preamble is verified to be correct, the tag is considered to have been checked when the response message of the tag is received. This actually causes a large error, and although the preamble is correct, the random number may be scrambled due to the fact that the baseband pulse size may not be in specification, so that it is still impossible to confirm whether the tag is checked and which tag is checked.
Therefore, in a possible implementation manner, after the reader sends the inventory command to the tag in the target channel, the reader receives a response message from the tag, and if the random number included in the response message is a random code, the reader determines the tag with the random number as the random code as the tag that does not send the EPC. Note that, in the present application, a tag that does not transmit an EPC is a tag that has a collision. When there is a tag that does not transmit an EPC, the collision value is incremented by one. Note that as long as there are tags that do not transmit EPCs, the collision value is incremented by one regardless of how many tags do.
In another possible implementation manner, after the reader sends the inventory instruction to the tag in the target channel, even if the random number sent to the reader by the tag with the second parameter being zero is not a random code, the reader cannot determine that the tag is inventoried by hundreds. It should be noted that when the plurality of tags with the second parameter of zero receive the inventory command, a response command is sent to the reader/writer, and if a plurality of tags return the response command at the same time, it is very likely that a plurality of data are superimposed. The superimposed data may still be able to conform to the rules of the baseband data burst. The data superposition does not cause the data received by the reader-writer to generate messy codes. That is, the reader/writer cannot sense that the received data is superimposed by the response messages sent by the tags. Thus, the reader/writer cannot determine the number of the checked tags and which tags have been checked according to the response message.
Therefore, in the present application, after the reader sends the inventory command to the tag in the target channel, the response message received by the reader from the tag includes the preamble and the first random number. When the reader-writer determines that the response message is normal according to the lead code, a second random number is analyzed from the response message. At this time, the reader/writer cannot determine whether the second random number is correct. The reader sends the second random number to the tag.
Generally, when the tag receives the second random number, the tag compares the second random number with the first random number sent by the tag to the reader/writer. If the tag determines that the first random number is the same as the second random number, the tag sends an EPC to the reader. The reader can determine that the tag is inventoried after receiving the EPC.
Therefore, if the reader/writer does not receive the EPC from the tag within a preset time after transmitting the second random number to the tag, the reader/writer may determine that the tag transmitting the response message including the first random number is a tag of an unsent EPC, and may add one to the collision value. The preset time may be set according to practical situations, for example, may be set to 5 milliseconds, and is not limited herein.
The above states the case where there is a tag that does not transmit an EPC from among tags whose second parameter is zero in two target channels. It should be added that if there is a tag with a second parameter value of zero in the target channel and there is only one tag with a second parameter value of zero, no collision occurs, and at this time, the tag with a second parameter value of zero can be directly checked, so that the EPC can be transmitted without collision. In this case, the slot value is incremented by one and the collision value is unchanged.
Specifically, in a certain timeslot, when there is one and only one tag with zero second parameter in the target channel. Then, after the reader/writer sends an inventory instruction to the tag, the tag sends a response message. When the response message conforms to the baseband pulse size specification, the second random number parsed from the response message by the reader is consistent with the first random number contained in the response message. Thus, after the reader/writer transmits the second random number to the tag, the tag can confirm that the first random number is identical to the second random number. The tag sends the EPC to the reader. The reader/writer can confirm that the tag is checked.
When the tag with the second parameter value of zero is checked, the reader still sends a QueryRep command to the tag. The second parameter value for all tags is decremented by one and the slot value is incremented by one. It should be noted that, after subtracting one from the second parameter value by the tag with the current second parameter value being zero, the tag becomes the maximum value of the second parameter value, so that the reader only sends a query rep command for a limited number of times because the time slot has an upper limit of the time slot, and the second parameter value is not counted again after being subtracted again in a general case. It is noted that each tag has an inventory mark. When a tag is not being inventoried, the inventory flag is maintained in a first state, which indicates that the tag is not being inventoried. After the tag sends the EPC to the reader/writer, the tag modifies the flag state to a second state, and when the tag is in the second state, the tag does not send the EPC again, and is not checked again. Therefore, the label can be prevented from being checked repeatedly through the change of the state of the label, and the checking efficiency can be improved.
It should be noted that, when the timeslot value is greater than the timeslot upper limit, the reader cannot send the QueryRep command to the tag any more, and the timeslot value cannot be increased any more, and at this time, the size relationship between the timeslot value of the preset multiple and the collision value may be determined, that is, the process proceeds to the step S400.
It should be noted that, in the above embodiment, before step S500, if the current inventory cycle is completed and the conflict value is greater than the preset conflict threshold, the next inventory cycle may also be executed. Referring to fig. 4, a second embodiment of the method for intelligently switching channels of a multi-channel reader/writer provided by the present application includes:
and S110, acquiring a first parameter value of the target channel.
And acquiring a first parameter value of the target channel. Please refer to the foregoing step S100 for understanding, which is not described herein again.
S210, obtaining a second parameter value of each label in the target channel according to the first parameter value.
And acquiring a second parameter value of each label in the target channel according to the first parameter value. Please refer to the step S200 for understanding, which is not described herein again.
It is noted that each tag in the target channel has a second parameter value, which may be a random number within a range of values. Specifically, the second parameter value is generated randomly between the upper limit value and the lower limit value of the value range after the reader sends a QueryAdjust command to the tag in the target channel. The QueryAdjust command may carry the value of the first parameter or the upper limit value of the second parameter, so that the tag may determine that the second parameter is generated within the value range of the second parameter.
S310, acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel.
And acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel. Please refer to step S300, and steps S301 to S303 for understanding, which are not described herein again.
S410, when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; and when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to a fixed value.
And when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter according to a fixed value. Please refer to the step S400 for understanding, which is not described herein again.
And when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to a fixed value. For example, the first parameter may be incremented by one. The preset multiple is preset and can be adjusted according to actual conditions. Illustratively, the preset multiple may be 4. When the time slot value of the preset multiple is smaller than or equal to the conflict value, it is indicated that the labels in the target channel are distributed more densely, and the number of the labels is relatively more, and the first parameter is increased according to a fixed value. Therefore, when step S110 and step S210 are repeatedly executed, the value range of the second parameter value of each tag can be expanded, so that the tags are distributed more dispersedly, thereby reducing collisions and improving the inventory efficiency.
And S610, when the current inventory cycle is executed and the conflict value is greater than the preset conflict value threshold, executing the next inventory cycle.
In the aforementioned step S500, the steps S100 to S400 are repeatedly executed according to the first parameter value reduced by the fixed value. And switching to the next channel until the first parameter value is zero and the conflict value is less than or equal to the preset conflict value threshold.
It should be noted that a polling period may include one or more inventory periods. The counting period is a basic time unit of the reader-writer work, and the time range of one counting period can be between 80 milliseconds and 300 milliseconds. In the foregoing step S100 and step S110, the acquired first parameter value of the target channel is a first parameter value of a current inventory period, and the current inventory period belongs to a current polling period.
If the current counting cycle is finished, that is, when the time of the current counting cycle is finished and the collision value is greater than the preset collision value threshold, it indicates that there is a label that is not counted, so that the step S500 or S510 cannot be immediately performed, and the next channel cannot be switched to. In this case, the next polling cycle may be entered, which also belongs to the current polling cycle.
Specifically, the following description will be divided into two cases S601 and S602, depending on whether the value of the first parameter is zero:
s601, if the first parameter value is zero and the conflict value is greater than the preset conflict threshold value, executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is greater than or equal to the first parameter value of the current inventory cycle.
When the first parameter value is zero and the conflict value is greater than the preset conflict threshold value, it indicates that the current inventory cycle is exited due to the fact that the first parameter value is zero. It means that the setting of the first parameter value in the current inventory cycle is relatively small, and the tag in the target channel of the current inventory cycle cannot be completely inventory. The next inventory cycle may be performed again. And the first parameter value of the next counting period can be set to be greater than or equal to the first parameter value of the current counting period, so that the probability that the label in the target channel can be counted in the next counting period can be improved.
And S602, if the first parameter value is not zero and the conflict value is greater than the preset conflict threshold value, executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is equal to the first parameter value when the execution of the current inventory cycle is finished.
When the first parameter value is not zero and the conflict value is greater than the preset conflict threshold value, it indicates that the current inventory period is exited due to timeout, but not exited due to the first parameter value. That is, the time of the current inventory cycle is up, and the tag of the current inventory cycle cannot be completely inventory yet. The next click cycle can be performed. And the next inventory cycle may set the first parameter value as the first parameter at the end of the current inventory cycle. Therefore, the first parameter value of the current counting period can be continued in the next counting period, and the consistency of the counting process can be improved.
Generally, step S601 and step S602 may be repeatedly executed multiple times in one polling cycle. And switching to the next channel until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold. It is worth mentioning that the target channel cannot be checked without limit in one polling period. If the number of tags in the target channel is very large, if the counting is performed in steps S601 and S602, the switching between S601 and S602 may be performed all the time, and the loop may not be skipped. This may result in the labels in other lanes also accumulating. Therefore, in order to give consideration to the real-time performance of the label counting of other channels, the method and the device can also be provided with an upper limit of the counting period. When the counting period of the counting label in the target channel exceeds the upper limit of the counting period, the next channel is directly entered.
S510, repeating the step S110 to the step S410 according to the first parameter value reduced by the fixed value until the first parameter value is zero and the conflict value is less than or equal to the preset conflict value threshold value, and switching to the next channel; and determining a first parameter value of a next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel.
And repeating the steps S110 to S410 according to the first parameter value reduced by the fixed value until the first parameter value is zero and the conflict value is less than or equal to the preset conflict value threshold value, and switching to the next channel. Please refer to the above step S500 for details, which are not described herein.
It should be noted that, when switching to the next channel, it means that the current polling period of the target channel is ended, and the number of tags that are checked in the target channel in the current polling period may be recorded. And determining a first parameter value of a next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel. The first parameter value of the next polling period in the target channel is positively correlated with the number of the tags checked in the current polling period of the target channel. It is to be understood that the next polling period may also comprise at least one inventory period, and the first parameter value of the next polling period may be understood as the first parameter value of the first inventory period in the next polling period.
Specifically, when the polling cycle is ended, it is recorded that the number of the tags counted in the current polling cycle is TagNumber, and the first parameter value of the next polling cycle is Q, so that the first parameter value of the next polling cycle and the number of the tags counted in the current polling cycle may have the following relationship: 2Q-1≥TagNumber。
Because the labels are checked continuously, if the number of the labels checked by the target channel in the current polling cycle is large, the number of the labels required to be checked by the target channel in the next polling cycle is high, the number of the labels required to be checked in the next polling cycle can be predicted in advance by determining the first parameter value of the next polling cycle according to the number of the labels checked in the current polling cycle, the time length required to be checked in the next polling cycle can be predicted in advance, and the checking efficiency can be improved.
The method steps in the present application are described above, and the functional modules of the reader/writer provided in the embodiment of the present application are described below, please refer to fig. 5. The reader/writer 30 includes: a data processing module 31 and a channel switching module 32.
The data processing module 31 is configured to execute step S100: acquiring a first parameter value of a target channel; the data processing module 31 is further configured to execute step S200: acquiring a second parameter value of each tag in the target channel according to the first parameter value, wherein the upper limit value of the second parameter value is positively correlated with the first parameter value; the data processing module 31 is further configured to execute step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel; the data processing module 31 is further configured to execute step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value; the data processing module 31 is further configured to, in step S500, repeatedly execute steps S100 to S400 according to the first parameter value reduced by the fixed value, until the first parameter value is zero and the collision value is less than or equal to a preset collision value threshold, and the channel switching module 32 is configured to switch to a next channel.
Preferably, in executing step S200, the acquiring, by the data processing module 31, a second parameter value of each tag in the target channel according to the first parameter value includes: acquiring the upper limit value of the second parameter value according to the first parameter value, and randomly generating the second parameter value of each label in the range from zero to the upper limit value of the second parameter value; in the step S300, the data processing module 31, where the timeslot value has a preset timeslot upper limit, and the obtaining of the timeslot value and the conflict value in the target channel according to the second parameter value of each tag in the target channel includes: step S301: when the time slot value is smaller than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel; step S302: when the tag with the second parameter value being zero does not exist in the target channel, subtracting one from the second parameter values of all tags in the target channel, adding one to the time slot value, and returning to the step S301; step S303: when the tag with the second parameter being zero exists in the target channel, if it is determined that the tag with the second parameter being zero in the target channel exists a tag which does not transmit the product electronic code EPC, adding one to the collision value, and returning to step S301.
Preferably, in the step S303, the determining, by the data processing module 31, that a tag without a product electronic code EPC is present in the tags with the second parameter of zero in the target channel includes: the reader-writer sends an inventory instruction to the label in the target channel; and the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a random number, and the reader-writer determines the tag with the random number as a messy code as the tag which does not send the EPC.
Preferably, in the step S303, the determining, by the data processing module 31, that a tag without a product electronic code EPC is present in the tags with the second parameter of zero in the target channel includes: the reader-writer sends an inventory instruction to the label in the target channel; the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a first random number; when the reader-writer determines that the response message is normal according to the lead code, the reader-writer analyzes a second random number from the response message and sends the second random number to the tag; if the reader does not receive the EPC from the tag within the preset time, the reader determines that the tag sending the response message is the tag not sending the EPC, and the EPC is sent when the tag receives the second random number and determines that the second random number is the same as the first random number.
Preferably, the data processing module 31 further includes, in executing step S400: and when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to the fixed value.
Preferably, the data processing module 31 further includes, in executing step S500: recording the number of the labels checked in the current polling period of the target channel, and determining the first parameter value in the next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel, wherein the first parameter value in the next polling period of the target channel is positively correlated with the number of the labels checked in the current polling period of the target channel.
Preferably, in step S100, the data processing module 31 obtains a first parameter value of the target channel as a first parameter value of a current checking period, where the current checking period belongs to the current polling period; before the data processing module 31 performs step S500, if the current inventory cycle is completed, the data processing module 31 is further configured to perform step S601: and if the first parameter value is zero and the conflict value is greater than the preset conflict value threshold, executing a next inventory period, wherein the first parameter value of the next inventory period is greater than or equal to the first parameter value of the current inventory period, and the next inventory period also belongs to the current polling period.
Preferably, in step S100, the data processing module 31 obtains a first parameter value of the target channel as a first parameter value of a current checking period, where the current checking period belongs to the current polling period; before the data processing module 31 performs step S500, if the current inventory cycle is completed, the data processing module 31 is further configured to perform step S602: if the first parameter value is not zero and the conflict value is greater than the preset conflict value threshold, recording the first parameter value when the current inventory cycle is finished, and executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is equal to the first parameter value when the current inventory cycle is finished.
Preferably, the data processing module 31 is further configured to switch to the next channel when the counting cycle of the counting tag in the target channel exceeds the upper limit of the counting cycle.
Fig. 5 describes the reader/writer provided in the embodiment of the present application in detail from the perspective of the modular entity, and the reader/writer 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 reader/writer according to the present application. As shown in fig. 6, the reader/writer 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 reader/writer 40 is a device of a hardware structure, and can be used for the functions of the respective functional blocks in the reader/writer 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 above method applied to the intelligent switching of the channels of the multi-channel 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 method for intelligently switching channels of a multi-channel reader-writer according to any embodiment 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 method for intelligently switching the channels of the multi-channel reader-writer, which is provided by any one of the embodiments of the present application, by calling the computer operation instruction stored in the storage unit.
The method for intelligently switching the channels of the multi-channel reader-writer, the reader-writer and the storage medium provided by the embodiment of the application are introduced in detail, a specific example is applied in the text to explain the principle and the implementation mode of the application, and the description of the embodiment is only used for helping to understand the method and the core idea of the 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 (12)

1. A method for intelligently switching channels of a multi-channel reader-writer is characterized by comprising the following steps:
step S100: acquiring a first parameter value of a target channel;
step S200: acquiring a second parameter value of each tag in the target channel according to the first parameter value, wherein the upper limit value of the second parameter value is positively correlated with the first parameter value;
step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel;
step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value;
step S500: and repeating the steps S100 to S400 according to the first parameter value after the fixed numerical value is reduced until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value, and switching to the next channel.
2. The method according to claim 1, wherein in step S200, the obtaining a second parameter value of each tag in the target channel according to the first parameter value includes:
acquiring the upper limit value of the second parameter value according to the first parameter value, and randomly generating the second parameter value of each label in the range from zero to the upper limit value of the second parameter value;
in step S300, the time slot value has a preset time slot upper limit, and the obtaining of the time slot value and the collision value in the target channel according to the second parameter value of each tag in the target channel includes:
step S301: when the time slot value is smaller than or equal to the time slot upper limit, judging whether a label with a second parameter value of zero exists in the target channel;
step S302: when the tag with the second parameter value being zero does not exist in the target channel, subtracting one from the second parameter values of all tags in the target channel, adding one to the time slot value, and returning to the step S301;
step S303: when the tag with the second parameter being zero exists in the target channel, if it is determined that the tag with the second parameter value being zero exists in the tags with the second parameter value being zero, the collision value is incremented by one, and the step S301 is returned to.
3. The method according to claim 2, wherein in step S303, the determining that a tag without a product electronic code EPC is present in the tag with the second parameter of zero in the target channel includes:
the reader-writer sends an inventory instruction to the label in the target channel;
and the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a random number, and the reader-writer determines the tag with the random number as a messy code as the tag which does not send the EPC.
4. The method according to claim 2, wherein in step S303, the determining that a tag without a product electronic code EPC is present in the tag with the second parameter of zero in the target channel includes:
the reader-writer sends an inventory instruction to the label in the target channel;
the reader-writer receives a response message from the tag, wherein the response message comprises a lead code and a first random number;
when the reader-writer determines that the response message is normal according to the lead code, the reader-writer analyzes a second random number from the response message and sends the second random number to the tag;
if the reader-writer does not receive the EPC from the tag within the preset time, the reader-writer determines that the tag sending the response message is the tag not sending the EPC, and the EPC is sent when the tag receives the second random number and determines that the second random number is the same as the first random number.
5. The method for intelligently switching the channels of a multi-channel reader-writer according to claim 1, wherein the step S400 further comprises:
and when the time slot value of the preset multiple is smaller than or equal to the conflict value, increasing the first parameter value according to the fixed value.
6. The method for intelligently switching the channels of a multi-channel reader-writer according to claim 1, wherein the step S500 further comprises:
recording the number of the labels checked in the current polling period of the target channel, and determining the first parameter value in the next polling period of the target channel according to the number of the labels checked in the current polling period of the target channel, wherein the first parameter value in the next polling period of the target channel is positively correlated with the number of the labels checked in the current polling period of the target channel.
7. The method according to claim 6, wherein in step S100, the obtained first parameter value of the target channel is a first parameter value of a current check period, and the current check period belongs to the current polling period;
before step S500, if the current inventory cycle is completed, the method further includes:
step S601: and if the first parameter value is zero and the conflict value is greater than the preset conflict value threshold, executing a next inventory period, wherein the first parameter value of the next inventory period is greater than or equal to the first parameter value of the current inventory period, and the next inventory period also belongs to the current polling period.
8. The method according to claim 6, wherein in step S100, the obtained first parameter value of the target channel is a first parameter value of a current check period, and the current check period belongs to the current polling period;
before the step S500, when the current inventory cycle is completed, the method further includes:
step S602: if the first parameter value is not zero and the conflict value is greater than the preset conflict value threshold, recording the first parameter value when the current inventory cycle is finished, and executing the next inventory cycle, wherein the first parameter value of the next inventory cycle is equal to the first parameter value when the current inventory cycle is finished.
9. The method for intelligently switching the channels of the multi-channel reader-writer according to claim 7 or 8, wherein the method further comprises:
and when the counting period of the counting labels in the target channel exceeds the upper limit of the counting period, switching to the next channel.
10. A reader/writer characterized by comprising: a data processing module and a channel switching module,
the data processing module is configured to execute step S100: acquiring a first parameter value of a target channel;
the data processing module is further configured to execute step S200: acquiring a second parameter value of each tag in the target channel according to the first parameter value, wherein the upper limit value of the second parameter value is positively correlated with the first parameter value;
the data processing module is further configured to execute step S300: acquiring a time slot value and a conflict value in the target channel according to the second parameter value of each label in the target channel;
the data processing module is further configured to execute step S400: when the time slot value of the preset multiple is larger than the conflict value, reducing the first parameter value according to a fixed value;
the data processing module is further configured to, in step S500, repeatedly execute steps S100 to S400 according to the first parameter value after the fixed value is reduced,
and the channel switching module is used for switching to the next channel until the first parameter value is zero and the conflict value is less than or equal to a preset conflict value threshold value.
11. A reader/writer, characterized in that the reader/writer comprises a processor, a memory, and a communication interface, wherein the memory stores program instructions, and when the program instructions are executed by the processor, the method for intelligently switching channels of a multi-channel reader/writer according to any one of claims 1 to 9 is implemented.
12. 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 perform the method of intelligent switching of multiple channel reader-writer channels of any one of claims 1 to 9.
CN202110826612.6A 2021-07-21 2021-07-21 Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium Active CN113283260B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110826612.6A CN113283260B (en) 2021-07-21 2021-07-21 Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110826612.6A CN113283260B (en) 2021-07-21 2021-07-21 Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium

Publications (2)

Publication Number Publication Date
CN113283260A true CN113283260A (en) 2021-08-20
CN113283260B CN113283260B (en) 2021-10-01

Family

ID=77286875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110826612.6A Active CN113283260B (en) 2021-07-21 2021-07-21 Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium

Country Status (1)

Country Link
CN (1) CN113283260B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116047399A (en) * 2023-04-03 2023-05-02 深圳市成为信息股份有限公司 Method and related device for precisely positioning tag by UHF handheld terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040063435A1 (en) * 2002-07-17 2004-04-01 Kabushiki Kaisha Toshiba Wireless information processing system with wireless information recording medium and wireless information processing apparatus, and communication method therefor
CN104411018A (en) * 2014-11-03 2015-03-11 天津工业大学 Dynamic grouping variable-time slot algorithm-based data transmission method
CN104966113A (en) * 2015-07-27 2015-10-07 威海北洋电气集团股份有限公司 RFID reading-writing system and coding and conflict processing method for label return signal thereof
CN109002743A (en) * 2018-07-24 2018-12-14 深圳市成为信息技术有限公司 Anti-collision method, reader and the label check system that label is made an inventory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040063435A1 (en) * 2002-07-17 2004-04-01 Kabushiki Kaisha Toshiba Wireless information processing system with wireless information recording medium and wireless information processing apparatus, and communication method therefor
CN104411018A (en) * 2014-11-03 2015-03-11 天津工业大学 Dynamic grouping variable-time slot algorithm-based data transmission method
CN104966113A (en) * 2015-07-27 2015-10-07 威海北洋电气集团股份有限公司 RFID reading-writing system and coding and conflict processing method for label return signal thereof
CN109002743A (en) * 2018-07-24 2018-12-14 深圳市成为信息技术有限公司 Anti-collision method, reader and the label check system that label is made an inventory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116047399A (en) * 2023-04-03 2023-05-02 深圳市成为信息股份有限公司 Method and related device for precisely positioning tag by UHF handheld terminal

Also Published As

Publication number Publication date
CN113283260B (en) 2021-10-01

Similar Documents

Publication Publication Date Title
US9754143B2 (en) Radio frequency identification readers, methods and computer program products for adjusting a query command slot-counter parameter Q
US7969282B2 (en) Optimized operation of a dense reader system
US8427315B2 (en) Ahead-of-time scheduling of commands in RFID reader systems
US7612672B2 (en) Query tree based tag identification method in RFID systems
US7626503B2 (en) Bi-slot tree based tag identification method in RFID systems
US20070139162A1 (en) Dense reader system with improved listen before talk communications
KR101007084B1 (en) Method of recogniging rfid tag for the purpose of preventing throughput inversion and rfid reader performing the same
US9773132B2 (en) Tag anti-collision method, reader apparatus and system for RFID systems with multi-packet reception capability
CN109002743B (en) Anti-collision method for label checking and reader-writer
CN101517599A (en) Apparatus and method for integrated reader and tag
CN113283260B (en) Method for intelligently switching channels of multi-channel reader-writer, reader-writer and storage medium
CN109472177B (en) Inventory method capable of reading TID (terminal identification) number of electronic tag
US9785803B2 (en) Method, apparatus and system for collecting tags using bit map in RFID system
CN109784434B (en) Intelligent container and RFID (radio frequency identification) tag query and inventory method and system thereof
Wang Efficient DFSA algorithm in RFID systems for the internet of things
KR100829794B1 (en) Method of identifying radio frequency tag in rfid system
CN113392667B (en) Data transmission method of reader-writer, data receiver and storage medium
KR101465661B1 (en) Method for recognizing tag in environment using same frequency band, NFC device for the same
CN115510881A (en) Timing sequence adjusting method, storage medium, reader-writer, electronic tag and system
CN114757315B (en) Method for reader-writer to rapidly output label data, reader-writer and receiving terminal
KR100662050B1 (en) Anti-collision method for rfid readers
KR20070109842A (en) A passive rfid reader and operation control method
Kim et al. An enhanced slotted binary tree algorithm with intelligent separation in RFID systems
KR100998984B1 (en) Anti-collision method of RFID tag and RFID reader therefor
WO2024032082A1 (en) Rfid multi-tag read-write identification method and related device

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.