| Literature DB >> 23645112 |
Hua Fan1, Quanyuan Wu, Yisong Lin, Jianfeng Zhang.
Abstract
In modern supply chain management systems, Radio Frequency IDentification (RFID) technology has become an indispensable sensor technology and massive RFID data sets are expected to become commonplace. More and more space and time are needed to store and process such huge amounts of RFID data, and there is an increasing realization that the existing approaches cannot satisfy the requirements of RFID data management. In this paper, we present a split-path schema-based RFID data storage model. With a data separation mechanism, the massive RFID data produced in supply chain management systems can be stored and processed more efficiently. Then a tree structure-based path splitting approach is proposed to intelligently and automatically split the movement paths of products . Furthermore, based on the proposed new storage model, we design the relational schema to store the path information and time information of tags, and some typical query templates and SQL statements are defined. Finally, we conduct various experiments to measure the effect and performance of our model and demonstrate that it performs significantly better than the baseline approach in both the data expression and path-oriented RFID data query performance.Entities:
Year: 2013 PMID: 23645112 PMCID: PMC3690028 DOI: 10.3390/s130505757
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1.Path graph of an electronics supply chain.
The path records of products in supply chain for a period.
Path section records.
Figure 2.An illustrative example of path splitting. (a) Topologic structure of the supply chain; (b) Recursive process of the computation of the section-tuples; (c) Section-tuples of the nodes; (d) Throughput and throughput ratio of nodes; (e) The root-node and its covered node set; (f) The construction of forward tree and backward tree; (g) Remove full-covered set. (h) The result of tree structure based path splitting algorithm.
Execution of path splitting algorithm.
|
|
|
|
| Δ | ||||
|---|---|---|---|---|---|---|---|---|
| A | 3 | 0 | 1 | 3.7 | 3 | 3.7 | 0.10 | 0.88 |
| B | 3 | 0 | 1 | 3.7 | 3 | 3.7 | 0.10 | 0.88 |
| C | 3 | 1 | 2 | 2.7 | 6 | 1.7 | 0.20 | 2.33 |
| D | 6 | 0 | 1 | 3.7 | 6 | 3.7 | 0.25 | 2.155 |
| E | 6 | 1 | 1 | 2.7 | 6 | 1.7 | 0.25 | 2.155 |
| F | 3 | 1 | 2 | 2.7 | 6 | 1.7 | 0.15 | 2.305 |
| G | 3 | 0 | 1 | 3.7 | 3 | 3.7 | 0.05 | 0.855 |
| H | 3 | 0 | 1 | 3.7 | 3 | 3.7 | 0.10 | 0.88 |
| I | 3 | 0 | 1 | 2.7 | 3 | 2.7 | 0.15 | 1.005 |
| J | 3 | 1.8 | 4 | 1.7 | 12 | 0.1 | 0.55 | 5.065 |
| K | 3 | 2 | 3 | 1.7 | 9 | 0.3 | 0.45 | 3.795 |
| L | 2 | 3 | 3 | 1 | 6 | 2 | 0.35 | 2.375 |
| M | 1 | 3 | 3 | 0 | 3 | 3 | 0.10 | 0.95 |
| N | 1 | 2.8 | 4 | 0 | 4 | 2.8 | 0.15 | 1.395 |
| O | 1 | 4 | 3 | 0 | 3 | 4 | 0.15 | 0.875 |
| P | 1 | 4 | 3 | 0 | 3 | 4 | 0.20 | 0.9 |
| Q | 2 | 2.8 | 4 | 1 | 8 | 1.8 | 0.40 | 3.22 |
| R | 1 | 3.8 | 4 | 0 | 4 | 3.8 | 0.30 | 1.37 |
| S | 1 | 3.8 | 4 | 0 | 4 | 3.8 | 0.10 | 1.27 |
Figure 3.(a) Original relational schema; (b) New relational schema to store RFID data.
Figure 4.Time tree. (a) The backward time tree; (b) The forward time tree.
Status of tables after storing trace records in Table 1. (a) TIME_TABLE in original schema; (b) TIME_TABLE_B and TIME_TABLE_F in new schema.
|
| ||||
|---|---|---|---|---|
| 1 | 18 | A | 2 | 3 |
| 2 | 17 | B | 5 | 6 |
| 3 | 16 | O | 8 | 9 |
| 4 | 9 | H | 11 | 12 |
| 5 | 6 | I | 14 | 16 |
| 7 | 8 | J | 13 | 15 |
| 10 | 15 | K | 10 | 11 |
| 11 | 12 | M | 12 | 14 |
| 13 | 14 | N | 13 | 15 |
| 19 | 36 | C | 3 | 4 |
| 20 | 35 | Q | 5 | 7 |
| 21 | 34 | O | 8 | 9 |
| 22 | 27 | K | 10 | 11 |
| 23 | 24 | M | 12 | 14 |
| 25 | 26 | N | 13 | 15 |
| 28 | 33 | H | 11 | 12 |
| 29 | 30 | I | 14 | 16 |
| 31 | 32 | J | 13 | 15 |
| 37 | 46 | C | 1 | 2 |
| 38 | 45 | Q | 4 | 5 |
| 39 | 44 | O | 8 | 9 |
| 40 | 43 | H | 11 | 12 |
| 41 | 42 | I | 14 | 16 |
| 47 | 66 | D | 1 | 3 |
| 48 | 65 | Q | 5 | 7 |
| 49 | 64 | O | 8 | 9 |
| 50 | 55 | H | 11 | 12 |
| 51 | 52 | I | 14 | 16 |
| 53 | 54 | J | 13 | 15 |
| 56 | 63 | K | 10 | 11 |
| 57 | 58 | M | 12 | 14 |
| 59 | 60 | N | 13 | 15 |
| 61 | 62 | N | 14 | 16 |
| 67 | 82 | F | 3 | 6 |
| 68 | 81 | O | 8 | 9 |
| 69 | 74 | H | 11 | 12 |
| 70 | 71 | I | 14 | 16 |
| 72 | 73 | J | 13 | 15 |
| 75 | 80 | K | 10 | 11 |
| 76 | 77 | M | 12 | 14 |
| 78 | 79 | N | 13 | 15 |
|
| ||||
| ( | ||||
|
| ||||
|
| ||||
| 1 | 18 | O | 8 | 9 |
| 2 | 5 | B | 5 | 6 |
| 3 | 4 | A | 2 | 3 |
| 6 | 11 | Q | 5 | 7 |
| 7 | 8 | C | 3 | 4 |
| 9 | 10 | D | 1 | 3 |
| 12 | 15 | Q | 4 | 5 |
| 13 | 14 | C | 1 | 2 |
| 16 | 17 | F | 3 | 6 |
|
| ||||
| TIME_TABLE_B | ||||
|
| ||||
|
| ||||
| 1 | 16 | O | 8 | 9 |
| 2 | 7 | H | 11 | 12 |
| 3 | 4 | I | 14 | 16 |
| 5 | 6 | J | 13 | 15 |
| 8 | 15 | K | 10 | 11 |
| 9 | 10 | M | 12 | 14 |
| 11 | 12 | N | 13 | 15 |
| 13 | 14 | N | 14 | 16 |
|
| ||||
| TIME_TABLE_F ( | ||||
Representative query set.
| Q1 | <TAG_ID = my_tag_id> |
| Q2 | <//A//B/C> |
| Q3 | <//A//B[(EndTime-StartTime) < 50]/C> |
| Q4 | <//A//B/C, Name = 'laptop'> |
| Q5 | <COUNT(), //A//B/C> |
| Q6 | <AVG(B.StartTime), //A//B/C> |
| Q7 | <AVG(C.EndTime-B.StartTime), //A//B/C> |
| Q8 | <MIN(B.StartTime), //A//B/C> |
| Q9 | <MIN(C.EndTime-B.StartTime), //A//B/C> |
SQL statements of Q1.
| < | |
|---|---|
| P.ELEN, P.OEN | |
| PATH_TABLE P, BUNDLE_TABLE B, TAG_TABLE T | |
| T.TAG_ID= | |
SQL statements of Q2.
| <// | |
|---|---|
| T.TAG_ID | |
| PATH_TABLE P, BUNDLE_TABLE B, TAG_TABLE T | |
| P.ELEN%( | |
SQL statements of Q3.
| <// | |
|---|---|
| T.TAG_ID | |
| PATH_TABLE P, BUNDLE_TABLE B, TAG_TABLE T, TIME_TABLE_B TB | |
| P.ELEN%( | |
| T.TAG_ID | |
| PATH_TABLE P, BUNDLE_TABLE B, TAG_TABLE T, TIME_TABLE_B TF | |
| P.ELEN%( | |
Figure 5.Storage cost comparison under different storage schema.
Figure 6.Query performance comparison.
Figure 7.Execution time for representative queries. (a) Query 1; (b) Query 2; (c) Query 3; (d) Query 4; (e) Query 5; (f) Query 6; (g) Query 7; (h) Query 8; (i) Query 9.