RFID 是“radio fequency identification,无线射频识别”的缩写,是一种非接触自动识别和数据采集技术,该技术最早诞生于1948年,美国人HarryStrockman在IRE无线电工程师协会学报上发表论文对其理论和实现方法进行了详细描述,迄今已有60年。在进入20世纪90年代后, RFID技术的应用规模急剧扩大,从2000 年之后到现在,RFID产品种类得到极大丰富,成本不断降低,各种新的应用层出不穷。
RFID系统包括RFID硬件和应用支撑软件2个部,硬件部分由电子标签和阅读器组成,电子标签是数据载体,分为无源射频标签、半无源射频标签、有源射频标签3类,无源电子标签通过提取阅读器发出射频能量作为其工作的电源,并将标签内信息向阅读器传送;半无源标签及有源标签的工作能量由电池提供。RFID 中间件则是RF ID软件系统中最重要的一环,它直接面对硬件采集上来的海量数据,对其进行过滤,有效封装后再提交给高层应用软件,被称为是RF ID系统的神经中枢。目前对RFID中间件的研究,主要集中于如何对海量数据进行过滤,去冗余化,并有效挖掘其中的有用信息这样几个方面。笔者结合几年的RFID应用经验,对当前已有的过滤算法进行了研究,并提出了一种带有噪点抑制功能的RFID数据过滤算法,主要解决了RFID数据采集中的噪声干扰以及过滤冗余数据2个问题。
1 RFID中间件构成
根据RFID权威研究机构Auto - ID实验室对其EPC物联网Savant中间件的定义,以及后来由EPCglobal提出的EPC应用层事件规范和低层读写器接口协议,一个最基本的RF ID中间件应该包含如下几个功能模块: Reader接口模块、逻辑驱动器映射模块、RF ID 数据过滤模块、业务规则过滤模块、设备管理与配置模块、上层服务接口模块, 如图1所示。
Reader接口用于中间件与RFID读写器的数据通信,主要有获取RF ID数据以及下达设备管理模块的读写器指令2个功能。
设备管理配置模块用于调整RF ID读写设备的工作状态,配置相应的Reader接口参数等.逻辑读写器映射模块用于将多个物理读写器,或者读写器的多条天线映射成为一个逻辑读写器。 一个逻辑读写器代表了一个有具体含义的数据采集点(比如5号货架) ,而不管该采集点在物理上由多少个读写器和天线组成。它屏蔽了数据采集点的具体实现方式,减少了数据过滤等上层模块与下层数据采集部分的软件耦合度。 对于上层模块来说,可见的只有逻辑读写器,所以逻辑读写器映射模块对RFID数据有初步过滤的功能。
RFID数据过滤与业务规则过滤,这2个部分统称为RFID中间件数据过滤模块,分别在2个层次上对RFID数据进行过滤. 前者对硬件上报的海量RFID 数据进行去冗余化等处理, 是公认的RFID中间件核心功能之一。 后者则在具体业务规则的基础上对过滤后的RFID数据进行进一步组装,使其成为符合上层软件要求的、带有商业含义的事件数据,使抽象的RFID数据拥有了丰富的现实含义。
上层服务接口将经过过滤和组装的RFID数据向上层应用软件发送,以实现更为丰富和贴近现实的功能。
2 RFID数据过滤方法设计
2. 1 现有数据过滤方法及问题分析
从硬件上报的原始RFID数据量非常巨大,根据具体的配置不同,每台读写器每秒可以上报数个至数十个不等的标签数据,但其中只有少部分是对用户有意义的、非重复性的数据,这样大量的数据如果不经过去冗等处理而直接上传,将会给整个RFID系统带来很大的负担。 所以,对RFID数据过滤方法的研究在近几年一直是个热点。
现有过滤方法主要可以分为如下几类:
1) 建立事件列表类. 对每一个新到标签数据进行检测,如果是新标签加入相应列表中,且该标签在列表中已存在,则仅更新对应标签的时间等状态数据,而不新建标签数据记录,以达到去除重复信息的作用。
2) 事件编码类. 对标签状态的改变进行编码,标签出现编码为0,标签消失编码为1. 然后加入计时器机制,对计时器有效时间内的同一标签的状态跳变进行忽略,从而在状态定义和时间维度2个方面对数据进行了去重化。
这些算法均能够很好地消除冗余数据,减少了上层系统的负荷,有着较好的过滤效果. 但在实际应用中,除了RFID数据的去冗化以外,对数据的过滤还有着其他的需求. 比如,由于信号不稳定或其他干扰因素,货架上物品的RFID标签并不能在每一个读写器周期中被检测到;或者当顾客推着小推车从货架旁走过时,其推车内已选购的商品被货架内的读写器误读到。本文中将类似的无效RFID数据称为RFID噪点。
在上述几类过滤算法设计中, RFID噪点显然不是一个被考虑到的因素,只要出现了RFID 标签,哪怕只是误读到一次,也会被作为一个事件数据进行上传。如果上层业务规则过滤模块没有对这些噪点数据进行处理,则会产生一些莫须有的事件记录,对整个系统的数据管理造成很大麻烦,但上层业务规则过滤模块对噪点的发现和抑制显然是一件很难的事情,因为数据采集细节已经被RFID数据过滤模块完全屏蔽掉了,对噪点的发现失去了最基本的依据。
2. 2 带噪点抑制功能的RFID数据过滤方法设计
RFID标签数据由读写器在每个报告周期reportcycle进行上报,在经历多个报告周期之后,一个典型的RFID读写器上报数据如图2所示。
|