崔英奎,邹 岸,林 霖
母婴安全监护系统无线射频识别中间件设计与实现
崔英奎,邹 岸,林 霖
目的:实现智能母婴安全监护系统中的无线射频识别(radio frequency identification,RFID)中间件的设计,以有效保障新生儿的健康和安全。方法:针对RFID数据的实时应用,设计实现一种包含服务层、逻辑层、数据层3层结构的轻量型RFID中间件,并将其应用于母婴安全监护系统的服务器中。结果:实现了RFID设备的实时通信与控制,可以有效地完成指令编码和对原始数据的解码。结论:利用该RFID中间件能够完成数据的准确读取与实时处理,其设计具有一定的鲁棒性和有效性,可以为RFID在医疗实时监测中的应用提供参考。
无线射频识别;中间件;母婴安全监护系统
新生婴儿由于外貌特征相似难以区分,防卫能力欠缺,往往成为人口贩卖分子的作案目标。而其一旦被盗,无论对家庭还是医院,后果都是灾难性的。美国国家失踪与受虐儿童援救中心(National Center for Missing and Exploited Children,NCMEC)[1]的统计数据显示,在1983—2008年的25 a间,共发生252起婴儿被盗事件,其中123起发生在医院范围内,而当中的70起被盗事件中,婴儿是在母亲病房中的。可见,纵使采取母婴同房监护的策略,依然不能排除婴儿被盗的可能。
为了有效地防止婴儿被盗事件,国外很早开展了婴儿保护系统的研发工作,尝试了一些技术性解决方案。其中,总部位于加拿大渥太华的Xmark公司采用无线射频识别(radio frequency identification, RFID)技术开发的Hugs系统最为成功[2]。RFID技术是一种非接触式的自动识别技术,通过无线射频方式进行双向数据通信从而实现对目标的识别。Hugs系统在婴儿身上佩戴包含身份信息的射频标签(Tag),在医院需要监控区域安装阅读器(Reader),根据所接收的标签信息,对婴儿的状况实行监控跟踪,并对可能的盗婴行为及时报警提示。Hugs系统在北美市场取得巨大成功,但由于价格昂贵,国内使用该系统的医院不多。另外,Hugs系统采用防破坏标签设计,只能报警可能的盗婴行为,而不能探测婴儿的体温信息。
借鉴国内外现有的解决方案,我们和相关企业合作研发了一套基于体温探测和RFID技术的母婴安全监护系统(maternal-infant safety and surveillance system,MISS)[3-5],通过标签探测的体温来识别婴儿的安全状态。该系统利用局域网连接医院数据库,实现数据的信息融合。婴儿防盗系统以先进的信息技术手段取代落后的人防体系,可以推进医院的数字化改革,提高医院的管理水平,有效保护婴儿安全。
MISS采用客户端/服务器(Client/Server,C/S)架构。数据库作为存储标签数据的载体,客户端软件从数据库中读取存储温度和位置的标签信息,提供友好的人机交互界面;服务器软件是MISS的后台控制软件,主要实现对阅读器的访问,解析通信协议,把标签数据存储到数据库中,为客户端的应用提供数据来源。MISS是一个实时系统,要求协调多个阅读器,快速响应阅读器的发送请求,在医院复杂的电磁环境下,有效保证数据的有效性。基于上述特性,采用RFID中间件(Middleware)作为阅读器和数据库之间的桥梁,可以避免硬件设备之间的差异,向上层应用提供统一的数据访问接口。RFID中间件负责对阅读器传来的与标签相关的事件、数据进行过滤、汇集和计算,减少从阅读器传往上层应用的巨量原始数据,增加抽象出的有意义的信息量。如何实时地对巨量的RFID数据进行处理,充分挖掘RFID数据所包含的有用信息,是RFID中间件设计的重点和难点。
中间件是位于硬件设备和应用之间的通用服务,这些服务具有标准的程序接口和协议。RFID中间件是一种消息导向(message-oriented middleware,MOM)的软件中间件,信息是以消息的形式从一个程序模块传递到另一个或多个程序模块。因此,RFID中间件除了提供统一的数据发布接口以外,还应该具备设备管理与访问、数据过滤汇聚和安全保证等服务[6]。
1998年,麻省理工学院的研究者提出了一种旨在降低成本的RFID系统架构方案,在一些关键技术上取得了突破。2003年,标准化组织EPCglobal吸收了这些技术,提出了产品电子代码(electronic product code,EPC)架构,包括EPC编码、对象名字服务(object name service,ONS)、物理标示语言(physical markup language,PML)、EPC信息服务(information services)、Savant等关键技术[7]。Savant是介于RFID设备与应用程序之间的软件体系,负责捕捉、过滤、分析和交流EPC数据。在此基础上,EPCglobal还提出了RFID中间件软件方面的应用层事件(application level events,ALE)。目前,EPC架构得到了很多企业的支持。
Microsoft公司在其原有产品的基础上,加入了一些新的组件,并提出了层次化的RFID系统架构。该方案从下到上共分5层,分别为设备层、数据收集和管理层、事件和工作流管理层、服务接口层和应用方案层。目前,Microsoft开发了基于上述架构的平台产品BizTalk RFID。它的设计是为了提供一个可扩展、伸缩性强的平台,非常适合在Windows系统下部署和管理RFID设备。Sun公司强化了自身的核心基础技术,设计了基于EPC网络的基本构架RFID中间件,这是一个端到端的解决方案,可以过滤、集合与处理大量的来自RFID网络边缘的数据,减少网络通信流量。此外,Oracle、IBM、Sybase等大型软件供应商也分别提出了自己的RFID中间件架构,在各自的领域都有一定数量的支持者[8-10]。
目前,流行的RFID中间件代表产品主要是基于EPCglobal的EPC标准,适合在多种读写器、多协议环境下工作,但其大而全、价格较昂贵、系统管理复杂,不太适合中小型的软件应用[11]。因此,在MISS的开发中,RFID中间件的设计应从实际出发,综合考虑实用性、简易性,在功能上有所取舍。根据系统特定需求,本文提出一种轻量型的RFID中间件设计方案,其简单实用且成本低,可快速可靠地解决实际问题。
2.1 系统架构与功能定义
综观MISS,RFID数据链路自下而上经过6个层次,分别为物理层、设备层、数据层、逻辑层、服务层和应用层。本文设计的是一种基于架构的RFID中间件,位于RFID数据链路的中间,分为数据层、逻辑层和服务层3个层次。上述的层次架构如图1所示。
图1 MISS与RFID中间件的层次架构
物理层位于MISS数据链路的最底层,主要包括记录数据的RFID标签信号,是整个系统的数据来源。在物理层上面的是设备层,包括各种不同的RFID阅读器,这些阅读器有固定的,也有可移动的。数据传输端口也多种多样,包括以太网口、串口甚至是蓝牙接口。数据的格式也没有统一的标准,采用各个阅读器生产商定义的通信协议。位于MISS数据链路最上层的是应用层,它可以是前端的应用程序,也可以是存储数据的服务器。在应用层和设备层之间的是本文设计的RFID中间件。图2为RFID中间件的功能结构图。
(1)数据层的设计目标是访问RFID设备。阅读器和服务器之间的数据交互主要是通过硬件接口实现的,常用的有以太网口、串口、蓝牙接口。目前,绝大多数操作系统均提供了对上述接口的支持协议,以太网口可以通过传输控制协议/因特网互联协议(tran-smission control protocol/internet protocol,TCP/ IP)、用户数据报协议(user datagram protocol,UDP)来实现,读写串口则可以采用RS232标准。另外,蓝牙接口的相关协议栈可以支持蓝牙接口的访问。数据层的主要作用就是调用封装上述协议的应用程序编程接口(application program interface,API)函数,实现对RFID设备的访问。这些数据是整个系统的基础,保证了数据的准确性、实时性和可用性,是对数据层性能的基本要求。
图2 RFID中间件的功能结构
(2)逻辑层是RFID中间件设计的核心,主要的功能是实现对数据的分析和设备的管理。按功能可以把逻辑层分为上行和下行2条数据通路。
在上行通路中,逻辑层通过对数据层的访问,获得RFID数据。原始的RFID数据是若干数字和字母的组合,如果没有规则的说明,这些数字是没有意义的,因此,对原始数据的必要操作就是根据编码的规则实现对数据的解码。目前,RFID设备没有统一的编码协议,不同的设备商有不同的协议。在本文的RFID中间件设计中,使用协议栈来管理不同的协议。协议栈的完善与否,直接关系到中间件的鲁棒性。经过协议解析的数据是可以被用户理解的,在提供给服务层之前,还需要对这些数据进行过滤、挖掘、聚类等运算。过滤的目的是在巨量的数据中去除冗余的、无关的甚至非法的数据,保留有用的、重要的数据。过滤过程没有公认的标准,但可以归结于分组、计数、冗余删除和区分等一些基本操作。挖掘是指基于数据时间、空间、因果等信息,利用一定的算法,实时地从大量数据当中抽象出固有属性的过程。数据挖掘的应用和方法都很多,是目前研究的热点,有巨大的发展前景和商业价值,其中的典型应用就是利用RFID技术实现室内精确定位。聚类运算是指由匹配某种模式的数据生成符合输出模式的高层子集的过程,一般来说,这些子集含有更明确的意义,更易于应用到上层服务中。在把逻辑层数据提交到服务层前,通常会附加一些反映读写过程的属性,比如阅读器端口、IP地址、接收时间等,逻辑层提供了附加信息的功能模块。经过分析和信息附加以后的数据会被重新封装发送到服务层。
逻辑层的下行通路本质上是上层软件控制管理底层硬件的过程。完善的RFID中间件设计方案除了能访问设备数据,还必须具备管理设备的能力。如果说访问设备是RFID数据自下向上流动,那么管理设备则是指令从上向下执行的过程。当需要查询阅读器的版本号或者设置阅读器的读取格式等操作时,服务层会发出设备控制代码。逻辑层根据RFID中间件指令集的描述,把这些操作代码转换为阅读器所理解的命令,然后通过设备管理模块把经过封装的指令发送到阅读器等底层设备,从而实现对硬件的控制。和协议栈一样,不同的设备生产商会定义各自的指令集,完善的RFID中间件应该可以兼容多种设备的指令。
(3)位于最上层的是服务层,主要负责RFID中间件与应用层之间的通信。服务层接收逻辑层的数据流,存储在数据缓存区。为了实现对数据的频繁操作,提高处理大批量数据的效率,合理分配和管理数据缓存区是重要手段之一,对提高RFID中间件的整体性能有重要意义。从逻辑层传递过来的数据,在不同的应用中有不同的通信要求,本文设计的RFID中间件开放了2种通信方式:接口和服务。接口是为了在不同层之间进行通信而定义的一种规范,在C/S架构下的网络应用中被广泛采用;服务是指一些在网络上运行的、面向服务的、基于分布式程序的软件模块,网络服务采用超文本传输协议(hyper text transfer protocol,HTTP)和可扩展标记语言(extensible markup language,XML)等互联网通用标准,是B/S架构下的常用技术。RFID中间件通过接口和服务的方式向应用层提供数据支持。
2.2 RFID中间件的实现
在RFID中间件的实现技术上,本文采用面向对象(object oriented,OO)的设计方法,是根据模型需求抽象出业务对象,对需求进行合理分层,构建相对独立的业务模块;利用多态、继承、封装、抽象的编程思想,实现业务需求,达到高内聚、低耦合的效果。根据面向对象的思路,设计出RFID中间件的对象关系。本文涉及的各个类定义与相互关系如图3所示。
图3中定义了3个底层通信接口类CSerialPort、CTcpClient和CBluetooth,依次对应串口、网口和蓝牙接口。其中,CserialPort类使用RS232协议实现计算机访问阅读器;而CTcpClient则是利用TCP/IP协议实现计算机和阅读器之间的数据通信;CBluetooth是通过调用系统的API函数完成对蓝牙接口的控制。它们都是CDeviceIF的子类。CDeviceIF负责统一管理和访问以上3个接口类,以实现底层对上层的屏蔽。上述的4个和接口相关的类均对应RFID中间件架构中的数据层。
图3 类定义与关系简图
逻辑层包括CReader和CTag 2个类以及Commandset和ProtocalSet 2个结构。CReader类是描述阅读器的,定义了一些阅读器的基本属性,如ID号码、IP地址等。CReader类除了负责接收CDeviceIF上传的数据以外,还定义了发送指令的功能。枚举结构CommandSet定义了阅读器的指令集。CReader类结合CommandSet的定义在指令发送到底层接口之前进行编码。CReader类接收到的数据会上传给CTag类,该类对应RFID系统中的标签,描述了关于标签的ID号码、数据结构等属性,也定义了编码、解码等基本操作。编解码的过程是参考枚举类ProtocalStack定义的协议栈完成的。
最上面的是IMiddleWare,向上提供了应用层可以理解的接口,也定义了用于设备管理的操作和反映读写的事件,分别用于控制CReader和接收CTag的数据。
MISS的硬件采用的是台湾SYRIS公司开发研制的RFID产品,主要由婴儿标签和阅读器组成。其中,婴儿标签为腕带式主动RFID标签(SYTAG245-NW),支持2.45 GHz收发双向通信,内置红外测温及震动传感模块,同时提供电量检测和数据发送频率设置功能;RFID阅读器(SYRD245-1N)同样支持2.45 GHz收发双向通信,内部采用防碰撞机制,能同时读取多个标签数据,配有RJ45以太网接口和RS232数据接口,可支持TCP/IP、UDP网络通信协议,并能实现和计算机间速率为2 400~115 200 bit/s的串行通信。
按本文的设计思想,实现了该RFID中间件,并应用于MISS的服务器中。服务器的后台软件主要负责管理RFID阅读器,读取标签数据流,把解析以后的数据保存到SQL Server数据库中。该控制台软件界面如图4所示。
图4 MISS控制台软件界面
从MISS实际运行效果看,本文设计的RFID中间件已经基本实现了3个层次的功能,在数据层实现了串口、网口和蓝牙接口,数据的通信实时准确;在逻辑层完成了对指令的编码和对原始数据的解码,可有效地过滤冗余数据,并为上层应用中定位功能的实现做了初步的探索;服务层提供了统一的向上接口,并通过控制台软件验证了接口的有效性。但其也存在一些不足之处:不具备对底层设备即插即用功能的支持;协议栈和指令集较为单一,不能满足多种阅读器的读写要求;升级逻辑层的数据过滤和挖掘机制薄弱,目前只能实现初步的分析算法。
RFID中间件的研究在国际上是一个热点,但其公认的成果不多,市场也不成熟。本文讨论了国际上RFID中间件的研究现状,分析了几家主流商家和科研机构在该领域的研究成果和产品特点。然后结合我们在母婴安全监护系统的实际应用,提出了基于3层架构下的轻量型RFID中间件设计方案,并对逻辑层的功能与实现做了深入的分析探讨。然而,目前的系统还不尽完善,在以后的工作中,要逐步完善对底层设备即插即用功能的支持;补充协议栈和指令集,以满足多种阅读器的读写要求,提高中间件的鲁棒性和扩展性;升级逻辑层的过滤规则和挖掘机制,尤其在RFID标签定位方面需要研究更有效准确的算法。
[1]Wolak J,Mitchell K,Finkelhor D.Online victimization of youth:five
(►►►►)(◄◄◄◄)yearslater[M].Alexandria,VA:NationalCenterforMissing&ExploitedChildren,2006.
[2]Wyld D.Preventing the worst case scenario:an analysis of RFID technology and infant protection in hospitals[J].The Internet Journal of Healthcare Administration,2010,7(1):6.
[3]于楠,胡金炎,邹岸,等.一种母婴安全监护系统数据库的设计和实现[J].计算机应用与软件,2013,30(5):200-202.
[4]邹岸,胡金炎,林霖,等.基于有源RFID和LAMP技术的母婴安全监护系统开发[J].制造业自动化,2013,35(20):118-122.
[5]宋四云,胡金炎,林霖,等.基于RFID技术的监护系统数据实时处理研究[J].制造业自动化,2013,35(20):143-147.
[6]Floerkemeier C,Lampe M.RFID middleware design:addressing application requirements and RFID constraints:proceedings of the 2005 joint conference on Smart objects and ambient intelligence:innovative context-aware services:usages and technologies,New York,October,2005[C].New York:ACM,2005:219-224.
[7]郑勇雪,张大勇.仓储管理系统中RFID中间件的设计与实现[J].计算机工程与设计,2007,28(23):5 715-5 718.
[8]丁振华,李锦涛,冯敏,等.RFID中间件研究进展[J].计算机工程,2006,32(21):9-11.
[9]Sikander J.Microsoft RFID technology overview[EB/OL].(2004-11-12)[2014-10-04].http://msdn.microsoft.com/en-us/library/aa479362. aspx.
[10]Clark S,Traub K,Anarkat D,et al.Auto-ID savant specification 1.02[R].Boston MIT:Auto-ID Center,2003:1-59.
[11]林风群,陈伯成,袁博,等.RFID轻量型中间件的构成与实现[J].计算机工程,2010,36(17):77-86.
(收稿:2014-10-08 修回:2015-01-12)
Design and implementation of RFID-based middleware in maternal-infant safety and surveillance system
CUI Ying-kui1,ZOU An2,LIN Lin2
(1.Department of Radiotherapy,the 208th Hospital of the PLA,Changchun 130062,China; 2.School of Biomedical Engineering,Southern Medical University,Guangzhou 510515,China)
ObjectiveTo effectively promote hospital neonatal care by developing a RFID-based intelligent maternal-infant safety and surveillance system(MISS).MethodsA three-tier lightweight RFID middleware containing the service layer,logic layer and data layer was presented as a software solution to the real-time application of RFID data.In accordance with the function definition of each layer and the analysis of data streams,a special RFID middleware for maternal-infant security was implemented.ResultsReal-time communication and control for RFID devices was achieved,during which the instruction encoding and data decoding could be completed.ConclusionThe RFID-based middleware implements accurate reading and real-time procession of data with high robustness and efficiency,and thus provides references for the application of RFID to medical real-time surveillance.[Chinese Medical Equipment Journal,2015,36(6):8-11,28]
radio frequency identification;middleware;maternal-infant safety and surveillance system
R318;TP311.1
A
1003-8868(2015)06-0008-05
10.7687/J.ISSN1003-8868.2015.06.008
广东省科技计划资助项目(2013B051000054)
崔英奎(1972—),男,主管技师,主要从事医疗设备电气自动化方面的研究工作,E-mail:13756119528@139.com。
130062长春,解放军208医院放疗科(崔英奎);510515广州,南方医科大学生物医学工程学院(邹 岸,林 霖)
林 霖,E-mail:linlin0023@smu.edu.cn