- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
RFID中间件研究与设计
0 引 言
无线射频识别技术(Radio Frequency Identification,RFID)是利用射频信号自动识别目标对象并获取目标对象相关信息的,是自动识别领域的一个重要分支。与目前应用广泛的基于光学技术的自动识别方法(如条形码和摄像)相比,RFID具有一次处理多个标签、可将处理状态写入标签、不受大小及形状限制、耐环境性强、穿透性强、数据的记忆容量大、可重复利用等优点,因此,RFID在很多领域均具有广阔的应用前景。目前RFID技术已被广泛应用于工业自动化、商业自动化、交通运输控制管理等众多领域。
而RFID中间件将企业级中间件技术延伸到RFID领域,是RFID产业链的核心技术。由于RFID中间件屏蔽了RFID设备的多样性和复杂性,能够为后台业务系统提供强大的支称,从而可以驱动更为广泛的、更为丰富的RFID应用。具体地讲,RFID中间件是一种面向消息的中间件(Message—Oriented Middleware,MOM),RFID相关数据(Information)是以消息(Message)的形式,从一个程序以异步(Asynchronous)的方式传送到另一个或多个程序。RFID中间件包含的功能不仅是传递(Passing)信息,还包括安全性、错误恢复、解译数据、数据缓存、数据广播、定位网络资源等高级服务。
1 RFID中间件研究现状分析
EPC NetWork技术构架包括Savant(数据库操作软件)、实体标记语言(PML)、物名服务(ONS)。其中,Savant系统是连接标签识读器和企业应用程序的纽带,在将数据送往企业应用程序之前,它要对标签数据进行过滤、汇总和计数,压缩数据容量,因此,Savant系统相当于EPC NetWork神经系统;ONS是联系前台Savant软件和后台PMI服务器的网络枢纽,并且ONS设计与架构都以因特网域名解析服务DNS为基础,因此,可以使整个EPC网络以因特网为依托,迅速架构并顺利延伸到世界各地;PML将提供一种动态的环境,使与物体相关的静态的、暂时的、动态的和统计加工过的数据可以互相交换。
在Sun的RFID架构中定义了表示层、业务流程层、服务层和集成层。其中,表示层中所有组件起的都是系统接口的作用,这些接口使用户得以向系统发出请求;业务流程层囊括了应用对工作流的所有需要,它提供了使业务流程自动化和减少为完成业务流程所需要的人工干预的能力;服务层是执行业务逻辑和进行数据处理的地方,并提供了用于支持企业应用的重要基础架构;集成层提供访问RF1D应用以外其他企业信息系统(EIS)的功能。
IBM RFID中间件主要包括边缘控制器Edge controller、前提服务器Premises Server两部分。Edge controller主要负责与RFID硬件设备之间的通信,对RFID读写器所提供的数据进行过滤、整合,将其提供给Premises Server;Premises Server充当了所有RFID设备信息采集的汇合中心,存储数据并与企业后台管理系统整合;Edge controller与Premises Server之间采用发布主题订阅主题(Published Topic/Subscribed Topic)的方式通信。
另外,UCLAWINMEC RFID实验室所设计的RFID中间件是在分布式架构上构建的web服务,基于XML和SOAP,包含了简单的捕获、平滑、过滤、路由、聚合等功能;Bob WEB Violino构想性地给出了在企业内部将web Services技术应用于RFID系统的例子,这个例子中指出零售部门可以在所到物品的信息与供应部门使用RFID技术所核算的内容不一致的情况下,通过Web Services接口询问供应部门并进行核对;台湾资策会研究所提出了基于SOA思想的RFID中间件分层架构,并将其基础架构层分为Edge Server和数据操作软件两层。
上述RFID经典解决方案有着鲜明的特点,例如基于Savant的RFID中间件确定了EPC NetWork基础架构,有力地推动了基于架构的RIFD中间件的发展;BEA WEB LOGIC的RFID中间件以业界领先的BEA Web Logic Platform为基础,按照面向服务架构(SOA)的类型划分层次,能够经济有效地满足RFID支柱技术的一系列核心要求,同时具有适应不断变化的业务需要的技术灵活性;IBM RFID中间件通过一条信息总线(RFID Bus)来代替复杂的层次结构,从而提出了一种轻型RFID中间件架构;另外几种RFID中间件解决方案,将中间件技术和web服务相结合,为面向解决方案RFID中间件提供了一种开发思路。
但是,这些解决方案也存在着这样或那样的缺点。实施EPC系统存在着如下几个方面的问题:频段分配问题、基础设施的建设和完善、与现有应用系统的兼容性等问题,以及安全和隐私方面的问题;Bea RFID中间件功能单薄:过滤规则简单,缺少复杂事件的定义和处理能力;IBM RFID中间件的设计大多是基于自己目前所研发的核心产品或技术的应用,有太大的依赖性和较小的扩展性;其他几种基于web服务的RFID中间件解决方案,功能较为简单,而且所涉及到的数据量较小,难以将其方法应用于如物流供应链之类的大型系统中。因此,可以看出虽然目前国外已经有不少的大学和研究团体在做RFID中间件方面的设计和研究,但是,RFID中间件的研究很不成熟;在国内有关RFID中间件的研究也只能说是刚刚起步。
2 一种新的RFID中间件模型
文中设计的RFID中间件,分为3个层次,自底向上依次为Edge Server层、消息系统层、数据接口层。Edge Server位于RFID中间件的底层,负责采集粘贴在物品上的标签信息;再往上是消息系统层,负责处理来自Edge Server层的事件和数据;最上层是数据接口层,负责为企业应用层提供所需的RFID信息。整个RFID架构图如图1所示。
图1 RFID中间件架构
2.1 Edge Server层
Edge Server结构描述如图2所示。其中,读写器接El完成数据采集和数据适配处理工作;数据校验工作单元完成对来自读写器接El的数据的校验;数据封包工作单元对来自校验工作单元的RFID数据,依据数据内容将这些RFID数据打包成不同的消息,传递到RFID中间件的下一个功能单元------消息系统中。
2.2 消息系统层
消息系统位于RFID中间件的中心层,如图3所示。Edge Server产生事件,并将事件传递到消息系统中,由消息系统决定如何将事件数据传递到相应的应用系统,处理过程描述如下:消息系统首先在f消息服务器上缓存来自Edge Server上的各种消息,然后依据消息内容将这些消息分类整合,使得同类消息位于相同的消息队列中,最后将分好类的消息分别存储成相应的xml临时文件,这些临时xml文件最终会被送往数据接口做进一步的处理。
图2 边缘服务器
图3 消息系统
2.3 数据接口层
数据接口的结构图如图4所示。数据入库模块首先通过调用数据过滤模块,将重复的RFID相关数据过滤掉,然后将过滤后的RFID相关数据移植到中心数据库中。同时,数据接口中的数据访问模块提供了访问中心数据库的接口:数据查询和数据更新接口,为企业应用乃至远程应用程序提供服务。
图4 数据接口
2.4 功能层间的通信机制
Edge Server和消息系统之问数据传递采用的是消息队列MSMQ,消息格式是对象数据类型一ClaSS类型。首先,按照用户需要将Edge Server采集的RFID数据分类,然后依据分类结果将RFID数据打包成不同的消息并传递给消息系统,消息系统再对这些消息进一步处理。消息系统和数据接口之间数据传递的载体是xml磁盘文件。来自消息系统的消息叮以以msmq xml的形式直接提供给应用程序,也可以通过接收消息线程将接收的消息以xml文件的形式存放成磁盘文件,供数据接口使用。这里采用了第二种方法,目的是一方面将数据进行缓存,同时可以针对对缓存后的xml文件进行数据过滤操作;另一方面是将数据进行批量入库处理,而不是针对每条RFID数据都对数据库进行相关的入库操作。尽量减小因数据库连接和断开而浪费的昂贵资源。
3 结束语
介绍了RFID中间件,针对RFID中间件研究现状,详细分析研究了相关典型的RFID中间件解决方案,包括目前国际上对此领域投入了精力的企业的研究机构和一些大学的研究团体,指出了这些解决方案的特点和不足。RFID中间件研究在国际上仍是一个较新的研究内容。文中所提出的基于SOA分层思想的RFID中间件模型,其实现的关键技术和方法还需要经过更多的分析和实例检验。进一步挖掘RFID中间件深层次的功能,特别是完善RFID事件处理的聚合和挖掘机制,也是下一步的研究工作。
(西京学院 邓海生 西安理工大学计算机科学与工程学院 李军怀 )