應(yīng) 俊 王社周 吉福生
1(重慶郵電大學(xué)光電工程學(xué)院 重慶 400065)2(重慶郵電大學(xué) 重慶 400065)
?
基于ALE規(guī)范的分布式RFID中間件研究與實現(xiàn)
應(yīng)俊1王社周1吉福生2
1(重慶郵電大學(xué)光電工程學(xué)院重慶 400065)2(重慶郵電大學(xué)重慶 400065)
摘要隨著RFID技術(shù)的應(yīng)用范圍越來越廣,其系統(tǒng)規(guī)模也越來越大。RFID中間件效率低,且缺乏統(tǒng)一的標(biāo)準(zhǔn)。從實際出發(fā),采用ALE(Application Level Event)規(guī)范設(shè)計一個通用的分布式RFID中間件架構(gòu)。該架構(gòu)不僅可以提供統(tǒng)一的接口,還可以有效地降低系統(tǒng)規(guī)模過大所帶來的不良影響。所設(shè)計的RFID中間件可以應(yīng)用于物流管理、車輛管理、資產(chǎn)管理、生產(chǎn)制造等多種RFID技術(shù)應(yīng)用場合。為驗證其性能,最后設(shè)計了基于RFID中間件的資產(chǎn)管理系統(tǒng),通過應(yīng)用驗證了基于ALE規(guī)范的分布式RFID中間件的可靠性和高效性。
關(guān)鍵詞ALE規(guī)范事件分布式數(shù)據(jù)過濾
0引言
經(jīng)過多年的應(yīng)用和發(fā)展,射頻識別技術(shù)RFID已經(jīng)成為自動識別和數(shù)據(jù)收集系統(tǒng)的首選技術(shù)。RFID技術(shù)能夠以很高的速率接收海量的數(shù)據(jù),它的這種能力使得RFID技術(shù)可以用來識別、定位、追蹤以及監(jiān)管非視距內(nèi)的物品[1]。目前RFID技術(shù)已經(jīng)在很多領(lǐng)域得到了的應(yīng)用,如:物流管理、零售、包裹管理以及安全和醫(yī)療等領(lǐng)域[2],給人們的生活帶來了極大的便捷。
同時由于RFID技術(shù)應(yīng)用的深入,以及RFID系統(tǒng)規(guī)模的擴(kuò)大,為了應(yīng)對日益龐大的數(shù)據(jù)處理量、層次化RFID應(yīng)用系統(tǒng),RFID中間件應(yīng)運而生。目前國外的RFID中間件產(chǎn)品主要有Oracle RFID中間件、IBM RFID中間件、BEA RFID中間件、SUN RFID中間件。國內(nèi)的有華中科技大學(xué)開發(fā)的支持多通信平臺的 RFID 中間件產(chǎn)品Smart,上海交通大學(xué)開發(fā)的面向商業(yè)物流的數(shù)據(jù)管理與集成中間件平臺[3]。雖然這些產(chǎn)品已經(jīng)開始應(yīng)用,但是還存在如下一些問題:(1) 中間件對某些硬件設(shè)備依賴較大,無法實現(xiàn)通用性;(2) 通信以數(shù)據(jù)流為主;(3) 應(yīng)用領(lǐng)域單一,無法給企業(yè)應(yīng)用層提供統(tǒng)一的接口,以適應(yīng)應(yīng)用環(huán)境的變化。
針對上述問題,本文提出一種基于應(yīng)用層事件規(guī)范ALE的RFID中間件設(shè)計方案。ALE規(guī)范由EPCglobal組織于2005年提出,它不針對某個應(yīng)用和領(lǐng)域,而是完全作為國際標(biāo)準(zhǔn)存在[4],ALE規(guī)范通過對具體應(yīng)用環(huán)境進(jìn)行抽象,將應(yīng)用環(huán)境和事件(Event)一一對應(yīng),對外提供符合該規(guī)范的應(yīng)用接口。引入ALE規(guī)范可以有效地解決企業(yè)應(yīng)用需求靈活多變、系統(tǒng)中冗余數(shù)據(jù)量大、底層設(shè)備種類繁多、應(yīng)用接口不統(tǒng)一等問題,可以讓應(yīng)用層軟件開發(fā)人員快速地開發(fā)出高質(zhì)量、可移植、可擴(kuò)展的應(yīng)用軟件,可以屏蔽底層設(shè)備對應(yīng)用軟件的影響?;贏LE規(guī)范設(shè)計RFID中間件對RFID技術(shù)的推廣應(yīng)用具有極其重要的意義和必要性,但是規(guī)范并沒有給出設(shè)計RFID中間件的具體方法,而是定義了一系列接口[5]。本文不僅給出了中間件的設(shè)計方案,而且在最后開發(fā)了基于RFID技術(shù)的資產(chǎn)管理系統(tǒng),以驗證RFID中間件的性能。
1RFID中間件架構(gòu)設(shè)計
軟件架構(gòu)的設(shè)計,是設(shè)計軟件的第一步。本文在ALE規(guī)范的基礎(chǔ)上,同時為了進(jìn)一步擴(kuò)大RFID中間件的應(yīng)用范圍和使用靈活性,設(shè)計了一種可以適用于分布式、多網(wǎng)關(guān)應(yīng)用環(huán)境的中間件架構(gòu)。該架構(gòu)由兩部分組成:RFID中間件服務(wù)器和網(wǎng)關(guān),如圖1所示。
圖1 RFID中間件架構(gòu)圖
本文將RFID中間件服務(wù)器作為服務(wù)提供方,為了能夠更好地提供服務(wù),減小與應(yīng)用軟件的耦合, RFID中間件服務(wù)器采用面向服務(wù)的體系結(jié)構(gòu)SOA(Service-Oriented Architecture),實現(xiàn)發(fā)布/訂閱模型,屏蔽服務(wù)發(fā)布者和訂閱者。共包括設(shè)備管理、事件管理、觸發(fā)器管理以及狀態(tài)策略管理等四個模塊,設(shè)備管理模塊用于對設(shè)備進(jìn)行初始化及狀態(tài)的監(jiān)管,與其他模塊無交集。事件管理模塊、觸發(fā)器模塊和狀態(tài)策略模塊以ECSpec作為主線相互影響、相互配合,并最終完成一次應(yīng)用層的請求。事件管理模塊中的ECSpec決定觸發(fā)器的初始化,而觸發(fā)器決定狀態(tài)策略模塊中事件狀態(tài)的轉(zhuǎn)移,事件的不同狀態(tài)又會反過來影響事件管理模塊的進(jìn)一步操作。三個模塊之間相輔相成,共同完成RFID中間件服務(wù)器的事件處理功能。
網(wǎng)關(guān)包括設(shè)備注冊、驅(qū)動裝載、設(shè)備巡檢、數(shù)據(jù)過濾和數(shù)據(jù)組合等模塊,主要實現(xiàn)對標(biāo)簽數(shù)據(jù)的收集及預(yù)處理,以及對設(shè)備進(jìn)行直接的監(jiān)控。
2RFID中間件服務(wù)器
作為SOA技術(shù)的一種實現(xiàn)方式,RFID中間件服務(wù)器采用Web Service技術(shù)實現(xiàn)。Web Service提供了基于XML的標(biāo)準(zhǔn)接口,具有完好的封裝性、松散的耦合性、協(xié)議規(guī)范的標(biāo)準(zhǔn)性以及高度的可集成性等特點,能夠良好地滿足SOA應(yīng)用模式的需求[6]。使用過程中應(yīng)用系統(tǒng)可以通過請求服務(wù)的方式獲取RFID中間件提供的服務(wù)。
RFID中間件服務(wù)器連接應(yīng)用層和網(wǎng)關(guān),對事件以及數(shù)據(jù)進(jìn)行處理和中轉(zhuǎn)。其中設(shè)備管理模塊用于中轉(zhuǎn)設(shè)備管理指令;事件管理模塊,負(fù)責(zé)事件的處理和報告的生成;觸發(fā)器模塊,決定事件的開始和結(jié)束;狀態(tài)策略模塊,用于管理事件的狀態(tài)。
2.1事件管理模塊
事件管理模塊用于給應(yīng)用層提供接口,將具體的應(yīng)用場景抽象化,并通過Web Service中不同的函數(shù)和參數(shù)列表來表示不同的應(yīng)用場景。接口主要分為三種:事件定義、事件訂閱和回調(diào)函數(shù)。應(yīng)用層依次調(diào)用各種接口并配合狀態(tài)策略模塊和觸發(fā)器模塊實現(xiàn)相應(yīng)的功能,其流程如下所示:
(1) 事件定義,應(yīng)用層調(diào)用事件定義函數(shù)(define或Immediate函數(shù))將輸入的ECSpec分解存入到數(shù)據(jù)庫中,保證后續(xù)訂閱者的正常使用;
(2) 事件訂閱,應(yīng)用層訂閱(Subscribe或Poll函數(shù))感興趣的事件,將其從數(shù)據(jù)庫中取出轉(zhuǎn)化為一個事件對象存儲在內(nèi)存中,不同的事件通過SpecName進(jìn)行區(qū)分,同時通過狀態(tài)轉(zhuǎn)移模塊改變事件的狀態(tài);
(3) 事件觸發(fā),觸發(fā)器模塊激活內(nèi)存中對應(yīng)的事件,將ECSpec對象中的SpecName和邏輯讀卡器ID列表組成一個結(jié)構(gòu)體發(fā)送到網(wǎng)關(guān)中,網(wǎng)關(guān)開始讀取標(biāo)簽;
(4) 報告生成,由觸發(fā)器模塊結(jié)束相應(yīng)的事件,報告生成模塊將接收到的標(biāo)簽數(shù)據(jù)組合成一個XML格式的報告上傳給應(yīng)用層,或者是等待應(yīng)用層主動取走。
除上面提到的接口外,還有取消事件定義(Undefine和AbortImmediate)、取消事件訂閱(Unsubscribe和AbortPoll)、觸發(fā)器接收函數(shù)(PushTrigger)、事件注冊(UpdateEvent)和網(wǎng)關(guān)上傳數(shù)據(jù)(PushData)等函數(shù)。
其中從功能上看,Poll函數(shù)相當(dāng)于執(zhí)行一次Subscribe函數(shù),并且事件周期結(jié)束后立即再執(zhí)行一次Unsubscribe函數(shù),而Immediate函數(shù)相當(dāng)于define函數(shù)加上Poll函數(shù)再加上Undefine函數(shù)依次執(zhí)行一次[7]。工作流程如圖2所示。
圖2 事件管理模塊工作流程
2.1.1事件周期定義
在ALE規(guī)范中,ECSpec是應(yīng)用場景抽象的結(jié)果[8]。ECSpec作為系統(tǒng)的輸入,它的設(shè)置滿足大部分應(yīng)用場景,其字段列表如表1所示。在表中邏輯讀卡器列表是相對真實的物理讀卡器而言的,之間呈一對多的層次關(guān)系。通常將一個房間或是相對獨立環(huán)境中的物理讀卡器定義為一個邏輯讀卡器,應(yīng)用系統(tǒng)只需操作對應(yīng)邏輯讀卡器,而不用關(guān)心物理讀卡器。邏輯讀卡器的設(shè)置進(jìn)一步降低了應(yīng)用系統(tǒng)和物理設(shè)備之間的耦合性,物理設(shè)備的增減更加隨意;事件周期邊界ECBoundarySpec(Event Cycle Boundary Specification)定義一個事件周期的開始和結(jié)束,包含決定字符串觸發(fā)器和時間觸發(fā)器工作形式的條件,而具體的觸發(fā)工作由觸發(fā)器模塊控制;事件周期報告ECReportSpec(Event Cycle Report Specification)定義在事件周期結(jié)束時如何生成一個報告,即定義生成的報告中應(yīng)該含有的信息。一個ECSpec可以生成多個報告;includeSpecInReports定義在報告中是否包含ECSpec的原始定義;primaryKeyFields定義標(biāo)識標(biāo)簽唯一性的標(biāo)簽字段,如EPC值等。通過define函數(shù)異步定義的ECSpec,其他用戶可以通過SpecName使用這個ECSpec,而Immediate函數(shù)定義的ECSpec只有發(fā)起該請求的用戶可以使用。
表1 ECSpec對象定義
2.1.2報告生成模塊
由網(wǎng)關(guān)收集到的數(shù)據(jù)只包含由標(biāo)簽和邏輯讀卡器ID組成的鍵值對,為了在反饋給應(yīng)用層的報告中包含在事件周期中發(fā)生的更多信息,報告生成模塊在接收到這些數(shù)據(jù)后,需要按照對應(yīng)ECSpec的要求進(jìn)行處理。解析不同參數(shù)的ECSpec,模塊會生成包含不同信息的報告,最終報告以標(biāo)準(zhǔn)的XML格式通過回調(diào)函數(shù)以同步或者是異步方式返回給應(yīng)用層,XML格式的字段如表2所示。
表2 ECReport對象定義
2.2狀態(tài)策略模塊
狀態(tài)策略模塊用于輔助事件管理模塊對事件的狀態(tài)進(jìn)行管理,在設(shè)計中,將事件的整個生命周期分為三種狀態(tài):Unrequested、Requested、Active。Unrequested表示事件已經(jīng)被定義(define函數(shù)),但是沒有人訂閱該事件;Requested表示至少有一個人訂閱了該事件,但是還沒有開始閱讀標(biāo)簽;Active狀態(tài)表示物理讀卡器正在讀標(biāo)簽。事件每進(jìn)入和離開一次Active狀態(tài),就會產(chǎn)生一個報告。由定義可知,subscribe函數(shù)訂閱的事件可以多次進(jìn)入和離開Active狀態(tài),而Poll和Immediate函數(shù)只能進(jìn)入和離開Active狀態(tài)一次,從而只能產(chǎn)生一個報告。此外,由Immediate函數(shù)定義的事件沒有Unrequested狀態(tài)而是直接進(jìn)入Requested或者是Active狀態(tài)。事件處于不同的狀態(tài)時,應(yīng)用層調(diào)用同一個函數(shù)其后繼狀態(tài)不同。狀態(tài)策略模塊會根據(jù)狀態(tài)轉(zhuǎn)換規(guī)則轉(zhuǎn)換ECSpec的狀態(tài),具體狀態(tài)轉(zhuǎn)移如圖3所示。
圖3 狀態(tài)轉(zhuǎn)移策略模塊
事件周期的開始和結(jié)束對應(yīng)著進(jìn)入或離開Active狀態(tài),而對網(wǎng)關(guān)而言當(dāng)事件轉(zhuǎn)移到Active狀態(tài)時開始注冊事件(UpdateEvent)。當(dāng)離開Active狀態(tài)時取消事件注冊(和注冊事件是同一個接口),同時上傳數(shù)據(jù)(PushData)到中間件服務(wù)器。
2.3觸發(fā)器模塊
觸發(fā)器用于決定事件的開始和結(jié)束,在本文設(shè)計的RFID中間件中,將觸發(fā)器定義為兩種:時間觸發(fā)器和字符串觸發(fā)器,兩者均由ECSpec定義。前者主要是從時間上定義事件何時開始執(zhí)行、執(zhí)行多長時間、何時結(jié)束、循環(huán)執(zhí)行的間隔;而后者通過事先約定好的兩個字符串表示事件的開始或結(jié)束。在使用過程中一個事件要保證至少存在一種觸發(fā)器。其工作流程如圖4所示,首先是通過事件管理模塊定義ECSpec;其次是根據(jù)ECSpec初始化兩種觸發(fā)器;最后由先被觸發(fā)的兩個觸發(fā)器之一改變事件的狀態(tài),進(jìn)而影響事件管理模塊的操作。
圖4 觸發(fā)器工作流程
2.4設(shè)備管理模塊
設(shè)備管理模塊功能上獨立于其他三個模塊,與事件無關(guān)。主要是為系統(tǒng)中的設(shè)備初始化和巡檢提供服務(wù),對數(shù)據(jù)庫進(jìn)行讀和寫操作。設(shè)備初始化包括對網(wǎng)關(guān)和閱讀器的初始化,設(shè)備管理模塊根據(jù)輸入的網(wǎng)關(guān)ID以XML格式返回網(wǎng)關(guān)的配置信息,網(wǎng)關(guān)根據(jù)配置信息對網(wǎng)關(guān)自身及所屬閱讀器進(jìn)行初始化操作。巡檢時設(shè)備管理模塊為其提供需要巡檢的閱讀器信息,并通過該模塊將巡檢結(jié)果實時地寫入到數(shù)據(jù)庫中。
3網(wǎng)關(guān)設(shè)計
網(wǎng)關(guān)連接射頻網(wǎng)絡(luò)和Internet網(wǎng)絡(luò),所以網(wǎng)關(guān)的首要任務(wù)是協(xié)議轉(zhuǎn)換、解析并過濾數(shù)據(jù)。此外,還要負(fù)責(zé)底層設(shè)備的巡視、監(jiān)管及驅(qū)動裝載,負(fù)責(zé)事件的具體執(zhí)行。本文所設(shè)計的網(wǎng)關(guān)以一個由SpecName和對應(yīng)的邏輯讀卡器列表組成的結(jié)構(gòu)體作為輸入,以SpecName和收集到的標(biāo)簽數(shù)據(jù)組合的結(jié)構(gòu)體作為輸出。網(wǎng)關(guān)在處理過程中只需要關(guān)心自己所屬的邏輯讀卡器應(yīng)該做什么工作,而不需要操作事件本身。從邏輯上對系統(tǒng)進(jìn)行了明確的劃分,明確了系統(tǒng)中各個模塊的功能,讓系統(tǒng)從邏輯上達(dá)到“松耦合”。網(wǎng)關(guān)分布式地存在于系統(tǒng)中,多個網(wǎng)關(guān)之間以網(wǎng)關(guān)ID、IP地址等信息標(biāo)識。
3.1設(shè)備注冊
設(shè)備注冊主要用于在系統(tǒng)中添加新的設(shè)備。如果物理閱讀器要想加入到系統(tǒng)中,首先是要通過注冊將物理讀卡器的相關(guān)信息輸入到系統(tǒng)中,需要輸入的信息主要有物理讀卡器ID、物理讀卡器IP地址、所屬邏輯讀卡器ID、MAC地址等。添加邏輯讀卡器和網(wǎng)關(guān)時需要提供額外的所屬網(wǎng)關(guān)ID等。只有通過注冊的設(shè)備,才可以在系統(tǒng)中使用,同時也才會納入到系統(tǒng)的自動巡檢范圍內(nèi),以保證兩者之間進(jìn)行可靠的信息交互。
3.2驅(qū)動裝載
不同的企業(yè)、不同的應(yīng)用環(huán)境下所使用的硬件設(shè)備可能會不同,從而造成數(shù)據(jù)采集協(xié)議的不同。為了充分減小底層設(shè)備的改變對中間件的影響,本文設(shè)計了驅(qū)動裝載模塊,預(yù)留出統(tǒng)一的接口供RFID中間件調(diào)用。模塊的基本原理如圖5所示:(1) 根據(jù)協(xié)議描述文檔從dll與協(xié)議匹配庫中選擇或直接添加dll和協(xié)議文檔;(2) 通過中間件接口生成一個新的dll文件;(3) 中間件通過中間件接口訪問新生成的dll文件獲取數(shù)據(jù),從而使RFID中間件適應(yīng)不同的應(yīng)用環(huán)境。
圖5 驅(qū)動裝載架構(gòu)圖
驅(qū)動模塊的設(shè)計避免了閱讀器和標(biāo)簽與上下系統(tǒng)綁定所帶來的局限,符合應(yīng)用過程中的實際需求,同時也增強(qiáng)了RFID中間件的擴(kuò)展性。
3.3數(shù)據(jù)過濾
RFID閱讀器讀到的標(biāo)簽數(shù)據(jù)通常都是一些原始的標(biāo)簽數(shù)據(jù),包含大量冗余數(shù)據(jù),其產(chǎn)生的主要原因有:(1) 標(biāo)簽長時間處于一個閱讀器的射頻掃描范圍內(nèi),被一個閱讀器重復(fù)讀取多次;(2) 標(biāo)簽處于多個閱讀器的射頻掃描范圍內(nèi),在一段時間內(nèi)被多個閱讀器同時讀到并上報[9]。
為了減小系統(tǒng)的負(fù)擔(dān),接收到的數(shù)據(jù)要經(jīng)過過濾,所以數(shù)據(jù)過濾在RFID中間件中占據(jù)一個重要的地位。數(shù)據(jù)過濾算法通常被分為兩種:一種是查找_插入法,一種是收集_刪除法。前者是在接收數(shù)據(jù)的同時,判斷容器中是否已經(jīng)有當(dāng)前的標(biāo)簽數(shù)據(jù),如果沒有,則插入,否則不插入。后者是等將所有的數(shù)據(jù)收集完成后,在最后匯總時,刪除里面重復(fù)的數(shù)據(jù)。本文采用查找_插入法,利用平衡二叉樹的快速查找的優(yōu)點過濾數(shù)據(jù)。
現(xiàn)有的平衡二叉樹結(jié)構(gòu)如圖6所示,每一個節(jié)點表示一條數(shù)據(jù),每一條數(shù)據(jù)占據(jù)12(以96位長度為例)個字節(jié)。每接收一條數(shù)據(jù)就在平衡二叉樹中進(jìn)行查找比較,看是否有相同的數(shù)據(jù)存在,若存在,則直接過濾掉。若不存在,則直接將數(shù)據(jù)插入二叉樹中,并進(jìn)行二叉樹的平衡處理。該算法雖然簡單,但是要消耗掉很大內(nèi)存去存儲數(shù)據(jù),在RFID中間件處理海量數(shù)據(jù)時將會嚴(yán)重地降低中間件的性能。
圖6 平衡二叉樹結(jié)構(gòu)
所以本文在此基礎(chǔ)上進(jìn)行了改進(jìn),改進(jìn)后的平衡二叉樹結(jié)構(gòu)如圖7所示。該方法將標(biāo)簽數(shù)據(jù)根據(jù)規(guī)定進(jìn)行切割,分為四部分,每一部分對應(yīng)一個平衡二叉樹。于是將一個平衡二叉樹分為四個不相關(guān)的平衡二叉樹,并分別進(jìn)行平衡性維護(hù)。在第一、二、三層二叉樹中存儲對應(yīng)碼段的真實數(shù)據(jù),并給每一層的節(jié)點按照從上到下,從左到右的順序依次編碼為1,2,3,…。在第四層的二叉樹節(jié)點中存儲的數(shù)據(jù)結(jié)構(gòu)為1101,000169DC0。其中第一個‘1’表示第一層編號為1的節(jié)點,第二個‘1’表示第二層編號為1的節(jié)點,隨后的兩位‘01’表示第三層編號為1的節(jié)點。最后加上RFID標(biāo)簽的第四段數(shù)據(jù)。如020000A890001 70000169DC0可以表示為:1102,000169DC0,020000A8900017 0000169DC0和020000A8900016F000169DC0可以合并保存為1101,1102,000169DC0。
圖7 改進(jìn)平衡二叉樹結(jié)構(gòu)
在進(jìn)行查找時,只需要比較第四層是否有相同的數(shù)據(jù),若有,則直接過濾掉。若沒有,則更新每一層的平衡二叉樹,并使其維持平衡,從而實現(xiàn)查找,基本流程如圖8所示。該方法雖然從節(jié)點的數(shù)量上來看比原有的方法要多一些節(jié)點,但是表示相同的信息時將會消耗更小的內(nèi)存,而且在查找二叉樹時,所需要比較的數(shù)據(jù)長度也小于原有算法。改進(jìn)的算法性能更優(yōu),在實際的應(yīng)用中具有重要的意義。
圖8 數(shù)據(jù)查找流程圖
在RFID中間件中數(shù)據(jù)的收集以ECSpec為單位進(jìn)行,由于事件之間的交叉性,不同的事件可能涉及到相同的邏輯讀卡器,進(jìn)而對應(yīng)一些相同的物理讀卡器。由于事件定義的先后,導(dǎo)致在進(jìn)行標(biāo)簽數(shù)據(jù)收集時,無法共享邏輯讀卡器。為了解決這個問題,設(shè)計了如圖9所示的數(shù)據(jù)收集流程,在系統(tǒng)中有物理讀卡器讀取標(biāo)簽的周期C1,邏輯讀卡器讀取周期C2,事件周期C3。工作過程為:首先,物理讀卡器以C1為周期讀取標(biāo)簽,讀到標(biāo)簽以后對讀到的標(biāo)簽進(jìn)行去重,存放到物理讀卡器標(biāo)簽庫中;其次,邏輯讀卡器以C2為周期讀取物理讀卡器標(biāo)簽庫中的數(shù)據(jù)同時清空物理讀卡器庫,將去重后的數(shù)據(jù)上報給涉及到該邏輯讀卡器的所有事件庫,事件庫完成對邏輯讀卡器上傳來的相同標(biāo)簽的去重;最后,事件庫以C3為周期將對應(yīng)事件庫中標(biāo)簽組合為一個報告上傳給應(yīng)用層,并清空事件庫。這種結(jié)構(gòu)可以有效地解決系統(tǒng)中的邏輯讀卡器共享問題。
圖9 數(shù)據(jù)收集流程
3.4巡檢
巡檢的設(shè)計,主要是為了使系統(tǒng)具有自檢和自動恢復(fù)功能,可以及時地發(fā)現(xiàn)系統(tǒng)中出現(xiàn)問題的設(shè)備,增強(qiáng)系統(tǒng)的可靠性,同時在一定程度上降低系統(tǒng)的維護(hù)開支。設(shè)備巡檢的流程如圖10所示。
圖10 巡檢工作流程
4中間件應(yīng)用
經(jīng)過多次修改,RFID中間件達(dá)到了預(yù)定設(shè)計目標(biāo),各個模塊均正常運行,有效地解決了接口統(tǒng)一性問題。而中間件的分布式、多網(wǎng)關(guān)架構(gòu)相對于單網(wǎng)關(guān)系統(tǒng)而言,減少了數(shù)據(jù)排隊時間,增加了系統(tǒng)的并行處理能力,提高了系統(tǒng)的效率。為了進(jìn)一步驗證該中間件的可靠性,開發(fā)了基于RFID技術(shù)的資產(chǎn)管理系統(tǒng),目前該資產(chǎn)管理系統(tǒng)已經(jīng)在多地成功投入使用,功能列表如圖11所示。從圖中可以看到資產(chǎn)管理系統(tǒng)實現(xiàn)了自動“盤點掃描”的功能,該功能使得資產(chǎn)管理員在統(tǒng)計資產(chǎn)信息時由原來的手動登記變成自動盤點掃描。資產(chǎn)管理員通過系統(tǒng)發(fā)起盤點請求,使得資產(chǎn)盤點工作由原來的數(shù)月變?yōu)榭梢栽谝惶?,甚至更短時間內(nèi)完成(部分資產(chǎn)需要使用手持閱讀器進(jìn)行補(bǔ)充盤點)。掃描可以快速定位某一個資產(chǎn),該功能的設(shè)計極大地提高了資產(chǎn)的管理效率。圖11中的“資產(chǎn)移動”功能可以實現(xiàn)在線申請資產(chǎn)調(diào)撥,記錄詳細(xì)資產(chǎn)移動路徑?!伴T禁跟蹤和警報”功能可以及時發(fā)現(xiàn)資產(chǎn)越界,實時掌握資產(chǎn)動態(tài),降低資產(chǎn)管理過程中人為造成的差錯,提高了資產(chǎn)管理系統(tǒng)的安全性?!百Y產(chǎn)出入庫”功能通過入庫操作,將資產(chǎn)納入到系統(tǒng)的監(jiān)管范圍內(nèi),通過出庫操作處理報廢的資產(chǎn),該功能明確了資產(chǎn)的生命周期。“報表統(tǒng)計”等功能用于統(tǒng)計資產(chǎn)的詳細(xì)信息??傊?,設(shè)計的基于RFID技術(shù)的固定資產(chǎn)管理系統(tǒng)有效地提高了資產(chǎn)的管理水平。
圖11 系統(tǒng)應(yīng)用實例
5結(jié)語
中間件用于過濾冗余數(shù)據(jù)、屏蔽設(shè)備的差異性和企業(yè)應(yīng)用軟件的多樣性,在RFID應(yīng)用系統(tǒng)中具有重要的地位。本文首先介紹RFID中間件的研究背景,并說明在RFID中間件中引入ALE規(guī)范的意義和必要性,然后給出本文提出的RFID中間件架構(gòu)設(shè)計方案。依次分析介紹了架構(gòu)所涉及各個模塊的設(shè)計原理、工作流程以及它們之間的邏輯關(guān)系。所設(shè)計的RFID中間件具有很好的通用性,可以應(yīng)用于多個領(lǐng)域。最后通過在固定資產(chǎn)管理系統(tǒng)中的成功應(yīng)用驗證了本文設(shè)計的基于ALE規(guī)范的RFID中間件的正確性和接口的通用性。本文的研究進(jìn)一步促進(jìn)了RFID技術(shù)的推廣和應(yīng)用,但是隨著RFID技術(shù)的不斷發(fā)展對RFID中間件的要求也將隨之不斷提高,如需要更完善的功能設(shè)計、更高效的數(shù)據(jù)過濾等,所以RFID中間件也需要不斷的研究與發(fā)展。
參考文獻(xiàn)
[1] 張旭,雷日春.RFID在紡織品檢驗實驗室樣品管理系統(tǒng)中的應(yīng)用[J].中國纖檢,2014(6):62-64.
[2] 萬小明.淺析RFID技術(shù)在物流行業(yè)中的應(yīng)用前景[J].物流工程與管理,2012(3):86-87.
[3] 董旭.一種分布式RFID ALE中間件系統(tǒng)設(shè)計與實現(xiàn)[D].電子科技大學(xué),2012.
[4] 楊海剛.ALE中交易事件的處理方法與技術(shù)研究[D].北方工業(yè)大學(xué),2014.
[5] 郭躍輝,艾君銳.基于ALE規(guī)范的RFID中間件的研究與設(shè)計[J].現(xiàn)代計算機(jī):專業(yè)版,2010(10):79-82.
[6] 李捷.一種基于SOA的RFID中間件應(yīng)用方案設(shè)計[J].微計算機(jī)信息,2009,25(11):181-183.
[7] Kang S S,Park G J.Design and Implementation of ALE v1.1 Middleware in RFID systems[C]//New Trends in Information and Service Science,2009.NISS’09.International Conference on.IEEE,2009:815-821.
[8] Li X,Xu Z,Wu L.A design for RFID middleware system extended from ALE specification[C]//Software Engineering and Service Science (ICSESS),2012 IEEE 3rd International Conference on.IEEE,2012:271-274.
[9] 孫紅,厲彥剛,陳世平.RFID中間件數(shù)據(jù)處理研究[J].上海理工大學(xué)學(xué)報,2014(3):234-238.
收稿日期:2015-01-20。國家自然科學(xué)基金項目(61371097);國家物聯(lián)網(wǎng)專項(工信部科函[2014]351號);重慶市青年科技人才培養(yǎng)計劃項目(cstc2014kjrc-qnrc40001)。應(yīng)俊,副教授,主研領(lǐng)域:電子信息技術(shù)。王社周,碩士生。吉福生,工程師。
中圖分類號TP3
文獻(xiàn)標(biāo)識碼A
DOI:10.3969/j.issn.1000-386x.2016.07.004
RESEARCH AND IMPLEMENTATION OF DISTRIBUTED RFID MIDDLEWARE BASED ON ALE SPECIFICATION
Ying Jun1Wang Shezhou1Ji Fusheng2
1(SchoolofOptoelectronicEngineering,ChongqingUniversityofPostsandTelecommunications,Chongqing400065,China)2(ChongqingUniversityofPostsandTelecommunications,Chongqing400065,China)
AbstractAs the application range of RFID technology becomes increasingly wide, the system size becomes bigger and bigger as well. RFID middleware has low efficiency and lacks the uniform standards. Proceeding from actual situation, in this paper we adopt the ALE specification to have designed a universal distributed RFID middleware architecture, this architecture can not only provide a uniform interface, but can also effectively reduce the bad influence on the system caused by its too big size. The designed RFID middleware can be applied to various situations where the RFID technology is used such as logistics management, vehicles management, assets management, manufacturing, etc. To verify its performance, in end of this paper we report the design of an RFID middleware-based fixed assets management system, it verified the reliability and efficiency of the ALE specification-based distributed RFID middleware through application.
KeywordsApplication level events (ALE) specificationEventDistributedData filter