RFID 中间件ALE 引擎设计与实现

出处:maychang 发布于:2009-11-09 11:52:29

  摘要:无线射频识别技术(RFID)中间件为应用系统封装底层RFID设备操作细节、处理设备收集的数据、提供应用程序级别的接口来控制RFID读写器和查询RFID事件。本文介绍了一个支持EPCglobal 应用层事件(ALE)标准的引擎,引擎由内核模块、数据处理模块和事件处理模块组成,使用事件驱动的方式管理ALE事件周期和ECSpec生命周期。该引擎了提供应用级的接口让应用程序获取感兴趣的RFID数据,通过接口应用程序可以定制数据事件周期的边界、数据过滤规则,数据分组规则、数据统计规则、数据的格式、数据的发送方式以及选择不同的数据源。

  引 言

  无线射频识别技术(Radio Frequency Identification,以下简称RFID)是从20 世纪90 年代 兴起的一项自动识别技术,它利用无线射频方式进行非接触双向通信,以达到识别目的并交 换数据。随着RFID 技术和应用的发展,RFID 系统日趋复杂,RFID 中间件的出现很好地解 决了将物理基础架构收集到的信息传递给企业应用程序的问题。中间件的主要任务是对读写 器传来的与标签相关的事件、数据进行过滤、汇集和计算,减少从读写器传往企业应用的巨 量原始数据、增加抽象出的有意义的信息量,并提供应用程序级别的接口来查询RFID 事件 。

  ALE是应用层事件简称,初作为Savant 应用的一部分开发而成,如今归属于国际 标准组织EPCglobal,它是旨在把低层的电子产品代码(EPC)数据和高层的企业系统相互连 接的EPCglobal 网络计划的一部分,现在已成为标准。RFID 中间件应该提供符合ALE 标 准的接口供企业系统或者第三方组件访问,扩大中间件的适用范围,因此设计和开发可重构 的、可靠的ALE 引擎对实现成熟的RFID 中间具有重要意义。

  1 相关研究

  1.1 应用层事件(ALE)标准

  RFID 读写器在工作时不停地读取标签,造成同一个标签在短时间内可能被读到很多次, 这些数据如果直接发送给应用程序将为通信网络带来很大的负担,所以需要RFID 中间件对 这些原始数据进行一层收集和过滤的处理。ALE 的出现就是为了减少原始数据的冗余性,为 应用系统从大量数据中提炼出有效的业务逻辑。ALE 层介于应用业务逻辑和原始标签读取层 之间,它接收从数据源(一个或多个读写器)中读取的标签信息,而后按照时间间隔等条件 收集数据,将重复或不敢兴趣的EPC 数据剔除过滤,同时可以进行计数及组合等操作, 后将这些信息对应用系统进行汇报。

  在 ALE 中,应用系统可以定义这些内容:在什么地方(地点可以映射一个或多个读写 器及天线)读取标签,将在怎样的时间间隔内(决定时间、某个外部事件触发)收集数据, 如何过滤数据,如何整理数据内容(按照公司、商品还是标签分类),标签出现或消失 时是否对外,以及统计读取到的标签数目等。

  ALE 标准定义的是一组接口,它不牵涉到具体实现。在EPCglobal 组织的规划中,支 持ALE 标准是RFID 中间件的基本的一个功能;这样,在统一的标准下,应用层上的调用 方式就可统一,应用系统也就可以快速部署。因此,实现ALE 引擎对RFID 中间件具有重要 意义。

  1.2 OSGi

  OSGi(Open Systems Gateway Initiative)[4]规范为网络服务定义了一个标准的、面向组件 的计算环境,在此环境中软件组件可以从运行中被安装、升级或者移除而不需要中断设备的 操作,还可以动态的发现和使用其他库或者应用程序。采用OSGi 的一种考虑是因为中间件 的开发要依据组件概念来进行设计,这些组件被开发为软件包,通过引用的方式来进行互调。 在OSGi 框架中,应用程序可以单独进行部署,以软件包的形式进行开发。正确的使用该模 型可以使软件包进行重用和快速替换,并且使第三方软件包重用成为可能。

  2 引擎设计

  如图1所示,ALE引擎由引擎内核、数据处理和事件处理三大模块组成,它们结合起来 满足ALE标准所要求的接口功能。

  2.1 事件处理模块

  事件处理模块分为四个字模块:应用层事件接口是符合 ALE 标准的程序接口,提供标 准的方法供应用程序调用以获取ALE 标准的功能;事件请求模块分析应用程序的事件请求,即ALE 标准中定义的ECSpec ,并根据请求对事件组建模块、引擎内核、数据过滤模 块、数据分组模块和数据格式转换模块进行相应的配置;事件组建模块负责按照应用程 序的事件请求生成数据,数据有统一的格式,但是应用程序可以指定的种类(当 前读取标签/消失标签/新增标签)和数据分组的规则;根据ALE 标准应用程序可以以异步 的方式请求数据,分发模块提供了以异步方式向事件订阅者发送的功能, 发送方式可以是HTTP, FTP, Web Service 等多种方式。

  2.2 引擎内核

  事件管理是 ALE 引擎中的功能,引擎内核模块负责管理事件的生命周期,如图 2 所示。在ALE 模型中有几个基本的概念:读周期(Read Cycle),事件周期(Event Cycle)和事件周期定义(ECSpec)。读周期是和读写器交互的时间单元,一个读周期的 结果是一组EPCs 集合,读周期的时间长短和具体的天线、无线射频协议有关,读周期的输 出就是ALE 层的数据来源。事件周期可以是一个或多个读周期,它是从用户的角度来看待 读写器的,并可以将一个或多个读写器当作一个整体,是ALE 接口和用户交互的时间 单元。应用业务逻辑层的客户在ALE 中定义好ECSpec 之后,就可接收相应的事件周期的 数据。

  2.3 数据处理模块

  数据处理模块分为四个子模块:数据队列模块负责缓存数据,当读写器读取到一个标签 时会把数据放入相应的队列,其他的数据处理模块会把数据从队列中取出然后进行处理,当 队列满了或者超时数据会从队列中删除;数据格式转换模块根据应用的要求对数据做出格式 转换;数据过滤模块根据ECSpec的定义对数据进行过滤,过滤规则包括“包含模式”和 “排除模式”两种模式[3],出现在中的标签信息至少要与“包含模式”列表中的一 个模式匹配,并且不能与任何出现在“排除模式”中的模式匹配;数据分组模块根据ECSpec 的定义对过滤后的数据进行分组和统计。

  3 引擎内核实现

  引擎内核采用事件驱动的方式实现,见图 3。

  图3 引擎内核实现

  一个 ECSpec 在内核里对应着一个事件周期管理者,应用层对于ALE 读接口的调用会 映射到具体的事件周期管理者上,由事件周期管理者来完成接口提供的功能。当一个 ECSpec 被定义时(即调用define 或immediate 方法),引擎就会为这个ECSpec 创建 对应的事件周期管理者,同时创建一个事件周期对象和各种触发器。当ALE 接口调用请求 者次对某个ECSpec 发出调用请求时(例如调用subscribe, poll, immediate 方法) 将激活对应的事件周期管理者,此时由这个事件周期管理者所控制的事件周期对象和各个触 发器也被激活,事件周期对象开始按照ECSpec 中所定义的边界条件开始和结束激活状态, 并收集RFID 标签数据。当一个接口调用请求的调用方法返回时,事件周期管理者再次 进入休眠状态,对应的事件周期对象和各个触发器也停止运行,直到被再次唤醒或者随着该 ECSpec 的撤销被撤销。

  ECSpec 会在未请求、已请求和活跃状态三种状态的之间迁移,状态策略模块根据状 态转换的规则转换ECSpec 的状态。外部调用请求会导致状态的变迁,不同的状态下接收 到相同的调用请求除了执行不同的操作外还可能使ECSpec 变迁为不同的后继状态,因此 这里使用了状态模式。每一时刻ECSpec 都会处于某一种状态中,事件周期管理者接收到 接口调用请求后都会把请求代理给状态策略模块,由当前状态策略决定对调用如何响应和确 定后继状态是什么。

  ALE 标准中定义了事件周期触发器,并且具体定义了一个时间触发器。在引擎中,除了 这个时间触发器外,所有事件周期边界条件都被看作是一种触发器,因此抽象出一个触发器 接口Trigger 。事件周期中定义的各种的边界条件, 如duation, repeatPeriod, stableSetInterval 等等都是抽象Tigger 的具体实现。因此抽象Trigger 可以理解为影响事 件周期开始和结束的触发条件,而ALE 标准中所定义的ECTrigger 成为抽象Trigger 的其中 一种具体实现。在具体触发器的创建过程中使用了抽象工厂模式,事件周期管理者在初始化 的时候调用工厂方法创建各种具体的触发器。

  4 结 论

  使用事件驱动的方式设计和实现了 ALE 引擎,减低了各模块之间的耦合度,有利于引 擎的维护和扩展。抽象了事件周期触发器概念,令所有边界触发条件和触发器能够统一管理 和工作,简化了把用户自定义的触发器加入引擎的过程,令触发器系统有更好的扩展性。作 为RFID 中间件中重要的部分,该引擎为可重构的RFID 中间件提供了很好的支持。而采用 OSGi 技术实现ALE 引擎得以实现诸如动态更新数据处理和事件处理组件的需求,对于中小 型企业应用RFID 技术,可以动态地组合ALE 引擎的功能,不再需要性购买大量复杂 的RFID中间件产品,从而形成了一种快速的和可扩展的RFID 中间件解决方案,降低了RFID 应用技术的成本。

  本文作者创新点:设计了基于事件驱动方式工作的ALE 引擎,并使用OSGi 技术对引擎进 行了实现。


  
关键词:RFID

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!