CN101388063B - 一种读取电子标签的方法、系统、设备和电子标签 - Google Patents
一种读取电子标签的方法、系统、设备和电子标签 Download PDFInfo
- Publication number
- CN101388063B CN101388063B CN2007101495779A CN200710149577A CN101388063B CN 101388063 B CN101388063 B CN 101388063B CN 2007101495779 A CN2007101495779 A CN 2007101495779A CN 200710149577 A CN200710149577 A CN 200710149577A CN 101388063 B CN101388063 B CN 101388063B
- Authority
- CN
- China
- Prior art keywords
- prefix
- data
- unit
- stack
- electronic tag
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims description 103
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006698 induction Effects 0.000 description 3
- 238000009827 uniform distribution Methods 0.000 description 3
- 239000000758 substrate Substances 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Near-Field Transmission Systems (AREA)
Abstract
本发明实施例提供了一种读取电子标签的方法、系统、设备和电子标签,通过在前缀栈中初始设置m位二进制数作为前缀数据,其中m为大于1的整数,然后再发送前缀栈中当前栈顶的前缀数据,这样使得在初始发送前缀数据时,可以直接从设置的m位二进制数开始发送前缀数据,而不是像现有技术中一样,从一位的二进制数“0”或“1”开始发送前缀数据,所以,减少了在初始阶段需要在发送给Tag的前缀数据后增加“0”和“1”的次数,从而减少了读取管辖范围内的Tag需要发送前缀数据的次数,提高了读取Tag的效率。并且本发明具体给出了使得发送前缀数据次数最小的初始前缀数据设置方法和Tag标识数据的反序匹配方法,进一步提高了读取Tag的效率。
Description
技术领域
本发明涉及射频识别技术,特别涉及一种读取电子标签的方法、系统、设备和电子标签。
背景技术
近来,射频识别技术逐渐开始发展和受到关注,目前其最基本的应用就是作为一种新的读取电子标签(Tag)的手段,替代现有的条形码系统。读取Tag的系统主要包括:读取Tag的设备和Tag;其中,Tag贴在被识别物品上,存储该物品的标识数据;读取Tag的设备通过读取Tag中的标识数据实现对物品的识别。通常,读取Tag的设备需要快速的读取管辖范围内所有Tag,例如,在大量物品入库时,需要对这些物品的Tag进行读取,以便进行物品信息的录入。由于所有Tag的标识数据差别很小,因此,如何读取所有物品的Tag从而完成物品的识别成为射频识别技术的主要目标。
读取Tag的方法主要是通过在读取Tag的设备中设置前缀栈,将前缀栈中当前栈顶的前缀数据发送到所有Tag,发送后,所述发送的前缀数据的下一个前缀数据作为当前栈顶的前缀数据;如果Tag接收到的前缀数据与自身存储的标识数据的前几位相同,则向读取Tag的设备返回响应,该响应中包含该Tag的标识数据;如果读取Tag的设备只接收到一个Tag返回的响应,则读取该Tag的标识数据;如果没有接收到Tag返回的响应,则继续发送当前栈顶的前缀数据;如果接收到多个Tag返回的响应,则说明有多个Tag的标识数据前几位与当前读取Tag的设备发送的前缀数据相同,所以,需要进一步区分这些多个Tag标识数据的后续位。
在现有读取Tag的方法中采用的设置和发送前缀栈中的前缀数据方法如图1所示,图1为现有技术前缀栈中前缀数据的变化图,首先在前缀栈中初始设置0和1两个二进制数作为前缀数据,首先将当前栈顶的前缀数据0发送给所有Tag,假设此时有多个Tag响应,其中,所述Tag回复的响应中包含该Tag的标识数据,说明响应的Tag的标识数据的第一位都是0,当前的重复数据为0,需要对这些响应的Tag的标识数据的第二位进行识别;在所述当前的重复数据后分别加上0和1放入前缀栈,即在前缀栈中加入00和01,当前前缀栈的栈顶变为00,继续将当前的前缀栈的栈顶00发送给所有Tag,假设此时仍有多个Tag响应,说明响应的Tag的标识数据的前两位都是00,当前的重复数据为00,需要对响应的Tag的标识数据的第三位进行识别;在所述当前的重复数据后分别加上0和1放入前缀栈,即在当前栈顶加入000和001;发送当前的栈顶000给响应的Tag,假设此时只有一个Tag响应,则读取该响应中该Tag的标识数据,此时就完成了一个Tag的读取;继续将当前栈顶的前缀数据001发送给所有Tag,假设此时没有Tag响应,说明剩下的Tag中没有前三位标识数据是001的;继续将当前栈顶的前缀数据01发送给所有Tag,......循环执行类似步骤,直至前缀栈中的数据为空,即可完成所有Tag的读取。
然而,当Tag数目较大时,由于各Tag标识数据的前几位相同的概率很大,在上述现有技术中采用的读取Tag的方法中,由于初始设置前缀栈时,在前缀栈中初始设置的前缀数据为一位的二进制数据:“0”和“1”,在发送前缀栈中前缀数据的初始阶段发生多个tag同时响应的概率也很大,这就使得初始阶段需要多次在发送的前缀数据后增加“0”和“1”才能读取一个Tag,也相应地导致了读取所有Tag需要发送前缀栈中前缀数据的次数很多,这就使得读取Tag的效率很低。
发明内容
本发明实施例提供了一种读取Tag的方法、系统和设备,以便于提高读取Tag的效率。
一种读取电子标签的方法,该方法包括:
将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中,m为大于1的整数;
接收电子标签返回的响应,并根据所述电子标签返回的响应读取电子标签的标识数据。
一种读取电子标签的系统,该系统包括:
读取电子标签的设备,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中,m为大于1的整数;接收电子标签返回的响应,根据所述电子标签返回的响应读取电子标签的标识数据;
电子标签,接收所述读取电子标签的设备发送的前缀数据,并将所述接收到的前缀数据与自身的标识数据进行匹配,如果匹配成功,则向所述读取电子标签的设备返回包含自身标识数据的响应。
一种读取电子标签的设备,该设备包括:
发送单元,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于1的整数;
接收单元,用于接收电子标签返回的响应;
读取单元,用于根据所述接收单元接收到的响应读取电子标签的标识数据。
一种电子标签,该电子标签包括:
接收单元,用于接收前缀数据;
标识存储单元,用于存储所在电子标签的标识数据;
反序单元,用于将标识存储单元存储的标识数据进行反序得到标识数据的反序数据;
匹配单元,用于将所述接收单元接收到的前缀数据与所述反序单元得到的反序数据进行匹配,如果匹配成功,则发送响应通知;
发送单元,用于接收到所述匹配单元发送的响应通知后,从所述标识存储单元中获取标识数据,并发送包含所述标识数据的响应。
由以上技术方案可以看出,本发明实施例提供的方法、系统和设备,通过在前缀栈中初始设置m位二进制数作为前缀数据,其中m为大于1的整数,然后再发送前缀栈中当前栈顶的前缀数据,这样使得在初始发送前缀数据时,可以直接从设置的m位二进制数开始发送前缀数据,而不是象现有技术中一样,从一位的二进制数“0”或“1”开始发送前缀数据,所以,减少了在初始阶段需要在发送的前缀数据后增加“0”和“1”的次数,从而减少了读取所有Tag需要发送前缀数据的次数,提高了读取Tag的效率。
附图说明
图1为现有技术提供的前缀栈中前缀数据的变化图;
图2为本发明实施例提供的读取Tag的方法流程图;
图3为本发明实施例提供的初始设置前缀栈的方法流程图;
图4为本发明实施例提供的前缀数据对应的二叉树结构图;
图5为本发明实施例提供的没有空子树的单支子树结构图;
图6为本发明实施例提供的有空子树的单支子树结构图;
图7为本发明实施例提供的Tag数目为10时的初始前缀栈结构图;
图8为本发明实施例提供的读取Tag的系统组成结构图;
图9.a为本发明实施例提供的读取Tag的设备结构图;
图9.b为本发明实施例提供的初始设置单元的第一种结构图;
图9.c为本发明实施例提供的初始设置单元的第二种结构图;
图10为本发明实施例提供的Tag的组成结构图;
图11.a为本发明实施例提供的Tag数目与发送前缀数据的次数的第一关系图;
图11.b为本发明实施例提供的、在图11.a条件下Tag数目与读取Tag效率的关系图;
图12.a为本发明实施例提供的Tag数目与发送前缀数据的次数的第二关系图;
图12.b为本发明实施例提供的、在图12.a条件下Tag数目与读取Tag效率的关系图。
具体实施方式
为了使本发明的目的、技术方案和优点更加的清楚,下面结合附图和具体实施例对本发明进行详细地描述。
本发明实施例提供的方法主要包括:读取Tag的设备在前缀栈中初始设置m位二进制数作为前缀数据;将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag;接收Tag返回的响应;根据Tag返回的响应读取Tag的标识数据。
其中,根据Tag返回的响应读取Tag的标识数据过程包括:如果接收到一个Tag的响应,则读取所述一个Tag的响应中包含的标识数据,更新前缀栈中当前栈顶的前缀数据,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤;如果没有接收到Tag的响应,则更新前缀栈中当前栈顶的前缀数据,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤;如果接收到多个Tag的响应,则获取所述发送给管辖范围内的Tag的前缀数据,在所述发送给管辖范围内的Tag的前缀数据后分别加上a位二进制数后构成的数据放入前缀栈,将所述发送给管辖范围内的Tag的前缀数据后加上a位二进制数后构成的数据作为当前栈顶的前缀数据,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤,其中,m为大于1的整数,a为至少为1的整数。
在前缀栈中初始设置的前缀数据可以是所有m位二进制数,也可以是部分m位二进制数。其中,如果预先知晓要读取的Tag中,在接收到m位二进制数中的某些二进制数时,所有Tag都不会回复响应,此时,初始设置前缀栈时,排除该不会发生响应的二进制数,只设置其它部分m位二进制数。例如,初始设置2位二进制数时,如果预先知晓要读取的所有Tag的标识数据中,没有前二位数据是11的,在初始设置前缀栈时,只需要在前缀栈中初始设置00、01和10作为前缀数据。在以下实施例中,均以初始设置所有m位二进制数作为前缀数据为例进行描述。
其中,如果接收到多个Tag的响应,在所述发送给管辖范围内的Tag的前缀数据后分别加上a为二进制数后构成的数据放入前缀栈。例如,当a为1时,可以在发送给管辖范围内的Tag的前缀数据后分别加上0和1后的数据放入前缀栈;当a为2时,可以在发送给管辖范围内的Tag的前缀数据后分别加上00、01、10和11后的数据放入前缀栈,以此类推。在以下实施例中,均以在发送给管辖范围内的Tag的前缀数据后分别加上0和1后的数据放入前缀栈为例进行描述。
图2为本发明实施例提供的读取Tag的方法流程图,本发明实施例提供的方法,如图2所示,该方法可以包括以下步骤:
步骤201:根据Tag的数目,在前缀栈中初始设置使得发送前缀数据的次数最小的前缀数据;
当然,在此步骤中,也可以初始设置任意m位(m为大于1的整数)的所有二进制数作为前缀数据。
步骤202:将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag;
在将前缀栈中当前栈顶的前缀数据发送出去后,在前缀栈中,该发送的前缀数据的下一个前缀数据自动地更新为当前栈顶的前缀数据。
步骤203:接收Tag返回的响应;判断接收到的响应个数,如果接收到一个Tag的响应,则执行步骤204;如果没有接收到Tag的响应,则执行步骤205;如果有多个Tag响应,则执行步骤206;
步骤204:读取所述响应中包含的该Tag的标识数据,
步骤205:更新前缀栈中当前栈顶的前缀数据;继续执行步骤202;
步骤206:获取发送给管辖范围内的Tag的前缀数据,在该发送给管辖范围内的Tag的前缀数据后分别加上0和1的数据放入前缀栈,将该发送给管辖范围内的Tag的前缀数据后加上0或加上1的数据作为当前栈顶的前缀数据,继续步骤202。
执行上述步骤,直至将前缀栈中的前缀数据发送完,完成管辖范围内的Tag的读取;也可以记录读取Tag的数目,如果读取Tag的数目达到确定的管辖范围内的Tag的数目时,完成管辖范围内的Tag的读取,即使此时前缀栈中的前缀数据没有发送完,也可以结束流程。也就是在步骤202中执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤之前还包括:
判断记录的已读取Tag的数目是否等于确定的Tag数目,如果是,则结束该方法的流程,如果否,则继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤。
下面分别对本发明方法中的步骤进行详细地描述。下面对步骤201进行详细地描述。如图3所示,步骤201具体包括以下步骤:
步骤301:获取Tag的数目,假设获取的Tag数目为n;
在本步骤中,获取的Tag的数据可以是预先已知的Tag数据的确定值,也可以是对需要读取的Tag数目的估计值。
步骤302:找出满足2T≤n<2T+1的T值,将2T-1、2T和2T+1分别作为N值代入 比较Equery(2T-1)、Equery(2T)和Equery(2T+1)值,如果Equery(2T-1)最小,则令m=T-1;如果Equery(2T)最小,则令m=T;如果Equery(2T+1)最小,则令m=T+1。
本步骤是用来确定使得发送前缀数据的次数最小的前缀数据,其确定过程是在假设Tag满足均匀分布的条件下进行的。其中,Equery(N)的含义是在Tag均匀分布下发送前缀数据次数的平均期望。式子的得出可以由以下过程得到证明:
由于前缀栈的前缀数据均是二进制数,这些二进制数可以构成一个二叉树结构,如图4所示,由于从该二叉树发送出去的前缀数据最终需要只有一个Tag响应时,即只有一个Tag的前缀与该发送的前缀数据对应,才不需要对该发送的前缀数据进一步加上0和1,也就是说,当只有一个Tag的前缀与发送的前缀数据对应时,该发送的前缀数据对应二叉树上的叶节点。该二叉树一个子树上发送出去的前缀数据会包含多个Tag与这些前缀数据对应,每一个节点对应一次发送的前缀数据。
假设该二叉树包含N个子树,n个Tag均匀分布,即每个子树对应一个位数为lg2N的二进制数,若lg2N为小数,则位数为大于lg2N的最小整数,n个Tag的标识信息lg2N位前缀的数值在这N个子树对应的二进制数范围内均匀分布,例如N=16时,n个Tag中,每个Tag的标识信息的4位前缀以相等的概率1/16等于{0000,0001,0010,......,1111}这16个二进制数中的其中之一。此时,对应k个Tag的子树的个数的数学期望为:
假设将单支子树对应的Tag全部读取完毕需要发送前缀数据的次数为Squery(k),其中,k为单支子树中对应的Tag个数,可以采用数学归纳法证明Squery(k)=2k-1 (2)
(2)式的数学归纳法的证明过程为:
1)当k=1时,Squery(1)=2×1-1=1;由于只对应一个Tag时该单支子树只需发送一次前缀数据,所以当k=1时,(2)式成立;
2)假设k<l时,(2)式成立;
3)k=l时,可以分为两种情况:一种是该二叉树没有空子树的情况,一种是该二叉树有空子树的情况。
a、该二叉树没有空子树的情况:假设此时计算的单支子树的结构如图5所示,该单支子树的左子树假设对应l′个Tag,其中l′一定小于l,那么,右子树对应l-l′个Tag,其中,l-l′也必定小于l。
此时,Squery(l)=1+Squery(l′)+Squery(l-l′)
=1+2×l′-1+2(l-l′)-1
=2l-1
b、该二叉树有空子树的情况:如图6所示,将该单支子树向下细分,直到没有空子树,则又等同于a。
由以上数学归纳法可以证明(2)式成立。
假设E0表示对应0个Tag的子树的个数;E1表示对应1个Tag的子树的个数;……Ek表示对应k个Tag的子树的个数。则,E0×0+E1×1+...+En×n=n。
那么对于这个包含N个子树的二叉树,需要发送前缀数据的次数Equery(N)为:
当n≥3N>2N>N时,
所以,
又因为:
所以,
所以,当n≥3N>2N>N时,Equery(N)>Equery(2N) (4)
当n≤N<2N时,
所以,n≤N<2N时,Equery(N)<Equery(2N)。 (5)
因此,由(4)式可得,对于任何N=2m>2T+1>n, 均成立;由(5)式可得,对于任何N=2m<2T-1<2T≤n,Equery(N)>Equery(2N)>Equery(2T-1)均成立。所以,Equery(N)的最小值,仅在N为2T-1、2T和2T+1三个值中取得,比较它们的大小,如果Equery(2T-1)的值最小,则取N=2m=2T-1,即m=T-1;如果Equery(2T)的值最小,则取N=2m=2T,即m=T;如果Equery(2T+1)的值最小,则取N=2m=2T+1,即m=T+1。
下面举一个具体的例子对本步骤进行说明,例如,需要对10个Tag进行读取,则取n为10;找出满足2T≤n<2T+1的T值,由于23<10<24,所以,此时取T=3。将2T-1、2T和2T+1分别作为N值代入
比较Equery(2T-1)、Equery(2T)和Equery(2T+1)值,确定Equery(2T)的值最小,所以,取m=T=3。
需要说明的是,本步骤中提供的计算发送前缀次数平均期望值的公式 是假设Tag满足平均分布的情况下得出的,并不是唯一的公式,Tag满足其它分布情况下得出的发送前缀次数平均期望值的公式在这里不再一一赘述,但利用其它分布情况下得出的发送前缀次数平均期望值的公式用在本发明实施例提供的初始初始设置前缀数据的方法中,即将2T-1、2T和2T+1分别作为N值代入其它Equery(N)的公式中,获取最小值,并将最小值对应的N作为2m,同样在本发明保护的范围之内。
另外,除了本步骤中获取m值的方法外,也可以找出与n最接近的2T的值,令m=T。因为当Tag的数目为n时,初始在前缀栈中设置与n最接近的2T个二进制数作为前缀数据,可以使得发送前缀数据来区分各Tag的次数减少,同样可以达到减少发送前缀数据次数的发明目的,也在本发明保护的范围内。
步骤303:在前缀栈中初始放入所有m位二进制数作为前缀数据。
例如上面的例子中,m取3,则将3位二进制数作为前缀数据放入前缀栈,即将111、110、101、100、011、010、001和000共8个前缀数据初始放入前缀栈;该所有m为二进制数在前缀栈中的排放顺序可以是任意排放的,也可以是以一定的顺序排放的,例如从大到小,其排放结构可以如图7所示。
在前缀栈中设置使得发送前缀数据的次数最小的前缀数据后,将前缀数据当前栈顶的前缀数据发送给管辖范围内的的Tag,等待Tag响应;步骤202和步骤203的执行方法可以与现有技术相同,Tag接收到读取Tag的设备从前缀栈发送的前缀数据后,将接收到的前缀数据与自身的标识数据从前几位开始匹配,如果前缀数据与自身标识数据的前X位相同,则向读取Tag的设备返回包含自身标识数据的响应,其中X为当前接收到的前缀数据的位数。
读取Tag的设备接收Tag返回的响应,如果接收到一个Tag的响应,说明只有一个Tag的前X位与发送的前缀数据相同,则从该收到的响应中读取该Tag的标识数据,完成对该Tag的读取,然后继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤。以图7中所示结构为例,例如:将前缀栈状态1时的当前栈顶的前缀数据111发送给管辖范围内的的Tag,发送后前缀栈中前缀数据结构变为状态2所示,收到一个Tag的响应,此时,读取该响应中包含的该Tag的标识数据,然后,将前缀栈中当前栈顶的前缀数据110发送给管辖范围内的Tag。
如果没有接收到Tag的响应,说明没有一个Tag的前X位与发送的前缀数据相同,则继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤。以图7中所示结构为例,例如:将前缀栈状态2时的当前栈顶的前缀数据110发送给管辖范围内的的Tag,发送后前缀栈中前缀数据结构变为状态3所示,没有收到Tag的响应,说明管辖范围内的Tag中没有标识数据前三位是110的,然后,将前缀栈当前栈顶的前缀数据101发送给管辖范围内的的Tag。
如果接收到多个Tag的响应,说明有多个Tag的前X位与发送的前缀数据相同,需要继续对这些Tag的标识数据的第X+1位进行区分,此时,从收到的各响应中获取各标识数据的前X位重复数据,此重复数据也就是发送的前缀数据,在该重复数据后分别加上0和1的数据顺次放入前缀栈,将重复数据后加上0或加上1的数据作为当前栈顶的前缀数据,继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag的步骤。仍以图7中所示结构为例,例如:将前缀栈状态3时的当前栈顶的前缀数据101发送给管辖范围内的的Tag,接收到多个Tag的响应,说明此时有多个Tag的前三位为101,需要继续对这些Tag的第四位进行区分;从收到的各响应中获取各标识数据的重复数据,此重复数据位101,在该101后分别加上0和1得到1010和1011,并将该1010和1011顺次放入前缀栈,此时前缀栈中的前缀数据可以如状态4所示,当前栈顶的前缀数据为1010,继续将该1010发送给管辖范围内的的Tag,以对这些同时响应的Tag进一步区分。
还可采取另一种匹配方式,在Tag接收到读取Tag的设备发送的前缀数据时,可将收到的前缀数据与自身标识数据的反序数据进行匹配。例如,Tag中的标识数据为X1X2X3...X64,将接收到的前缀数据与X64X63X62...X1进行匹配。进行反序匹配是由于在实际应用中,需要读取的一批Tag通常工作在同一频段,其标识数据的前几位相同的几率很大,例如,同一厂家的物品,其Tag的标识数据前15位可能相同,其余位不同。这种情况下,一般都是从其标识数据的后几位数据进行区分,所以,进行反序匹配,从其标识数据的后几位与前缀数据进行比较,能够减少多个Tag同时响应的几率,提高读取Tag的效率。在这种情况下,读取Tag的设备在从接收到的多个响应中获取发送给管辖范围内的Tag的前缀数据时,从所述多个响应包含的标识数据中获取所述标识数据反序数据的前X位重复数据,该反序数据的前X位重复数据就是发送给管辖范围内的Tag的前缀数据。
另外,读取Tag的设备接收到多个响应时,获取发送给管辖范围内的Tag的前缀数据的方法除了上述从多个响应包含的标识数据中获取之外,还可以在每次发送前缀栈中当前栈顶的前缀数据后,存储该发送的前缀数据,当接收到多个响应时,直接获取存储的该发送的前缀数据。
以上是对本发明实施例提供的方法的描述,下面对本发明实施例提供的系统进行详细描述,如图8所示,该系统主要包括:读取Tag的设备800和Tag 900;
读取Tag的设备800,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag 900;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于1的整数;接收Tag 900返回的响应,根据所述Tag返回的响应读取Tag的标识数据;
Tag 900,接收读取Tag的设备800发送的前缀数据,并将该接收到的前缀数据与自身的标识数据进行匹配,如果匹配成功,则向读取Tag的设备800返回包含自身标识数据的响应。
其中,所述读取Tag的设备800可以为读取器(Reader)或询问机(Interrogator)等设备。
其中,图9.a为本发明实施例提供的读取Tag的设备结构图;读取Tag的设备包括:发送单元801,接收单元802,读取单元803;
发送单元801,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的Tag;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于1的整数;
接收单元802,用于接收Tag返回的响应;
读取单元803,用于根据接收单元802接收到的响应读取Tag的标识数据。
该读取Tag的设备还可以包括:
初始设置单元804,用于在前缀栈中设置m位二进制数作为前缀数据;
其中,读取单元803可以包括:
检测单元8031,用于检接收单元802接收到的响应数目,如果检测到的响应数目为一个,则向标识数据读取单元8032发送读取通知,并触发发送单元801发送当前栈顶的前缀数据;如果检测到响应个数为零,则触发发送单元801发送当前栈顶的前缀数据;如果检测到响应个数为多个,则向后续设置单元8033发送设置通知;
标识数据读取单元8032,用于从接收单元802接收的响应中读取所述响应中包含的Tag的标识数据;
后续设置单元8033,接收到检测单元8031发送的设置通知后,从发送单元801接收到的所述多个响应中,获取该发送给管辖范围内的Tag的前缀数据,将在所述发送给管辖范围内的Tag的前缀数据后分别加上a位二进制数后构成的数据放入前缀栈,并触发所述发送单元801发送当前栈顶的前缀数据,其中,a为至少为1的整数。
其中,初始设置单元804的结构如图9.b所示,包括:Tag数目获取单元805,m值获取单元806和设置单元807;
Tag数目获取单元805,用于获取Tag的数目n,并提供该Tag的数目n;
m值获取单元806,用于根据Tag数目获取单元805提供的Tag的数目n,计算使得发送前缀数据的次数最小的初始前缀栈中二进制数的位数m值;
设置单元807,用于根据m值获取单元806计算的m值,在前缀栈中初始设置m位二进制数作为前缀数据。
其中m值获取单元806可以包括第一T值获取单元808,第一计算单元809,比较单元810;
第一T值获取单元808,用于根据Tag数目获取单元8041提供的Tag的数目,获取满足2T≤n<2T+1的T值,并提供该T值;
第一计算单元809,用于获取第一T值获取单元808提供的T值,将2T-1、2T和2T+1分别作为N值代入Equery(N),计算Equery(2T-1)、Equery(2T)和Equery(2T+1)的值,其中,Equery(N)为发送前缀数据的次数平均期望,N为前缀栈中初始设置的前缀数据数目,Equery(N)是以N为自变量的函数;
比较单元810,用于比较第一计算单元809计算的Equery(2T-1)、Equery(2T)和Equery(2T+1)值的大小,如果Equery(2T-1)最小,则将T-1值作为m值发送给设置单元807;如果Equery(2T)最小,则将T值作为m值发送给设置单元807;如果Equery(2T+1)最小,则将T+1值作为m值发送给设置单元807。
另外,m值获取单元806也可以采用另外一种结构,如图9.c所示,包括:第二计算单元821和第二T值获取单元822;
第二计算单元821,根据Tag数目获取单元805提供的Tag的数目n,获取与该n值最接近的2T的值,并提供该2T的值;
第二T值获取单元822,用于根据第二计算单元821提供的2T的值,获取对应的T值,并将该T值作为m值发送给设置单元807。
设置单元807,用于接收比较单元810发送的m值,并在前缀栈中设置所有m位二进制数作为前缀数据。
该设备还可以包括:前缀栈812,用于存储前缀数据。
该读取Tag的设备800还可以包括:读取记录单元813,用于记录所述读取单元803读取的Tag的数目;
所述发送单元801包括:判断单元814和栈顶发送单元815;
判断单元814,用于获取读取记录单元813记录的读取Tag的数目和初始设置单元804中的Tag数目获取单元805提供的Tag的数目,判断所述读取的Tag数目是否等于Tag数目获取单元805提供的Tag的数目,如果否,则向栈顶发送单元815发送执行通知;
栈顶发送单元815,用于接收到判断单元814发送的执行通知后,发送前缀栈中的当前栈顶的前缀数据。
该设备还可以包括:发送数据存储单元816,用于存储发送单元801发送给管辖范围内的Tag的前缀数据,并提供给所述后续设置单元8033;
该设备还可以包括:发送数据获取单元817,用于从接收单元802接收的多个Tag响应包含的标识数据中,获取该标识数据的前X位重复数据或所述标识数据反序的前X位重复数据,将该获取的重复数据作为发送给所述Tag的前缀数据提供给后续设置单元8033;其中,X为发送给管辖范围内的Tag的前缀数据的位数。
图10为Tag 900的结构示意图,如图10所示,该Tag 900包括:接收单元901、标识存储单元902、反序单元903、匹配单元904和发送单元905;
接收单元901,用于接收前缀数据;
标识存储单元902,用于存储所在Tag的标识数据;
反序单元903,用于将标识存储单元902存储的标识数据进行反序得到标识数据的反序数据;
匹配单元904,用于将接收单元901接收到的前缀数据与反序单元903得到的反序数据进行匹配,如果匹配成功,则向发送单元905发送响应通知;
发送单元905,用于接收到匹配单元904发送的响应通知后,从标识存储单元902中获取标识数据,并发送包含该标识数据的响应。
为了验证采用本发明实施例提供方法、系统和设备时读取Tag的效率,下面利用仿真的方式,对读取Tag的效率进行验证。读取Tag的效率为:Tag的数目与发送前缀数据的次数的比值。图11.a为各Tag的标识数据长度为30位,且标识数据全部随机产生时的Tag数目与发送前缀数据的次数的关系图;图11.b为图11.a条件下Tag数目与读取Tag效率的关系图。图12.a为各Tag的标识长度为30位,且标识数据前15位相同,后15位有差别时,Tag数目与发送前缀数据的次数的关系图;图12.b为在图12.a条件下Tag数目与读取Tag效率的关系图。可以看出,利用本发明实施例提供的读取Tag的方法可以减小发送前缀数据的次数,明显提高读取Tag的效率。
由以上技术方案可以看出,本发明实施例提供的方法、系统和设备,通过在前缀栈中初始设置m位二进制数作为前缀数据,其中m为大于1的整数,然后再发送前缀栈中当前栈顶的前缀数据,这样使得在初始发送前缀数据时,可以直接从设置的m位二进制数开始发送前缀数据,而不是象现有技术中一样,从一位的二进制数“0”或“1”开始发送前缀数据,所以,减少了在初始阶段需要在发送的前缀数据后增加“0”和“1”的次数,从而减少了读取管辖范围内的Tag需要发送前缀数据的次数,提高了读取Tag的效率。
本发明实施例还给出了一种根据Tag的数目,在前缀栈中初始设置前缀数据的方法,使得读取管辖范围内的Tag需要发送前缀数据的次数最小,并在均匀分布的情况下给出了具体实现过程的实施例,最大程度地减少了读取管辖范围内的Tag需要发送前缀数据的次数,进一步提高了读取Tag的效率。
本发明实施例还利用通常Tag的标识数据前几位相同的几率大、通常由后几位数据进行区分的特点,将发送的前缀数据与Tag的标识数据的反序进行匹配,从而更进一步提高了读取Tag的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (21)
1.一种读取电子标签的方法,其特征在于,该方法包括:
将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中,m为大于1的整数;
接收电子标签返回的响应,并根据所述电子标签返回的响应读取电子标签的标识数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述电子标签返回的响应读取电子标签的标识数据包括:
如果接收到一个电子标签的响应,则读取所述一个电子标签的响应中包含的标识数据,更新前缀栈中的当前栈顶,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签的步骤;如果没有接收到电子标签的响应,则更新前缀栈中的当前栈顶,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签的步骤;如果接收到多个电子标签的响应,则获取所述发送给管辖范围内的电子标签的前缀数据,将在所述发送给管辖范围内的电子标签的前缀数据后分别加上a位二进制数后构成的数据放入前缀栈,其中,a为不小于1的整数,将所述发送给管辖范围内的电子标签的前缀数据后加上a位二进制数后构成的数据作为当前栈顶的前缀数据,继续执行所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签的步骤。
3.根据权利要求2所述的方法,其特征在于,所述前缀栈的初始设置包括:根据电子标签的数目n,在前缀栈中初始设置使得发送前缀数据的次数最小的m位二进制数作为前缀数据。
4.根据权利要求3所述的方法,其特征在于,所述根据电子标签的数目n,在前缀栈中初始设置使得发送前缀数据的次数最小的m位二进制数作为前缀数据包括:
获取与所述电子标签的数目n值最接近的2T的值,令m等于T,在前缀栈中设置m位二进制数作为前缀数据;或者,
获取满足2T≤n<2T+1的T值;将2T-1、2T和2T+1分别作为N值代入Equery(N)进行计算,其中,Equery(N)为发送前缀数据的次数平均期望,N为前缀栈中初始设置的前缀数据数目,Equery(N)是以N为自变量的函数;比较Equery(2T-1)、Equery(2T)和Equery(2T+1)值,如果Equery(2T-1)最小,则令m=T-1;如果Equery(2T)最小,则令m=T;如果Equery(2T+1)最小,则令m=T+1;在前缀栈中设置m位二进制数作为前缀数据。
6.根据权利要求2所述的方法,其特征在于,所述电子标签响应的返回过程包括:电子标签将所述前缀数据与自身标识数据的正序进行匹配,如果所述前缀数据与自身标识数据的前X位相同,则返回包含自身标识的响应;或者,
电子标签将所述前缀数据与自身标识数据的反序进行匹配,如果所述前缀数据与自身标识数据的反序数据的前X位相同,则返回包含自身标识的响应;
其中X为所述前缀数据的位数。
7.根据权利要求6所述的方法,其特征在于,所述接收到多个响应时,获取发送给管辖范围内的电子标签的前缀数据包括:当电子标签将所述前缀数据与自身标识数据的正序进行匹配时,从所述多个响应包含的标识数据中获取所述标识数据的前X位重复数据,所述前X位重复数据为所述发送给管辖范围内的电子标签的前缀数据;或者,
当电子标签将所述前缀数据与自身标识数据的反序进行匹配时,从所述多个响应包含的标识数据中获取所述标识数据反序数据的前X位重复数据,所述前X位重复数据为所述发送给管辖范围内的电子标签的前缀数据。
8.根据权利要求2所述的方法,其特征在于,所述接收到多个响应时,获取发送给管辖范围内的电子标签的前缀数据包括:存储发送给管辖范围内的电子标签的前缀数据,接收到多个电子标签的响应时,获取存储的所述发送给管辖范围内的电子标签的前缀数据。
9.根据权利要求1所述的方法,其特征在于,在所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签之前还包括:
判断记录的已读取电子标签的数目是否等于确定的电子标签数目,如果是,则结束该方法的流程,如果否,则继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签的步骤。
10.一种读取电子标签的系统,其特征在于,该系统包括:
读取电子标签的设备,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中,m为大于1的整数;接收电子标签返回的响应,根据所述电子标签返回的响应读取电子标签的标识数据;
电子标签,接收所述读取电子标签的设备发送的前缀数据,并将所述接收到的前缀数据与自身的标识数据进行匹配,如果匹配成功,则向所述读取电子标签的设备返回包含自身标识数据的响应。
11.一种读取电子标签的设备,其特征在于,该设备包括:
发送单元,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于1的整数;
接收单元,用于接收电子标签返回的响应;
读取单元,用于根据所述接收单元接收到的响应读取电子标签的标识数据。
12.根据权利要求11所述的设备,其特征在于,该设备还包括:初始设置单元,用于在前缀栈中设置m位二进制数作为前缀数据。
13.根据权利要求11所述的设备,其特征在于,所述读取单元包括:
检测单元,用于检测所述接收单元接收到的响应数目,如果检测到的响应数目为一个,则发送读取通知,并触发所述发送单元发送当前栈顶的前缀数据;如果检测到响应个数为零,则触发所述发送单元发送当前栈顶的前缀数据;如果检测到响应个数为多个,则发送设置通知;
标识数据读取单元,用于接收到所述检测单元发送的读取通知后,从所述 接收单元接收的响应中读取所述响应中包含的电子标签的标识数据;
后续设置单元,接收到所述检测单元发送的设置通知后,获取所述发送给管辖范围内的电子标签的前缀数据,将在所述发送给管辖范围内的电子标签的前缀数据后分别加上a位二进制数后构成的数据放入前缀栈,其中,a为至少为1的整数,并触发所述发送单元发送当前栈顶的前缀数据。
14.根据权利要求12所述的设备,其特征在于,所述初始设置单元包括:
电子标签数目获取单元,用于获取电子标签的数目n;
m值获取单元,用于根据所述电子标签数目获取单元获取的电子标签的数目n,计算使得发送前缀数据的次数最小的初始前缀栈中二进制的位数m值;
设置单元,用于根据所述m值获取单元计算的m值,在前缀栈中初始设置m位二进制数作为前缀数据。
15.根据权利要求14所述的设备,其特征在于,所述m值获取单元包括:
第一T值获取单元,用于根据所述电子标签数目获取单元提供的电子标签的数目n,获取满足2T≤n<2T+1的T值;
第一计算单元,用于根据所述T值,将2T-1、2T和2T+1分别作为N值代入Equery(N),计算Equery(2T-1)、Equery(2T)和Equery(2T+1)的值,其中,Equery(N)为发送前缀数据的次数平均期望,N为前缀栈中初始设置的前缀数据数目;
比较单元,用于比较所述第一计算单元计算的Equery(2T-1)、Equery(2T)和Equery(2T+1)值的大小,如果Equery(2T-1)最小,则将T-1值作为m值发送给设置单元;如果Equery(2T)最小,则将T值作为m值发送给设置单元;如果Equery(2T+1)最小,则将T+1值作为m值发送给所述设置单元。
16.根据权利要求14所述的设备,其特征在于,所述m值获取单元包括:
第二计算单元,用于根据所述电子标签数目获取单元提供的电子标签的数目n,获取与该n值最接近的2T的值,并提供该2T的值;
第二T值获取单元,用于根据所述第二计算单元提供的2T的值,获取对应 的T值,并将所述T值作为m值发送给所述设置单元。
17.根据权利要求11所述的设备,其特征在于,所述前缀栈,用于存储所述前缀数据。
18.根据权利要求14所述的设备,其特征在于,该设备还包括:读取记录单元,用于记录所述读取单元读取的电子标签的数目;
所述发送单元包括:判断单元和栈顶发送单元;
判断单元,用于获取所述读取记录单元记录的读取电子标签的数目和电子标签数目获取单元提供的电子标签的数目,判断所述读取的电子标签数目是否等于获取单元提供的电子标签的数目,如果否,则发送执行通知;
栈顶发送单元,用于接收到所述判断单元发送的执行通知后,发送前缀栈中的当前栈顶的前缀数据。
19.根据权利要求13所述的设备,其特征在于,该设备还包括:发送数据存储单元,用于存储所述发送单元从前缀栈中发送给管辖范围内的电子标签的前缀数据,提供给所述后续设置单元。
20.根据权利要求13所述的设备,其特征在于,该设备还包括:发送数据获取单元,用于从所述接收单元接收的多个电子标签响应包含的标识数据中,获取所述标识数据的前X位重复数据或所述标识数据反序的前X位重复数据,将所述获取的重复数据作为发送给所述电子标签的前缀数据提供给所述后续设置单元;其中,X为发送给管辖范围内的电子标签的前缀数据的位数。
21. 一种电子标签,其特征在于,该电子标签包括:
接收单元,用于接收前缀数据;
标识存储单元,用于存储所在电子标签的标识数据;
反序单元,用于将标识存储单元存储的标识数据进行反序得到标识数据的反序数据;
匹配单元,用于将所述接收单元接收到的前缀数据与所述反序单元得到的反序数据进行匹配,如果匹配成功,则发送响应通知;
发送单元,用于接收到所述匹配单元发送的响应通知后,从所述标识存储单元中获取标识数据,并发送包含所述标识数据的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101495779A CN101388063B (zh) | 2007-09-12 | 2007-09-12 | 一种读取电子标签的方法、系统、设备和电子标签 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101495779A CN101388063B (zh) | 2007-09-12 | 2007-09-12 | 一种读取电子标签的方法、系统、设备和电子标签 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101388063A CN101388063A (zh) | 2009-03-18 |
CN101388063B true CN101388063B (zh) | 2011-04-20 |
Family
ID=40477479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101495779A Expired - Fee Related CN101388063B (zh) | 2007-09-12 | 2007-09-12 | 一种读取电子标签的方法、系统、设备和电子标签 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101388063B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020145036A1 (en) * | 2001-04-04 | 2002-10-10 | Otto Jerome A. | Radio frequency identification system and method |
CN1726500A (zh) * | 2002-10-25 | 2006-01-25 | 赛宝技术公司 | 通过安全通信优化二叉树遍历 |
CN1804852A (zh) * | 2005-01-12 | 2006-07-19 | 三星电机株式会社 | 使用最佳二叉搜索树的反冲突方法和系统 |
WO2006095953A1 (en) * | 2005-03-10 | 2006-09-14 | Sk Telecom Co., Ltd. | Tag anti-collision rfid system and method for tag identification |
WO2007099340A1 (en) * | 2006-03-03 | 2007-09-07 | Wavetrend Technologies Limited | Signalling in electromagnetic identification apparatus |
-
2007
- 2007-09-12 CN CN2007101495779A patent/CN101388063B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020145036A1 (en) * | 2001-04-04 | 2002-10-10 | Otto Jerome A. | Radio frequency identification system and method |
CN1726500A (zh) * | 2002-10-25 | 2006-01-25 | 赛宝技术公司 | 通过安全通信优化二叉树遍历 |
CN1804852A (zh) * | 2005-01-12 | 2006-07-19 | 三星电机株式会社 | 使用最佳二叉搜索树的反冲突方法和系统 |
WO2006095953A1 (en) * | 2005-03-10 | 2006-09-14 | Sk Telecom Co., Ltd. | Tag anti-collision rfid system and method for tag identification |
WO2007099340A1 (en) * | 2006-03-03 | 2007-09-07 | Wavetrend Technologies Limited | Signalling in electromagnetic identification apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN101388063A (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE42344E1 (en) | Method and apparatus to manage RFID tags | |
EP1859390B1 (en) | Tag anti-collision rfid system and method for tag identification | |
JP2010507877A (ja) | タグを認識する方法及びこれを用いたrfidタグ | |
CN107784247B (zh) | 匿名射频识别系统分阶段丢失关键标签识别方法 | |
CN101606160A (zh) | 模式检测的相关改进 | |
Jia et al. | An improved anti‐collision protocol for radio frequency identification tag | |
CN114186571A (zh) | 一种基于特征组的查询树多标签并发识别方法及系统 | |
Cho et al. | RFID tag anti-collision protocol: query tree with reversed IDs | |
Fahim et al. | Towards extended bit tracking for scalable and robust RFID tag identification systems | |
CN113435220B (zh) | Rfid系统中基于不可靠信道的丢失标签数量估计方法与装置 | |
JP2004038621A (ja) | 複数idのマルチリード方法 | |
Kim et al. | Performance improvement of hybrid tag anti‐collision protocol for radio frequency identification systems | |
CN101388063B (zh) | 一种读取电子标签的方法、系统、设备和电子标签 | |
JP4884632B2 (ja) | 電子タグのコードの同時識別によって電子タグを読み出すためのプロセス | |
CN117669613A (zh) | 一种固定资产管理方法、系统、设备及存储介质 | |
CN109840294B (zh) | 电子元件配套资料查询方法、存储介质及终端 | |
Choi et al. | Scanning-Based Pre-Processing for En hanced Tag Anti-Collision Protocols | |
CN110309235B (zh) | 一种数据处理方法、装置、设备及介质 | |
US20100156604A1 (en) | Rfid tag reading apparatus and method | |
Nanjundaiah et al. | Improvement to the anticollision protocol specification for 900MHz class 0 radio frequency identification tag | |
CN104618344A (zh) | 基于轻量级函数集的rfid系统中标签所有权转换方法 | |
Choi et al. | Anti-collision algorithm using Bin slot in RFID System | |
CN102103640A (zh) | 用于提供物品列表的方法及装置 | |
CN112906415B (zh) | 一种基于样本查询估计的冲突树优化方法 | |
CN109766733B (zh) | 一种基于唯一碰撞集的射频标签监控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110420 Termination date: 20160912 |
|
CF01 | Termination of patent right due to non-payment of annual fee |