Mỗi cảm biến trong mạng có rất nhiều thông tin như kiểu cảm biến, id, vị trí, .. Những thông tin này có thể được quản lý trong cơ sở dữ liệu siêu dữ liệu, sẽ được sử dụng để xử lý các hoạt động trong mạng và vùng ứng dụng. Trong luận văn này, truy vấn thông tin đã từng xử lý trước đó sẽ được phân tích, phân loại và duy trì trong cơ sở dữ liệu siêu dữ liệu. Tất cả những thông tin này đều rất hữu ích cho truy vấn mới sau đó. Proxy có thể làm lớp trung gian điều phối, hợp tác giữa mạng cảm biến với hệ thống ứng dụng một cách hiệu quả.
Giả thiết proxy xác định được các nút trong mạng cảm biến và tất cả các truy vấn được yêu cầu phải đi qua proxy. Theo giả thiết này thì proxy sẽ giải quyết tất cả các yêu cầu của truy vấn liên quan đến thông tin về truy vấn không gian, thời gian, hoặc ngoài không gian thời gian. Thông tin không gian cho biết vị trí của từng nút cảm biến được đại diện bởi các toạ độ, các tọa độ có thể được ánh xạ tới một tên cụ thể. Phạm vi không gian tìm kiếm thường được giới hạn theo định nghĩa sau:
[Định nghĩa 5.1] Phạm vi không gian là một tập hợp các tọa độ vĩ độ, kinh độ
gian được biểu diễn dưới dạng Srange = <x1, y1, x2, y2> và được đặt tên cụ thể, ví dụ: Srange = Tỉnh_A.
Truy vấn lịch sử liên quan đến điều kiện thời gian được gửi bởi người dùng nên có thể là một khoảng thời gian hoặc một thời điểm cụ thể.
[Định nghĩa 5.2] Phạm vi thời gian được xác định bởi một khoảng thời gian có dạng Trange = <ts, te>, trong đó, ts là nhãn thời gian bắt đầu, te là nhãn thời gian kết thúc. Nó có thể là một tập hợp các nhãn thời gian liên tục Trange = {t0, t1, t2, t3, ..., tn},
Trong đó:
ti : Nằm trong khoảng 0 <= i <= n,
t : Nhãn thời gian và trong hệ nhãn thời gian được tổ chức theo thứ tự tăng dần t0 <t1 <t2 <t3 <... <tn.
Truy vấn liên quan tới điều kiện phạm vi thời gian được thực hiện bằng cách tìm kiếm các nhãn thời gian liên tục trong một khoảng thời gian nhất định. Ngoài ra, mỗi nút cảm biến sẽ lưu trữ dữ liệu đọc được trong suốt vòng đời của nó và tập dữ liệu được sắp xếp theo thứ tự thời gian.
[Định nghĩa 5.3] Vòng đời của cảm biến biểu diễn một tập hợp giá trị mà cảm biến đọc được theo thứ tự thời gian và trong suốt thời gian đó pin của nó vận hành tốt. Vòng đời của một cảm biến có thể được biểu diễn dưới dạng Ltime = {t0, t1, t2, t3, ..., tn}. Theo các định nghĩa trên, phạm vi không gian thời gian của một truy vấn có thể được xác định bởi sự kết hợp của phạm vi không gian và thời gian.
[Định nghĩa 5.4] Phạm vi truy vấn không gian thời gian hoặc vị từ không gian thời gian của một truy vấn được xác định bởi một khoảng không gian và một khoảng thời gian cụ thể.
Vị từ không gian được biểu diễn bởi Spred = <x1, y1, x2, y2> Vị từ thời gian được định nghĩa là Tpred = <ts, te> với 0 = ts <<= te.
Truy vấn của người dùng bao gồm cả không gian thời gian và ngoài không gian thời gian được phân tích tùy theo từng tiêu chí. Thông tin liên quan đến vị từ này được lưu trữ trong bảng lịch sử truy vấn ở proxy và đóng vai trò như siêu dữ liệu. Xây dựng cơ sở dữ liệu siêu dữ liệu để quản lý thông tin dựa trên các định nghĩa trong bảng 5.1 và bảng 5.2.
Bảng dữ liệu không gian được hiển thị trong bảng 5.1.
Bảng 5.1 Mô tả bảng siêu dữ liệu không gian
Sensor ID Integer Định danh cảm biến
Sensor type String Kiểu cảm biến (Ví dụ: nhiệt độ, độ ẩm,..) Spatial coordinate Double Vị trí của vĩ độ và kinh độ
Spatial name String Tên cảm biến không gian ánh xạ theo vùng
Bảng 5.2 Mô tả bảng lịch sử truy vấn
Tên Kiểu Mô tả
Query ID Integer Định danh truy vấn
Query time Double Thời điểm phát truy vấn từ người dùng Query type Integer Loại truy vấn (ví dụ: avg, max, min, …)
Query Attributes String Thuộc tính cần thiết (ví dụ: nhiệt độ, độ ẩm, ...)
Temporal Range Double Khoảng thời gian (ví dụ <t1, t5> )
Spatial Range Double Khoảng không gian (ví dụ: Tỉnh_A)
Trong môi trường mạng cảm biến, có rất nhiều yếu tố trong việc xây dựng siêu dữ liệu được định nghĩa bởi [Bott 2004]. Bảng 5.2 biểu diễn một bảng lưu trữ các thông tin truy vấn của người dùng. Nếu người dùng đưa ra một truy vấn, đầu tiên proxy sẽ phân tích truy vấn và phân loại nó theo các yếu tố phân tích, sau đó đăng ký các yếu tố vào bảng truy vấn lịch sử. Hình 5.3 cho thấy việc đăng ký truy vấn của người dùng vào bảng truy vấn lịch sử (bên phải) và phạm vi truy vấn không gian thời gian (bên trái).
Hình 5.3 Thủ tục đăng ký truy vấn
Giả thiết rằng các thành phần trong dữ liệu được sắp xếp theo thời gian truy vấn và của người dùng. Xét ví dụ Truy vấn 5.1 gồm có phạm vi Tỉnh_A và khoảng thời gian [t1, t5], và yêu cầu đưa ra nhiệt độ trung bình trong giới hạn Tỉnh_A và khoảng thời gian [t1, t5]. Với truy vấn này, có thể dữ liệu được lưu trữ như trong bảng lịch sử truy vấn hình 5.3.
[Truy vấn 5.1]
SELECT AVG (Temp) FROM Sensor WHERE Range [t1 ,t5 ] AND
Location [Tỉnh_A] GROUP BY SID
Bảng 5.3 Lưu trữ dữ liệu trong bảng lịch sử truy vấn
qID qTime qType qAttr tRange sRange
1 t10 Avg Temp t1, t5 Tỉnh_A
Trong một khoảng thời gian, người dùng phát các truy vấn và dữ liệu được lưu trữ trong bảng lịch sử truy vấn có thể được trình bày như trong hình 5.4.
Bảng 5.4 Lưu trữ dữ liệu trong bảng lịch sử truy vấn theo thời gian
qID qTime qType qAttr tRange sRange
2 t20 Avg Temp t10, t20 Tỉnh _B
3 t25 Min Temp t10, t20 Tỉnh _B
... ... .. .. ... ...
Chương 6
CÁC THÍ NGHIỆM VÀ PHÂN TÍNH HIỆU SUẤT
Trong chương này sẽ cài đặt và đánh giá hiệu quả của các phương pháp đã đề xuất và so sánh với phương pháp sử dụng trong tinyDB.