Biểu đồ tuần tự

Một phần của tài liệu Phương pháp tổ chức dữ liệu cho các đối tượng chuyển động hỗ trợ hệ thống VNtracking (Trang 69)

Biểu đồ này mô tả hoạt động tương tác tuần tự giữa các lớp, như là các hoạt động Insert (Phần tử), Delete (Phần tử), RangeQuery. Hình 3.2 liệt kê tất cả các hoạt động chính của mỗi lớp, ví dụ như lớp RTNode chỉ sử dụng hoạt động truy cập đĩa.

Hình 3.2. Biểu đồ tuần tự

Một số thuật toán sử dụng:

AlgorithmInsert (e) /* Input: e là một Entry để thực hiện chèn */

1. Re-insertedi= false for all levels 1 ≤ i ≤ h-1 (h là độ cao của cây) 2. Intialize an entry re-insertion list Lreinsert

3. Invoke ChoosePath to find the leaf node N to insert e 4. Invoke Node Insert (N,e)

5. For each entry e’ in the Lreinsert

6. Invoke ChoosePath to find the leaf node N to insert e’ 7. Invoke Node Insert (N,e)

End Insert

b. Thuật toán chèn một Node.

AlgorithmNode Insert (N, e) /* Input: N là nút để thực hiện chèn entry */

1. If N is a leaf node

2. Enter the information of e 3. If N overflows

4. If Re-inserted= false //no Re-inserted at leaf level yet

5. Invoke Pick Worst to select a set Sworst of entries 6. Remove entries in Sworst from N; add them toLreinsert 7. Re-inserted0=true

8. Else

9. Invoke Node Split to split N into itself anh N’

10.Let P be the parent of N

11.Node Insert (P, Ø) or Node Insert (P, N’) if N has been split

12.Else //N is a non-leaf node

13.Similar to line 2-9 except that (i) the MBR/VBR of the affected child node is adjusted, and (ii) in lines 4,7 replace Re-inserted0 with Re-insertedi where I is the level of N

c. Thuật toán xóa một phần tử từ Node.

AlgorithmDelete (E,N) /* Input: xóa một entry từ nút N */

1. If N is a leaf node

2. Search all entries of N to find E.mbr 3. Else /* N is an internal node

4. Find all entries of N that cver E.mbr

5. Follow the corresponding subtrees until the leaf L that contains E is found 6. Remove E from L

7. Endif

8. Invoke CondenseTree (L) 9. If the root has only one child 10.Remove the root

11.Set as new root its only child 12.Endif

End Delete

3.4. Một số kết quả thử nghiệm chƣơng trình 3.4.1. Form chƣơng trình

Chương trình demo thử nghiệm TPR-tree được viết trên ngôn ngữ C# của Microsoft visual Studio 2008, chạy trên máy tính PC với hệ điều hành Windows. Chương trình thiết kế với một số chức năng chính như sau:

- Form chính của chương trình: bao gồm 3 phần Cấu hình dữ liệu, Tạo cây dữ liệu TPR-Tree và Truy vấn dữ liệu, các quá trình sẽ được thực hiện tuần tự từ việc tạo dữ liệu đến việc truy vấn dữ liệu.

Hình 3.3. Form chính của chƣơng trình

- Cấu hình dữ liệu: trong phần này sử dụng để sinh ra các dữ liệu giả lập của các đối tượng chuyển động, nó tạo ra các file dữ liệu ngẫu nhiên dựa vào các tham số đầu vào như: số lượng đối tượng sẽ tạo, số mốc thời gian, tỷ lệ đối tượng trên khoảng thời gian. Dữ liệu tạo ra được đặt tên và lưu dưới dạng file với đuôi *.data.

Hình 3.4. Form cấu hình dữ liệu

- Tạo cây dữ liệu TPR-tree: trong phần này cây dữ liệu sẽ được tạo ra từ các dữ liệu giả lập, ta sẽ chọn file số liệu từ dữ liệu ngẫu nhiên để tạo lên một cây dữ liệu TPR-tree, sau đó sẽ ghi cây dữ liệu dưới dạng file *.tpr (file Index). Kết quả của việc tạo cây sẽ đưa ra các thông số liên quan đến việc tạo cây như: Cost of update, Node Internal, Node data, Data.

Hình 3.5. Form tạo cây Rtree

- Truy vấn dữ liệu: trong phần này dữ liệu sẽ được truy vấn dựa trên các file index, ta sẽ chọn file để thực hiện các truy vấn. Dữ liệu đầu vào truy vấn là số lần thực hiện truy vấn, khoảng thời gian truy vấn, giá trị MBR cần truy vấn và giá trị VBR cần truy vấn.

Hình 3.6. Form truy vấn dữ liệu

Kết quả của việc truy vấn sẽ được đưa ra màn hình bên phải với các thông số về: giá trị nút đi qua sau mỗi lần truy vấn, Avg data entries (trung bình số đối tượng tìm được trong tương lai), Avg node accesses (trung bình số nút đi qua để có kết quả).

Hình 3.7. Form kết quả nhận đƣợc sau khi truy vấn

3.4.2. Thử nghiệm

Quá trình thử nghiệm là thực hiện trên cây TPR-tree, mục tiêu của quá trình thử nghiệm là so sánh việc kết quả đạt được khi thực hiện truy vấn các mốc thời gian trong tương lai với các khối lượng dữ liệu khác nhau. Giả định rằng các đối tượng di chuyển là tương tự nhau tại mỗi mốc thời gian truy vấn. Mỗi một truy vấn gồm ba tham số truy vấn: Kính thước không gian của đối tượng (qrlen), vận tốc của đối tượng trên một chiều (qvlen) và khoảng thời gian truy vấn (qTlen). Trong thử nghiệm này sẽ test phạm vi truy vấn qrlen là [100, 100], qvlen là {-10, 10, -10, 10}, và khoảng thời gian qTlen từ [0, T]. Việc test sẽ thực hiện truy vấn ngẫu nhiên 100 lần sau đó lấu giá trị trung bình của mỗi lần truy vấn. Lưu ý rằng các truy vấn ở đây đều có kích thước, vectơ vận tốc và theo khoảng thời gian nghĩa là bản thân các truy vấn cũng là các cửa sổ chuyển động.

Bảng 3.7 mô tả giá trị đạt được trong tương lai khi thực hiện truy vấn tại những khoảng thời gian khác nhau 10, 20, 30, 40, 50 với khối lượng dữ liệu là 10000 (10k) đối tượng.

Bảng 3.8 mô tả giá trị đạt được trong tương lai khi thực hiện truy vấn tại những khoảng thời gian khác nhau 10, 20, 30, 40, 50 với khối lượng dữ liệu là 30000 (30k) đối tượng.

Bảng 3.9 mô tả giá trị đạt được trong tương lai khi thực hiện truy vấn tại những khoảng thời gian khác nhau 10, 20, 30, 40, 50 với khối lượng dữ liệu là 50000 (50k) đối tượng.

Trong các bảng dữ liệu, cột 1 thể hiện độ dài của khoảng thời gian truy vấn (T size), cột 2 thể hiện giá trị trung bình của số đối tượng tìm được trong tương lai (Avg data entries), cột 3 thể hiện giá trị trung bình của số nút đi qua để có kết quả (Avg node accesses), cột 4 thể hiện số nút trung gian (Internal nodes), cột 5 thể hiện số nút dữ liệu (Data nodes).

Bảng 3.7. TRP-tree tại khoảng thời gian khác nhau với 10k

T size Avg data

retrieves

Avg Node access

Internal

node Data node Data

10 7,81 23,44 34 532 10000

20 17,27 33,59 33 526 10000

30 28,00 44,20 33 553 10000

40 41,80 54,90 32 525 10000

50 56,37 67,09 32 525 10000

Bảng 3.8. TRP-tree tại khoảng thời gian khác nhau với 30k

T size Avg data

retrieves

Avg Node access

Internal

node Data node Data

10 23,31 42,13 96 1609 30000

20 51,73 62,43 95 1648 30000

30 88,18 87,03 95 1621 30000

40 127,13 113,32 94 1604 30000

Bảng 3.9. TRP-tree tại khoảng thời gian khác nhau với 50k

T size Avg data

retrieves

Avg Node access

Internal

node Data node Data

10 38,82 56,31 160 2706 50000

20 86,37 84,93 160 2726 50000

30 145,78 121,22 157 2653 50000

40 210,36 159,27 158 2648 50000

50 286,06 195,36 157 2649 50000

Hình 3.8. Kết quả thử nghiệm Avg data retrieves

3.4.3. Đánh giá

Nhìn vào kết quả thử nghiệm ta thấy rằng khi truy vấn tại khoảng thời gian trong tương lai càng xa thì số Node access càng nhiều, lý do là do các MBR của index tăng kích thước nên khả năng overlap càng nhiều, dẫn đến số nút truy xuất tăng lên.

Tương tự như vậy khi truy vấn khoảng thời gian trong tương lai càng xa thì số data entries cáng nhiều, khả năng các đối tượng đi qua cửa sổ truy vấn càng cao.

KẾT LUẬN KếT LUậN

Sau một thời gian tìm hiểu và hoàn thành luận văn, tác giả đã nắm bắt được một số phương pháp tổ chức cơ sở dữ liệu cho đối tượng chuyển động. Luận văn đã trình bày được các khái niệm tổng quát của các phương pháp lập chỉ mục cho các đối tượng chuyển động, các cách thức truy vấn và các ưu nhược điểm của các phương pháp. Ngoài ra luận văn cũng đề cập chi tiết phương pháp lập chỉ mục hiện tại và tương lai cho đối tượng chuyển động dựa trên cấu truc TPR-tree. Dựa vào cấu trúc để trình bày một thuật toán và một số kết quả thử nghiệm đạt được khi sử dụng thuật toán TRP-tree.

Để hoàn thiện hơn về đề tài hướng nghiên cứu trong tương lai sẽ tập trung nghiên cứu về các thuật toán từ đó xây dựng lên các kết quả so sánh cụ thể cho việc lập chỉ mục của các đối tượng chuyển động. Trên cơ sở đó áp dụng hỗ trợ cho các bài toán quản lý phương tiện giao thông nói chung và hệ thống VNTracking nói riêng.

Mặc dù tác giả đã có nhiều nỗ lực trong nghiên cứu và thực hiện đề tài, nhưng chắc chắn luận văn không tránh khỏi thiếu sót. Tác giả hy vọng rằng với phương pháp tổ chức dữ liệu cho đối tượng chuyển động sẽ được áp dụng rộng rãi cho các bài toán quản lý các đối tượng chuyển động./.

TÀI LIỆU THAM KHẢO

1. Ahmed El-Rabbany (2002), Introduction to GPS The Global Positioning System.

2. Antonin Guttman, Michael Stonebraker (1984), "R-tree: A Dynamic Index Structure for Spatial Searchinh", Defense Technical Information Center. 3. N.Beckmann and H.P.Kriegel and R.Schneider and B.Seeger (1990), "The

R*-tree: an efficient and robust access method for points and rectangles", Proceedings of the SIGMOD Conference, Atlantic City, NJ, p322-331.

4. Erwig, Güting, M.Schneider, M.Vazirgiannis (1999), “Spatio-Temporal Data Types: An Approach to Modeling and Querying Moving Objects in Databases”, Geoinformatica.

5. M.A.Nascimento and J.R.O.Silva (1998), “Towards historical R-Trees”,

ACM symposium on Applied Computing, p235–240.

6. D.Pfoser, C.S.Jensen, and Y.Theodoridis (2000), “Novel Approaches in Query Processing for Moving Objects”, Proceedings of the VLDB Conference, p395–406.

7. S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez (1999), “Indexing the Positions of Continuously Moving Objects”, Technical Report.

8. Rauber A., Tomish P., Riedel H., and Kouba Z (2000), Integrating Geo- Spatial Data into OLAP Systems Using a Set-based Quad-Tree Representation. In Proc. of the 4th Int. Conf. onInformation technology for Balanced Automation Systems in Production and Transportation, BASYS. 9. Yufei Tao, Dimitris Papadias, Jimeng Sun (2003), “The TPR*-Tree: An

10. Yufei Tao and D.Papadias (2001), “MV3R-Tree: A Spatio-Temporal Access Method for Timestamp and Interval Queries”, Proceedings of the LDB Conference, p431–440.

11. Y.Theodoridis, M.Vazirgiannis, and T. K. Sellis (1996), “Spatio- Temporal Indexing for Large Multimedia Applications”, IEEE International Conference on Multimedia Computing and Systems, p441– 448.

Một phần của tài liệu Phương pháp tổ chức dữ liệu cho các đối tượng chuyển động hỗ trợ hệ thống VNtracking (Trang 69)

Tải bản đầy đủ (PDF)

(80 trang)