BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN TIẾN PHƯƠNG MỘT SỐ KỸ THUẬT DỰ BÁO VỊ TRÍ VÀ TRUY VẤN CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM
KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
NGUYỄN TIẾN PHƯƠNG
MỘT SỐ KỸ THUẬT DỰ BÁO VỊ TRÍ VÀ TRUY VẤN CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG TRONG CƠ SỞ DỮ LIỆU
KHÔNG GIAN-THỜI GIAN
Chuyên ngành: Cơ sở toán học cho tin học
Mã số: 62 46 01 10
LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI - 2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM
KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ
NGUYỄN TIẾN PHƯƠNG
MỘT SỐ KỸ THUẬT DỰ BÁO VỊ TRÍ VÀ TRUY VẤN CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG TRONG CƠ SỞ DỮ LIỆU
KHÔNG GIAN-THỜI GIAN
Chuyên ngành: Cơ sở toán học cho tin học
Mã số: 62 46 01 10
LUẬN ÁN TIẾN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS TS Đặng Văn Đức
HÀ NỘI -2015
Trang 31
LỜI CAM ĐOAN
Tôi xin cam đoan những kết quả trình bày trong luận án là mới, trung thực và chưa từng được công bố trong bất kỳ công trình của ai khác Những kết quả viết chung với cán bộ hướng dẫn đã được sự đồng ý khi đưa vào luận án
Nghiên cứu sinh
Nguyễn Tiến Phương
Trang 42
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn sâu sắc tới PGS TS Đặng Văn Đức đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình nghiên cứu và hoàn thành luận án này Tôi cũng xin chân thành cảm ơn Lãnh đạo Viện Công nghệ thông tin, Viện Hàn lâm Khoa học và Công nghệ Việt Nam đã tạo điều kiện thuận lợi cho quá trình nghiên cứu của mình, cảm ơn các các bộ của phòng Hệ thông tin Địa lý đã nhiệt tình trong công tác, giúp tôi dành thời gian hoàn thành luận án
Cuối cùng, tôi xin cảm ơn gia đình, bạn bè, đồng nghiệp đã luôn là nguồn động viên, ủng hộ, giúp tôi thêm động lực để hoàn thành tốt luận án này
NCS Nguyễn Tiến Phương
Trang 53
MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC TỪ VIẾT TẮT VÀ KÝ HIỆU 5
DANH SÁCH HÌNH VẼ 7
DANH SÁCH BẢNG 9
MỞ ĐẦU 10
Các ứng dụng của dịch vụ dựa trên vị trí 10
Tình hình nghiên cứu trên thế giới và trong nước 12
a Mô hình hóa dữ liệu vị trí 13
b Các cách tiếp cận xử lý truy vấn phụ thuộc vị trí 15
c Tính riêng tư 18
Chương 1 CƠ SỞ DỮ LIỆU CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG 22
1.1 Một số khái niệm cơ bản 22
1.1.1 Cơ sở dữ liệu không gian-thời gian 22
1.1.2 Cơ sở dữ liệu các đối tượng chuyển động 24
1.1.3 Dữ liệu trong cơ sở dữ liệu các đối tượng chuyển động 26
1.1.4 Truy vấn trong cơ sở dữ liệu các đối tượng chuyển động 27
1.2 Các vấn đề cần giải quyết 29
1.2.1 Vấn đề về mô hình hóa vị trí 29
1.2.2 Vấn đề về ngôn ngữ truy vấn 30
1.2.3 Vấn đề về lập chỉ mục 30
1.2.4 Vấn đề về tính không chắc chắn/không chính xác 31
Chương 2 DỰ ĐOÁN VỊ TRÍ CỦA ĐỐI TƯỢNG CHUYỂN ĐỘNG 33
2.1 Dự đoán vị trí của đối tượng dựa theo hàm chuyển động 35
2.1.1 Dự đoán dựa theo hàm tuyến tính 36
2.1.2 Dự đoán dựa theo hàm phi tuyến 36
2.2 Dự đoán dựa trên hành vi của đối tượng 50
Trang 64
2.2.1 Luật kết hợp 52
2.2.2 Thuật toán phân cụm dựa trên mật độ DBSCAN 53
2.2.3 Mẫu hình di chuyển 54
2.2.4 Khai phá mẫu hình di chuyển 57
2.2.5 Khai phá luật kết hợp của mẫu hình quỹ đạo để dự đoán vị trí của đối tượng chuyển động 61
Chương 3 LẬP CHỈ MỤC DỮ LIỆU KHÔNG GIAN-THỜI GIAN 71
3.1 R-tree 73
Cấu trúc cây R-tree 73
3.2 TPR-tree 76
Cấu trúc cây TPR-tree 76
3.3 TPR*-tree 80
3.4 DO-TPR*-tree 81
3.4.1 Cấu trúc cây DO-TPR*-tree 83
3.4.2 Thuật toán tìm kiếm DOA_Search 84
3.4.3 Kết quả thực nghiệm 89
KẾT LUẬN 95
DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ 97
TÀI LIỆU THAM KHẢO 98
Trang 7DOA_Search Thuật toán tìm kiếm điều chỉnh theo mật độ của nút trên cây
DO-TPR*-tree DO-TPR*-tree Cấu trúc cây điều chỉnh theo mật độ dựa trên TPR*-tree
EWMA Exponentially Weighted Moving Average – Trung bình động trọng
số mũ GIS Geographical Information System – Hệ thống thông tin địa lý GPRS General Packet Radio Service - Dịch vụ vô tuyến gói tổng hợp GPS Global Positioning System – Hệ thống định vị toàn cầu
GSM Global System for Mobile Communications - Hệ thống thông tin di
động toàn cầu LBS Location Based Service – Dịch vụ dựa trên vị trí
MAI Motion Adaptive Indexing - Chỉ mục thích ứng chuyển động MBR Minimum Bounding Rectangle – Hình chữ nhật bao nhỏ nhất MODB Moving Objects Database – Cơ sở dữ liệu các đối tượng chuyển
động MODM Moving Objects Database Model – Mô hình cơ sở dữ liệu các đối
tượng chuyển động MQM Monitoring Query Management - Quản lý giám sát truy vấn
MSB Motion-Sensitive bounding Boxes - Hộp ranh giới nhạy chuyển
động PLACE Pervasive Location-Aware Computing Environments - Môi trường
tính toán khắp nơi nhận biết vị trí RMF Recursive Motion Function – Hàm chuyển động đệ quy
Trang 86
SINA Scalable INcremental hash-based Algorithm – Thuật toán đánh giá
các truy vấn phụ thuộc vị trí đồng thời SMA Simple Moving Average – Trung bình động đơn giản
SMS Short Message Services – Dịch vụ tin nhắn ngắn
TM Transition Matrix – Ma trận chuyển đổi
VBR Velocity Bounding Rectangle – Hình chữ nhật bao vận tốc
VCI Velocity-Constraint Indexing – Chỉ mục ràng buộc vận tốc
W-EWMA Window Exponentially Weighted Moving Average – Trung bình
động trọng số mũ sử dụng cửa sổ giới hạn
Trang 9
7
DANH SÁCH HÌNH VẼ
Hình 0.1 Môi trường nhận biết vị trí 10
Hình 0.2 Các thiết bị định vị vị trí 11
Hình 0.3 Ứng dụng của hệ thống quản lý và điều hành giao thông đô thị 11
Hình 1.1 Cơ sở dữ liệu không gian-thời gian và MODB 23
Hình 1.2 Mô hình hệ thống ứng dụng MODB 25
Hình 1.3 Điểm chuyển động rời rạc và liên tục 27
Hình 1.4 Các kiểu truy vấn phổ biến trong MODB 28
Hình 1.5 Ngữ nghĩa của CÓ THỂ và CHẮC CHẮN trong MODB 31
Hình 2.1 Dự đoán sai của mô hình tuyến tính 37
Hình 2.2 So sánh thời gian tính toán của các kỹ thuật dự đoán 46
Hình 2.3 So sánh kết quả dự đoán của của W-EWMA và EWMA 47
Hình 2.4 Ảnh hưởng của w với kết quả dự đoán 48
Hình 2.5 Ảnh hưởng của giá trị α với kết quả dự đoán 49
Hình 2.6 Quỹ đạo chuyển động của đối tượng và các thông tin địa lý 55
Hình 2.7 Phân tách quỹ đạo của đối tượng 58
Hình 2.8 Quỹ đạo con 59
Hình 2.9 Quy trình khai phá mẫu hình di chuyển 60
Hình 2.10 Sai lệch khi dự đoán di chuyển của đối tượng trong thực tế 62
Hình 2.11 So sánh độ chính xác của hai phương pháp dự đoán 69
Hình 3.1 Các cấu trúc cây phát triển từ TPR-tree (2005-2012) 72
Hình 3.2 Biểu diễn hai chiều của R-tree 75
Hình 3.3 Biểu diễn cấu trúc cây R-tree 75
Trang 108
Hình 3.4 Các điểm chuyển động ở các nút lá của TPR-tree 76
Hình 3.5 Các điểm chuyển động trong các nút trung gian của TPR-tree 77
Hình 3.6 Cập nhật khoảng giới hạn theo tham số thời gian 78
Hình 3.7 Biểu diễn nút trung gian trong cây TPR-tree 79
Hình 3.8 Vùng quét từ thời điểm 0 đến thời điểm 1 81
Hình 3.9 MBR của R tại thời điểm khởi tạo 0 và mở rộng R1 tại thời điểm 1 82
Hình 3.10 Ảnh hưởng của độ lớn phạm vi truy vấn 92
Hình 3.11 So sánh hiệu năng của DO-TPR*-tree với TPR*-tree 93
Trang 119
DANH SÁCH BẢNG
Bảng 2.1 Tọa độ các điểm trên quỹ đạo mẫu 67
Bảng 2.2 Dữ liệu mẫu về di chuyển hàng ngày của đối tượng 67
Bảng 2.3 Quỹ đạo của đối tượng 68
Bảng 2.4 Di chuyển thường xuyên và độ hỗ trợ 68
Bảng 2.5 Mẫu hình di chuyển với độ hỗ trợ nhỏ nhất là 0.5 69
Bảng 3.1 Dữ liệu thực nghiệm các đối tượng chuyển động 90
Trang 1210
MỞ ĐẦU
Sự kết hợp các chức năng của công nghệ định vị cá nhân, công nghệ định vị vệ tinh, công nghệ truyền thông không dây và công nghệ GIS đã tạo ra một môi trường mới trong đó tất cả các đối tượng chuyển động có thể xác định vị trí của chúng Các
công nghệ này là cơ sở cho việc phát triển mạnh mẽ môi trường nhận biết vị trí và các dịch vụ dựa trên vị trí Dịch vụ dựa trên vị trí là dịch vụ được đặc chế dựa trên
những thông tin về vị trí của đối tượng Những dịch vụ này là tiềm năng để nâng cao chất lượng cuộc sống nhờ việc thêm các thông tin vị trí vào hầu hết các thiết bị, đối tượng chuyển động như ô tô, máy bay, tàu thủy, máy tính xách tay, điện thoại di động, vật nuôi và cả con người…
Hình dưới đây thể hiện một môi trường nhận biết vị trí đơn giản mà trong đó các đối tượng chuyển động sử dụng các thiết bị định vị vị trí như GPS hay điện thoại thông minh Các đối tượng này có thể gửi thông tin về vị trí và vận tốc của mình lên máy chủ cơ sở dữ liệu và lấy thông tin cũng như thực hiện các truy vấn từ đó
Hình 0.1 Môi trường nhận biết vị trí
Các ứng dụng của dịch vụ dựa trên vị trí
Các thiết bị có hỗ trợ định vị vị trí như GPS, RFID, các thiết bị cầm tay, điện thoại
di động… ngày càng được sử dụng rộng rãi (hình 0.2) Điều này là tiền đề cho việc
Trang 1311
phát triển các ứng dụng dựa trên vị trí mà trong đó các đối tượng chuyển động cùng
với các thiết bị này thay đổi vị trí liên tục trong không gian, theo thời gian
Hình 0.2 Các thiết bị định vị vị trí
Các ứng dụng có thể thấy rõ nhất là quản lý và điều hành giao thông đô thị (hình
0.3) ; theo dõi, dự báo thời tiết; cảnh báo sóng thần, động đất; theo dõi và xử lý cứu
hộ, cứu nạn… Trong các ứng dụng này, người sử dụng có thể thực hiện các truy vấn
kiểu như: “Tìm tất cả các xe taxi chưa có khách cách sân bay 1km trong vòng 15
phút nữa?” , “Ước tính lưu lượng xe cộ tại ngã tư A lúc 11h trưa nay”, “Cơn bão B
đang hình thành có ảnh hưởng đến vùng V hay không, nếu có thì bao giờ và phạm vi, mức độ phá hủy như thế nào?”…
Hình 0.3 Ứng dụng của hệ thống quản lý và điều hành giao thông đô thị
Trang 1412
Với tốc độ đô thị hóa ngày càng nhanh, các thành phố lớn trên chục triệu dân ngày càng nhiều, vấn đề quản lý và điều hành giao thông đô thị càng trở nên bức thiết Hơn nữa với mức sống ngày càng cao, nhu cầu quản lý tài sản cá nhân như xe cộ, vật nuôi trong nhà hay thậm chí là cả giám sát chăm sóc trẻ em, người cao tuổi ngày càng lớn
Để đáp ứng được các nhu cầu đó, bài toán quản lý thông tin các đối tượng chuyển động dựa trên nền tảng của môi trường và ứng dụng định vị vị trí càng cần có lời giải chính xác, tối ưu Nhiều mô hình cơ sở dữ liệu các đối tượng chuyển động (MODM
- Moving Objects Database Model) đã và đang được nghiên cứu, thử nghiệm Trong các mô hình này, dữ liệu của các đối tượng chuyển động, bao gồm cả thông tin về vị trí trong quá khứ, hiện tại và tương lai được lưu trữ và cập nhật thường xuyên Khó khăn lớn khi giải quyết bài toán này là làm thế nào để khai thác hệ thống một cách hiệu quả khi số lượng đối tượng chuyển động trong không gian-thời gian (spatio-temporal) là rất lớn và thường xuyên thay đổi vị trí Việc truy vấn vị trí của đối tượng trong tương lai cùng với tính không chắc chắn của nó cũng là một vấn đề cần giải quyết và nâng cao tính chính xác Một số phương pháp đã được đề xuất nhằm nâng cao khả năng dự đoán vị trí cũng như tăng tốc độ truy vấn của các đối tượng chuyển động Tuy nhiên các nghiên cứu này mới đạt được những kết quả nhất định và còn một số khó khăn, hạn chế cần cải tiến, khắc phục Luận án này tập trung chính vào việc góp phần giải quyết lớp bài toán quản lý thông tin đối tượng chuyển động hay quản lý và điều hành giao thông một cách nhanh chóng, hiệu quả hơn
Tình hình nghiên cứu trên thế giới và trong nước
Vấn đề quản lý thông tin đối tượng chuyển động trong môi trường và ứng dụng dựa trên vị trí đã được đặt ra và tìm cách giải quyết từ những năm 90 của thế kỷ trước
Nó đã đạt được những kết quả nhất định và đang được ứng dụng trong thực tế ở nhiều nước phát triển trên thế giới như Mỹ, Nhật Bản, Hàn Quốc… Ở Việt Nam, TP Hà Nội đang áp dụng hệ thống giám sát giao thông qua bản đồ số và camera từ tháng 3/2015 (hình 0.3) Đồng thời, Hà Nội cũng là địa phương đầu tiên thực hiện thí điểm
đề án giao thông thông minh dự kiến trong tháng 7/2015 và sẽ triển khai diện rộng
Trang 1513
trên toàn quốc trong những năm tới Với đề án này, thông qua phần mềm cài đặt trên điện thoại của người tham gia giao thông, các nhà mạng thu thập thông tin về tốc độ, hướng di chuyển, mật độ xe trên đường Dữ liệu này sau đó được gửi về trung tâm giám sát để điều chỉnh tức thời hoặc đưa ra các nghiên cứu, quy hoạch giao thông đô thị Cũng thông qua đó, người tham gia giao thông có thể xác định đường đi tối ưu, tránh các điểm ùn tắc…
Như vậy, cùng với sự phát triển mạnh mẽ của các ứng dụng dựa trên vị trí, khái niệm về hệ cơ sở dữ liệu nhận biết vị trí (Location-aware database systems) ngày càng trở nên quan trọng và đặt ra những thách thức lớn cho sự phát triển của các hệ quản trị cơ sở dữ liệu hiện có Các hệ quản trị cơ sở dữ liệu hiện tại không phù hợp với việc quản lý các dữ liệu thay đổi liên tục theo thời gian như vị trí của các đối tượng chuyển động Hệ cơ sở dữ liệu nhận biết vị trí phải có các khả năng sau: a) Mô hình hóa một lượng lớn dữ liệu vị trí theo cách thức nào đó để có thể cập nhật vào và lấy ra một cách hiệu quả
b) Xử lý hiệu quả các truy vấn dữ liệu phụ thuộc vị trí
c) Đảm bảo sự riêng tư về thông tin vị trí của người dùng
a Mô hình hóa dữ liệu vị trí
Ứng dụng cung cấp dịch vụ dựa trên vị trí yêu cầu phải truy cập vào một lượng lớn dữ liệu vị trí lại liên tục thay đổi Vì có quá nhiều dữ liệu, việc tổ chức chúng theo cách mà những thông tin liên quan có thể được lấy ra một cách hiệu quả là rất quan trọng Hơn thế, do dữ liệu thay đổi thường xuyên, việc giảm chi phí cập nhật cũng rất cần thiết Hai kỹ thuật chính để biểu diễn dữ liệu vị trí thường được sử dụng là: cơ sở
dữ liệu các đối tượng chuyển động (MODB) và dòng dữ liệu liên tục (data streams)
Cơ sở dữ liệu các đối tượng chuyển động
Cơ sở dữ liệu các đối tượng chuyển động là phần mở rộng của một hệ thống quản
lý cơ sở dữ liệu truyền thống, hỗ trợ lưu trữ dữ liệu vị trí cho đối tượng chuyển động liên tục Những nỗ lực đầu tiên trong việc mô hình hóa đối tượng chuyển động là biểu
Trang 16một hệ thống sử dụng các kiểu dữ liệu trừu tượng để biểu diễn các đối tượng chuyển
động bằng các khái niệm như: “điểm chuyển động” và “vùng chuyển động” Su và
Ibarra [40] đề xuất một cơ sở dữ liệu ràng buộc thông tin vị trí bằng cách sử dụng công thức toán học để biểu diễn dữ liệu MD-HBase [31] đã tạo ra hệ quản trị dữ liệu cho dịch vụ dựa trên vị trí mà tận dụng cấu trúc chỉ mục đa chiều nằm trên bộ lưu trữ
theo cặp khóa-giá trị Bộ lưu trữ cặp khóa-giá trị này cho phép DBMS để xử lý việc
chèn một lượng lớn dữ liệu với tốc độ cao trong khi vẫn duy trì khả năng chịu lỗi Cấu trúc chỉ mục này làm cho việc truy vấn dữ liệu hiệu quả hơn
Trong CSDL các đối tượng chuyển động, việc dự đoán vị trí đóng vai trò quan trọng trong mô hình hóa vị trí nhằm giảm tần suất cập nhật thông tin này Có một số phương pháp như dự đoán theo hàm chuyển động [33], [34], lô-gíc mờ [47], xác xuất thống kê [5], [19] hay kết hợp nhiều phương pháp khác nhau [15], [23]
Lập chỉ mục là đặc biệt quan trọng trong cơ sở dữ liệu các đối tượng chuyển động
vì có một lượng rất lớn dữ liệu và chẳng hệ thống nào muốn tìm kiếm bằng cách kiểm tra tất cả các dữ liệu có trong đó Cấu trúc cây R-tree [10] có thể được sử dụng để lập chỉ mục dữ liệu không gian, tuy nhiên vì dữ liệu vị trí thường xuyên thay đổi, các chỉ mục này sẽ cần phải được cập nhật thường xuyên Việc mở rộng cấu trúc cây R-tree cũng như các chiến lược lập chỉ mục khác đã được nghiên cứu để giảm bớt gánh nặng cập nhật, điển hình là TPR-tree, TPR*-tree TPR-tree [36] lưu trữ cả vị trí hiện tại cùng với vận tốc của từng đối tượng tại những thời điểm cụ thể và do đó rất hiệu quả cho việc tìm kiếm, đồng thời cho phép dự đoán vị trí của đối tượng chuyển động Cây TPR*-tree [42] được cải tiến từ TPR-tree và mang lại hiệu suất cao hơn, gấp 5 lần so với cây TPR-tree Đây là cấu trúc chỉ mục được đánh giá rất cao và tiếp tục được cải
Trang 1715
tiến theo nhiều hướng khác nhau phù hợp với từng hoàn cảnh và ứng dụng cụ thể trong thực tế
Dòng dữ liệu liên tục cho thông tin vị trí (data streams)
Một dòng dữ liệu liên tục là một cấu trúc được sử dụng cho thông tin đầu vào, trong đó lượng dữ liệu là rất lớn (giả định là vô hạn) và thay đổi liên tục Trong trường hợp đặc biệt, lượng dữ liệu lớn đến mức không thể lưu trữ toàn bộ chúng Huang và Jensen [12] đã sử dụng dòng dữ liệu để mô hình hóa dữ liệu vị trí cho các đối tượng chuyển động và trả lại kết quả truy vấn Truy vấn liên tục được xử lý bởi hệ thống như là một chuỗi các truy vấn chụp lại trước (snapshot) được thực hiện trong những khoảng thời gian xác định Tương tự như vậy, Patroumpas và Sellis [34] đã chọn mô hình hóa đối tượng chuyển động như một dòng quỹ đạo Môi trường tính toán khắp nơi nhận biết vị trí (Pervasive Location-Aware Computing Environments - PLACE) [26] được tạo thành bởi việc mở rộng hệ thống quản lý dòng dữ liệu có khả năng hỗ trợ dữ liệu nhận biết vị trí PLACE sử dụng cách ước lượng gia tăng để cập nhật liên tục các câu trả lời truy vấn Cơ chế giám sát tích cực liên tục (Continuous Active Monitor Engine - CAMEL) [50] được Chen đề xuất nhằm hỗ trợ các dịch vụ nhận biết vị trí Đây là cơ chế dựa trên dòng dữ liệu, sử dụng chỉ số lưới để xử lý một lượng lớn các đối tượng chuyển động
b Các cách tiếp cận xử lý truy vấn phụ thuộc vị trí
Truy vấn phụ thuộc vị trí là truy vấn mà kết quả dựa trên vị trí của các đối tượng
cụ thể Truy vấn phụ thuộc vị trí thường là truy vấn liên tục, có nghĩa là kết quả của các truy vấn được cập nhật theo các đối tượng chuyển động khi thay đổi vị trí Hai kỹ thuật chính thường được sử dụng cho việc xử lý truy vấn phụ thuộc vị trí
đã được nghiên cứu trong những năm gần đây là:
• Sử dụng sự cộng tác từ các đối tượng chuyển động
• Sử dụng dự đoán quỹ đạo cho các đối tượng chuyển động
Trang 1816
Sử dụng sự cộng tác từ các đối tượng chuyển động
Một số hệ thống cơ sở dữ liệu nhận biết vị trí sử dụng sự cộng tác từ chính các đối tượng chuyển động để tạo thuận lợi cho việc xử lý truy vấn phụ thuộc vị trí Ý tưởng
cơ bản là đối tượng chuyển động định kỳ sẽ gửi thông tin vị trí của chúng đến một máy chủ dựa trên một số chính sách cập nhật được xác định trước Chính sách này
mô tả những thông tin cần gửi và mức độ thường xuyên khi thực hiện điều đó Cai và đồng nghiệp [3] [4] phát triển hệ thống Quản lý Giám sát Truy vấn (Monitoring Query Management - MQM) cho việc xử lý các truy vấn phạm vi, trong đó đối tượng chuyển động chịu trách nhiệm giám sát các truy vấn gần kề của chúng và báo cáo vị trí lên máy chủ bất cứ khi nào chuyển động của chúng ảnh hưởng đến kết quả truy vấn Để thực hiện điều này, mỗi đối tượng chuyển động có một miền thường trú cùng với một tập hợp các truy vấn liên quan đến miền thường trú này Giá trị vị trí được gửi đi khi đối tượng chuyển động di chuyển ra bên ngoài miền thường trú hoặc đi qua ranh giới truy vấn Chiến lược cập nhật này có thể làm giảm chi phí xử lý bằng cách hạn chế việc thực hiện chỉ dành cho những cập nhật thực sự cần thiết Tuy nhiên, nó đòi hỏi đối tượng chuyển động có năng lực xử lý (CPU) nhất định và chỉ hỗ trợ cho các truy vấn trong đó điểm truy vấn là tĩnh Tương tự như vậy, MobiEyes [6] định nghĩa một khu vực giám sát cho mỗi truy vấn và các đối tượng chuyển động sẽ phải thông báo cho máy chủ khi chúng vượt qua ranh giới của miền truy vấn Ngoài ra, MobiEyes sử dụng tối ưu hóa để giảm bớt số lượng công việc mà các đối tượng chuyển động sẽ phải thực hiện Gedik [7] đề xuất một hệ thống tương tự khác, đó là hệ chỉ mục thích ứng chuyển động (Motion Adaptive Indexing - MAI), để xử lý các truy vấn chuyển động liên tục Hệ thống này sử dụng các hộp ranh giới nhạy chuyển động (Motion-Sensitive bounding Boxes - MSB) cho các đối tượng và truy vấn Trong MAI, Gedik không lập chỉ mục vị trí mà thay vào đó là lập chỉ mục các MSB và sử dụng dự đoán
để tính toán trước các kết quả truy vấn Prabhakar và đồng nghiệp [35] cũng đề xuất một hệ thống mà lập chỉ mục các truy vấn thay vì vị trí Khu vực an toàn được sử dụng để xác định vùng xung quanh đối tượng chuyển động mà không giao với ranh giới truy vấn Các đối tượng chuyển động chỉ cập nhật vị trí của nó khi di chuyển ra
Trang 1917
bên ngoài khu vực an toàn Lập chỉ mục hạn chế tốc độ (Velocity-Constraint Indexing
- VCI) cũng được sử dụng để điều tiết các truy vấn mới mà không thực tế trong việc lập chỉ mục truy vấn VCI dùng để trì hoãn việc cập nhật chỉ mục để đáp lại sự chuyển động của các đối tượng DISQO [49] đã được giới thiệu bởi Zheng và đồng nghiệp
để xử lý cả truy vấn chụp lại và truy vấn không gian liên tục bằng cách chuyển đổi thông tin vị trí và thông tin truy vấn giữa máy chủ và các đối tượng chuyển động
Sử dụng dự báo quỹ đạo
Kỹ thuật này giả định rằng đối tượng sẽ đi theo một quỹ đạo biết trước để dự đoán được vị trí của nó Với kỹ thuật này, hệ thống không cần thực hiện nhiều việc cập nhật vị trí của đối tượng Tuy nhiên, điều này làm tăng sự không chắc chắn vì đối tượng chuyển động có thể đi chệch khỏi các quỹ đạo giả định Trong hệ thống DOMINO [32], khi một đối tượng cung cấp vị trí hiện tại, thì cũng cung cấp luôn vị trí tương lai dự kiến của nó DOMINO sử dụng thông tin này để chiếu đến vị trí tương lai của đối tượng Nó sử dụng mô hình dữ liệu MOST mà định kỳ thay đổi thuộc tính
vị trí động ngay cả khi vị trí không được cập nhật một cách rõ ràng bởi các đối tượng CAT (Correct Answers of Continuous Queries Using Triggers) [44] sử dụng một bảng dữ liệu lưu trữ quỹ đạo của một đối tượng và các truy vấn kết hợp với đối tượng
đó Trong CAT, các truy vấn liên tục chỉ được cập nhật nếu có sự thay đổi với các dữ liệu mà có thể đã ảnh hưởng đến kết quả truy vấn CAT sử dụng bộ kích hoạt (trigger)
để báo hiệu mỗi khi có sự thay đổi xảy ra
Một số kỹ thuật xử lý truy vấn khác
Ngoài hai kỹ thuật trên còn có một số kỹ thuật xử lý truy vấn khác cũng đã được nghiên cứu sử dụng SINA [24] được thiết kế để đánh giá các truy vấn phụ thuộc vị trí đồng thời Khi có sự thay đổi dữ liệu, SINA chỉ tính toán cập nhật từ một câu trả lời đã xác định trước Mokbel và Aref giới thiệu SOLE [25] để xử lý dữ liệu vị trí qua dòng dữ liệu bằng cách theo dõi các đối tượng có ý nghĩa và sử dụng cách tiếp cận phát tán tải (load shedding) để loại bỏ một số đối tượng nhất định đã lưu trữ khi hệ thống bị quá tải SOLE là cách tiếp cận trong bộ nhớ và sử dụng đánh giá gia tăng để
Trang 2018
xây dựng các kết quả truy vấn SCUBA [29] được thiết kế để xử lý các truy vấn liên tục thông qua dòng dữ liệu nhận biết vị trí SCUBA nhóm các đối tượng chuyển động
và truy vấn thành các cụm đối tượng chuyển động, trong đó các đối tượng là gần nhau
và di chuyển theo cùng một hướng Đánh giá truy vấn cho tập các truy vấn được trừu tượng hóa như sự kết nối giữa các cụm chuyển động đó ClusterSheddy [30] là phần
mở rộng của SCUBA mà tập trung vào phát tán tải của các cụm dựa vào thuộc tính
di chuyển như vị trí, thời gian, hướng và tốc độ Nó cũng sử dụng cách truy vấn đánh giá gia tăng Lazaridis và đồng nghiệp [16] trình bày một giải pháp mà tập trung vào các truy vấn động, tức là những truy vấn mà thay đổi theo thời gian Điều này xảy ra khi các đối tượng quan tâm đến các truy vấn cũng chuyển động Việc xử lý định kỳ các truy vấn được thực hiện bằng cách sử dụng chỉ mục của các hình bao biểu diễn cho chuyển động của đối tượng Chỉ có các hình bao được cập nhật kể từ lần đánh giá cuối cùng là được kiểm tra LOQOMOTION [13] cung cấp một giải pháp cho truy vấn trong đó cả người dùng và các đối tượng được hỏi có thể chuyển động Giải pháp này sử dụng các tác nhân di động được phân bố trên một mạng lưới cố định để thực hiện nhiệm vụ xử lý như theo dõi vị trí của đối tượng chuyển động và làm mới các câu trả lời truy vấn…
c Tính riêng tư
Với sự phát triển mạnh mẽ của công nghệ định vị toàn cầu, giờ đây độ chính xác
về định vị vị trí cá nhân có thể tính đến đơn vị mét Công nghệ này mang lại cho người sử dụng nhiều dịch vụ LBS với sự tiện nghi và thoải mái, nhưng cũng dẫn đến
đe dọa tính riêng tư và an ninh của họ Một khi thông tin vị trí bị lộ, đối tượng xấu có thể sử dụng thông tin vị trí này để suy luận ra thông tin về cuộc sống riêng tư của họ như mối quan hệ chính trị, thói quen sống, các vấn đề về bệnh tật hoặc ngay cả các
bí mật kinh doanh của tổ chức liên quan… Người dùng luôn mong muốn có được tối
đa các tiện ích của dịch vụ LBS mà không hoặc khó bị lộ thông tin vị trí của mình Tính riêng tư thường được bảo vệ bằng một trong hai cách sau:
- Ẩn danh: loại bỏ các liên hệ giữa danh tính người dùng với các dữ liệu vị trí
Trang 21Có một số hướng để giải quyết vấn đề này, trong đó cơ sở dữ liệu các đối tượng chuyển động là dễ tiếp cận và đang được nghiên cứu, phát triển mạnh mẽ Chính vì vậy, luận án đặt mục tiêu chính là nghiên cứu về các vấn đề liên quan đến cơ sở dữ liệu các đối tượng chuyển động bao gồm: tổ chức, lưu trữ, truy vấn vị trí của đối tượng trong tương lai và đề xuất một số kỹ thuật để nâng cao tốc độ, tính chính xác trong truy vấn Lớp bài toán mà luận án hướng tới là quản lý thông tin đối tượng chuyển động hay quản lý và điều hành giao thông Trong lớp bài toán này, độ chính xác dự đoán vị trí không cần quá cao (sai số một vài mét có thể chấp nhận được) và nghiêng về tăng tốc độ tính toán để phản hồi cho người sử dụng hay ra quyết định nhanh chóng.
Trong luận án này, nghiên cứu sinh đã thực hiện và giải quyết những vấn đề sau: a) Nghiên cứu về cơ sở dữ liệu các đối tượng chuyển động
b) Nghiên cứu, đề xuất một số phương pháp, kỹ thuật nâng cao tốc độ và độ chính xác của các truy vấn vị trí của đối tượng chuyển động
Các kết quả chính bao gồm:
(1) Giải quyết vấn đề về mô hình hóa vị trí của đối tượng chuyển động dưới dạng thuộc tính động Thuộc tính động ít cần phải cập nhật hơn thông tin vị trí do đó sẽ hạn chế được tần suất cập nhật vào cơ sở dữ liệu (mà thường là rất lớn trong các ứng dụng MODB) Thuộc tính động có thể được xác định nhờ vào hai phương pháp dự đoán vị trí đã đề xuất trong luận án:
Trang 22dựa trên TPR*-tree Cấu trúc này điều chỉnh MBR của một nút nếu điều kiện mật độ
đủ tốt của nó không thỏa mãn ở thời điểm truy vấn Vì vậy, tất cả các truy vấn thực hiện sau thời điểm này sẽ không bị lạc vào vùng không gian trống của nút đó, nhờ vậy nâng cao hiệu năng truy vấn Cấu trúc DO-TPR*-tree thể hiện được hiệu quả cao khi xây dựng ứng dụng MODB với hạ tầng viễn thông đang phát triển, đôi lúc còn xảy ra tình trạng mất kết nối như ở Việt Nam
Luận án được trình bày với cấu trúc như sau: tiếp theo phần mở đầu là ba chương giới thiệu các nội dung và kết quả nghiên cứu, cuối cùng là kết luận
Chương 1 trình bày kết quả nghiên cứu và tổng hợp các vấn đề liên quan đến cơ
sở dữ liệu các đối tượng chuyển động Nội dung của chương này là một số khái niệm
cơ bản về MODB và các vấn đề cần giải quyết bao gồm: (1) vấn đề về mô hình hóa
vị trí, (2) về ngôn ngữ truy vấn, (3) về việc lập chỉ mục dữ liệu và (4) về tính không chắc chắn/không chính xác của dữ liệu vị trí của đối tượng chuyển động
Chương 2 trình bày hai phương pháp dự đoán vị trí của đối tượng chuyển động, nhằm góp phần giải quyết vấn đề mô hình hóa vị trí trong cơ sở dữ liệu các đối tượng chuyển động Phương pháp thứ nhất là dự đoán vị trí theo hàm chuyển động sử dụng
mô hình W-EWMA, có ưu điểm là xử lý nhanh chóng, cho phép dự đoán được vị trí
ở gần thời điểm hiện tại Phương pháp thứ hai là dự đoán theo hành vi, tiếp cận theo hướng sử dụng khai phá luật kết hợp của các mẫu hình di chuyển của đối tượng Phương pháp này cho phép dự đoán được vị trí ở những thời điểm xa hiện tại với độ
Trang 23và chứng minh tính đúng đắn Các thực nghiệm cũng chứng tỏ cấu trúc cây TPR*-tree đem lại hiệu năng tốt hơn trong nhiều trường hợp so với cấu trúc cây ban đầu là TPR*-tree
DO-Các kết quả chính của luận án được công bố trong các công trình khoa học (4) Các kết quả này cũng đã được báo cáo và thảo luận tại các hội nghị, hội thảo khoa học tại Viện Công nghệ thông tin, Viện HL KH và CN Việt Nam và hội thảo Quốc gia “Một số vấn đề chọn lọc của Công nghệ thông tin và truyền thông”
Trang 24(1)-22
Chương 1
CƠ SỞ DỮ LIỆU CÁC ĐỐI TƯỢNG CHUYỂN ĐỘNG
Trong chương này, nghiên cứu sinh sẽ trình bày kết quả nghiên cứu và tổng hợp các vấn đề liên quan đến cơ sở dữ liệu các đối tượng chuyển động bao gồm một số khái niệm cơ bản về MODB và các vấn đề còn cần giải quyết là (1) mô hình hóa vị trí, (2) ngôn ngữ truy vấn, (3) lập chỉ mục dữ liệu và (4) tính không chắc chắn/không chính xác trong dữ liệu vị trí của các đối tượng chuyển động
1.1 Một số khái niệm cơ bản
1.1.1 Cơ sở dữ liệu không gian-thời gian
Cơ sở dữ liệu không gian được nghiên cứu rộng rãi trong hai thập kỷ qua đã đem lại nhiều kết quả về mô hình khái niệm, chỉ mục đa chiều và các kỹ thuật xử lý truy vấn Trong cơ sở dữ liệu không gian truyền thống, dữ liệu của các đối tượng không gian thường được giả định là tĩnh, trong khi thực tế thì các đối tượng không gian thường xuyên biến đổi theo thời gian cả về vị trí, hình dạng, kích thước… Từ đó hình thành một lĩnh vực cơ sở dữ liệu mới: cơ sở dữ liệu không gian-thời gian
Cơ sở dữ liệu không gian-thời gian được xây dựng nhằm giải quyết các bài toán không gian thay đổi theo thời gian Trên thực tế, hình dạng có thể biến đổi không những theo các bước rời rạc mà còn liên tục Nếu ta chỉ quan tâm đến các vị trí trong không gian của một đối tượng cần theo dõi, thì điểm chuyển động là mô tả mức trừu tượng cơ bản; nếu tính tới cả độ mở rộng về các chiều, thì mức trừu tượng của vùng chuyển động bao gồm cả chuyển động và mức độ mở rộng hay thu hẹp (thay đổi kích thước) Chúng ta có thể hiểu điểm chuyển động và vùng chuyển động được thể hiện trong miền không gian ba chiều (không gian 2D + thời gian) Các kiểu dữ liệu này có thể được tích hợp như là kiểu dữ liệu cơ sở trong mô hình quan hệ, hướng đối tượng hoặc các mô hình dữ liệu khác Kiểu dữ liệu không gian-thời gian đóng vai trò quan trọng và cơ bản cho cơ sở dữ liệu không gian-thời gian tương tự như vai trò của kiểu
dữ liệu không gian trong cơ sở dữ liệu không gian truyền thống
Trang 25hiện tại của thế giới thực bao gồm quá khứ, được thể hiện qua hai nhận thức “quá
khứ của thế giới thực” (thời gian hiệu lực - valid time) và “trạng thái quá khứ của
cơ sở dữ liệu” (thời gian giao dịch - transaction time) Mặc dù vậy, hai lĩnh vực nghiên cứu này thực sự liên quan chặt chẽ với nhau Bởi vì các lĩnh vực nghiên cứu
này đều giải quyết dạng bài toán “chiều” hay “không gian” Do vậy, có thể thấy rằng
nghiên cứu mô hình dữ liệu tích hợp của không gian và thời gian là thực sự cần thiết
Thuật ngữ thường được dùng là cơ sở dữ liệu không gian-thời gian (Spatio-temporal
database)
Hình 1.1 Cơ sở dữ liệu không gian-thời gian và MODB
Dữ liệu không gian mà biến đổi theo thời gian (rời rạc hoặc liên tục) gọi là dữ liệu không gian-thời gian CSDL không gian-thời gian là sự kết hợp giữa CSDL không gian và CSDL thời gian Hệ quản trị CSDL không gian-thời gian là hệ quản trị CSDL
mà cung cấp các kiểu dữ liệu không gian-thời gian trong mô hình dữ liệu của nó cùng với ngôn ngữ truy vấn
Trang 2624
1.1.2 Cơ sở dữ liệu các đối tượng chuyển động
Cơ sở dữ liệu các đối tượng chuyển động (Moving Objects Database – MODB) [46] là dạng thu gọn của cơ sở dữ liệu không gian-thời gian (xem hình 1.1), trong đó chỉ quan tâm đến các điểm chuyển động mà không xét đến các đối tượng khác (đường hay vùng chuyển động)
Với những tiến bộ trong công nghệ định vị và sự phát triển nhanh chóng của truyền thông không dây, giờ đây chúng ta có thể theo dõi các đối tượng chuyển động liên
tục [17] như xe cộ, hàng hóa và cả con người (mà đang sử dụng các thiết bị di động
thông minh như điện thoại, đồng hồ, vòng đeo tay, nhẫn…) Một loạt các ứng dụng liên quan đến các đối tượng chuyển động đã được phát triển Ví dụ, trong một hệ thống điều khiển giao thông thông minh nếu chúng ta lưu trữ thông tin về vị trí của
xe cộ đang lưu thông, việc tắc nghẽn có thể được giảm bớt bằng cách thông báo để một số xe di chuyển vòng qua các tuyến đường thay thế hay như xe taxi có thể được thông báo để tìm đến vị trí hành khách một cách nhanh chóng (GrabTaxi, Uber…) Một ví dụ thú vị khác là trò chơi kỹ thuật số dựa trên vị trí Trong kiểu trò chơi này, người chơi cần phải xác định vị trí các người chơi khác gần nhất để thực hiện “nhiệm vụ” như “đánh dấu”, “quay phim” họ thông qua thiết bị di động Cơ sở dữ liệu các đối tượng chuyển động cũng rất quan trọng trong quân sự Với sự giúp đỡ của nó, máy bay chiến đấu và xe tăng trong chiến trường có thể được định vị tốt hơn và huy động tối đa lợi thế để giành chiến thắng
Các ứng dụng của MODB đem lại những thách thức kỹ thuật mới mà không thể đáp ứng được bởi các DBMS hiện có Các vấn đề như độ chắc chắn/độ không chính xác của dữ liệu, mô hình dữ liệu, biểu diễn ngôn ngữ truy vấn, kỹ thuật lập chỉ mục,
kỹ thuật truy vấn và bảo mật vị trí cần phải được nghiên cứu và thử nghiệm Trong
số đó, việc lập chỉ mục và kỹ thuật truy vấn là phần quan trọng nhất trong hệ thống
cơ sở dữ liệu các đối tượng chuyển động Bảo vệ sự riêng tư cũng là một vấn đề quan trọng và nhạy cảm mà cần phải được giải quyết để các ứng dụng MODB có thể được chấp nhận rộng rãi trong cuộc sống Hình 1.2 dưới đây mô tả mô hình hệ thống tổng quát của ứng dụng MODB
Trang 2725
Hình 1.2 Mô hình hệ thống ứng dụng MODB
Trong hình 1.2, máy chủ quản lý cơ sở dữ liệu các đối tượng chuyển động và cung cấp các dịch vụ dựa trên vị trí cho người dùng (NSD) Các kiểu truy vấn khác nhau được thực hiện bởi máy chủ và trả kết quả về cho người dùng Có thể thấy hai kiểu truy vấn hay được sử dụng là truy vấn phạm vi (hình chữ nhật) và truy vấn k-láng giềng gần nhất (hình tròn) Khi sử dụng các dịch vụ dựa trên vị trí, người dùng có thể
lo lắng về vấn đề rò rỉ thông tin cá nhân của họ Có thể áp dụng nhiều mô hình khác nhau để bảo vệ tính riêng tư trên máy chủ
Trong thực tế, chúng ta thấy có nhiều ứng dụng thường xuyên cần đến cơ sở dữ liệu mô tả thông tin về các đối tượng chuyển động cùng với vị trí của chúng Ví dụ
Trang 2826
như CSDL mô tả vị trí của các xe taxi với các truy vấn thường gặp là: tìm tất cả các
xe taxi chưa có khách trong vòng 1 km từ số 1 Đinh Tiên Hoàng (để đón khách) Với CSDL quản lý xe vận tải đường dài thì các truy vấn thường gặp là tìm tất cả các xe tải mà cách xe V khoảng 5 phút di chuyển (để hỗ trợ cứu hộ) Hoặc CSDL mô tả vị trí của các đối tượng trên chiến trường thì các truy vấn thường gặp là: tìm tất cả máy bay chiến đấu đang trong vùng M hoặc sẽ vào vùng M trong vòng 10 phút nữa Các truy vấn này có thể xuất phát từ vị trí của các đối tượng chuyển động hoặc từ vị trí của người dùng Hiện tại ứng dụng cơ sở dữ liệu các đối tượng chuyển động đang phát triển hết sức nhanh chóng và được sử dụng trong rất nhiều lĩnh vực khác nhau
từ giao thông, du lịch, cứu hộ, cứu nạn đến an ninh, quốc phòng
1.1.3 Dữ liệu trong cơ sở dữ liệu các đối tượng chuyển động
Kiểu dữ liệu cơ bản trong cơ sở dữ liệu các đối tượng chuyển động là điểm chuyển động (moving point – mpoint) Một điểm chuyển động là trừu tượng cơ bản của một đối tượng vật lý chuyển động trên mặt phẳng không gian hai chiều mà chỉ liên quan
đến thay đổi vị trí Điểm chuyển động mpoint được định nghĩa khác như là một hàm
liên tục từ thời gian vào không gian hai chiều (2D), hoặc như một đường gấp khúc (polyline) trong không gian ba chiều (2D + thời gian) Khi phân tích hành vi chuyển động trong không gian, các chuyển động có thể dễ dàng được mô hình hóa và xử lý như một chuỗi các quan sát điểm chuyển động, được biểu diễn như là bộ 3 gồm thời gian t và tọa độ (x, y) Ví dụ về các đối tượng kiểu điểm chuyển động là ô tô, máy bay, tàu thuyền, con người, động vật
Các công trình nghiên cứu CSDL không gian-thời gian thường mô tả sự phân loại của các dữ liệu điểm phụ thuộc vào thời gian Những dữ liệu này có thể được xem một cách tự nhiên như là nhúng vào một miền không gian mà là tích véc tơ của không gian hai chiều và thời gian, rồi được biểu diễn trong không gian ba chiều (hình 1.3) Trong miền thời gian t, thời gian có thể được xem là rời rạc, dày đặc hoặc liên tục
Vì những lý do thực tế, các mô hình CSDL thời gian (temporal database) thường dùng
Trang 2927
các thể hiện rời rạc của thời gian Ngược lại, các mô hình liên tục là phù hợp hơn để nói về với các đối tượng chuyển động
Hình 1.3 Điểm chuyển động rời rạc và liên tục
Các mô hình chuyển động của điểm được tập trung vào khái niệm về quỹ đạo (trajectory) Dữ liệu chuyển động thu được bằng cách sử dụng thiết bị và phần mềm
hỗ trợ định vị để ghi lại các vị trí của đối tượng và biểu diễn sự chuyển động theo hình thức rời rạc Cách tiếp cận này là thể hiện của thời gian liên kết với một đơn vị chuyển động của điểm trong mặt phẳng x, y như là một hàm của thời gian
Giá trị của kiểu mpoint mô tả vị trí như là một hàm của thời gian có thể được biểu
diễn dưới dạng đường cong liên tục trong không gian ba chiều (x, y, t) thể hiện như trong hình 1.3b Chúng ta giả định rằng không gian cũng như các chiều của thời gian
là liên tục, tức là hoàn toàn có thể chèn một điểm vào trục thời gian giữa hai thời điểm xác định bất kỳ, như là một vị trí tại thời điểm đó
1.1.4 Truy vấn trong cơ sở dữ liệu các đối tượng chuyển động
Cơ sở dữ liệu các đối tượng chuyển động cần đáp ứng được việc cập nhật thường xuyên, đồng thời lại phải đảm bảo truy vấn hiệu quả Sự phát triển của các kỹ thuật lập chỉ mục đã tạo cơ sở cho việc tạo lập nhiều kiểu truy vấn khác nhau Các kiểu truy vấn phổ biến nhất trong MODB là truy vấn điểm, truy vấn phạm vi và truy vấn
k láng giềng gần nhất:
Trang 3028
− Truy vấn điểm: “Tìm vị trí của đối tượng O tại thời điểm t” Chẳng hạn
như xe tải A bây giờ đang ở đâu
(a) truy vấn phạm vi
(b) Truy vấn k láng giềng gần nhất
Hình 1.4 Các kiểu truy vấn phổ biến trong MODB
Trang 3129
− Truy vấn phạm vi (hình 1.4a): “Tìm tất cả các đối tượng mà vị trí của nó
nằm trong vùng R trong khoảng thời gian từ t 1 đến t 2 ” Ví dụ: có bao nhiêu
xe ô tô trong phạm vi phường A vào lúc 9h đến 9h15 phút sáng nay
− Truy vấn k láng giềng gần nhất (hình 1.4b): “Tìm k đối tượng gần đối tượng
O nhất tại thời điểm t” Ví dụ: tìm 3 chiếc taxi của 3 hãng khác nhau gần
vị trí khách du lịch nhất
Truy vấn điểm và truy vấn phạm vi thường sử dụng trong lớp ứng dụng quản lý
và điều hành giao thông, còn truy vấn k láng giềng gần nhất thường được sử dụng trong lớp bài toán cho dịch vụ LBS Ngoài ra còn vài kiểu truy vấn phức tạp hơn như truy vấn phạm vi liên tục hay truy vấn mật độ [63]…
1.2 Các vấn đề cần giải quyết
Các công nghệ hệ quản trị CSDL quan hệ truyền thống có thể cung cấp nền tảng tiềm năng cho việc phát triển các ứng dụng cơ sở dữ liệu các đối tượng chuyển động nhưng không sử dụng trực tiếp ngay được Lý do là vì các khả năng cần thiết và quan trọng nhất lại bị thiếu trong các hệ quản trị CSDL hiện có Các vấn đề này bao gồm: (1) Mô hình hóa vị trí
Trang 3230
được các đối tượng chuyển động trong cơ sở dữ liệu và trả lời được các truy vấn
về vị trí, vị trí của các đối tượng chuyển động sẽ phải được cập nhật một cách liên tục Việc cập nhật liên tục này sẽ dẫn đến vấn đề là làm giảm mạnh (thậm chí là nghiêm trọng nếu quá thường xuyên) hiệu năng của hệ thống Nếu không được cập nhật liên tục thì lại nảy sinh vấn đề khác là kết quả truy vấn về vị trí bị sai lệch Hơn nữa, với việc thông tin về vị trí được cập nhật một cách liên tục về máy chủ trung tâm qua mạng không dây (mạng viễn thông GPRS/3G hay Wifi/Wimax/LTE) cũng sẽ dẫn đến vấn đề quá tải băng thông khi số lượng đối tượng cập nhật đồng thời là rất lớn
1.2.2 Vấn đề về ngôn ngữ truy vấn
Thông thường, truy vấn trong các ứng dụng MODB thường liên quan đến các đối tượng không gian (điểm, đường, vùng) với các ràng buộc về thời gian Xem xét ví dụ truy vấn sau:
Tìm tất cả các đối tượng giao với đa giác P trong 3 phút nữa
Đây là một truy vấn phạm vi không gian và phạm vi thời gian Phạm vi không gian là đa giác P, phạm vi thời gian là khoảng thời gian từ bây giờ (thời điểm truy vấn) đến 3 phút tiếp sau đó Hay như ví dụ:
Tìm tất cả các các cặp máy bay chiến đấu của ta và đối phương có thể tiếp cận nhau trong vòng 15km và trả về thời điểm sẽ xảy ra
Nhìn chung, ngôn ngữ truy vấn truyền thống như SQL là không đủ để diễn tả các truy vấn kiểu như vậy Cho dù đã có những nghiên cứu trong cộng đồng cơ
sở dữ liệu về ngôn ngữ truy vấn không gian và thời gian, nhưng những nghiên cứu này vẫn là rời rạc và với các ứng dụng MODB, chúng cần được tích hợp lại để trả lời truy vấn một cách chính xác
1.2.3 Vấn đề về lập chỉ mục
Số lượng các đối tượng chuyển động trong CSDL có thể rất lớn (ví dụ như mô
tả thành phố với hàng triệu cư dân chuyển động) Do vậy, hiệu năng hệ thống khi
Trang 3331
trả lời truy vấn cho mỗi đối tượng chuyển động cũng cần phải xem xét Nói cách khác, chúng ta cần phải lập chỉ mục cho thuộc tính vị trí Việc sử dụng cách lập chỉ mục trực tiếp cho thuộc tính không gian như thông thường là không thể được
do việc thay đổi liên tục giá trị của thuộc tính này sẽ dẫn đến cũng phải lập lại chỉ mục cho nó một cách liên tục Đây rõ ràng là một giải pháp không thể chấp nhận
1.2.4 Vấn đề về tính không chắc chắn/không chính xác
Vị trí của đối tượng chuyển động về cơ bản là không chính xác bất kể chính sách cập nhật vị trí của đối tượng vào CSDL Vị trí của đối tượng lưu trữ trong CSDL không phải luôn luôn trùng với vị trí thực tế của đối tượng Tính không chắc chắn vốn có này có ý nghĩa khác nhau cho mô hình cơ sở dữ liệu, truy vấn
và lập chỉ mục Ví dụ, với các truy vấn phạm vi, có thể có hai loại kết quả khác nhau cho câu trả lời Một loại là tập các đối tượng “CÓ THỂ” (MAY) thỏa mãn kết quả truy vấn và một loại là tập các đối tượng “CHẮC CHẮN” (MUST) thỏa mãn kết quả truy vấn Như vậy những ngữ nghĩa khác nhau sẽ được đưa vào trong truy vấn Xem xét truy vấn Q: “Tìm tất cả các đối tượng nằm trong đa giác P” Vì
sự không chắc chắn trong cơ sở dữ liệu vị trí, sẽ có thêm hai kiểu ngữ nghĩa trong truy vấn này là “CÓ THỂ” và “CHẮC CHẮN” Với ngữ nghĩa “CÓ THỂ”, câu trả lời là tất các các đối tượng mà có thể nằm trong P, nghĩa là bao gồm cả các đối
tượng mà khoảng không chắc chắn có giao với P Với ngữ nghĩa “CHẮC CHẮN”,
câu trả lời chỉ bao gồm các đối tượng mà chắc chắn nằm trong P, nghĩa là chỉ gồm
các đối tượng mà khoảng không chắc chắn nằm hoàn toàn trong P (hình 1.5)
Hình 1.5 Ngữ nghĩa của CÓ THỂ và CHẮC CHẮN trong MODB
Trang 3432
Một cách tiếp cận khác là đưa vào xác suất mà đối tượng thỏa mãn kết quả
truy vấn Khi đó, câu trả lời cho truy vấn Q có thể là: đối tượng object 1 nằm trong
P với xác suất là 0.4 (CÓ THỂ) còn đối tượng object 2 nằm trong P với xác suất
là 1 (CHẮC CHẮN)
Dù tính không chắc chắn đã được nghiên cứu rộng rãi, việc xây dựng mô hình mới với khả năng không gian-thời gian cho các đối tượng chuyển động vẫn cần xem xét để tích hợp các giải pháp lại với nhau Thêm vào đó, các cách tiếp cận hiện tại mà giải quyết tính không chắc chắn với giả thiết rằng vài thông tin không chắc chắn có được liên kết với dữ liệu thô, lưu trữ trong CSDL hay không? Sự không chắc chắn ban đầu (khởi tạo) là như thế nào? Với các ứng dụng MODB, làm thế nào để định lượng được sự không chắc chắn về vị trí của đối tượng? Làm thế nào để cân bằng giữa việc quá tải cập nhật và lỗi không chắc chắn/không chính xác? Nên cập nhật thường xuyên vị trí của các đối tượng chuyển động ở mức độ nào là hợp lý? Làm thế nào để xử lý khả năng một đối tượng di chuyển đã bị ngắt kết nối và không thể gửi thông tin cập nhật vị trí? Như vậy, cần có một tập các tính năng quan trọng được tích hợp, xây dựng và thích nghi cho các hệ quản trị CSDL quan hệ hiện có để hỗ trợ cơ sở dữ liệu các đối tượng chuyển động
Trang 3533
Chương 2
DỰ ĐOÁN VỊ TRÍ CỦA ĐỐI TƯỢNG CHUYỂN ĐỘNG
Trong chương này, nghiên cứu sinh sẽ trình bày hai phương pháp dự đoán vị trí của đối tượng chuyển động, được đề xuất nhằm góp phần giải quyết vấn đề mô hình hóa vị trí trong cơ sở dữ liệu các đối tượng chuyển động
Vấn đề mô hình hóa dữ liệu vị trí đã được đặt ra từ lâu Cơ sở dữ liệu các đối tượng chuyển động có quá nhiều dữ liệu, do đó việc tổ chức chúng theo cách nào đó
để mà những thông tin liên quan có thể được lấy ra một cách hiệu quả là rất quan trọng Hơn thế, do dữ liệu thay đổi rất thường xuyên, việc giảm chi phí cập nhật cũng rất cần thiết Chìa khóa để khắc phục vấn đề mô hình hóa vị trí là làm cho các DBMS
có thể dự đoán vị trí tương lai của một đối tượng chuyển động Khi đối tượng chuyển động cập nhật vào cơ sở dữ liệu, nó không chỉ cung cấp vị trí hiện tại, mà còn cả các
vị trí dự kiến trong tương lai Ví dụ, nếu DBMS biết tốc độ và các tuyến đường của một đối tượng di chuyển, thì có thể tính toán vị trí của đối tượng đó ở bất kỳ điểm nào mà không cần các cập nhật bổ sung Một số nghiên cứu đã đưa ra khái niệm về thuộc tính động, tức là thuộc tính có giá trị thay đổi liên tục theo thời gian, mà không được cập nhật một cách rõ ràng Ví dụ, vị trí của một chiếc xe được biểu diễn bởi thuộc tính động của nó bao gồm thông tin chuyển động (ví dụ, đi về phía đông, trên đường 5, tốc độ 60 km/giờ) Nói cách khác, mô hình này đưa ra một mức độ cao hơn của trừu tượng hóa dữ liệu mà thông tin chuyển động của một đối tượng, chứ không chỉ là vị trí của nó, được biểu diễn như là một thuộc tính của đối tượng Rõ ràng các thông tin chuyển động của một đối tượng có thể thay đổi Như vậy các thuộc tính động cũng cần được cập nhật, nhưng trong hầu hết các trường hợp nó ít thường xuyên thay đổi hơn nhiều so với vị trí của đối tượng Mô hình này đưa ra các cơ chế để kết hợp các thuộc tính động trong các mô hình dữ liệu và khả năng thêm được vào hệ thống xử lý truy vấn hiện có
Thuộc tính động của một đối tượng là thuộc tính mà giá trị của nó thay đổi liên tục theo một hàm phụ thuộc thời gian. Kết quả trả lời các truy vấn liên quan đến thuộc
Trang 3634
tính động không chỉ phụ thuộc vào nội dung cơ sở dữ liệu mà còn phụ thuộc vào thời điểm gọi thực hiện truy vấn Ngược lại, thuộc tính tĩnh của một đối tượng là thuộc tính thông thường trong hệ quản trị cơ sở dữ liệu truyền thống, tức là nó chỉ thay đổi khi một sự cập nhật rõ ràng trong cơ sở dữ liệu xảy ra
Thuộc tính động A được biểu diễn bởi các thuộc tính phụ: updatevalue,
updatetime và function Trong đó function là hàm phụ thuộc đơn biến thời gian t và
có giá trị 0 khi t=0 Giá trị của thuộc tính động phụ thuộc thời gian và được mô tả như sau:
• Tại thời điểm updatetime giá trị của A là updatevalue
• Đến thời điểm cập nhật tiếp theo, giá trị của A tại thời điểm updatetime +
t0 (t0 là số thực dương) được gán bởi updatevalue + function(t0) Mỗi khi cập nhật, các giá trị thuộc tính phụ sẽ được điều chỉnh và có thể cả hàm thuộc tính phụ khi cần
Với một đối tượng chuyển động, có thể mô hình hóa thuộc tính vị trí L của nó bởi
hai thuộc tính động L.x và L.y (x, y mô tả tọa độ trên mặt phẳng hai chiều của vị trí L) Mỗi thuộc tính động này có updatevalue, updatetime và function tương ứng của
đối tượng (có thể mở rộng thêm z trong không gian ba chiều) Đối tượng sẽ cập nhật lại vị trí của nó khi tốc độ thay đổi Với các đối tượng có thể di chuyển tự do trong không gian, không phải theo các tuyến đường cố định (ví dụ như máy bay, tàu biển)
có thể sử dụng cách này hiệu quả Tuy nhiên với các đối tượng di chuyển theo những
tuyến đường quanh co thì không hiệu quả vì function của L.x và L.y sẽ cần cập nhật
liên tục Để giải quyết vấn đề này có thể mở rộng khái niệm thuộc tính động bao gồm
cả thông tin về tuyến đường (route) như sau Thuộc tính vị trí là thuộc tính động bao gồm năm thuộc tính phụ là L.route, L.x.updatevalue, L.y.updatevalue, L.updatetime
và L.speed Trong đó L.route trỏ đến đối tượng đường mô tả tuyến đường mà đối tượng đang di chuyển L.x.updatevalue và L.y.updatevalue là các tọa độ x, y của một điểm nằm trên L.route Đó là vị trí của đối tượng chuyển động tại thời điểm L.updatetime (thời điểm cập nhật cuối cùng) L.speed là hàm tuyến tính có dạng f(t)
Trang 3735
= v * t Hàm này xác định bởi vận tốc v của đối tượng chuyển động Và nó cho biết
khoảng cách hiện tại từ vị trí bắt đầu như là một hàm phụ thuộc thời gian t trôi qua
kể từ thời điểm L.updatetime Vị trí tại thời điểm L.updatetime + t là điểm (x, y) mà nằm trên tuyến đường L.route với khoảng cách L.speed * t từ điểm có tọa độ (L.x.updalevalue, L.y.updalevalue)
Về cơ bản, cách giải quyết vấn đề của thuộc tính động là dự đoán được vị trí của đối tượng chuyển động nhằm giảm thiểu việc cập nhật quá thường xuyên vị trí của chúng mà thường dẫn đến giảm mạnh hiệu năng của hệ thống CSDL
Đã có khá nhiều nghiên cứu về dự đoán vị trí của đối tượng chuyển động Một số tập trung theo hướng hàm chuyển động [33], [34], số khác lại theo lô-gíc mờ [47], xác xuất thống kê [5], [19] hay kết hợp nhiều phương pháp khác nhau [15], [23] Phần tiếp theo dưới đây, nghiên cứu sinh sẽ trình bày hai phương pháp về dự đoán
vị trí của đối tượng chuyển động Phương pháp thứ nhất là dự đoán vị trí theo hàm chuyển động Ưu điểm của phương pháp này là xử lý nhanh chóng, cho phép dự đoán được vị trí ở gần thời điểm hiện tại Tuy nhiên, với những truy vấn ở xa thời điểm hiện tại thì phương pháp này lại tỏ ra không hiệu quả Chính vì vậy, phương pháp thứ hai là dự đoán theo hành vi của đối tượng được sử dụng Phương pháp này tiếp cận theo hướng sử dụng khai phá luật kết hợp của các mẫu hình di chuyển của đối tượng, khắc phục được nhược điểm của phương pháp thứ nhất là cho phép dự đoán được vị trí ở những thời điểm xa hiện tại với độ chính xác tương đối cao Kết hợp hai phương pháp này sẽ đem lại hiệu quả tốt hơn cho truy vấn trong toàn hệ thống
2.1 Dự đoán vị trí của đối tượng dựa theo hàm chuyển động
Vài năm gần đây, việc xử lý truy vấn dự đoán được đề cập rất nhiều trong các
mô hình cơ sở dữ liệu không gian-thời gian Để xử lý truy vấn hiệu quả, rất nhiều
kỹ thuật được đề xuất như tham số hóa thời gian (time-parameterized) và các biến thể hay kỹ thuật biến đổi kép (dual transformation) Mặc dù dùng các cấu trúc chỉ mục khác nhau nhưng các kỹ thuật này đều có thể dự đoán vị trí của đối tượng
Trang 3836
bằng các hàm mô tả chuyển động Các hàm chuyển động có thể chia thành hai dạng sau:
• Hàm tuyến tính: mô tả chuyển động của đối tượng theo đường thẳng
• Hàm phi tuyến: mô tả chuyển động của đối tượng theo đường cong bất kỳ
2.1.1 Dự đoán dựa theo hàm tuyến tính
Cho một đối tượng có vị trí l 0 tại thời điểm t 0 có vận tốc v 0 Mô hình chuyển
động tuyến tính sẽ dự đoán vị trí của đối tượng tại thời điểm t q bởi biểu thức:
trong đó l và v là các véc-tơ n chiều
Với mô hình tuyến tính, việc tính toán vị trí của đối tượng chuyển động ở thời điểm tiếp theo rất nhanh chóng Tuy nhiên, với nhiều bài toán thực tế, độ chính xác này thường không cao do đối tượng có thể di chuyển trong mạng lưới giao thông đô thị phức tạp và có rất nhiều yếu tố ảnh hưởng đến véc tơ vận tốc (cả độ lớn và hướng) của đối tượng
2.1.2 Dự đoán dựa theo hàm phi tuyến
Trong thực tế, chuyển động của các đối tượng thường là phi tuyến Trong
mô hình phi tuyến, chuyển động của đối tượng được biểu diễn bởi các hàm toán học phức tạp hơn vì vậy độ chính xác dự đoán sẽ cao hơn mô hình tuyến tính Tuy nhiên, việc thường áp dụng mô hình tuyến tính cho chuyển động trong thực tế được lý giải theo hai cách: (i) thứ nhất là để tránh sự phức tạp của mô hình chuyển động phi tuyến, đồng thời cho phép phân tích một số vấn
đề của bài toán không gian-thời gian mà nếu không áp dụng thì sẽ trở thành rất khó giải quyết, (ii) thứ hai là sử dụng phân đoạn tuyến tính thông minh (piece-wise line segments) có thể xấp xỉ bất kỳ chuyển động phi tuyến nào thành tuyến tính Tuy nhiên khi sử dụng phương pháp phân đoạn tuyến tính thông minh này sẽ dẫn đến dự đoán sai trong rất nhiều trường hợp Hình 2.1
Trang 3937
dưới đây mô tả sự bất cập của dự đoán tuyến tính khi dùng phương pháp phân đoạn tuyến tính thông minh
Hình 2.1 Dự đoán sai của mô hình tuyến tính
Trong hình này, đường cong đen đậm biểu diễn đường di chuyển thực tế
của đối tượng O với 6 thời điểm cập nhật vị trí (các điểm đen), bắt đầu từ vị trí o(0) Xem xét truy vấn tại thời điểm 1 dự đoán vị trí của O tại 4 thời điểm
sau đó, với phương pháp dự đoán theo hàm tuyến tính lần lượt là 4 điểm trắng trên đường thẳng thứ nhất (tính toán theo vị trí o(0) và o(1)) Tương tự với truy vấn tại thời điểm 2 (tính toán theo vị trí o(1) và o(2)) Vì vậy có thể thấy rằng, cho dù phân đoạn tuyến tính thông minh có thể xấp xỉ đường cong bởi các đường thẳng những không thể áp dụng hiệu quả trong truy vấn dự đoán vị trí, đặc biệt là ở tương lai xa Hơn nữa, cũng cần lưu ý rằng các đối tượng cần phải cập nhật lại sau mỗi thời điểm nhất định để phản hồi lại việc thay đổi hướng
đi liên tục
Thuật ngữ kiểu chuyển động hay mẫu hình di chuyển được sử dụng để biểu thị các dạng chung của hàm chuyển động (ví dụ: kiểu tuyến tính, kiểu bậc hai,
kiểu tròn) mà không phụ thuộc vào các tham số cụ thể của nó (xem thêm phần
2.2.3) Ví dụ như hai đối tượng chuyển động kiểu tuyến tính theo cùng một mẫu hình cho dù hướng hay vận tốc của nó khác nhau Những nỗ lực để giải quyết vấn đề trên là để áp dụng cho những kiểu chuyển động phức tạp hơn Chẳng hạn có thể biểu diễn chuyển động của đối tượng dưới dạng phương
Trang 4038
trình bậc hai o(t)=o(to)+vo(t−to)+½ao(t−to)2, trong đó vo và ao lần lượt là véc tơ
vận tốc và gia tốc của đối tượng O Phương trình này có tính ứng dụng cao
hơn nhưng vẫn không thể biểu diễn được chuyển động cong như ví dụ ở hình 2.1 Và cho dù có tồn tại một hàm mô tả đường cong riêng biệt nào đó, vẫn không thể biểu diễn được các đối tượng khác trong hệ thống do chúng chuyển động theo những mô hình hoàn toàn khác nhau Nói chung, nỗ lực xây dựng một hàm chuyển động tổng quát cho tất cả các loại chuyển động là phi thực tế
Gọi O là đối tượng có kiểu chuyển động chưa xác định Giả sử đã có h vị trí thực tế gần đây nhất của O, mục tiêu của chúng ta là xác định hàm chuyển động của O mà đường biểu diễn của nó đi qua chính xác tất cả các vị trí này
và đồng thời có thể dự đoán quỹ đạo tiếp theo trong tương lai của O bằng cách
sử dụng các chuyển động mẫu đã biết (chuyển động thẳng với vận tốc cố định, chuyển động có gia tốc (nhanh/chậm dần đều), chuyển động cong…)
Hàm chuyển động đệ quy và ma trận chuyển động
Dù quỹ đạo chuyển động của các đối tượng là rất khác nhau, nhưng vị trí của chúng vẫn có thể dự đoán từ những vị trí trước đó trong quá khứ Điều này
có thể thấy rõ ràng nhất trong chuyển động thẳng với vận tốc không đổi v Vị trí o(t) của đối tượng O có thể xác định như sau:
o o (t) = o o (t−1) + [o o (t−1)−o o (t−2)] = 2o o (t−1)−o o (t−2) (2-2)
Lưu ý là o o (t−1)−o o (t−2) xác định chính xác vận tốc v Có thể thấy rằng với
số lượng lớn các kiểu chuyển động, vị trí o o (t) có thể biểu diễn bởi một hàm
tuyến tính của các vị trí trước đó o o (t−1), o o (t−2),… Xem xét tiếp hai kiểu
chuyển động mẫu đã biết khác là chuyển động có gia tốc và chuyển động tròn