專利名稱::無線射頻識別系統(tǒng)中高效的標(biāo)簽計數(shù)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及無線射頻識別系統(tǒng)中的標(biāo)簽數(shù)量計算,屬于無線射頻識別技術(shù)、普適計算及無線通信領(lǐng)域。
背景技術(shù):
:無線射頻識別(RadioFrequencyIdentification,RFID)技術(shù)是一種非接觸式的自動識別技術(shù)。標(biāo)準(zhǔn)的RFID系統(tǒng)主要由標(biāo)簽(Tag)和讀寫器(Reader)組成,在實際應(yīng)用中還需要其他軟硬件的支持。RFID標(biāo)簽通常由相關(guān)物品、人或動物所攜帶。讀寫器通過發(fā)送無線射頻信號來請求獲取標(biāo)簽中存儲的數(shù)據(jù);標(biāo)簽收到此類信號之后,憑借感應(yīng)電流所獲得的能量發(fā)送存儲在標(biāo)簽芯片中的產(chǎn)品信息給讀寫器,或者依靠電源主動發(fā)送信號給讀寫器。每個RFID的標(biāo)簽都擁有一個身份號碼(ID)和其他一些數(shù)據(jù),標(biāo)簽中的數(shù)據(jù)可對攜帶其的物品、人或動物提供身份識別。RFID標(biāo)簽由于其簡易的制作工藝和便宜的造價,可以使用于包含有海量的移動物體的環(huán)境中。隨著技術(shù)的發(fā)展,RFID系統(tǒng)被廣泛應(yīng)用于智能空間和普適計算環(huán)境中,如供應(yīng)鏈管理、工業(yè)制造業(yè)、運輸業(yè)、人員管理以及安全管理等方面。在此類應(yīng)用中,計算某個區(qū)域內(nèi)的標(biāo)簽總數(shù)量對于RFID系統(tǒng)是一個極為重要的任務(wù)。例如在一個智能化室內(nèi)體育館中,觀眾都穿著附有RFID標(biāo)簽的T恤衫,RFID系統(tǒng)通過掌握觀眾的數(shù)量來達到某些人流控制或者安全方面的目的。RFID系統(tǒng)在通信中遇到的最大問題在于如果讀寫器發(fā)出請求答復(fù)信號后,在同一時間收到多個標(biāo)簽對讀寫器迸行答復(fù),此時讀寫器便無法辨認出這些標(biāo)簽的信息,亦不可計算出標(biāo)簽的數(shù)量。該情況被稱之為標(biāo)簽信號沖突(TagCollision)。因此,單純地使用"讀寫器發(fā)送請求-收到標(biāo)簽答復(fù)"這一過程來計算標(biāo)簽數(shù)量是不可行的。在過去的研究中,研究者提出過兩類解決標(biāo)簽信號沖突的方法,分別是1.AL0HA式?jīng)_突避免,和2.樹型沖突避免。但是該兩類方法需要相當(dāng)長的處理時間才能正確地計算出標(biāo)簽的數(shù)量。例如要識別3000個標(biāo)簽,兩類方法需要的時間都在20分鐘以上。它們對于很多應(yīng)用場景來說是不適用的,尤其是對于統(tǒng)計移動的物體——因為移動物體很有可能在這段時間內(nèi)離開了被統(tǒng)計的區(qū)域,從而造成了結(jié)果的不準(zhǔn)確。
發(fā)明內(nèi)容技術(shù)問題本發(fā)明針對現(xiàn)有的無線射頻識別系統(tǒng)計算標(biāo)簽數(shù)量需要過久的處理時間、且能量使用上也較低效的問題,提出一種在無線射頻識別系統(tǒng)中高效的計算標(biāo)簽數(shù)量的方法,使得無線射頻識別系統(tǒng)能在消耗極短的時間和極少的能量的基礎(chǔ)上,計算指定區(qū)域內(nèi)的標(biāo)簽數(shù)量,并能夠適用于多種應(yīng)用場景。技術(shù)方案本發(fā)明提出一種高效的計算標(biāo)簽數(shù)量的方法。該方法主要分為兩個步驟第一步驟是快速估算標(biāo)簽數(shù)量;第二步驟是精確計數(shù)。實際應(yīng)用中,如果不要求結(jié)果一定是精確的,RFID系統(tǒng)可以只采用第一步驟,從而在極短的時間內(nèi)獲得一個估算的標(biāo)簽數(shù)量結(jié)果。若系統(tǒng)要求結(jié)果必須是十分精確的,則在進行第一步驟結(jié)束后,再進行第二步驟的計算。精確計數(shù)和估算相比會消耗更多的時間和能量,但是和現(xiàn)有的計數(shù)技術(shù)相比,效率已得到大幅度的提高??焖俟浪?LoF)的詳細過程我們假設(shè)在被統(tǒng)計的區(qū)域內(nèi)有且僅有一個RFID讀寫器,且該讀寫器的通信范圍可以覆蓋整個區(qū)域。已知每個RFID的標(biāo)簽都擁有一個身份號碼(ID),且ID為Z位的一個二進制數(shù)。因此,標(biāo)簽的總數(shù)量不可能多于/2=2A個。首先,RFID讀寫器廣播請求信號。并開始監(jiān)聽標(biāo)簽的答復(fù)。監(jiān)聽的方法為使用ALOHA時間幀一個ALOHA時間幀包含Z個時間格(標(biāo)序為1,2,…,丄),時間格的時間長短是固定的(如O.l秒)。標(biāo)簽收到請求以后,需要選擇Z個時間格中的一個,并在這一時間進行答復(fù)。如在某一時間格中,讀寫器僅收到一個標(biāo)簽的答復(fù),則讀寫器能識別出標(biāo)簽發(fā)送的信息;若讀寫器在一格時間內(nèi)收到了多個標(biāo)簽發(fā)回的消息,標(biāo)簽沖突就會發(fā)生,而讀寫器識別不出任何消息,僅能知道發(fā)生了沖突。在本發(fā)明中,RFID標(biāo)簽采用如下的方法來選擇時間格答復(fù)每個標(biāo)簽都使用同一個幾何分布散列函數(shù)從幾何分布散列函數(shù)的性質(zhì)為若全局有2i個不同的身份號,則有2^—'個會被映射到第1個時間格;有2Z—2個會被映射到第2個時間格;;有2"個會被映射到第t個時間格。假設(shè)某標(biāo)簽的ID是i,且則該標(biāo)簽選擇在第t個時間格答復(fù)讀寫器。如圖l所示。于是讀寫器創(chuàng)建一個長為L的比特表,并在接下的AL0HA幀內(nèi)監(jiān)聽標(biāo)簽的答復(fù)。若某時間格無標(biāo)簽答復(fù),則將比特表中對應(yīng)的比特位置為O;若有l(wèi)個答復(fù)或發(fā)生沖突,則將對應(yīng)比特位置為1。監(jiān)聽結(jié)束后,讀寫器(或與其相連的主機)找到值為1的最高的比特位,假定其為第W位。標(biāo)簽的總數(shù)量即可用如下的公式來估算標(biāo)簽的總數(shù)量的估計值為S=1.2897x2"—1^即為標(biāo)簽數(shù)量的估計值。其理論基礎(chǔ)可參見[C.Qian,H-L.Ngan,Y.Liu,"CardinalityEstimationforLarge-scaleRFIDSystems",inproceedingofIEEEPerCom,2008.]。算法。值得注意的是此種估計方法存在不小的誤差。若不繼續(xù)進行下一步精確計數(shù)而只需要一個在一定誤差范圍內(nèi)的估計值,本發(fā)明可采用多次重復(fù)估計的方法可以顯著減小誤差即將以上的過程重復(fù)實行/7次,每次均采用不同的散列函數(shù)。以歷次的均值作為最后的估算值,誤差將減小歷1/2倍。若重復(fù)32次,則僅有15°/。的誤差。本發(fā)明的估計方法與現(xiàn)有的估計方法相比,計算時間減少至原來的10%左右。精確計數(shù)(PAC)的詳細過程本發(fā)明中,精確計數(shù)(PAC,PreciseandAnonymousCounting)有兩部分組成,分別是多維分裂和計數(shù)。多維分裂是一個分治(divide-and-conquer)過程。在上一步的估計中,讀寫器和主機不僅得到了一個標(biāo)簽數(shù)量的估計結(jié)果,還將該區(qū)域內(nèi)的標(biāo)簽總集合分割成了若干子集合。如在第1個時間格中答復(fù)讀寫器的標(biāo)簽組成了子集合S1;第t個時間格中答復(fù)讀寫器的標(biāo)簽組成了子集合St。主機亦可由如下的關(guān)系式估算出各子集合所包含的標(biāo)簽數(shù)子集合約包含有&=1.2897x2"個標(biāo)簽。若A大于一個閾值(我們在此定該閾值為乙即標(biāo)簽身份號的位數(shù)),則子集合Si需要再次進行分裂。用類似于快速估算的方法讀寫器發(fā)出請求信號,讓在第一次快速估算中答復(fù)第i個時間格的所有標(biāo)簽在下一次的ALOHA幀中選擇一個時間格答復(fù)。其余標(biāo)簽在下一次ALOHA幀中保持沉默。于是Si繼續(xù)被分裂成若干個更小的子集合。該次分裂被稱之為二維分裂。若依舊存在大于L的子集合,則繼續(xù)進行三維分裂、四維分裂……直到不存在大于L的子集合為止。如圖2所示。若某一子集合的數(shù)量估算值^小于閾值丄,則讀寫器和主機對該子集合中的標(biāo)簽進行精確計數(shù)。進行精確計數(shù)時,讀寫器生成含有^個時間格的ALOHA幀,并要求子集合Si中的標(biāo)簽隨機選擇一個時間格進行答復(fù)。若某時間格中僅有一個標(biāo)簽答復(fù),計數(shù)器自增一;若某時間格發(fā)生了沖突,則采用現(xiàn)有的樹型沖突解決方案。樹型沖突解決方案過程如下若某時間格發(fā)生了沖突,則讀寫器針對該格中的標(biāo)簽繼續(xù)放出兩個時間格,讓沖突的標(biāo)簽在二者中隨機選擇一個答復(fù)。若依舊有沖突,再對每一個沖突格再放出兩個時間格。此過程知道所有的時間格均不沖突為止。最后生成的邏輯結(jié)構(gòu)為一棵樹狀。對于所有僅有一個答復(fù)的時間格,計數(shù)器逐次加一。如圖3所示。最后計數(shù)器將各塊所得的結(jié)果相加,就得到了最終需要的標(biāo)簽數(shù)量結(jié)果。本發(fā)明中,對于標(biāo)簽先進行估算再進行精確計數(shù),相比于直接對全體標(biāo)簽直接進行樹型計數(shù)來說,由于我們預(yù)先掌握了標(biāo)簽數(shù)量的估計信息,因此將大大減少沖突發(fā)生的可能性,從而加快計數(shù)的速度,以及減少消耗的能量。在現(xiàn)有的樹型精確計數(shù)法中,讀寫器要求每個標(biāo)簽都公開其ID,這對于某些應(yīng)用來說,存在著安全隱患,例如攻擊者安裝一個惡意的讀寫器,通過樹型計數(shù)法可以輕松獲得標(biāo)簽ID,進而跟蹤標(biāo)簽攜帶者。并且,處于隱私的考慮,很多標(biāo)簽攜帶者也不想公開其標(biāo)簽的ID。因此匿名的協(xié)議在無線射頻系統(tǒng)中有著更大的應(yīng)用價值。另外,由于生產(chǎn)過程中的失誤,很可能有某些標(biāo)簽擁有與其他標(biāo)簽相同的ID,這種標(biāo)簽被稱為冗余副本。當(dāng)存在冗余副本時,就無法使用傳統(tǒng)的樹型沖突解決方案,因為同樣的ID會持續(xù)造成沖突。為了解決以上的問題,本發(fā)明使用以下的方式保護標(biāo)簽攜帶者的隱私并同標(biāo)簽上除寫有其ID夕卜,還寫有MD5(ID),BF1(MD5(ID)),BF2(MD5(ID))和BF3(MD5(ID))4個數(shù)值。其中MD5(ID)是對ID進行一個MD5散列函數(shù)映射之后的結(jié)果;BF1(MD5(ID)),BF2(MD5咖)和BF3(MD5(ID))是對MD5(ID)再進行三個Bloom過濾器(BloomFilter)的映射結(jié)果。在精確計數(shù)過程中,標(biāo)簽向讀寫器發(fā)回自己的三個BloomFilter映射值,而不是自己的ID。如果讀寫器發(fā)現(xiàn)某幾個標(biāo)簽的三個BloomFilter映射值完全相同,則會懷疑這些標(biāo)簽之中有冗余副本,并要求它們報告各自的MD5(ID)值。如果MD5(ID)值依舊相同,則判定這些標(biāo)簽之中有冗余副本。在整個過程中,標(biāo)簽并沒有透露自己的ID值,因此PAC精確計數(shù)法是一種匿名的計數(shù)方法。需要說明的是,本發(fā)明的實現(xiàn)需要對標(biāo)簽進行硬件上的改造,如在標(biāo)簽中寫入散列函數(shù)等。因此用現(xiàn)有的標(biāo)簽無法實現(xiàn)本發(fā)明的計數(shù)方法,需要在生產(chǎn)標(biāo)簽過程中進行特殊的制造。有益效果本發(fā)明提出的無線射頻識別系統(tǒng)中的標(biāo)簽計數(shù)方法,與已有的計算標(biāo)簽數(shù)量的方法相比,具有以下優(yōu)點*處理時間短。我們將現(xiàn)有的UPE標(biāo)簽估算方法和L0F估算法進行比較;并將現(xiàn)有的樹型精確計數(shù)法與PAC精確計數(shù)法相比較。經(jīng)過理論上的分析和仿真測試,若標(biāo)簽的ID為16位,處理時間可減少為原來的50%。若標(biāo)簽的ID為64位,處理時間可減少為原來的18.75%。節(jié)約能耗。我們將現(xiàn)有的樹型精確計數(shù)法與PAC精確計數(shù)法相比較。經(jīng)過理論上的分析和仿真測試,若被計數(shù)的標(biāo)簽數(shù)有l(wèi),000個,處理時間可減少為原來的30%。若被計數(shù)的標(biāo)簽數(shù)有10,000個,處理時間可減少為原來的10%左右。*PAC精確計數(shù)法是一種匿名的計數(shù)方法,在RFID系統(tǒng)中有著更大的應(yīng)用價值。參PAC精確計數(shù)法可以檢測冗余副本的存在。圖l是快速估算的過程示意圖。圖2是精確計數(shù)中多維分裂過程示意圖。圖3是精確計數(shù)中樹型沖突解決方案過程示意圖。具體實施方式在協(xié)議的實際運行中,快速估算的過程以圖1為例,首先,RFID讀寫器廣播請求信號。并開始監(jiān)聽標(biāo)簽的答復(fù)。監(jiān)聽的AL0HA時間幀包含7個時間格。標(biāo)簽收到請求以后,采用如下的方法來選擇時間格答復(fù)每個標(biāo)簽都使用同一個幾何分布散列函數(shù)仗^的性質(zhì)為若全局有2^個不同的身份號,則有2"個會被映射到第l個時間格;有2^2個會被映射到第2個時間格;…;有2£—1個會被映射到第t個時間格。假設(shè)某標(biāo)簽的ID是力且W(力二t,則該標(biāo)簽選擇在第t個時間格答復(fù)讀寫器。監(jiān)聽結(jié)束后,讀寫器(或與其相連的主機)找到值為1的最高的比特位,即第4位。標(biāo)簽的總數(shù)量即可用如下的公式來估算"1.2897x2"=1.2897x8=10.3176這種快速估算的方法只需要7個時間格,且結(jié)果頗為理想。多維分裂如圖2所示,是一個分治(divide-and-conquer)過程。通過快速估計,讀寫器和主機不僅得到了一個標(biāo)簽數(shù)量的估計結(jié)果,還將該區(qū)域內(nèi)的標(biāo)簽總集合分割成了若干的子集合。如時間格0,1,2都包含有多余一個標(biāo)簽的集合。主機可由如下的關(guān)系式估算出各子集合所包含的標(biāo)簽數(shù)A=1.2897x2"-'個標(biāo)簽。若S大于閾值丄(如時間格0),則子集合Si需要再次進行分裂。再采用類似于快速估算的方法,該次分裂被稱之為二維分裂。若某一子集合的數(shù)量估算值A(chǔ)小于閾值丄(如時間格l,2),則讀寫器和主機對該子集合中的標(biāo)簽進行精確計數(shù)。如圖3所示,進行精確計數(shù)時,讀寫器生成含有^(圖中為4)個時間格的ALOHA幀,并要求子集合Si中的標(biāo)簽隨機選擇一個時間格進行答復(fù)。若某時間格中僅有一個標(biāo)簽答復(fù),計數(shù)器自增一;若某時間格發(fā)生了沖突,則采用樹型沖突解決方案(如圖中的最右一格)。表格1提供了多維分裂方法的類C語言偽代碼。表格2提供了精確計數(shù)的類C語言偽代碼。ALOGRITHiM:感plitti一)ALOGRITHM:KdSi逾tin柳INPUT—PROCEDUREfhetagsetSwhileTRUEprocedum:iftlaereisaprobeme歸gefromabroadcastarequesttotags:readerfoi'z=0fo/-lselectaslot&fi'om〖0,/-1〗iawait一fm.一respomes();geo潔tiicdistdbutioii;endfortrammifamessageintimeslotA;foi'/=0toMendififtiniesolthasasingleiespmiseendwiii!eelseiftimesolt/iscollisionif^豬,Coi"ingfe);elseKdSplitdB*)endifendifcdfor(a》Kd-SpHttingalgoiithinontagsp>)Kd-SplittingalgoritliiBonthereader表格l<table>tableseeoriginaldocumentpage12</column></row><table>表格2最后計數(shù)器將各塊所得的結(jié)果相加,就得到了最終需要的標(biāo)簽數(shù)量結(jié)果。權(quán)利要求1.一種無線射頻識別系統(tǒng)中高效的標(biāo)簽計數(shù)方法,通過以下過程實現(xiàn)第一步驟是快速估算標(biāo)簽數(shù)量,在極短的時間內(nèi)掌握所要求計數(shù)的標(biāo)簽集合的大致規(guī)模。若系統(tǒng)要求計數(shù)結(jié)果必須是十分精確的,則在進行第一步驟結(jié)束后,進行第二步驟精確計數(shù)。全過程的通信都通過“讀寫器發(fā)出請求信號-標(biāo)簽選擇性答復(fù)”這個模式來實現(xiàn)。2.權(quán)利要求1所述的標(biāo)簽計數(shù)方法,其特征在于第一步驟快速估算標(biāo)簽數(shù)量通過讀寫器發(fā)出請求,并設(shè)置AL0HA時間幀,并讓標(biāo)簽選擇AL0HA幀的時間格進行答復(fù)來實現(xiàn)。3.權(quán)利要求2所述的快速估算標(biāo)簽數(shù)方法,其特征在于每個標(biāo)簽都使用同一個幾何分布散列函數(shù)//,根據(jù)散列映射的結(jié)果選擇AL0HA幀的時間格進行答復(fù)。4.權(quán)利要求2所述的快速估算標(biāo)簽數(shù)方法,其特征在于監(jiān)聽結(jié)束后,讀寫器(或與其相連的主機)根據(jù)值為1的最高的比特位R估算標(biāo)簽的總數(shù)量。5.權(quán)利要求2所述的快速估算標(biāo)簽數(shù)方法,其特征在于采用多次重復(fù)估計的方法可以顯著減小誤差即將快速估算的過程重復(fù)實行/Z7次,每次均采用不同的散列函數(shù)。以頂次的均值作為最后的估算值。6.權(quán)利要求1所述的標(biāo)簽計數(shù)方法,其特征在于第一步驟快速估算標(biāo)簽數(shù)量時,讀寫器/主機不僅得到了一個標(biāo)簽數(shù)量的估計結(jié)果,還將該區(qū)域內(nèi)的標(biāo)簽總集合分割成了若干子集合。7.權(quán)利要求1所述的標(biāo)簽計數(shù)方法,其特征在于第一步驟快速估算標(biāo)簽數(shù)量時,主機亦可通過快速估算標(biāo)簽數(shù),估算出各子集合所包含的大致標(biāo)簽數(shù)量。8.權(quán)利要求1所述的標(biāo)簽計數(shù)方法,其特征在于第二步驟精確計數(shù)是一個分治過程。將標(biāo)簽總集合分割成了若干子集合后,分別計算它們的數(shù)量,最終相加得到最終結(jié)果。9.權(quán)利要求8所述的第二步精確計數(shù)方法,其特征在于分割并計算各子集合的數(shù)量后,若某子集合中包含的標(biāo)簽數(shù)大于一個閾值,則該子集合需要再次進行分裂,分裂方法與快速估算類似。該次分裂被稱之為二維分裂。若依舊存在大于閾值的子集合,則繼續(xù)進行三維分裂、四維分裂……直到不存在大于閾值的子集合為止。10.權(quán)利要求8所述的第二步精確計數(shù)方法,其特征在于若某一子集合的數(shù)量估算值小于閾值,則讀寫器和主機對該子集合中的標(biāo)簽進行計數(shù)。11.權(quán)利要求10所述的計數(shù)方法,其特征在于進行計數(shù)時,讀寫器生成含有與該子集合數(shù)量估算值相同個時間格的AL0HA幀,并要求該子集合中的標(biāo)簽隨機選擇一個時間格進行答復(fù)。若某時間格中僅有一個標(biāo)簽答復(fù),計數(shù)器自增一;若某時間格發(fā)生了沖突,則采用現(xiàn)有的樹型沖突解決方案計數(shù)。12.權(quán)利要求11所述的樹型沖突解決方案,其特征在于對于沖突的某時間格,讀寫器針對該格中的標(biāo)簽繼續(xù)放出兩個時間格,讓沖突的標(biāo)簽在二者中隨機選擇一個答復(fù)。若依舊有沖突,再對每一個沖突格再放出兩個時間格。此過程知道所有的時間格均不沖突為止。最后生成的邏輯結(jié)構(gòu)為一棵樹狀。對于所有僅有一個答復(fù)的時間格,計數(shù)器逐次加一。全文摘要本發(fā)明無線射頻識別系統(tǒng)中高效的標(biāo)簽計數(shù)方法是為解決現(xiàn)有無限射頻系統(tǒng)中計算標(biāo)簽數(shù)量效率低下的問題。由于標(biāo)簽信號沖突的存在,使用“讀寫器發(fā)送請求-收到標(biāo)簽答復(fù)”這一過程來計算標(biāo)簽數(shù)量是不可行的。本發(fā)明首先使用名為LoF的快速估算方法掌握需要計算的標(biāo)簽集的大致數(shù)量,然后通過一種名為多維分裂的分治方法將標(biāo)簽集分割為多個子集合(如附圖所示),最后通過PAC精確計數(shù)法分別計算子集合中標(biāo)簽的數(shù)量,并將其相加得到最終結(jié)果。本發(fā)明與已有的計算標(biāo)簽數(shù)量的方法相比具有處理時間短、節(jié)約能耗、保護標(biāo)簽攜帶者隱私等方面的優(yōu)點。文檔編號G06K7/00GK101620661SQ20081002920公開日2010年1月6日申請日期2008年7月4日優(yōu)先權(quán)日2008年7月4日發(fā)明者倪明選,辰錢申請人:廣州香港科大研究開發(fā)有限公司