1.一种RFID数据流的冗余数据清洗方法,其特征在于包括如下步骤:
S1,当RFID数据xi到达时,对xi.epc进行k次独立的哈希函数计算k∈{1,2,3,…,n},n表示自然数,即Hash1(xi.epc),…,Hashk(xi.epc),并映射至Timestamp数组,对xi.epc进行两轮k次独立的哈希函数计算Hash1[Hash1(xi.epc)],…,Hashk[Hashk(xi.epc)],并映射至ReaderID数组中;所述RFID数据xi为一组三元组数据,数据格式为xi=
S2,通过比较下一个数据xi+1的时间xi+1.timestamp和位置xi+1.readerID信息与二维数组中的值来判断xi+1是否为冗余数据,包括如下步骤:S21,如果存在Timestamp[Hashk(xi+1.epc)]=0,k∈{1,2,…,n},则判断xi+1为非冗余数据;
S22,否则,对于所有的k∈{1,2,…,n},如果有xi+1.readerID‑ReaderID[Hashk(Hashk(xi+1.epc)]=εk,并且ReaderID数组中,任意两个差值εk相等且不为0,判断xi+1为非冗余数据;
S23,如果S22不成立,对于所有的k∈{1,2,…,n},如果xi+1.timestamp‑Timestamp[Hashk(xi+1.epc)]≤τ,则xi+1为冗余数据,否则xi+1为非冗余数据,所述τ为时间阈值;
S24,如果xi+1为非冗余数据,则将xi+1上报,并更新k个二维数组:
Timestamp[Hashk(xi+1.epc)]=xi+1.timestamp(k=1,2,…,n)ReaderID[Hashk(Hashk(xi+1.epc))]=xi+1.readerID(k=1,2,…,n);
如果xi+1为冗余数据,则丢弃。
2.根据权利要求1所述的一种RFID数据流的冗余数据清洗方法,其特征在于所述映射,是将哈希函数计算得到的值,与数组中的位置对应,再将该数据的timestamp放入Timestamp数组的位置中,readerID放入ReaderID数组的位置中。
3.根据权利要求2所述的一种RFID数据流的冗余数据清洗方法,其特征在于所述哈希函数计算的值为正整数,用于标记数组的位数,从而使哈希函数计算得到的值,与数组中的位置对应。
4.根据权利要求1所述的一种RFID数据流的冗余数据清洗方法,其特征在于所述S1前,进行初始化,将Timestamp数组和ReaderID数组同时置0。
5.根据权利要求1所述的一种RFID数据流的冗余数据清洗方法,其特征在于所述读写器是逻辑读写器,监控同一个区域的多台读写器称为逻辑读写器。
6.根据权利要求1‑5之一所述的一种RFID数据流的冗余数据清洗方法,其特征在于构建RFID数据流S={x1,x2,x3,…,xn},所述S1中的xi是x1当所述S24执行完毕后,将i=i+1,并返回S21,直至数据流最后一项xn执行完S24。