一种读取电子标签的方法、系统、设备和电子标签的制作方法

文档序号:6612085阅读:214来源:国知局
专利名称:一种读取电子标签的方法、系统、设备和电子标签的制作方法
技术领域
本发明涉及射频识别技术,特别涉及一种读取电子标签的方法、系统、 设备和电子标签。
背景技术
近来,射频识别技术逐渐开始发展和受到关注,目前其最基本的应用就
是作为一种新的读取电子标签(Tag)的手段,替代现有的条形码系统。读 取Tag的系统主要包括读取Tag的设备和Tag;其中,Tag贴在被识别物 品上,存储该物品的标识数据;读取Tag的设备通过读取Tag中的标识凄t据 实现对物品的识别。通常,读取Tag的设备需要快速的读取管辖范围内所有 Tag,例如,在大量物品入库时,需要对这些物品的Tag进行读取,以便进 行物品信息的录入。由于所有Tag的标识数据差别4艮小,因此,如何读取所 有物品的T ag从而完成物品的识别成为射频识别技术的主要目标。
读取Tag的方法主要是通过在读取Tag的设备中设置前缀栈,将前缀栈 中当前栈顶的前缀数据发送到所有Tag,发送后,所述发送的前缀数据的下 一个前缀数据作为当前栈顶的前缀数据;如果Tag接收到的前缀数据与自身 存储的标识数据的前几位相同,则向读取Tag的i殳备返回响应,该响应中包 含该Tag的标识数据;如果读取Tag的设备只接收到一个Tag返回的响应, 则读取该Tag的标识数据;如果没有接收到Tag返回的响应,则继续发送当 前栈顶的前缀数据;如果接收到多个Tag返回的响应,则说明有多个Tag 的标识数据前几位与当前读取Tag的设备发送的前缀数据相同,所以,需要 进一步区分这些多个Tag标识数据的后续位。
在现有读取Tag的方法中采用的设置和发送前缀栈中的前缀数据方法
如图l所示,图1为现有技术前缀栈中前缀数据的变化图,首先在前缀栈中 初始设置0和1两个二进制数作为前缀数据,首先将当前栈顶的前缀数据0
发送给所有Tag,假设此时有多个Tag响应,其中,所述Tag回复的响应中 包含该Tag的标识数据,说明响应的Tag的标识数据的第一位都是0,当前 的重复数据为O,需要对这些响应的Tag的标识数据的第二位进行识别;在 所述当前的重复数据后分别加上0和1放入前缀栈,即在前缀栈中加入00 和Ol,当前前缀栈的栈顶变为00,继续将当前的前缀栈的栈顶OO发送给所 有Tag,假设此时仍有多个Tag响应,说明响应的Tag的标识数据的前两位 都是OO,当前的重复数据为OO,需要对响应的Tag的标识数据的第三位进 行识别;在所述当前的重复数据后分别加上0和1》文入前缀栈,即在当前栈 顶加入000和001;发送当前的栈顶000给响应的Tag,假设此时只有一个 Tag响应,则读取该响应中该Tag的标识lt据,此时就完成了 一个Tag的读 取;继续将当前栈顶的前缀数据001发送给所有Tag,假设此时没有Tag响 应,说明剩下的Tag中没有前三位标识数据是001的;继续将当前栈顶的前 缀数据01发送给所有Tag,......循环执行类似步骤,直至前缀栈中的数据
为空,即可完成所有Tag的读取。
然而,当Tag数目较大时,由于各Tag标识数据的前几位相同的概率很 大,在上述现有技术中采用的读取Tag的方法中,由于初始设置前缀栈时, 在前缀栈中初始设置的前缀数据为一位的二进制数据"0"和"1",在发 送前缀栈中前缀数据的初始阶段发生多个tag同时响应的概率也很大,这就 使得初始阶段需要多次在发送的前缀数据后增加"0"和"1"才能读取一个 Tag,也相应地导致了读取所有Tag需要发送前缀栈中前缀数据的次数很多, 这就使得读取Tag的效率很低。

发明内容
本发明实施例提供了一种读取Tag的方法、系统和设备,以便于提高读 取Tag的效率。
一种读取电子标签的方法,该方法包括
将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀 栈中初始设置有m位二进制数作为前缀数据,其中,m为大于l的整数;
接收电子标签返回的响应,并根据所述电子标签返回的响应读取电子标签 的标识数据。
一种读取电子标签的系统,该系统包括
读取电子标签的设备,用于将前缀栈中当前栈顶的前缀数据发送给管辖范 围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中, m为大于l的整数;接收电子标签返回的响应,根据所述电子标签返回的响应 读取电子标签的标识数据;
电子标签,接收所述读取电子标签的设备发送的前缀数据,并将所述接收 到的前缀数据与自身的标识数据进行匹配,如果匹配成功,则向所述读取电子 标签的设备返回包含自身标识数据的响应。
一种读取电子标签的设备,该设备包括
发送单元,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子 标签;其中,所述前缀栈中初始设置有m位二进制^t作为前缀数据,m为大于 1的整数;
接收单元,用于接收电子标签返回的响应;
读取单元,用于根据所述接收单元接收到的响应读取电子标签的标识数据。 一种电子标签,该电子标签包括 接收单元,用于接收前缀数据; 标识存储单元,用于存储所在电子标签的标识数据; 反序单元,用于将标识存储单元存储的标识数据进行反序得到标识数据的 反序数据;
匹配单元,用于将所述接收单元接收到的前缀数据与所述反序单元得到的 反序数据进行匹配,如果匹配成功,则发送响应通知;
发送单元,用于接收到所述匹配单元发送的响应通知后,,人所述标识存
储单元中获取标识数据,并发送包含所迷标识数据的响应。
由以上技术方案可以看出,本发明实施例提供的方法、系统和设备,通
过在前缀栈中初始设置m位二进制数作为前缀数据,其中m为大于1的整 数,然后再发送前缀栈中当前栈顶的前缀数据,这样使得在初始发送前缀数 据时,可以直接从设置的m位二进制数开始发送前缀数据,而不是象现有 技术中一样,从一位的二进制数"0"或"1"开始发送前缀数据,所以,减 少了在初始阶段需要在发送的前缀数据后增加"0"和'T,的次数,从而减 少了读取所有Tag需要发送前缀数据的次数,提高了读取Tag的效率。


图1为现有技术提供的前缀栈中前缀数据的变化图2为本发明实施例提供的读取Tag的方法流程图3为本发明实施例提供的初始设置前缀栈的方法流程图4为本发明实施例提供的前缀数据对应的二叉树结构图5为本发明实施例提供的没有空子树的单支子树结构图6为本发明实施例提供的有空子树的单支子树结构图7为本发明实施例提供的Tag数目为10时的初始前缀栈结构图8为本发明实施例提供的读取Tag的系统组成结构图9.a为本发明实施例提供的读取Tag的设备结构图9.b为本发明实施例提供的初始设置单元的第一种结构图9.c为本发明实施例提供的初始设置单元的第二种结构图IO为本发明实施例提供的Tag的组成结构图ll.a为本发明实施例提供的Tag数目与发送前缀数据的次数的第一 关系图ll.b为本发明实施例提供的、在图ll.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:找出满足2r^n〈2^的T值,将2「\ 2T和2"'分别作为N值
五^(2「')最小,则令m4-l;如果五『(2^最小,则令n^T;如果U2"')最 小,则令m-T+l。
本步骤是用来确定使得发送前缀数据的次数最小的前缀数据,其确定过 程是在假设Tag满足均匀分布的条件下进行的。其中,^,(AO的含义是在 Tag均匀分布下发送前缀数据次数的平均期望。式子的得出可以由以下过程 得到证明
由于前缀栈的前缀数据均是二进制数,这些二进制数可以构成一个二叉 树结构,如图4所示,由于从该二叉树发送出去的前缀数据最终需要只有一 个Tag响应时,即只有一个Tag的前缀与该发送的前缀数据对应,才不需要 对该发送的前缀数据进一步加上0和1,也就是说,当只有一个Tag的前缀 与发送的前缀数据对应时,该发送的前缀数据对应二叉树上的叶节点。该二
叉树一个子树上发送出去的前缀数据会包含多个Tag与这些前缀数据对应,
每一个节点对应 一次发送的前缀数据。
々I设该二叉树包含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的子树的个^:的数学期望为
<formula>formula see original document page 15</formula>
假设将单支子树对应的Tag全部读取完毕需要发送前缀数据的次数为 其中,k为单支子树中对应的Tag个数,可以采用数学归纳法证 明W^2k-l (2)
(2)式的数学归纳法的证明过程为 1) 当k-l时,^^(1) = 2x1-1 = 1;由于只对应一个Tag时该单支
子树只需发送一次前缀数据,所以当k4时,(2)式成立; 假设"/时,(2)式成立;
* = /时,可以分为两种情况 一种是该二叉树没有空子树的情 况, 一种是该二叉树有空子树的情况。
该二叉树没有空子树的情况假设此时计算的单支子树的结构 如图5所示,该单支子树的左子树假设对应/'个Tag,其中/'一 定小于/,那么,右子树对应/-/'个Tag,其中,/-/'也必定小 于/。
此时,= 1 + + \呵(/-/')
=l + 2x/'-l + 2(/-/')-l =2/-1
b、 该二叉树有空子树的情况如图6所示,将该单支子树向下细 分,直到没有空子树,则又等同于a。 由以上数学归纳法可以证明(2)式成立。
假设£。表示对应0个Tag的子树的个数;《表示对应1个Tag的子树的 个凄史;……^表示只于应k个Tag的子杉于的个凄t。贝寸,五oxO + Axl +…+五"x"-"。 那么对于这个包含N个子树的二叉树,需要发送前缀数据的次数<formula>formula see original document page 16</formula>
(3)<formula>formula see original document page 16</formula><formula>formula see original document page 16</formula>
所以五<formula>formula see original document page 16</formula>
又因为<formula>formula see original document page 16</formula>
所以,<formula>formula see original document page 17</formula>
所以,当"》37V〉2iV〉iV时<formula>formula see original document page 17</formula>
当"沢27V时<formula>formula see original document page 17</formula>
所以,";v〈2iv时,A^(A0〈A卿(2A0。
因此,由(4 )式可得,对于任何N = 2W > 2"1 >",
A呵(^0〉^^(f)〉A呵(2^)均成立;由(5)式可得,对于任何N = r < 2w < f ^ , £w (A0 > £w (2TV) > A, )均成立。所以,
^V"(^)的最小值,仅在N为2「1、 2f和2^三个值中取得,比较它们的
大小,如果U2")的值最小,则取N: " = 2r—、即m-T-l;如果A,(2" 的值最小,则取N= 2W = 2r ,即m = T;如果£,(2r+1)的值最小,则取N
=2W = 2r+1,即m = T+l。
下面举一个具体的例子对本步骤进行说明,例如,需要对lO个Tag进
行读取,则取n为10;找出满足2^"〈2^的T值,由于23 <10<24 ,所以,
此时取了=3。将2「1、 2r和2^分别作为N值代入^呵(A0-2yV(l-^)"+2"-iV;
<formula>formula see original document page 17</formula>
五,(2') = £w(23) = U23) = 2x23 x(l —^)10+2xl0 —23 16.2092;
A,(2r+1) = U23+1) = U24) = 2x24X(l-^T+2xl0-24 *20.7827;
比较U2"')、五,(^)和U2,值,确定&町(2"的值最小,所以,取m =T = 3。
需要说明的是,本步骤中提供的计算发送前缀次数平均期望值的公式 UW卜2iV(l-丄)"+ 2"-iV,是假设Tag满足平均分布的情况下得出的,并不
是唯一的公式,Tag满足其它分布情况下得出的发送前缀次数平均期望值的 公式在这里不再——赘述,但利用其它分布情况下得出的发送前缀次数平均 期望值的公式用在本发明实施例提供的初始初始设置前缀数据的方法中,即 将2^、 2T和2^分别作为N值代入其它&,(A0的公式中,获取最小值,并 将最小值对应的N作为2"1,同样在本发明保护的范围之内。
另夕卜,除了本步骤中获取m值的方法外,也可以找出与n最接近的2f的 值,令m-T。因为当Tag的数目为n时,初始在前缀栈中设置与n最接近 的2T个二进制数作为前缀数据,可以使得发送前缀数据来区分各Tag的次数 减少,同样可以达到减少发送前缀数据次数的发明目的,也在本发明保护的 范围内。
步骤303:在前缀栈中初始放入所有m位二进制数作为前缀数据。 例如上面的例子中,m取3,则将3位二进制数作为前缀数据放入前缀 栈,即将lll、 110、 101、 100、 011、 010、 001和OOO共8个前缀数据初始 放入前缀栈;该所有m为二进制数在前缀栈中的排放顺序可以是任意排放 的,也可以是以一定的顺序排放的,例如从大到小,其排放结构可以如图7 所示。
在前缀栈中设置使得发送前缀数据的次数最小的前缀数据后,将前缀数 据当前栈顶的前缀数据发送给管辖范围内的的Tag,等待Tag响应;步骤202 和步骤203的执行方法可以与现有技术相同,Tag接收到读取Tag的设备从
前缀栈发送的前缀数据后,将接收到的前缀数据与自身的标识数据从前几位
开始匹配,如果前缀数据与自身标识数据的前X位相同,则向读取Tag的 设备返回包含自身标识数据的响应,其中X为当前接收到的前缀数据的位数。
读取Tag的设备接收Tag返回的响应,如杲接收到 一 个Tag的响应, 说明只有 一 个Tag的前X位与发送的前缀数据相同,则从该收到的响应中 读取该Tag的标识数据,完成对该Tag的读取,然后继续执行将前缀栈中当 前栈顶的前缀数据发送给管辖范围内的Tag的步骤。以图7中所示结构为例, 例如将前缀栈状态1时的当前栈顶的前缀数据lll发送给管辖范围内的的 Tag,发送后前缀栈中前缀数据结构变为状态2所示,收到一个Tag的响应, 此时,读取该响应中包含的该Tag的标识数据,然后,将前缀栈中当前栈顶 的前缀数据IIO发送给管辖范围内的Tag。
如果没有接收到Tag的响应,说明没有一个Tag的前X位与发送的前 缀数据相同,则继续执行将前缀栈中当前栈顶的前缀数据发送给管辖范围内 的Tag的步骤。以图7中所示结构为例,例如将前缀栈状态2时的当前栈 顶的前缀数据IIO发送给管辖范围内的的Tag,发送后前缀栈中前缀数据结 构变为状态3所示,没有收到Tag的响应,说明管辖范围内的Tag中没有标 识数据前三位是110的,然后,将前缀栈当前栈顶的前缀数据101发送给管 辖范围内的的Tag。
如果接收到多个Tag的响应,说明有多个Tag的前X位与发送的前缀 数据相同,需要继续对这些Tag的标识数据的第X+l位进行区分,此时, 从收到的各响应中获取各标识数据的前X位重复数据,此重复数据也就是 发送的前缀数据,在该重复数据后分别加上O和1的数据顺次放入前缀栈, 将重复数据后加上O或加上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 中的标识数据为;^X2Z3... J64 ,将接收到的前缀数据与义64义63义62... X,进行匹 配。进行反序匹配是由于在实际应用中,需要读取的一批Tag通常工作在同 一频段,其标识数据的前几位相同的几率很大,例如,同一厂家的物品,其 Tag的标识数据前15位可能相同,其余位不同。这种情况下, 一般都是从 其标识数据的后几位数据进行区分,所以,进行反序匹配,从其标识数据的 后几位与前缀数据进行比较,能够减少多个Tag同时响应的几率,提高读取 Tag的效率。在这种情况下,读取Tag的设备在从接收到的多个响应中获取 发送给管辖范围内的Tag的前缀数据时,从所述多个响应包含的标识数据中 获取所述标识数据反序数据的前X位重复数据,该反序数据的前X位重复 数据就是发送给管辖范围内的Tag的前缀数据。
另外,读取Tag的设备接收到多个响应时,获取发送给管辖范围内的 Tag的前缀数据的方法除了上述从多个响应包含的标识数据中获取之外,还 可以在每次发送前缀栈中当前栈顶的前缀数据后,存储该发送的前缀数据, 当接收到多个响应时,直接获取存储的该发送的前缀数据。
以上是对本发明实施例提供的方法的描述,下面对本发明实施例提供的 系统进行详细描述,如图8所示,该系统主要包括读取Tag的设备800和 Tag 900;
读取Tag的设备800,用于将前缀栈中当前栈顶的前缀数据发送给管辖 范围内的Tag900;其中,所述前缀栈中初始设置有m位二进制数作为前缀
数据,m为大于1的整数;接收Tag 900返回的响应,根据所述Tag返回的 响应读取Tag的标识lt据;
Tag 900,接收读取Tag的设备800发送的前缀数据,并将该接收到的 前缀数据与自身的标识数据进行匹配,如果匹配成功,则向读取Tag的设备
800返回包含自身标识数据的响应。
其中,所述读取Tag的"it备800可以为读取器(Reader )或询问机 (Interrogator)等设备。
其中,图9.a为本发明实施例提供的读取Tag的设备结构图;读取Tag的设 备包括发送单元801,接收单元802,读取单元803;
发送单元801,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的 Tag;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于l 的整数;
接收单元802,用于接收Tag返回的响应;
读取单元803,用于根据接收单元802接收到的响应读取Tag的标识数据。 该读取Tag的设备还可以包括
初始设置单元804,用于在前缀栈中设置m位二进制数作为前缀数据; 其中,读取单元803可以包括
检测单元8031,用于检接收单元802接收到的响应数目,如果检测到的响 应数目为一个,则向标识数据读取单元8032发送读取通知,并触发发送单元 801发送当前栈顶的前缀数据;如果检测到响应个数为零,则触发发送单元801 发送当前栈顶的前缀数据;如果检测到响应个数为多个,则向后续设置单元 8033发送"i殳置通知;
标识数据读取单元8032,用于乂人接收单元802接收的响应中读取所述响应 中包含的Tag的标识数据;
后续设置单元8033,接收到检测单元8031发送的设置通知后,从发送单 元801接收到的所述多个响应中,获取该发送给管辖范闺内的Tag的前缀数据, 将在所述发送给管辖范围内的Tag的前缀数据后分别加上a位二进制数后构成
的数据放入前缀栈,并触发所述发送单元801发送当前栈顶的前缀数据,其中, a为至少为1的整^L
其中,初始设置单元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的数 目,获取满足2^"〈2^的T值,并提供该T值;
第一计算单元809,用于获取第一T值获取单元808提供的T值,将2「1、
2r和2r+1分别作为N值代入^, (A° ,计算A, (2「1) 、 )和A, (2"1)的值,
其中,A,(W为发送前缀数据的次数平均期望,N为前缀栈中初始设置的前缀
数据数目,A,(^)是以N为自变量的函数;
比较单元810,用于比较第一计算单元809计算的A,(2「1)、 A,P"和 A,(^+')值的大小,如果A,(^力最小,则将T-l值作为m值发送给设置单 元807;如果A,P"最小,则将T值作为m值发送给^没置单元807;如果 A,(f)最小,则将t + 1值作为m值发送给设置单元807。
另外,m值获取单元806也可以采用另外一种结构,如图9.c所示,包括 第二计算单元821和第二 T值获取单元822;
第二计算单元821 ,根据Tag数目获取单元805提供的Tag的数目n,获取 与该n值最接近的^的值,并提供该^的值;
第二T值获取单元822,用于根据第二计算单元821提供的^的值,获取 对应的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卯0包括接收 单元901、标识存储单元902、反序单元903、匹配单元904和发送单元905;
接收单元901,用于接收前缀数据;
标识存储单元902,用于存储所在Tag的标识数据;
反序单元903,用于将标识存储单元902存储的标识数据进行反序得到标
识数据的反序数据;
匹配单元904,用于将接收单元901接收到的前缀数据与反序单元903得 到的反序数据进行匹配,如果匹配成功,则向发送单元905发送响应通知;
发送单元905,用于接收到匹配单元904发送的响应通知后,乂人标识存 储单元卯2中获取标识数据,并发送包含该标识数据的响应。
为了验证采用本发明实施例提供方法、系统和设备时读取Tag的效率, 下面利用仿真的方式,对读取Tag的效率进行-验证。读取Tag的效率为 Tag的数目与发送前缀数据的次数的比值。图ll.a为各Tag的标识数据长度 为30位,且标识数据全部随机产生时的Tag数目与发送前缀数据的次数的 关系图;图ll.b为图U.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的标识H据前几位相同的几率大、通常由
后几位数据进行区分的特点,将发送的前缀数据与Tag的标识数据的反序进 行匹配,从而更进一步提高了读取Tag的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
权利要求
1、一种读取电子标签的方法,其特征在于,该方法包括将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中,m为大于1的整数;接收电子标签返回的响应,并根据所述电子标签返回的响应读取电子标签的标识数据。
2、根据权利要求1所述的方法,其特征在于,所述根据所述电子标签返回 的响应读取电子标签的标识数据包括如果接收到一个电子标签的响应,则读取所述一个电子标签的响应中包含 的标识凄t据,更新前缀栈中的当前栈顶,继续执行所述将前缀栈中当前栈顶的 前缀数据发送给管辖范围内的电子标签的步骤;如果没有接收到电子标签的响 应,则更新前缀栈中的当前栈顶,继续执行所述将前缀栈中当前栈顶的前缀数 据发送给管辖范围内的电子标签的步骤;如果接收到多个电子标签的响应,则 获取所述发送给管辖范围内的电子标签的前缀数据,将在所述发送给管辖范围 内的电子标签的前缀数据后分别加上a位二进制数后构成的数据放入前缀栈, 其中,a为不小于1的整数,将所述发送给管辖范围内的电子标签的前缀数据 后加上a位二进制数后构成的数据作为当前栈顶的前缀数据,继续执行所述将 前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签的步骤。
3、 根据权利要求2所述的方法,其特征在于,所述前缀栈的初始设置包括 根据电子标签的数目n,在前缀栈中初始设置使得发送前缀数据的次数最小的 m位二进制数作为前缀数据。
4、 根据权利要求3所述的方法,其特征在于,所述根据电子标签的数目n, 在前缀栈中初始设置使得发送前缀数据的次数最小的m位二进制数作为前缀数 据包括获取与所述电子标签的数目n值最接近的^的值,令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-l;如果Equery(2T)最小,则令m-T; 如果Equery(2T+1)最小,则令m=T+l;在前缀栈中设置m位二进制数作为前缀数据。
5、 根据权利要求4所述的方法,其特征在于,所述Equery(N)为2N(1-1/N)n+2n-N。
6、 根据权利要求2所述的方法,其特征在于,所述电子标签响应的返回过 程包括电子标签将所述前缀数据与自身标识数据的正序进行匹配,如果所述 前缀数据与自身标识数据的前X位相同,则返回包含自身标识的响应;或者,电子标签将所述前缀数据与自身标识数据的反序进行匹配,如杲所述前缀 数据与自身标识数据的反序数据的前X位相同,则返回包含自身标识的响应; 其中X为所述前缀数据的位数。
7、 根据权利要求6所述的方法,其特征在于,所述接收到多个响应时,获 取发送给管辖范围内的电子标签的前缀数据包括当电子标签将所述前缀数据 与自身标识数据的正序进行匹配时,从所述多个响应包含的标识数据中获取所 述标识数据的前X位重复数据,所述前X位重复数据为所述发送给管辖范围内 的电子标签的前缀数据;或者,当电子标签将所述前缀数据与自身标识数据的反序进行匹配时,从所述多 个响应包含的标识数据中获取所述标识数据反序数据的前X位重复数据,所述 前X位重复数据为所述发送给管辖范围内的电子标签的前缀数据。
8、 根据权利要求2所述的方法,其特征在于,所述接收到多个响应时,获 取发送给管辖范围内的电子标签的前缀数据包括存储发送给管辖范围内的电 子标签的前缀数据,接收到多个电子标签的响应时,获取存储的所述发送给管 辖范围内的电子标签的前缀it据。
9、 根据权利要求1所述的方法,其特征在于,在所述将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签之前还包括 判断记录的已读取电子标签的数目是否等于确定的电子标签数目 ,如果是, 则结束该方法的流程,如果否,则继续执行将前缀栈中当前栈顶的前缀数据发 送给管辖范围内的电子标签的步骤。
10、 一种读取电子标签的系统,其特征在于,该系统包括 读取电子标签的设备,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子标签;所述前缀栈中初始设置有m位二进制数作为前缀数据,其中, m为大于l的整数;接收电子标签返回的响应,根据所述电子标签返回的响应 读取电子标签的标识数据;电子标签,接收所述读取电子标签的设备发送的前缀数据,并将所述接收 到的前缀数据与自身的标识数据进行匹配,如果匹配成功,则向所述读取电子 标签的设备返回包含自身标识数据的响应。
11、 一种读取电子标签的设备,其特征在于,该设备包括发送单元,用于将前缀栈中当前栈顶的前缀数据发送给管辖范围内的电子 标签;其中,所述前缀栈中初始设置有m位二进制数作为前缀数据,m为大于 1的整数;接收单元,用于接收电子标签返回的响应;读取单元,用于根据所述接收单元接收到的响应读取电子标签的标识数据。
12、 根据权利要求11所述的设备,其特征在于,该设备还包括初始设置 单元,用于在前缀栈中设置m位二进制数作为前缀数据。
13、 根据权利要求11所迷的设备,其特征在于,所述读取单元包括 检测单元,用于检测所述接收单元接收到的响应数目,如果检测到的响应数目为一个,则发送读取通知,并触发所述发送单元发送当前栈顶的前缀数据; 如果检测到响应个数为零,则触发所述发送单元发送当前栈顶的前缀数据;如 果;f企测到响应个数为多个,则发送设置通知;标识数据读取单元,用于接收到所述检测单元发送的读取通知后,从所述:识数据;后续设置单元,接收到所述检测单元发送的设置通知后,获取所述发送给 管辖范围内的电子标签的前缀数据,将在所述发送给管辖范围内的电子标签的前缀数据后分别加上a位二进制数后构成的数据;故入前缀栈,其中,a为至少 为l的整数,并触发所述发送单元发送当前栈顶的前缀数据。
14、 根据权利要求12所述的设备,其特征在于,所述初始设置单元包括 电子标签数目获取单元,用于获取电子标签的数目n;m值获取单元,用于根据所述电子标签数目获取单元获取的电子标签的数 目n,计算使得发送前缀数据的次数最小的初始前缀栈中二进制的位数m值;设置单元,用于根据所述m值获取单元计算的m值,在前缀栈中初始设置 m位二进制数作为前缀数据。
15、 根据权利要求14所述的设备,其特征在于,所述m值获取单元包括 第一 T值获取单元,用于根据所述电子标签数目获取单元提供的电子标签的数目n,获取满足2^"<2"'的T值;第一计算单元,用于根据所述T值,将2「1、 y和^+'分别作为N值代入 g呵(W),计算五,"2")、 &呵(2"和£9呵(27+1)的值,其中,^呵(〃)为发送前缀 数据的次数平均期望,N为前缀栈中初始设置的前缀数据数目;比较单元,用于比较所述第一计算单元计算的&""(2M) 、 &""(2"和 五 呵(2"+1)值的大小,如果A,(2「')最小,则将T-1值作为m值发送给设置单元;如果A,P"最小,则将T值作为m值发送给设置单元;如果^,(^,最 小,则将T + 1值作为m值发送给所述设置单元。
16、 根据权利要求14所述的设备,其特征在于,所述m值获取单元包括 第二计算单元,用于根据所述电子标签数目获取单元提供的电子标签的数目n,获取与该n值最接近的^的值,并提供该^的值;第二T值获取单元,用于根据所述第二计算单元提供的y的值,获取对应的T值,并将所述T值作为m值发送给所述设置单元。
17、 根据权利要求11所述的设备,其特征在于,该设备还包括前缀栈, 用于存储所述前缀数据。
18、 根据权利要求14所述的设备,其特征在于,该设备还包括读取记录 单元,用于记录所述读取单元读取的电子标签的凄t目;所述发送单元包括判断单元和栈顶发送单元;判断单元,用于获取读取所述记录单元记录的读取电子标签的数目和电子 标签数目获取单元提供的电子标签的数目,判断所述读取的电子标签数目是否 等于获取单元提供的电子标签的数目,如果否,则发送执行通知;栈顶发送单元,用于接收到所述判断单元发送的执行通知后,发送前缀栈 中的当前栈顶的前缀数据。
19、 根据权利要求13所述的设备,其特征在于,该设备还包括发送数据 存储单元,用于存储所述发送单元从前缀栈中发送给管辖范围内的电子标签的 前缀数据,提供给所述后续设置单元。
20、 根据权利要求13所述的设备,其特征在于,该设备还包括发送数据 获取单元,用于从所述接收单元接收的多个电子标签响应包含的标识数据中, 获取所述标识数据的前X位重复数据或所述标识数据反序的前X位重复数据, 将所述获取的重复数据作为发送给所述电子标签的前缀数据提供给所述后续设 置单元;其中,X为发送给管辖范围内的电子标签的前缀数据的位数。
21、 一种电子标签,其特征在于,该电子标签包括 接收单元,用于接收前缀数据; 标识存储单元,用于存储所在电子标签的标识数据;反序单元,用于将标识存储单元存储的标识数据进行反序得到标识数据的 反序数据;匹配单元,用于将所述接收单元接收到的前缀数据与所述反序单元得到的 反序数据进行匹配,如果匹配成功,则发送响应通知;发送单元,用于接收到所述匹配单元发送的响应通知后,从所述标识存储单元中获取标识数据,并发送包含所述标识数据的响应。
全文摘要
本发明实施例提供了一种读取电子标签的方法、系统、设备和电子标签,通过在前缀栈中初始设置m位二进制数作为前缀数据,其中m为大于1的整数,然后再发送前缀栈中当前栈顶的前缀数据,这样使得在初始发送前缀数据时,可以直接从设置的m位二进制数开始发送前缀数据,而不是像现有技术中一样,从一位的二进制数“0”或“1”开始发送前缀数据,所以,减少了在初始阶段需要在发送给Tag的前缀数据后增加“0”和“1”的次数,从而减少了读取管辖范围内的Tag需要发送前缀数据的次数,提高了读取Tag的效率。并且本发明具体给出了使得发送前缀数据次数最小的初始前缀数据设置方法和Tag标识数据的反序匹配方法,进一步提高了读取Tag的效率。
文档编号G06K7/00GK101388063SQ20071014957
公开日2009年3月18日 申请日期2007年9月12日 优先权日2007年9月12日
发明者培 刘, 崔英花, 张兴炜, 赵玉萍 申请人:华为技术有限公司;北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1