Tìm kiếm dữ liệu

Một phần của tài liệu Xây dựng ứng dụng tìm kiếm thông tin theo vị trí trên mạng ngang hàng có cấu trúc (Trang 38 - 40)

Giả sử như ta cần tìm thông tin ở quanh vị trí có kinh độ là A và vĩ độ là B với bán kính vùng tìm kiếm là 2 km thì các bước thực hiện sẽ như sau:

Bước 1: Kinh độ A và vĩ độ B sẽ được chuyển đổi sang hệ mét C = A * 3600 * 30.82 m

D = B * 3600 * 30.92 m

Trong công thức trên thì toạ độ A và B đều ở dạng thập phân và một độ kinh độ hoặc vĩ độ bằng 3600 giây, một giây kinh độ sẽ có độ dài là 30.82 mét và một giây vĩ độ có độ dài là 30.92.

Bước 2: Trong bước này ta sẽ tính xem truy vấn đến các nút quản lý các ô nào.

Hình 17: Minh hoạ tìm kiếm thông tin trong một vùng

Giả sử ta đang tìm kiếm thông tin trong một vùng hình tròn ở một khu vực được chia thành 25 ô như hình trên. Do việc tìm kiếm thông tin trong một vùng hình tròn khó

vuông bao quanh hình tròn. Giả sử hình vuông bao quanh hình tròn là ABCD và toạ độ của A, B, C, D là A (xa, ya), B (xb, yb), C (xc, yc), D (xc, yc).

Nhìn trên hình ta có thể thấy rằng dữ liệu ta cần tìm sẽ được lưu tại các nút quản lý thông tin của các ô 7, 8, 9, 12, 13, 14, 17, 18, 19. Để tính được dữ liệu cần tìm sẽ lưu tại các nút quản lý thông tin của ô nào thì ta sẽ duyệt từ (xa – xa %1000) đến (xb – xb %1000) và từ (ya – ya %1000) đến (yd – yd % 10000), mỗi lần duyệt sẽ tăng toạ độ lên 1000 m. Ta sẽ tìm được các điểm giao, các điểm giao này sẽ là toạ độ chung cho cả một ô, các điểm giao này sẽ được dùng để tính định danh chèn vào mạng ngang hàng có cấu trúc của ô.

Bước 3: Khi ta đã có danh sách các ô như ở đây là các ô 7, 8, 9, 12, 13, 14, 17, 19 thì ta sẽ tính định danh từ các ô này.

Giả sử ô 7 là hình vuông ABCD như hình dưới thì định danh dùng để chèn dữ liệu thuộc ô 7 này vào mạng Chord sẽ được tính bằng cách băm toạ độ điểm A. Chuỗi được băm để tính định danh của ô là chuỗi (2000 + $ + 2000).

Hình 18: Minh hoạ thông tin vị trí của một ô trên bề mặt trái đất

Bước 4: Sau khi ta đã tính được một danh sách các định danh từ các ô ở trên thì ta sẽ gửi yêu cầu tìm kiếm theo khoảng đến các máy có nhiệm vụ quản lý các định danh này.

Trong yêu cầu tìm kiếm theo khoảng sẽ có giới hạn thông tin trong một vùng địa lý như (kinh độ > 1000 m và vĩ độ < 2000 m) hoặc ta có thể yêu cầu trực tiếp lọc thông tin trong vòng một bán kính xác định.

Yêu cầu tìm kiếm theo khoảng thực chất là một biểu thức toán học và được biểu diễn bằng ngôn ngữ XML (eXtensible Markup Language). Khi một nút trong mạng ngang hàng nhận được yêu cầu tìm kiếm thì nút này sẽ phân tích biểu thức toán học để lọc ra các bản ghi thoả mãn yêu cầu của biểu thức toán học gửi kèm và trả về kết quả cho nút yêu cầu tìm kiếm.

Một phần của tài liệu Xây dựng ứng dụng tìm kiếm thông tin theo vị trí trên mạng ngang hàng có cấu trúc (Trang 38 - 40)

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

(52 trang)
w