c. Tính riêng tư
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).
32
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.
Kết luận chương
Chương 1 đã giới thiệu các vấn đề cơ bản về cơ sở dữ liệu các đối tượng chuyển động (MODB). MODB là dạng thu gọn của cơ sở dữ liệu không gian-thời gian, 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. MODB đang được các hãng công nghệ, trường đại học, trung tâm nghiên cứu lớn trên thế giới tập trung xây dựng, phát triển và hoàn thiện nhằm tiến tới thương mại hóa trong tương lai gần. Các vấn đề còn tồn tại cần giải quyết trong cơ sở dữ liệu các đối tượng chuyển động cũng được tổng hợp lại. Các chương tiếp theo nghiên cứu sinh sẽ trình bày các nghiên cứu của mình, góp phần giải quyết một số vấn đề này.
33
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
34
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)
35
= 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.