當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]射頻識別(RFID) 中間件位于RFID閱讀器與上層服務(wù)器應(yīng)用層之間,具有屏蔽底層設(shè)備、標(biāo)簽數(shù)據(jù)清洗、數(shù)據(jù)交互等功能。目前,國內(nèi)外許多企業(yè)以及機(jī)構(gòu)也都致力于RFID 中間件的研究,如:IBM、Microsoft、清華同方等都有

射頻識別(RFID) 中間件位于RFID閱讀器與上層服務(wù)器應(yīng)用層之間,具有屏蔽底層設(shè)備、標(biāo)簽數(shù)據(jù)清洗、數(shù)據(jù)交互等功能。目前,國內(nèi)外許多企業(yè)以及機(jī)構(gòu)也都致力于RFID 中間件的研究,如:IBM、Microsoft、清華同方等都有自己的RFID 中間件產(chǎn)品。 這些產(chǎn)品大多部署在服務(wù)器端,如果短時間內(nèi)產(chǎn)生了海量RFID 數(shù)據(jù),大量原始數(shù)據(jù)都將集中在服務(wù)器端,對中間件的數(shù)據(jù)處理能力是很大的考驗。同時,海量數(shù)據(jù)的傳輸會占用網(wǎng)絡(luò)帶寬,如果網(wǎng)絡(luò)出現(xiàn)故障,有可能會造成數(shù)據(jù)的丟失。隨著大數(shù)據(jù)時代的到來,傳統(tǒng)RFID 中間件的瓶頸逐漸暴露,直接影響系統(tǒng)的整體性能。因此,在面對海量RFID原始數(shù)據(jù)的情況下,如何減小服務(wù)器端處理壓力,降低系統(tǒng)對網(wǎng)絡(luò)的依賴性成為 RFID 中間件急需解決的問題。本文就一種基于 NFC手機(jī)的RFID中間件進(jìn)行研究與實現(xiàn),將RFID 中間件技術(shù)與移動互聯(lián)網(wǎng)相結(jié)合,彌補(bǔ)了傳統(tǒng)RFID 中間件的不足之處,并且符合當(dāng)前發(fā)展趨勢。

1 中間件設(shè)計方案

1.1 系統(tǒng)架構(gòu)

根據(jù)RFID 中間件功能需求以及移動設(shè)備資源有限等特點(diǎn),提出了如圖1 所示的系統(tǒng)架構(gòu)。

 

圖1 系統(tǒng)總體架構(gòu)圖

1) 設(shè)備管理模塊主要包含 4 個部分,NFC讀卡部分負(fù)責(zé)調(diào)用手機(jī)自帶 NFC模塊進(jìn)行讀取標(biāo)簽信息;外接閱讀器管理部分兼容外接閱讀器驅(qū)動,并通過藍(lán)牙、WiFi、3G網(wǎng)絡(luò)等與之進(jìn)行數(shù)據(jù)交互;工作日志管理部分主要對手機(jī)及中間件的工作日志進(jìn)行管理;手機(jī)狀態(tài)查詢部分能夠?qū)崟r地對手機(jī)電量、剩余存儲空間、信號等狀態(tài)進(jìn)行查詢。

2)數(shù)據(jù)處理模塊主要包含5 個部分,協(xié)議校驗部分負(fù)責(zé)對RFID 標(biāo)簽數(shù)據(jù)根據(jù)標(biāo)識位進(jìn)行初步校驗,去除殘缺的或者非本系統(tǒng)數(shù)據(jù);標(biāo)簽緩存部分采用BlockingQueue 隊列作為緩存將初步校驗后的數(shù)據(jù)存儲;冗余數(shù)據(jù)處理部分采用自適應(yīng)的臨近排序算法(Sorted Neighborhood Method,SNM)去除冗余數(shù)據(jù);數(shù)據(jù)校驗部分采用 CRC16 算法對標(biāo)簽數(shù)據(jù)中的校驗源數(shù)據(jù)進(jìn)行校驗,以此驗證標(biāo)簽數(shù)據(jù)是否被篡改過;數(shù)據(jù)分類部分根據(jù)約定的數(shù)據(jù)規(guī)則將數(shù)據(jù)進(jìn)行分類。

3)數(shù)據(jù)庫模塊采用 SQLite 嵌入式數(shù)據(jù)庫存儲處理好的數(shù)據(jù)。

4)數(shù)據(jù)交互模塊采用Quartz框架結(jié)合Socket編程實現(xiàn)中間件與服務(wù)器之間的數(shù)據(jù)交互。

5)任務(wù)管理模塊負(fù)責(zé)將服務(wù)器端發(fā)送來的命令文件進(jìn)行緩存與管理。

1.2 系統(tǒng)設(shè)計重點(diǎn)

1.2.1 設(shè)備管理模塊

該模塊主要為對硬件設(shè)備的管理與監(jiān)控,集成NFC以及外接讀卡器驅(qū)動,并且能夠?qū)ο到y(tǒng)工作日志以及手機(jī)狀態(tài)進(jìn)行查詢。

系統(tǒng)主要采用 NFC模塊對RFID 卡片進(jìn)行讀寫,集成多種NFC標(biāo)準(zhǔn),可自動判別卡片類型,相關(guān)代碼如下所示:

mTechLists =new String[][]{new String[]{MifareClassic.class.getName()},

new String[]{MifareUltralight.class.getName()},

new String[]{NdefFormatable.class.getName()},

new String[]{Ndef.class.getName()},

new String[]{IsoDep.class.getName()},

new String[]{NfcV.class.getName()},

new String[]{NfcF.class.getName()},

new String[]{NfcB.class.getName()},

new String[]{NfcA.class.getName()}};

為了使系統(tǒng)有良好的可擴(kuò)展性,中間件兼容多種讀卡器驅(qū)動,通過藍(lán)牙、WiFi、3G 網(wǎng)絡(luò)等與外接讀卡器進(jìn)行數(shù)據(jù)傳輸。

此外,提供良好的接口,可對中間件工作日志以及手機(jī)電量、信號強(qiáng)度、剩余存儲空間等信息進(jìn)行實時查詢與管理。

1.2.2 數(shù)據(jù)處理模塊

1)數(shù)據(jù)緩存、校驗及冗余數(shù)據(jù)處理。

系統(tǒng)采用BlockingQueue 隊列作為緩存來存儲短時間內(nèi)接收的大量數(shù)據(jù)。 將接收的卡片數(shù)據(jù)進(jìn)行初步校驗,去除殘缺或者非本系統(tǒng)數(shù)據(jù)。

表 1 為標(biāo)簽數(shù)據(jù)格式,其中UID 為每個標(biāo)簽唯一標(biāo)識,校驗數(shù)據(jù)中前7 位是用于生成校驗碼的原始數(shù)據(jù),第8 位為本系統(tǒng)標(biāo)簽標(biāo)識,且對每個標(biāo)簽的前7位校驗數(shù)據(jù)采用 CRC16 算法生成校驗碼,與標(biāo)簽UID 一起由服務(wù)器通過JSON 文件寫入到手機(jī)端數(shù)據(jù)庫中。 當(dāng)讀取到標(biāo)簽數(shù)據(jù)后,中間件首先根據(jù)校驗源數(shù)據(jù)中第8 位標(biāo)識符來判斷該卡片是否為本系統(tǒng)所屬,然后采用相同的 CRC16 算法對前7 位校驗數(shù)據(jù)生成校驗碼,并根據(jù)標(biāo)簽 UID 與數(shù)據(jù)庫中的校驗碼相比較,以此來判斷標(biāo)簽數(shù)據(jù)是否被改寫。 8 位校驗源數(shù)據(jù)在校驗完成后需去掉,只將有用數(shù)據(jù)存儲。

表1 RFID 標(biāo)簽數(shù)據(jù)格式

 

數(shù)據(jù)冗余是RFID 系統(tǒng)不可避免的問題,如果數(shù)據(jù)不清洗,大量有用、無用的數(shù)據(jù)會占用網(wǎng)絡(luò)帶寬,增加系統(tǒng)處理負(fù)擔(dān);如果將接收的數(shù)據(jù)逐一與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行比對,雖然準(zhǔn)確率高,但是面對大量的RFID數(shù)據(jù)時會降低系統(tǒng)效率,因此,針對移動端有限的資源以及對數(shù)據(jù)處理效率的綜合考慮,本系統(tǒng)采用SNM 算法來處理冗余數(shù)據(jù)。

數(shù)據(jù)清洗流程如圖2 所示。

 

圖2 數(shù)據(jù)清洗流程圖

2)數(shù)據(jù)分類。

將通過清洗的數(shù)據(jù)根據(jù)事先約定好的數(shù)據(jù)規(guī)則進(jìn)行分類,比如事先規(guī)定卡片中第 Ni ~Nj 位為數(shù)據(jù)標(biāo)識位,則將數(shù)據(jù)存儲到 SQLite 數(shù)據(jù)庫相應(yīng)表格中。

1.2.3 數(shù)據(jù)交互模塊

該模塊負(fù)責(zé)移動端中間件與服務(wù)器之間的數(shù)據(jù)交互,在保證數(shù)據(jù)完整性、安全性的前提下,提高傳輸速度。 采用Socket 通信,以文件的方式傳輸命令與數(shù)據(jù),模塊中采用 CRC 校驗確保文件安全,并且支持文件斷點(diǎn)上傳、下載。 將相關(guān)文件在移動端進(jìn)行存儲與備份,即使網(wǎng)絡(luò)出現(xiàn)故障,中間件也可以正常工作,且不會造成數(shù)據(jù)丟失。

數(shù)據(jù)交互流程如圖3 所示。

 

圖3 數(shù)據(jù)交互模塊流程圖

中間件采用Quartz開源框架根據(jù)需求設(shè)置作業(yè)調(diào)度,在一定時間自動向服務(wù)器發(fā)送一次請求,若服務(wù)器端有新的命令,則獲取該命令,解析并執(zhí)行,無需人工干預(yù),且參數(shù)可由服務(wù)器端下發(fā)命令進(jìn)行修改,自動化程度高,可配置性好,服務(wù)器端采用多線程處理中間件的請求,進(jìn)而提高處理效率。

表2 數(shù)據(jù)交互模塊傳輸速度測試

 

表 2 為對數(shù)據(jù)交互模塊傳輸速度的測試結(jié)果,其中測試數(shù)據(jù)為支持ISO15693 標(biāo)準(zhǔn)的RFID標(biāo)簽數(shù)據(jù),手機(jī)端通過3G 網(wǎng)絡(luò)向服務(wù)器端上傳RFID 標(biāo)簽數(shù)據(jù)文件,支持文件斷點(diǎn)續(xù)傳,而且當(dāng)文件傳輸完成后,還會在本地進(jìn)行備份,避免文件數(shù)據(jù)丟失。 由于手機(jī)端緩存有限,且經(jīng)過測試,發(fā)送的數(shù)據(jù)包如果過大會導(dǎo)致數(shù)據(jù)丟失,所以系統(tǒng)數(shù)據(jù)包大小設(shè)置為 1kB,且每發(fā)送一次數(shù)據(jù)包,都會加上報頭用以標(biāo)識該手機(jī)以及報尾用作 CRC 校驗。 當(dāng)數(shù)據(jù)量較小時,傳輸速度受報頭、報尾的影響較大,而當(dāng)數(shù)據(jù)量增大時,報頭、報尾對數(shù)據(jù)傳輸速度的影響越來越少。 所以,當(dāng)傳輸?shù)臄?shù)據(jù)量增大到一定程度時(100000 條數(shù)據(jù)左右),所消耗的時間基本上與數(shù)據(jù)量大小成正比,此外,數(shù)據(jù)傳輸速度受網(wǎng)絡(luò)因素以及設(shè)備讀寫速度影響較大。

1.2.4 任務(wù)管理模塊

將命令文件解析后依次執(zhí)行,如果命令執(zhí)行成功,則將命令文件移到備份文件夾中;如果由于網(wǎng)絡(luò)原因造成命令執(zhí)行失敗,則將該命令加入到任務(wù)隊列,待網(wǎng)絡(luò)恢復(fù)后執(zhí)行該命令,命令所需數(shù)據(jù)暫存在本地數(shù)據(jù)庫中。

如以下JSON 命令所示,status 表示命令狀態(tài),即服務(wù)器端命令是否正常;order_type 表示命令類型,比如獲取數(shù)據(jù)、修改參數(shù)等;details 中表示要進(jìn)行的詳細(xì)操作,其中的object 表示操作的對象;action 表示對該對象執(zhí)行的操作,比如獲取某一類型的數(shù)據(jù)、獲取日志文件、獲取設(shè)備狀態(tài)或者是修改請求上傳/下載時間間隔等程序參數(shù),使得該中間件可配置性好。

 

1.2.5 數(shù)據(jù)存儲模塊

中間件根據(jù)服務(wù)器端發(fā)送來的命令,將相關(guān)數(shù)據(jù)生成JSON 文件,發(fā)送到服務(wù)器端的同時,將JSON格式的數(shù)據(jù)文件備份到本地存儲設(shè)備中,防止由于網(wǎng)絡(luò)問題等原因造成的服務(wù)器端接收的數(shù)據(jù)不完整,只有服務(wù)器端收到完整數(shù)據(jù),并且發(fā)送相關(guān)命令給中間件,中間件才能根據(jù)命令將相關(guān)數(shù)據(jù)文件刪除,以此節(jié)省移動設(shè)備的存儲空間。

1.3 系統(tǒng)優(yōu)點(diǎn)

1)減輕服務(wù)器端負(fù)擔(dān)。

RFID原始數(shù)據(jù)經(jīng)由多個部署在移動設(shè)備上的中間件進(jìn)行處理,將處理后的有效數(shù)據(jù)發(fā)送到服務(wù)器端,這樣既減少服務(wù)器端的壓力,又減少網(wǎng)絡(luò)傳輸量,提高了系統(tǒng)運(yùn)行效率。

2)具有數(shù)據(jù)存儲及備份功能,獨(dú)立性強(qiáng)。

移動設(shè)備的存儲性能越來越強(qiáng),當(dāng)網(wǎng)絡(luò)或者服務(wù)器端出現(xiàn)故障時,可將RFID數(shù)據(jù)存儲在移動設(shè)備中,有效避免數(shù)據(jù)丟失。 因此在斷網(wǎng)的情況下也可以正常工作,解決了以往RFID中間件技術(shù)對網(wǎng)絡(luò)的依賴。

3)操作靈活,部署簡單。

NFC手機(jī)集讀卡器、中間件于一體,可以根據(jù)數(shù)據(jù)量的大小增減設(shè)備數(shù)量,也可根據(jù)卡片分布對中間件位置做出調(diào)整,方便部署,同時也解決了以往RFID系統(tǒng)中讀卡器與中間件之間信息安全及傳輸速率問題。

4)系統(tǒng)可配置性高。

中間件與服務(wù)器端通過傳輸JSON命令來控制系統(tǒng)進(jìn)行相關(guān)操作或者更改系統(tǒng)參數(shù),比如獲取指定數(shù)據(jù)、改變數(shù)據(jù)交互時間間隔等。 同時,操作人員也可以通過系統(tǒng)界面對中間件參數(shù)進(jìn)行設(shè)置,解決了以往中間件自動化低、可配置性差等缺點(diǎn)。

5)自動報警機(jī)制。

系統(tǒng)定期對設(shè)備日志及狀態(tài)信息進(jìn)行自檢,若出現(xiàn)緊急狀況,比如設(shè)備電量不足、存儲空間過滿以及卡片信息被篡改等,可以及時地向指定的手機(jī)號碼發(fā)送預(yù)警信息,避免造成損失,彌補(bǔ)了以往中間件報警不及時的弊端。

2 系統(tǒng)實現(xiàn)及運(yùn)行效果

系統(tǒng)采用 Java 語言基于 Eclipse 平臺編寫,數(shù)據(jù)庫為 SQLite 嵌入式數(shù)據(jù)庫,測試設(shè)備為魅族 MX3 智能手機(jī),其 RAM 容量為 2 GB,CPU 頻率為 1638MHz,ROM 為 32 GB,測試用卡片遵循 ISO15693 標(biāo)準(zhǔn),采用NFC模塊讀取卡片內(nèi)容,部分運(yùn)行界面如圖4 所示。

 

圖4 系統(tǒng)運(yùn)行部分界面

當(dāng)程序運(yùn)行時,將手機(jī)連接電腦,在 Eclipse 中啟動 Dalvik 調(diào)試監(jiān)控服務(wù)器 (Dalvik Debug MonitorService,DDMS),并通過 DDMS 自帶的 Heap 來查看系統(tǒng)消耗內(nèi)存,顯示該程序所占內(nèi)存為 22.628 M,CPU 占用率為6%,由此可見,該系統(tǒng)可在移動設(shè)備有限的資源中完美運(yùn)行。 并且經(jīng)測試,包含 1000 W條RFID數(shù)據(jù)的 SQLite 數(shù)據(jù)庫大小為188 M,從所占存儲空間來看,該RFID 中間件可部署于大部分主流移動設(shè)備中,并且可有效處理并存儲更多的數(shù)據(jù)。

為了模擬處理大量RFID 數(shù)據(jù)下系統(tǒng)工作狀況,編寫程序根據(jù)RFID數(shù)據(jù)規(guī)則自動生成測試數(shù)據(jù),不同數(shù)據(jù)量的系統(tǒng)性能測試結(jié)果如表3 所示。

表3 中間件部分性能測試

 

表3 中T 表示將原始數(shù)據(jù)經(jīng)過清洗并且存入數(shù)據(jù)庫所需時間,R和P分別表示數(shù)據(jù)清洗的召回率和正確率,R=系統(tǒng)正確識別的重復(fù)記錄數(shù)/數(shù)據(jù)集中實際包含的重復(fù)記錄數(shù),P=系統(tǒng)正確識別的重復(fù)記錄數(shù)/系統(tǒng)總共檢索到的重復(fù)記錄數(shù),Size表示保存相應(yīng)數(shù)據(jù)量數(shù)據(jù)庫的大小。

可以看出,系統(tǒng)能夠滿足基本的數(shù)據(jù)處理要求,但數(shù)據(jù)清洗的召回率、正確率及所耗時間還有待提高,分析其原因主要是滑動窗口的大小以及排序關(guān)鍵字的選擇。 當(dāng)窗口太小時,容易漏配,即去除冗余效果不佳,導(dǎo)致召回率不理想;當(dāng)窗口太大時,會產(chǎn)生許多沒必要的比較,時間效果不理想。所以,采用自適應(yīng)隨機(jī)窗口在二者間找到一個平衡點(diǎn)。 本系統(tǒng)選取的關(guān)鍵字是時間戳,而根據(jù)實際應(yīng)用,新到達(dá)的RFID數(shù)據(jù)更能代表當(dāng)前狀況,所以每次比較都保留最新時間戳數(shù)據(jù),這樣,使得部分?jǐn)?shù)據(jù)之間的時間閾值可能小于預(yù)設(shè)值,即有的數(shù)據(jù)被誤認(rèn)為是重復(fù)數(shù)據(jù),導(dǎo)致了準(zhǔn)確率不是很理想。

3 結(jié)束語

本文提出了基于NFC手機(jī)的RFID中間件,由于NFC手機(jī)集讀卡器與中間件功能于一體,且有較好的存儲能力,即使在網(wǎng)絡(luò)出現(xiàn)故障時中間件仍然可以運(yùn)行,同時也使得系統(tǒng)部署更為靈活;數(shù)據(jù)交互模塊采用Quartz框架與Socket編程相結(jié)合,自動化程度高;通過JSON命令或者良好的界面對參數(shù)進(jìn)行設(shè)置,使得系統(tǒng)具有良好的可配置性;在系統(tǒng)發(fā)生異常時還可實時發(fā)出報警短信,以便及時處理;充分利用移動互聯(lián)網(wǎng)的優(yōu)勢,將RFID 中間件與移動平臺完美結(jié)合,解決了傳統(tǒng)中間件的諸多不便之處。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉