RFID中间件技术

2024-10-18

RFID中间件技术(共7篇)

RFID中间件技术 篇1

摘要:该文给出了使用Agent来封装隐藏底层设备编程接口差异的方法,使用XML消息来统一设备间、设备与软件组件间的通信机制,提出一套基于Agents和XML消息的RFID中间件构建的应用系统框架。

关键词:RFID中间件,agent,XML消息

无线射频识别技术(radio frequency identification)是利用射频通信实现的非接触式自动识别目标对象并获取目标对象相关信息的,是自动识别领域的重要分支。目前RFID技术已被广泛应用于制造、物流、医疗、交通运输、零售、国防、安全等众多领域。

然而企业在选用RFID系统的时候,不同厂商生产的RFID产品具有不同的编程接口,现有企业应用系统组件如何同RFID系统相结合,成为企业成功应用RFID系统的瓶颈和障碍。而中间件可以屏蔽不同厂商RFID设备的多样性和复杂性,提供统一编程接口,使各种系统之间可以相互操作,为后台业务系统提供强大支撑,从而可以驱动更为广泛、更为丰富的RFID应用,可称为是RFID运作的“神经中枢”。本文主要针对如何屏蔽硬件设备不同的编程接口问题,使用Agents作为硬件设备代理提供统一编程界面,硬件设备之间通过XML消息进行交互使得硬件设备或应用系统彼此之问可以相互操作,从而设计实现了一套使用Agents代理和XML消息的RFID中间件。

1 主要技术

1.1 Agent

在开发RFID应用中涉及到不同厂商的RFID读写器、标签打印机等产品,还要考虑到与其他系统的结合,例如与视频监控系统、现有企业ERP、SCM系统的结合,要围绕数据库来保存和读取信息,还要提供可视化图形界面给用户。如何对RFID应用中涉及到的这些产品、实体与系统进行建模,成为RFID中间件设计的重要问题。在本文中对这些概念进行统一建模,每种产品、实体与系统都作为一个Agent,每个Agent负责自己所负责的产品、实体或系统的操作与交互。而对于外部应用则提供统一的编程接口。RFID应用开发基于Agents提供的编程接口进行开发,使得具体的应用逻辑与特定的底层设备、实体或系统无关。

Agent为代理基类,提供了统一的编程接口。发布一种消息类型(Publish)、注册一种消息类~(Subscribe)、传送一则消息到指定地址(该操作会返回一则对应的消息,对应Send)、发送一则消息到指定地址(该操作不返回消息,对应Post)和处理收到的消息(pro~esssmessage1。代理之间的不同主要体现在每个代理因抽象的实体不同而导致处理的消息种类不同以及对特定消息的处理方式不同。一种代理处理一组特定的消息类型。各派生子类都要针对其所抽象的实体定义一组与该实体相关的特定的消息类型,并且在processnlessage函数中对这些消息进行处理。在Agent内部,有一个传输类(transport)来提供所有的通信功能,该传输类主要提供两种类型的通信功能:1)点对点方式,主要针对单一通信需求(例如发送一条命令打开读写器);2)多播方式,主要针对有多个接受方的通信需求(例如一个读写器关闭,所有对读写器状态敏感的代理都将收到该消息)。在传输类在实现时有两种类型的套接字:l1UDP套接字(UDPSocket),用来处理点对点的单一通信方式;21多播套接字(MCSocket),用来处理多播通信功能.实现时各接收方首先注册到特定消息组。当有代理发布特定消息时,该多播套接字就将该消息发布到特定消息组里的各接收代理。无论是点对点方式或是多播方式,当代理接收到消息的时候,其内部的传输类会委托一个XML消息翻译类(XML Translator)来将收到的XML消息转换为特定的消息对象(parse函数完成该功能),以备代理处理该消息。

1.2 XML消息

RFID应用中涉及到的产品、实体与系统之间需要通信交互,以完成命令控制和数据交互,而不同的产品、系统有着不同的数据格式要求,而且通信机制和通信协议也不尽相同。统一各产品、实体或系统之问的交互数据格式和通信机制,对于RFID应用的快速开发具有重要的意义。本文使用XML消息来统一数据格式,在基于UDP/IP的网络环境中进行通信,有效地解决了数据格式和通信协议不一致的问题。与读写器代理相关的一组消息中每种消息都包括消息头和消息体两部分,消息头消息包含在Message类里面,相应的消息体信息则包含在MessageBody类里面。Message类和MessageBody类都包含一个方法,用于将该消息转换为对应的XML字符串。转换后的XML字符串在网络中进行传输,在接收代理接收该XML字符串后,该代理使用内部的XML翻译类来将该XML字符串转换为相应的消息类对象。为了使XML翻译类能够将各种消息对应的XML字符串转换为对应的消息类对象,各MessageBody派生子类须满足以下规定:1)在其构造器中设置”MessageType”字段以标识该特定消息的种类;2)为其每个属性都实现一个相应的方法,该方法接收一个代表该属性值的字符串为参数。将该属性设置为相应的值。

2 系统设计

以某仓库管理系统的系统架构为例,其中使用了Agents和XML消息的RFID中间件的组成通过使用读写器代理。隐藏了读写器之间的编程接口的差别。应用程序对读写器的操作与具体厂商的读写器编程接口无关.使得继续添加其他厂商的读写器变得简单:标签打印机代理也是如此:通过应用代理,使得RFID技术与现有的应用系统实现无缝连接,应用代理为各应用系统提供所需的数据信息;数据库代理屏蔽了各种不同的数据库管理系统的差别,提供统一的数据库操作接口。该仓储管理系统使用的是Microsoft SQL Server数据库管理系统:通过界面代理.实现了可视化界面对各种设备和应用组件的操作和通信:摄像头代理实现了视频图像的采集与摄像头操作,为仓储管理系统提供图像资料数据。各种设备与软件之间通过基于UDP/IP网络上传输的XML消息进行通信。

3 系统实现

在基于代理和XML消息的RFID中问件的基础上开发实现的RHD仓储管理系统主要是针对企业生产实践中的产品出入库管理设计。用标签来标示各种实体。包括货架、叉车和操作员,在仓库门上布置了读写器,当操作员驾驶装载有货架的叉车通过仓库大门时.通过读写器读取到与操作员、叉车和货架相关的标签信息.之后查询数据库得到相应的实体信息.记录该次出入库操作,并辅助有摄像头作监控,记录出入库时的视频信息。出入库记录可用于之后与企业其他应用系统(ERP系统、SCM系统等)结合,并产生出入库统计,与企业生产管理相结合。RFID仓储管理系统,可以用总控制台来控制各种设备.包括打开和关闭仓库大门上的读写器。添加和删除读写器;添加和删除标签打印机,控制标签打印机打印标签信息;连接和断开数据库,执行数据库奋询;开肩和关闭摄像头,采集视频数据数据库面板中的具体数据库管理系统来管理相应的数据库。本系统采用的Microsoft SQL Server数据库管理系统读写器面板中包含现在已经启动的读写器列表,点击相应的读写器,可以设置该读写器的相应属性,包括记录标签的事件类型、记录标签的种类和读写器的读写周期,设置对读写器采集的标签数据是否过滤。标签打印机面板包括系统中已经启用的标签打印机.通过相应的控制面板可以完成相应的打印机操作。通过该系统实现,可以看到使用基于代理和XML消息的RFID中间件可以快速的进行RFID应用系统的开发,节省了系统开发时间,降低了系统开发难度。

4 结束语

本文通过使用Agents很好地解决了不同的RF1D底层设备具有不同的编程接口对RFID应用系统开发难度的影响问题,使用设备代理,提供了统一编程界面。使用XML消息进行交互,使得不同设备具有不同的数据格式和通信协议、不同的软件组件要求不同形式的数据问题得到了有效的解决,得设备或软件彼此之间可以相互操作。这套使用代理和XML消息的RFID中间件,可以用于快速开发RFID应用系统,实现与现有系统的无缝连接,具有灵活性、可扩展性和容错性的特点。

参考文献

[1]单玉峰.射频识别(RFID)原理与应用[M].北京:电子工业出版社,2008:23-67.

[2]刘发贵,蒋瑞林,胡耀民.RFID中间件及其仓储管理的应用[J].计算机工程,2006,32(13):272-276.

[3]邓海生,李军怀.RFID中间件研究与设计[J].计算机技术与发展,2008,18(11):55-57.

[4]张智文.射频识别技术理论与实践[M].北京:中国科学技术出版社,2008:145-213.

RFID中间件技术 篇2

R F I D中间件就是在企业应用系统和R F I D信息采集系统间数据流入和数据流出的软件,是连接R F I D信息采集系统和企业应用系统的纽带,使企业用户能够将采集的R F I D数据应用到业务处理中。R F I D中间件扮演R F I D标签和应用程序之间的中介角色,这样一来,即使存储RFID标签信息的数据库软件或后端发生变化,如应用程序增加、改由其他软件取代或者读写R F I D读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。

二、RFID技术简介

射频识别(Radio Frequency Identification,RFID)技术,是一种利用射频通信实现的非接触式自动识别技术。目前,利用EPC(Electronic Product Code,电子商品代码)、RFID通信技术,可实现全球物品跟踪与信息共享的物联网。这将在全球范围从根本上改变对产品生产、运输、仓储、销售各环节物品流动监控和动态协调的管理水平。根据预测,RFID标签技术将在未来2~5年逐渐开始大规模应用。

1. RFID系统的典型结构

射频系统两个主要部分--阅读器和射频卡之间通过无线方式通信,它们都有无线收发模块及天线(或感应线圈)。射频卡中有存储器,用来存储用户数据和系统数据等。射频卡可根据阅读器发出的指令对这些数据进行相应的实时读写操作。控制模块完成接受、译码及执行阅读器命令,控制读写数据,负责数据安全等功能。阅读器中控制模块往往有很强的处理功能,除了完成控制射频卡工作的任务外,还需要实现相互认证、数据加密解密、数据校验、出错报警及与计算机的通信等功能。

2. RFID系统的工作原理

RFID技术的工作原理:射频卡进入磁场后,接收阅读器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中产品信息(无源标签),或主动发送某一频率的信号(有源标签);阅读器读取信息并解码后,送至中央信息系统进行有关数据处理。

3. RFID网络框架结构

无线射频识别网络的框架结构如图所示。标签数据经过中间件的分组、过滤等处理上报给应用系统;应用系统负责事件数据的持久化存储,以及标签绑定的业务信息的管理。网络系统由本地网络和全球互联网组成,是实现信息管理、信息流通的功能模块。EPC系统的信息网络系统是在全球互联网的基础上,通过RFID中间件、对象命名称解析服务(ONS)和EPC信息服务(EPC IS)来实现全球“实物互联”。RFID中间件具有一系列特定属性的“程序模块”或“服务”,并被用户集成以满足他们的特定需求。它是加工和处理来自读写器的所有信息和事件流的软件,是连接读写器和企业应用程序的纽带,主要任务是在将数据送往企业应用程序之前进行标签数据校对、读写器协调、数据传送、数据存储和任务管理。图1描述了RFID中间件组件与其他应用程序的通讯。

三、RFID中间件技术及其优势

1. RFID中间件技术概述

中间件是在一个分布式系统环境中处于操作系统和应用程序之间的软件。中间件作为一大类系统软件,与操作系统、数据库孤立系统并称“三套车”,其重要性不言而喻。基本的RFID系统一般由三部分组成:标签、阅读器以及应用支撑软件。中间件是应用支撑软件的一个重要组成部分,是衔接硬件设备如标签、阅读器和企业应用软件如企业资源规划(ERP,Enterprise Resources Planning)、客户关系管理(CRM,Customer Relationship Management)等的桥梁。中间件的主要任务是对阅读器传来的与标签相关的数据进行过滤、汇总、计算、分组,减少从阅读器传往企业应用的大量原始数据、生成加入了语意解释的事件数据。可以说,中间件是RFID系统的“神经中枢”。

2. RFID中间件的原理

RFID中间件是一种面向消息的中间件(MessageOriented Middleware,MOM),信息(Information)是以消息(Message)的形式,从一个程序传送到另一个或多个程序。信息可以以异步(Asynchronous)的方式传送,所以传送者不必等待回应。面向消息的中间件包含的功能不仅是传递(Passing)信息,还必须包括解译数据、安全性、数据广播、错误恢复、定位网络资源、找出符合成本的路径、消息与要求的优先次序以及延伸的除错工具等服务。

RFID中间件位于RFID系统和应用系统之间,负责RFID系统和应用系统之间的数据传递。解决RFID数据的可靠性、安全性及数据格式转换的问题。RFID中间件和RFID系统之间的连接采用RFID系统提供的API(应用程序接口)来实现。RFID卡中数据经过阅读器读取后,经过API程序传送给RFID中间件。RFID中间件对数据处理后,通过标准的接口和服务对外进行数据发布。

3. RFID中间件的特征

一般来说,RFID中间件具有下列的特征:

(1)独立于架构(Insulation Infrastructure)。RFID中间件独立并介于RFID读写器与后端应用程序之间,并且能够与多个RFID读写器以及多个后端应用程序连接,以减轻架构与维护的复杂性。

(2)数据流(Data Flow)。RFID的主要目的在于将实体对象转换为信息环境下的虚拟对象,因此数据处理是RFID最重要的功能。RFID中间件具有数据的搜集、过滤、整合与传递等特性,以便将正确的对象信息传到企业后端的应用系统。

(3)处理流(Process Flow)。RFID中间件采用程序逻辑及存储再转送(Store-and-Forward)的功能来提供顺序的消息流,具有数据流设计与管理的能力。

(4)标准(Standard)。RFID是自动数据采样技术与辨识实体对象的应用。EPCglobal(全球物品编码中心)目前正在研究为各种产品的全球唯一识别号码提出通用标准,即EPC(产品电子编码)。EPC是在供应链系统中,以一串数字来识别一项特定的商品,通过无线射频辨识标签由RFID读写器读入后,传送到计算机或是应用系统中的过程称为对象命名服务(Object Name Service,ONS)。对象命名服务系统会锁定计算机网络中的固定点抓取有关商品的消息。EPC存放在RFID标签中,被RFID读写器读出后,即可提供追踪EPC所代表的物品名称及相关信息,并立即识别及分享供应链中的物品数据,有效地提供信息透明度。

4. RFID中间件的优点

从RFID标签制造开始,到其信息被RFID阅读器捕获,再由RFID中间件进行事件过滤和汇总,然后由EPCIS应用软件进行RFID事件的业务内容丰富,保存到EPCIS(EPC信息服务)存储系统,供企业自身和其合作伙伴进行访问。

(1)标准和规范

在中间的各个环节,EPC global出台了相关标准和规范:

①RFID标签和RFID阅读器之间,定义了EPC标签数据规范和标签协议;

②RFID阅读器和RFID中间件之间,定义了读写器访问协议和管理接口;

③RFID中间件和EPCIS捕获应用之间,定义了RFID事件过滤和采集接口(ALE);

④EPCIS捕获应用和EPCIS存储系统之间,定义EPCIS信息捕获接口;

⑤EPCIS存储系统和EPCIS信息访问系统之间,定义了EPCIS信息查询接口;

⑥其它关于跨企业信息交互的规范和接口,譬如ONS接口等。

一个典型的RFID应用基本上都会包含这些层面的软硬件设施,而RFID中间件作为沟通硬件系统和软件系统的桥梁,在RFID应用环境中尤为重要。

(2)优越性

RFID中间件扮演RFID标签和应用程序之间的中介角色,从应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据。RFID中间件接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件RFID采集系统的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。同时,使用RFID中间件有助于减轻企业二次开发时的负担,使他们升级现有软件系统时显得得心应手,同时能保证软件系统的相对稳定,及对软件系统的功能扩展等,简化了开发的复杂性等,所以商用的RFID中间件的出现正日益引起用户的关注。

其优越性具体表现如下:

①降低开发难度。企业使用RFID中间件,在做二次开发时,可以减轻开发人员的负担,使其可以不用关心复杂的RFID信息采集系统,可以集中精力于自己擅长的业务开发中。

②缩短开发周期。基础软件的开发是一件耗时的工作,特别是像RFID方面的开发,有别于常见应用软件开发,不是单纯的软件技术就能解决所有问题,它需要一定的硬件、射频等基础支持。若使用成熟的RFID中间件,保守估计可缩短开发周期50%~75%。

③规避开发风险。任何软件系统的开发都存在一定的风险,因此,选择成熟的RFID中间件产品,可以在一定程度上降低开发的风险。

④节省开发费用。使用成熟的R F I D中间件,可以节省25%~60%的二次开发费用。

⑤提高开发质量。成熟的中间件在接口方面都是清晰和规范的,规范化的模块可以有效地保证应用系统质量及减少新旧系统维护。

总体来说,使用RIFD中间件带给用户的不只是开发的简单、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了总体费用的投入。

四、RFID中间件的功能和作用

使用RFID中间件可以让用户更加方便和容易的应用RFID技术,并使这项技术融入到各种各样的业务应用和工作流程当中。中间件其中一个功能就是通过为RFID设备增加一个软件适配层的方法将所有类型的RFID设备(包括目前使用的RFID设备,下一代RFID设备、传感器以及EPC阅读器)在平台上整合成为“即插即用”的模式。

对于应用开发商而言,RFID中间件的重要功能在于产品所特有的强大事件处理和软件管理机制。事件处理引擎帮助开发者轻松地建立、部署和管理一个端到端的逻辑RFID处理过程,而该过程是完全独立于底层的具体设备型号和设备间信息交流协议的。因为在事件处理引擎中利用逻辑设备这一模式,使得RFID数据处理过程可以真正的脱离应用部署阶段所要面对的设备物理拓扑结构,因而大大降低了设计的复杂性,也不必关心这些设备的供应商和它们之间用的是什么通信协议了。

RFID中间件还可以和诸如企业资源配置(ERP)系统,仓储管理系统(WMS)以及其他一些专有业务系统很有效的配合在一起进行业务处理。这种良好的适应性使得应用该框架组建的RFID应用只需要进行非常少量的程序改动就可以和原有的业务系统软件配合得天衣无缝。

RFID中间件基础框架的分层结构及其功能为:

1. 设备服务供应商接口层

该层是由帮助硬件供应商建立所谓“设备驱动”的可以任意扩展的API生成集合以及允许与系统环境无缝连接的特定接口组成的。为了更容易的发挥整合的效能,中间件通过RFID软件开发包(SDK)的形式囊括各种各样的设备通讯协议并且支持以往生产的所有身份识别设备和各类阅读器,具有良好的兼容性。一旦设备供应商采用了软件开发包编制设备驱动程序,网络上的任何一个射频识别设备就都可以被工具软件发现,配置和管理了。这些设备可以是RFID阅读器,打印机,甚至是既可以识别条码又可以识别RFID信号的多用途传感器。

2. 运转引擎层

这一层是通过消除未经处理的RFID数据中的噪声和失真信号等手段让RFID应用软件在复杂多样的业务处理过程中充分发挥杠杆作用。比如说,一般情况下设备很难检测出货盘上电子标签的移动方向,或者判明刚刚读入的数据是新数据还是已经存在了的旧数据。中间件中的运转引擎层可以通过由一系列基于业务规则的策略和可扩展的事件处理程序组成的强大事件处理机制,让应用程序能够将未经处理的RFID事件数据过滤、聚集和转换成为业务系统可以识别的信息。

(1)运转引擎层的第一部分就是事件处理引擎。这一引擎的核心就是所谓的“事件处理管道”。这一管道为RFID业务处理流程提供了一个电子标签读取事件的执行和处理机制,该机制就是把所有的阅读器进行逻辑分组,比如分为运送阅读器,接收阅读器后台存储阅读器和前台存储阅读器等。通过使用RFID对象模型和七大软件开发工具,应用程序开发者可以构建一棵事件处理进程树从而使复杂的事件处理流程被刻画的一目了然。

通过采用事件处理引擎,应用软件开发者就可以把精力集中于构造处理RFID数据的业务逻辑而不是担心那些部署在系统各个环节的物理设备是否运转正常——这些问题已经在系统运行时被很好的解决了。与此同时,最终用户可以真正自由的获取通过处理RFID数据所带来的商业利益而不再终日与设备驱动程序缠斗在一起了。所有这一切为处理RFID业务信息提供了一条独一无二的“一次写入,随处使用”的便捷途径。

另一个事件处理引擎的关键组件就是事件处理器。事件处理器也是可扩展的程序构件,它允许应用程序开发商设定特殊的逻辑结构来处理和执行基于实际业务环境的分布式RFID事件。为了能设计出灵活性和扩展性好的组件,事件处理器的设计者使用了预先封装好的规范化电子标签处理逻辑,这些逻辑可以自动的依据事件处理执行策略(这些策略都是由业务规则决定的)来处理电子标签读取事件所获得的数据,这些处理通常包括筛选、修正、转换和报警等,这样一来所有电子标签上的数据就可以通过中间件的工作流服务产品融入原有应用系统的工作流程以及人工处理流程了。

(2)运行引擎层的第二个主要组成部分就是设备管理套件。这一部分主要负责保障所有的设备在同一个运行环境中具有可管理性。设备管理套件可以为最终用户提供监控设备状态、察看和管理设备配置信息、安全访问设备数据、在整体架构中管理(增加、删除、修改名称)设备以及维护设备的连接稳定等服务。

3. RFID中间件的基础框架OM/APIs层

RFID中间件框架提供了对象模型(OM)和应用程序开发接口集(APIs)来帮助应用程序开发商设计、部署和管理RFID解决方案。它包括了设计和部署“事件处理管道”所必要的工具,而“事件处理管道”是将未经处理的RFID事件数据过滤、聚集和转换成为业务系统可以识别的信息所必备的软件组件。通过使用对象模型和应用程序开发接口集,应用程序开发商可以创建各种各样的软件工具来管理RFID中间件基础框架。对象模型提供了很多非常有用的程序开发接口,它包括了设备管理、处理过程设计、应用部署、事件跟踪以及健壮性监测。这些应用程序接口不但对快速设计和部署一个端到端RFID处理软件大有裨益,而且可以使应用程序在整个应用软件生命周期得到更有效的管理。

4. 设计工具和适配器层

开发者在开发不同类型的业务处理软件的时候,可以从RFID中间件的基础框架的设计工具和适配器层获得一组对开发调试很有帮助的软件工具。这些工具中的设计器可以为创建一个RFID业务处理过程提供简单、直观的设计模式。“适配器”可以帮助整合服务器软件和业务流程应用软件的软件实体。适配器使得若干个通过RFID信息传递来完成业务协作的应用软件形成一个有机的整体。

通过使用这些工具,微软的合作伙伴可以开发出各种各样具有广泛应用前景的应用程序和业务解决方案。因为通过使用RFID技术可以使整个物流变得一目了然,因而系统集成商和应用程序开发商可以在众多需要使用RFID技术的领域创建客户所需要的业务应用软件,这些领域包括资产管理,仓储管理,订单管理,运输管理等。

五、结语

尽管近几年很多行业、很多领域对RFID技术的需求有了惊人的增长,但是面临诸如难以配置和管理互不兼容的各种电子标签设备,难以在短时间内开发出实用可靠的应用系统,难以将电子标签应用程序与后台业务系统实现整合等实际困难,该项技术的潜能还远远没有被激发出来。要发挥RFID所具有的巨大潜力,必须研发出一系列的软件工具和完整的基础架构,才能让合作伙伴和最终用户开发出可以用来改进业务处理流程的应用解决方案,例如仓储管理和货物跟踪系统等等。RFID中间件的开发和成熟就能为物流信息管理平台建立了一个发现、管理电子标签设备并使之有效通讯的统一渠道,并为RFID应用与原有业务系统快速整合提供了一个规范的业务规则定制模型。RFID中间件通过建立丰富的、可升级的事件处理软件架构把未经处理的电子标签数据转化成具有实际意义的业务信息,最终将把RFID从边缘技术带入主流技术行列。并能让合作伙伴和最终用户更简单、快捷的开发出具有实用性,可扩展性和灵活性的RFID应用系统,为客户带来更大的利润。

摘要:在RFID的应用中,从前端数据的采集,到与后端业务系统的连接,大多是采用定制软件开发方式,一旦有变化,都需要重新编写程序,开发效率极低且维护成本高。RFID中间件应运而生,有效地解决了这些问题。本文着重介绍RFID中间件在RFID系统中的功能和作用。

关键词:信息识别,自动识别技术,RFID,中间件

参考文献

[1]Karen D.Schwartz.BizTalk RFID基础架构:部署RFID应用(1)[EB/OL].http://developer.51cto.com,2008-11-11/2010-04-10.

[2]张玉波.RFID中间件技术纵览[J].中国自动识别技术,2008(1):74-78.

[3]阳娣兰,戴春.RFID中间件技术在物流管理系统中的应用[J],商场现代化,2008(1):79-80.

一种RFID架构中间件的设计 篇3

一个典型的RFID系统主要由RFID标签(Tag)、RFID读写器(Reader)及应用支撑软件组成,RFID中间件[1]位于读写器和应用支撑软件之间,他扮演着RFID标签和应用软件之间的中介角色,是RFID系统运作的神经中枢,已成为RFID系统应用的关键之一。

2 RFI D中间件概述

RFID中间件扮演RFID标签和应用程序之间的中介角色,目前很难对RFID中间件进行严格的定义,但是对其含义与作用已达成共识,RFID中间件的作用主要包括两个方面[2]:控制RFID读写设备按照预定的方式工作,保证不同读写设备之间很好的配合协调。按照一定的规则筛选过滤数据,筛除冗余数据,将真正有效的数据传送给上层的应用系统。

RFID中间件经历了应用程序中间件、架构中间件和解决方案中间件三个发展阶段。其中架构中间件是RFID中间件成长的关键阶段。此阶段RFID中间件不但已经具备基本数据搜集、过滤等功能,同时也满足企业多对多的连接需求,并具备平台的管理与维护功能。架构中间件也是目前中间件发展的主流,此阶段的产品,具有独立性,不依赖与其他软件系统,各模块都是由组件构成,根据不同的需要可以进行软件重构,灵活性高,能够满足各种行业应用的要求。目前各大IT厂商都投入精力开发自己的架构中间件[3,3]。

3 RFI D中间件的设计

设计中中间件主要由设备管理和数据处理两大模块组成,各组件组成如图1所示:

3.1 RFID中间件的设备管理

设备管理层提供设备注册、设备操纵、设备监控三大功能。在这一层中,将实现对系统设备的各方面的管理,并为应用系统提供统一的方法无差别的管理各种硬件。本设计提供了设备管理层的整个架构,但是不包含具体设备的连接实现,在具体的应用环境中,通过简单的二次开发将中间件整合到具体的应用环境中。

3.1.1 设备注册

RFID系统中会有许多用来完成不同目标的读写器,他们的连接方式工作方式也各不相同,在将他们连接进入系统的时候,必须将每个读写器作为单一的个体在系统进行注册,为他们进行命名并设置他们的具体参数。设备的注册由函数Register Device完成。设备注册后的设备信息保存在Device Info表内,表中的每一条信息对应一个单一的设备,其中由设备名称唯一的确定设备。当设备不再使用时,通过URegister Device(char*PhysicalReaderName)对设备进行注销,同时删除Device表中对应设备的记录。

3.1.2 设备操纵

设备管理层的设计原则是增强设备与应用程序之间的通透性,当设备发生变化时,减少对应用端的影响,省去多对多连接的维护复杂性问题。要实现这一原则,需要解决一个关键的问题:不同硬件厂商生产的读写设备千差万别,设备的工作频段和连接构件也各式各样,如何屏蔽设备的多样性,使应用系统以统一的方式管理所有设备,而不必关心设备的具体特性。

本设计中采用抽象类[4]Device Controll提供一种统一的接口管理设备,根据连接构件的形式将设备分为串口设备、网络连接设备和USB设备,分别由Com Deviec Coltroll、Net Deviec Coltroll、Usb Deviec Coltroll类具体实现Deviec Coltroll类中的方法。当一个新设备接入系统时,根据他的连接方式确定他是Com Deviec Coltroll、Net Deviec Coltroll、UsbDeviecColtroll哪一个的子类,然后具体实现这类设备的统一接口外的其他操作方法。

下面以FEIG Electronic公司生产的OBID i-scan HF类ISC-PRH101型设备为例,说明设备控制层的工作方法。

ISC-PRH101是FEIG Electronic生产的符合ISO15693和ISO18000-3标准手持式中距离读写器,他的工作频段为13.56MHz,最大读写距离为25cm,可同时对10张标签进行多块读写操作,通过RS232、RS485和PC进行通信。该读写器可以对标签的UID(unique identification)进行读,对AFI(Application Family Identifier)、DSFID(Data Storage Format Identifier)进行读写操作,可以读写多块数据块,其中数据块的大小为8字节,范围为0~255。厂商提供协议命令进行开发。将该设备连入系统时根据连接形式确定其为Com Deviec Coltroll的子类,在系统第一次使用ISC-PRH101型号的设备时,根据他所支持的特性编写PRH101类实现父类未实现的其他控制函数。其类关系如图2所示:

当应用端操纵设备时,不必关心设备的具体特性和类型,只需要为设备对应的类实例化一个对象,然后就可以通过统一的方法操纵设备,具体实现时会由编译器智能选择合适的类来实现对设备的控制。例如:当系统需要对一个ISC-PRH101型号的设备Device41发送读标签命令时,应用端程序只需要调用实例化为PRH101类的对象Device41的Inventory方法。程序编译时,编译器首先访问Device Controll类的Inventory方法,由于Device Controll是抽象类,他的方法将在子类中实现,因此Com Deviec Coltroll的Inventory将实现Device Control中的虚函数Inventory。又由于PRH101类重写了Device Controll的Inventory方法,最终PRH101类的Inventory将被执行。可见,编译器在运行时采用动态联编技术将同时编译Device Controll、Com Deviec Coltroll和PRH101类Inventory方法,当运行时再由具体的设备对象决定哪个方法将被执行。

采用了这样的层次架构后,应用端的程序不必关心设备的具体特性,只要通过统一的操纵函数就可以无差别的访问任何设备。如果Device41改用其他型号的设备代替,只要在设备操纵层添加支持新设备的操作类,而应用端将Device41重新实例化为新设备对应类的对象,就仍然可以通过Inventory方法对设备发送读命令。因此,当系统的RFID读写设备增加或者改变时,应用端的程序也几乎不需要改动,充分的保证了读写设备和应用端的通透性。

3.1.3 设备监控

应用系统能够对所接入的读写设备进行管理和监控。在设备管理层中采用基于中断的方法对设备进行监控。当设备有异常事件发生时,立即产生中断,通知设备监控管理站,并保存设备的错误信息。

3.2 RFID中间件的数据处理

RFID数据过滤与处理是RFID中间件的核心功能之一。因为从读写器采集到的原始标签数据量十分巨大,然而真正对过户有意义的数据却不多。如果不将这些原始数据加以处理就传递给应用程序,不仅会造成处理器的无谓负担,也会给通信网络和数据存储带来不需要的开销。因此,对RFID数据的过滤是RFID中间件的重要任务。

在本设计的RFID中间件,提供了数据过滤模块和事件过滤器(Event Filter),其中数据过滤模块包括去重过滤器(Duplication Elimination Filter)和毛刺过滤器(Glitch Elimination Filter)。原始的采集数据经过数据过滤模块进行去重过滤和毛刺处理后获得有意义的信息,将过滤后的数据进行存储供应用程序使用。事件过滤器中的事件定义可以根据不同场合的应用进行设置,经过事件过滤器形成的业务事件存储在事件存储区内,供应用程序使用。在设计过程中,充分考虑到系统的灵活性,在实现了基本的数据过滤和事件过滤,不仅可以对过滤的参数进行设置,还动态的对过滤器进行加载和删除。经过基本数据和事件处理过滤后的信息存储在各自的数据存储区,在具体的应用中可以在此基础根据实际的需要添加新的过滤器以完成特定的应用要求。

3.2.1 数据处理模块

RFID系统中,由于射频信号,环境影响和相互干扰等原因,使RFID系统读取到源数据可信度不高,主要存在冗余和漏读的问题的问题:

冗余。当RFID阅读器以固定的周期间隔将标签的状态进行汇报,如果读写频率越高,产生的信息冗余越高。

漏读。阅读器由于电磁干扰、环境影响等,当一个标签在阅读器范围内时,该阅读器没有读到标签。因此可能标签在读写器范围内一时读到一时读不到,出现类似信号“毛刺”和“杂波”的现象。

采用曼彻斯特编码的思想[5]将标签的存在状态进行编码,0表示标签未被读到,1表示标签被读到。则以10次/秒的读取频率,一个持续1秒的标签过程的编码序列可能为0011121314150617081911000。其中12131415为信息冗余,06170819则是漏读产生的“毛刺”,真正对应用程序有意义的信息为11和110。通过去重过滤器和毛刺过滤器将清洗出杂质信息,将11和110传递给高层应用。

在数据处理模块,采用的算法如下:假定读写器读到的标签格式为(tag ID,readerID,time Stamp),其中tag ID标识标签号,readerID表示读写器标识号,time Stamp表示标签的读取时间。我们定义一个时间间隔Interval,在时间间隔之内的表示是相同事件序列。并且定义过滤哈希表(hash table),以tag ID作为哈希表的关键字(key),该关键字对应的哈希表结构可以存放first Stamp和last Stamp两个时间。在过滤过程中,当读到一个标签数据时,检查哈希表中是不是存在相同的标签,如果不存在相同的标签,则将其放入该哈希表,同时本次读取事件的time Stamp作为first Stamp和last Stamp。如果存在相同的标签,与last Stamp的时间间隔小于Interval,认为是冗余或者毛刺,更新last Stamp为当前time Stamp;如果事件间隔大于Interval,则认为该事件是一个新的事件序列,输出原来的标签事件并更新哈希表中的first Stamp和last Stamp为当前的time Stamp。过滤过程中,定期检查哈希表,如果当前时间(currentTime)与last Stamp的时间间隔大于Interval,说明该事件序列已经结束,应输出该标签事件。如果tag ID对应的first Stamp与last Stamp相同,则只输出一条信息;否则输出两条信息(tag ID,readerID,first Stamp)和(tag ID,readerID,last Stamp)。算法的流程图如图3所示:

3.2.2 事件过滤器

在某些RFID应用中,用户需要知道在某时某地当前有多少物品,或者是有多少物品离开了,或者是新到了多少物品。事件就是将原始数据以事件的形式呈现给上层应用。在本设计中,定义了四类抽象事件,其曼彻斯特编码表示如图4所示:

加入事件。即0跳变后维持相当长的时间。例如:货架上货属于此类型。准确地说,0跳变后必然有1跳变的过程,但如果1跳变在系统稳定时间MAX之后再发生,可以缺省认为0跳变持续时间为∞。

离开事件。即1跳变后维持超过稳定时间MAX。例如:货架出货属于此类型。

通过事件。即短0-1模式。其中0-1之间持续的时间很短,小于通过事件的事件间隔MIN。

停留事件。即长0-1模式。其中0-1之间持续事件长于通过事件的约束MIN又短于系统稳定时间MAX。

为了提供灵活的过滤机制,过滤器提供对时间间隔STABLE、MIN和MAX的设定。根据指定的过滤参数,事件过滤的算法如下:根据当前时间currentTime定时检查过滤哈希表。根据对应的事件过滤算法,将过滤得到的事件存入事件存储区供上层应用软件使用。

4 结束语

文中设计了一种与具体应用无关RFID架构中间件产品,该设计不依赖与任何特定RFID设备和应用环境,提供了管理各类设备的统一接口;通过去重、毛刺和事件过滤器实现了数据的清洗和处理。本设计已经在博一格数码科技公司设计生产的RFID图书管理系统中得到应用,实际证明,该中间件设计灵活轻便,可以快速的应用到系统中,并可根据实际应用方便的进行扩展。

参考文献

[1]萧荣兴,苏伟仁,许育嘉.RFID技术运作的神经中枢-RFID中间件.信息与电脑[J].2005,9:35.

[2]王启刚.RFID中间件技术研究[D].硕士,中国科学院自动化研究所,2006.

[3]谭民,刘禹,曾隽芳,等.RFID技术系统工程及应用指南[M].北京:电子工业出版社,2007.

[3]范文兵,曹晓光,陈燕.RFID中间件标准化与实现方法.单片机与嵌入式系统[J].2008,1:16.

图书馆RFID中间件及其选择 篇4

企业运用RFID技术比图书馆起步要早, 相对来说也更成熟一些, 其成功经验值得图书馆借鉴。

(一) 运用RFID的“阶段模式”

Gartner将企业运用RFID分成三个阶段:第一阶段是企业在内部采用了RFID技术, 但应用的目的多半是为验证RFID能被用在企业的某种环境下, 对RDIF应用带来的海量信息没有做有针对性的处理和分析;第二阶段是企业结合RFID和现有业务流程, 但也是把RFID作为原有业务系统的一种完善和补充, 用新技术来适应传统的应用;第三阶段是以RFID为核心设计业务流程, 不仅是要收集数据并把数据传送到IT设备进行处理, 更重要的是要把信息实时回传以便做出合理决定。对照Gartner的“阶段模式”, 基本可以看出:我国图书馆在应用RFID技术方面现大多处于前两个阶段。正如企业运用RFID的规律, 未来的RFID在图书馆中的运用必然走向以RFID为核心设计业务流程的智能图书馆阶段。伴随发展进程, RFID在图书馆中的运用将面临海量数据的问题, 即对海量数据的处理、分析和应用。

(二) RFID由闭环应用走向开环应用

企业采用RFID可分为闭环应用和开环应用两种。闭环应用是指在公司内部使用;开环应用是指应用于整个供应链, 其协同合作的要求更高, 包括包装供应商、合约制造商、第三方物流公司和零售商等。同样, 图书馆RFID的应用也可分为闭环应用和开环应用。图书馆RFID闭环应用指的是在校园内使用。对于刚刚实施RFID的图书馆来说, 大多是采用简单的闭环RFID系统。图书馆RFID开环应用是将RFID应用于整个供应链, 包括出版社、书商以及各个图书馆之间的馆际互借服务等。RFID闭环应用是开环应用的基础, 随着RFID技术的成熟以及在图书馆行业的普及, 图书馆实施开环应用是必然的发展方向, 随之而来的依然是数据量增加的问题。

综上, 图书馆深入运用RFID将面临着以海量数据为核心的一系列潜在问题。

二、图书馆深入运用RFID潜在的问题分析

以海量数据为核心的潜在问题主要包括在数据产生、处理和利用过程中可能发生的各种情况, 具体表现在三个方面:产生海量数据所需不同型号设备的兼容问题, 即兼容各种RFID软硬件设备的问题;处理海量数据的负荷问题, 即数据处理的瓶颈问题;利用海量数据来系统分析所需的功能更新升级问题, 即系统升级与系统维护问题。

(一) 兼容各种RFID软硬件设备的问题

图书馆在部署RFID系统时, 大多采用“点-线-面”的策略, 在考虑到经费以及图书加工RFID标签的时间等问题, 采取的是从小范围实施RFID, 例如, 部分书库、部分楼层或部分工作领域, 继而再向全馆各工作领域渗透推广, RFID设备的数量也随之逐渐的增加。由于选购设备的时间点的先后差异, 可能会面临着原有品牌设备的升级换代或者性能更优的新品牌的选择。不同厂商的RFID设备有各自的传输协议, 如何将多种型号的RFID设备与现有的系统相连, 使数据能被获取, 这就需要解决不同型号设备兼容的问题。

此外, 一些引进RFID系统较早的图书馆, 在采用高频标签后, 继而又引进超高频标签, 或者是同时引进高频和超高频的双频段RFID标签, 形成多频段的应用环境。读卡器与标签之间的通信是依靠读卡器发射出的电磁波构成磁场, 通过产生电磁感应形成电流, 从而实现通信的目的。而不同频率信号或是相同频率信号发生重叠时, 其中一个可能会干扰另一个信号。这就需要解决不同频段设备兼容的问题。

随着RFID在图书馆的应用范围不断加大, 如何兼容使用多型号、不同性能的RFID设备, 以及不同的操作系统和数据库, 是继续扩大RFID应用的关键所在。

(二) 数据处理的瓶颈问题

当图书馆在逐步展开实施RFID时, 不断增多的读写器和标签的数量导致数据量的增加, 直接影响RFID系统处理数据的速度和准确度。多个读卡器分别同时读取多条标签数据向RFID系统传输, 将会造成数据传输拥挤。其次, 如果同一项数据处于多个读卡器的信号范围之内, 此时一条标签信息将会被多个读写器同时识别, 将会产生读取重复数据的现象。如果把这些重复的数据都传给服务器, 将增加服务器的额外工作负担。图书馆RFID系统将面临数据量增大, 而数据处理能力下降的问题, 即数据处理的瓶颈问题。

(三) 系统升级与维护问题

当图书馆遇到上述两个问题时, 最直接的方法就是修改程序, 或根据遇到的问题重新开发程序。然而, 这带来的成本, 不仅仅是系统升级的开发费用成本、开发时间成本, 也有日后的系统维护成本。持续增加的信息交互量会不断对RFID系统提出更高的系统要求。如果这些问题只靠重新修改原系统代码来解决, 既需要耗费升级时间, 又需要耗费升级费用。而且经过调整的系统在遇到下一次系统升级时, 在RFID的基础设备发生变化时, 又需要再次修改系统代码, 带来开发和维护的时间和经费双成本问题。

这些问题的解决只靠传统的系统升级已经不能满足要求, RFID中间件却可以很好的解决这些问题。

三、RFID中间件

RFID中间件就是在应用系统和RFID信息采集系统间, 数据流入和数据流出的软件, 是连接RFID信息采集系统和应用系统的纽带, 使用户能够将采集的RFID数据应用到业务处理中[3]。

从数据的流动来看, 图书馆RFID中间件对下是收集数据, 把协议不相同的硬件识别设备 (如:不同厂商的RFID读卡器等) 的通讯接口封装起来, 起到屏蔽硬件复杂性的作用;对上是为不同应用程序 (如:北京邮电大学MELINETS系统、图书馆自动化集成系统 (ILAS) 等) 提供通讯接口, 起到屏蔽软件复杂性的作用, 使底层设备与上层应用系统的耦合性降低, 从而更容易维护和升级RFID系统;它是整个RFID系统的数据集散地, 将采集到的数据存储到RFID中间件中, RFID中间件此时起到暂时存储数据的功能和过滤重复数据的功能, 并由此分发数据到相应的IT系统中去。

RFID中间件的独特作用决定了其在RFID系统中的核心地位, 可以解决围绕海量数据产生的一系列问题。

四、图书馆RFID中间件的选择

鉴于中间件的重要性, 图书馆在选择RFID中间件产品时, 应考虑以下因素:

(一) RFID中间件的经济性

经济性应从RFID中间件本身费用、实施费用以及维护费用等方面综合考虑。RFID中间件应选择成熟的产品, 成熟产品的费用肯能会较高, 但性能较稳定, 由此构建的系统功能才有保证。此外, 实施费用和维护费用也是经济性应当考虑的内容。

首先, 当系统需要升级时, 选择成熟的RFID中间件产品, 可以缩短开发周期50%~75%, 可以节省25%~60%的二次开发费用。且其在接口方面是清晰和规范的, 规范化的模块可以有效地保证应用系统质量及减少系统维护费用。

其次, 选择售后服务好的中间件产商。当遇到系统维护问题时, 良好的售后会及时有效地解决产生的问题。因此在选择RFID中间件产品之前, 图书馆间的经验交流是必要的, 但不是惟一的信息来源, 成熟企业应用RFID的成功之处亦可借鉴, 信息的获取应是全方位、多渠道的。

(二) RFID中间件的功能性

从功能角度来说, 需要RFID中间件有处理大量数据的能力, 既要能够调节读卡器自身合理高效运行, 又要具备数据管理的能力, 即把读取到的原始数据, 经过过滤, 移除无效数据, 传输有效数据。对于RFID中间件的功能性了解, 下列两种方法是切实可行的。

实地考察。借鉴成功的方案、经验可事半功倍, 如果该软件已有图书馆成功案例最好;其次, 还可以与运用过该软件的其他行业组织交流;最后是考察该厂商, 考察内容涉及到应用环境、应用类型、工作状况、升级和维护的难易度。

合作试验。图书馆在考察中获取的信息与提供商提供的信息往往是不对称的, 为规避风险, 合作试验成为一个更直接有效的手段。汕头大学图书馆自2006年起与国内某公司合作进行了UHFRFID在图书馆应用的合作试验至2007年7月结束[5]。其成功经验提供很好的例证。通过试验, 可以建立一个与图书馆自身实际应用环境类似的环境。经过系统测试, 可以准确了解是否适用于本馆的实际情况。

(三) RFID中间件的兼容性

能否兼容各种不同功能和不同型号的RFID设备、数据库以及操作系统, 是图书馆重点考虑的问题之一。由于各图书馆使用的管理系统有所不同, 应用RFID时面对的兼容问题也会不同, RFID中间件产品需要能够适应图书馆所使用的系统。除软件兼容方面的问题, 新添置的RFID硬件设备也会出现不同版本和性能并存的局面, RFID中间件也需要能兼容硬件共存的能力。因此在选择RFID中间件时候。需要选择符合自身实际情况的中间件。只有使用的软件和RFID中间件通过合理的组合以后才能解决相关问题。

五、结语

基于RFID的智能图书馆理论日益成熟, RFID技术在图书馆的应用正逐步走向深入, RFID中间件的选择与应用关系到RFID系统在图书馆运用成败。图书馆RFID中间件的选择, 首先要对本馆的情况做全面的了解, 清楚自己的需求;其次对中间件产品和厂商做全面的评估, 必要时, 先试验后选择, 避免表面认识带来的损失。

摘要:基于RFID的智能图书馆理论日益成熟, RFID技术在图书馆的应用正逐步走向深入, RFID中间件的选择与应用关系到RFID系统在图书馆运用成败。随着RFID技术在图书馆领域的全面应用, 其潜在的以海量数据为核心的数据处理、软硬件兼容以及系统升级等问题将日益凸显, 图书馆在选择中间件时, 应从经济性、功能性和兼容性三个方面综合考虑, 要对本馆的情况做全面的了解, 清楚自己的需求, 对中间件产品和厂商要做全面的评估, 必要时可先试验后选择, 从而避免表面认识带来的损失。

关键词:图书馆,RFID,中间件,选择

参考文献

[1]刘洪宇.中间件:让RFID价值最大化[N].中国计算机报, 2005-08-29 (16版)

[2]徐春金.RFID常见问题分析[J].信息与电脑, 2006 (12) :27

[3]RFID中间件技术纵览[J].中国自动识别技术, 2008 (1) :74

RFID中间件技术 篇5

根据嵌入式的特点,本文设计了分层的轻量级嵌入式RFID中间件ERM(Embedded RFID Middleware)模型,并在嵌入式平台上实现了该ERM中间件。

1 分布式食品溯源系统

利用嵌入式RFID中间件来构建分布式应用系统简单而快速[3]。分布式食品溯源系统如图1所示。溯源系统从左至右分别涉及食品流通的4个环节:生产、加工、物流、销售。而系统自下而上可以分为3个部分:

(1)信息采集模块:包括食品电子标签和终端设备,二者都构成一个典型的RFID应用系统,主要完成食品的识别和EPC码的采集和预处理。本系统采用超高频RFID技术,符合ISO180000-6C(EPC Global Class1 Gen2)协议。食品生产厂家将含有全球唯一的EPC码和商品信息存储在电子标签中,并将其附着在食品的包装上;食品通过各个环节时,标签在经过阅读器的感应区域后,会自动被阅读器捕获;经过防碰撞机制和安全认证后,阅读器会将标签信息阅读到终端设备,这样就实现了自动化的食品信息采集。

(2)嵌入式中间件:作为食品溯源系统的中间设备,其主要完成对终端设备的管理、数据信息采集、处理、保存和上传到溯源平台服务器等功能。中间件从RFID原始数据中解析出时间、商户信息、流通状况和溯源码(EPC码)等信息,将信息存入中间件数据库并通过远程网络接口上传到服务器平台。

(3)溯源平台服务器:通过以太网接收食品相关信息并进行处理和应用。溯源平台服务器通过专用网与政府监控服务器连接,政府监管部门可以及时地发现和追踪食品安全问题。消费者则可以根据销售溯源码,通过短信、电话方式或进入本地溯源网站,查询食品流通记录,以保障消费者的有效追溯权利。

分布式食品溯源系统通过RFID技术和嵌入式中间件,在互联网的基础上构建了物联网信息服务系统[4],保障了食品溯源的有效性和可靠性。

2 嵌入式中间件硬件设计

为了实现高性能、低成本的嵌入式中间件,采用了高性价比的硬件设计方案。

如图2所示,中间件硬件主要由ARM主控模块(AT91SAM9260)和外围器件组成。同时,选用大容量的存储器方案,包括64 MB的SDRAM、32 MB的Flash存储器,以及可支持扩展至4 GB的Micro SD卡。此外,还包括以下各个功能模块:以太网接口和GPRS模块,用于连接溯源平台服务器;阅读器接口包括Zig Bee传输模块、RS485模块和RS232模块,终端设备可以通过3种方式与中间件通信;外设接口包括USB接口和串口,用于安装适配器驱动和复制存储器数据到其他设备;LCD屏和键盘用于用户与中间件交流,可以在中间件设备上管理终端设备和查询相关信息;电源模块为各部分电路供电,中间件可以使用外接适配器或电池供电。

3 嵌入式中间件软件设计

中间件操作系统采用ARM-Linux2.6,在Linux Kernel启动后,对外设进行初始化,运行数据库SQlite3,然后调用各模块,生成各线程级的任务。根据EPCglobal标准体系的建议[5]并结合嵌入式的特点,设计了适合嵌入式的RFID中间件ERM。ERM的系统整体架构由终端接口层、逻辑处理层、应用集成层组成,如图3所示。

3.1 终端接口层

中间件架构最下层为终端接口层,其为各种类型的终端设备接口,负责把物理的硬件设备抽象为中间件的终端对象[6]。

中间件为每个终端配备一个适配器,不同种类的终端设备对应于不同类型的适配器,并且中间件可以动态地添加和删除适配器。适配器可以直接与终端设备的阅读器通信,收集标签数据然后送往阅读器接口。从阅读器接口出来的数据为统一格式的原始数据,从而保证了不同类型的阅读器可以完整地传送数据到中间件。终端管理模块主要完成不同终端的注册验证和管理控制。中间件可以通过配置终端对象的Driver、Rule、Dispatcher等参数,对不同的终端进行管理控制和数据读写。

3.2 逻辑处理层

作为中间件的核心层,逻辑处理层主要完成对终端数据的缓冲、过滤、事件处理和事件驱动控制等功能,其处理流程如图4所示。

逻辑处理层主要包括数据处理和事件处理两个部分。数据处理部分主要根据数据过滤规则,处理各种数据冗余,包括完成数据校验、数据合法性验证、删除重复和错误的信息等[7]。而事件处理部分主要根据业务规则,从数据中提取各种基本事件并判断事件类型,然后处理各种基本事件并执行相应的任务,形成相关的报告文件。

3.3 应用层

中间件架构最上层是应用层,用于提供各种应用接口。本系统主要包括本地的用户界面和远程网络接口。本地用户接口便于用户在中间件上控制各种终端对象和查看相关信息,远程网络接口方便服务器远程控制中间件和终端设备。中间件将根据服务器协议要求把数据封装成为XML(可扩展标记语言)格式,并以TCP方式发送给溯源平台服务器。为了方便中间件的管理和升级,中间件内嵌FTP和Telnet服务程序。对外提供的标准接口为中间件提供了良好的扩展性和兼容性。

4 性能测试

经试验测试,本文设计的中间件具有如下性能:

(1)体积小,部署地点接近于数据现场。该中间件尺寸为:160 mm×80 mm×40 mm,重量大约800 g(含电池),与普通的手持式设备大小接近。

(2)功耗低。最大功耗为15 W,由于采用了屏保、待机和睡眠等节能技术,平均功耗在12 W以下。

(3)系统占用资源较少,性能较高。首先将中间件通过以太网与PC测试主机连接,在PC主机上打开cmd命令行窗口,输入Telnet 10.2.5.0(中间件IP),即可远程登录中间件;然后输入root,切换到根用户,再运行top指令。测试得到中间件性能如表1所示。

由表1可知,核心的system内存只有859 KB,加上外部中断和远程访问等进程,CPU占用率不足55%,占用内存总共不到1.5 MB,其余为用户的缓冲和处理所占用的资源和空闲资源。由此可见,该中间件系统正常运行所需的资源非常小,适合资源有限的嵌入式环境。

中间件技术是分布式食品溯源系统的中枢,它不仅能屏蔽RFID阅读器的多样性和复杂性,还能进行EPC信息的采集和处理,为各种应用提供集成平台,从而促使更丰富、更广泛的RFID应用[8]。本文针对嵌入式特点,研究了分层的嵌入式RFID中间件ERM模型,从硬件和软件两方面论述了嵌入式RFID中间件系统的设计和实现。经测试,该中间体积小、能耗低、占用资源少、性能高。

摘要:针对嵌入式系统的特点,研究了轻量级的嵌入式RFID中间件ERM的体系结构。在ERM体系结构指导下,实现了运行于嵌入式平台的RFID中间件。该中间件体积小、功耗低、占用资源少、性能高,能够满足食品溯源系统的应用需求。

关键词:食品溯源,射频识别,中间件,嵌入式系统

参考文献

[1]Fan Wenbing,Cao Xiaoguang,Chen Yan.RFID middleware standardization and implementation[J].Microcontrollers&Embedded System Application,2008(1):16-18.

[2]李波,谢胜利,苏翔.嵌入式RFID中间件系统的研究与实现[J].计算机工程,2008,34(15):92-94.

[3]禇伟杰,田永民,李伟平.基于SOA的RFID中间件集成应用[J].计算机工程,2008,34(14):84-86.

[4]宁焕生,张瑜.中国物联网信息服务系统研究[J].电子学报,2006,34(12A):2514-2517.

[5]胡清,詹宜巨,黄小虎.基于RFID企业物联网及中间件技术研究[J].微计算机信息,2009(7-2):158-160.

[6]BENCHINI A,CIMINO M,MARCELLONI F,et al.Patternsand technologies for enabling supply chain traceabilitythrough collaborative e-business[J].Information&SoftwareTechnology,2008,50(4):342-359.

[7]DERAKHSHAN R,ORLOWSKA M E,Li Xue.RFID datamanagement:challenges and opportunities[C].IEEE Interna-tional Conference on RFID.Washington:IEEE Press,2007:175-182.

RFID中间件技术 篇6

关键词:RFID中间件,读写器管理与协调,适配器,逻辑读写器网络

0引言

近年来,RFID技术一直是国内外各大媒体竞相报道的焦点。RFID具有无穷的产业潜力,其应用范围遍及制造、物流、医疗、运输、零售、国防等等。在企业应用RFID技术时,首先面对的第一个问题就是电子标签上的EPC数据的获取。在RFID技术的应用框架中,遍布着许多不同种类、不同厂商、不同用途的读写器有不同的配置需求[1],它们可能彼此联系,共同实现一个功能,如何对这些设备进行协调?同时,在这些RFID读取器中存在大量的RFID标签读操作,其中许多读操作是毫无意义的"噪声",为解决上述问题,RFID中间件技术应运而生。RFID中间件是处于电子标签硬件系统和RFID应用系统的一类软件,是RFID应用系统的核心,中间件屏蔽了RFID设备的多样性和复杂性,能处理从一个或多个读写器获得的RFID或传感器数据(事件数据)流,是一种企业通用的管理RFID数据的架构,安装在等级式、分布式的服务器上。中间件为应用程序提供一系列计算功能,在将数据传给企业应用程序之前,要对RFID数据进行过滤、聚合和计数,压缩数据容量等。RFID中间件采用标准的协议和接口,为处于上层的应用系统提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用系统[2]。本文从多协议读写器的适配器和多层次逻辑读写器两种技术来解决RFID设备管理和协调复杂度。

1RFID中间件

1.1RFID中间件技术介绍

一般而言,RFID中间件的主要作用体现在三个方面:一是为应用系统封装底层设备接口;二是处理读写器和传感器所捕获的原始数据,按照一定规则过滤、合并数据,筛除不必要的冗余数据,为应用系统形成有意义的、高层次的事件,从而有效地减少应用系统处理的事件量;三是提供应用程序级别的接口来操纵控制RFID读写器等设备和查询RFID事件[3]。

1.2RFID中间件系统架构

越来越多的企业开始把RFID技术应用到很多著名的ERP系统中去,例如EBS和SAP系统。高可靠性、高可用性、高扩展性、高性能性对于ERP是至关重要的,在整合RFID中间件和ERP系统时为了保证向上层应用系统提供如此高质量的服务,把集群技术应用到中间件来。RFID中间件是基于组件的形式的,因此系统可以可以粗略划分为2个部分:数据和组件。对于数据,可以利用集群的分布式数据管理模块来处理,通过分布式缓存服务形成同一的数据视图,使得每个节点都可以访问到其他节点的数据,通过复制缓存服务为每一个数据在不同节点产生一个备份,使得数据具有高可靠性和高可用性。对于组件,通过组件调度策略把所有的组件分配到不同的节点去,以实现系统的高扩展性和高性能。

中间件系统架构图如图1所示,包含以下内容:

设备管理层 RFID中间件的底层系统部分,完成对RFID系统中的所有硬件设备的管理与监控。为不同生产厂家的读写设备提供了统一的接口,屏蔽了底层环境的异构性和复杂性;对各种硬件设备进行统一的管理,极大地简化和加快了应用系统和设备的集成。

数据处理层 数据处理层需要对原始数据进行处理,包括数据过滤以消除重复读取产生的冗余数据,位过滤筛选感兴趣的数据,数据聚合分组等等。从而减少数据量并且保留感兴趣的数据。

应用程序级接口层 提供标准化的事件接口,应用系统可通过向其发送事件请求来订阅需要的数据。事件请求中定义了数据处理的方式以及发送报告的格式。该层解析应用系统的事件请求,根据请求中的定义调用设备层获取数据并对采集到的原始数据进行数据缓存、数据编码解析、数据过滤和数据归并等基本数据处理操作。最后将处理结果封装成报告,发送给应用系统。

信息服务层 提供各种RFID信息服务,包括存储捕获的事件、对事件进行推理、提供信息的查询等,协助应用程序完成相应的业务操作。

业务集成层 用户可以结合具体的业务,定义相应的业务模型,由RFID中间件根据定义的业务模型来辅助完成相应业务,最后将处理的结果与后台应用系统进行整合。

集群服务层 为上层的应用系统提供一个统一的中间件视图,管理集群节点状态,系统所有组件在各个节点间的分配,并且提供统一的分布缓存视图。

集群服务层主要由以下4个部分组成:

跟踪服务 该模块主要管理集群系统内的节点成员列表和注册服务列表。

分布式缓存服务 该模块允许节点去访问其他节点的数据这样就可以使得数据只保存在一个节点中,另外通过悲观锁来实现分布式缓存的一致性。

复制缓存服务 该模块同步的复制分布式缓存服务中的数据,将复制数据保存在其他节点上。

组件管理 该RFID中间件是面向组件开发设计的,每个层次都是由多个组件串行或者并行组合实现其功能。该模块就是通过制定一定的策略,来决定组件如何分布在各个节点,并且协同工作,来提高系统性能。

2RFID设备管理层

RFID中间件设备层框架如图2所示,主要分为三个部分:读写器协议/读写器管理协议模块(图中RP/RM)[4],ALE模块[5],物理读写器协调(图中Physical Coordination)模块。

RP/RM模块 该模块完成对RFID系统中的所有读写器的连接和交互:首先,它提供了符合读写器协议中规定的读写器接口。通过包装使不同生产厂家的读写器对中间件具有统一的交互接口,屏蔽了硬件的异构性,方便进行硬件与中间件的集成;其次,该模块对读写设备收集的数据进行简单的处理,例如对读写器读到的标签进行平滑处理;第三,该模块向设备服务器中的ALE模块和业务服务器提供统一的读写设备命令接口,该接口暴露了满足读写器协议和读写器管理协议规定的读写设备应具有的功能。

ALE模块 该模块从RP/RM模块获取RFID原始数据并按照读写器的逻辑关系做过滤和聚合操作,同时向业务过程服务器或者其他应用程序提供符合EPCglobal ALE规范的应用级别事件接口,该接口提供标准的方式让ALE客户程序定义RFID事件周期和数据过滤、聚合、报告规则,并且提供灵活的RFID事件报告查询方式,例如同步方法调用、异步消息传输、用户自定义的通知方式等等。

物理读写器协调模块 该模块从RP/RM模块获取读写器的工作状态信息,分析读写器网络的冲突和干扰水平,依据协调策略对读写器进行主动的动态的控制,调整读写器工作参数,减少读写器间的冲突和干扰。

3RFID读写器管理与协调

3.1RFID读写器管理与协调具体内容

RFID读写器管理与协调具体内容包括两点:

1) 对读写器的管理 对RFID读写器的发现、连接、配置、监视和故障修复,通过提供有效手段对读写器网络进行监视和控制保证读写器网络的正常运作,从而维护RFID基础设施的完整,保证RFID基础设施向RFID系统提供RFID信息的功能。

2) 对读写器的协调 对RFID读写器工作的协调,包括了物理协调和逻辑协调两方面。物理协调需要通过有效手段动态地调整读写器的工作参数以减少和避免读写器冲突及适应射频环境的变化,使读写器网络工作在最高效的状态。逻辑协调需要对读写器的工作内容进行协调,使读写器网络完成RFID应用对RFID数据采集的需求,主要指对RFID标签信息的发现、过滤和聚合。

3.2多标准多协议RFID读写器适配器设计

如图3所示,该适配器原型主要由控制适配器状态抽象状态控制器类(左上)、封装了读写器控制函数接口的抽象读写器类(右上),以及代表了整个读写器适配器的抽象盯ID适配器类(下中)三个部分组成,功能如下:抽象状态控制器:该类通过自动状态机来控制适配器的工作状态。当工作条件变化时,该类将根据当前状态和跳转条件查询状态矩阵以得知需要转入的下一状态。另外,该类的成员变量“命令队列”将缓存从抽象读写器适配器发来的控制命令。抽象读写器:该类通过封装一与RFID读写器设备进行通信的API来隐藏与读写器进行交互的细节。通过该类,适配器可以进行开启、关闭盯ID读写器,设置、读取读写器工作参数,读写标签等操作。图中套接字通信类、串口通信类分别负责与使用不同通信方式的RFID读写器设备进行交互。抽象盯ID适配器:该类为事件管理器提供了与设置RFID读写器工作参数、读写盯ID标签等操作相关的大量API函数接口。事件管理器将通过该类来控制整个RFID读写器的工作。

3.3读写器的协调设计

1) 读写器协调的内容

读写器的协调包括物理协调和逻辑协调:

物理协调 为了解决读写器冲突问题,近年来大量的研究集中在如何对物理读写器进行协调[6,7],物理读写器协调的内容是:通过对读写器工作频率、工作时间、工作空间等方面进行控制,使读写器能够有效减少甚至避免读写器冲突、适应工作环境,从而提高读写器网络的工作效率。

逻辑协调 需要对读写器网络的工作内容进行协调,完成对RFID标签信息的发现,过滤和聚合。对逻辑读写器[5]的协调应当包括两个方面:首先,在所有读写器工作正常的状态下,通过对物理读写器按照应用需求进行逻辑组合,从而构建出逻辑读写器网络,RFID系统根据这种逻辑组合来收集和处理数据以满足应用的需求;其次,当读写器发生故障时,根据逻辑读写器网络提供的信息以及预先设定的失败修复策略,对逻辑读写器网络进行适当的调整,以维持读写器网络的功能完整和工作稳定。

2) 逻辑读写器网络模型

这种逻辑读写器网络模型在逻辑读写器的基础上添加了工作场景、逻辑读写器的属性、逻辑关系等内容,更详细地描述了RFID读写器部署时的情况,并且在读写器网络中反映了RFID应用的需求。为了使多个读写设备协调工作,在本文通过对读写设备属性丰富来满足读写设备的协调工作[8]。

工作场景 工作场景代表了RFID读写器部署的地点,场景使用三维坐标(X,Y,Z)表示物理空间的三个维度,场景与场景之间的界限以应用的需求决定,通常一个工作场景包括了所有紧密工作在一起的读写器网络。

逻辑读写器的扩展 一个逻辑读写器是网络中的一个单元,它被赋予一定的意义和功能,与网络中的其他逻辑读写器具有各种逻辑关系。逻辑读写器在网络中有两种存在形式:基础读写器和组合读写器。一个基础读写器代表一个会产生真正RFID标签读写事件的来源,例如一个真实的物理读写器。基础读写器拥有以下的属性:标识、坐标、名称、地点描述、状态。组合读写器用来指代一个或多个基础读写器或者组合读写器。同时,一个组合读写器是逻辑读写器网络中最基础的单元,只有组合读写器之间才能建立起逻辑关系。

组合读写器的属性 标识、名称、状态、关系列表、逻辑关系列表。

逻辑关系 处在读写器逻辑网络中的逻辑读写器被各种逻辑关系相互联系起来,逻辑关系包括以下几种:顺序关系、等同关系、包含关系、方向关系、定位关系、监视关系、抵消关系、同步关系、互斥关系。

3) 逻辑读写器协调

(1) 读函数

定义读函数:read(q):RTE→TE,读函数代表了中间件按照应用程序要求筛选RFID事件的动作,应用程序把请求条件q发送给中间件,中间件根据读函数的映射规则计算出应该返回给应用程序的RFID标签事件。TE是RET的子集,因此原本在RET中属于TE的元素对应到自己本身,而RTE中除去TE之外的所有元素对应到TE中的空事件,如何计算TE由条件q决定。

边界条件

q是一个空条件,因此并没有指定任何时间上的限制,一个关于时间的边界条件,它指出应用程序要哪一段时间内的标签事件,或者以怎样的周期获取标签事件。定义集合B(Boundaries),表示标签事件发生时间的边界条件的集合。修改条件q={boundary},boundary∈B,这样函数read可以将RTE映射为符合边界条件boundary的TE。

数据源条件

q中虽然加入了边界条件,但是并没有指定任何的读写器,这种情况适合于简单的只部署有少量读写器RFID系统,定义集合LR(Logical Readers),表示应用程序所知道的逻辑读写器的集合,修改条件q为:

q=(boundary,logicalreader),boundary∈B,logicalreader∈LR

这样函数read可以将RTE映射为符合边界条件boundary并且来源于逻辑读写器logicalreader的TE。同时定义功能函数phy Re ader.LR→RD,RD是物理读写器的集合,是一个有限集,功能函数phyReader把逻辑读写器集合映射成物理读写器集合。

过滤条件

应用程序有时并不需要处理来自指定逻辑读写器读取到的所有标签事件,它可能仅仅对其中的一部分感兴趣,因此我们需要一个过滤条件。定义集合F(Filters),表示标签事件过滤规则的集合。q条件定义:

q=(boundary,logical,filter),boundary∈B,logicalreader∈LR,filter∈F

这样函数read可以将RET映射为符合边界条件boundary并且来源于逻辑读写器logicalreader的并且满足过滤条件filter的TE。

读函数计算

有了读函数的定义,我们可以把应用程序和中间件的一次交互过程简化为一个函数计算过程:应用程序向中间件提供条件q=(boundary,logical,filter),中间件根据函数从RTE中计算出TE,然后把TE返回给应用程序。RTE是一个时间和空间上无限的标签事件集合,要把RTE按照函数映射成一个有限集合TE,需要在空间和时间两个维度上把无限化为有限。

实际上我们只要根据条件q中的boundary和logicalreader的值就可以把无限集合RET映射成一个有限的集合TE:

TE={t∈RTEt.time∈bounTime(bounTime∈q.boundary(T))

t.reader∈phyReader(phyReader∈q.logicalreader(RD))}

(2) 逻辑读写器——数据聚合

RFID系统根据读写器网络的逻辑组合来收集和处理数据以满足应用的需求,我们给这种协调情况一个名称:数据聚合。(如表1所示)数据聚合包括了并、顺序并、交、时间交、减、时间减和非七种方式。

数据聚合

例如时间协作收集数据。

场景 RFID标签预计会从某个起点进入线路,沿着线路移动最后从线路终点离开线路,线路沿途部署了多台读写器。

目标 从标签进入线路开始至标签离开线路为止,线路上的读写器能够共同协作确保标签在这段时间内能够被读取。

数据聚合方式 顺序并。

如图4所示:图中R1、R2为组合读写器,圆形读取范围代表该组合读写器所指代的所有物理读写器的读取范围,圆形范围内的标签代表落在这些物理读写器读取范围内的标签。

例子:组合读写器R1和R2有顺序关系,标签tagA、tagB、tagC按照虚线剪头方向从R1范围移动至R2范围,在经过R1范围时R1读到了标签tagA和tagB,经过R2范围时R2读到了tagB和tagC。R1的标签事件集合为TE1,R2的标签事件集合为TE2,TE1和TE2采取“顺序并”操作:

TE1={(tagA,time1,R1),(tagB,time2,R1)},

TE2={(tagB,time3,R2),(tagC,time4,R2)},time2

TE1∪STE2={(tagA,time1,R1),

(tagB,time3,R2),(tagc,time4,R2)}

4应用

下面以RFID中间件在仓库管理系统中的应用为例,说明RFID中间件在RFID应用系统的开发过程中所起的重要作用。

如图5是基于RFID中间件的仓库管理系统模型。

在仓库的出入口、叉车(或其他库内运载工具)、每一库位上安装RFID读写设备,读写设备读取到的电子标签数据上传到RFID中间件设备管理层中;各功能模块向RFID中间件定制所需要的ALE事件;RFID中间件生成并上传ALE事件;系统各功能模块根据ALE数据完成相应的功能:

出入库确认 通过安装有RFID阅读器的仓库大门或传送带,自动读取出入库物品的EPC信息(可以是单品、包装箱和托盘),通过对RFID中间件设备管理层的ALE数据进行确认,完成出入库和确认操作;

上架 叉车在移动过程中确定物品需要上架的位置,放下物品,通过叉车上的RFID阅读器对库位标签和托盘标签进行关联,在移库过程也可以通过叉车RFID阅读器变更物品和库位关联关系,采集中间件根据叉车上的RFID阅读器上报的电子标签数据生成表示物品和库位关联关系的ALE数据,以便出货时快速定位货物位置;

盘点 通过部署在不同库位上的固定式RFID阅读器对各个库位中货物的EPC代码进行扫描,RFID中间件生成表示仓库中各类货物数量的ALE数据,快速实现当前库内货物的盘点;

拣货 系统根据上架环节中生成的ALE数据,可以快速找到所要货物所在的库位,通过叉车RFID阅读器对所选择货物的EPC代码进行扫描,确认所要选择的货物;

环境监控 对于一些对存储环境要求较高的货物,如异燃物品、容易变质的食品等,可以在存储架或储物柜上使用带传感器的RFID标签,通过对这些RFID标签数据的扫描,获得环境的温度、湿度数值,当这些数值超出正常阀值时进行报警,实现对保存环境的监控;

数据存储 通过数据库接口与各种通用的数据库进行绑定,可以实现ALE数据的永久存储。采用RFID中间件的仓库管理系统在开发过程中,无须考虑各种硬件设施的接口,无须面对大量冗余的电子标签数据,系统的各个功能模块只需要调用数RFID中间件的ALE API接口即可获取到有用的信息,并且共享这些信息。

5结语

本文对RFID中间件读写器管理和协调的关键技术进行了分析,硬件适配器可以很好地兼容目前市场上主流的RFID读写设备,通过逻辑阅读器可以对物理读写设备进行分组管理,同时对读写器网络进行协调,完成对RFID标签信息的发现、过滤和聚合。但由于RFID系统所需要处理的软硬件设施相当复杂和多样化,所以还有很多工作要做,其中包括:

(1) RFID数据的安全性同样是一个需要解决的问题。

(2) 研究逻辑读写器网络修复策略。

(3) RFID中间件集群环境的复杂性、动态性以及应用和资源的多样性,对节点负载信息采集也很重要,选择合适时机采集信息,能高效的实现系统负载平衡,大大提高集群系统的整体性能。

参考文献

[1]中国自动识别技术.RFID读写器的选择[J].中国自动识别技术,2006(3).

[2]Winmec.WinRFID无线射频识别中间件技术[M].2001.

[3]Himanshu Bhatt,Bill Glover,Mark Harrison.RFID Essentials[M].O'Reilly,2006.

[4]EPCglobal Inc.Reader Protocol Standard,Version 1.1[S].2006.

[5]EPCglobal Inc.Application Level Events(ALE)Standard Version 1.0[S].2008.

[6]王永华,杨健,余松森,等.超高频RFID读写器组网与协调技术研究[J].电信科学,2007,23(12):54-58.

[7]Qiang Guan,Yu Liu,Yiping Yang,et al.Genetic approach for networkplanning in the RFID systems[C]//IEEE ISDA Sixth InternationalConference of Intelligent Systems Design and Applications.Oct.2006.

RFID中间件技术 篇7

系统集成将选择Microsoft的Biztalk作为消息中间件COTS,RFID中间件的开发分为:芯片的选择、读写器的识别率、多条消息数据的并发处理,以及选择什么样的中间件开发工具来对各种场景进行数据获取、筛选与提交,保证RFID读写器与后台信息系统的数据交换,完成图书馆正常业务的开展。

实际应用中,读写器面临对存在于图书馆中任何位置的图书芯片的读写机会,可以是书架上的图书、可以是还书箱上的图书、可以是推车上的图书,虽不全是有源的芯片主动发起信号,也会在对图书借还、图书盘点过程中发生读写器对芯片的读写情况。因此,读写的距离和范围,读写的成功率、读写的重复过滤都是会遇到的问题。并发的、同时存在的大量数据信息,会导致后台信息系统对于数据的选择,不能保证数据的有效性。因此,具有队列机制,查询重复信息的功能,是中间件必须有的基本组成部分。

2 图书馆系统的RFID硬件构成

由RFID芯片(HF、UHF)、书架天线、RFID阅读器等,组成标签转换系统、自助借书系统、自助还书系统、智能查找系统、推车式盘点系统、安全门检测系统。

3 图书馆RFID软件构成

中间件系统(微软Biz Talk RFID组件:RFID Server、RFID管理器、RFIDsink数据库、RFIDstore数据库)、图书管理自动化信息系统。

4 RFID中间件开发

图书馆的智慧图书馆应用场景分为读者使用场景及馆内工作人员使用场景。读者使用场景有:读者出入阅览室门禁、读者在自助借还机上借还图书、读者在馆外24小时还书机上还书、读者在自助办证机上注册图书馆用户等;馆内工作人员使用场景有:馆员对图书加工并贴RFID标签、馆员设置书架层架RFID标签、馆员持手持盘点设备进行图书盘点与顺架理架、馆员使用智能书架(即带固定的读写器)进行图书定位等。

对于同时处理多条数据的情况,需要RFID中间件具备队列机制,即将接收到的芯片数据进行分类,区别重复读取的与需要过滤的,并且合理的设定读写时间间隔及发送有效地芯片响应频率,同时RFID中间件服务器对于有效的数据进行存储,通过通用协议XML的形式,发送到后台IS信息系统中,进行数据交换,完成一系列图书借还动作的芯片数据读取和数据库数据写入流程。

基于微软Biz Talk RFID的具体实现方法

RFID中间件的开发采用微软Biz Talk RFID工具,兼容多种读写协议,并解决数据每秒读取上百个标签的问题,将数据进行冗余筛选,同时将数据分发到多种应用信息系统中,提高读写器处理数据的效率和成功率。

我们将从读写器获得的所有原始标签数据进行过滤,过滤的方法大致有三种:去重过滤、事件过滤以及标签码过滤。

下面将详细介绍这三种类型的过滤算法及实现。

4.1 标签码过滤

按照图书标签信息的录入规则,结合实际应用,图书标签的编码格式一般由四个源数据组成:即版本号和三个数据段,分别是供应商的标识符、图书类别符以及单本图书的ISBN号。有了这些存在于标签芯片上的数据,图书管理员就能获得这样的馆藏图书信息:某个供应商的所有图书,或者是某个供应商的某种分类的图书,或者是某种分类图书中ISBN号及图书出版社的图书信息。通过标签码过滤器,我们可以从所有的图书标签数据中选出满足馆员需求的标签码,而过滤掉不需要的以及多余的数据信息。

比如图书馆在进行图书借还或者图书盘点扫描的过程中,不希望将工作人员随身携带的二代身份证、以及其他安装有RFID芯片(如列入资产管理的设备标签、书架上的层架标签、其他文件上贴的标签等),但是会干扰图书信息的数据源进行屏蔽,选出我们所需要的标签信息。

具体的过滤算法简单描述如下:先由图书管理员或者系统管理员定义一个标签码的获取模式,规定需要选出的图书标签的类型。然后当读写器读取每一个标签时,将这个图书标签的标签码与标签码模式进行匹配,如果匹配,则输出该标签以备中间件的调用及处理,否则过滤掉这个标签。

4.2 去重过滤

图书管理中使用的RFID读写器读到的标签数据一般都是原始的标签数据,有源的无源的,被动获得的主动获取的,包含了大量重复冗余的数据。在图书借还、图书盘点以及安全门禁一系列的管理过程中,为了保证出错少、保证一定的读取准确率,特别是在图书采编室中有大量加工完成或者未加工的RFID标签的环境中,摆放多台读写器或天线。但是多台读写器可能同时读到某个图书标签,存在一定的重复读取,并提交到中间件来处理。

这样,图书馆藏的管理过程中,为实现自动定位图书在书架的哪个层架,会采用多个固定的读写器或天线。因此,一本图书可能会被多个读写器同时读取,重复出现,这样中间件服务器将通过程序进行数据去重,保证在与后台信息管理系统通讯时只传输不重复的,唯一的标签信息。

中间件虽然多线程处理信息的能力很强,但是也要在一定程度上减轻对标签数据进行重复读取所带来的负担。为了达到这一目的,我们可以设计过滤算法:

首先定义读写器得到的标签信息为(reader ID,tag ID,read Time,read Interval,Drop),其中reader ID表示读写器标识号,tag ID表示图书标签号,read Time表示标签的读取时间点,read Interval表示标签读取的时间间隔,Drop表示在完成计算后打上是否要去重的标识符。我们将标签数据放入一个常用的哈希表中,设置tag ID为哈希表的关键字即唯一标识。

当读写器读取到一个新的标签数据时,检索在该哈希表中是否存在相同的标签tag ID,若存在且两者的读取时间差小于标签读取的时间间隔read Interval,就认为该标签数据是重复读到的,直接过滤掉,打上去重标识,同时更新哈希表中该标签的读取时间点。若存在且两者的读取时间差大于read Interval,则认为该标签是新读到的标签,则输出该标签到中间件,完成后续数据处理,同时更新哈希表中该标签的read Time读取时间点。若不存在,则将其插入到哈希表中,并输出该标签。

4.3 事件过滤器算法

在图书馆藏的管理过程中,特别是在智能书架(书架上安装实时读取图书芯片信息的读写器或者天线)的管理过程中,会严格监测三种类型的图书:新加工完成上架的图书、被读者取下书架并阅读或者外借的图书、被读者取阅但是在一定时间内又回到书架上来的图书。

从算法的理解上来说,即主要过滤三种标签:新出现的标签(new Tag),离开的标签(left Tag)和当前活动标签(active Tag)。过滤算法如下:

定义读写器得到的标签信息为(reader ID,tag ID,read Time,dead Time,Drop),其中reader ID表示读写器标识号,tag ID表示图书标签号,read Time表示标签的读取时间点,dead Time表示定义为离开标签的持续时间。在事件的过滤过程中,将当前活动标签数据放入一个哈希表中,设置tag ID作为哈希表的关键字。同时定义两个队列Queue1和Queue2,分别保存新出现的标签数据和离开的标签数据。当读写器读取到一个标签时,首先检索在哈希表中是否存在相同的标签tag ID,若不存在,则分别插入到该哈希表和新标签队列Queue1中。若存在,则更新哈希表中该标签的读取时间点read Time。最后遍历哈希表,将哈希表中在时间dead Time内没有更新的标签加入到离开的标签队列Queue2,并将其设置Drop标识,表示为删除。

5 RFID系统测试

基于图书馆的应用场景中有以下几种情况:1.多本图书标签同时读写、需要分时段处理;2.同时读取多个标签,并保证正确率及互不干扰;3.图书盘点时读写器插于图书与图书的间隙中,去除标签的重复性读取、删除不在目标层架位置的标签;4.读写器读取的反应时间控制;5.读写器的虚拟化、在多种调制的情况下兼容所有图书标签;5.测试在标签转换(条码与RFID并存)的情况下,后台图书管理信息系统流通数据的调取是否正确等。

以上都对中间件的研发成果提出了测试需求,这其中既包括后端的图书馆工作业务流程的测试,也包括前端的读写器设备硬件性能,及中间件对于消息队列处理的准确性和工作效率。

5.1 设定Lab VIEW与PXI,以测试RFID标签

我们使用NI产品,创造出一套可行的解决方案。我们开发的系统中包含了NI PXI-1044机箱与NI PXI-8196(PXI-8105)嵌入式控制器,会执行客制的Lab VIEW应用。

在测试阶段时,我们会逐渐增强每个频率传输的查询指令功率,直到侦测到标签响应为止。在不牺牲精确度的前提下,为了增加测试速度,先以较大的幅度提高功率,再以较小的幅度去慢慢处理,越切越细,就能达到较高的精确度。我们应用中的步进值分别是1 d B与0.1 d B。让标签产生响应的最低功率,可以帮助我们计算最大的卷标范围与其它的卷标参数,例如敏感度等。使用这个方法,我们也可以针对不同的材料与标签方向,收集量测值。

5.2 上位机程序设计

上位机程序设计主要完成两个部分功能:一部分是实现与单片机的通信功能;另一部分是对信息的管理功能。当大量数据活数据之间存在复杂关系时,就需要通过数据库来进行存储、管理和查询,即采用LABVIEW虚拟仪器技术与数据库系统进行交互。使用自带的(动态数据交换)技术,主要完成数据写入、分析和管理功能。

参考文献

[1]蒋邵岗.RFID中间件数据处理与过滤方法的研究[J].计算机应用,2008(10)

[2]韩广峰.智能化图书馆RFID技术的研究[J].图书馆工作与研究,2007(1).

[3]甘勇,郑富娥.RFID中间件关键技术研究[J].电子技术应用,2007(9).

[4]丁振华.RFID中间件研究进展[J].计算机工程,2006(21).

[5]成修志.RFID中间件结构设计[J].计算机应用,2008(4).

[6]叶蔚.基于petri网的RFID中间件中复合事件检测研究[J].电子学报,2008(Z1).

[7]余腊生.面向消息的实时中间件的研究与实现[J].计算机工程,2004(1).

[8]刘发贵.RFID中间件及其在仓库管理中的应用[J].计算机工程,2006(13).

[9]王文闯.基于动态时间窗的射频识别中间件数据过滤算法[J].信息与电子工程,2009(3).

上一篇:唤起学生对历史的兴趣下一篇:重大机械装备