CN102662988B - 一种用于rfid中间件的冗余数据过滤方法 - Google Patents

一种用于rfid中间件的冗余数据过滤方法 Download PDF

Info

Publication number
CN102662988B
CN102662988B CN201210066651.1A CN201210066651A CN102662988B CN 102662988 B CN102662988 B CN 102662988B CN 201210066651 A CN201210066651 A CN 201210066651A CN 102662988 B CN102662988 B CN 102662988B
Authority
CN
China
Prior art keywords
data
rfid data
rfid
hash table
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210066651.1A
Other languages
English (en)
Other versions
CN102662988A (zh
Inventor
江炼鑫
谭洪舟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Yat Sen University
Original Assignee
Sun Yat Sen University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Yat Sen University filed Critical Sun Yat Sen University
Priority to CN201210066651.1A priority Critical patent/CN102662988B/zh
Publication of CN102662988A publication Critical patent/CN102662988A/zh
Application granted granted Critical
Publication of CN102662988B publication Critical patent/CN102662988B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于RFID中间件的冗余数据过滤方法,包括以下步骤:在内存中创建用于存储RFID数据的多阶哈希表,所述多阶哈希表内创建有该RFID数据的标签节点;判断是否有RFID数据流,若否则结束进程,若是则执行下一步骤;判断RFID数据流中各RFID数据的状态;根据各RFID数据的状态对其进行冗余数据过滤处理。通过在内存中建立多阶哈希表,将中间件接收的RFID数据分配到多阶哈希表中,并通过判断该RFID数据的状态进行冗余数据过滤处理,实现了海量冗余RFID数据的过滤,大大减少了网络的传输量,从而为上层应用提供了更为干净、更有价值的RFID数据,并且本发明方法通过利用多阶哈希表的存储结构,大大提升了RFID数据的过滤效率。

Description

一种用于RFID中间件的冗余数据过滤方法
技术领域
本发明涉及射频通信领域数据处理方法,尤其是一种用于RFID中间件的冗余数据过滤方法。
背景技术
RFID(Radio Frequency Identification)是一种利用射频信号和空间耦合技术实现无接触的自动识别的技术。RFID中间件通过屏蔽阅读器的复杂性与种类,为上层***提供统一的调用接口及统一的数据格式,同时为应用***提供数据的过滤,清洗,数据汇集统计等,为业务***提供强大的支撑。在大规模的RFID应用中,RFID阅读器在每个读写周期中读取的原始RFID数据量非常巨大,如 EPC global 标准规定的第二代(Gen2)RFID阅读器规范对阅读器的阅读速率做出了规定:每秒钟 1800 个电子标签。这意味着,一个拥有30台阅读器的中型仓库在高峰期一秒钟可以产生4.8万条数据,数据包含阅读器的Id,RFID数据,读取的时间等,其大小一般20字节,则每天将会产生上百G的数据,需要处理的数据量非常庞大。
如何实时地对海量的RFID原始数据进行处理及如何充分提取出RFID数据所包含的有价值信息已成为RFID中间件研究的重要内容。而在这些从阅读器收集的原始RFID数据中,存在着大量的重复,在实际的应用中,对业务***真正有价值有意义的数据并不多,如果不加处理直接将原始的数据传输到业务***中,则会带来巨大的带宽浪费并对***的内存及处理器造成沉重的数据处理负担。
当前常用的处理冗余的RFID数据的方法主要有两种,一种主要通过在数据库中创建一张临时表存储原始的RFID数据,然后通过在临时表的增删查改实现数据的过滤,该方法易于实现,但处理大规模的RFID数据时,涉及大量磁盘I/O,效率低下,并不具有实用价值。更为常用的方法是通过在中间件***中开辟一大片内存缓冲区,储存临时的RFID数据,进行冗余过滤,由于内存操作相比于磁盘I/O在处理效率上有几个数量级的提升,而中间件需要实时处理大量的RFIDRFID数据,因此要求其过滤算法具有较低的查找时间,同时要求算法对资源占用要低。传统冗余数据过滤算法多以线性链表,树,队列等作为存储数据结构,如线性链表在查找一个RFID数据需遍历整个链表,每次查询都需要耗费大量的查找时间,树形结构则需要维持一个相对稳定的序列,操作复杂,时间复杂度理论上只能达到O(lgn),在大规模或者实时的应用,仍然无法满足数据高速处理的需求,存在一定的效率缺陷。
发明内容
本发明要解决的技术问题是:提供一种应用于RFID中间件的多阶哈希表的过滤算法,以对来自阅读器的RFID数据进行高效的冗余数据过滤处理。
为了解决上述技术问题,本发明所采用的技术方案是:
一种用于RFID中间件的冗余数据过滤方法,包括以下步骤:
在内存中创建用于存储来自阅读器的RFID数据的多阶哈希表,所述多阶哈希表内创建有用于查询、删除该RFID数据的标签节点;
判断是否有RFID数据流,若否则结束进程,若是则执行下一步骤;
根据RFID数据的标签ID查询多阶哈希表中的标签节点,判断RFID数据流中各RFID数据的状态;
根据各RFID数据的状态对其进行冗余数据过滤处理。
进一步作为优选的实施方式,所述标签ID为用于唯一标识该RFID数据的二进制序列,所述RFID数据在多阶哈希表中的存储位置为基于标签ID的映射函数。
进一步作为优选的实施方式,所述多阶哈希表中定义的标签节点包括:标签ID、标签首次读取时间、标签末次读取时间及读取次数。
进一步作为优选的实施方式,所述RFID数据的状态包括:未知、捕捉和已存在;所述未知状态是指该RFID数据未存在多阶哈希表中;所述捕捉状态是指该RFID数据在多阶哈希表中已存在但未被确认;所述已存在状态是指该RFID数据在多阶哈希表中已被确认。
进一步作为优选的实施方式,所述根据各RFID数据的状态对其进行冗余数据过滤处理包括:
在未知状态下,将该RFID数据存储到多阶哈希表中,并为该RFID数据生成标签节点,将该RFID数据在整个数据传输通道中作为冗余数据过滤掉,转入捕捉状态;
在捕捉状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并判断该RFID数据的读取次数是否达到次数阈值,若未达到次数阈值则保持捕捉状态,将该RFID数据作为冗余数据过滤掉,若达到次数阈值则将该RFID数据加入输出队列,作为过滤后的干净数据提供给上层***,并转入已存在状态;
在已存在状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并直接将该RFID数据作为冗余数据过滤掉。
进一步作为优选的实施方式,所述多阶哈希表的创建包括以下步骤:
定义在多阶哈希表中存储RFID数据的标签节点,所述标签节点包括:标签ID、标签首次读取时间、标签末次读取时间及读取次数;
设定时间阈值、次数阈值及标签数据规模,所述时间阈值表征在该时间内一个RFID数据多次被读取则认定为重复数据;所述次数阈值表征只有读取次数达到该数值的RFID数据为稳定数据;所述标签数据规模表征该多阶哈希表内标签节点的容量;
设定多阶哈希表的最大桶数M和阶数N;
在内存中申请M*N个存储空间,以二维数组HashTable[M][N]表示,作为存储RFID数据的哈希矩阵;
以基于标签ID的映射函数建立RFID数据与该RFID数据在多阶哈希表中存储位置的对应关系。
进一步作为优选的实施方式,所述时间阈值、次数阈值及标签数据规模可以调整。
本发明的有益效果是:本发明通过在内存中建立多阶哈希表,将中间件接收的RFID数据分配到多阶哈希表中,并通过判断该RFID数据的状态进行冗余数据过滤处理,实现了海量冗余RFID数据的过滤,大大减少了网络的传输量,从而为上层应用提供了更为干净、更有价值的RFID数据,并且本发明方法通过利用多阶哈希表的存储结构,大大提升了RFID数据的过滤效率。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明用于RFID中间件的冗余数据过滤方法的步骤流程图;
图2是本发明RFID数据的状态机结构示意图;
图3是本发明多阶哈希表创建的流程图;
图4是本发明多阶哈希表的结构示意图;
图5是本发明基于多阶哈希表的冗余数据过滤方法优选实施例的步骤流程图;
图6是本发明优选实施例中多阶哈希表结构的数据储存示意图。
具体实施方式
本发明采用在内存中建立多阶哈希表来存储接收到的RFID数据,并根据各RFID数据的状态进行冗余数据过滤处理,可以高效的过滤掉重复的RFID数据。
参照图1,一种用于RFID中间件的冗余数据过滤方法,包括以下步骤:
在内存中创建用于存储来自阅读器的RFID数据的多阶哈希表,所述多阶哈希表内创建有用于查询、删除该RFID数据的标签节点;
判断是否有RFID数据流,若否则结束进程,若是则执行下一步骤;
根据RFID数据的标签ID查询多阶哈希表中的标签节点,判断RFID数据流中各RFID数据的状态;
根据各RFID数据的状态对其进行冗余数据过滤处理。
进一步作为优选的实施方式,所述多阶哈希表中定义的标签节点包括:标签ID、标签首次读取时间tFirstRead、标签末次读取时间tLastRead及读取次数tagCnt。
所述标签ID为用于唯一标识该RFID数据的二进制序列,所述RFID数据在多阶哈希表中的存储位置为基于标签ID的映射函数。
参照图2,进一步作为优选的实施方式,所述RFID数据的状态包括:未知(unknown)、捕捉(captured)和已存在(observed);所述未知状态是指该RFID数据未存在多阶哈希表中,;所述捕捉状态是指该RFID数据在多阶哈希表中已存在但未被确认;所述已存在状态是指该RFID数据在多阶哈希表中已被确认。
进一步作为优选的实施方式,对本发明中从阅读器获取的RFID数据的格式进行限定,所述RFID数据包括:阅读器ID、RFID数据编码及RFID数据的时间戳。现举例说明,假设RFID数据的格式均是以<reader,epc,time>三元组作为元数据存在,reader表示阅读器ID,epc表示RFID数据编码,两者都可以唯一标识,time则是表示阅读器读到的时间戳。阅读器是以这样的格式将RFID数据传送到中间件。
进一步作为优选的实施方式,所述根据该RFID数据的状态对其进行冗余数据过滤处理包括:
当RFID数据被首次读取之前,RFID数据处于未知状态;当中间件接收到RFID数据<reader,epc,time>时,首先按映射函数从多阶哈希表中查找该RFID数据是否存在,若找到则判定该RFID数据处于捕捉或者已存在状态,若未找到则判定该RFID数据处于未知状态;
在未知状态下,将该RFID数据根据映射函数存储到多阶哈希表中,并为该RFID数据生成标签节点,设定标签节点数据为tagCnt=1,更新tFirstRead和tLastRead为当前的读取时间currentTime。将该RFID数据在整个数据传输通道中作为冗余数据过滤掉,转入捕捉状态;
在捕捉状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并判断该RFID数据的读取次数是否达到次数阈值,若未达到次数阈值则保持捕捉状态,将该RFID数据作为冗余数据过滤掉,若达到次数阈值则将该RFID数据加入输出队列Queue,作为过滤后的干净数据提供给上层***,并转入已存在状态;
在已存在状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并直接将该RFID数据作为冗余数据过滤掉。
进一步作为优选的实施方式,参照图3,所述多阶哈希表的创建包括以下步骤:
定义在多阶哈希表中存储RFID数据的标签节点,所述标签节点包括:标签ID、标签首次读取时间tFirstRead、标签末次读取时间tLastRead及读取次数tagCnt;
例如,在实际应用中可以如下设置标签节点的格式:
struct TagNode
{
tagId :long //标签ID ,也是哈希表的key
tFirstRead:time //表示标签节点首次读到时间,作为时间阈值                                                threshold计时起始时刻
tLastRead: time //记录标签节点最后一次读取的时间
tagCnt: long  //记录标签节点在一个时间阈值 threshold所读取的次数
}
设定时间阈值 threshold、次数阈值TagCntthreshold及标签数据规模DataScaleSize,所述时间阈值 threshold表征在该时间内一个RFID数据多次被读取则认定为重复数据,可以直接过滤掉。如果连续两次读取到的时间差值超出该时间阈值 threshold,则认为是不同的事件。该值可以根据实际的业务情况进行调整,获取静态的数据如扫描库存可以相应增大其阈值,获取动态的数据如传输带的RFID数据则需要调小该阈值。
所述次数阈值TagCntthreshold表征只有读取次数达到该数值的RFID数据为稳定数据,才确认读取到该RFID数据,若低于该阈值则认为误读的数据,该阈值可以根据实际的业务进行调整;所述标签数据规模DataScaleSize表征该多阶哈希表内标签节点的容量;
设定多阶哈希表的最大桶数M和阶数N;所述最大桶数M根据标签数据规模DataScaleSize来设定,一般设置M=2*DataScaleSize,同时确定哈希表的阶数N,一般不宜过大,若过大,多阶哈希表则可能退化成多链表。
在内存中申请M*N个存储空间,以二维数组HashTable[M][N]表示,作为存储RFID数据的哈希矩阵,其中N代表哈希表的阶数,M代表哈希表的最大桶数;
以基于标签ID的映射函数建立RFID数据与该RFID数据在多阶哈希表中存储位置的对应关系,由于RFID数据是唯一的,以标签ID作为其进入多阶哈希表的key,建立映射函数f,计算出f(tagId)=(tagId+M)% primTable[n],其中tagId为标签ID,M为哈希表的最大桶数,primTable[n]代表该阶哈希表的桶数,n=1,2,3……N。参照图4,计算每阶哈希表的桶数primTable[n],即取前n个小于最大桶数M的素数作为每阶的桶数,从大到小依次作为各阶的桶数,并存于数组primTable中,本作法的目的在于提供较小的哈希冲突。
计算得到的f(tagId)作为hash值,即为该RFID数据在该阶哈希桶中的存储地址。通过映射函数f,为多阶哈希表提供了RFID数据的查询、修改、删除及增加的方法。
优选的,所述时间阈值 threshold、次数阈值TagCntthreshold及标签数据规模DataScaleSize可以根据实际应用情况而调整。
图5是本发明基于多阶哈希表的冗余数据过滤方法优选实实施例的步骤流程图,参照图5:
根据实际的RFID业务用途,确定预设的参数,包括取有效读取时间阈值 threshold,确认数据有效的次数阈值TagCntthreshold,以及标签数据规模DataScaleSize在内存中创建多阶哈希表,并创建对RFID数据进行查询、修改、删除等操作的标签节点。
如图2所示,定义RFID数据的状态转换的状态机,确定RFID数据过滤的准则。
当有RFID数据<readern,epcn,timen>到来时,首先确认该RFID数据的状态,通过查询该RFID数据在哈希表中存不存在,以及读取的时间,及以读取次数来确认。
而在进一步确认RFID数据的状态之前,需要先判断该RFID数据是否处于有效的读取间隔内,即最新的读取时间与最后一次的读取间隔若超过时间阈值 threshold,若超过即则表示之前RFID数据的读取记录已失效,其作为首次读取进行处理。
该RFID数据不在哈希表中,则表示该RFID数据处于unknown状态;
该RFID数据在哈希表中,但在有效读取时间内的读取次数小于确认数据有效的读取次数阈值,则表示该RFID数据处于captured状态;
该RFID数据在哈希表中,但在有效读取时间内的读取次数大于确认数据有效的读取次数阈值,则表示该RFID数据处于observed状态。
确定RFID数据的状态以后,对哈希表中该标签节点的最新读取时间和读取次数进行更新,通过查看标签节点的总的读写次数及读取的时间间隔,如图2所示,确定RFID数据的状态转换过程。
当RFID数据处于unknown状态时,则将其按应设函数f计算出的存储位置加入多阶哈希表中,设定其的读取次数tagCnt为1次,更新tFirstRead和tLastRead为当前的读取时间currentTime,该RFID数据作为冗余数据被暂时过滤掉并转入captured状态。
当RFID数据处于captured状态时,表明在多阶哈希表中已存在该RFID数据,判断读取时间间隔是否在时间阈值 threshold内,若currentTime-tLastRead> threshold,表明该RFID数据已失效,更新为unknown状态,并将数据过滤处理;若currentTime-tLastRead≤ threshold,更新读取次数tagCnt=tagCnt+1,tLastRead为currentTime,再判断读取次数tagCnt是否刚好到达有效读取的次数阈值TagCntthreshold,如若刚好,该RFID数据转入observed状态,该RFID数据作为过滤后的干净数据加入队列Queue中,供上层业务***调用;如若小于有效读取的次数阈值TagCntthreshold,则该RFID数据仍然处于observed状态,此时该RFID数据仍然作为不稳定数据,被暂时过滤掉。
当RFID数据处于observed状态时,表明在多阶哈希表中已存在该RFID数据,且读到的次数超过了次数阈值,此时再次读到该RFID数据,判断读取时间间隔是否在时间阈值 threshold内,若currentTime-tLastRead> threshold,表明该RFID数据已失效,更新为unknown状态,并将数据过滤处理;若currentTime-tLastRead≤ threshold,更新读取次数tagCnt=tagCnt+1,tLastRead为currentTime,该RFID数据作为冗余数据过滤掉,在实际的应用中,绝大多数的RFID数据均处于该状态。
本方法通过将多阶哈希表作为RFID中间件的过滤通道,快速有效实现了海量冗余RFID数据的准确过滤,大大减少了网络的传输量,降低了业务的数据处理规模,节省了大量的处理时间。 
下面结合图6说明一下本发明的一个具体实例。
第一步,对于本发明的一些与RFID实际应用规模跟场景等关系密切参数进行配置,本实例确定有效的读取时间阈值 threshold为100s,有效读取次数阈值TagCntthreshold设置为5,哈希桶的阶数为10,假定标签数据规模DataScaleSize为10000,则设最大的哈希桶数M为20000,则可以以二维数组HashTable[20000][10]表示。
计算每阶的桶数,在本实例中,以20000作为最大的桶数,则每1阶到第10阶哈希桶的桶数依次设定为19997,19993,19991,19979,19973,19963,19961,19949,19937,19927,存储在primTable数组中。
假若在10S同时有一批RFID数据到来,如100个标签ID值为0000000100的RFID数据,99个标签ID值为000000099的RFID数据,98个标签ID值为00000000098的RFID数据,……2个标签ID值为0000000002的RFID数据,1个标签ID值为0000000001的RFID数据,举例对于标签ID值为0000000100的RFID数据,按照f(tagId)=(tagId+M)% primTable[n],其在第一阶哈希桶的索引位置index=(100+20000)% 19997,即是第一阶哈希桶位置103,同理0000000099在位置102,0000000098在位置101……, 0000000001在位置4。
因为设定读取有效次数的阈值为5次,则5次以下的RFID数据均只存储于哈希表中,并不输出。经过过滤后输出在队列中,只有(0000000100,000000099……000000006, 000000005)共96个RFID数据值,数据的规模大大减低。
标签ID值范围为000000005-0000000100的RFID数据此时均处observed状态,若此时在该范围的RFID数据到达中间件,其将均为冗余数据过滤掉。
而标签ID值000000001-000000004的RFID数据则处于captured状态,假若此时标签ID值为0000000004的RFID数据传到中间件,则其值刚好到达有效次数的阈值,其将作为干净数据加入到队列中,其RFID数据转为observed状态。若是有标签ID值为0000000003的RFID数据到来,总的读写次数只有4次,仍然处于captured状态,其仍然作为不稳定数据被过滤掉。
若此时有标签ID值为000000101的RFID数据到来,因为在哈希表中没有该RFID数据的读取记录,所以在读取前处于unknown状态,此时将其加入哈希表中,该RFID数据状态也转为captured。
假若在100s有效读取时间阈值 threshold内,均没有标签ID值为0000000100的RFID数据读取记录,101s以后,当标签ID值为0000000100的RFID数据再次被读取到的时候,由于超过有效的读取时间阈值,所以该RFID数据读取记录实际已经失效,处于unknow状态,此时再次读到,则作为首次读到处理,其读取次数设置为1,首次读取时间,最新读取时间均会设置为当前的时间,该RFID数据将转入captured状态。
若此时有标签ID值为000020097的RFID数据到来,从第一阶哈希表开始计算,其index=(20097+20000)% 19997 其值为103,因为在该桶已有0000000100的RFID数据,处于哈希冲突,接着计算第2阶,其index=(20097+20000)% 19993,其值为111,所以该RFID数据存储在第二阶的索引位置为111的位置中。
本发明通过构造多阶哈希表的数据结构作为过滤的管道,实现了海量冗余RFID数据的过滤,大大减少了网络的传输量,从而为上层应用提供了更为干净,有价值的RFID数据。
本发明通过定义RFID数据的状态,通过设定时间阈值和读取次数阈值,可以有效的过滤那些由于RFID技术的天生的不稳定,不可靠所带来的误读,多读等情况,带来更干净的数据。
根据算法的评价标准,衡量一个数据处理算法的优劣主要有三个方面的参数:时间复杂度、空间复杂度和平均查找长度。
本发明的三个评价指标如下:
时间复杂度:本发明采用多阶哈希表,动态匹配RFID数据的规模,有效利用RFID数据独一无二的特性,将其标签ID作为key,在设计多阶哈希表的时候,使得每阶的桶的个数是质数,这样利用key%桶的个数得出在哈希桶的索引位置,使得每个RFID数据在哈希表的位置足够散射,最大程度了减少冲突,实现简单,经过测试对比,其查找效率在可维持在常数数量级,即O(1)的时间复杂度,相比于线性链表的O(n),树结构的O(lgn),效率相比之下有质的提升。
空间复杂度:哈希函数的本质在以空间换取时间,通过引进多个哈希桶作为辅助空间,空间复杂度为O(n)
平均查找长度:平均查找长度是指对一个结构内的所有节点的查找长度按查找概率的加权值。在一般的情况下,本发明在常数的时间内均可以通过哈希映射找到目标标签的存储位置。最坏的情况是就是需要查找n次,n代表哈希表的阶数。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (4)

1.一种用于RFID中间件的冗余数据过滤方法,其特征在于,包括以下步骤:
在内存中创建用于存储来自阅读器的RFID数据的多阶哈希表,所述多阶哈希表内创建有用于查询、删除该RFID数据的标签节点;
判断是否有RFID数据流,若否则结束进程,若是则执行下一步骤;
根据RFID数据的标签ID查询多阶哈希表中的标签节点,判断RFID数据流中各RFID数据的状态,所述RFID数据的状态包括:未知、捕捉和已存在;所述未知状态是指该RFID数据未存在多阶哈希表中;所述捕捉状态是指该RFID数据在多阶哈希表中已存在但未被确认;所述已存在状态是指该RFID数据在多阶哈希表中已被确认;
根据各RFID数据的状态对其进行冗余数据过滤处理,包括:
在未知状态下,将该RFID数据存储到多阶哈希表中,并为该RFID数据生成标签节点,将该RFID数据在整个数据传输通道中作为冗余数据过滤掉,转入捕捉状态;
在捕捉状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并判断该RFID数据的读取次数是否达到次数阈值,若未达到次数阈值则保持捕捉状态,将该RFID数据作为冗余数据过滤掉,若达到次数阈值则将该RFID数据加入输出队列,作为过滤后的干净数据提供给上层***,并转入已存在状态;
在已存在状态下,判断最近两次RFID数据的读取时间差是否超过时间阈值,若是则将该RFID数据从多阶哈希表中移除并转入未知状态,若否则更新该RFID数据的标签节点并直接将该RFID数据作为冗余数据过滤掉;
所述多阶哈希表的创建包括以下步骤:
定义在多阶哈希表中存储RFID数据的标签节点,所述标签节点包括:标签ID、标签首次读取时间、标签末次读取时间及读取次数;
设定时间阈值、次数阈值及标签数据规模,所述时间阈值表征在该时间内一个RFID数据多次被读取则认定为重复数据;所述次数阈值表征只有读取次数达到该数值的RFID数据为稳定数据;所述标签数据规模表征该多阶哈希表内标签节点的容量;
设定多阶哈希表的最大桶数M和阶数N;
在内存中申请M*N个存储空间,以二维数组HashTable[M][N]表示,作为存储RFID数据的多阶哈希矩阵;
以基于标签ID的映射函数建立RFID数据与该RFID数据在多阶哈希表中存储位置的对应关系。
2.根据权利要求1所述的一种用于RFID中间件的冗余数据过滤方法,其特征在于:所述标签ID为用于唯一标识该RFID数据的二进制序列,所述RFID数据在多阶哈希表中的存储位置为基于标签ID的映射函数。
3.根据权利要求1所述的一种用于RFID中间件的冗余数据过滤方法,其特征在于:所述多阶哈希表中定义的标签节点包括:标签ID、标签首次读取时间、标签末次读取时间及读取次数。
4.根据权利要求1所述的一种用于RFID中间件的冗余数据过滤方法,其特征在于:所述时间阈值、次数阈值及标签数据规模可以调整。
CN201210066651.1A 2012-03-14 2012-03-14 一种用于rfid中间件的冗余数据过滤方法 Expired - Fee Related CN102662988B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210066651.1A CN102662988B (zh) 2012-03-14 2012-03-14 一种用于rfid中间件的冗余数据过滤方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210066651.1A CN102662988B (zh) 2012-03-14 2012-03-14 一种用于rfid中间件的冗余数据过滤方法

Publications (2)

Publication Number Publication Date
CN102662988A CN102662988A (zh) 2012-09-12
CN102662988B true CN102662988B (zh) 2014-10-29

Family

ID=46772479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210066651.1A Expired - Fee Related CN102662988B (zh) 2012-03-14 2012-03-14 一种用于rfid中间件的冗余数据过滤方法

Country Status (1)

Country Link
CN (1) CN102662988B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104077673B (zh) * 2013-03-28 2018-12-28 中国科学院信息工程研究所 一种基于rfid技术的大量物品集中监控方法
CN103530383A (zh) * 2013-10-18 2014-01-22 重庆邮电大学 一种用于安全的rfid中间件冗余数据过滤方法
CN103646107B (zh) * 2013-12-25 2017-02-08 重庆梅安森科技股份有限公司 煤矿******中的rfid中间件事件处理方法
CN104766107A (zh) * 2015-03-06 2015-07-08 中国十七冶集团有限公司 一种bim模型中采用rfid电子标签采集数据的***
CN104766108A (zh) * 2015-03-06 2015-07-08 中国十七冶集团有限公司 一种bim模型中rfid电子标签优化处理方法
CN105228185B (zh) * 2015-09-30 2017-03-22 中国人民解放军国防科学技术大学 一种用于识别通信网络中模糊冗余节点身份的方法
CN105760413B (zh) * 2015-12-07 2018-10-23 重庆川仪自动化股份有限公司 基于哈希表的rfid数据在mes***中的管理方法
CN106411654A (zh) * 2016-10-27 2017-02-15 任子行网络技术股份有限公司 一种处理网络流量分析的方法和装置
CN108133597B (zh) * 2018-01-26 2020-07-07 江苏本能科技有限公司 射频识别信息上传方法及***
CN111065190B (zh) * 2019-12-05 2022-01-28 华北水利水电大学 基于Zigbee通信的智能灯光控制方法及***
CN112183141B (zh) * 2020-10-09 2024-05-14 北京计算机技术及应用研究所 一种开放空间的rfid多天线***数据采集清洗方法
CN116578758B (zh) * 2023-07-12 2023-12-05 深圳汉德霍尔科技有限公司 一种rfid数据采集数据处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075193A (zh) * 2011-02-11 2011-05-25 中国科学院软件研究所 基于时空关系的rfid事件压缩方法及解压缩方法
CN102156893A (zh) * 2011-03-24 2011-08-17 大连海事大学 Rfid设备网络环境下采集数据的清洗***及方法
CN102184229A (zh) * 2011-05-11 2011-09-14 中国科学院软件研究所 一种海量rfid标签信息的内存数据存储方法
US20110282812A1 (en) * 2010-05-17 2011-11-17 Microsoft Corporation Dynamic pattern matching over ordered and disordered data streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110282812A1 (en) * 2010-05-17 2011-11-17 Microsoft Corporation Dynamic pattern matching over ordered and disordered data streams
CN102075193A (zh) * 2011-02-11 2011-05-25 中国科学院软件研究所 基于时空关系的rfid事件压缩方法及解压缩方法
CN102156893A (zh) * 2011-03-24 2011-08-17 大连海事大学 Rfid设备网络环境下采集数据的清洗***及方法
CN102184229A (zh) * 2011-05-11 2011-09-14 中国科学院软件研究所 一种海量rfid标签信息的内存数据存储方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
史喜阳.嵌入式RFID数据采集方案及其关键技术研究.《重庆大学硕士学位论文》.2009,46-51.
基于RFID Reader的过滤技术的设计与实现;杨大宇;《上海交通大学硕士学位论文》;20080229;全文 *
嵌入式RFID数据采集方案及其关键技术研究;史喜阳;《重庆大学硕士学位论文》;20090630;46-51 *
杨大宇.基于RFID Reader的过滤技术的设计与实现.《上海交通大学硕士学位论文》.2008,全文.

Also Published As

Publication number Publication date
CN102662988A (zh) 2012-09-12

Similar Documents

Publication Publication Date Title
CN102662988B (zh) 一种用于rfid中间件的冗余数据过滤方法
CN103942210A (zh) 海量日志信息的处理方法、装置与***
CN102906751A (zh) 一种数据存储、数据查询的方法及装置
US9280551B2 (en) De-duplication deployment planning
CN104112010A (zh) 一种数据存储方法及装置
CN109254957A (zh) 一种基于大数据的档案管理***
CN110191156B (zh) 一种基于区块链的数据处理方法及装置
CN114328981B (zh) 基于模式映射的知识图谱建立和数据获取方法、装置
JP2013045208A (ja) データ生成方法、装置及びプログラム、検索処理方法、装置及びプログラム
CN209373598U (zh) 实时数据与外部数据关联处理***
CN117035687A (zh) 一种电网业务固定资产流程配置方法、***及计算机存储介质
CN111061785A (zh) 一种管理平台中订单的分类存储方法和***
CN102075193B (zh) 基于时空关系的rfid事件压缩方法及解压缩方法
CN116992350A (zh) 一种基于大数据的产业供应链优化方法及***
CN105468728A (zh) 一种获取截面数据的方法和***
CN106919574B (zh) 一种实时处理远程同步文件的方法
CN204790999U (zh) 一种工业大数据收集和处理***
CN111159107A (zh) 数据处理方法和服务器集群
CN116089431A (zh) 数据仓库的数据处理方法、装置、电子设备和存储介质
CN102025546B (zh) 一种网络设备性能文件的生成、传输、读取方法及设备
CN102479211A (zh) 基于数据库的海量数据处理***及方法
CN104462422A (zh) 对象的处理方法及装置
JP6103021B2 (ja) データ生成方法、装置及びプログラム、検索処理方法、装置及びプログラム
CN113641705A (zh) 一种基于计算引擎的营销处置规则引擎方法
CN101827175A (zh) 一种话单分拣分目录存储的方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Jiang Lianxin

Inventor after: Tan Hongzhou

Inventor before: Jiang Lianxin

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: JIANG LIANXIN TO: JIANG LIANXIN TAN HONGZHOU

C14 Grant of patent or utility model
GR01 Patent grant
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Jiang Lianxin

Inventor after: Chen Rongjun

Inventor after: Tan Hongzhou

Inventor before: Jiang Lianxin

Inventor before: Tan Hongzhou

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: JIANG LIANXIN TAN HONGZHOU TO: JIANG LIANXIN CHEN RONGJUN TAN HONGZHOU

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141029

Termination date: 20210314

CF01 Termination of patent right due to non-payment of annual fee