[發明專利]基于輕量級事件檢測的RFID數據清洗方法有效
| 申請號: | 202010462293.0 | 申請日: | 2020-05-27 |
| 公開(公告)號: | CN111651445B | 公開(公告)日: | 2022-04-08 |
| 發明(設計)人: | 婁穎;安晶;彭商濂;方美玉;劉賢鋒 | 申請(專利權)人: | 浙江外國語學院 |
| 主分類號: | G06F16/215 | 分類號: | G06F16/215;G06F9/50;G06F9/54;G06K7/10 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 邱啟旺 |
| 地址: | 310000 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 輕量級 事件 檢測 rfid 數據 清洗 方法 | ||
1.一種基于輕量級事件檢測的RFID數據清洗方法,其特征在于,包括以下步驟:
S1.根據RFID應用場景,定義RFID數據清洗規則,在中間件層讀入RFID數據清洗事件定義,初始化數據清洗規則庫,生成各規則對應的狀態機及堆棧數據結構;
S2.從RFID數據流上讀取一個數據
所述重復讀清洗規則線程為:在滑動窗口內,從RFID數據流中讀取的每個類型為A的數據,如果讀取次數超過2次,則為重復讀;只保留第一次讀到的數據和最后一次讀寫到的數據,其余的重復數據被清洗掉;
所述交叉讀清洗規則線程為:在應用場景中,RFID讀寫器C和D不存在交叉讀,判斷讀寫器A和B之間是否存在交叉讀;在滑動窗口內,如果從RFID數據流檢測到序列事件A和C或序列事件A和D,則在讀寫器B讀到的RFID數據為交叉讀,對交叉讀數據進行清洗;如果從RFID數據流檢測到序列事件B和C或序列事件B和D,則在讀寫器A讀到的RFID數據為交叉讀;對交叉讀數據進行清洗;
所述漏讀清洗規則線程為:RFID標簽行進的路徑為從讀寫器A到讀寫器B再到讀寫器C,判斷RFID讀寫器B是否存在漏讀;在滑動窗口內,如果從RFID數據流檢測到序列事件A和C且B不發生,則讀寫器B存在漏讀;將讀寫器B漏讀的數據插入到數據流中,插入數據的時間戳根據RFID標簽在讀寫器A和讀寫器C及路徑的長度進行設置。
2.如權利要求1所述基于輕量級事件檢測的RFID數據清洗方法,其特征在于,所述重復讀清洗規則線程包括以下子步驟:
(1.1)在當前滑動窗口內,讀取一個A類RFID數據,與堆棧A1中已有的A類型事件比較OID:如果OID相同,但該A類RFID數據的時間戳大于已有的A類型事件,則將該A類事件放入A2堆棧;如果無OID相同的A類事件,則將當前的A類事件壓入堆棧A1;
(1.2)讀取下一個A類RFID數據,重復步驟(1.1)中的操作,并判斷堆棧A2中是否存在與該A類RFID數據OID相同的數據且該A類RFID數據時間戳小于A2中對應的當前數據的記錄,如果存在,用當前數據更新A2中對應的數據;
(1.3)在滑動窗口結束時,按A2的指針輸出最先進入及最后離開讀寫器A的RFID數據;
(1.4)滑動窗口前移一個單位。
3.如權利要求1所述基于輕量級事件檢測的RFID數據清洗方法,其特征在于,所述交叉讀清洗規則線程包括以下子步驟:
(2.1)初始化各事件類型對應的堆棧,讀取一個RFID數據,如果是類型A,則放入A堆棧,如果是類型B,則放入B堆棧;
(2.2)讀取一個類型為C的事件,通過OID查詢A堆棧是否存在相同的記錄,如果存在則進行關聯,同時以該OID查詢堆棧B,如果存在則可判斷堆棧B中的數據為交叉讀數據,刪除堆棧B中數據,將堆棧A和C中的數據釋放到數據流;如果堆棧B中不存在OID相同的記錄,則未出現交叉讀,將堆棧A和C中的數據釋放到數據流;
(2.3)讀取一個類型為D的事件,通過OID查詢B堆棧是否存在相同的記錄,如果存在則進行關聯,同時以該OID查詢堆棧A,如果存在則可判斷堆棧A中的數據為交叉讀數據,刪除堆棧A中數據,將堆棧B和D中的數據釋放到數據流;如果A中不存在OID相同的記錄,則未出現交叉讀,將堆棧B和D中的數據釋放到數據流;
(2.4)滑動窗口結束時,清空各堆棧數據,釋放RFID數據流,滑動窗口前移一個單位。
4.如權利要求1所述基于輕量級事件檢測的RFID數據清洗方法,其特征在于,所述漏讀清洗規則線程包括以下子步驟:
(3.1)讀取數據流中A類型的事件,置入堆棧A;
(3.2)讀取堆棧B中的B類型事件,通過OID與堆棧A的事件進行比較,如果存在相同OID的數據,則將該B類型事件關聯到A類型事件上;
(3.3)讀取一個C類型事件,通過OID與堆棧A的事件進行比較,如果存在相同OID的數據,且該A類事件沒有關聯B類型的事件,為漏讀;用事件A的時間戳加上對象從讀寫器A到達讀寫器B的平均時間計算B類型事件的時間戳為:
B的時間戳=A的時間戳+A讀寫器到B讀寫器的平均時間
根據B類型事件的時間戳和該A類事件的OID構建漏讀的B類型的RFID數據,然后將B類型的RFID數據插入到數據流;
(3.4)滑動窗口結束時,清空各堆棧數據,釋放RFID數據流,滑動窗口前移一個單位。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江外國語學院,未經浙江外國語學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010462293.0/1.html,轉載請聲明來源鉆瓜專利網。





