專利名稱:Rfid設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種針對RFID應(yīng)用中對RFID數(shù)據(jù)清洗的系統(tǒng)及方法,更具體地說是在分布式的RFID設(shè)備網(wǎng)絡(luò)環(huán)境下對RFID數(shù)據(jù)進(jìn)行清洗的技術(shù)、方法及實現(xiàn)。
背景技術(shù):
射頻識別(Radio Frequency Identification ;簡稱RFID)是一種非接觸式自動識別技術(shù)。二十世紀(jì)七十年代到二十世紀(jì)八十年代,美國政府通過Los Alamos科學(xué)實驗室等將RFID技術(shù)大規(guī)模地轉(zhuǎn)為民用,并大量應(yīng)用于動物的跟蹤與管理上。二十世紀(jì)九十年代以來,RFID設(shè)備的體積也越來越小,成本也越來越低,RFID的應(yīng)用擴(kuò)展到了物流、供應(yīng)鏈、 零售業(yè)、食品、醫(yī)藥以及交通運輸?shù)戎T多領(lǐng)域。RFID設(shè)備網(wǎng)絡(luò)與IP網(wǎng)絡(luò)的結(jié)合,將實現(xiàn)全球的“實物互聯(lián)”的物聯(lián)網(wǎng)。由于RFID技術(shù)采用的無線射頻信號極易受外界條件干擾,導(dǎo)致RFID數(shù)據(jù)采集過程中漏讀,多讀,讀臟數(shù)據(jù)現(xiàn)象頻頻發(fā)生,降低了 RFID應(yīng)用中的準(zhǔn)確性。在目前的中間件產(chǎn)品中,如微軟公司的 BizTalk RFID, Sybase 公司的 RFIDAnywhere 2. 1,IBM 的 WebSphere RFID Device Infrastructure,Oracle 公司白勺 OracleSensor Edge Server,BEA 公司白勺 WebLogic RFID產(chǎn)品,以及開源中間件i^osstrak中,對數(shù)據(jù)清洗工作的處理還停留在簡單的過濾,篩選層面,沒有達(dá)到滿足上層應(yīng)用需要的程度。上層應(yīng)用使用較多的還是與業(yè)務(wù)有關(guān)的有意義的數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)的來源就是最原始的標(biāo)簽數(shù)據(jù)。數(shù)據(jù)清洗工作數(shù)據(jù)清洗對上層應(yīng)用來說甚至整個RFID架構(gòu)來說是至關(guān)重要的,它是物理層面與邏輯層面的過度,數(shù)據(jù)清洗將物理環(huán)境的標(biāo)簽準(zhǔn)確映射到邏輯層面的標(biāo)簽ID。原始標(biāo)簽數(shù)據(jù)在獲取的過程中存在著漏讀或者多讀和冗余,上層應(yīng)用是不可能直接使用原始數(shù)據(jù)。因此清洗工作的效果直接影響著業(yè)務(wù)數(shù)據(jù)是否正確、準(zhǔn)確和完整。在國內(nèi),由于RFID技術(shù)進(jìn)入的時間比較短,各方面的工作還不完善,與國際相比還存在比較明顯的差距。在學(xué)術(shù)界,中科院自動化所開發(fā)了 RFID公共服務(wù)體系基礎(chǔ)架構(gòu)軟件和血液、食品、藥品可追溯的管理中間件,華中科技大學(xué)開發(fā)了支持多通信平臺的RFID 產(chǎn)品Smarti,上海交通大學(xué)開發(fā)了面向商業(yè)物流的數(shù)據(jù)管理與集成的RFID平臺,東方勵格公司的LYNK0-ALE RFID軟件架構(gòu)平臺,與國外的RFID平臺一樣,它們也僅僅針對標(biāo)簽數(shù)據(jù)進(jìn)行過濾、分組、計數(shù)、防錯讀和漏讀等,沒有能夠有效的完成數(shù)據(jù)清洗工作。上述的RFID系統(tǒng)在部署,為RFID原始數(shù)據(jù)設(shè)計清洗模式的時候,對窗口大小要深思熟慮。事實上,環(huán)境特點,配置硬件,中間件,這3個因素在部署過程中占去大量的時間和金錢成本。而且,在系統(tǒng)部署的整個生命周期中,外部的環(huán)境和甚至系統(tǒng)本身,沒有一個會一直有效。因此,數(shù)據(jù)清洗系統(tǒng)必須在整個RFID平臺運行期間進(jìn)行多次的改變才可能滿足數(shù)據(jù)清洗精度的要求。
發(fā)明內(nèi)容
本發(fā)明是為了克服現(xiàn)有RFID數(shù)據(jù)清洗技術(shù)存在的缺陷和不足之處,針對RFID數(shù)據(jù)特點,為RFID原始的標(biāo)簽數(shù)據(jù)提供自適應(yīng)的數(shù)據(jù)清洗軟件系統(tǒng)及方法。本系統(tǒng)支持分布式網(wǎng)絡(luò)環(huán)境,局域網(wǎng)和無線局域網(wǎng),能夠根據(jù)識讀器讀取標(biāo)簽數(shù)據(jù)的數(shù)量,自動調(diào)節(jié)清洗策略。本發(fā)明的RFID數(shù)據(jù)清洗系統(tǒng)和方法是在地域分布部署的RFID讀寫設(shè)備、攜帶 RFID標(biāo)簽的移動目標(biāo)和固定網(wǎng)絡(luò)所構(gòu)成的RFID網(wǎng)絡(luò)的基礎(chǔ)之上,由運行在服務(wù)器上的全局清洗程序、運行在遠(yuǎn)端客戶機上局部清洗程序及其RFID原始數(shù)據(jù)流所組成的一種 Master/Worker模式的分布式RFID數(shù)據(jù)清洗方案。一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng),其特征在于包括服務(wù)器端和客戶端;所述服務(wù)器端包括服務(wù)器端用戶輸入管理單元,用于提供系統(tǒng)初始化時的參數(shù)數(shù)據(jù),即服務(wù)器端的 IP、DNS、端口、讀取時間片和完全讀取的置信概率;服務(wù)器端自定義規(guī)則處理單元,為用戶提供的單路過濾、多路校正、多路判決、多路歸并的清洗規(guī)則定義模板,為其定制所需的清洗規(guī)則;提供數(shù)據(jù)清洗規(guī)則的語法解析,即逐個字符掃描用戶自定義清洗規(guī)則的文本,解析其中保留字、語法單位及其關(guān)聯(lián),為每個語法單位及其關(guān)聯(lián)創(chuàng)建相應(yīng)的對象及對象鏈接,最終形成該文本對應(yīng)的AST樹;全局?jǐn)?shù)據(jù)緩沖單元,用于緩沖多個客戶端發(fā)送至服務(wù)器端的數(shù)據(jù);客戶端通信管理單元,用于管理客戶端與服務(wù)器端的通信;全局?jǐn)?shù)據(jù)清洗單元,用于對所有提交到服務(wù)端的數(shù)據(jù)按照用戶自定義的清洗規(guī)則進(jìn)行清洗,具體包括(1)單路過濾以用戶定義的時間窗口對單一數(shù)據(jù)流進(jìn)行過濾,過濾掉重復(fù)的數(shù)據(jù);( 多路校正根據(jù)用戶定義的時間窗口和識讀器組,對多個數(shù)據(jù)流進(jìn)行校正一刪除與組無關(guān)的數(shù)據(jù),比較同一時間點的多路數(shù)據(jù)為漏讀識讀器填補漏掉的數(shù)據(jù); (3)多路判決根據(jù)用戶定義的時間窗口和識讀器組,比較同一時間點的多路數(shù)據(jù),根據(jù)用戶的要求——把同一數(shù)據(jù)判決給某一識讀器;(4)多路歸并根據(jù)用戶定義的時間窗口和識讀器組,在多路校正的基礎(chǔ)上對多個數(shù)據(jù)流進(jìn)行歸并,把校正后的數(shù)據(jù)合并為該識讀器組的數(shù)據(jù);上層應(yīng)用接口單元,用于將清洗之后的標(biāo)準(zhǔn)格式的數(shù)據(jù)提交給上層應(yīng)用;客戶端包括客戶端系統(tǒng)配置單元,用于用戶對客戶端的IP和端口進(jìn)行配置;客戶端數(shù)據(jù)緩沖單元,用于緩沖RFID識讀器發(fā)送至客戶端的數(shù)據(jù);局部數(shù)據(jù)清洗單元,通過動態(tài)調(diào)整識讀器的時間窗口對客戶端數(shù)據(jù)緩沖單元緩存的數(shù)據(jù)進(jìn)行清洗,即識讀器讀取的時間窗口要跟得上變化,標(biāo)簽移動得快了需要較短的時間窗口,標(biāo)簽移動的很慢就使用較大時間窗口 ;客戶端與服務(wù)器端通信單元,用于將局部數(shù)據(jù)清洗單元清洗后的RFID數(shù)據(jù)發(fā)送到服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元中。所述服務(wù)器端還包括系統(tǒng)監(jiān)視單元,用于提供用戶調(diào)用功能,使用戶能夠隨時觀察到當(dāng)前系統(tǒng)的運行狀況。本發(fā)明所述的數(shù)據(jù)清洗單元能夠根據(jù)系統(tǒng)自身的運行狀況進(jìn)行微調(diào)。在整個RFID 平臺的生命周期內(nèi),清洗系統(tǒng)并不需要人為的干涉,能夠自適應(yīng)的調(diào)整。清洗單元自身根據(jù)當(dāng)前的數(shù)據(jù),進(jìn)行數(shù)據(jù)建模,通過概率模型進(jìn)行分析,調(diào)整清洗策略中的各項參數(shù),包括了滑動窗口大小,數(shù)據(jù)處理的時間片單元大小,允許的數(shù)據(jù)可信度大小等。本發(fā)明所述的數(shù)據(jù)合并單元將多個不同數(shù)據(jù)源的數(shù)據(jù)進(jìn)行規(guī)范,并儲存到系統(tǒng)緩沖區(qū)。一種采用上述RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng)對RFID設(shè)備采集的數(shù)據(jù)進(jìn)行清洗的方法,其特征在于1)對服務(wù)器端的程序進(jìn)行配置,包括了服務(wù)器端通信參數(shù)配置,緩沖區(qū)大小,連接客戶端數(shù);2)啟動服務(wù)器端,包括了啟動緩沖區(qū)的初始化,管理的啟動,接收外部命令的啟動;3)服務(wù)器管理員通過服務(wù)器端用戶輸入管理單元,輸入全局?jǐn)?shù)據(jù)清洗單元運行的定制參數(shù),即服務(wù)器端的IP、DNS、端口,讀取時間片和完全讀取的置信概率,包括了對規(guī)則的解析,對用戶自定義的清洗操作進(jìn)行定義,從提供的單路過濾、多路校正、多路判決、多路歸并清洗模板中選擇其一,設(shè)定具體參數(shù),系統(tǒng)為其生成所定制的清洗規(guī)則,輸入完成后, 系統(tǒng)啟動全局?jǐn)?shù)據(jù)清洗單元,啟動客戶端通信模塊;4)服務(wù)器端啟動結(jié)束,全局?jǐn)?shù)據(jù)清洗單元等待,直到客戶端發(fā)送初次清洗的數(shù)據(jù);5)對客戶端進(jìn)行配置,包括了通信參數(shù)的配置IP和端口,啟動客戶端與服務(wù)器端通信單元,測試是否能夠與服務(wù)器端通信順暢,若通信成功,則進(jìn)行下一步,若不成功則返回給管理員錯誤提示;6)統(tǒng)一服務(wù)器端和客戶端的時鐘,啟動客戶端數(shù)據(jù)緩沖單元,啟動物理識讀器和局部數(shù)據(jù)清洗單元;7)客戶端數(shù)據(jù)緩沖單元獲取到識讀器發(fā)送過來的數(shù)據(jù),將之存儲在緩沖區(qū);此時通知局部數(shù)據(jù)清洗單元進(jìn)行清洗工作;8)客戶端的局部數(shù)據(jù)清洗單元接收到緩沖區(qū)的消息通知時,從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù),客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小,改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量;9)客戶端將初步的清洗結(jié)果通過客戶端與服務(wù)器端通信單元發(fā)送到服務(wù)器端,服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元接收到發(fā)送到的數(shù)據(jù),存儲并通知服務(wù)器端的全局?jǐn)?shù)據(jù)清洗單元,可以進(jìn)行數(shù)據(jù)清洗工作;10)全局?jǐn)?shù)據(jù)清洗單元接收到通知消息,啟動清洗機制,根據(jù)用戶自定義的規(guī)則, 對客戶端發(fā)送來的數(shù)據(jù)流統(tǒng)一清洗,包括單路過濾、多路校正、多路判決、多路歸并的清洗操作;11)清洗之后,將所有的清洗數(shù)據(jù),依據(jù)上層應(yīng)用的數(shù)據(jù)格式,轉(zhuǎn)換為上層應(yīng)用需要的數(shù)據(jù),并發(fā)送過去。局部數(shù)據(jù)清洗單元的清洗方法如下從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù),客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小,改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量戶端局部數(shù)據(jù)清洗單元根據(jù)連續(xù)幾個讀取時間片上的各個標(biāo)簽i的成功讀取次數(shù),為每個標(biāo)簽i分別計算各自的平均讀取概率Pi,根據(jù)平均讀取概率的最大值Pmax和完全讀取的置信概率λ計算新的時間窗口 w,使得w= ln(l+(1-λ))+Pmax ;w與當(dāng)前時間窗口相比,若W大就擴(kuò)大當(dāng)前時間窗口, 若w小就縮小當(dāng)前時間窗口。
客戶端運行期間,系統(tǒng)會根據(jù)服務(wù)器端的時間,定時調(diào)整客戶端的時鐘,使客戶端和服務(wù)器端的時鐘誤差在IOms內(nèi)。服務(wù)器,客戶端運行期間,提供了外部的接口,允許具有一定權(quán)限的人員對系統(tǒng)進(jìn)行監(jiān)視。本發(fā)明具有下述有益效果1)支持分布式環(huán)境。本發(fā)明可以在模擬的分布式環(huán)境(如=VMware)和真實的分布式環(huán)境(局域網(wǎng)和廣域網(wǎng))中進(jìn)行RFID數(shù)據(jù)清洗。本發(fā)明所述的分布式數(shù)據(jù)清洗方法只需要較小的用戶帶寬,而且客戶機的部署也是非常靈活多變,大大降低了對設(shè)備的要求。2)自適應(yīng)的清洗策略調(diào)整。數(shù)據(jù)清洗系統(tǒng)無須在RFID平臺運行期間進(jìn)行改變,系統(tǒng)通過建立的模型,針對實時運行中獲取到的原始數(shù)據(jù),分析計算出自適應(yīng)調(diào)節(jié)參數(shù)的大小,來改變當(dāng)前清洗策略,使之符合模型預(yù)測的下一時間單元的數(shù)據(jù)。3)自定義的用戶清洗操作定義。用戶可以將自定義的數(shù)據(jù)清洗操作提交給系統(tǒng), 系統(tǒng)針對用戶的自定義操作,在數(shù)據(jù)清洗單元工作時候,將這些自定義操作包括在其中。
圖1是本發(fā)明用于RFID數(shù)據(jù)清洗系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明用于RFID數(shù)據(jù)清洗系統(tǒng)的工作流程圖;圖3是本發(fā)明用于RFID數(shù)據(jù)清洗系統(tǒng)的實施裝置流程圖。
具體實施例方式本發(fā)明提供一種用于分布式環(huán)境的RFID數(shù)據(jù)清洗的實施系統(tǒng)。在物理結(jié)構(gòu)上,該系統(tǒng)可以分為4部分后臺服務(wù)器、客戶機(運行局部數(shù)據(jù)清洗單元)、識讀器(獲取原始 RFID數(shù)據(jù))和標(biāo)簽(原始數(shù)據(jù))。主機和客戶機之間可以通過串行電纜、RJ45網(wǎng)口、藍(lán)牙、 USB接口或COM接口等連接,客戶機和識讀器之間也可以采用多種連接方式,最常用的方式是通過COM接口或者有線網(wǎng)線連接,而識讀器和標(biāo)簽之間則是通過無線射頻信號進(jìn)行信息交互。后臺主機負(fù)責(zé)對多個連接的客戶機進(jìn)行管理和監(jiān)控,進(jìn)行全局?jǐn)?shù)據(jù)清洗工作,客戶機運行局部數(shù)據(jù)清洗工作。主機客戶機通過Socket協(xié)議與客戶機進(jìn)行通信。圖1給出了本發(fā)明的結(jié)構(gòu)示意圖,包括服務(wù)器端用戶輸入管理單元101,用于提供系統(tǒng)初始化時的參數(shù)數(shù)據(jù),即服務(wù)器端的IP、DNS、端口、讀取時間片(毫秒)和完全讀取的置信才既率,由ReceiveExpress ion λ CommandParser、CommandExec類組成;月艮務(wù)器端自定義規(guī)則處理單元102,為用戶提供的單路過濾、多路校正、多路判決、多路歸并的清洗規(guī)則定義模板,為其定制所需的清洗規(guī)則;提供數(shù)據(jù)清洗規(guī)則的語法解析,即逐個字符掃描用戶自定義清洗規(guī)則的文本,解析其中保留字、語法單位及其關(guān)聯(lián),為每個語法單位及其關(guān)聯(lián)創(chuàng)建相應(yīng)的對象及對象鏈接,最終形成該文本對應(yīng)的AST樹;由CleanAggregateRulesVisitor, Node, Rules, ParseException, Simp 1 eCharStrearn, SimpleNode, Token, TokenMgrError 等類組成;全局?jǐn)?shù)據(jù)緩沖單元103,用于緩沖多個客戶端發(fā)送至服務(wù)器端的數(shù)據(jù),防止數(shù)據(jù)量過大,數(shù)據(jù)清洗系統(tǒng)無法有效的工作,而導(dǎo)致數(shù)據(jù)丟失,由Cache,CacheManager類組成;客戶端系統(tǒng)配置單元104,用于用戶對客戶端的IP和端口進(jìn)行配置;客戶端數(shù)據(jù)緩沖單元105, 用于緩沖RFID識讀器發(fā)送至客戶端的數(shù)據(jù),防止數(shù)據(jù)丟失,提高清洗系統(tǒng)的吞吐效率,由 Cache, CacheManager類組成;局部數(shù)據(jù)清洗單元106,通過動態(tài)調(diào)整識讀器的時間窗口對客戶端數(shù)據(jù)緩沖單元緩存的數(shù)據(jù)進(jìn)行清洗,即識讀器讀取的時間窗口要跟得上變化,標(biāo)簽移動得快了需要較短的時間窗口,標(biāo)簽移動的很慢就使用較大時間窗口 ;(具體根據(jù)連續(xù)幾個讀取時間片上的各個標(biāo)簽的成功讀取次數(shù),為每個標(biāo)簽分別計算各自的平均讀取概率, 根據(jù)平均讀取概率的最大值和完全讀取的置信概率計算新的時間窗口,實時調(diào)整識讀器的時間窗口),由 ScheduledThread, CompeteParameters,Comuser, Model,CompeteWindow, Dynamic等類組成;客戶端與服務(wù)器端通信單元107,用于將局部數(shù)據(jù)清洗單元清洗后的 RFID數(shù)據(jù)發(fā)送到服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元中,用于完成客戶端與服務(wù)器端的通信,將初步清洗結(jié)果發(fā)送給服務(wù)器端,包括 Request,Response, NotifyExec, NotifySimpleExec, SendMessage, ParserMessage, Service, MessageListener, MessageService 等;客戶端通信管理單元108,用于管理客戶端與服務(wù)器端的通信,包括對客戶端的關(guān)閉等操作,, 由 Manage Client, Request, Response, NotifyExec, NotifySimpleExec, SendMessage, ParserMessage, Service, MessageListener, MessageService 等類組成;全局?jǐn)?shù)據(jù)清洗單元109,用于對所有提交到服務(wù)端的數(shù)據(jù)按照用戶自定義的清洗規(guī)則進(jìn)行清洗,具體包括 (1)單路過濾以用戶定義的時間窗口對單一數(shù)據(jù)流進(jìn)行過濾,過濾掉重復(fù)的數(shù)據(jù);(2)多路校正根據(jù)用戶定義的時間窗口和識讀器組,對多個數(shù)據(jù)流進(jìn)行校正——刪除與組無關(guān)的數(shù)據(jù),比較同一時間點的多路數(shù)據(jù)為漏讀識讀器填補漏掉的數(shù)據(jù);C3)多路判決根據(jù)用戶定義的時間窗口和識讀器組,比較同一時間點的多路數(shù)據(jù),根據(jù)用戶的要求——如“誰讀得多判給誰”——把同一數(shù)據(jù)判決給某一識讀器;(4)多路歸并根據(jù)用戶定義的時間窗口和識讀器組,在多路校正的基礎(chǔ)上對多個數(shù)據(jù)流進(jìn)行歸并,把校正后的數(shù)據(jù)合并為該識讀器組白勺數(shù)據(jù),包括類 ArbitrationTags,ScheduledThread, CompeteParameters, Comuser, Model, Competeffindow, Dynamic等;系統(tǒng)監(jiān)視單元110,用于提供用戶調(diào)用功能,使用戶能夠隨時觀察到當(dāng)前系統(tǒng)的運行狀況,包括了 Exportlnterface,ExportLog, ExportStatus, Exporthformation等外部調(diào)用功能類;上層應(yīng)用接口單元111,用于將清洗之后的標(biāo)準(zhǔn)格式的數(shù)據(jù)提交給上層應(yīng)用;以及定義上層應(yīng)用所需要的數(shù)據(jù)格式,通過用戶定義上層應(yīng)用的數(shù)據(jù)格式,將清洗之后的數(shù)據(jù)格式化為指定格式的數(shù)據(jù)清洗后的標(biāo)準(zhǔn)數(shù)據(jù)格式(標(biāo)簽 ID,識讀器編號,進(jìn)入識讀器時間,離開識讀器時間,由于數(shù)據(jù)格式的轉(zhuǎn)換是非常成熟的技術(shù),并且具體轉(zhuǎn)換成什么樣的應(yīng)用格式也不是本發(fā)明的發(fā)明點,因此此處不做過多說明), 包括了 DataFormat,SendMessagetToUppers 等關(guān)鍵類。其中局部數(shù)據(jù)清洗單元106的清洗方法如下從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù), 客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小,改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量戶端局部數(shù)據(jù)清洗單元根據(jù)連續(xù)幾個讀取時間片上的各個標(biāo)簽i的成功讀取次數(shù),為每個標(biāo)簽i分別計算各自的平均讀取概率Pi,根據(jù)平均讀取概率的最大值Pmax和完全讀取的置信概率λ計算新的時間窗口 w,使得W= 1η(1+(1-λ))+Pmax ;w與當(dāng)前時間窗口相比,若w大就擴(kuò)大當(dāng)前時間窗口,若w小就縮小當(dāng)前時間窗口,已達(dá)到局部數(shù)據(jù)清洗的功能。結(jié)合圖2說明本發(fā)明用于RFID數(shù)據(jù)清洗系統(tǒng)的工作流程。1)對服務(wù)器端的程序進(jìn)行配置,包括了服務(wù)器端通信參數(shù)配置(IP,DNS,端口), 緩沖區(qū)大小,連接客戶端數(shù),(步驟S201);2)系統(tǒng)啟動之后,接收用戶的輸入,啟動基本的模塊,(步驟S202);3)服務(wù)器管理員通過服務(wù)器端用戶輸入管理單元101,輸入全局?jǐn)?shù)據(jù)清洗單元109運行的定制參數(shù),即服務(wù)器端的IP、DNS、端口,讀取時間片(毫秒)和完全讀取的置信概率,包括了對規(guī)則的解析,對用戶自定義的清洗操作進(jìn)行定義,從提供的單路過濾、多路校正、多路判決、多路歸并清洗模板中選擇其一,設(shè)定具體參數(shù),系統(tǒng)為其生成所定制的清洗規(guī)則,輸入完成后,系統(tǒng)啟動全局?jǐn)?shù)據(jù)清洗單元109,啟動客戶端通信模塊服務(wù)器端啟動, 服務(wù)器端啟動結(jié)束,全局?jǐn)?shù)據(jù)清洗單元109等待(步驟S203);4)對客戶端進(jìn)行配置,包括了通信參數(shù)的配置IP和端口,(步驟S204);5)啟動客戶端與服務(wù)器端通信單元107,測試是否能夠與服務(wù)器端通信順暢,若通信成功,則進(jìn)行下一步,若不成功則返回給管理員錯誤提示,(步驟S205);6)統(tǒng)一服務(wù)器端和客戶端的時鐘,誤差在IOms內(nèi),啟動客戶端數(shù)據(jù)緩沖單元105, 啟動物理識讀器和局部數(shù)據(jù)清洗單元106,(步驟S206);7)客戶端數(shù)據(jù)緩沖單元105獲取到識讀器發(fā)送過來的數(shù)據(jù),將之存儲在緩沖區(qū); 此時通知局部數(shù)據(jù)清洗單元進(jìn)行清洗工作,(步驟S207);8)客戶端的局部數(shù)據(jù)清洗單元106接收到緩沖區(qū)的消息通知時,從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù),(步驟S208);9)局部數(shù)據(jù)清洗單元106工作,客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小, 改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量;,識讀器時間窗口的作用類比于拍照——窗口大相當(dāng)于拍得慢, 窗口小相當(dāng)于拍得快。日常經(jīng)驗是拍照得快能抓住景物的瞬間變化(相當(dāng)于小窗口,可避免漏讀、重復(fù)讀),景物長時間不變化就可以慢慢拍,即降低排照的速度和頻度也不丟失變化(相當(dāng)于大窗口,不會漏讀)。因此時間窗口合適就可以達(dá)到數(shù)據(jù)清洗的目的,(步驟 S209);10)客戶端將初步的清洗結(jié)果通過客戶端與服務(wù)器端通信單元107發(fā)送到服務(wù)器端,(步驟S210);11)服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元103接收到發(fā)送到的數(shù)據(jù),存儲并通知服務(wù)器端的全局?jǐn)?shù)據(jù)清洗單元109,可以進(jìn)行數(shù)據(jù)清洗工作,(步驟S211);12)全局?jǐn)?shù)據(jù)清洗單元109接收到通知消息,啟動清洗機制,根據(jù)用戶自定義的規(guī)則,對客戶端發(fā)送來的數(shù)據(jù)流統(tǒng)一清洗,包括單路過濾、多路校正、多路判決、多路歸并的清洗操作,(步驟S212);13)清洗之后,將所有的清洗數(shù)據(jù),依據(jù)上層應(yīng)用的數(shù)據(jù)格式,轉(zhuǎn)換為上層應(yīng)用需要的數(shù)據(jù),并發(fā)送過去(步驟S213);另外,在服務(wù)器,客戶端運行期間,提供了外部的接口,允許具有一定權(quán)限的人員對系統(tǒng)進(jìn)行監(jiān)視,同時也允許修改部分的參數(shù)。圖3給出了本發(fā)明實施裝置的流程圖。該裝置從主體上可以分為客戶端、服務(wù)器端和不同類型識讀器三部分,其中服務(wù)器端運行全局?jǐn)?shù)據(jù)清洗單元程序,客戶機運行局部數(shù)據(jù)清洗單元程序,兩者之間通過網(wǎng)線連接在同一個局域網(wǎng)上,采用TCP/IP協(xié)議或HTTP協(xié)議進(jìn)行通訊。客戶端和識讀器之間采用COM串行端口或者網(wǎng)口等進(jìn)行通訊,識讀器通過無線射頻信號獲取標(biāo)簽數(shù)據(jù),然后通過傳送到客戶機,客戶機初步清洗之后發(fā)送數(shù)據(jù)到服務(wù)器端。為了方便表達(dá),圖3中的判斷條件都簡寫成標(biāo)識符,其中Xl表示“客戶端與服務(wù)器端是否通信成功”,X2表示“客戶端緩沖區(qū)是否有RFID數(shù)據(jù)”,X3表示“服務(wù)器端緩沖區(qū)是否有RFID數(shù)據(jù)”。如圖3所示,本發(fā)明裝置的具體步驟為1)配置服務(wù)器端程序,啟動服務(wù)器端程序,解析用戶自定義全局?jǐn)?shù)據(jù)清洗單元規(guī)則,啟動全局?jǐn)?shù)據(jù)清洗單元,全局緩沖區(qū)啟動之后,客戶端未發(fā)送數(shù)據(jù),服務(wù)器端程序等待;2)配置客戶端程序,啟動客戶端通信模塊,通信協(xié)議可以選擇TCP/IP,也可以選擇HTTP協(xié)議,測試此客戶端是否與服務(wù)器端通信成功(即Xl的值所表示的意義)。若Xl =F,表示通信故障,同時提示用戶出錯;若Xl = T,表示通信成功,繼續(xù)下一步;3)通信成功之后,啟動緩沖區(qū),啟動識讀器和局部數(shù)據(jù)清洗單元;4)程序判斷緩沖區(qū)是否有數(shù)據(jù)(即X2的值所表示的意義)。若X2 = F,表示RFID 識讀器無數(shù)據(jù),局部數(shù)據(jù)清洗單元延遲等待;若X2 = T,緩沖區(qū)通知局部數(shù)據(jù)清洗單元,清洗單元對待處理時間片內(nèi)的數(shù)據(jù)進(jìn)行清洗,并根據(jù)系統(tǒng)建立的模型,計算下一次數(shù)據(jù)清洗的策略;5)將局部數(shù)據(jù)清洗單元處理的數(shù)據(jù)發(fā)送到服務(wù)器端,數(shù)據(jù)存儲在服務(wù)器端的緩沖區(qū)內(nèi)。當(dāng)緩沖區(qū)內(nèi)的數(shù)據(jù)為空的時候,X3的值是F,表示全局?jǐn)?shù)據(jù)清洗器延遲等待;局部清洗器發(fā)送數(shù)據(jù)到全局緩沖區(qū)會將X3的值改變?yōu)門,緩沖區(qū)通知全局清洗器開始工作。6)全局?jǐn)?shù)據(jù)清洗器將清洗之后的數(shù)據(jù)發(fā)送到上層應(yīng)用。[第一實施方式]本發(fā)明的第一優(yōu)選事實例子是以配備RFID系統(tǒng)的超市倉庫商品入庫為例。入庫的商品都貼有RFID標(biāo)簽。由于標(biāo)簽的ID號都是唯一的,因此不會出現(xiàn)沖突,即商品與標(biāo)簽是一一映射的關(guān)系。假定倉庫有A、B號入口,分別安裝了識讀器R1、R2。同時部署了 2個客戶端程序ClientA、ClientB,分別管理R1、R2識讀器。假定此時有商品1、2、3(分別攜帶標(biāo)簽idl,id2,id; )待入庫,商品1、2通過A進(jìn)入倉庫,商品3通過B進(jìn)入倉庫,在進(jìn)入倉庫過程中,識讀器不斷地與標(biāo)簽發(fā)生電磁作用,每個標(biāo)簽ID將不斷地被識讀器所讀取,因此存在著大量的冗余信息;由于入口 A、B的距離小于識讀器Rl、R2的讀取范圍,RU R2有部分重疊的識讀范圍,因此可能產(chǎn)生有沖突的數(shù)據(jù)。本實施方式就以單路過濾和多路判決為例來介紹全局?jǐn)?shù)據(jù)清洗如何進(jìn)行工作。按照本發(fā)明所述的RFID數(shù)據(jù)清洗方法,其檢測步驟如下1)服務(wù)器端程序和客戶端程序ClientA、ClientB按照系統(tǒng)要求啟動成功之后。進(jìn)入商品開始入庫流程,標(biāo)簽經(jīng)過A、B入口,識讀器不間斷的讀取標(biāo)簽數(shù)據(jù),并將讀取的標(biāo)簽數(shù)據(jù)發(fā)送到客戶端的緩沖區(qū),此時客戶端緩沖區(qū)通知局部數(shù)據(jù)清洗單元工作,時間窗口對標(biāo)簽數(shù)據(jù)進(jìn)行初步的過濾。2)ClientA局部數(shù)據(jù)清洗單元根據(jù)系統(tǒng)規(guī)定的時間片處理單元EPOCHl (0.25秒), 從緩沖區(qū)取EPOCHl內(nèi)的數(shù)據(jù),然后通過滑動窗口過濾掉多讀數(shù)據(jù)。假設(shè)在EPOCHl內(nèi),真實的數(shù)據(jù)為ID號為idl,id2的標(biāo)簽,局部數(shù)據(jù)清洗單元處理之前的多數(shù)據(jù)是idl讀數(shù)10次,id2讀數(shù)10次。經(jīng)過局部清洗之后idl讀數(shù)4次,id2讀數(shù)4次。3)局部數(shù)據(jù)清洗單元根據(jù)系統(tǒng)設(shè)計的時間窗口自適應(yīng)模型,得到下一次清洗策略,反饋給系統(tǒng),調(diào)節(jié)下一時間窗口大小。4)局部數(shù)據(jù)清洗單元將初步清洗結(jié)果發(fā)送到服務(wù)器端。服務(wù)器端的緩沖區(qū)存儲數(shù)據(jù),它將通知服務(wù)器端的全局?jǐn)?shù)據(jù)清洗單元開始清洗工作。全局?jǐn)?shù)據(jù)清洗單元根據(jù)用戶自定義的數(shù)據(jù)清洗規(guī)則,對服務(wù)器緩沖區(qū)中的數(shù)據(jù)進(jìn)行清洗。本實施用例按照單路過濾和多路判決對全局?jǐn)?shù)據(jù)進(jìn)行清洗。本實施例中我們假定清洗后的數(shù)據(jù)格式就是一個標(biāo)簽ID序列。于是用戶自定義的單路過濾規(guī)則可以只考慮TagID (即標(biāo)簽ID),規(guī)則具體定義為SELECT distinct TagIDFROM SlRANGE BY' 5 sec'該規(guī)則規(guī)定要過濾掉數(shù)據(jù)流Sl中標(biāo)簽時間戳在5秒內(nèi)的多讀數(shù)據(jù)。假設(shè)客戶端ClientA發(fā)送到服務(wù)器端的數(shù)據(jù)流Sl為idl,idl,id2,id2,idl,id2, idl,id2(即idl和id2各4次);ClientB發(fā)送到服務(wù)器端的數(shù)據(jù)流S2為idl,id3,id3, idl,id3,id3(即idl:2次,id3:4次)。經(jīng)過單路過濾之后,將5秒內(nèi)重復(fù)數(shù)據(jù)清洗之后的數(shù)據(jù)流為 Sl 為 idl, id2, idl, id2, S2 為 idl, id3, id3。經(jīng)過單路過濾清洗規(guī)則之后,再進(jìn)行多路判決,其規(guī)則定義如下
SELECT TagID FROM Sl GROUP BY TagID HAVING COUNT(*) >=(
SELECT COUNT(*) FROM S2
WHERE S1 .TagID = S2.TagID GROUP BY TagID
)規(guī)則判定數(shù)據(jù)流Si,S2中如果有沖突數(shù)據(jù),計算數(shù)據(jù)流Si,S2沖突數(shù)據(jù)的在數(shù)據(jù)流中出現(xiàn)的次數(shù),誰多判給誰。經(jīng)過多路判決,Sl為idl,id2,同樣計算得到S2為id3。5)服務(wù)器端全局?jǐn)?shù)據(jù)清洗單元將清洗結(jié)果發(fā)送到上層應(yīng)用。6)用戶可以在系統(tǒng)運行的任何事件,對客戶端系統(tǒng)和服務(wù)端系統(tǒng)進(jìn)行監(jiān)控,了解系統(tǒng)運行狀態(tài)等。[第二實施方式]本發(fā)明的第二優(yōu)選事實例子是以RFID技術(shù)為基礎(chǔ)對小學(xué)生進(jìn)行安全管理。現(xiàn)實場景包括了學(xué)生的身份識別、進(jìn)出校門事件檢測、當(dāng)前位置、活動狀況等。每個在校人員 (包括學(xué)生、老師、教工、臨時人員)配備一個帶RFID標(biāo)簽的身份識別卡,每一個標(biāo)簽標(biāo)明一個身份合法的在校人員。假定以學(xué)生入校上學(xué)為背景,系統(tǒng)部署情況為校門口門衛(wèi)配備識讀器Rl,R2。Rl距校門3米,R2距校門口 6米,Rl與R2所要實現(xiàn)的功能有所區(qū)分,假定入校事件為 AND (ReadingByRl,ReadingByR2),離校事件則為 AND (ReadingByR2,ReadingByRl)。識讀器的事實識讀距離為5米,那么此時Rl與R2的閱讀范圍有重疊,假設(shè)識讀器時間窗口設(shè)定不合適,有很大的概率產(chǎn)生大量多讀數(shù)據(jù)。假定攜帶標(biāo)簽的10人一起入校,有的獨行,有的三三兩兩;有的停,有的行;有的快,有的慢。按照本發(fā)明所述的單路過濾和多路校正的清洗方法,其數(shù)據(jù)清洗步驟如下1)客戶端程序ClientA、ClientB(分別管理識讀器Rl和R2)和服務(wù)器端程序按照系統(tǒng)要求啟動成功之后。當(dāng)10個人員同時進(jìn)入校門時,標(biāo)簽進(jìn)入識讀器電磁場內(nèi),識讀器不間斷讀取標(biāo)簽數(shù)據(jù),10個人員的ID被讀緩存到ClientA的緩沖區(qū),隨著人員進(jìn)入R2的識讀范圍,人員ID亦被R2讀取,并緩存到ClientB的緩沖區(qū)。于是ClientA、ClientB緩存的數(shù)據(jù)都存在冗余,假定緩沖的數(shù)據(jù)都為〈ID” Rj, Tj)的格式,ClientA的數(shù)據(jù)為DataA = KID1, R1, T1), <ID2, R1, T1), <ID3, R1, T1), <ID4, R1, T1), <ID5, R1, T1), <ID6, R1, T1), <ID7, R1, T1), <ID8, R1, T2>,<IDi; ?,T2>,<ID5, R1, T2>},ClientB 的數(shù)據(jù)為 DataB = KlD1, R2, T5>, <ID3,R2, T5>,<ID4, R2, T5>,<ID5, R2, T5>,<ID6, R2, T5>,<ID7, R2, T5>,<ID8, R2, T6>,<ID9, R2, T7>,<ID2, R2, T7>, <ID10, R2, T7>}。由于學(xué)生ID9和IDltl走得快,或者被人遮擋電磁信號受干擾,他攜帶的標(biāo)簽沒被Rl檢測到,但被R2于時間T7檢測到了。2)局部數(shù)據(jù)清洗單元發(fā)送數(shù)據(jù)到服務(wù)端,全局?jǐn)?shù)據(jù)清洗單元按照為ClientA和 ClientB定制的單路過濾分別對所獲取的數(shù)據(jù)進(jìn)行清洗。以ClientA的單路過濾為例,規(guī)則為SELECT distinct*FR0M rfid_inputDataA RANGE BY 3sec WHERE DataA. reader_id =Rl,全局?jǐn)?shù)據(jù)清洗單元按照規(guī)則刪除掉3秒內(nèi)(3sec)重復(fù)的數(shù)據(jù)ID1和ID5,清洗之后的數(shù)據(jù)為 DataAl = KlD1, R1, T1), <ID2, R1, T1), <ID3, R1, T1), <ID4, R1, T1), <ID5, R1, T1), <ID6,R1, T1), <ID7, R1, T1), <ID8, R1, T2>}。同樣的道理,ClientB 清洗之后的數(shù)據(jù)為 DataBl =KID1, R2, T5>,<ID3, R2, T5>,<ID4, R2, T5>,<ID5, R2, T5>,<ID6, R2, T5>,<ID7, R2, T5>,<ID8, R2J T6>,〈ID9,R2, T7>,〈ID10,R2, T7>}。3)接著,按照為ClientB所定制的多路校正規(guī)則“FOR EACH VALUE ν IN(SELECT*FR0M DataBl WHERE DataBl. tag_id NOT IN DataA1) ;INSERT(v. tag_id, Rl, T3) INTO DataAl ;END FOR”,全局?jǐn)?shù)據(jù)清洗單元繼續(xù)對DataAl進(jìn)行校正。即對于DataBl 中每個標(biāo)簽(即R2讀取到的標(biāo)簽),若它不在DataAl里(即不被Rl讀到),就把它插入 DataAl中(作為T3時刻Rl讀到的數(shù)據(jù))。由于存在沒被Rl檢測到而被R2檢測到的標(biāo)簽 ID9和IDltl,于是全局?jǐn)?shù)據(jù)清洗單元會把ID9和IDltl的標(biāo)簽數(shù)據(jù)插入到ClientA的數(shù)據(jù)中, 即 DataA2 = KlD1, R1, T1), <ID2, R1, T1), <ID3, R1, T1), <ID4, R1, T1), <ID5, R1, T1), <ID6, R1, T1), <ID7, R1, T1), <ID8, R1, T2>,<ID9, R1, T3>,<ID10, R1, T3>}。4)最后服務(wù)器端全局?jǐn)?shù)據(jù)清洗單元將清洗結(jié)果發(fā)送到上層應(yīng)用。運用本發(fā)明所提供的方法,用戶只需了解RFID數(shù)據(jù)清洗方法,就可以快速配置一套在分布式環(huán)境下運行的數(shù)據(jù)清洗方法,本系統(tǒng)使用Java語言開發(fā)實現(xiàn),可以運行在常見的操作系統(tǒng)中,因此,本發(fā)明所形成的系統(tǒng)具有部署靈活、性能可靠,運行效率高的優(yōu)點。綜上,對本發(fā)明的實施例進(jìn)行了說明。但本發(fā)明并不限于上述實施例所記述的范圍,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明所披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng),其特征在于包括服務(wù)器端和客戶端;所述服務(wù)器端包括服務(wù)器端用戶輸入管理單元,用于提供系統(tǒng)初始化時的參數(shù)數(shù)據(jù),即服務(wù)器端的IP、 DNS、端口、讀取時間片和完全讀取的置信概率;服務(wù)器端自定義規(guī)則處理單元,為用戶提供的單路過濾、多路校正、多路判決、多路歸并的清洗規(guī)則定義模板,為其定制所需的清洗規(guī)則;提供數(shù)據(jù)清洗規(guī)則的語法解析,即逐個字符掃描用戶自定義清洗規(guī)則的文本,解析其中保留字、語法單位及其關(guān)聯(lián),為每個語法單位及其關(guān)聯(lián)創(chuàng)建相應(yīng)的對象及對象鏈接,最終形成該文本對應(yīng)的AST樹; 全局?jǐn)?shù)據(jù)緩沖單元,用于緩沖多個客戶端發(fā)送至服務(wù)器端的數(shù)據(jù); 客戶端通信管理單元,用于管理客戶端與服務(wù)器端的通信;全局?jǐn)?shù)據(jù)清洗單元,用于對所有提交到服務(wù)端的數(shù)據(jù)按照用戶自定義的清洗規(guī)則進(jìn)行清洗,具體包括(1)單路過濾以用戶定義的時間窗口對單一數(shù)據(jù)流進(jìn)行過濾,過濾掉重復(fù)的數(shù)據(jù);(2)多路校正根據(jù)用戶定義的時間窗口和識讀器組,對多個數(shù)據(jù)流進(jìn)行校正——刪除與組無關(guān)的數(shù)據(jù),比較同一時間點的多路數(shù)據(jù)為漏讀識讀器填補漏掉的數(shù)據(jù); (3)多路判決根據(jù)用戶定義的時間窗口和識讀器組,比較同一時間點的多路數(shù)據(jù),根據(jù)用戶的要求——把同一數(shù)據(jù)判決給某一識讀器;(4)多路歸并根據(jù)用戶定義的時間窗口和識讀器組,在多路校正的基礎(chǔ)上對多個數(shù)據(jù)流進(jìn)行歸并,把校正后的數(shù)據(jù)合并為該識讀器組的數(shù)據(jù);上層應(yīng)用接口單元,用于將清洗之后的標(biāo)準(zhǔn)格式的數(shù)據(jù)提交給上層應(yīng)用; 客戶端包括客戶端系統(tǒng)配置單元,用于用戶對客戶端的IP和端口進(jìn)行配置; 客戶端數(shù)據(jù)緩沖單元,用于緩沖RFID識讀器發(fā)送至客戶端的數(shù)據(jù); 局部數(shù)據(jù)清洗單元,通過動態(tài)調(diào)整識讀器的時間窗口對客戶端數(shù)據(jù)緩沖單元緩存的數(shù)據(jù)進(jìn)行清洗,即識讀器讀取的時間窗口要跟得上變化,標(biāo)簽移動得快了需要較短的時間窗口,標(biāo)簽移動的很慢就使用較大時間窗口 ;客戶端與服務(wù)器端通信單元,用于將局部數(shù)據(jù)清洗單元清洗后的RFID數(shù)據(jù)發(fā)送到服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元中。
2.根據(jù)權(quán)利要求1所述的一種RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng),其特征在于所述服務(wù)器端還包括系統(tǒng)監(jiān)視單元,用于提供用戶調(diào)用功能,使用戶能夠隨時觀察到當(dāng)前系統(tǒng)的運行狀況。
3.一種采用權(quán)利要求1所述RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng)對RFID設(shè)備采集的數(shù)據(jù)進(jìn)行清洗的方法,其特征在于1)對服務(wù)器端的程序進(jìn)行配置,包括了服務(wù)器端通信參數(shù)配置,緩沖區(qū)大小,連接客戶端數(shù);2)啟動服務(wù)器端,包括了啟動緩沖區(qū)的初始化,管理的啟動,接收外部命令的啟動;3)服務(wù)器管理員通過服務(wù)器端用戶輸入管理單元,輸入全局?jǐn)?shù)據(jù)清洗單元運行的定制參數(shù),即服務(wù)器端的IP、DNS、端口,讀取時間片和完全讀取的置信概率,包括了對規(guī)則的解析,對用戶自定義的清洗操作進(jìn)行定義,從提供的單路過濾、多路校正、多路判決、多路歸并清洗模板中選擇其一,設(shè)定具體參數(shù),系統(tǒng)為其生成所定制的清洗規(guī)則,輸入完成后,系統(tǒng)啟動全局?jǐn)?shù)據(jù)清洗單元,啟動客戶端通信模塊;4)服務(wù)器端啟動結(jié)束,全局?jǐn)?shù)據(jù)清洗單元等待,直到客戶端發(fā)送初次清洗的數(shù)據(jù);5)對客戶 端進(jìn)行配置,包括了通信參數(shù)的配置IP和端口,啟動客戶端與服務(wù)器端通信單元,測試是否能夠與服務(wù)器端通信順暢,若通信成功,則進(jìn)行下一步,若不成功則返回給管理員錯誤提示; 6)統(tǒng)一服務(wù)器端和客戶端的時鐘,啟動客戶端數(shù)據(jù)緩沖單元,啟動物理識讀器和局部數(shù)據(jù)清洗單元;7)客戶端數(shù)據(jù)緩沖單元獲取到識讀器發(fā)送過來的數(shù)據(jù),將之存儲在緩沖區(qū);此時通知局部數(shù)據(jù)清洗單元進(jìn)行清洗工作;8)客戶端的局部數(shù)據(jù)清洗單元接收到緩沖區(qū)的消息通知時,從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù),客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小,改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量;9)客戶端將初步的清洗結(jié)果通過客戶端與服務(wù)器端通信單元發(fā)送到服務(wù)器端,服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元接收到發(fā)送到的數(shù)據(jù),存儲并通知服務(wù)器端的全局?jǐn)?shù)據(jù)清洗單元, 可以進(jìn)行數(shù)據(jù)清洗工作;10)全局?jǐn)?shù)據(jù)清洗單元接收到通知消息,啟動清洗機制,根據(jù)用戶自定義的規(guī)則,對客戶端發(fā)送來的數(shù)據(jù)流統(tǒng)一清洗,包括單路過濾、多路校正、多路判決、多路歸并的清洗操作;11)清洗之后,將所有的清洗數(shù)據(jù),依據(jù)上層應(yīng)用的數(shù)據(jù)格式,轉(zhuǎn)換為上層應(yīng)用需要的數(shù)據(jù),并發(fā)送過去。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于局部數(shù)據(jù)清洗單元的清洗方法如下從緩沖區(qū)中取出當(dāng)前讀取的數(shù)據(jù),客戶端通過動態(tài)調(diào)整識讀器的時間窗口的大小,改進(jìn)數(shù)據(jù)成功讀取的質(zhì)量戶端局部數(shù)據(jù)清洗單元根據(jù)連續(xù)幾個讀取時間片上的各個標(biāo)簽i的成功讀取次數(shù),為每個標(biāo)簽i分別計算各自的平均讀取概率Pi,根據(jù)平均讀取概率的最大值Pmax和完全讀取的置信概率λ計算新的時間窗口 w,使得w = Ιη(1+ (l-λ )) +Pmax ;w與當(dāng)前時間窗口相比,若w大就擴(kuò)大當(dāng)前時間窗口,若w小就縮小當(dāng)前時間窗口。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于客戶端運行期間,系統(tǒng)會根據(jù)服務(wù)器端的時間,定時調(diào)整客戶端的時鐘,使客戶端和服務(wù)器端的時鐘誤差在IOms內(nèi)。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于在服務(wù)器,客戶端運行期間,提供了外部的接口,允許具有一定權(quán)限的人員對系統(tǒng)進(jìn)行監(jiān)視。
全文摘要
本發(fā)明公開了RFID設(shè)備網(wǎng)絡(luò)環(huán)境下采集數(shù)據(jù)的清洗系統(tǒng)及方法,其特征在于服務(wù)器管理員通過服務(wù)器端用戶輸入管理單元,輸入全局?jǐn)?shù)據(jù)清洗單元運行的定制參數(shù),客戶端數(shù)據(jù)緩沖單元獲取到識讀器發(fā)送過來的數(shù)據(jù),將之存儲在緩沖區(qū);通過局部數(shù)據(jù)清洗單元進(jìn)行數(shù)據(jù)清洗;后通過客戶端與服務(wù)器端通信單元發(fā)送到服務(wù)器端的全局?jǐn)?shù)據(jù)緩沖單元,再由全局?jǐn)?shù)據(jù)清洗單元進(jìn)行數(shù)據(jù)清洗對客戶端發(fā)送來的數(shù)據(jù)流統(tǒng)一清洗,包括單路過濾、多路校正、多路判決、多路歸并的清洗操作,清洗之后,依據(jù)上層應(yīng)用的數(shù)據(jù)格式,轉(zhuǎn)換為上層應(yīng)用需要的數(shù)據(jù),并發(fā)送過去。該清洗系統(tǒng)及方法具有支持分布式環(huán)境,自適應(yīng)的清洗策略調(diào)整,以及自定義的用戶清洗操作定義等優(yōu)點。
文檔編號G06F17/30GK102156893SQ20111007272
公開日2011年8月17日 申請日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者劉洪波, 呂春燕, 周興強, 張維石, 杜振軍, 牛麗娟, 陳能, 陳榮, 高健 申請人:大連海事大學(xué)