电话:13691762133
手机:13691762133
邮件:andy@ownlikes.cn
QQ:317779813
地址:深圳市龙华新区观澜大道35号1栋3楼
网址 : www.hysrfid.com
RFID中间件平台主要分为3个层次,自底向上依次为数据采集层、事件处理层、信息发布层。数据采集层(读写器标签等)负责采集粘贴在物品上的标签信息;事件处理层负责处理来自数据采集层的事件和数据;信息发布层负责处理来自事件处理层的抽象事件信息,对其进行存储、传送和发布等处理以服务用户。
1)数据采集层
数据采集层的设计目标是为整个系统提供精确的实时数据。整个系统的可用性、可靠性等都以此为基础。它主要包含阅读器的管理、大规模阅读器间的协调、异构阅读器网络的管理等功能。
2)事件处理层
事件处理层是RFID中间件平台的核心。RFID事件处理以形式化方法、数据挖掘、神经网络、传感网络、复杂事件处理等理论为基础,针对原始数据规模大和原始数据包含的语义信息少两个问题,有效减少了数据冗余、压缩事件规模并为上层商业应用提供语义信息。
RFID事件处理的主要研究内容包括事件描述、事件过滤、事件挖掘、事件聚合、事件响应、事件存储等。
(1)事件描述。事件是“指示某种行为的信息”,包括系统产生的消息,系统状态的改变,任务的开始和结束等。事件在形式上类似于消息,如都包含数据,其不同之处在于事件直接指示某些行为的发生。事件根据角度不同有多种分类方法。根据事件语义的聚合程度不同,事件可以分为简单事件和复杂事件;从分层的角度划分,事件又可分为底层事件和高层事件,底层事件是系统产生的实际事件(Actual Event),高层事件是由用户自定义的,从低层事件映射而成的复杂事件(虚拟事件),复杂事件包含了更多的语义信息。从系统响应的角度来划分,事件可以分为常规事件、异常事件等。已有的事件处理模型主要包括ECA(Event-Condition-Action),CEP(Complex Event Processing)Situation Manager等。
(2)事件过滤。事件过滤是指在输入的巨量事件中发现有用的和重要的事件,过滤冗余的、无关的数据,其目标在于减少事件的数量。在RFID事件过滤方面,尚无成熟的过滤规则或标准可以遵循。Sun和SAP定义了一些简单过滤规则,如smooth、delta、bandpass等。尽管商业逻辑不同,但过滤都可归结为一些特定操作,如分组、计数、冗余删除、区分等。
(3)事件挖掘。事件挖掘是指基于事件之间的时间、空间和因果关系及事件的属性信息,利用形式化的模式语言,实时地从大规模事件集合中提取模式的过程。这个过程所发现的模式是事件聚合的基础。事件挖掘是数据挖掘在复杂事件处理研究领域的延伸。
(4)事件聚合。事件聚合是指由匹配某种模式的事件子集生成符合相应输出模式的高层事件的过程。该事件通常具有更丰富的语义信息,更易于被应用程序所理解和使用。
(5)事件响应。事件响应是由事件聚合产生的高层事件,触发用户预设的动作或行为,为反应式(Reactive)应用与主动式(Proactive)应用提供良好的支持。
(6)事件存储。事件存储当前研究的主要目标是为了更高效地处理大批量事件数据,减少数据处理中对后台数据库的频繁操作和因存储、查询所带来的数据在网络中来回传输。其中,内存数据库的研究是当前热点,内存数据库采用不同的缓存策略,使得RFID系统在把数据提交到磁盘存储之前会将其写入RAM中去,其操作效率是传统操作效率的几百倍甚至几千倍。
3)信息发布层
从事件处理层传递来的RFID信息流,不同的应用对其有不同的计算需求,如它在物流领域用于定位与追踪,在安全领域用于身份识别,在终端客户领域用于物品防伪等。但是不同的应用都有信息存储、信息包的路由、信息发布、访问控制、安全认证等共性需求,这些共性需求可抽取出来作为支撑不同应用的基础设施。由这些基础设施就构成了整个信息发布层。
目前笔者所设计的RFID中间件已经初步具备了以上3个层次的功能:在数据采集层,编写的程序库能够支持符合ISO、EPC等标准的阅读器和标签,但是目前还不具备即插即用(Plug and Play)功能和阅读器自组网的功能;在事件处理层,能够根据标签的ID的相关范围来选择标签,对粘贴有标签的物品的进出事件做出判断和响应,但是过滤规则和事件的挖掘机制还有待于进一步补充和升级;在事件过滤基础上能够以简单的智能超市的形式来进行信息的发布。该RFID中间件的主要特点是适配器和filter的扩展性强,加强了对RFID事件的处理,有较好的鲁棒性。
3.RFID中间件的LLRP协议与ALE协议在EPCglobal标准体系中,与中间件最相关的两个协议是LLRP协议与ALE协议。LLRP之所以被称为低级别协议,是因为它提供了对空口操作和空口协议命令参数的控制能力,提供更底层读写器操作的访问能力。ALE协议是EPCglobal定义的RFID应用系统 和RFID中间件之间的接口规范,通过ALE接口,从应用程序端与中间件之间有了一组API来进行数据通信。通常RFID中间件接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件RFID采集系统的接口定义不变,则应用软件几乎不需任何修改,由此保护了企业在应用软件开发和维护中的重大投资。同时,使用RFID中间件有助于减轻企业二次开发时的负担,使其升级现有软件系统时显得得心应手,同时能保证软件系统的相对稳定及对软件系统的功能扩展,简化了开发的复杂性等。
LLRP协议是EPCglobal公布的第二代读写器协议,定义了RFID读写器和客户端之间的接口。与上一代的读写器协议相比,LLRP协议更接近于读写器运行时所需的空口协议的细节,或者更明确地说,是对EPCglobal Class1 Gen2协议中读写器参数和控制参数的支持。LLRP除了目前对 EPCglobal Class1 Gen2的支持外,其架构也提供相应的扩展能力,可以方便地支持未来其他空气接口协议。
从LLRP接口的具体职责上来看,它主要包括如下职责:
(1)提供方法,用来操作RFID读写器进行清点、读、写等动作,以及执行其他相关协议中的命令,如杀死标签、加锁等;
(2)在对标签进行操作时,获得健壮性报告和进行错误处理;
(3)用来在操作命令需要时传输标签密码;
(4)用来控制前向、反向的无线射频(RF)链路操作,包括管理RF功率和反向灵敏度,在多读写器环境中评估冲突;
(5)用来控制标签协议操作,包括协议参数和防碰撞算法的参数;
(6)使之更易于支持新的空中接口协议;
(7)用来恢复读写器的出厂设置;
我:
(8)用于读写器生产厂商在一定范围内扩展协议。
ALE协议包含标签内存区管理API、ALE读API、ALE写API、ALE逻辑读写器API和访问控制API共5组接口及业务功能。通过实现ALE规定的这5类API,中间件不但可以屏蔽读写器的物理位置信息,还可以实现标签信息的过滤和聚集,使应用系统可以把主要的精力放在业务逻辑的处理上。
4.RFID中间件的功能
RFID中间件在实际应用中具有完成数据的处理、传递和对读写器的管理等功能,它可用来监测RFID设备及其工作状态,管理和处理电子标签和读写器之间的数据流,以及提供RFID设备和主机的接口。具体而言,通过对RFID系统的分析,RFID中间件应具备以下几个功能。
1)标签数据的读写
RFID中间件的一个重要功能就是提供透明的标签读写功能。目前市场上的电子标签不但可以存储标识数据,有的还提供用户自定义读写存储操作的功能。当网络发生故障时,通过读取标签存储器的内容仍能够获取必要的信息。RFID中间件应提供统一的API,完成数据的读出和写入工作。它还应提供对不同厂家读写设备及不同协议设备的支持,实现对设备的透明操作。
对于应用程序来讲,通过RFID中间件从电子标签中读写数据,应该就像从硬盘中读写数据一样简单和方便。这样,RFID中间件应主要解决两方面的问题:第一是要兼容不同读写器的接口;第二是要识别不同的标签存储器的结构以进行有效的读写操作。
每一种读写器都有自己的API,根据功能的差异,其控制指令也各不相同。RFID中间件定义一组通用的API,对应用系统提供统一的界面,从而可屏蔽各类设备之间的差异。
标签存储器分为只读和读写两种类型,其存储空间也可分为不同的数据块,每个数据块均存储定义不同的内容,可读写的存储器还可以由用户来定义存储的内容和方式。进行写入操作时,如果只针对指定的数据块进行而不是全部读写,则可以提高读写性能并降低带宽需求。为了实现这样的功能,RFID中间件应该设计虚拟的标签存储服务。为标签存储服务设计的虚拟存储空间应与实际的标签存储空间一一对应(如图5-8所示)。RFID中间件接收用户提供的数据(单个数据或一组结构数据)后,先写入虚拟存储空间,再由专用的驱动程序通过读写器写入电子标签。如果写入操作成功,则RFID中间件向应用系统返回信息并按照规则将已经写入的数据暂存在RFID中间件系统中;如果标签的存储器损坏而写入失败,则可由RFID中间件系统在虚拟存储空间中保存应写入的数据,之后应用程序发出读出请求,均由中间件将虚拟存储空间中的数据读到应用程序,同时在电子标签即将离开RFID中间件部署范围之前,更新该电子标签即可。类似这样的操作同样适用于标签能源不足、数据溢出等情况。实现虚拟存储空间的一个重要前提是虚拟存储空间应该是分布式的架构,所有的RFID中间件实例均能够访问该虚拟存储空间。
2)RFID数据的过滤和聚集
读写器会不断地从电子标签中读取大量未经处理的数据,一般来说应用系统并不需要大量的重复数据,因此数据必须进行去重和过滤。而不同的应用需要取得不同的数据子集,如装卸部门的应用关心包装箱的数据而不关心包装箱内物品的数据,因此RFID中间件应能够聚集汇总上层应用系统定制的数据集合并进行过滤。
过滤就是指按照规则取得指定的数据。过滤有两种类型:基于读写器的过滤、基于标签和数据的过滤。表5-1描述了这两种过滤类型。
过滤功能的设计最初主要是用于解决读写器与电子标签之间进行无线传输时带宽不足的问题,虽然它是否能真正解决该问题还不能够下定论,但至少可以优化数据传输的效率问题。
聚集是指将读入的原始数据按照规则进行合并,如对于重复读入的数据只记录第一次读入的数据和最后一次读入的数据。聚集的类型可以分为4种:移入和移出、计数、通过及虚拟读取。
目前聚集功能主要依靠代理(Agent)软件来实现,但也有一些功能较强的读写器能够自己设置并完成聚集功能。
3)RFID数据的分发
RFID设备读取的数据并不一定仅由某一个应用程序来使用,它也可能被多个应用程序使用(包括企业内部的各个应用系统甚至是企业商业伙伴的应用系统),由于每个应用系统可能需要数
据的不同集合,所以RFID中间件应该能够将数据整理后发送给相关的应用系统。RFID数据的分发还应支持分发时间的定制,如应立即将读取的RFID数据传送给生产线控制系统以指导生产,在整批货物处理完成后,再将完整的数据传送给企业合作伙伴的应用系统中,待每天业务处理完成后,再将当天的全部数据传送给决策支持系统等。
在RFID系统中,一方面各种应用程序以不同的方式频繁地从RFID系统中取得数据,另一方面它却只具有有限的网络带宽,二者的矛盾使得设计一套消息传递系统成为自然而然的事情.
读写器产生事件,并将事件发送到消息传递系统中,由消息传递系统决定如何将事件数据传递给相关的应用系统。在这种模式下,读写器不必关心哪个应用系统需要什么数据,同时,应用程序也不需要维护与各个读写器之间的网络通道,仅需要将
需求发送到消息传递系统中即可。因此,设计出的消息传递系统应该具有如下功能。
(1)基于内容的路由功能。对于读写器获取的全部原始数据,在大多数情况下仅仅需要其中的一部分,如设置在仓库门口的读写器读取了货物消息和托盘消息,但是由于业务管理系统只需要货物消息,固定资产管理系统只需要托盘消息,所以RFID中间件必须提供通过事件消息的内容来决定消息传递方向的功能,否则将导致消息系统不得不将全部信息传递给应用程序,而应用程
序不得不自己完成部分过滤工作。
(2)反馈机制。消息系统的设计初衷之一就是减少RFID读写器与应用系统之间的通信量,其中比较有效的方法就是使RFID系统能够明白应用系统对哪些RFID数据感兴趣,而不需要获得全部的RFID数据,这样就可以将部分数据过滤的工作安排在RFID读写器而不是在RFID中间件上行。目前市场上的RFID读写器,有些已经具备了进行数据过滤等高级功能,RFID中间件应该能够自动配置这些读写器,并将数据处理的规则反馈到读写器,从而有效降低RFID数据通信对网络带宽的需求。
(3)数据存取功能。有些应用(如物流分拣系统或销售系统)需要实时得到标签信息,因此消息传递系统几乎不需要存储这些标签数据。而有些系统则需要得到批量 RFID 标签数据,并从中选取有价值的RFID事件信息,这就要求消息传递系统应该提供数据存取功能,直到用户成功接收数据为止。
4)数据安全
RFID往往使用在不为人所知的地方,如在家用电器上,服装上,甚至是食品包装盒上可能都嵌入了RFID芯片。因为芯片的内部保存着标识信息,也许还有其他的附加信息,一些别有用心的人也许能够通过收集这些数据而窥探到个人隐私,所以RFID中间件应该考虑到用户的这些顾虑,并在法律法规的指导下进行数据收集和处理工作。