RFID中間件數(shù)據(jù)的過(guò)濾方法的研究和分析
首先是為標(biāo)簽構(gòu)建一個(gè)TagEvent類(lèi),該類(lèi)包含的關(guān)鍵參數(shù)和方法為:
public class TagEvent imp lements Runnable{
int value;
boolean detecStauts = false;
int fmax;
int fmin;
public void run ( ) {
while ( value > 0) {
try{
Thread. currentThread ( ). sleep (1000) ;
} catch ( Interrup tedExcep tion e) { }
if ( value > = fmax! detecStauts) {
(觸發(fā)標(biāo)簽出現(xiàn)記錄)
detecStauts = true;
}
else if ( value = fmindetecStauts) {
(觸發(fā)標(biāo)簽消失記錄)
detecStauts = false;
}
value - - ;
} }
當(dāng)過(guò)濾模塊主程序檢測(cè)到一個(gè)新標(biāo)簽的時(shí)候,便為其建立一個(gè)Tag Event類(lèi)的對(duì)象new Tag,并對(duì)各個(gè)關(guān)鍵字段賦初值,同時(shí)啟動(dòng)該對(duì)象內(nèi)部的計(jì)時(shí)器線(xiàn)程:
new Thread ( newTag). start ( ) ;該計(jì)時(shí)器線(xiàn)程的作用是每個(gè)報(bào)告周期對(duì)標(biāo)簽權(quán)值value進(jìn)行檢查并觸發(fā)相應(yīng)操作. 每次檢查后將標(biāo)簽權(quán)值value減1,以實(shí)現(xiàn)當(dāng)標(biāo)簽未被報(bào)告時(shí)其權(quán)值的逐步下降. 當(dāng)權(quán)值value減到0的時(shí)候,計(jì)時(shí)器線(xiàn)程停止,這時(shí)可以銷(xiāo)毀該對(duì)象。
當(dāng)過(guò)濾算法主模塊發(fā)現(xiàn)報(bào)告的標(biāo)簽已存在時(shí),對(duì)該標(biāo)簽對(duì)象的value值進(jìn)行累加:
newTag. value + = valueStep;
if ( newTag. value > = newTag. fmax) {
newTag. value = newtag. fmax;
}
其中valueStep就是算法中定義的累加權(quán)值. 如果權(quán)值value已經(jīng)達(dá)到閥值fm ax,則將其保持在該值,防止經(jīng)過(guò)多個(gè)上報(bào)周期后標(biāo)簽權(quán)值過(guò)高,影響后繼判斷。
3. 2 實(shí)驗(yàn)驗(yàn)證
在驗(yàn)證的過(guò)程中模擬了2 種應(yīng)用場(chǎng)景: 第1種是帶讀寫(xiě)器的貨架,該場(chǎng)景要求達(dá)到貨架讀寫(xiě)器能穩(wěn)定識(shí)別放入的帶標(biāo)簽物品,不會(huì)因?yàn)樾盘?hào)波動(dòng)而誤報(bào)貨品離開(kāi)信息,并對(duì)經(jīng)過(guò)貨架的其他物品保持較低的敏感度;第2種是門(mén)禁系統(tǒng),要求對(duì)出現(xiàn)在讀寫(xiě)范圍內(nèi)的標(biāo)簽立刻做出反應(yīng),但在一定時(shí)間內(nèi)不能重復(fù)上報(bào)同一個(gè)標(biāo)簽。
在第1種貨架系統(tǒng)場(chǎng)景中,設(shè)置valueS tep = 3,fapp = 10, fdisp = 0,當(dāng)標(biāo)簽進(jìn)入讀寫(xiě)器范圍后,經(jīng)過(guò)5 s左右的時(shí)間過(guò)濾模塊觸發(fā)標(biāo)簽出現(xiàn)操作,人為將標(biāo)簽多次短時(shí)間移出讀寫(xiě)器范圍,模擬信號(hào)干擾和波動(dòng)的情況,并將另一標(biāo)簽從讀寫(xiě)器范圍內(nèi)移過(guò),讀寫(xiě)器均未觸發(fā)多余的標(biāo)簽出現(xiàn)和消失操作。
在第2 種門(mén)禁系統(tǒng)場(chǎng)景中,設(shè)置valueS tep =10, fapp = 10, fd isp = 0,當(dāng)標(biāo)簽進(jìn)入讀寫(xiě)器范圍內(nèi),過(guò)濾模塊立即觸發(fā)了標(biāo)簽出現(xiàn)操作,當(dāng)標(biāo)簽消失后, 10 s內(nèi)不再重新觸發(fā)。
4 結(jié)束語(yǔ)
本文中通過(guò)對(duì)RFID中間件實(shí)際應(yīng)用場(chǎng)景的分析和現(xiàn)有過(guò)濾算法的研究,設(shè)計(jì)并實(shí)現(xiàn)了一種適用范圍廣,帶有噪點(diǎn)抑制功能的RFID數(shù)據(jù)過(guò)濾算法, 通過(guò)一個(gè)java程序在模擬場(chǎng)景中對(duì)算法進(jìn)行了實(shí)驗(yàn)。結(jié)果表明,該算法具有良好的抑噪和去冗能力,在不同參數(shù)的組合下,可以適應(yīng)各種實(shí)際應(yīng)用需求, 該過(guò)濾算法為更高層的業(yè)務(wù)規(guī)則過(guò)濾模塊奠定了很好的數(shù)據(jù)基礎(chǔ),對(duì)于RFID中間件的設(shè)計(jì)和開(kāi)發(fā)有一定的實(shí)用價(jià)值。
評(píng)論