RFID中间件技术

关键词: 物联 射频 中间件 技术

RFID中间件技术(精选七篇)

RFID中间件技术 篇1

关键词:射频识别,中间件,事件,阅读器

1 引言

射频识别(Radio Frequency Identification,RFID)技术是一种基于射频原理实现的非接触式自动识别技术,它以无线通信技术和大规模集成电路为核心,利用射频信号及其空间耦合、传输特性,驱动电子标签电路发射其存储的唯一编码。它可以对静止或移动的目标进行自动识别,并高效地获取目标信息数据,通过与互联网技术的进一步结合,还可以实现全球范围内的目标跟踪和信息共享。RFID技术作为一种快速、实时、准确采集与处理信息的高新技术,已广泛应用于生产、零售、物流、交通、医疗、国防等各个行业[1,2]。

基本的RFID系统通常由三部分组成:电子标签(tag),RFID阅读器(reader)及应用支撑软件。中间件(Middleware)是应用支撑软件的一个重要组成部分,是衔接硬件设备如标签、阅读器和企业应用软件如企业资源规划(Enterprise Resource Planning)、客户关系管理(Customer Relationship Management)等的桥梁。是连接RFID设备和企业应用程序的纽带,也是RFID应用系统的核心。其主要任务是对阅读器传来的与标签相关的事件、数据进行校验、过滤、控制和计算,减少从阅读器传往企业应用的大量原始数据,生成加入了语意解释的生成数据。可以说,中间件是RFID系统的“神经中枢”[2]。

2 RFID中间件及研究现状

RFID中间件是一种消息导向(Message-Oriented Middleware,MOM)的软件中间件,信息(information)是以消息(message)的形式从一个程序模块传递到另一个或多个程序模块。因此RFID中间件除了具有数据获取、数据解析、数据传播、错误处理等消息处理功能之外,它还可以利用高效可靠的消息机制进行与系统无关的数据交流,并基于在线或离线的数据通信来进行分布式系统的集成。通过消息传递队列模型,它可在分布环境下扩展进程间的通信,并支持多通信协议、语言、应用程序、硬件和软件平台。

由于RFID中间件是近几年来随着RFID技术的发展刚刚出现的一种软件,其各个方面的技术和标准还远远没有成熟。各研究机构、实验室和微软、Sun、BEA、IBM等大型软件开发红司纷纷提出了自己的RFID中间件软件架构。其中MIT的Auto-ID实验室于2003年9月提出,并于2005年9月做出进一步修改的基于EPC网络的Savant RFID中间件架构最为重要。目前所进行的RFID中间件研究和实验大都基于Savant架构进行,所提出的RFID中间件架构或多或少的体现着Savant的特性。下面简单介绍下Savan和另外一个很有代表性的RFID中间件WinRFID[3]。

2.1 Auto-ID实验室的RFID中间件———Savant

Savant是一种用于处理来自一个或者多个电子标签数据(事件数据)流的中间件,它实现了数据过滤、数据聚合、标签数据计数、减少发送到企业应用系统的数据量等功能。图1是对于Savant机构的图形化表示。

在这个Savant结构中,读写器接口(Reader Interface)模块连接RFID的硬件读写器设备,EPCglobal为了实现接口的统一性,针对这一模块的实现制定了读写器协议接口标准说明(EPCglobal Reader Protocol Standard Version1.1),并且提供了对于其他标准的支持。应用程序接口(Application Interface)提供了Savant与外部应用的连接,一般是连接到已有企业后端的支持系统后者其他的Savant。

应用接口模块以命令集的方式提供企业应用系统和与Savant交互的接口,在Savant中每一个命令集都有相应的处理模块(Processing Module),并已给出定义。该模块可以分3层:内容层(Content Layer)、消息层(Message Layer)和传输层(Transmitting Layer)。内容层明确定了Savant和外部应用系统通信使用消息的抽象表达,是应用接口模块的核心,同时还定义了外部应用系统可用的操作及其含义;消息层对内容层所定义的抽象信息规定了如何进行编码实现、数据组帧、形式变换和在明确的网络上传输,且模块的安全服务在该层实现;传输层对应的是提供操作系统的网络设备[3,4]。

2.2 UCLA的RFID中间件———WinRFID

WinRFID中间件是加州大学洛杉机分校无线网络移动企业联(UCLA-Wireless Internet for the Mobile Enterprise Consortium,WINMEC)为了提供RFID应用与企业网络的无线集成环境而提出的研究开发目标。其结构如图2所示。

该中间件结构由5个层次构成。最底层为物理层,即RFID硬件层。该层主要负责RFID基础设备中的读写器、电子标签以及读写器的I/O模块。第2层为协议层,它解析和处理来自物理层读写器采集的且符合规定协议的各种原始数据。第3层是数据处理层,该层的主要任务是通过规则定义处理同一电子标签的重复读取、读取失败、错误读取、数据验证等问题。第4层为XML框架层,该层的主要目标是将数据转化为统一的数据表达格式以方便支持企业高层应用的管理决策。最上层为数据表示层,又称为应用层,该层将从XML框架层采集的数据进行可视化显示或者用于管理应用决策[3]。

3 设计一种新的RFID中间件平台

虽然目前国外已经有不少大学和研究团体在做RFID中间件方面的设计和研究,但是都或多或少的存在着不足和限制。其中Auto-ID实验室的RFID中间件—Savant没有统一的事件过滤(filter)规范,不支持高层事件的定义。在Savant的架构定义中并没有定义模块之间的实现交互的接口以及模块之间如何进行交互。UCLA WINMEC RFID实验室所设计的RFID中间件是在分布式架构上构建的Web服务,基于XML和SOAP,虽然包含了简单的捕获、平滑、过滤、路由、聚合等功能,但是主要应用在一些试验性的演示系统上[5]。

为了能够较好的解决以上平台所产生的问题,本文设计的RFID平台主要分为5个层次,从低向上分别为数据采集层、协议层、数据处理层、接口层、信息发布层,如图3所示RFID中间件层次结构。

数据采集层(阅读器、标签等),负责采集粘贴在物品上的标签信息,为整个系统提供精确的实时数据。整个系统的可用性、可靠性等都以此为基础。主要包含阅读器的管理、大规模阅读器间的协调、异构阅读器网络管理等功能。

协议层支持与RFID通信相关的多种协议,并具有兼容将来可能出现的新协议的能力。一般包含了多种已经发布的国际标准的命令语法喝语义,如ISO15693、ISO14443、ISO1800A/B、EPC Class0、EPC Class1等。协议层是一个协议引擎,它解析和处理来自数据采集层读写器采集的、符合以上协议的各种原始数据。经协议层处理的数据仍然保留原始的数据格式,并进一步发送给数据处理层。

数据处理层是RFID中间件平台的核心。数据处理以形式化方法、数据挖掘、神经网络、传感网络、复杂事件处理等理论为基础,针对原始数据规模大和原始数据包含的语义信息少两个问题,来有效减少数据冗余、压缩事件规模并为上层商业应用提供语义信息。从图3可以看出,它主要由数据校验、数据过滤、数据流控、数据存储等构成。这也是数据处理层最基本的模块,其中数据过滤模块的作用是在输入的大量数据中发现有用的和重要的数据,过滤沉余的、无关的数据,其目标在于减少数据的数量。数据存储模块是为了更有效地处理大量数据,减少数据处理中对后台数据库频繁操作和因存储、查询所带来的数据在网络中来回传输。

接口层一般包括内存数据库接口、网络接口和应用程序接口。各种接口可以为企业的应用提供良好的服务。

信息发布层是RFID中间件的最上层,一般情况下RFID信息流的应用不同其对应的计算需求就不同,如物流领域用来定位与追踪,安全领域用于身份识别等。但它们也有共性需求,比如信息存储、信息发布、访问控制。安全认证等。这些共性需求可以抽取出来作为支撑不同应用的基础设施,而这些基础设施就构成了信息发布层。

此平台首先涵盖了RFID中间件的基本功能,并较好的定义了模块之间的接口和模块之间的交互。但在采集的数据及时性与可靠性都还不十分完善,尤其是当数据复杂性和庞大时,过滤规则和事件的挖掘机制还有待于进一步补充和升级。

4 结束语

RFID中间件研究在国际上仍是一个较新的研究内容,成熟公认的成果不多,特别是当前的RFID中间件的市场尚不成熟,尤其缺乏深层次上的功能。本文首先简单介绍了RFID中间件,接着以Savant和WinRFID为例介绍了RFID中间件研究现状,并根据以上两种平台的不足给出自己所设计的一个新的RFID中间件平台。虽然此平台在设计时注意了一些方面,但还需要在实验和实践中进一步的检验。由于RFID在应用的过程中暴露出了许多安全隐患,所以RFID中间件的安全架构将是RFID未来发展的重要考虑内容之一,也是RFID技术成功与否的关键因素。

参考文献

[1]游战清,李苏剑.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社,2004.

[2]钟蕙安.RFID技术运作的神经中枢——RFID Middleware[J].Electronic Commerce Pilot,2004,6(14).

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

[4]Clark S,Traub K,Anarkat D,et al.Auto-ID Savant Specification1.0[M].Auto-ID Center,2003.

关于RFID中间件技术的研究 篇2

但是,任何一项新技术都是一个逐渐成熟的过程,发展的道路上总是充满荆棘的。当RFID电子标签和读写器越来越广泛的应用的时候,一些亟待解决的问题也随之而来,不同设备与应用系统间的接口如何统一,大量复杂的RFID数据如何处理和利用,如何将RFID系统与现有系统之间无缝集成等。这些问题严重阻碍了RFID发挥应有的作用。于是,开发出一种起到中枢作用的RFID中间件来简化企业RFID项目的开发和实施越来越受到众多企业的青睐。VDC公司的最近一份分析报告表明,RFID中间件应用软件将会有一个爆炸性的增长,从2005年的1200万美元增长到2010年的1.38亿美元,年复合增长率为63%。

RFID中间件技术将企业级中间件技术延伸到RFID领域,是RFID产业链的关键共性技术。它是RFID读写器和应用系统之间的中介,从应用程序端使用中间件所提供的一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据。RFID中间件屏蔽了RFID设备的多样性和复杂性,能够为后台业务系统提供强大的支撑,从而驱动更广泛、更丰富的RFID应用。

RFID中间件技术涉及的内容比较多,包括:并发访问技术、目录服务及定位技术、数据及设备监控技术、远程数据访问、安全和集成技术、进程及会话管理技术等。但任何RFID中间件必须具备数据读出和写入、数据的过滤和聚合、数据的分发、数据的安全四个功能。

数据的读出和写入是RFID中间件的首要功能。对于应用程序来讲,通过中间件从RFID标签中读写数据,应该就像从硬盘中读写数据一样简单和方便。这样,RFID中间件应主要解决两方面的问题,第一是要兼容不同读写器的接口,第二是要识别不同的标签存储器的结构以进行有效的读写操作。这就需要定义一组通用的应用程序接口,对应用系统提供统一的界面,屏蔽各类设备之间的差异。

RFID数据的过滤就是按照规则取得指定的数据。过滤功能的设计有利于解决读写器与标签之间进行无线传输时带宽不足的问题,而且还可以优化数据传输的效率。数据聚集是将读入的原始数据按照规则进行合并,目前主要依靠代理软件来实现,但也有一些功能较强的读写器能够自己设置并完成聚集功能。

RFID设备读取的数据,并不一定由某一个应用程序来使用,它可能被多个应用程序使用(包括企业内部各个应用系统甚至是企业商业伙伴的应用系统),每个应用系统可能需要数据的不同集合,中间件应能够将数据整理后发送到相关的应用系统,这就是RFID数据的分发。

数据安全在RFID应用中显得非常重要,因为RFID的使用往往在不为人知的地方,在家用电器上、服装上甚至是食品包装盒上也许都嵌入有RFID芯片,在芯片的内部保存着ID信息,可能还有其他的附加信息,一些别有用心的人也许能够通过收集这些数据而窥探到个人隐私。RFID中间件应该考虑到用户的这些担心,并在法律法规的指导下进行数据收集和处理工作。

在RFID系统中,各种应用程序以不同的方式频繁地从RFID系统中取得数据而网络带宽是有限的,这种矛盾就要求必须设计一套合理有效的消息传递系统。消息传递系统读写器产生事件,并将事件传递到消息系统中,由消息系统决定如何将事件数据传递到相关的应用系统。在这种模式下,读写器不必关心哪个应用系统需要什么数据,同时,应用程序也不需要维护与各个读写器之间的网络通道,仅需要将需求发送到消息系统中即可。中间件必须提供通过事件消息的内容来决定消息的传递方向的功能。否则将导致消息系统不得不将全部信息都传递给应用程序,而应用程序不得不自己实现部分的过滤工作。另一方面,RFID中间件应该能够自动配置具有过滤功能的读写器将数据处理的规则反馈到读写器,从而有效降低对网络带宽的需求。同时,消息系统应该提供数据存储功能,直到用户成功接收到数据为止。

有了这些功能,RFID中间件就可以为企业带来很多好处:1)实施RFID项目的企业,不需要进行任何程序代码开发,便可完成RFID数据的导入,可极大地缩短企业实施RFID项目的实施周期。2)当企业数据库或企业的应用系统发生更改时,对于RFID项目而言,只需更改RFID中间件的相关设置即可实现RFID数据导入新的企业信息系统。3)RFID中间件可以为企业提供灵活多变的配置操作;企业可以根据自己的实际业务需求、企业信息系统管理的实际情况,自行设定相关的RFID中间件参数,将企业所需RFID数据顺利地导入企业系统。4)当RFID项目的规模扩大时,例如增加RFID读写器数量,或其他类型的读写器,或者新增企业仓库,对于使用RFID中间件的企业,只需对RFID中间件进行相应设置,便可完成RFID数据的顺利导入,而不需要做程序代码开发,可以省去许多不必要的麻烦,还能降低成本。

目前,在国际上,不少IT巨头都看中了RFID中间件这块蛋糕,争相角逐,先后推出了自己产品,而且得到了用户企业的认可。

1)IBM RFID中间件

IBM RFID中间件是一套基于JAVA并遵循J2EE企业架构开发的一套开放式RFID中间件产品,可以帮助企业简化实施RFID项目的步骤,能满足企业处理海量货物数据的要求;基于高度标准化的开发方式,IBM的RFID中间件产品可以与企业信息管理系统无缝联接,有效缩短企业的项目实施周期,降低了RFID项目实施出错率、企业实施成本。目前已成功应用于全球第四大零售商Metro公司的供应链之中,不仅提高了整个供应链商品的流转速度、减少产品差错率,还提高了整个供应链的服务水平,降低了整个供应链的运营成本。此外,还有近百家供应商表示将采用这项中间件解决方案。

2)Oracle RFID中间件

Oracle RFID中间件是甲骨文公司开发的一套基于JAVA遵循J2EE企业架构的中间件产品。它依托Oracle数据库,充分发挥Oracle数据库的数据处理优势,满足企业对海量RFID数据存储和分析处理的要求。Oracle RFID中间件除最基本的数据功能外,还向用户提供了智能化的手工配置界面。实施RFID项目的企业可根据业务的实际需求,手工设定RFID读写器的数据扫描周期、相同数据的过滤周期,并指定RFID中间件将电子数据导入指定的服务数据库,并且企业还可以利用Oracle提供的各种数据库工具对RFID中间件导入的货物数据进行各种指标数据分析,并做出准确的预测。

3)Microsoft的RFID中间件

与其他软件厂商运行的JAVA平台不同,Microsoft中间件产品以SQL数据库和Windows操作系统为依托,主要运行于微软的Windows系列操作平台。微软还准备将RFID中间件产品集成为Windows平台的一部分,并专门为RFID中间件产品的数据传输进行系统级的网络优化。

4)Sybase的RFID中间件

Sybase中间件包括Edgeware软件套件、RFID业务流程、集成和监控工具。该工具采用基于网络的程序界面,将RFID数据所需要的业务流程映射到现有企业的系统中。客户可以建立独有的规则,并根据这些规则监控实时事件流和RFID中间件取得的信息数据。

Sybase中间件的安全套件已经被SAP整合进SAP企业应用系统,双方还签定了RFID中间件联盟协议,利用双方资源共同推广RFID中间件的企业RFID解决方案。

以上这些厂商自身都具有比较雄厚的技术储备,其开发的RFID中间件产品又经过多次的实验室、企业实地测试,其RFID中间件产品的稳定性、先进性、海量数据的处理能力都比较完善,已经得到了许多企业的认同。但是在我国,RFID技术进入时间比较短,各方面的工作还处于起始阶段,与国际技术的发展相比,在很多方面还存在明显的差距。目前国内做中间件的企业很多,但专门开发RFID中间件的企业却很少。既使有一些初具规模的RFID中间件产品,也大多没有在企业进行实际应用测试,与国外的RFID中间件产品相比,还有较大的距离。不过,国外产品发展的时间并不比中国早很多。只要中国软件企业奋起直追,依托国内人力、成本等优势,在短时间内完全有可能开发出与国外的同类产品相匹敌的RFID中间件产品。

总之,RFID中间件技术成功地将RFID数据采集与业务处理系统分离,使应用系统专注于业务的流程和处理,而不再陷于修改适应各种不同的数据采集方式。它不仅可以用于采集RFID设备的数据,还可以扩展到条码、IC卡等其他设备的数据采集,真正做到应用系统与设备无关。政府对此领域提供了很多政策支持,但国内企业应当认识到同国外企业之间的差距,奋起直追,依托国内的天时、地利、人和、成本优势,一定能够占领中国的RFID中间件市场。

摘要:无线射频识别(Radio Frequency Identification,缩写RFID)技术是一种快速、实时、准确的信息采集与处理技术,通过射频信号对实体对象进行唯一有效的标识,可广泛应用于生产、零售、物流、交通、医疗、国防、畜牧、采矿等各个行业。基本的RFID系统一般由3部分组成:标签、阅读器以及应用支撑软件。中间件是应用支撑软件的一个重要组成部分,是衔接硬件设备如标签、阅读器和企业应用软件如企业资源规划(ERP)、客户关系管理(CRM)等的桥梁。

关键词:RFID,中间件,技术

参考文献

[1]Inmon.W.H.数据仓库[M].3版.王志海,泽.北京:机械工业出版社,2003.

[2]李泉林,郭龙岩.综述RFID技术及其应用领域[J],2006,1(1):51-62.

[3]游战清,李苏剑.无线射频识别技术理论与应用[M].北京:电子工业出版社,2005.

[4]Stadtler,H.,Kilger,C..供应链管理与高级规划—概念、模型、软件与案例分析[M].北京:机械工业出版社,2005.

[5]Weiss.S.(2004).“RFID Privacy Workshop:Concerns,Consensus,and Questions.”IEEE Security&Privacy,2,48-50.

[6]Lee,Y.M.,Cheng,F.,Leung,Y.T.(2004).“Exploring the Impact of RFID on Supply Chain Dynamics.”Proceedings of the2004Winter Simulation Conference.

RFID中间件技术 篇3

一、RFID系统的结构和工作原理

1. RFID系统的典型结构

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

2. RFID系统的工作原理

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

二、RFID中间件技术

1. 中间件技术

中间件, 是在一个分布式系统环境中处于操作系统和应用程序之间的软件。中间件作为一大类系统软件, 于操作系统、数据库孤立系统并称“三套车”, 其重要性是不言而喻的。它的优越性体现在以下几个方面:

(1) 缩短应用的开发周期、简化应用集成;

(2) 保护现有的投资、减少系统初期的建设成本、节约应用的开发成本、减少维护费用;

(3) 降低应用开发的失败率、提高应用的开发质量;

(4) 保证技术进步的连续性、增强应用的生命力。

2. RFID中间件

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

从发展趋势来看, RFID中间件可分为3个阶段:

(1) 应用中间件阶段。RFID初期的发展多以整合、连接RFID读写器为目的, 本阶段多为RFID读写器场上主动提供简单API, 以供企业将后端系统与RFID读写器串接。RFID中间件的作用主要集中在对应用程序屏蔽后台硬件系统。但是对于企业还需要花费大量人力物力解决前后端系统连接的问题。

(2) 系统中间件阶段。本阶段是RFID中间件成长的关键阶段, 开发的中间件不但已经具备基本数据搜集、过滤等功能, 同时也满足企业多对多的连接需求, 并具备平台的管理与维护功能。如:S U N公司推出的Sun Java System RFID Software, 由Sun Java System RFID Event Manager (事件管理器) 和Sun Java System RFID Information Server (信息服务器) 两个软件组件组成, 此软件免费、独立、适应性好;IBM公司推出的IBM Web Sphere软件, 可与应用服务器集成。还有BEA、Oracle、Microsoft等公司也在进行相关技术和产品的研究。目前, 我国RFID中间件的应用主要处于此阶段。

(3) 解决方案阶段。各厂商针对不同领域提出各项RFID解决方案, 此阶段的RFID中间件将成为应用系统中一个重要组成部分, 使企业在运用中只需考虑上层的应用系统的设计与实现, 其它只需调用相应的服务即可。

三、基于RFID中间件技术的物流管理系统的设计和实现

1. 系统模型设计

基于RFID中间件技术的物流管理系统主要包括以下功能:

(1) 客户管理:包括增加客户信息、客户信息的维护、操作权限管理、货物信息管理、填发物品调拨指令、指令查询、货物编码维护等功能;

(2) 仓库管理:对库存物料的入库、出库、盘点等日常工作进行全面的控制和管理;

(3) 配送管理:完成从客户申请配送受理、配送作业完成、到实际配送出库的一系列管理功能;

(4) 运输管理:自由车辆调配管理、社会运输管理。

其整体体系结构设计如图1所示。

2. 物流RFID应用子系统的设计

针对物流行业的应用特点, 参照EPC标准, 建立一个通用的分层的RFID应用框架, 可分为四个层次:

(1) 阅读器层:位于架构的最底层, 阅读器经常由触发器控制, 每秒读取标签上百次。阅读器由一个且只能由一个边缘服务器控制, 以避免出现于网络分区相关的问题。

(2) 边缘服务器层:边缘服务器定期轮询阅读器, 并执行过滤和设备管理。还产生A L E事件并将事件发送到集成层。

(3) 集成层:接收多个ALE事件, 并将它们合并到工作流中, 工作流会作为更大业物流的一部分与多个不同系统和人员接触。

(4) 应用层:RFID后端软件系统及应用系统界面, 形成可定制的物流应用系统。

3. RFID中间件的选型

在本系统中, RFID中间件将选择系统中间件类型。目前提供RFID中间件的供应商和产品有很多, 表中列出了RFID中间件供应商及其产品。通过分析、比较, 本系统采用了Sun Java System RFID Software中间件, 它能够满足本系统的平台、标准、设备、数据管理和整合的要求, 并且性价比较高。

4. 系统总体技术方案的设计

根据RFID物流系统架构图和采用的Sun Java System RFID Software中间件, 最终设计的系统总体技术方案, 如图2所示:

四、结论

RFID技术由于具有移动物品识别、多目标识别、非接触识别以及无人干预等优点, 近年来发展非常迅速。中间件是衔接硬件设备和企业运用软件的桥梁, 可以说中间件是RFID系统的“神经中枢”。在搭建RFID系统时, RFID中间件逐渐成为不可或缺的环节, 在降低系统复杂性方面起到了明显的效果。

摘要:在分析RFID物流管理应用背景的基础上, 对RFID技术和中间件进行了简要说明, 并提出了一种基于RFID中间件技术的物流管理系统的设计方案。

关键词:RFID,中间件,物流

参考文献

[1]中国射频识别技术政策白皮书http://www.233633.com/rfid/RFIDStandardregulation/20060612156373.html

[2]http://middleware.objectweb.org

RFID中间件技术 篇4

企业实施RFID方案的最终目的是将RFID产生的海量信息为业务所用。这就需要解决企业现有的业务系统如何与RFID系统接口的问题,包括连接RFID设备、处理RFID数据、将其转换成业务信息等。为了避免因标签种类变化、系统业务逻辑改变而需要重新编写业务信息的情况,需要将RFID硬件模块的连接控制、中间数据处理与上层应用软件分开,因此引入了RFID中间件的概念。

此外,利用SOA系统具有可扩展性高、可维护性好的特点,以便为用户提供灵活的维护服务,还引入了面向服务体系架构SO A (Service Oriented Architecutures)。

基于上述分析,本文提出了一种基于SOA的RFID中间件方案。该方案可把各个应用RFID技术的功能抽象成服务,应用基于J2EE构建方法,综合应用JMX、JMS、Struts等技术。企业应用系统通过请求服务的方式来获取RFID中间件提供的服务。用XML进行数据传输,并提供Web Service接口。

1 技术基础

1.1 RFID中间件

RFID中间件是实现RFID硬件设备与应用系统之间数据传输、过滤、数据格式转换的一种中间程序,将RFID阅读器读取的各种数据信息,经过中间件提取、解密、过滤、格式转换、导入企业的管理信息系统,并通过应用系统反映在程序界面上,供操作者浏览、选择、修改、查询。中间件技术也降低了应用开发的难度,使开发者不需要直接面对底层架构,而是通过中间件进行调用。

RFID中间件是一种消息导向的软件中间件,信息是以消息的形式从一个程序模块传递到另一个或多个程序模块。消息可以非同步的方式传送,所以传送者不必等待回应。RFID中间件是在企业应用原有的中间件发展的基础上,结合自身应用特性进一步扩展并深化了中间件的应用,使得RFID应用系统的开发变得更容易,提高了软件的可移植性,增强了系统的可维护性和可靠性,所以它的架构设计解决方案是RFID应用的一项极为重要的核心技术[1]。

目前提供RFID中间件平台的厂商主要有IBM、Oracle、Microsoft、SAP、Sun公司。对于这些厂商,RFID中间件只是其现有软件的扩展,其RFID产品可以迅速方便地与各自现有的软件产品线集成在一起。但缺点是其产品对该厂商其他软件产品的依赖性比较大。

1.2 面向服务的体系结构SOA

面向服务的体系结构是一种技术架构风格,它代表了一种开放的、敏捷的、可扩展的、可组合的架构[2],定义了服务提供者和消费者之间的松散耦合关系。其业务敏捷的特点,帮助企业把业务变得更加灵活,能够适时、快速地响应变化。SOA的核心概念就是服务[3],其基本结构如图1所示。其中包含服务的3个基本角色:服务提供者、服务请求者和服务注册。在这些角色之间使用了3种操作:服务发布、服务发现和服务绑定。作为SOA的一种实现技术,Web Services提供了基于XML的标准接口,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成性等特点,能够良好地满足SOA应用模式的需求。

1.3 JMX和JMS

Java管理扩展JMX(Java Management Extensions)是一个为应用程序、设备、系统等植入管理功能的框架。在JMX规范中,管理组件是一个能代表管理资源的Java对象,遵从一定的设计模式,实现该规范定义的特定的接口。该定义保证了所有的管理组件以一种标准的方式来表示被管理资源。管理接口就是被管理资源暴露出的一些信息,通过对这些信息的修改能够控制被管理资源。管理接口包括:能被接触的属性值、能够执行的操作、能发出的通知事件等[4]。

JMS (Java Message Service)是访问企业消息系统的标准API,定义了Java中访问消息中间件的接口,但JMS只是接口,并没有给予实现,实现JMS接口的消息中间件称为JMS提供者(JMS Provider)。在JMS框架中运转的方法如下:

(1)得到1个JNDI初始化上下文(Context)。

(2)根据上下文以查找1个连接工厂。

(3)从连接工厂得到1个连接(Connect)。

(4)通过连接以建立1个会话(Session)。

(5)查找目的地(Topic/Queue)。

(6)根据会话以及目的地以建立消息制造者(TopicPub lisher/QueueSender)和消费者(TopicSubscrib-er/QueueReceiver)。

2 基于SOA的RFID中间件架构

利用SOA松耦合、面向业务的特点,结合RFID中间件实现的应用系统集成的方案可提供丰富的接口,能够帮助实现对RFID设备的管理以及对数据的处理,简化了对底层设备应用的支持,避免了对底层设备的低级别接口的处理。利用Web Service技术实现RFID中间件与企业系统的集成,完成两者的松耦合集成。

基于SOA的RFID中间件架构,其基础架构层分为设备管理层、事件处理层和服务接口层,并通过Web Service技术包装了每1层相应的功能,且进行了具体实现。本文重点介绍该RFID中间件架构中的基础架构的3个功能层[5]。这3个层次有着明确的功能划分和层间的交互接口。RFID中间件架构如图2所示。

中间件设计包括RFID设备管理组件和事件过程管理组件。RFID设备管理组件是分布式的代理,负责第1级的事件过滤;设备管理包括设备询问器,对每1个阅读器和传感器设备,代理必须互相作用。过程管理组件是通过RFID事件下一级的过滤,把事件放置到交易环境中,然后发布应用层事件ALE(Application Layer Event)[5]。

2.1 设备管理层

设备管理层位于架构的最底层,直接与阅读器交互,实现的主要功能包括:

(1)采集射频卡上的数据。

(2)对于来自不同类型的阅读器的数据进行适配处理,得到统一的、格式化的数据,并进行数据校验。

(3)将校验无误的数据按照用户定义的协议进行封包,并将消息包发送到事件处理层的消息系统。

依据其实现的功能,分别针对射频卡阅读器模块、阅读器接口、数据校验和数据打包4个方面进行研究和开发。阅读器模块是根据硬件供应商提供的规范进行编码实现的;阅读器接口主要解决将来自协议格式的数据转化为系统所需要的EPC码;数据校验采用CRC校验;数据打包先依据获取的卡片编码中“数据分类”内容,判断出该标签数据属于哪种类型,然后按照这种数据类型将标签数据封装成相应的消息包。

由于每个ALE阅读器事件流可能来自多个物理设备配置表,因此设备管理器为每个设备表创建1个询问器,并通知询问器哪种传感器被绑定到指定的阅读器上。询问器发送传感器事件流到设备管理器,设备管理器将1个或多个传感器事件流构造成阅读器事件。设备管理器把初步处理的阅读器事件发送到ALE服务器。

询问器代理:1个设备管理器的配置由它管理的设备和它要咨询的询问器组成,然后与它所对应的设备管理器交互。每个设备概要表由物理设备属性和询问器配置组成。物理设备属性是被命名过的传感器(例如天线和1个金属传感器)。

事件信息空间:事件信息空间类似于公共的容错事件信息经纪人。它支持异步接收来自设备管理器的事件、ALE事件以及其他来自事件过程管理的配置需求。事件信息空间同时提供一个存储转发机制,确保重要的事件在中断的网络或其他组件失效的情况下不丢失[5]。

在系统中,将每个阅读器模块的远程方法调用封装为1个管理组件(MBean)作为JMX服务器的实例注册到JMX服务器中。通过JMX框架对阅读器进行监控和管理,使RFID中间件系统能提供管理、监控阅读器的功能。本部分描述为阅读器管理组件添加时间服务,以达到定时控制阅读器的目的。

2.2 事件处理层

在RFID系统中,一方面是各种应用程序以不同的方式频繁地从RFID系统中取得数据;另一方面却是有限的网络带宽,其存在的矛盾,使其有必要设计1套消息传递系统,使设备管理层产生的事件能够传递到消息系统中,由事件管理过程进行处理,然后把数据传递到相关的应用系统。在这种模式下,阅读器不必关心哪个应用系统需要什么数据。同时,应用程序也不需要维护与各个阅读器之间的网络通道,仅需要将需求发送到消息系统中即可。由此,设计出的消息系统应具有如下功能:(1)数据缓存功能;(2)基于内容的路由功能;(3)数据分类存储功能[6]。

下面将描述创建一个MBean来实现一个数据处理节点。消息组件可以按照MBean来部署。消息处理组件执行功能:从源队列中获取消息,对消息执行处理,然后将结果消息放置到目标队列。消息处理UML图如图3所示。

JBossMQ是通过xml文件jbossmq-destinations-service.xml进行配置的。以下是获得JBOSS JNDI初始化上下文(Context)的代码:

Hashtable props=newHashtable();

props.put (Context.INITIAL CONTEXT FACTORY,"org.jnp.interfaces.NamingContextFactory");props.put (Context.PROVIDER URL,ip+":1099");props.put ("java.naming.rmi.security.manager","yes");

props.put (Context.URL PKG PREFIXES,"org.jboss.nam-ing");

Context context=new InitialContext(props);

来自消息系统的消息以临时XML文件的形式和磁盘文件方式保存,供数据接口使用。消息系统完成消息缓存、分类整合、路由转发、临时存放等操作[4]。

事件过程管理EPM (Event Process Managment)由ALE服务、配置管理、复杂事件过程以及交易规则执行组成,对EVP的访问能通过HTTP、JMS以及网络服务接口实现。

EPM登记/订阅其感兴趣的事件,当在信息空间中有事件发生时,即会通知EPM,一旦接收到这些事件,随后会应用复杂事件处理(过滤器),结合交易规则对这些事件进行处理。另一种情况下是:外部的客户端(如EPC-IS)已经注册接收ALE,这些过滤后的事件会被发送到ALE客户端指定的位置。

2.3 服务接口层

来自事件处理层的数据最终是分类的XML文件。同一类型的数据以XML文件的形式保存,并提供给相应的1个或多个应用程序使用。而服务接口层主要是对这些数据进行过滤、入库操作,并提供访问相应数据库的服务接口。具体操作如下:

(1)将存放在磁盘上的XML文件进行批量入库操作,当XML数据量达到一定数量时,启动数据入库功能模块,将XML数据移植到各种数据库中。

(2)在数据移植前将重复的数据过滤掉。

(3)为企业内部和企业外部访问数据库提供Web Services接口。

其中,数据过滤过程是在处理临时存放的XML文件的过程中完成的。方法是:将同一个卡号的多条记录按照读入的时间戳进行比较,若相邻记录的时间戳差值小于用户定义的阈值,则认为重复读取发生,剔出后1条记录。依次类推,剔出掉所有冗余数据。利用Web Services技术将对数据库的访问以服务的形式发布,供企业内部应用程序和企业合作伙伴调用[2]。以数据过滤为例,其核心代码如下:

以下是服务接口层向应用系统发送SOAP响应,返回处理结果的部分代码[7]。

3 RFID中间件的实现及测试

RIFD中间件系统开发工具采用Eclipse3.2,应用服务器软件采用JBOSS4.0,Web容器为Tomcat5.5。此外,服务器端采用了基于Struts的MVC多层次结构框架,数据服务层则采用MySQL5.0数据库。

实验中,终端通过485网络组网,应用系统使用的是仓库管理系统。仓库管理系统作为服务请求者,根据服务接口层公布的入库信息核对服务WSDL,得到该服务的接口定义和服务端侦听地址,由入库管理模块通过服务代理接口向Web服务发送SOAP请求消息,请求入库信息核对服务,Web服务平台收到该服务请求后,向RFID中间件发送消息,创建一个出库信息核对服务的实例,设备管理层根据服务请求参数,启动相应的RFID阅读器读取标签信息。然后将读取的标签信息经处理后打包传给事件处理层,根据服务请求的参数与捕获的标签信息进行核对处理,处理后向服务接口层返回核对数据正确或者错误的信息,如图4所示。最后,服务接口层向仓库管理系统发送SOAP响应,返回处理结果[5]。

实验表明,原来的应用系统仅仅支持1种固定卡型的阅读器,采用RFID中间件以后,可以在1个系统中采用各种卡型的阅读器,而上层程序不需要再进行修改,增加了系统的可扩展性和易维护性,节约了时间和成本。系统稳定性也有大的提高,有效解决了企业应用中所关心的问题。

本文提出了一个基于SOA,综合应用JMX、JMS等技术的RFID中间件架构,并说明了RFID中间件各部分的含义和作用及基础架构的实现。这种中间件结构能很好地屏蔽低端各种物理设备的信息。由于采取了模块化的结构,可以根据需要进行裁减,在需要的时候再加入相应的模块,例如,可根据需要是否添加认证和安全模块。通过Web Service,可实现对RFID中间件更高层次包装,保证了RFID基础架构中3个功能层之间的相互独立和协同工作。

参考文献

[1]郑勇雪,张大勇.仓储管理系统中RFID中间件的设计与实现[J].计算机工程与设计,2007,23(12):5715-5717.

[2]邓海生,李军怀.基于SOA的RFID中间件的研究与实现[J].电子技术应用,2007,33(10):131-134.

[3]ERLT.SOA概念、技术与设计[M].北京:机械工业出版社,2007.

[4]甘勇,郑富娥,吉星,等.RFID中间件关键技术研究[J].电子技术应用,2007,33(9):130-132.

[5]成修治,李宇成.RFID中间件的结构设计[J].计算机应用,2008,28(4):1055-1057.

[6]吴正大,魏俊荣,张继新.RFID中间件设计技术初探[J].邮电设计技术,2006(8):39-42.

RFID中间件设计研究 篇5

RFID(Radio Frequency Identification)射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个标签,操作快捷方便。一套完整的RFID应用系统由标签(TAG)、读写器(READ-ER)、中间件和应用程序等几部分组成。

埃森哲实验室首席科学家弗格森认为RFID是一种突破性的技术:第一,可以识别单个的非常具体的物体,而不是像条形码那样只能识别一类物体;第二,其采用无线电射频,可以透过外部材料读取数据,而条形码必须靠激光来读取信息;第三,可以同时对多个物体进行识读,而条形码只能一个一个地读。此外,储存的信息量也非常大[1]。

RFID的应用相当广泛,在物流、生产、零售、医疗、交通、资产管理、军事等都有RFID的成功案例。RFID被列为本世纪十大重要技术项目之一。

在目前的RFID应用中,读写器设备、标签标准、应用领域均存在多样化的情况,因此,设计一个RFID中间件来屏蔽设备差异,并为应用程序提供标准的信息获得方式成为一个具有理论与实际意义的研究内容。本文主要根据RFID中间件需要完成的各项工作,介绍了各环节所需要解决的内容,以及相应的实现机制。

在国内,针对本课题所涉及的分层实现RFID,RFID信息采集,RFID事件处理,信息发布等关键技术的研究,作为单个技术研究的成果己经不少。但对上述所有技术同时进行全面分析研究和集成研究的却不多见,故本课题的研究具备了一定的技术先进性和学术价值。

1 RFID中间件

RFID中间件扮演RFID标签和应用程序之间的中介角色,从应用程序端使用中间件所提供的一组通用的应用程序接口(API),即能连到RFID读写器读取RFID标签数据。这样一来,即使存储RFID标签信息的数据库软件或后端应用程序增加或改由其他软件取代,或者读写RFID读写器种类增加等情况发生时,应用端不需修改也能处理,省去多对多连接的维护复杂性问题。

一个完整的RFID中间件至少应该包含数据采集层、事件处理层、信息发布层这三部分[2],如图1所示:

RFID中间件主要解决以下几个问题:

(1)如何通过READER获取原始的TAG数据。

(2)如何将原始数据处理成有用信息。

(3)如何将有用的信息传递给需要的应用程序。

1.1 如何通过READER获取原始的TAG数据

通过READER读取TAG数据,需要解决多READER多TAG之间存在的信号冲突问题。第一类冲突是多个READER之间由于分布距离太近导致信号相互干扰,这类问题目前主要通过合理分布READER距离的方式来实现。第二类冲突是在一个READER的读取范围内存在多个标签导致冲突,关于该问题已经有很多学者做了深入的研究[3~4],本文对此不再作深入探讨。

目前大部分READER生产厂家都随硬件提供了相应的DLL文件,将读写TAG的常用功能封装在相应的函数中,因此,在RFID中间件获取原始数据的设计过程中只需参考相应设备的SDK说明书,正确调用函数即可。譬如一个读多卡的过程如下:

1.2 如何将原始数据处理成有用信息

读写器不断地从Tag读取大量的未经处理的数据,会产生大量的重复数据,同时读写器在每个读周期也不一定能读到所有信号范围内的标签。因此,中间件必须先将巨量且杂乱的原始数据进行处理,形成可靠有效的信息后再通过信息发布层进行发布。处理方式主要有过滤、聚集、可靠性处理等。

1.2.1 过滤

过滤就是按照规则取得指定的数据,过滤有三种类型:基于读写器过滤、基于标签和数据的过滤、基于时间的过滤。表1描述了这三种过滤类型。

1.2.2 聚集

聚集的含义是将读入的原始数据按照规则进行合并,例如重复读入的数据只记录第一次读入的数据和最后一次读入的数据。聚集的类型可以分为4种:进入和移出、计数、通过和虚拟阅读[5]。详细描述见表2。

1.2.3 事件周期和可靠性

有很多原因会造成读卡器不能在一个读周期内检测到所有标签,可能是因为RFID标签本身的不可靠特性,也有可能是在像托盘这样的大容器负载很多标签缓慢通过读卡器时,有标签没有被检测到。我们可以通过配置一个事件周期包括多个读周期,这样就能提高所有的标签都被包含在结果报告中的概率。

在BEA公司的RFID中间件里,主要采用以下几种方式来配置事件从而提高可靠性:

(1)指定持续读周期,譬如读10个周期

(2)指定持续时间,譬如5 000ms

(3)稳定集合间隔周期,在若干个读周期内,没有出现新标签,见表3。

√:该标签在当前读周期被检测到

说明:假设我们将稳定集合间隔周期设置为3,即连续3个读周期无新标签出现代表一个事件周期完成。在表3中,周期1读出了3个标签,周期2和3又分别有新标签出现,所以稳定周期计数器被复位,重新从0开始计算,在4,5,6周期内由于都没有新的标签出现,计数器达到要求,事件周期结束,最后结果为5个标签。

1.3 如何将信息传递给应用程序

当中间件将原始信息抽象成信息后,就要考虑如何将信息发布给应用程序。由于中间件需要为多种应用程序服务,而每种应用程序所需要的信息又是不尽相同的,所以理想的模式应该是将每类消息只发布给需要的应用程序,从而提高速度,节省资源。在本节中将介绍通过采用基于JMS规范的消息的发布方式来实现RFID中间件与应用系统的信息传递。

JMS是Sun提出的Java消息服务规范,是用于访问消息系统的独立于厂商的应用程序接口,它提供应用程序创建、发送、接收和读取消息的接口。[6]

1.3.1 JMS消息模型

JMS支持点对点(P2P)和发布/订阅(Pub/Sub)两种消息模型。

(1)P2P模型在P2P模型中,一个客户机(消息发送者)向一条特定的队列发送一条消息,而另一个客户机(消息接受者)可从消息队列中提取消息。消息队列保留着所有消息,直到它们被消费(被客户机接收)或过期。

(2)Pub/Sub模型与P2P模型不同的是,Pub/Sub模型采用消息发布者与订阅者分别替换消息发送者与接收者。一个发布者可以对应多个订阅者,系统将来自不同分布式系统的多个消息发布者所发布的消息转发到多个订阅者手中,如图2所示:

1.3.2 RFID中间件与应用程序的信息传递

我们可以采用JMS规范中的Pub/Sub模型来实现RFID中间件与应用程序的信息传递,实现流程如图3所示:

流程说明:

(1)应用程序到信息中心订阅所需信息。

(2)信息中心接收事件处理层产生的信息。

(3)信息中心根据订阅记录,将信息发送给需要的应用程序。

2 结束语

本文主要根据RFID中间件原理,研究了设计过程中的几个关键环节,并提出了相应的解决方法。通过本文,可使读者较完整的了解RFID中间件的设计原理与实现技术。本文中尚未涉及的中间件安全问题,是一个值得继续深入研究的内容。

参考文献

[1]杨玉婷.RFID在零售业的应用研究[J].物流科技,2007(11):15-17.

[2]丁振华,李锦涛,冯波,郭俊波.RFID中间件研究进展[J].计算机工程,2006(11):9-11.

[3]刘辉,邓铁乾.RFID系统识读器冲突问题研究[J].计算机与数字工程,2006(4):85-87.

[4]刘磊安,赖声礼,刘畅.RFID系统阅读器防冲突算法研究与分析[J].科学技术与工程,2007(5):1890-1893.

[5]吴正大,魏俊荣,张继新.RFID中间件设计技术初探[J].邮电设计技术2006(8):39-42.

公共RFID中间件的设计与研究 篇6

1.1 RFID概述

射频识别技术是一种利用射频通信实现的非接触式自动识别技术 (简称RFID技术) 。RFID是2005年建议企业可考虑引入的十大策略技术之一;RFID产业潜力无穷, 应用的范围遍及制造、物流、医疗、运输、零售、国防等等领域。

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

RFID技术成功的关键除了标签的价格、天线的设计、波段的标准化、设备的认证之外, 最重要的是要有关键的应用软件才能迅速推广。这其中中间件可称为RFID技术运作的中枢, 它可以促进一些关键应用的问世。

1.2 RFID中间件概述

RFID中间件是RFID标签和应用系统之间的中介角色。应用系统通过中间件提供的接口 (厂商提供的一系列的API) , 对读写器传来的与标签相关的事件、数据进行读取、过滤、聚集、发布等处理操作, 导入企业的管理信息系统, 并通过应用系统反应在程序界面上, 供操作者浏览、选择、修改、查询。中间件技术也降低了应用开发的难度, 使开发者不需要直接面对底层架构, 而通过中间件技术进行调用。

二、RFID项目实施中的问题

企业在实施RFID项目改造期间, 可以通过RFID中间件技术来保证RFID数据正确导入企业的管理系统。目前可供企业选择的RFID中间件平台的厂商主要有IBM, Oracle, Microsoft, SAP, Sun, Sybase, BEA等, 对于这些厂商来说, RFID中间件只是其现有软件的扩展, 他们的RFID产品可以迅速方便地与各自现有的软件产品线集成到一起。但缺点是, 其RFID中间件产品对该厂商其他软件产品的依赖性太大, 不能兼顾其他厂商的产品。因此, 如果设计一个能够兼容并支持各种厂商RFID产品的中间件, 为实施企业提供一系列统一的接口, 将为RFID项目的实施提供强有力的支持。

三、公共RFID中间件的设计

全新设计的RFID中间件 (公共RFID中间件) 可以兼容多个RFID厂商提供的API, 公共RFID中间件通过读写器厂商所提供的特定API, 来控制读写器, 并提供两组对外的主要接口:一组为Web Service接口, 供外部信息系统 (例如ERP等系统) 调用, 进行对读写器数据的读取;另外一组为JDBC接口;通过对中间件进行配置, 可以将读写器所读到的数据, 直接写入到外部应用系统数据库。

公共RFID的设计如下图所示:

其中有两组不同的Web Service接口, 针对信息系统和数据库系统分别设计, 公共RFID中间件, 兼容了各种厂家的API, 可以更为方便的为各个厂家的读写器同时提供服务。

公共RFID中间件提供的功能包括以下几个方面:

(1) 中间件自身的配置管理

配置一些接口参数, 为第三方应用的提供支持;

配置中间件工作参数, 对Filter环境、watch环境进行设置实现中间件在特殊环境下的具体适应性工作;

配置读写器的数据定义, 对数据库的写入处理进行各种设置, 把读写器数据区中有意义的数据, 通过定制, 保存到数据库的不同位置。

(2) 不同读写器的集成

配置不同厂商提供读写器集成参数, 实现不同读写器的集成。具体功能包括设置具体读写器的参数和类型, 设置不同厂商的读写器;对读写器数据定义设置, 读取到读写器数据区中的数据后, RFID中间件把截取出来的有意义的数据位, 根据本功能的设置, 保存到数据库中的相应字段中。

(3) 为应用程序提供集成功能

提供应用程序的接口, 提供对外的web service接口, 提供与一些ERP等应用系统进行事件的触发机制。RFID中间件可以提供四种类型的web Service接口, 包括读写器设置接口、缓冲区标签操作接口、EPC Gen 2标签操作接口、数据库接口。

公共RFID中间件可以通过读写器设置接口, 来进行设置或查询读写器系统参数;包括以下几方面的操作:

◆通过读写器的IP地址、读写器地址、新的发射频率值, 设置读写器的功率值;

◆通过读写器的IP地址、读写器地址, 打开或关闭功放;

◆通过读写器的IP地址、读写器地址、设定的频率值、天线数量, 进行设置频率和天线等操作;同时也可以查询或设置当前工作的天线、设置和结束天线循环、设置和查询缓存模式、读写器复位等操作。

使用缓冲区标签操作接口, 可以读取保存在缓冲区中的标签信息。读写器读到标签数据后, 会将标签数据保存在读写器的缓冲区中;中间件可以从读写器的缓冲区中读取标签号、标签数等命令。具体功能包括:复位所有缓冲区指针、查询读写器中缓冲区的标签数量、读取指定个数的多标签数据、读取单个标签数据、通知读写器删除已经读取的标签数据。

使用EPC Gen 2标签操作接口, 可以对Gen2标签的读、写、锁定、销毁、擦除等操作。EPC Gen2标签包括多个数据块 (bank) , 每个数据块中有多个小数据块, 小数据块通过偏移地址 (point) 决定其在数据块中的相对地址。具体提供以下接口功能:

◆单标签读Gen2标签数据:用于读写器读取单张标签, 即读写器躲到一张标签后立即返回标签数据;

◆多标签读Gen2标签数据:用于读取当前天线范围内所有标签。返回读到的标签数, 如果标签数大于0, 则读写器读到标签, 通过Buffer命令可以读取标签数据;

◆写Gen2标签:用于单标签写操作, 向标签中指定数据区和偏移量的标签空间中写入数据;

◆根据标签号写标签数据:用于指定标签号单标签写操作, 向标签中指定数据区和偏移量的标签空间中写入数据;

◆擦除标签:用于擦除指定标签某数据块的数据;

◆锁定指定的Gen2标签:用于锁定指定标签的某数据区;

◆销毁指定的Gen2标签:销毁指定的Gen2类型标签;

◆结束Gen2标签操作:用于结束Gen2标签操作, 关闭功放。

使用数据库接口, 外部业务系统可以直接对数据库进行操作。外部业务系统, 可以根据这些Web Service, 对数据库中电子标签记录进行增、删、改、查等操作。

四、结语

RFID中间件是RFID系统中的重要组成, 公共RFID中间件设计, 可以兼容很多RFID厂商现有的中间件, 并提供一系列的统一接口, 从而为企业的RFID项目实施带来更大的方便。企业在RFID项目实施的过程中, 利用此RFID中间件提供的接口, 可以灵活配置不同厂商的RFID硬件设备, 为企业提供了更多的选择;同时可以方便地同业务系统相衔接, 便于业务系统管理者及时监管;也可以把标签数据及时保存到数据库系统中, 业务系统也可以直接对数据库中的标签数据进行操作。

摘要:在研究其它RFID中间件厂商的基础上, 提出一个公共RFID中间件的设计理念, 提供一个统一的中间件平台;本文从设计架构和接口功能两个方面, 对公共RFID中间件进行讨论;随着RFID技术的发展和推广, 公共RFID中间件必将为企业的RFID项目实施中展现更大的优势。

关键词:RFID,中间件,WebService API,读写器,标签,EPC Gen 2标签

参考文献

[1]丁振华, 李锦涛.RFID中间件研究进展[J].计算机工程, 2006, 11.

[2]陈丽华.RFID中间件设计与关键技术的研究[D].南宁:广西大学, 2006.

[3]李玉凤, 王大志.RFID中央控制器的设计与研究[D].沈阳:沈阳理工大学, 2009.

RFID中间件技术 篇7

RFID(Radio frequency identification)技术即无线射频识别技术,具有通讯速率高、抗干扰能力强、保密性好、远距离和高速移动物体识别等技术优势[1]。在实际应用中,RFID标签附着在待识别物体上,当标签进入阅读器的读取范围,阅读器能无接触地识别和读取标签中的信息,并将信息发送给上层应用软件,从而达到自动识别和收集相关信息的功能。

RFID作为一种快速、实时、准确的非接触式信息采集与处理技术,是物联网系统的关键技术之一,被广泛应用于生产管理与控制、物流与供应链管理、交通管理和控制、医疗管理等领域[2,3,4]。

在RFID系统开发中,大多将RFID标签数据直接发送给应用程序,由应用程序对数据进行处理,只有少部分企业引入了RFID中间件,不过仍存在很多问题:第一,现有RFID设备的种类繁多,生产厂家不同,所使用的标准也不同。当RFID系统中的硬件设备、上层应用或数据库发生改变时,RFID系统的其他部分就必须重新进行部署或开发,不利于RFID系统的升级和维护。第二,RFID应用从阅读器获取的海量原始标签信息含有大量的冗余,并存在一定的错读和漏读现象,事件信息量低,不符合上层应用对业务的需求,如不经过过滤,容易造成网络传输负担,所以在数据上传上层客户应用之前要对RFID原始数据进行过滤、分析、汇聚等操作。第三,现有RFID中间件主要针对企业专属构建,有的主要负责屏蔽硬件,有的主要负责数据处理,移植能力和可扩展能力不够。为了解决以上问题,本文通过对RFID系统中间件的分析研究,采用Java管理扩展框架(Java Managentextentensions,JMX)和Web service技术,设计了一种可扩展度高、适应性强的分布式RFID中间件。

1 RFID中间件架构设计

RFID中间件是一种消息中间件,介于前端硬件设备和后端数据库与应用软件之间,是应用支撑软件的一个重要组成部分[5]。本文提出的基于JMX框架的分布式RFID中间件,主要由硬件管理模块、事件数据处理模块、应用服务模块和管理控制模块四部分组成,其中硬件管理模块和事件数据处理模块属于中间件的边缘代理。

RFID中间件系统,由硬件管理模块完成原始RFID数据的采集,匹配不同协议的阅读器驱动,将标签数据转换成统一的格式并进行缓存。然后由事件数据处理模块根据上层客户端制定的规则进行匹配处理,形成满足上层需求的事件信息。并由应用服务模块提供与上层交互的应用程序接口,实现数据交互和信息发布。其中,由管理控制模块完成对RFID阅读器和整个中间件的配置管理与监控,实现硬件管理模块、事件数据处理模块和应用服务模块的协调控制。中间件在RFID系统中的位置和结构如图一所示。

JMX可以跨越操作系统、网络传输协议和系统体系架构,灵活地为系统、设备和应用程序提供管理功能[6]。RFID中间件系统中的各功能模块在JMX框架下都体现为MBean,根据需求由server在agent中进行注册管理。JMXagent利用各种适配器(adapter)和连接器(connector)对MBean进行管理,JMXagent可以带有任意多个适配器和连接器,并且图一中间件在RFID系统中的位置和结构图容易进行部署和撤销,因此可以使用多种不同的方式访问agent,有效地提高中间件的可扩展能力。在RFID中间件系统中,硬件管理模块与阅读器之间根据阅读器协议进行通信,硬件管理模块和事件数据处理模块内部和相互间的数据传输采用JMX的notification机制实现,应用服务模块、管理控制模块和边缘代理之间使用JMX的连接器进行连接,应用服务模块与上层客户端则通过Web service接口使用Http和JMS等传递XML数据。基于JMX的RFID中间件系统组成如图二所示。

2 系统各模块设计

2.1 硬件管理模块

本文设计的硬件管理模块主要包括阅读器代理和数据缓冲队列,以保证原始数据的正确采集和缓存。

RFID硬件设备的种类繁多,使用的通信协议也各有不同(包括TCP/IP、串口、USB等),阅读器代理起到底层协议适配作用,可根据不同的RFID阅读器接口协议,完成阅读器设备的驱动,建立网络连接,并将阅读器传来的标签数据转换成统一的编码形式。中间件通过阅读器代理完成其与阅读器之间的数据交换,并实现对RFID阅读器的状态监控和管理,有效地屏蔽了RFID底层设备之间的差异,实现应用层与设备层的透明传输。在JMX架构下,可方便地对阅读器代理MBean进行添加和删除,如有需要也可以添加传感器代理以适应客户需求。

阅读器代理接收的原始标签数据量十分巨大,事件数据处理模块的过滤器处理相对复杂,所以事件数据处理模块可能无法及时处理阅读器传来的标签数据。为了保证数据的实时处理需求,防止数据的溢出,为阅读器代理分配一个缓冲队列,将数据存入缓冲队列进行缓存。

2.2 事件数据处理模块

事件数据处理模块介于硬件管理模块和应用服务模块之间,是中间件的核心模块。它主要是根据客户定制的规则,对原始数据进行处理,将数据转换为上层客户端感兴趣的事件信息。事件数据处理模块包括数据校验单元、过滤器、规则接口和消息管理模块。事件数据处理模块结构如图三所示。

数据校验单元负责对缓冲队列中的原始标签数据进行有效性验证,丢弃有错误的标签数据,完成数据的初步过滤。规则接口则实现规则的新建、启动、暂停、删除与查看已有规则等操作,完成对事件规则的管理。消息管理模块主要负责事件生成的管理,将有关数据存入数据库并将生成的事件上传给应用服务模块。

事件数据处理模块最主要的部分是过滤器。根据业务的需求,我们可以灵活地设置过滤器,通过不同过滤器的组合,满足上层应用的需求。本文设计的过滤器主要有以下四种:

(1)冗余过滤器。标签数据冗余可分为时间重复和空间重复。时间重复即当RFID标签在阅读器读取范围内停留较长时间,阅读器便会反复读取并上报该标签数据。空间重复即标签出现在多个阅读器的重叠读取区域,多个阅读器同时上报该标签数据。

冗余过滤器首先将地理位置相邻的多个阅读器模拟为一个逻辑阅读器,并将逻辑阅读器范围内的所有阅读器数据映射到该逻辑阅读器。然后定义过滤器时间间隔T,当检测到有该逻辑阅读器的标签数据到来,查询标签记录是否已存在该标签。如存在且在时间间隔T之内,则认为是重复数据并图三事件数据处理模块结构图进行过滤;如果存在且已超过时间间隔T,则认为是新标签并进行输出;如不存在该标签,则记录该标签并输出。

(2)平滑过滤器。平滑过滤器主要是过滤那些误读的标签数据。通过定义时间阀值T和计数阀值N,只有在时间T内被读到N次的标签才算有效标签。平滑过滤可分为区分阅读器和不区分阅读器,区分阅读器需要每个阅读器达到规定要求,不区分阅读器只需要多个阅读器读到的次数并满足要求即可。

(3)模式过滤器。可选过滤模式包括阅读器ID、阅读器类型、标签ID、生产厂家等,客户选择过滤模式,规定需要选择的标签或阅读器,每当读取到标签数据,将该标签与过滤模式相匹配,选择出符合客户需求的标签信息。

(4)事件过滤器。将标签事件分为新出现(new event)、离开(left event)、当前存在(current event)和告警(allurement)4种。New event表示这次出现而上次未出现的标签,left event表示上次出现而在一定时间内没有再次出现的标签,current tevent包括新出现的标签和上次出现且这次也出现的标签,allurement即该区域不该出现的标签。

2.3 应用服务模块

本文设计的RFID中间件中,上层应用可通过Web service接口完成与中间件的信息交互,也可以通过查询服务实现数据库历史数据的查询。

为了实现上层应用对中间件跨平台、跨语言的访问和控制,应用服务模块向外提供Web service接口。Web service是一个应用组件,通过网络协议和规定的标准数据格式Http,XML,Soap)为应用程序提供数据和服务。应用程序发送请求到Web service接口,RFID中间件解析该请求,并根据Escape中定义的数据采集、过滤和汇聚规则,进行阅读器数据处理,将处理后的数据生成报告(report)发送回应用程序。不同协议、系统、语言和平台的应用程序只要实现该Web service接口的调用,就可以通过RFID中间件对RFID设备进行访问和控制。查询服务则是提供接口给某些应用程序直接查询标签历史数据。

2.4 管理控制模块

管理控制模块体现为系统管理界面,包括RFID阅读器和中间件的配置管理与监控。通过系统管理界面可对阅读器ID、名称、型号、生产厂商等进行配置,对硬件管理模块中阅读器代理、事件数据处理模块中过滤器等处理模块进行实时监控,并对各模块的连接关系进行配置和管理。当阅读器或者中间件某个模块出现异常时,中间件管理控制模块要及时产生报警,并完成相应的处理操作,减少错误数据。

3 结束语

根据RFID系统特点和RFID中间件功能需求,本文提出基于JMX的分布式RFID中间件架构,并从RFID中间件系统整体架构、各功能模块的软件设计和实现等方面介绍了其构建方法。该分布式RFID中间件实现了数据采集和应用的分离,通过阅读器代理方式,有效地屏蔽底层RFID硬件设备信息,并向外提供Web service接口,封装RFID中间件向外逻辑,实现屏蔽上层应用的功能。动态灵活的JMX架构,模块化的设计,阅读器代理、过滤器等功能模块可根据需求进行添加和裁剪,使RFID中间件拥有高度的伸缩性,方便系统集成和扩充。

参考文献

[1]甘勇,郑富娥,吉星,等.RFID中间件关键技术研究[J],电子技术应用,2007,(09):130-132.

[2]邓海生,李军怀.基于SOA的RFID中间件的研究与实现[J].电子技术应用,2007,(10):131-134.

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

[4]成修治,李宇成.RFID中间件的结构设计[J].计算机应用,2008,(04):1055-1057,1060.

[5]郑勇雪,张大勇.仓储管理系统中RFID中间件的设计与实现[J].计算机工程与设计,2007,(23):5715-5718.

[6]吴正大,魏俊荣,张继新.RFID中间件设计技术初探[J].邮电设计技术,2006,(08):39-42.

[7]钱理峰.智慧图书馆嵌入式RFID中间件的研究与开发[J].电脑知识与技术(学术交流),2012,(02):808-810.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:RFID电子标签技术 下一篇:rfid智能监狱管理系统