蔡映雪,胡輝,陳伽,陳軍,胡松,蔡昭權(quán)
(惠州學(xué)院,惠州 516007)
一種基于數(shù)據(jù)過濾的RFID中間件
蔡映雪,胡輝,陳伽,陳軍,胡松,蔡昭權(quán)
(惠州學(xué)院,惠州516007)
在IC卡種類繁多的今天,無(wú)線射頻識(shí)別RFID技術(shù)被應(yīng)用于身份證、一卡通、物流管理等領(lǐng)域。然而由于基于RFID技術(shù)的產(chǎn)品種類繁多且互不兼容,使得RFID產(chǎn)品的數(shù)據(jù)在不同領(lǐng)域不同應(yīng)用中難以互通共用,實(shí)時(shí)采集的RFID也可能出現(xiàn)冗余和不可靠等問題。提出一種基于RFID中間件的數(shù)據(jù)過濾方法,有效地解決不同類型RFID產(chǎn)品之間數(shù)據(jù)整合和冗余性問題。
RFID;數(shù)據(jù)過濾;數(shù)據(jù)冗余
在IC卡被大量使用的而今天,無(wú)線射頻識(shí)別RFID技術(shù)自然也滲透到人們的日常生活中,而隨著物聯(lián)網(wǎng)的發(fā)展和“互聯(lián)網(wǎng)+”概念的推廣,可以預(yù)見到不久的將來(lái),所有能夠連接到互聯(lián)網(wǎng)的設(shè)備或個(gè)體都將被一一識(shí)別和區(qū)分標(biāo)記,可想而知RFID在未來(lái)將會(huì)以標(biāo)記符號(hào)的角色維系著個(gè)體與個(gè)體之間的關(guān)系,同時(shí)區(qū)別它們的特性[1]。數(shù)以億計(jì)的RFID將會(huì)為人們帶來(lái)巨額的工作量,如何合理管理和整合這些來(lái)自RFID的數(shù)據(jù),過濾冗余性數(shù)據(jù)就成為了討論的焦點(diǎn)[2]。
本文提出了一種基于數(shù)據(jù)過濾的RFID中間件,通過采用閱讀器范圍過濾,標(biāo)簽范圍過濾,標(biāo)簽冗余過濾,標(biāo)簽事件過濾四種過濾方法,使得數(shù)據(jù)過濾的邏輯更為靈活,解決了不同類型RFID產(chǎn)品之間數(shù)據(jù)整合和冗余性問題。
美國(guó)的企業(yè)在應(yīng)用RFID技術(shù)的項(xiàng)目中發(fā)現(xiàn)將RFID數(shù)據(jù)正確錄入并處理復(fù)雜度很高,不僅費(fèi)時(shí)費(fèi)力,效率也不高,于是提出了RFID中間件的概念,希望通過RFID中間件可以將捕獲的數(shù)據(jù)預(yù)處理后再交由系統(tǒng)錄入管理,從而達(dá)到流水作業(yè)的效果[3]。由此促使了一些企業(yè)開始研發(fā)RFID中間件,其中較為典型的中間件有BEA公司的Weblogic RFID Software[4]、IBM的WebSphere RFID Solution、MIT的Auto-ID中心的EPC系統(tǒng)[5]。
在國(guó)內(nèi),首屆中國(guó)國(guó)際EPC與物聯(lián)網(wǎng)高層論壇首先將RFID技術(shù)引入,國(guó)家的科技計(jì)劃和政策也給予了大力支持,但技術(shù)差距還較為明顯[6]。但國(guó)內(nèi)的一流大學(xué)仍然不甘人后,上海交大面向物流的數(shù)據(jù)集成和管理開發(fā)了可重構(gòu)的RFID中間件RRI3.0,浙江大學(xué)研發(fā)的錢塘RFID中間件實(shí)現(xiàn)了較為復(fù)雜的事件處理引擎。
(1)閱讀器范圍過濾
閱讀器范圍過濾方法可以實(shí)現(xiàn)從眾多標(biāo)簽數(shù)據(jù)中,過濾出用戶指定閱讀器范圍的標(biāo)簽數(shù)據(jù)。如在倉(cāng)儲(chǔ)管理中,用戶可以使用該過濾方法,通過獲取某個(gè)貨柜的標(biāo)簽信息來(lái)了解該貨柜的物品信息。在RFID系統(tǒng)把每個(gè)閱讀器對(duì)應(yīng)的閱讀器ID和掩碼作為閱讀器范圍過濾的依據(jù),按照閱讀器的掩碼的不同,來(lái)判斷哪些是用戶指定的閱讀器。
(2)標(biāo)簽范圍過濾
標(biāo)簽過濾方法負(fù)責(zé)從大量的標(biāo)簽數(shù)據(jù)中過濾出用戶指定產(chǎn)品的標(biāo)簽數(shù)據(jù)。按照RFID系統(tǒng)的標(biāo)簽編碼規(guī)范,全球范圍內(nèi)的每一個(gè)產(chǎn)品都可以根據(jù)其標(biāo)簽編碼的識(shí)別ID進(jìn)行識(shí)別。通過判別所有標(biāo)簽消息EPC碼,從中選出滿足用戶需要了解的標(biāo)簽數(shù)據(jù)。
(3)標(biāo)簽冗余過濾
該過濾器采用平滑過濾方式。該方法通過將在規(guī)定短時(shí)間內(nèi)出現(xiàn)次數(shù)超過某個(gè)閾值的標(biāo)簽作為真正出現(xiàn)的標(biāo)簽,阻止一些偶爾在遠(yuǎn)處出現(xiàn)過一次又被閱讀器監(jiān)測(cè)到的標(biāo)簽上報(bào),從而達(dá)到數(shù)據(jù)的平滑。
(4)標(biāo)簽事件過濾
這種過濾方法通過新出現(xiàn)的標(biāo)簽、消失的標(biāo)簽、當(dāng)前的標(biāo)簽和經(jīng)過的標(biāo)簽四種標(biāo)簽標(biāo)記不同事件。標(biāo)簽的狀態(tài)和在讀寫器范圍停留的時(shí)間可以用來(lái)判斷標(biāo)簽的模式,根據(jù)事件類型和計(jì)數(shù)值來(lái)判定標(biāo)簽的模式,進(jìn)而確定標(biāo)簽的類型的方法,達(dá)到分類過濾的目的。
3.1過濾算法設(shè)計(jì)
(1)閱讀器范圍過濾方法
閱讀器范圍過濾方法維護(hù)三張表格。一張為輸入表格,接收經(jīng)過適配層統(tǒng)一格式處理過的標(biāo)簽數(shù)據(jù),供給過濾模塊實(shí)用,此時(shí)表格中標(biāo)簽數(shù)據(jù)的結(jié)構(gòu)如下:
一張為輸出表格,存儲(chǔ)經(jīng)過閱讀器過濾方法過濾后的數(shù)據(jù),供給后面的程序模塊實(shí)用;第三張為閱讀器地址和掩碼存儲(chǔ)表,存儲(chǔ)客戶命令讀取的閱讀器的地址和掩碼。算法如下:
步驟1:輸入數(shù)據(jù)。
步驟2:比較標(biāo)簽節(jié)點(diǎn)的閱讀器ID和掩碼。
步驟3:輸出列表。
圖1 閱讀器范圍過濾算法流程圖
(2)標(biāo)簽范圍過濾方法
標(biāo)簽范圍過濾方法與閱讀器范圍過濾大致相同,不過需要注意的是:用戶輸入的標(biāo)簽ID可以是一個(gè),也可以是一組。當(dāng)是一組掩碼時(shí),只要滿足任何一個(gè)ID的標(biāo)簽,都算是滿足要求的標(biāo)簽。另外,EPC過濾器比較的是標(biāo)簽節(jié)點(diǎn)中的標(biāo)簽ID,閱讀器過濾器中比較的是標(biāo)簽節(jié)點(diǎn)中的閱讀器的ID。
(3)標(biāo)簽冗余過濾方法
該過濾規(guī)則維護(hù)兩張表格:表一(如表1)和表二(如表2)。閱讀器讀取一次標(biāo)簽數(shù)據(jù),將數(shù)據(jù)存入表一,表一的第二項(xiàng)表示該標(biāo)簽在此次掃描中是否出現(xiàn)。過濾方法開始工作時(shí),清空表格一,當(dāng)標(biāo)簽被閱讀器讀取時(shí),存入表格一,并將表一的第二項(xiàng)置為1,把數(shù)據(jù)存入到表二,拋上跳事件。在下一個(gè)閱讀器讀取周期中,將標(biāo)簽數(shù)據(jù)和表一進(jìn)行比較,如果表一中的標(biāo)簽數(shù)據(jù)又被閱讀器掃描到,則將該標(biāo)簽在表一中的第二項(xiàng)置1;如果是表格中沒有,而被掃描到的數(shù)據(jù),認(rèn)為是新出現(xiàn)的標(biāo)簽數(shù)據(jù),則加入該項(xiàng),并置1,那么向表二拋出一個(gè)上跳事件。如果表一中的標(biāo)簽數(shù)據(jù)在這次讀取中沒有出現(xiàn),則將表一的第二項(xiàng)置0。
定時(shí)輪詢一次表一,如果該第二項(xiàng)為0,那么說(shuō)明在前一秒該標(biāo)簽沒出現(xiàn),則認(rèn)為發(fā)生了一次下跳,那么把該表項(xiàng)清除,向后面的表二拋出下跳事件。在該次輪詢中,把所有的1設(shè)置為0。
表2中的第二項(xiàng)用來(lái)表示標(biāo)簽數(shù)據(jù)的狀態(tài),上跳表示該標(biāo)簽數(shù)據(jù)進(jìn)入讀寫器范圍,下跳表示標(biāo)簽離開讀寫器范圍。第三項(xiàng)用計(jì)數(shù)器來(lái)表示標(biāo)簽的狀態(tài)和在讀寫器范圍內(nèi)停留的時(shí)間,依此來(lái)判斷當(dāng)前數(shù)據(jù)是否為需要被清除的冗余數(shù)據(jù)或偶爾出現(xiàn)的數(shù)據(jù)。
表1 標(biāo)簽的狀態(tài)
表2 標(biāo)簽的模式
(4)標(biāo)簽事件過濾方法
標(biāo)簽事件過濾方法與標(biāo)簽冗余過濾方法大致一樣,不同的是在表二中根據(jù)事件類型和計(jì)數(shù)值來(lái)判定標(biāo)簽的模式,進(jìn)而確定標(biāo)簽的類型的方法。需要說(shuō)明的是,離開模式和消失的標(biāo)簽相對(duì)應(yīng);加入模式和新出現(xiàn)的標(biāo)簽相對(duì)應(yīng);停留模式與通過模式和通過的數(shù)據(jù)標(biāo)簽相對(duì)應(yīng),區(qū)別是經(jīng)過閱讀器覆蓋范圍的時(shí)間不同。至于當(dāng)前標(biāo)簽,就是此時(shí)刻表一中的所有標(biāo)簽數(shù)據(jù)。
3.2數(shù)據(jù)過濾模塊設(shè)計(jì)
數(shù)據(jù)過濾模塊的由三部分組成。
(1)數(shù)據(jù)處理線程:每個(gè)邏輯讀寫器都有自己的數(shù)據(jù)處理線程。它把從自己代表的讀寫器接收到的數(shù)據(jù)分析成系統(tǒng)中統(tǒng)一的格式,調(diào)用在創(chuàng)建讀寫器時(shí)候設(shè)定的過濾方法,對(duì)標(biāo)簽進(jìn)行邏輯過濾。標(biāo)簽會(huì)被保存到本地?cái)?shù)據(jù)庫(kù)。該線程是每個(gè)邏輯讀寫器私有的線程。每個(gè)邏輯讀寫器都有這么一個(gè)線程,用來(lái)處理來(lái)自該邏輯讀寫器的標(biāo)簽數(shù)據(jù)。該線程主要完成下面三項(xiàng)工作:
讀寫器初始化工作:由于每個(gè)讀寫器可能都需要一個(gè)初始化過程,而該線程是每個(gè)讀寫器的私有線程,因此該線程最適合對(duì)各個(gè)讀寫器進(jìn)行初始化工作。在這個(gè)線程的開始處,會(huì)調(diào)用讀寫器預(yù)先設(shè)定的讀寫器初始化函數(shù)對(duì)讀寫器進(jìn)行初始化工作。
讀寫器標(biāo)簽解析工作:由于各種讀寫器的標(biāo)簽信息可能格式各不相同,需要把標(biāo)簽解析成系統(tǒng)中統(tǒng)一的格式。這是通過創(chuàng)建讀寫器時(shí)候預(yù)設(shè)的函數(shù)來(lái)完成,例如對(duì)于alien讀寫器,這個(gè)函數(shù)就是alien_data_parse函數(shù)。
讀寫器標(biāo)簽過濾工作:數(shù)據(jù)處理線程通過調(diào)用預(yù)設(shè)的數(shù)據(jù)過濾函數(shù)來(lái)完成數(shù)據(jù)過濾工作。
(2)過濾方法:每個(gè)邏輯讀寫器在創(chuàng)建的時(shí)候都可以預(yù)設(shè)自己需要的過濾方法。過濾方法由數(shù)據(jù)處理線程調(diào)用。在數(shù)據(jù)過濾方法中,每個(gè)讀寫器可以使用特殊的過濾邏輯,而不干擾其他讀寫器的過濾行為。
(3)數(shù)據(jù)庫(kù)刷寫線程:該線程的地位比較特殊。它既需要在數(shù)據(jù)庫(kù)模塊中把標(biāo)簽信息寫入到本地的數(shù)據(jù)庫(kù)中,又需要在數(shù)據(jù)庫(kù)操作中完成對(duì)標(biāo)簽數(shù)據(jù)狀態(tài)的判斷工作。該線程最后生成的標(biāo)簽狀態(tài)變化信息,就是最后完成一系列過濾以后,最后上報(bào)的數(shù)據(jù)。
通過對(duì)基于閱讀器范圍、標(biāo)簽范圍、標(biāo)簽冗余和標(biāo)簽事件四類數(shù)據(jù)過濾算法以及數(shù)據(jù)過濾模塊的設(shè)計(jì),提出了一種基于數(shù)據(jù)過濾的RFID中間件研發(fā)思路。本文提出了一種基于數(shù)據(jù)過濾的RFID中間件,通過采用閱讀器范圍過濾、標(biāo)簽范圍過濾、標(biāo)簽冗余過濾、標(biāo)簽事件過濾四種過濾方法,使得數(shù)據(jù)過濾的邏輯更為靈活,解決了不同類型RFID產(chǎn)品之間數(shù)據(jù)整合和冗余性問題。
[1]李滿意,劉培國(guó).萬(wàn)物互聯(lián)時(shí)代RFID應(yīng)用與安全并重——訪國(guó)防科技大學(xué)劉培國(guó)教授[J].保密科學(xué)技術(shù),2016(2).
[2]Ma J,Sheng Q Z,Xie D,et al.Efficiently Managing Uncertain Data in RFID Sensor Networks[J].World Wide Web-Internet&Web Information Systems,2015,18(4):819-844.
[3]摩托羅拉公司.RFID加速美國(guó)服裝零售店的庫(kù)存周轉(zhuǎn)[J].信息與電腦,2009(5):30-31.
[4]鄧海生,李軍懷.基于SOA的RFID中間件的研究與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2007,33(10):131-134.
[5]吳孟佳.一種新的RFID互相認(rèn)證機(jī)制符合EPC Class 1 Generation 2標(biāo)準(zhǔn)[J].亞洲大學(xué)光電與通訊學(xué)系學(xué)位論文,2011.
[6]賀彩玲,張翠花.RFID國(guó)內(nèi)外發(fā)展現(xiàn)狀與趨勢(shì)探究[J].電子測(cè)試,2013(8):217-218.
A Kind of RFID Middleware Based on Data Filtering
CAI Ying-xei,HU Hui,CHEN Jia,CHEN Jun,HU Song,CAI Zhao-quan
(Huizhou University,Huizhou 516007)
In a wide variety of IC card today,radio frequency identification(RFID)technology has been used in identity cards,card,and logistics management.However,due to RFID-based product range and are not compatible,so that the data of the RFID products in different applications in different areas difficult to communicate a common,real-time acquisition of RFID redundant and reliable problem may also occur.Proposes a data filtering method based on the RFID middleware,effectively solves the data integration between different types of RFID products and redundancy problem.
RFID;Data Filtering;Data Redundancy
廣東省教科規(guī)劃項(xiàng)目(No.11JXZ012,14JXN065)、廣東省自然科學(xué)基金項(xiàng)目(No.S2013010013432、No.S2013010015940)、廣東省教育廳項(xiàng)目(No.2013LYM00874)、廣東省高校優(yōu)秀青年創(chuàng)新人才培養(yǎng)計(jì)劃資助項(xiàng)目(No.2013LYM_0087)、惠州市科技計(jì)劃項(xiàng)目(No.2013B020015008、No.2014B020004026、No.2014B050013016、No.2014B020004023)、肇慶市科技計(jì)劃目(No.2015B010902009)
1007-1423(2016)26-0077-04DOI:10.3969/j.issn.1007-1423.2016.26.019
蔡映雪(1983-),女,廣東陸豐人,本科,學(xué)士,研究方向?yàn)橛?jì)算機(jī)軟件
2016-07-05
2016-09-10