1.1自适应二叉树遍历机制
在系统读写识别之前,该机制相当于在碰撞标签堆中利用遍历规则整理出一个有序的队列,从而使标签拥挤状态变成有序状态。自适应二叉树遍历机制[5-6]的搜索过程是根据先序遍历规则,在收集到的所有碰撞标签中,根据碰撞位特征采取向前搜索策略,直到遇到一个可以识别的标签为止;同时再采取后退方式,返回上一查询指令节点,继续搜索直至识别完阅读器工作区域内所有碰撞标签。主要步骤如下:
1)阅读器根据曼彻斯特编码方法得到所有识别标签的碰撞位,得到一个查询指令栈。
2)查询指令栈取出栈顶指令Query(X,N)命令(X为碰撞位查询码,N为标签碰撞的最高位),检测所有标签的碰撞位。
3)检测有无碰撞位编码符合条件的标签,若有两个以上响应,在符合条件的标签中重新执行曼彻斯特编码检测,根据是否连续位调整碰撞位查询码,并修改N值,得到下一次查询命令Query所需的参数,继续搜索直到出现一个碰撞位或者无碰撞位。
4)若有一个碰撞位,可以根据约定直接先后识别两个标签(二进制位上取值具有互斥性,非0即1);若无碰撞,则直接识别单个标签,处理完后回跳到父节点,得到下一次查询命令Query所需的参数。
5)重复进行请求与检测过程,直到查询栈中无查询命令时结束。
算法充分利用返回式搜索[7]和自适应二进制搜索的优点,并根据检测碰撞位是否连续动态生成多分支进行分治,只查询碰撞位的方法,减少了冗余,提高了系统效率。
1.2基于布尔运算的双向认证安全协议
布尔运算是计算机最简单、最擅长、最快速的运算,具有无可媲美的优势,布尔运算贯穿该策略。
1)标签收到阅读器发出的命令数据,与ID编码进行布尔运算,命令数据与标签生成的随机数进行布尔运算[8]。