1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

80 716 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 2,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khi cần cho việc quản lý các đối tượng chuyển động, dự đoán các vị trí tương lai như giải quyết các bài toán xung đột, tắc nghẽn thì hệ thống VNTracking chưa thể đưa ra được các kết quả

Trang 2

LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS Hoàng Đỗ Thanh Tùng

Trang 3

tôi tự sưu tầm, tra cứu và sắp xếp cho phù hợp với nội dung yêu cầu của đề tài Nội dung luận văn này chưa từng được công bố hay xuất bản dưới bất kỳ hình thức nào và cũng không được sao chép từ bất kỳ một công trình nghiên cứu nào

Phần mã nguồn của chương trình do tôi thiết kế và xây dựng, trong đó

có sử dụng một số thư viện chuẩn và các thuật toán được các tác giả xuất bản công khai và miễn phí trên mạng Internet

Nếu sai tôi xin hoàn toàn chịu trách nhiệm

Người cam đoan

Lương Thành Được

Trang 4

Sau một thời gian tìm hiểu và nghiên cứu, luận văn “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” đã

hoàn thành Ngoài sự cố gắng hết mình của bản thân, tôi đã nhận được nhiều

sự khích lệ từ phía nhà trường, thầy cô, gia đình và bạn bè

Lời đầu tiên tôi xin chân thành cảm ơn sự giúp đỡ, chỉ bảo và hướng

dẫn nhiệt tình của thầy giáo TS Hoàng Đỗ Thanh Tùng – Viện Công Nghệ

Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam là giáo viên hướng dẫn tôi trong suốt thời gian làm luận văn

Tôi xin chân thành cảm ơn các thầy cô làm việc tại Viện Công Nghệ thông tin, các thầy cô tại trường Đại học Công Nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã giúp đỡ truyền đạt những kiến thức quý báu cho tôi trong quá trình học tập

Tôi xin chân thành cảm ơn các anh chị làm việc tại Trung tâm Tin học Viễn thông Hải Phòng đã tạo điều kiện giúp đỡ tôi hoàn thành luận văn này

Xin cảm ơn tất cả bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành luận văn tốt nghiệp này

Thái Nguyên, ngày 10 tháng 10 năm 2012

Học viên

Lương Thành Được

Trang 5

DANH SÁCH TỪ VIẾT TẮT III DANH SÁCH BẢNG IV DANH SÁCH HÌNH V

PHẦN MỞ ĐẦU 1

CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG GPS VÀ ÁP DỤNG BÀI TOÁN GPS CHO HỆ THỐNG VNTRACKING 2

1.1 Tổng quan về hệ thống GPS 2

1.1.1 Khái niệm cơ bản về GPS 2

1.1.2 Cấu trúc của hệ thống GPS 2

1.1.3 Hoạt động của GPS 3

1.1.4 Thành phần tín hiệu của GPS 4

1.2 Bài toán GPS trong quản lý đối tượng chuyển động VNTracking 5

1.2.1 Mô hình hệ thống 5

1.2.2 Các phương thức hoạt động của hệ thống VNTracking 6

1.2.3 Nguyên tắc hoạt động của hệ thống VNTracking online 7

2.3 Phân tích mô hình cơ sở dữ liệu của hệ thống VNTracking 11

CHƯƠNG 2 CÁC PHƯƠNG PHÁP TỔ CHỨC DỮ LIỆU CHO ĐỐI TƯỢNG CHUYỂN ĐỘNG 13

2.1 Cơ sở dữ liệu không gian truyền thống 13

2.1.1 Khái niệm R-tree 13

2.1.2 Cấu trúc R-tree 14

2.1.3 Thuật toán R-tree 16

2.2 Các phương pháp lập chỉ mục 23

2.2.1 Lập chỉ mục quá khứ tiến trình không-thời gian 24

2.2.1.1 Phương pháp tiếp cận đơn giản 25

2.2.1.2 Phương pháp tiếp cận từng phần liên tục 28

2.2.1.3 MV3Rtree 35

Trang 6

2.2.1.4 Lập chỉ mục cho các quỹ đạo (quá khứ) của các vị trí 36

2.2.2 Lập chỉ mục cho hiện tại và tương lai của đối tượng chuyển động 43

2.2.2.1 Khái niệm TPR-tree 44

2.2.2.2 Cấu trúc và thuật toán TPR-tree (Time parameterizer R-tree) 45

CHƯ Ơ NG 3 XÂY DỰNG CHƯ Ơ NG TRÌNH THỬ NGHIỆM 52

3.1 Thiết kế dữ liệu 52

3.2 Thiết kế file chỉ mục 53

3.3 Thiết kế chương trình 54

3.3.1 Biểu đồ lớp 55

3.3.2 Biểu đồ tuần tự 59

3.4 Một số kết quả thử nghiệm chương trình 61

3.4.1 Form chương trình 61

3.4.2 Thử nghiệm 64

3.4.3 Đánh giá 67

KẾT LUẬN 68

TÀI LIỆU THAM KHẢO 69

Trang 7

DANH SÁCH TỪ VIẾT TẮT

GPS Global Positioning System

GSM Global System for Mobile Communications

GPRS General Packet Radio Service

GIS Geographic Information System

SMS Short Message Services

MBR Minimum Bounding Rectangle

HR-tree Historical R-tree

MBB Minimum Bounding Box

STR-tree Spatio-Temporal R-tree

TB-tree Trajectory-Bundle tree

SAM Spatio Access Methods

MV3R-tree Multiversion 3D R-tree

TPR-tree Time Parameterized R-tree

VBR Velocity Bounding Rectangle

Trang 8

DANH SÁCH BẢNG

Bảng 1.1 Các thành phần cơ bản của hệ thông GPS 4

Bảng 1.2 Diễn giải của một khung bản tin 7

Bảng 3.1 Dữ liệu của một số đối tượng chuyển động tại thời điểm hiện tại 53

Bảng 3.2 Thông tin cấu trúc của file trên đĩa 53

Bảng 3.3 Thông tin của TPR-tree 54

Bảng 3.5 Thông tin phần tử 54

Bảng 3.6 Chức năng của các lớp 55

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

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

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

Trang 9

DANH SÁCH HÌNH

Hình 1.1 Sơ đồ cấu trúc của hệ thống GPS 2

Hình 1.2 Ý tưởng định vị của hệ thống GPS 3

Hình 1.3 Mô hình của hệ thống VNTracking 5

Hình 1.4 Mối quan hệ giữa các bảng của hệ thống VNTracking 8

Hình 1.5 Tìm kiếm vị trí và thông tin hiện thời của xe trên bản đồ 9

Hình 1.6 Xem nhanh các lộ trình của đối tượng 10

Hình 1.7 Kết xuất các báo cáo dừng đỗ của đối tượng 10

Hình 2.1 Biểu diễn cây R-tree 15

Hình 2.2 Biểu diễn 02 chiều của một R-tree 15

Hình 2.3 Trường hợp phân chia node (a) bad split, (b) good split 21

Hình 2.4 Phân chia phần tử thành các nhóm node mới 21

Hình 2.6 Hình hộp giới hạn với chiều thời gian 26

Hình 2.7 (1) Kiểu hình hộp (2) 3DR-tree 27

Hình 2.8 Một ví dụ của truy vấn theo mốc thời gian 28

Hình 2.9 Một R-tree ở thời gian T0, T1, T2 29

Hình 2.10 Phương pháp chồng chéo 29

Hình 2.11 Chèn vào một phiên bản mới e 1 thay thế đối tượng e0 31

Hình 2.12 Chèn một phiên bản mới của e 1 thay thế đối tượng e0 32

Hình 2.13 Nhân đôi một phần tử trung gian 33

Hình 2.14 Xử lý overflow 33

Hình 2.15 Làm dư thừa các phần tử khi bị tràn 34

Hình 2.16 Nhân đôi một phần tử trong khi xoá 34

Hình 2.17 Kết hợp của MVR-tree và 3DR-tree 36

Hình 2.18 Chuyển động của một đối tượng không gian và quỹ đạo tương ứng 37

Hình 2.19 (a) Xấp xỉ quỹ đạo sử dụng MBB (b) Ánh xạ của đoạn đường thẳng trong một MBB 38

Hình 2.20 Xử lý chèn cho STR-tree 39

Hình 2.21 Các kiểu chia đoạn 39

Hình 2.22 (a) Nút cha là không đầy đủ, (b) Nút cha đầy đủ 40

Hình 2.23 Cấu trúc TB-tree 41

Hình 2.24 (a) truy vấn Topological, (b) truy vấn Combined 42

Trang 10

Hình 2.25 Các điểm di chuyển và kết quả Leaf-Level MBRs 44

Hình 2.26 Ví dụ các điểm di chuyển như các Leaf Node của TPR-tree 46

Hình 2.27 Ví dụ các điểm di chuyển như các Internal Node của TPR-tree 46

Hình 2.28 Ví dụ cập nhật khoảng giới hạn theo tham số thời gian 48

Hình 2.29 Ví dụ truy vấn Timeslice trong TPR-tree 49

Hình 2.30 Ví dụ giao của một khoảng thời gian giới hạn và một truy vấn 50

Hình 3.1 Biểu đồ lớp của R-tree 58

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

Hình 3.3 Form chính của chương trình 62

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

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

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

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

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

Hình 3.9 Kết quả thử nghiệm Avg Node access 66

Trang 11

PHẦN MỞ ĐẦU

Ngày nay công nghệ GPS được ứng dụng rất nhiều, mang lại hiệu quả cao trong nhiều lĩnh vực khoa học công nghệ, phục vụ sản xuất đời sống và nhu cầu xã hội, đặc biệt là quản lý các đối tượng chuyển động với nhiều bài toán giao thông VNTracking là sản phẩm của tập đoàn VNPT sử dụng hệ thống định vị toàn cầu GPS với mục đích để định vị, giám sát, quản lý các phương tiện giao thông như xe tải, xe taxi, xe khách, xe cá nhân Tuy nhiên việc tối ưu hoá và tìm ra phương pháp tổ chức dữ liệu nhằm tăng hiệu quả sử dụng tài nguyên và tăng tốc độ truy xuất là cần thiết khi sản phẩm được sử dụng rộng rãi

Trong luận văn này tôi tập trung tìm hiểu, nghiên cứu các phương pháp

tổ chức cơ sở dữ liệu cho đối tượng chuyển động, từ đó đưa ra phương pháp tối ưu để hỗ trợ cho các hệ thống quản lý các đối tượng chuyển động nói chung và hệ thồng VNTracking nói riêng Đề tài luận văn tốt nghiệp

“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” được xây dựng dựa trên quá trình tìm hiểu các thành tựu

khoa học kỹ thuật, các bài báo trong lĩnh vực này và hệ thống lại một cách bài bản, chi tiết Luận văn gồm: phần mở đầu, phần nội dung, phần kết luận Phần nội dung bao gồm 3 chương cụ thể như sau:

Chương 1: Tổng quan về hệ thống GPS và áp dụng bài toán GPS cho

hệ thống VNTracking: phần này giới thiệu tổng quan về hệ thống GPS và áp dụng bài toán GPS trong quản lý đối tượng chuyển động

Chương 2: Các phương pháp tổ chức dữ liệu cho đối tượng chuyển động: phần này tìm hiểu một số phương pháp tổ chức dữ liệu quá khứ, dữ liệu hiện tại và tương lai, tìm hiểu và phân tích cấu trúc TPR-tree

Chương 3: Xây dựng chương trình thử nghiệm: phần này phân tích về xây dựng chương trình và một số kết quả thử nghiệm

Trang 12

Chương 1 TỔNG QUAN VỀ HỆ THỐNG GPS VÀ ÁP DỤNG BÀI

TOÁN GPS CHO HỆ THỐNG VNTRACKING 1.1 Tổng quan về hệ thống GPS

1.1.1 Khái niệm cơ bản về GPS

Hệ thống định vị toàn cầu GPS (Global Positioning System) [1] là một

hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo Trong cùng một thời điểm, ở một vị trí bất kỳ trên trái đất nếu xác định được khoảng cách đến tối thiểu ba vệ tinh thì ta có thể tính được tọa độ của vị trí đó

1.1.2 Cấu trúc của hệ thống GPS

Hệ thống GPS gồm 3 thành phần:

- Phần không gian: bao gồm các vệ tinh nhân tạo mà nó truyền tín hiệu

về thời gian và vị trí tới bộ phận người dùng

- Phần điều khiển: bao gồm toàn bộ thiết bị trên mặt đất được sử dụng

để giám sát và điều khiển các vệ tinh

- Phần người dùng: bao gồm các máy thu tín hiệu vệ tinh và phần mềm

xử lý, tính toán số liệu

Trang 13

Hình 1.2 Ý tưởng định vị của hệ thống GPS

Theo nguyên tắc thông thường để xác định vị trí của 1 vật nào đó ta cần xác định được khoảng cách của chúng tới các vật chuẩn khác, ví dụ như khi ta lạc đường , một người chỉ cho ta biết rằng anh đang cách Hà Nội 50Km, ta chỉ biết được là đang nằm đâu đó trong trên đường tròn bán kính 50Km quanh Hà nội, nếu 1 người khác bảo là ta cách Hải Phòng 50Km thì ta biết được là đang

Trang 14

nằm đâu đó trên đường tròn bán kính 50Km quanh Hải Phòng, ta xác định được 2 vị trí bằng cách cho 2 đường tròn cắt nhau, và nếu 1 người khác lại cho ta biết rằng vị trí đó cách Bắc Ninh 10 Km thì ta sẽ xác định được chính xác vị trí của mình GPS cũng sử dụng nguyên tắc đó để xác định vị trí, tuy nhiên trong không gian, 3 mặt cầu cắt nhau cho ra 2 điểm, nếu sử dụng trái đất là mặt cầu thứ tư thì sẽ xác định được vị trí của mình Vì vậy tất cả máy thu GPS bắt được tín hiệu của ít nhất ba vệ tinh để có thể tính được vị trí hai chiều (kinh độ và vĩ độ) và nếu máy thu GPS bắt được tín hiệu của bốn hay nhiều hơn số vệ tinh trong tầm nhìn thì máy GPS có thể tính được vị trí theo

ba chiều (kinh độ, vĩ độ và độ cao)

Bảng 1.1 Các thành phần cơ bản của hệ thông GPS

Trang 15

1.2 Bài toán GPS trong quản lý đối tƣợng chuyển động VNTracking

Hiện nay bài toán công nghệ định vị bằng GPS khi kết hợp với hạ tầng của hệ thống viễn thông hiện đại sẽ tạo ra một hệ thống giám sát và quản

lý các phương tiện giao thông vận tải một cách lý tưởng Hệ thống VNTracking là một giải pháp để giải quyết bài toán quản lý phương tiện giao thông một cách toàn diện, từ theo dõi vị trí tới quản lý tốc độ, lượng xăng dầu tiêu thụ và cảnh báo dấu hiệu bất thường nếu có

VNTracking quản lý phương tiện trực tuyến, sử dụng công nghệ định vị

vệ tinh toàn cầu GPS, với giải pháp này khách hàng có thể sử dụng máy điện thoại di động truy cập Internet qua phương thức GPRS, 3G hoặc Wifi, hoặc

sử dụng màn hình tivi để quản lý các phương tiện vận tải mọi lúc , mọi nơi trên toàn quốc

1.2.1 Mô hình hệ thống

Hình 1.3 Mô hình của hệ thống VNTracking

Trang 16

Trong mô hình hệ thống VNTracking có các thành phần như sau:

Hộp đen (thiết bị GPS Tracking): là thiết bị nhỏ gon được gắn trên xe Hộp đen có 02 thành phần chính hoạt động dựa trên sự kết hợp giữa sóng vệ tinh GPS và GSM/GPRS (sử dụng mạng viễn thông di động MobiFone, VinaPhone)

Hệ thống máy chủ: có cài phần mềm VNTracking để cập nhật, lưa trữ,

xử lý toàn bộ thông tin từ các phương tiện chuyển về và đưa ra các thông tin khi được truy vấn

Hệ thống truyền dẫn: sử dụng hệ thống thông tin di động GSM để truyền dữ liệu từ hộp đen gắn trên phương tiện về trung tâm lưu trữ và sử dụng hệ thông Internet, GSM/GPRS để truy vấn và lấy thông tin từ trung tâm lưu trữ

1.2.2 Các phương thức hoạt động của hệ thống VNTracking

VNTracking có thể giám sát hoạt động của phương tiện trong 02 chế độ: quản lý trực tuyến (online) và quản lý không trực tuyến (offline)

Quản lý theo phương thức trực tuyến (online) : là sự kết hợp của bản đồ

số Google Map và thông tin di động GSM qua cơ chế SMS hoặc GPRS, tất cả thông tin của phương tiện giao thông được thể hiện trên hệ thống, giúp cho việc định vị và giám sát chuyển động của phương tiện giao thông trong thời gian thực

Quản lý không trực tuyến (offline): hệ thống chỉ gồm máy thu GPS và thiết bị có chức năng lưu trữ như hộp đen, tự động thu thập các thông tin về vị trí, tốc độ của phương tiện giao thông trong suốt hành trình Sau khi kết thúc hành trình người quản lý có thể lấy số liệu ra để quản lý và kiểm tra xem có chạy đúng hành trình và đúng tốc độ quy định hay không

Trang 17

1.2.3 Nguyên tắc hoạt động của hệ thống VNTracking online

Bước 1 Các hộp đen được gắn trên các phương tiện chuyển động sẽ có nhiệm vụ nhận các tín hiệu từ vệ tinh, xử lý các tín hiệu từ vệ tinh và đưa ra các thông số (toạ độ long, lat, chiều cao, chiều cao so với mặt nước biển; thời gian; tốc độ và hướng của xe; số vệ tinh nhận được tín hiệu) Các thông số trên được thể hiện dưới dạng bản tin và theo khung chuẩn nhất định Ví dụ về khung bản tin có khuôn dạng như sau:

$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,*10

Bảng 1.2 Diễn giải của một khung bản tin

Bước 2 Các dữ liệu từ hộp đen sẽ được gửi định kỳ theo chu kỳ 10s/1bản tin về hệ thống máy chủ qua tín hiệu tin nhắn SMS của GSM/GPRS Các ID của từng phương tiện giao thông được thể hiện qua các ID của SMS nhận về

Trang 18

Bước 3 Tại hệ thống máy chủ sẽ nhận các bản tin từ hộp đen đưa về sau đó lưu trữ các dữ liệu vào cơ sở dữ liệu Tại đây các dữ liệu được lưu trữ

và cập nhật trong một hệ thống cơ sở dữ liệu có sẵn Các cơ sở dữ liệu được

tổ chức trong các bảng dữ liệu riêng để có thể thuận tiện cho việc lấy dữ liệu, truy vấn và đưa dữ liệu ra bản đồ nền Ví dụ về sơ đồ quan hệ giữa các bảng

dữ liệu trong hệ thống VNTraking:

Hình 1.4 Mối quan hệ giữa các bảng của hệ thống VNTracking

Bước 4 Tại các máy chủ và máy trạm tuỳ theo nhu cầu quản lý với hệ thống thông tin GIS (Geographic Information System) sẽ cài các phần mềm chuyên dụng để sử dụng Thông thường phần mềm sẽ được cài đặt với bản đồ nền GoogleMap để trực quan trong việc xác định vị trí của các đối tượng

Tại các máy trạm được cài đặt phần mềm sẽ được kết nối tới Server lưu trữ dữ liệu qua đường truyền Internet/GSM, tại đây người sử dụng có thể thực

Trang 19

hiện theo dõi, giám sát các đối tượng và tìm kiếm, truy vấn các thông tin cần thiết liên quan đến các đối tượng quản lý

Một số ví dụ về các chức năng của hệ thông VNTracking:

Tìm kiếm: Nhập biển số xe vào ô trắng bên cạnh nút , hệ thống

tự động trỏ tới vị trí của xe trên bản đồ thông tin chi tiết của xe hiển thị cùng vị trí của xe trên bản đồ Hoặc tìm xe bằng cách chọn biển số trong danh sách xe, hệ thống tự động trỏ tới vị trí của xe trên bản đồ cùng với

thông tin chi tiết của xe

Hình 1.5 Tìm kiếm vị trí và thông tin hiện thời của xe trên bản đồ

Xem nhanh lộ trình: xem lộ trình của các xe trong ngày, 15 phút, 30 phút gần đây của 1 xe đã chọn trên bản đồ Xem lộ trình của các đối tượng trong khoảng thời gian theo khoảng thời gian đã chọn hoặc xem trực tiếp trên bản đồ Người dùng có thể giám sát lộ trình của xe đang ở đâu, đang

Trang 20

chuyển động hay dừng, tốc độ di chuyển của xe một cách trực quan, và tổng

số km cũng như thời gian hoạt động

Hình 1.6 Xem nhanh các lộ trình của đối tƣợng

Hình 1.7 Kết xuất các báo cáo dừng đỗ của đối tƣợng

Trang 21

2.3 Phân tích mô hình cơ sở dữ liệu của hệ thống VNTracking

Hệ thống VNTracking lưu trữ dữ liệu dưới dạng các bảng dữ liệu như bảng lưu thông tin dữ liệu trả về từ các hộp đen EVEN_DATA (DeviceID, GpsTime, Latitude, Longtitude, Heading, VehicleSpeed,….), bảng lưu thông tin dữ liệu khách hàng Customer (CustomerID, Address, PhoneNumber, EmailAddress,….), bảng lưu thông tin phương tiện DRIVER_INFOR (CustomerID, DriverName, Driver_code,…), … Các bảng dữ liệu lưu các thông tin cố định không thay đổi và các thông tin thường xuyên thay đổi

Các dữ liệu cập nhật thường xuyên được lưu trữ tại bảng lưu dữ liệu trả

về từ hộp đen EVEN_DATA Các dữ liệu này được trả về từ các hộp đen là rất lớn (10s/1 bản tin), vì vậy một ngày số liệu bản ghi cho một đối tượng có thể lên đến 8640 bản ghi Khi quản lý đối tượng với số lượng lớn như 1000 phương tiện thì số bản ghi lên đến 8.640.000 bản ghi/ngày Với số lượng bản ghi lớn như vậy thì đòi hỏi cơ sở dữ liệu là rất lớn dẫn đến tốn không gian bộ nhớ Với số lượng các đối tượng ít và thời gian truy vấn ngắn thì việc lưu trữ

và truy vấn là đơn giản, nhưng với số lượng đối tượng lớn và thời gian truy vấn dài thì việc cập nhật và truy vấn gặp rất nhiều khó khăn, đặc biệt là thời gian truy vấn không cao

Trong hệ thống cơ sở dữ liệu VNTracking đã đưa ra một số giải pháp

để thực hiện bài toán cho việc truy vấn như chia các các bảng dữ liệu theo từng thời gian nhất định để thuận tiện cho việc lưu trữ và truy vấn, tuy nhiên hiệu quả thực hiện là chưa cao Khi thực hiện truy vấn các đối tượng, dữ liệu được ghép lại từ các bảng dữ liệu riêng biệt do đó tốc độ truy vấn không hiệu quả, bên cạnh đó các đối tượng chuyển động chưa được hỗ trợ các phương pháp lập chỉ mục

Các dữ liệu được lưu trữ thường xuyên vào cơ sở dữ liệu theo thời gian định kỳ cho dù nó có thay đổi hay không (ví dụ khi các đối tượng đứng im

Trang 22

không chuyển động thì cơ sở dữ liệu vẫn phải lưu các dữ liệu trả về của đối tượng theo thời gian đều dặn 10s/1 bản tin) dẫn đến các bản tin dư thừa và tốn không gian bộ nhớ

Khi cần cho việc quản lý các đối tượng chuyển động, dự đoán các vị trí tương lai (như giải quyết các bài toán xung đột, tắc nghẽn) thì hệ thống VNTracking chưa thể đưa ra được các kết quả cho mục đích sử dụng này mặc

dù cơ sở dữ liệu hệ thống VNTracking đã lưu trữ các đối tượng chuyển động theo những khoảng thời gian nhất định Trong khi đó đối với một cơ sở dữ liệu không thời gian thì các vị trí của đối tượng trong hiện tại, quá khứ, cũng như dự kiến trong tương lai sẽ được xem xét đến để sử dụng tối ưu cho các bài toán quản lý, dự đoán xung đột, tắc nghẽn Ví dụ dựa vào vị trí hiện tại của phương tiện (phương hướng và vận tốc) ta có thể dự đoán được các điểm

đỗ của phương tiện trong 10 phút tiếp theo, tìm các điểm đỗ xe hoặc tìm một phương tiện giao thông gần nhất đến vị trí cần thiết

Trong khuôn khổ luận văn này tôi sẽ tìm hiểu một số phương pháp tổ chức dữ liệu cho các đối tượng chuyển động trong không gian, từ đó sẽ tìm hiểu một phương pháp cụ thể để có thể hỗ trợ cho hệ thống VNTracking nhằm đạt hiệu quả và tối ưu hơn

Trang 23

Chương 2 CÁC PHƯƠNG PHÁP TỔ CHỨC DỮ LIỆU CHO ĐỐI

TƯỢNG CHUYỂN ĐỘNG

Trong chương này, đầu tiên tôi sẽ trình bày tóm tắt phương pháp lập chỉ mục truyền thống trong cơ sở dữ liệu không gian Sau đó sẽ trình bày một

số phương pháp lập chỉ mục cho các đối tượng chuyển động

2.1 Cơ sở dữ liệu không gian truyền thống

Phần lớn các phương pháp lập chỉ mục của đối tượng chuyển động dựa trên cơ cở của các phương pháp lập chỉ mục truyền thống, đặc biệt là R-tree [2] và các mở rộng của nó Do đó tôi sẽ trình bày về R-tree để làm cơ sở hiểu hơn về các phương pháp tổ chức dữ liệu sẽ nghiên cứu tại phần sau

2.1.1 Khái niệm R-tree

Các nghiên cứu về công nghệ cũng như ứng dụng trong lĩnh vực cơ sở

dữ liệu đang tăng trưởng với một sức mạnh đáng kinh ngạc Cùng với sự tăng trưởng nhanh chóng của lượng thông tin cũng như sự đa dạng về thể loại thông tin cần lưu trữ và xử lý, chúng ta ngày càng nhận ra những hạn chế của các hệ quản trị cơ sở dữ liệu quan hệ truyền thống, và nhu cầu cần phải có các hệ quản trị cơ sở dữ liệu với các dịch vụ phù hợp chính là yếu tố thúc đẩy những nghiên cứu mới trong lĩnh vực này Trong các hệ thống quản lý cơ sở

dữ liệu truyền thống (DBMSs) dữ liệu được lưu trữ trong cơ sở dữ liệu và không thay đổi trừ khi có thay đổi thông qua một bản cập nhật mới Các nghiên cứu trên lĩnh vực này đã thu được rất nhiều thành tựu, tuy nhiên cũng còn không ít khó khăn và thách thức đòi hỏi phải có các giải pháp mới Phương pháp R-Tree được xây dựng để truy xuất nhanh các vùng không gian, bằng cách chia nhỏ không gian thành các vùng nhớ và tạo chỉ mục cho các vùng không gian nhớ nhỏ này, sau đó áp dụng lý thuyết cây đồ thị để quản lý, lưu trữ và truy xuất các vùng không gian này R-tree là phương pháp phân

Trang 24

chia không gian dữ liệu thành các khối có thể lồng nhau hoặc chồng chéo lên nhau Đơn giản nhất, hình khối thường được sử dụng là hình chữ nhật giới hạn nhỏ nhất chứa dữ liệu (Minimum Bounding Rectangle – MBR) Chính các MBR được lưu trữ trên cấu trúc cây chứ không phải bản thân dữ liệu, khi đó việc tìm kiếm dữ liệu sẽ thực hiện trên các nút

2.1.2 Cấu trúc R-tree

Một cách tổng quát, R-tree là một cấu trúc chỉ mục cho các đối tượng không gian n-chiều và nó tương tự như B-tree Cấu trúc chỉ mục này là thực

sự linh động, thao tác chèn, xóa, cập nhật có thể kết hợp với phép tìm kiếm và

có thể thực hiện theo chu kỳ

Các nút lá trong cây chứa chỉ mục vì vậy chúng có khuôn dạng: (MBR,

object_ptr) - trong đó object_ptr tham chiếu đến một bộ dữ liệu trong cơ sở

dữ liệu và MBR là một hình chữ nhật n-chiều chứa các đối tượng không gian

nó thể hiện

Các nút không phải lá có khuôn dạng: (MBR, chirld_ptr) - trong đó

chirld_ptr là địa chỉ một nút khác trong cây và MBR bao gồm các hình chữ

nhật trong các nút thấp hơn

Nói cách khác, không gian MBR chứa mọi đối tượng được đánh chỉ

mục trong các cây con có gốc là đầu vào của MBR Cho M là số lượng tối đa đầu vào có thể vừa đủ với một nút và cho tham số m xác định số lượng tối

thiểu đầu vào tại một nút

Một R-tree thỏa mãn các thuộc tính sau:

- Mỗi một nút chứa số lượng nút con trong khoảng m và M ngoại trừ nút gốc

- Đối với mỗi đầu vào dạng (MBR, object_ptr) tại nút lá, MBR là một

hình chữ nhật nhỏ nhất có chứa đối tượng dữ liệu n-chiều được biểu

diễn bởi object_ptr

Trang 25

- Đối với mỗi đầu vào dạng (MBR, chirld_ptr) tại nút không phải nút

lá, MBR là một hình chữ nhật nhỏ nhất có chứa hình chữ nhật trong

chirld node

- Nút gốc có ít nhất là 2 nút con ngoại trừ đó là nút lá

- Đây là một loại cây cân bằng

Hình 2.1 Biểu diễn cây R-tree

Hình 2.2 Biểu diễn 02 chiều của một R-tree

Trang 26

2.1.3 Thuật toán R-tree

Các chỉ mục sẽ nằm tại các nút lá chứa các điểm dữ liệu, khi đó việc tìm kiếm không gian sẽ thực hiện trên một số lượng nhỏ các nút Một cơ sở

dữ liệu không gian bao gồm tập hợp của các bộ đại diện cho các đối tượng trong không gian, mỗi bộ có một nhận biết duy nhất, ta cóthể dùng nhận biết này để truy xuất nó Các node lá trong R-Tree chứa các đầu vào mẫu tin chỉ mục với khuôn dạng (I, tuple-identifier) trong đó tuple- identifier tham khảo đến một bộ trong cơ sở dữ liệu và I là hình chữ nhật n chiều, hình này là khung giới hạn nhỏ nhất MBR của các chỉ mục đối tượng không gian

I = (I0, I1,… In)

n - số chiều không gian

Ii - một khoảng biên khép kín [a,b], mô tả phạm vi của đối tượng cùng

với chiều i

Một node không phải là node lá (Internal node) chứa các phần tử như sau (I, child-pointer), child-point là địa chỉ của node thấp hơn trong R-Tree và

I bao phủ tất cả các hình chữ nhật trong các phần tử của các node thấp hơn

a Tìm kiếm trong cấu trúc dữ liệu tổ chức dưới dạng R-Tree

Thuật toán tìm kiếm duyệt cây từ gốc (root) đi xuống theo cách tương

tự như B-tree Tuy nhiên khi thăm một node sẽ có nhiều hơn một cây con dưới node đó cần được tìm kiếm, vì lý do đó thuật toán không thể bảo đảm thực hiện tốt trong các trường hợp xấu nhất Tuy nhiên với nhiều kiểu của dữ liệu, thuật toán cập nhật sẽ duy trì hình dạng của cây, cho phép thuật toán tìm kiếm loại đi các vùng không liên quan của không gian được đánh chỉ mục, và kiểm tra duy nhất dữ liệu gần vùng tìm kiếm Chúng ta sẽ biểu diễn phần hình chữ nhật của một chỉ mục E là EI, và phần nhận dạng dữ liệu hay child-pointer là Ep

Thuật toán tìm kiếm:

Trang 27

Cho R-tree có root là T, tìm tất cả các mẫu tin chỉ mục mà có các hình

chữ nhật chồng lên một hình chữ nhật cần tìm S

- S1 [Tìm kiếm trên cây con] Nếu T là một node lá, kiểm tra mỗi mục E

để xác định xem Ei có trùng lên S hay không Với tất cả các mục trùng

nhau, thực hiện tìm kiếm trên cây mà node root của nó được chỉ bởi Ep

- S2 [Tìm kiếm trên node lá] NếuT là một lá, kiểm tra tất cả các mục E

để xác định EI có trùng lên S hay không Nếu trùng E là một record đủ

tiêu chuẩn

b Chèn (Insertion)

Việc thêm các chỉ mục cho các bộ dữ liệu mới giống như thêm trong tree là các chỉ mục mới được thêm vào cho các lá, các node chứa quá số lượng sẽ bị tách ra và quá trình tách này sẽ lan truyền lên phía trên cây

B-Thuật toán Chèn (Insert):

Thêm một mục nhập chỉ mục mới E vào trong R-tree

- I1: [Tìm vị trí cho dữ liệu mới] dùng thuật toán chọn lá (ChooseLeaf)

để chọn một node lá L để thêm E

- I2: [Thêm dữ liệu cho node lá] nếu L có chỗ cho một entry khác, thêm

E nếu không thì dùng thuật toán chia node (SplitNode) để có được L và

LL chứa E và tất cả các mục nhập của L

- I3: [Lan truyền các thay đổi lên phía trên] Dùng thuật toán điều chỉnh cây (AdjustTree) trên L, đồng thời bỏ qua LL nếu việc phân chia đã được thực hiện

- I4: [Tăng trưởng cây] nếu phân chia node lan truyền làm cho root phân chia, tạo ra một root mới, mà con của root mới này là 2 node kết quả

c Thuật toán Chọn lá (ChooseLeaf)

Chọn một node lá mà node lá này đặt một chỉ mục mới E

- CL1: [Khởi tạo] cho tập N là node root

Trang 28

- CL2: [Kiểm tra lá] Nếu N là một lá, trả về N

- CL3: [Chọn cây con] Nếu N không phải là một lá, cho F là phần tử trong N mà các hình chữ nhật của nó FI cần mở rộng lá để tính EI Giải quyết các hạn chế bằng cách chọn phần tử với hình chữ nhật có diện tích nhỏ nhất

- CL4: [Đi xuống cho đến khi một node lá được tìm thấy] tập N là node con được chỉ đến bởi Fp và lặp lại từ CL2

d Thuật toán điều chỉnh cây (AdjustTree)

Đi lên từ một node lá L đến root, điều chỉnh hình chữ nhật bao phủ và lan truyền phân chia các node chia khi cần thiết

- AT1: [Khởi tạo] cho tập N=L, nếu L đã được phân chia trước đó, tập

NN là kết quả của node thứ hai

- AT2: [Kiểm tra nếu thực hiện] Nếu N là root, ngưng

- AT3: [Điều chỉnh vùng phủ hình chữ nhật trong mục nhập cha] Cho P

là node cha của N và cho EN là các entry của N trong P Điều chỉnh EN

I để cho nó bao sát xung quanh tất cả các hình chữ nhật entry trong N

- AT4: [Lan truyền node bị tách lên phía trên] Nếu N có NN (partner) kết quả từ một phân chia mới nhất, tạo một entry mới ENN P trỏ đến NN

và ENN I bao quanh tất cả các hình chữ nhật trong NN, thêm ENN vào

P nếu có chỗ Nếu không dùng SplitNode đểtạo ra P và PP chứa ENN

và tất cả các entry của P

- AT5: [Di chuyển đến mức kết tiếp] Cho tập N=P và tập NN=PP nếu có

sự phân chia xảy ra Lặp lại bước AT2

e Xóa (Deletion)

Thay đổi vị trí chỉ mục của record E từ R-tree

- D1: [Tìm node chứa record] thực hiện thuật toán FindLeaf để xác định

vị trí node lá L chứa E Ngừng nếu record được tìm thấy

Trang 29

- D2: [Xóa record] Xóa E từ L

- D3: [Lan truyền thay đổi] dùng thuật toán CondenseTree bỏ qua L

- D4: [Rút ngắn cây] Nếu root có duy nhất một con sau khi cây đã được điều chỉnh, tạo con cho root mới

f Thuật toán tìm lá (FindLeaf)

Cho R-tree có root là T, tìm node lá chứa đầu vài chỉ mục E

- FL1: [Tìm cây con] nếu T không phải là node lá, kiểm tra mỗi entry F trong T để xác định, nếu FI chồng lấp với EI Với mỗi entry thực hiện thuật toán FindLeaf trên cây mà root của nó được trỏ đến bởi Fp cho đến khi E được tìm thấy hay tất cả các entry đã được kiểm tra

- FL2: [Tìm node lá cho mục cho record] Nếu T là lá, kiểm tra mỗi entry

để xem nếu nó phù hợp với E, nếu E được tìm thấy trả về T

g Thuật toán Gom cây (CondenseTree)

Cho một node lá L, mộtentry được xóa từ node lá này, loại ra node này nếu nó có quá ít các chỉ mục và xây dựng lại các entry của nó Lan truyền việc loại node này lên trên khi cần thiết Điều chỉnh các hình chữ nhậtbao phủ trên đường dẫn đến root, làm cho các hình chữ nhật này nhỏ hơn nếu có thể

- CT1: [khởi tạo] cho tập N=L, tập Q là tập của các node bịloạibỏ, Q là tập rổng

- CT2: [Tìm entry cha] nếu N và root, nhảy tới bước CT6 Nếu không thì

cho P là cha của N, và cho EN là các entry của N trong P

- CT3: [Loại node không đủ (Eliminate under-full node)] Nếu N có ít hơn m entry, xóa EN khỏi P và thêm N vào tập Q

- CT4: [Điều chỉnh hình chữ nhật bao phủ] Nếu N không bị loại bỏ, điều chỉnh EN I để chứa sát lại các entry trong N

- CT5: [Di chuyển lên trên một mức trong cây] Cho tập N=P và lặp lại

các bước từ CT2

Trang 30

- CT6: [Chèn lại các entry bị mồ côi (Re-insert orphaned entries)]

Chèn lại vào tất cà các phần tử của các node trong tập Q Các entry từ các node lá bị loại bỏ được chèn lại vào trong các lá của cây như đã được mô

tả trong thuật toán Insert, nhưng các entry từ các node có mức cao hơn phải được đặt cao hơn trong cây, vì vậy các lá của các cây con phụ thuộc vào chúng sẽ nằm trên cùng mức như các lá của cây mẹ

h Cập nhật (Update)

Nếu một bộ dữ liệu được cập nhật để cho hình chữ nhật bao phủ nó bị thay đổi, bản ghi chỉ mục của nó phải bị xóa, cập nhật và chèn lại, vì vậy nó

sẽ phải tìm cách để đặt đúng vị trí trong cây

Một cách tìm kiếm khác so với cách được mô tả ở trên có thể hữu ích hơn, ví dụ để tìm tất cả các đối tượng dữ liệu được chứa hoàn toàn trong một vùng tìm kiếm, hoặc tất cả các đối tượng chứa vùng tìm kiếm

Các bước thực hiện có thể được thực hiện bằng các biến đổi dễ hiểu trên thuật toán đã cho Tìm một phần tử cụ thể mà nhận dạng của nó đã được biết trước cần đến thuật toán xóa và được thực hiện bằng thuật toán FindLeaf Các biến đổi của phạm vi xóa, trong phạm vi này, tất cả các đối tượng dữ liệu trên diện tích liên quan được xóa đi, cũng được R-tree cung cấp khá tốt

i Thuật toán tách node (Node Splitting)

Để thêm một phần tử mới, một node chứa đầy M các chỉ mục, cần phải phân chia tập hợp của M+1 các phần tử thành 2 node Sự phân chia nên được thực hiện theo cách làm cho nó không chắc có thể thực hiện được việc phân chia cả hai node mới sẽ cần được kiểm tra trên việc tìm kiếm thứ tự Khi đó

sự quyết định thăm một node phụ thuộc vào hình chữ nhật bao phủ nó có chồng lên diện tích tìm kiếm Tổng số diện tích của hai hình chữ nhật bao phủ sau khi tách có thể được giảm đến mức tối thiểu Hình dưới đây minh họa

Trang 31

điều này Diện tích của các hình chữ nhật trong trường hợp “bad split”lớn hơn nhiều so với trường hợp “good split”

Hình 2.3 Trường hợp phân chia node (a) bad split, (b) good split Cùng tiêu chuẩn đã được dùng trong thủ tục ChooseLeaf để quyết định xem nơi nào có thể chèn một chỉ mục mới vào tại mỗi mức trong cây, cây con được chọn là một cây mà hình chữ nhật bao phủ của nó phải được mở rộng ít

Bad nhất khi chèn chỉ mục mới vào

Chúng ta quay lại thuật toán phân chia tập M+1 phần tử thành hai nhóm cho mỗi node mới

Hình 2.4 Phân chia phần tử thành các nhóm node mới

j Thuật toán A Quadractic Cost

Thuật toán này cố gắng tìm một vùng được tách ra có diện tích nhỏ, nhưng không bảo đảm là có thể tìm được một vùng có thể có diện tích nhỏ nhất Chi phí là bậc 2 theo M và tuyến tính theo số lượng của các chiều

Trang 32

Thuật toán chọn 2 phần tử trong số M+1 phần tử làm phần tử đầu tiên của hai nhóm mới, bằng cách chọn này, hai phần tử mới này có thể làm lãng phí diện tích lớn nhất nếu cả hai được đặt trong cùng một nhóm Như vậy diện tích hình chữ nhật bao phủ cả hai phần tử, trừ đi diện tích của chính các phần

tử, sẽ là lớn nhất Các phần tử còn lại được gán vào các nhóm cùng lúc Tại mỗi bước, việc mở rộng diện tích đòi hỏi phải thêm mỗi phần tử còn lại cho mỗi nhóm được tính toán, và phần tử được gán thì sẽ xuất hiện một sự khác biệt lớn nhất giữa hai nhóm

k Thuật toán Quadratic Split

Phân chia một tập M+1 các chỉ mục thành hai nhóm

- QS1: [chọn phần tử đầu tiên cho mỗi nhóm] Áp dụng thuật toán PickSeeds để chọn hai phần tử làm các phần tử đầu tiên của các nhóm Gán mỗi phần tử cho một nhóm

- QS2: [Kiểm tra nếu đã thực hiện] Nếu tất cả các phần tử đã được gán, ngừng Nếu một nhóm có một vài phần tử mà tất cả những phần tử còn lại phải được gán vào nó theo thứ tự để cho nhóm này có m nhỏ nhất, gán các phần tử và ngừng

- QS3: [Chọn phần tử để gán] Thực hiện thuật toán PickNext để chọn phần tử kế tiếp để gán Thêm phần tử này vào nhóm mà hình chử nhật bao phủ của nó sẽ phải mở rộng ít nhất để chứa phần tử này Giải quyết các hạn chế bằng cách thêm phần tử vào nhóm có diện tích nhỏ nhất, khi đó nhóm này có các phần tử ít hơn nhóm khác Lặp lại QS2

l Thuật toán PickSeeds

Chọn hai phần tử làm phần tử đầu tiên của các nhóm

- PS1: [Tính toán sự thiếu hiệu quả của việc nhóm các phần tử với nhau] Cho mỗi cặp các phần tử E1 và E2 , tạo một hình chữ nhật J bao gồm E1I và E2I Tính d = area(J) – area (E1I) - area(E2I)

Trang 33

- PS2: [Chọn cặp gây lãng phí nhất] Chọn cặp có d lớn nhất

m Thuật toán PickNext

Chọn một mục còn lại để phân loại vào một nhóm

- PN1: [Xác định giá trị của việc đặt mỗi phần tử trong mỗi nhóm] Cho

mỗi phần tử E chưa được phân nhóm, tính d1 = diện tích được yêu cầu tăng trong hình chữ nhật bao phủ của nhóm 1 để bao gồm EI, tính toán

d2 tương tự như trên cho nhóm 2

- PN2: [Tìm phần tử thích hợp nhất cho một nhóm] Chọn bất kỳ phần tử

nào có sự khác biệt lớn nhất giữa d1 và d2

o Thuật toán LinearPickSeeds

Chọn hai phần tử làm các phần tử đầu tiên của các nhóm

- LPS1: [Tìm các hình chữ nhật xa nhất theo tất cả các chiều] Theo mỗi chiều, tìm các phần tử mà hình chữ nhật của nó có cạnh dưới cao nhất

và có cạnh trên thấp nhất Ghi lại việc phân chia

- LPS2: [Điều chỉnh hình dạng của cụm hình chữ nhật] Chuẩn hóa việc phân chia bằng cách chia chiều rộng của toàn bộ các tập theo chiều tương ứng

hóa lớn nhất theo bất kỳ chiều nào

2.2 Các phương pháp lập chỉ mục

Nhiều thập kỷ qua có rất nhiều phương pháp tổ chức dữ liệu không-thời gian được nghiên cứu và phát triển Phương pháp tổ chức dữ liệu không-thời gian chủ yếu tập trung vào 02 hướng là: (1) lập chỉ mục quá khứ, (2) lập chỉ mục hiện tại và dự đoán tương lai Trong phần này tôi sẽ tìm hiểu và phân tích một số phương pháp tổ chức dữ liệu dựa trên cấu trúc cơ bản của các phương pháp lập chỉ mục

Trang 34

2.2.1 Lập chỉ mục quá khứ tiến trình không-thời gian

Dữ liệu lịch sử của đối tượng chuyển động là rất hữu ích trong các ứng dụng như lập kế hoạch và quản lý tài nguyên Tuy nhiên trong cơ sở như vậy không gian để lưu trữ thông tin vị trí của đối tượng là rất lớn khi đối tượng chuyển động Do đó vấn đề quyết định là dữ liệu lịch sử nào là tốt nhất và lưu trữ chúng như thế nào để đạt hiệu quả cao

Trong phần này sẽ mô tả cấu trúc lập chỉ mục của dữ liệu quá khứ từ các tiến trình không-thời gian Có thể hiểu đơn giản tiến trình là một quá trình mà đối tượng giữ lại các kích thước và vị trí của nó từ thời điểm nó được chèn vào cơ sở dữ liệu đến thời điểm nó bị được xoá khỏi cơ sở dữ liệu Sự kết thúc và thay đổi của một tiến trình chỉ đơn giản là các đối tượng được bổ sung và xoá khỏi cơ sở dữ liệu

Hình 2.5 Mô tả tổng quan một tiến trình không-thời gian

Hình 2.5 mô tả một trường hợp thể hiện sự di chuyển của các đối tượng

và sự thay đổi như thu nhỏ/mở rộng của các đối tượng trong những điểm thời gian khác nhau Tuy nhiên trong trường hợp tổng quát sự thay đổi này không xác định được rõ ràng như sự chèn/xóa đối tượng Xem xét một ví dụ của 1 đối tượng di chuyển từ vị trí A tại thời điểm ti đến một vị trí C trong thời gian

kế tiếp ti+1 Cách đơn giản nhất để mô tả cho hành động này là xoá đối tượng

Trang 35

Điều này nó tạo ra 02 bản ghi (record) cho đối tượng: một bản ghi để lưu vị trí

A với khoảng thời gian tồn tại (lifetime) kết thúc tại ti+1 và một bản ghi để lưu

vị trí C với khoảng thời gian tồn tại bắt đầu tại ti+1 Thời gian tồn tại của đối tượng đã được chia nhỏ thành 2 bản ghi với khoảng thời gian liên tiếp và không chồng chéo Tuy nhiên, cách tiếp cận này là không hiệu quả nếu đối tượng liên tục thay đổi vị trí hay kích thước của nó theo thời gian dẫn đến việc nó sẽ phải tạo ra số lượng lớn các bản ghi chèn vào cơ sở dữ liệu, dẫn đến không gian lưu trữ lớn

Có một cách tốt hơn để giải quyết cho việc này là chỉ lưu trữ các hàm

mô tả của kích thước hoặc vị trí của các đối tượng di chuyển Hàm mô tả được sử dụng như các hàm tuyến tính theo thời gian vì các đối tượng có thể thay đổi hay được thu nhỏ/mở rộng theo thời gian Các bản ghi mới được chèn vào chỉ khi đối tượng có sự thay đổi vị trí hay kích thước của nó Các bản ghi mới sẽ duy trì thời gian tồn tại của đối tượng dưới một hàm chuyển động/kích thước mới Trong trường hợp tổng quát số lượng N chèn vào tương ứng với: (1) đối tượng chèn thường xuyên và (2) đối tượng chèn vào khi tham

số của hàm thay đổi

2.2.1.1 Phương pháp tiếp cận đơn giản

Một phương pháp tiếp cận đơn giản cho việc lập chỉ mục dữ liệu không-thời gian là coi trục thời gian như là một chiều giống như những chiều khác của không gian

Sau đó mỗi đối tượng có thể lưu trữ như một hình hộp chữ nhật 3 chiều trong đó độ cao của hình hộp chữ nhật chính là khoảng thời gian tồn tại của đối tượng Các phương pháp truy nhập không gian truyền thống SAM (R-tree [2], Quad-tree [8]) sẽ sử dụng không gian d+1 chiều, trong đó d là số chiều của không gian tham chiếu và bổ sung thêm chiều của thời gian

Trang 36

Theo cách tiếp cận này, phương pháp 3DR-tree [11] sử dụng trục thời gian như là một chiều giống như những chiều khác của không gian Tại mốc thời gian ti các đối tượng không gian chỉ đơn giản là được bổ sung vào hay xoá đi Khi một đối tượng di chuyển từ vị trí này sang vị trí khác một MBR được tạo

ra để mô tả những thay đổi của đối tượng MBR này chứa kích thước không gian và thời gian tồn tại của đối tượng Đối tượng sẽ được mô tả như một hình hộp 3 chiều, với chiều thời gian chính là thời gian tồn tại của đối tượng như hình 2.6

Hình 2.6 Hình hộp giới hạn với chiều thời gian

Hình 2.7 minh hoạ: (1) một đối tượng chuyển động được mô tả bởi nhiều hình hộp, mỗi hình hộp tương ứng với một phiên bản (version) khác nhau của đối tượng và (2) tương ứng với cấu trúc 3DR-tree Việc tìm kiếm các đối tượng trong phạm vi không thời gian giới hạn (tìm tất cả các đối tượng mà không bị chồng chéo nhau trong cả 2 chiều không gian và thời gian) được minh hoạ và nó là loại truy vấn 3D điển hình trong cấu trúc R-tree

Trang 37

Hình 2.7 (1) Kiểu hình hộp (2) 3DR-tree

Việc sắp xếp các chỉ mục chỉ bao gồm: 01 chỉ mục không gian (3D) để đặt vị trí đối tượng trong hệ toạ độ không gian và thời gian (thời gian là một trục giống như chiều khác của không gian) Vì đã có sẵn các công cụ để xử lý

dữ liệu đa chiều (ví dụ như R-tree và các mở rộng của nó), do đó người khai thác thực hiện truy vấn và xử lý như đối với việc lập chỉ mục trong không gian 3D

Ưu điểm của 3D R-tree là: thứ nhất nó rất dễ dàng để thực hiện vì cơ chế lập chỉ mục hoàn toàn dựa trên một khung cấu trúc dữ liệu không gian thống nhất R-tree và thứ hai nó làm tăng hiệu quả không gian vì nó không lưu trữ các đối tượng bị trùng lăp Vì vậy trong nhiều cuộc thử nghiệm [11] truy vấn theo khoảng thời gian dài là hiệu quả nhất đối với phương pháp này

Tuy nhiên nhược điểm của nó là thực hiện truy vấn trên khoảng thời gian ngắn và mốc thời gian là hạn chế vì quá trình thực hiện truy vấn mốc thời gian nó không những phụ thuộc vào các dữ liệu còn tồn tại tại mốc thời gian mà còn phụ thuộc vào tất cả các dữ liệu trong quá khứ, trong khi đó 3DR-tree nó không lưu trữ các trạng thái quá khứ Trong Hình 2.8 minh họa kích thước của hình hộp phụ thuộc vào nhiều đối tượng ở những mốc thời gian khác nhau 3DR-tree có thể bị chồng chéo do 2 vấn đề: đầu tiên là đối tượng tồn tại trong một thời gian dài được thể hiện bằng hình hộp chữ nhật

x

t

y

Trang 38

dài, thứ 2 khi đối tượng mới được chèn vào ở thời gian t, nó sẽ xoá thời gian

cũ vì vậy thời gian tồn tại mới của nó bắt đầu [t, tnow] trong đó tnow là một biến đại diện cho thời gian hiện tại, tnow được lưu trữ như một giá trị rất lớn để thời gian tồn tại của các đối tượng sẽ có một kết thúc chung

Hình 2.8 Một ví dụ của truy vấn theo mốc thời gian

2.2.1.2 Phương pháp tiếp cận từng phần liên tục

Không giống như các ý tưởng trước đây, ý tưởng này để duy trì các trạng thái quá khứ của R-tree (hoặc các chỉ mục) bằng cách giữ lại các trạng thái hiện tại và trạng thái quá khứ của R-tree Nó tái tạo lại gốc R-tree từ trạng thái này sang trạng thái khái, nó không quan tâm tới gốc (root) hay các nhánh (branches) đã được thay đổi hay không Cấu trúc này cho phép cập nhật trạng thái tại thời điểm cuối cùng của nó Một truy vấn quá khứ tại thời điểm t được chuyển trực tiếp tới trạng thái mà cấu trúc được thực hiện như thể 1 cây R-tree được lập chỉ mục trạng thái S(t)

Phương pháp tiếp cận này được minh hoạ trên hình 2.9, nó cho thấy rằng chỉ một vài nhánh và gốc được thay đổi Các nhánh con không thay đổi

nó cũng được sao chép lại, việc sao chép toàn bộ cây tại mỗi thời điểm là giải

Trang 39

Hình 2.9 Một R-tree ở thời gian T 0 , T 1 , T 2

Để giải quyết vấn đề này, có 2 phương pháp tiếp cận hiệu quả nhất: (1) tiếp cận chồng chéo HR-tree và (2) tiếp cận đa phiên bản (Multiversion) MVR-tree

Phương pháp tiếp cận chồng chéo HR-tree

HR-tree [5] sử dụng phương pháp chồng chéo này với giả định rằng các S(t) liên tiếp không có nhiều sự khác nhau Nó giữ các R-tree như một cây duy nhất Một mặt, nếu nút nào không thay đổi giữa 2 mốc thời gian thì các nhánh chung sẽ được chia sẻ giữa các cây với nhau để tiết kiệm không gian Mặt khác, nếu một nhánh có chứa nội dung đối tượng đã thay đổi nó được sao chép hoàn toàn và đánh dấu với một mốc thời gian như trong Hình 2.10

Hình 2.10 Phương pháp chồng chéo

Trang 40

Phương pháp chồng chéo khắc phục thiếu sót của phương pháp tiếp cận từng phần liên tuc Nó ngăn chặn việc sao chép các nhánh con từ bất kỳ thời điểm nào, đối với các nhánh và nút gốc khi có sự thay đổi nó sẽ chỉ ra các nút

và nhánh mới, vì vậy nó tiết kiệm được không gian lưu trữ Các thuộc tính thời gian là thời gian thực hiện, khoảng thời gian thực hiện là thời gian một đối tượng đã được lưu trong cơ sở dữ liệu không gian Do đó một MBR được lưu trữ trong cơ sở dữ liệu không gian kể từ thời điểm được đưa vào cho đến khi nó được cập nhật hay bị xoá đi

Lập chỉ mục thuật toán HR-tree nó tương tự như của R-tree [2] Tuy nhiên, nó có một số khác biệt từ R-tree:

Insertion

Đầu tiên nút lá để chèn vào các phần tử mới được tìm thấy bằng cách

áp dụng chức năng choosesubtree của R*-tree [3] Nếu một vài cây trước đó

là nút lá, nó sẽ được nhân đôi Sau đó, các mục mới được chèn và cập nhật vào thư mục gốc của cây hiện tại Chú ý răng những cây trước mốc thời gian

là không bao giờ được sửa đổi

Deletion

Chỉ có 02 sửa đổi cần thiết trong Guttman’s CondenseTree [2]: (1)

trong thuật toán chèn, thuật toán chèn trên phải được sử dụng thay thế gốc của

nó và (2) một nút có chứa mục để chèn vào trong tập Q sẽ được xóa bỏ chỉ khi nó là mốc thời gian hiện tại Mặt khác, một nút sẽ được xóa bỏ nếu nó là trùng lặp Nếu nó thuộc về trạng thái trước đó của R-tree, nó sẽ không được xóa bỏ

Ưu điểm của HR-tree là hiệu suất truy vấn mốc thời gian nhanh vì truy vấn mốc thời gian là truy vấn trực tiếp tới R-tree và tìm kiếm thực hiện bên trong cây

Ngày đăng: 15/11/2014, 22:00

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
2. Antonin Guttman, Michael Stonebraker (1984), "R-tree: A Dynamic Index Structure for Spatial Searchinh", Defense Technical Information Center Sách, tạp chí
Tiêu đề: R-tree: A Dynamic Index Structure for Spatial Searchinh
Tác giả: Antonin Guttman, Michael Stonebraker
Năm: 1984
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 Sách, tạp chí
Tiêu đề: The R*-tree: an efficient and robust access method for points and rectangles
Tác giả: N.Beckmann and H.P.Kriegel and R.Schneider and B.Seeger
Năm: 1990
4. Erwig, Güting, M.Schneider, M.Vazirgiannis (1999), “Spatio-Temporal Data Types: An Approach to Modeling and Querying Moving Objects in Databases”, Geoinformatica Sách, tạp chí
Tiêu đề: “Spatio-Temporal Data Types: An Approach to Modeling and Querying Moving Objects in Databases”
Tác giả: Erwig, Güting, M.Schneider, M.Vazirgiannis
Năm: 1999
5. M.A.Nascimento and J.R.O.Silva (1998), “Towards historical R-Trees”, ACM symposium on Applied Computing, p235–240 Sách, tạp chí
Tiêu đề: “Towards historical R-Trees”
Tác giả: M.A.Nascimento and J.R.O.Silva
Năm: 1998
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 Sách, tạp chí
Tiêu đề: “Novel Approaches in Query Processing for Moving Objects”
Tác giả: D.Pfoser, C.S.Jensen, and Y.Theodoridis
Năm: 2000
7. S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez (1999), “Indexing the Positions of Continuously Moving Objects”, Technical Report Sách, tạp chí
Tiêu đề: Indexing the Positions of Continuously Moving Objects”
Tác giả: S. Saltenis, C. S. Jensen, S. T. Leutenegger, and M. A. Lopez
Năm: 1999
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 Sách, tạp chí
Tiêu đề: Integrating Geo-Spatial Data into OLAP Systems Using a Set-based Quad-Tree Representation
Tác giả: Rauber A., Tomish P., Riedel H., and Kouba Z
Năm: 2000
9. Yufei Tao, Dimitris Papadias, Jimeng Sun (2003), “The TPR*-Tree: An Optimized Spatio-Temporal Access Method for Predictive Queries” Sách, tạp chí
Tiêu đề: “The TPR*-Tree: An Optimized Spatio-Temporal Access Method for Predictive Queries
Tác giả: Yufei Tao, Dimitris Papadias, Jimeng Sun
Năm: 2003
1. Ahmed El-Rabbany (2002), Introduction to GPS The Global Positioning System Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Sơ đồ cấu trúc của hệ thống GPS - 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
Hình 1.1. Sơ đồ cấu trúc của hệ thống GPS (Trang 12)
Hình 1.3. Mô hình của hệ thống VNTracking - 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
Hình 1.3. Mô hình của hệ thống VNTracking (Trang 15)
Hình 1.4. Mối quan hệ giữa các bảng của hệ thống VNTracking - 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
Hình 1.4. Mối quan hệ giữa các bảng của hệ thống VNTracking (Trang 18)
Hình 1.6. Xem nhanh các lộ trình của đối tƣợng - 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
Hình 1.6. Xem nhanh các lộ trình của đối tƣợng (Trang 20)
Hình 2.6. Hình hộp giới hạn với chiều thời gian - 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
Hình 2.6. Hình hộp giới hạn với chiều thời gian (Trang 36)
Hình 2.8. Một ví dụ của truy vấn theo mốc thời gian - 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
Hình 2.8. Một ví dụ của truy vấn theo mốc thời gian (Trang 38)
Hình 2.15. Làm dƣ thừa các phần tử khi bị tràn - 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
Hình 2.15. Làm dƣ thừa các phần tử khi bị tràn (Trang 44)
Hình 2.18. Chuyển động của một đối tượng không gian và quỹ đạo tương ứng - 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
Hình 2.18. Chuyển động của một đối tượng không gian và quỹ đạo tương ứng (Trang 47)
Hình 2.19. (a) Xấp xỉ quỹ đạo sử dụng MBB (b) Ánh xạ của đoạn đường - 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
Hình 2.19. (a) Xấp xỉ quỹ đạo sử dụng MBB (b) Ánh xạ của đoạn đường (Trang 48)
Hình 2.22. (a) Nút cha là không đầy đủ, (b) Nút cha đầy đủ - 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
Hình 2.22. (a) Nút cha là không đầy đủ, (b) Nút cha đầy đủ (Trang 50)
Hình 2.28. Ví dụ cập nhật khoảng giới hạn theo tham số thời gian - 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
Hình 2.28. Ví dụ cập nhật khoảng giới hạn theo tham số thời gian (Trang 58)
Hình 3.2. Biểu đồ tuần tự - 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
Hình 3.2. Biểu đồ tuần tự (Trang 69)
Hình 3.3. Form chính của chương trình - 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
Hình 3.3. Form chính của chương trình (Trang 72)
Hình 3.5. Form tạo cây Rtree - 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
Hình 3.5. Form tạo cây Rtree (Trang 73)
Hình 3.7. Form kết quả nhận đƣợc sau khi truy vấn - 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
Hình 3.7. Form kết quả nhận đƣợc sau khi truy vấn (Trang 74)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm