崔英奎,鄒 岸,林 霖
母嬰安全監(jiān)護系統(tǒng)無線射頻識別中間件設計與實現
崔英奎,鄒 岸,林 霖
目的:實現智能母嬰安全監(jiān)護系統(tǒng)中的無線射頻識別(radio frequency identification,RFID)中間件的設計,以有效保障新生兒的健康和安全。方法:針對RFID數據的實時應用,設計實現一種包含服務層、邏輯層、數據層3層結構的輕量型RFID中間件,并將其應用于母嬰安全監(jiān)護系統(tǒng)的服務器中。結果:實現了RFID設備的實時通信與控制,可以有效地完成指令編碼和對原始數據的解碼。結論:利用該RFID中間件能夠完成數據的準確讀取與實時處理,其設計具有一定的魯棒性和有效性,可以為RFID在醫(yī)療實時監(jiān)測中的應用提供參考。
無線射頻識別;中間件;母嬰安全監(jiān)護系統(tǒng)
新生嬰兒由于外貌特征相似難以區(qū)分,防衛(wèi)能力欠缺,往往成為人口販賣分子的作案目標。而其一旦被盜,無論對家庭還是醫(yī)院,后果都是災難性的。美國國家失蹤與受虐兒童援救中心(National Center for Missing and Exploited Children,NCMEC)[1]的統(tǒng)計數據顯示,在1983—2008年的25 a間,共發(fā)生252起嬰兒被盜事件,其中123起發(fā)生在醫(yī)院范圍內,而當中的70起被盜事件中,嬰兒是在母親病房中的。可見,縱使采取母嬰同房監(jiān)護的策略,依然不能排除嬰兒被盜的可能。
為了有效地防止嬰兒被盜事件,國外很早開展了嬰兒保護系統(tǒng)的研發(fā)工作,嘗試了一些技術性解決方案。其中,總部位于加拿大渥太華的Xmark公司采用無線射頻識別(radio frequency identification, RFID)技術開發(fā)的Hugs系統(tǒng)最為成功[2]。RFID技術是一種非接觸式的自動識別技術,通過無線射頻方式進行雙向數據通信從而實現對目標的識別。Hugs系統(tǒng)在嬰兒身上佩戴包含身份信息的射頻標簽(Tag),在醫(yī)院需要監(jiān)控區(qū)域安裝閱讀器(Reader),根據所接收的標簽信息,對嬰兒的狀況實行監(jiān)控跟蹤,并對可能的盜嬰行為及時報警提示。Hugs系統(tǒng)在北美市場取得巨大成功,但由于價格昂貴,國內使用該系統(tǒng)的醫(yī)院不多。另外,Hugs系統(tǒng)采用防破壞標簽設計,只能報警可能的盜嬰行為,而不能探測嬰兒的體溫信息。
借鑒國內外現有的解決方案,我們和相關企業(yè)合作研發(fā)了一套基于體溫探測和RFID技術的母嬰安全監(jiān)護系統(tǒng)(maternal-infant safety and surveillance system,MISS)[3-5],通過標簽探測的體溫來識別嬰兒的安全狀態(tài)。該系統(tǒng)利用局域網連接醫(yī)院數據庫,實現數據的信息融合。嬰兒防盜系統(tǒng)以先進的信息技術手段取代落后的人防體系,可以推進醫(yī)院的數字化改革,提高醫(yī)院的管理水平,有效保護嬰兒安全。
MISS采用客戶端/服務器(Client/Server,C/S)架構。數據庫作為存儲標簽數據的載體,客戶端軟件從數據庫中讀取存儲溫度和位置的標簽信息,提供友好的人機交互界面;服務器軟件是MISS的后臺控制軟件,主要實現對閱讀器的訪問,解析通信協議,把標簽數據存儲到數據庫中,為客戶端的應用提供數據來源。MISS是一個實時系統(tǒng),要求協調多個閱讀器,快速響應閱讀器的發(fā)送請求,在醫(yī)院復雜的電磁環(huán)境下,有效保證數據的有效性。基于上述特性,采用RFID中間件(Middleware)作為閱讀器和數據庫之間的橋梁,可以避免硬件設備之間的差異,向上層應用提供統(tǒng)一的數據訪問接口。RFID中間件負責對閱讀器傳來的與標簽相關的事件、數據進行過濾、匯集和計算,減少從閱讀器傳往上層應用的巨量原始數據,增加抽象出的有意義的信息量。如何實時地對巨量的RFID數據進行處理,充分挖掘RFID數據所包含的有用信息,是RFID中間件設計的重點和難點。
中間件是位于硬件設備和應用之間的通用服務,這些服務具有標準的程序接口和協議。RFID中間件是一種消息導向(message-oriented middleware,MOM)的軟件中間件,信息是以消息的形式從一個程序模塊傳遞到另一個或多個程序模塊。因此,RFID中間件除了提供統(tǒng)一的數據發(fā)布接口以外,還應該具備設備管理與訪問、數據過濾匯聚和安全保證等服務[6]。
1998年,麻省理工學院的研究者提出了一種旨在降低成本的RFID系統(tǒng)架構方案,在一些關鍵技術上取得了突破。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架構得到了很多企業(yè)的支持。
Microsoft公司在其原有產品的基礎上,加入了一些新的組件,并提出了層次化的RFID系統(tǒng)架構。該方案從下到上共分5層,分別為設備層、數據收集和管理層、事件和工作流管理層、服務接口層和應用方案層。目前,Microsoft開發(fā)了基于上述架構的平臺產品BizTalk RFID。它的設計是為了提供一個可擴展、伸縮性強的平臺,非常適合在Windows系統(tǒng)下部署和管理RFID設備。Sun公司強化了自身的核心基礎技術,設計了基于EPC網絡的基本構架RFID中間件,這是一個端到端的解決方案,可以過濾、集合與處理大量的來自RFID網絡邊緣的數據,減少網絡通信流量。此外,Oracle、IBM、Sybase等大型軟件供應商也分別提出了自己的RFID中間件架構,在各自的領域都有一定數量的支持者[8-10]。
目前,流行的RFID中間件代表產品主要是基于EPCglobal的EPC標準,適合在多種讀寫器、多協議環(huán)境下工作,但其大而全、價格較昂貴、系統(tǒng)管理復雜,不太適合中小型的軟件應用[11]。因此,在MISS的開發(fā)中,RFID中間件的設計應從實際出發(fā),綜合考慮實用性、簡易性,在功能上有所取舍。根據系統(tǒng)特定需求,本文提出一種輕量型的RFID中間件設計方案,其簡單實用且成本低,可快速可靠地解決實際問題。
2.1 系統(tǒng)架構與功能定義
綜觀MISS,RFID數據鏈路自下而上經過6個層次,分別為物理層、設備層、數據層、邏輯層、服務層和應用層。本文設計的是一種基于架構的RFID中間件,位于RFID數據鏈路的中間,分為數據層、邏輯層和服務層3個層次。上述的層次架構如圖1所示。
圖1 MISS與RFID中間件的層次架構
物理層位于MISS數據鏈路的最底層,主要包括記錄數據的RFID標簽信號,是整個系統(tǒng)的數據來源。在物理層上面的是設備層,包括各種不同的RFID閱讀器,這些閱讀器有固定的,也有可移動的。數據傳輸端口也多種多樣,包括以太網口、串口甚至是藍牙接口。數據的格式也沒有統(tǒng)一的標準,采用各個閱讀器生產商定義的通信協議。位于MISS數據鏈路最上層的是應用層,它可以是前端的應用程序,也可以是存儲數據的服務器。在應用層和設備層之間的是本文設計的RFID中間件。圖2為RFID中間件的功能結構圖。
(1)數據層的設計目標是訪問RFID設備。閱讀器和服務器之間的數據交互主要是通過硬件接口實現的,常用的有以太網口、串口、藍牙接口。目前,絕大多數操作系統(tǒng)均提供了對上述接口的支持協議,以太網口可以通過傳輸控制協議/因特網互聯協議(tran-smission control protocol/internet protocol,TCP/ IP)、用戶數據報協議(user datagram protocol,UDP)來實現,讀寫串口則可以采用RS232標準。另外,藍牙接口的相關協議棧可以支持藍牙接口的訪問。數據層的主要作用就是調用封裝上述協議的應用程序編程接口(application program interface,API)函數,實現對RFID設備的訪問。這些數據是整個系統(tǒng)的基礎,保證了數據的準確性、實時性和可用性,是對數據層性能的基本要求。
圖2 RFID中間件的功能結構
(2)邏輯層是RFID中間件設計的核心,主要的功能是實現對數據的分析和設備的管理。按功能可以把邏輯層分為上行和下行2條數據通路。
在上行通路中,邏輯層通過對數據層的訪問,獲得RFID數據。原始的RFID數據是若干數字和字母的組合,如果沒有規(guī)則的說明,這些數字是沒有意義的,因此,對原始數據的必要操作就是根據編碼的規(guī)則實現對數據的解碼。目前,RFID設備沒有統(tǒng)一的編碼協議,不同的設備商有不同的協議。在本文的RFID中間件設計中,使用協議棧來管理不同的協議。協議棧的完善與否,直接關系到中間件的魯棒性。經過協議解析的數據是可以被用戶理解的,在提供給服務層之前,還需要對這些數據進行過濾、挖掘、聚類等運算。過濾的目的是在巨量的數據中去除冗余的、無關的甚至非法的數據,保留有用的、重要的數據。過濾過程沒有公認的標準,但可以歸結于分組、計數、冗余刪除和區(qū)分等一些基本操作。挖掘是指基于數據時間、空間、因果等信息,利用一定的算法,實時地從大量數據當中抽象出固有屬性的過程。數據挖掘的應用和方法都很多,是目前研究的熱點,有巨大的發(fā)展前景和商業(yè)價值,其中的典型應用就是利用RFID技術實現室內精確定位。聚類運算是指由匹配某種模式的數據生成符合輸出模式的高層子集的過程,一般來說,這些子集含有更明確的意義,更易于應用到上層服務中。在把邏輯層數據提交到服務層前,通常會附加一些反映讀寫過程的屬性,比如閱讀器端口、IP地址、接收時間等,邏輯層提供了附加信息的功能模塊。經過分析和信息附加以后的數據會被重新封裝發(fā)送到服務層。
邏輯層的下行通路本質上是上層軟件控制管理底層硬件的過程。完善的RFID中間件設計方案除了能訪問設備數據,還必須具備管理設備的能力。如果說訪問設備是RFID數據自下向上流動,那么管理設備則是指令從上向下執(zhí)行的過程。當需要查詢閱讀器的版本號或者設置閱讀器的讀取格式等操作時,服務層會發(fā)出設備控制代碼。邏輯層根據RFID中間件指令集的描述,把這些操作代碼轉換為閱讀器所理解的命令,然后通過設備管理模塊把經過封裝的指令發(fā)送到閱讀器等底層設備,從而實現對硬件的控制。和協議棧一樣,不同的設備生產商會定義各自的指令集,完善的RFID中間件應該可以兼容多種設備的指令。
(3)位于最上層的是服務層,主要負責RFID中間件與應用層之間的通信。服務層接收邏輯層的數據流,存儲在數據緩存區(qū)。為了實現對數據的頻繁操作,提高處理大批量數據的效率,合理分配和管理數據緩存區(qū)是重要手段之一,對提高RFID中間件的整體性能有重要意義。從邏輯層傳遞過來的數據,在不同的應用中有不同的通信要求,本文設計的RFID中間件開放了2種通信方式:接口和服務。接口是為了在不同層之間進行通信而定義的一種規(guī)范,在C/S架構下的網絡應用中被廣泛采用;服務是指一些在網絡上運行的、面向服務的、基于分布式程序的軟件模塊,網絡服務采用超文本傳輸協議(hyper text transfer protocol,HTTP)和可擴展標記語言(extensible markup language,XML)等互聯網通用標準,是B/S架構下的常用技術。RFID中間件通過接口和服務的方式向應用層提供數據支持。
2.2 RFID中間件的實現
在RFID中間件的實現技術上,本文采用面向對象(object oriented,OO)的設計方法,是根據模型需求抽象出業(yè)務對象,對需求進行合理分層,構建相對獨立的業(yè)務模塊;利用多態(tài)、繼承、封裝、抽象的編程思想,實現業(yè)務需求,達到高內聚、低耦合的效果。根據面向對象的思路,設計出RFID中間件的對象關系。本文涉及的各個類定義與相互關系如圖3所示。
圖3中定義了3個底層通信接口類CSerialPort、CTcpClient和CBluetooth,依次對應串口、網口和藍牙接口。其中,CserialPort類使用RS232協議實現計算機訪問閱讀器;而CTcpClient則是利用TCP/IP協議實現計算機和閱讀器之間的數據通信;CBluetooth是通過調用系統(tǒng)的API函數完成對藍牙接口的控制。它們都是CDeviceIF的子類。CDeviceIF負責統(tǒng)一管理和訪問以上3個接口類,以實現底層對上層的屏蔽。上述的4個和接口相關的類均對應RFID中間件架構中的數據層。
圖3 類定義與關系簡圖
邏輯層包括CReader和CTag 2個類以及Commandset和ProtocalSet 2個結構。CReader類是描述閱讀器的,定義了一些閱讀器的基本屬性,如ID號碼、IP地址等。CReader類除了負責接收CDeviceIF上傳的數據以外,還定義了發(fā)送指令的功能。枚舉結構CommandSet定義了閱讀器的指令集。CReader類結合CommandSet的定義在指令發(fā)送到底層接口之前進行編碼。CReader類接收到的數據會上傳給CTag類,該類對應RFID系統(tǒng)中的標簽,描述了關于標簽的ID號碼、數據結構等屬性,也定義了編碼、解碼等基本操作。編解碼的過程是參考枚舉類ProtocalStack定義的協議棧完成的。
最上面的是IMiddleWare,向上提供了應用層可以理解的接口,也定義了用于設備管理的操作和反映讀寫的事件,分別用于控制CReader和接收CTag的數據。
MISS的硬件采用的是臺灣SYRIS公司開發(fā)研制的RFID產品,主要由嬰兒標簽和閱讀器組成。其中,嬰兒標簽為腕帶式主動RFID標簽(SYTAG245-NW),支持2.45 GHz收發(fā)雙向通信,內置紅外測溫及震動傳感模塊,同時提供電量檢測和數據發(fā)送頻率設置功能;RFID閱讀器(SYRD245-1N)同樣支持2.45 GHz收發(fā)雙向通信,內部采用防碰撞機制,能同時讀取多個標簽數據,配有RJ45以太網接口和RS232數據接口,可支持TCP/IP、UDP網絡通信協議,并能實現和計算機間速率為2 400~115 200 bit/s的串行通信。
按本文的設計思想,實現了該RFID中間件,并應用于MISS的服務器中。服務器的后臺軟件主要負責管理RFID閱讀器,讀取標簽數據流,把解析以后的數據保存到SQL Server數據庫中。該控制臺軟件界面如圖4所示。
圖4 MISS控制臺軟件界面
從MISS實際運行效果看,本文設計的RFID中間件已經基本實現了3個層次的功能,在數據層實現了串口、網口和藍牙接口,數據的通信實時準確;在邏輯層完成了對指令的編碼和對原始數據的解碼,可有效地過濾冗余數據,并為上層應用中定位功能的實現做了初步的探索;服務層提供了統(tǒng)一的向上接口,并通過控制臺軟件驗證了接口的有效性。但其也存在一些不足之處:不具備對底層設備即插即用功能的支持;協議棧和指令集較為單一,不能滿足多種閱讀器的讀寫要求;升級邏輯層的數據過濾和挖掘機制薄弱,目前只能實現初步的分析算法。
RFID中間件的研究在國際上是一個熱點,但其公認的成果不多,市場也不成熟。本文討論了國際上RFID中間件的研究現狀,分析了幾家主流商家和科研機構在該領域的研究成果和產品特點。然后結合我們在母嬰安全監(jiān)護系統(tǒng)的實際應用,提出了基于3層架構下的輕量型RFID中間件設計方案,并對邏輯層的功能與實現做了深入的分析探討。然而,目前的系統(tǒng)還不盡完善,在以后的工作中,要逐步完善對底層設備即插即用功能的支持;補充協議棧和指令集,以滿足多種閱讀器的讀寫要求,提高中間件的魯棒性和擴展性;升級邏輯層的過濾規(guī)則和挖掘機制,尤其在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]于楠,胡金炎,鄒岸,等.一種母嬰安全監(jiān)護系統(tǒng)數據庫的設計和實現[J].計算機應用與軟件,2013,30(5):200-202.
[4]鄒岸,胡金炎,林霖,等.基于有源RFID和LAMP技術的母嬰安全監(jiān)護系統(tǒng)開發(fā)[J].制造業(yè)自動化,2013,35(20):118-122.
[5]宋四云,胡金炎,林霖,等.基于RFID技術的監(jiān)護系統(tǒng)數據實時處理研究[J].制造業(yè)自動化,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]鄭勇雪,張大勇.倉儲管理系統(tǒng)中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—),男,主管技師,主要從事醫(yī)療設備電氣自動化方面的研究工作,E-mail:13756119528@139.com。
130062長春,解放軍208醫(yī)院放療科(崔英奎);510515廣州,南方醫(yī)科大學生物醫(yī)學工程學院(鄒 岸,林 霖)
林 霖,E-mail:linlin0023@smu.edu.cn