RFID中間件數(shù)據(jù)的過濾方法的研究和分析
上層服務接口將經(jīng)過過濾和組裝的RFID數(shù)據(jù)向上層應用軟件發(fā)送,以實現(xiàn)更為豐富和貼近現(xiàn)實的功能。
2. 1 現(xiàn)有數(shù)據(jù)過濾方法及問題分析
從硬件上報的原始RFID數(shù)據(jù)量非常巨大,根據(jù)具體的配置不同,每臺讀寫器每秒可以上報數(shù)個至數(shù)十個不等的標簽數(shù)據(jù),但其中只有少部分是對用戶有意義的、非重復性的數(shù)據(jù),這樣大量的數(shù)據(jù)如果不經(jīng)過去冗等處理而直接上傳,將會給整個RFID系統(tǒng)帶來很大的負擔。 所以,對RFID數(shù)據(jù)過濾方法的研究在近幾年一直是個熱點。
現(xiàn)有過濾方法主要可以分為如下幾類:
1) 建立事件列表類. 對每一個新到標簽數(shù)據(jù)進行檢測,如果是新標簽加入相應列表中,且該標簽在列表中已存在,則僅更新對應標簽的時間等狀態(tài)數(shù)據(jù),而不新建標簽數(shù)據(jù)記錄,以達到去除重復信息的作用。
2) 事件編碼類. 對標簽狀態(tài)的改變進行編碼,標簽出現(xiàn)編碼為0,標簽消失編碼為1. 然后加入計時器機制,對計時器有效時間內(nèi)的同一標簽的狀態(tài)跳變進行忽略,從而在狀態(tài)定義和時間維度2個方面對數(shù)據(jù)進行了去重化。
這些算法均能夠很好地消除冗余數(shù)據(jù),減少了上層系統(tǒng)的負荷,有著較好的過濾效果. 但在實際應用中,除了RFID數(shù)據(jù)的去冗化以外,對數(shù)據(jù)的過濾還有著其他的需求. 比如,由于信號不穩(wěn)定或其他干擾因素,貨架上物品的RFID標簽并不能在每一個讀寫器周期中被檢測到;或者當顧客推著小推車從貨架旁走過時,其推車內(nèi)已選購的商品被貨架內(nèi)的讀寫器誤讀到。本文中將類似的無效RFID數(shù)據(jù)稱為RFID噪點。
在上述幾類過濾算法設計中, RFID噪點顯然不是一個被考慮到的因素,只要出現(xiàn)了RFID 標簽,哪怕只是誤讀到一次,也會被作為一個事件數(shù)據(jù)進行上傳。如果上層業(yè)務規(guī)則過濾模塊沒有對這些噪點數(shù)據(jù)進行處理,則會產(chǎn)生一些莫須有的事件記錄,對整個系統(tǒng)的數(shù)據(jù)管理造成很大麻煩,但上層業(yè)務規(guī)則過濾模塊對噪點的發(fā)現(xiàn)和抑制顯然是一件很難的事情,因為數(shù)據(jù)采集細節(jié)已經(jīng)被RFID數(shù)據(jù)過濾模塊完全屏蔽掉了,對噪點的發(fā)現(xiàn)失去了最基本的依據(jù)。
2. 2 帶噪點抑制功能的RFID數(shù)據(jù)過濾方法設計
RFID標簽數(shù)據(jù)由讀寫器在每個報告周期reportcycle進行上報,在經(jīng)歷多個報告周期之后,一個典型的RFID讀寫器上報數(shù)據(jù)如圖2所示。
將在報告周期中出現(xiàn)的RF ID標簽編碼為1,未出現(xiàn)的編碼為0,則對每一個標簽,其事件可以記錄為一個01序列串. 對圖2而言: tag1可編碼為0001111000,表示標簽通過了讀寫器范圍; tag2可編碼為1111100000,表示標簽離開了讀寫器范圍;tag3可編碼為0000001111,表示標簽進入并停留在讀寫器范圍中. 對tag4和tag5而言,它們出現(xiàn)了噪點數(shù)據(jù), tag4也許不應該出現(xiàn)在讀寫器范圍內(nèi),而tag5根本就沒有離開。根據(jù)實際情況, RF ID噪點可分為1噪點和0噪點2類,前者表示非讀寫器范圍內(nèi)的標簽被偶爾讀到,如tag4;后者表示處于讀寫器范圍內(nèi)的標簽偶爾沒有被讀到,如tag5. 按照傳統(tǒng)的過濾算法, tag5 將產(chǎn)生一個通過事件,tag4將產(chǎn)生2個離開事件和2個進入事件。
評論