A Redundant Data Cleaning Method for RFID Data Stream

By considering the time Bloom Filtering algorithm (TRBF) of reader and writer address in the RFID data flow redundant data filtering algorithm, the problem of poor redundant data cleaning and high error rate in the prior art is solved, and more efficient data cleaning and lower error rate are achieved.

CN113656662BActive Publication Date: 2025-04-01ZHEJIANG UNIV OF TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110928581.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-13
Publication Date
2025-04-01
Estimated Expiration
2041-08-13

AI Technical Summary

Technical Problem

The existing RFID data flow redundant data filtering algorithm in discrete manufacturing workshops has poor cleaning effect and high error rate due to the large amount of data, high real-time and strong spatial properties.

Method used

A time and ReaderID Bloom Filter (TRBF) is proposed to consider the reader and writer address. By hashmapping the unique identification number, reader address and timestamp of the tag in the RFID data stream, the Timestamp and ReaderID arrays are maintained to determine whether the data is redundant data.

Benefits of technology

Improves the effect of redundant data cleaning of RFID data streams, reduces error rate, maintains efficient cleaning speed and low memory footprint.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113656662B_ABST
    Figure CN113656662B_ABST
Patent Text Reader

Abstract

The invention discloses a redundant data cleaning method for RFID data stream, comprising the following steps: S1, when data arrives, performing k hash calculations on its epc, and mapping it to a Timestamp array, performing k hash calculations again, and mapping it to a ReaderID array; S2, obtaining the next data: S21, if the value of the hash of its epc corresponding to the Timestamp is 0, then it is non-redundant data; S22, otherwise, if there are any two differences in the ReaderID and they are not 0, and the difference is the value of its readerID minus the value of the hash of its epc corresponding to the ReaderID, then it is non-redundant data; S23, if S22 is not true, the value of its timestamp minus the hash of its epc in Timestamp is less than or equal to a time threshold, then it is redundant data; S24, reporting the non-redundant data, and updating the array, otherwise discarding it.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of data filtering, and in particular to a redundant data cleaning method for RFID data stream. Background Art

[0002] With the promotion of RFID technology in discrete workshops, the RFID network in manufacturing workshops has become more complex, and the number of tag objects has also increased. Therefore, among the existing data cleaning algorithms, most of them are only suitable for application scenarios with relatively single and simple reading and writing environments. However, the RFID reading and writing network in discrete manufacturing workshops is huge, the production factors are numerous, and the reading environment is complex, resulting in the fact that the correctness and real-time performance of its cleaning cannot be guaranteed.

[0003] RFID data cleaning can filter out unreliable data (redundant reads, multiple reads, and missed reads) in RFID data streams. Traditional RFID redundant data filtering algorithms include: Bloom Filter (BF), Time Bloom Filter (TBF), and Time Interval Bloom Filter (TIBF). RFID data streams in discrete manufacturing workshops have the characteristics of large data volume, high real-time performance, and strong spatiality. In the redundant data filtering of massive RFID data streams, Bloom filter (BF) has the advantages of high time and space efficiency, but it also has the disadvantages of single data "record" dimension and false positive misjudgment. Therefore, there is a time Bloom filter (TBF). The TBF algorithm changes the bit array into a time array, so that it can filter massive redundant data, and the algorithm has high real-time performance. However, with the frequent transition of tags (strong dynamicity), the RFID data stream has a strong spatiality, which leads to a sharp increase in the error rate of the TBF algorithm.

[0004] Therefore, in a discrete manufacturing environment characterized by a massive number of RFID-tagged objects and high mobility, the cleaning effect needs to be improved (the error rate needs to be further reduced). Summary of the invention

[0005] In order to solve the shortcomings of the prior art, the present invention proposes a time bloom filter algorithm (Time and ReaderID Bloom Filter, TRBF) considering the reader address based on the TBF algorithm, so as to improve the cleaning effect and reduce the error rate. The present invention adopts the following technical solutions:

[0006] A method for cleaning redundant data of an RFID data stream comprises the following steps:

[0007] S1, when new RFID data xi Upon arrival, x i . epc conduct k Independent hash function calculations k ∈{1,2,3,…,n}, n represents a natural number, that is, Hash 1( x i . epc ),…, Hash k ( x i . epc ) and mapped to Timestamp array. x i . epc Two rounds k Independent hash function calculations Hash 1[ Hash 1( x i . epc )],…, Hash k [ Hash k ( x i . epc )] and mapped to the ReaderID array; the RFID data x i It is a set of triple data, the data format is x i =< epc, readerID, timestamp >, where epc is the unique identification number of each label. readerID To read the reader address of the tag, that is, the location of the tag, timestamp The timestamp for the reader to read the tag. i ∈{1,2,3,…,n}, where n represents a natural number; the purpose of the two hashes is to ensure that the locations mapped to the Timestamp and ReaderID arrays are as different as possible, so that the time and location information of the data are "staggered" from each other in the two-dimensional array, thereby further reducing the probability of misjudgment;

[0008] S2, by comparing the next data x i+1 Time x i+1 . timestamp and location x i+1 . readerID Information and values ​​in a two-dimensional array to determine x i+1Whether it is redundant data, including the following steps:

[0009] S21, if Timestamp[ Hash k ( x i+1 . epc )]=0, k ∈{1,2,…, n}, then judge x i+1 It is non-redundant data; since the hash mappings of the same epc are the same, therefore, in a certain set of mappings, if any bit in the array is mapped to 0, it means that no value has been assigned, so it can be directly judged that the data has arrived for the first time, and therefore it is non-redundant data;

[0010] S22, otherwise, for all k ∈{1,2,…, n}, if there is x i+1 . readerID -ReaderID[ Hash k ( Hash k ( x i+1 . epc )]= ε k , and in the ReaderID array, any two differences ε k If they are equal and not 0, then the label x i+1 . epc Reader address x i+1 . readerID The tag has changed, that is, it has moved between readers. According to Definition 3, the data x i+1 The data is generated by another reader, so it can be directly judged x i+1 It is non-redundant data;

[0011] S23, if S22 is not true, then make a time judgment, that is, for all k ∈{1,2,…, n},if x i+1 . timestamp -Timestamp[ Hash k ( x i+1 . epc )]≤τ ,but x i+1 is redundant data, otherwise x i+1 is non-redundant data, the τ is the time threshold;

[0012] S24, if x i+1 If it is non-redundant data, x i+1 Report and update k A two-dimensional array:

[0013] Timestamp[ Hash k ( x i+1 . epc )]= x i+1 . timestamp ( k =1,2,…, n )

[0014] ReaderID[ Hash k ( Hash k ( x i+1 . epc ))]= x i+1 . readerID ( k =1,2,…, n );

[0015] if x i+1 If it is redundant data, it will be discarded.

[0016] Specifically, the mapping is to correspond the value calculated by the hash function to the position in the array, and then timestamp Put it into the position of Timestamp array, readerID Place it in the position of the ReaderID array.

[0017] Specifically, the value calculated by the hash function is a positive integer, which is used to mark the number of bits of the array, so that the value calculated by the hash function corresponds to the position in the array.

[0018] Specifically, in S1, first x i . epc conduct kThe hash function is calculated independently to map to the Timestamp array, and then the obtained hash value is processed for the second round. k Independent hash function calculations are used to map to the ReaderID array.

[0019] Specifically, before S1, when the TRBF algorithm is initialized, the Timestamp array and the ReaderID array are set to 0 at the same time.

[0020] Specifically, the reader is a logical reader. In order to improve the recognition probability of the tag, multiple readers are deployed in certain monitoring areas. Multiple readers monitoring the same area are called the same logical reader.

[0021] Specifically, construct the RFID data flow S ={ x 1, x 2, x 3,…, x n}, the S1 x i yes x 1 When the S34 is completed, i = i +1, and return to S31 until the last item in the data stream x n Execute S34.

[0022] The advantages and beneficial effects of the present invention are:

[0023] The present invention proposes a time Bloom filtering method (TRBF) that takes the reader / writer address into consideration. This method not only retains the advantages of the BF algorithm and the TBF algorithm, namely, fast cleaning speed, small memory space occupation, and high efficiency in filtering massive data streams, but can also use the data stream generated by dynamic tags to clean redundant data. Simulation results show that compared with similar inventions (TBF, TIBF), the TRBF algorithm has a lower error rate. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 It is a schematic diagram of the TRBF algorithm structure in the present invention.

[0025] Figure 2 It is a flow chart of the method of the present invention. DETAILED DESCRIPTION

[0026] The specific implementation of the present invention is described in detail below in conjunction with the accompanying drawings. It should be understood that the specific implementation described here is only used to illustrate and explain the present invention, and is not used to limit the present invention.

[0027] The present invention relates to filtering of RFID redundant data. Aiming at the massive RFID data stream in the production environment, the present invention designs a Time and ReaderID BloomFilter (TRBF) algorithm considering the reader ID address in combination with the production situation of discrete workshops. The algorithm is used for cleaning redundant data of RFID data stream. Based on the TBF algorithm, the TRBF algorithm considers another attribute in the tag data, namely the reader ID address. readerID This attribute can also be understood as the physical location of the tag. The improved TRBF algorithm expands the one-dimensional time array of TBF into a two-dimensional array, which are the time array Timestamp and the reader address array ReaderID. It includes the following steps:

[0028] Definition 1: The RFID data stream generated in any time period is defined as S ={ x 1, x 2, x 3,…, x n}, any one of the RFID data x i It is a set of triple data, the data format is x i =< epc, readerID, timestamp >, where epc is the unique identification number of each label. readerID To read the reader address of the tag, that is, the location of the tag, timestamp The timestamp for the reader to read the tag. i ∈{1,2,3,…,n}, where n represents a natural number.

[0029] Definition 2: Under the same logical reader (in order to improve the recognition probability of tags, multiple readers are deployed in some monitoring areas. These readers used to monitor the same area are called the same logical reader. Without specific instructions, readers are readers with different logics), the existing data flow S , where there is data x i and x i’ ∈ S ( i ≠ i’ ),and x i .epc = x i’ .epc ,like x i’ .timestamp - xi .timestamp ≤ τ (in τ is the time threshold set by the user in the actual application environment), at which time the data is considered x i’ Relative to x i is redundant data, i , i’ ∈{1,2,3,…,n}, where n represents a natural number.

[0030] Definition 3: Under different readers and writers, the existing data flow S , where there is data from different readers x i and x j ∈ S ( i ≠ j ),and x i .epc = x j .epc ,like x j .timestamp - x i .timestamp ≤ τ ,but x i .readerID ≠ x j .readerID , then the data is identified x j Relative to x i It is not redundant data. i , j ∈{1,2,3,…,n}, where n represents a natural number.

[0031] In view of the massive and spatial characteristics of RFID data flow in discrete manufacturing workshops, a Time and ReaderID Bloom Filter (TRBF) algorithm considering the reader address is proposed, such as Figure 1 As shown, tag1, tag2, and tag3 represent different tags.

[0032] The core idea of ​​the TRBF algorithm is to maintain two arrays, Timestamp and ReaderID. epc conduct kA random hash mapping is performed, and the mapping results are mapped to the Timestamp and ReaderID arrays respectively. The tag's time information and reader address information are compared with the data in the Timestamp and ReaderID arrays respectively to determine whether the data is redundant data.

[0033] like Figure 2 As shown, when there is new RFID data x i Upon arrival, judge x i Whether it is redundant data, the steps of performing redundant cleaning of the TRBF algorithm are as follows:

[0034] 1. When the TRBF algorithm is initialized, both the Timestamp array and the ReaderID array are set to 0.

[0035] 2. When new data x i Upon arrival, x i . epc conduct k Independent hash function calculations k ∈{1,2,3,…,n}, n represents a natural number, that is, Hash 1( x i . epc ),…, Hash k ( x i . epc ) and mapped to the Timestamp array, and two hash functions are performed at the same time Hash 1[ Hash 1( x i . epc )],…, Hash k [ Hash k ( x i . epc )] and mapped to the ReaderID array. The purpose of the two hashes is to ensure that the mapped positions in the Timestamp and ReaderID arrays are as different as possible, so that the time and location information of the data are "staggered" from each other in the two-dimensional array, thereby further reducing the probability of misjudgment.

[0036] Specifically, each piece of RFID data x i The format is < epc, readerID, timestamp> (tag identifier, reader address, timestamp), mapped to the value in the Timestamp array, is to perform hash calculation on the epc, the resulting value corresponds to the position in the Timestamp array, and then the data timestamp Place it in the array, for example: Hash 1 ( x i . epc )=2, x i .timestamp is assigned to the third position of the Timestamp array (the first position is 0), that is, Timestamp[2]= x i .timestamp.

[0037] The same is true for the values ​​in the ReaderID array, except that they are hashed twice. Hash 1 [ Hash 1 ( x i . epc )], the value in the array is the reader / writer address x i . readerID ,Since the reader and writer address does not like a timestamp, it will increase with time and cannot be directly judged by difference, the judgment method is different.

[0038] 3. By comparing the next data x i+1 Time x i+1 . timestamp and location x i+1 . readerID Information and values ​​in a two-dimensional array to determine x i+1 Whether it is redundant data, including the following steps:

[0039] (1) If Timestamp[ Hash k ( x i+1 . epc )]=0, k ∈{1,2,…, n}, then we can directly judge x i+1It is non-redundant data. Since the hash mapping of the same epc is the same, in a certain set of mappings, if any bit in the array is mapped to 0, it means that no value has been assigned. Therefore, it can be directly judged that the data has arrived for the first time, so it is non-redundant data.

[0040] (2) Otherwise, for all k ∈{1,2,…, n}, if there is x i+1 . readerID -ReaderID[ Hash k ( Hash k ( x i+1 . epc )]= ε k , and in the ReaderID array, any two differences ε k If they are equal and not 0, then the label x i+1 . epc Reader address x i+1 . readerID The tag has changed, that is, it has moved between readers. According to Definition 3, the data x i+1 Is the data generated by another reader x j , you can directly judge x i+1 is non-redundant data.

[0041] (3) If (2) is not true, then make a time judgment, that is, for all k ∈{1,2,…, n},if x i+1 . timestamp -Timestamp[ Hash k ( x i+1 . epc )]≤ τ ,but x i+1 For redundant data x i’ ,otherwise x i+1 is non-redundant data.

[0042] (4) If x i+1If it is non-redundant data, the data will be reported and updated at the same time k A two-dimensional array:

[0043] Timestamp[ Hash k ( x i+1 . epc )]= x i+1 . timestamp ( k =1,2,…, n )

[0044] ReaderID[ Hash k ( Hash k ( x i+1 . epc ))]= x i+1 . readerID ( k =1,2,…, n );

[0045] if x i+1 If it is redundant data, it will be discarded directly.

[0046] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some or all of the technical features thereof may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for cleaning redundant data of RFID data stream, characterized in that The steps include: S1, when RFID data x i Upon arrival, x i . epc conduct k Independent hash function calculations k ∈{1,2,3,…,n}, n represents a natural number, that is, Hash 1( x i . epc ),…, Hash k ( x i . epc ) and mapped to Timestamp array. x i . epc Two rounds k Independent hash function calculations Hash 1[ Hash 1( x i . epc )],…, Hash k [ Hash k ( x i . epc )] and mapped to the ReaderID array; the RFID data x i It is a set of triple data, the data format is x i =< epc,readerID, timestamp >, where epc is the unique identification number of each label. readerID To read the tag's reader address, that is, the tag's location, timestamp The timestamp for the reader to read the tag. i ∈{1,2,3,…,n}, n represents a natural number; first x i . epc conduct k The hash function is calculated independently to map to the Timestamp array, and then the obtained hash value is processed for the second round. k Independent hash function calculations are used to map to the ReaderID array; S2, by comparing the next data x i+1 Time x i+1 . timestamp and location x i+1 . readerID Information and values ​​in a two-dimensional array to determine x i+1 Whether it is redundant data, including the following steps: S21, if Timestamp[ Hash k ( x i+1 . epc )]=0, k ∈{1,2,…, n }, then judge x i+1 It is non-redundant data; S22, otherwise, for all k ∈{1,2,…, n }, if there is x i+1 . readerID -ReaderID[ Hash k ( Hash k ( x i+1 . epc )]= ε k , and in the ReaderID array, any two differences ε k Equal and not 0, judge x i+1 It is non-redundant data; S23, if S22 does not hold, for all k ∈{1,2,…, n },if x i+1 . timestamp -Timestamp[ Hash k ( x i+1 . epc )]≤ τ ,but x i+1 is redundant data, otherwise x i+1 is non-redundant data, the τ is the time threshold; S24, if x i+1 If it is non-redundant data, x i+1 Report and update k A two-dimensional array: Timestamp[ Hash k ( x i+1 . epc )]= x i+1 . timestamp ( k =1,2,…, n ) ReaderID[ Hash k ( Hash k ( x i+1 . epc ))]= x i+1 . readerID ( k =1,2,…, n ); if x i+1 If it is redundant data, it will be discarded.

2. The method for cleaning redundant data of an RFID data stream according to claim 1, characterized in that The mapping is to correspond the value calculated by the hash function to the position in the array, and then timestamp Put it into the position of Timestamp array, readerID Place it in the position of the ReaderID array.

3. The method for cleaning redundant data of RFID data stream according to claim 2, characterized in that The value calculated by the hash function is a positive integer, which is used to mark the number of bits of the array, so that the value calculated by the hash function corresponds to the position in the array.

4. The method for cleaning redundant data of an RFID data stream according to claim 1, characterized in that Before S1, initialization is performed to set both the Timestamp array and the ReaderID array to 0.

5. The method for cleaning redundant data of RFID data stream according to claim 1, characterized in that The reader is a logical reader. Multiple readers that monitor the same area are called logical readers.

6. A method for cleaning redundant data of an RFID data stream according to any one of claims 1 to 5, characterized in that Building RFID Data Flow S ={ x 1, x 2, x 3,…, x n }, the S1 x i yes x 1 When the S24 is completed, i = i +1, and return to S21 until the last item in the data stream x n Execute S24.

Citation Information

Patent Citations

  • RFID data redundancy processing method based on dynamic additional Bloom filter

    CN112528685A