微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 分析JMX的RFID中间件设计

分析JMX的RFID中间件设计

时间:09-01 来源:互联网 点击:

0 引 言

RFID(radio frequency identification)技术即无线射频识别技术,具有通讯速率高、抗干扰能力强、保密性好、远距离和高速移动物体识别等技术优势[1]。在实际应用中,RFID标签附着在待识别物体上,当标签进入阅读器的读取范围,阅读器能无接触地识别和读取标签中的信息,并将信息发送给上层应用软件,从而达到自动识别和收集相关信息的功能。RFID作为一种快速、实时、准确的非接触式信息采集与处理技术,是物联网系统的关键技术之一,被广泛应用于生产管理与控制、物流与供应链管理、交通管理和控制、医疗管理等领域[24]。

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

1 RFID中间件架构设计

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

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

中间件在RFID系统中的位置和结构图JMX可以跨越操作系统、网络传输协议和系统体系架构,灵活地为系统、设备和应用程序提供管理功能[6]。RFID中间件系统中的各功能模块在JMX框架下都体现为MBean,根据需求由server在agent中进行注册管理。JMX agent利用各种适配器(adapter)和连接器(connector)对MBean进行管理,JMX agent可以带有任意多个适配器和连接器,并且容易进行部署和撤销,因此可以使用多种不同的方式访问agent,有效地提高中间件的可扩展能力。

8b4b5168f590e7ec

在RFID中间件系统中,硬件管理模块与阅读器之间根据阅读器协议进行通信,硬件管理模块和事件数据处理模块内部和相互间的数据传输采用JMX的notification机制实现,应用服务模块、管理控制模块和边缘代理之间使用JMX的连接器进行连接,应用服务模块与上层客户端则通过Web service接口使用Http和JMS等传递XML数据。基于JMX的RFID中间件系统组成如图2所示。

fc117528744b81ae

2 系统各模块设计

2.1 硬件管理模块

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

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

阅读器代理接收的原始标签数据量十分巨大,事件数据处理模块的过滤器处理相对复杂,所以事件数据处理模块可能无法及时处理阅

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top