ĐẠi học quốc gia hà NỘi trưỜng đẠi học công nghệ Phạm Đình Hậu


Tìm kiếm thông tin trên mạng ngang hàng có cấu trúc



tải về 2.07 Mb.
trang6/6
Chuyển đổi dữ liệu15.05.2018
Kích2.07 Mb.
#38512
1   2   3   4   5   6

2.3. Tìm kiếm thông tin trên mạng ngang hàng có cấu trúc

2.3.1. Tìm kiếm chính xác


Là phương pháp tìm kiếm thông tin theo định danh, định danh này có thể là băm từ một từ khoá do người dùng nhập vào, từ tên tệp tin hoặc từ một phần nội dung của tệp tin.

Phương pháp này chỉ có thể cho phép tìm kiếm chính xác thông tin người dùng yêu cầu mà không thể tìm kiếm một thông tin có kết quả gần giống với yêu cầu của người dùng. Ví dụ như khi người dùng muốn tìm một quyển sách “Mạng ngang hàng có cấu trúc” nhưng người dùng chỉ nhập vào từ khoá “Mạng ngang hàng” thì thông tin tìm thấy chỉ là những thông tin có nội dung là “Mạng ngang hàng” mà không thể tìm thấy các thông tin như “Mạng ngang hàng không có cấu trúc, Mạng ngang hàng có cấu trúc, mạng ngang hàng lai ghép...”. Phương pháp tìm kiếm này thường dùng kết hợp với bảng băm phân tán. Khi được kết hợp với bảng băm phân tán thì phương pháp tìm kiếm này có ưu điểm là giảm số thông báo yêu cầu tìm kiếm và các thông báo gửi đi có định hướng.

Hiện nay, có rất nhiều mạng ngang hàng có cấu trúc đang sử dụng phương pháp tìm kiếm này, tiêu biểu là các mạng ngang hàng có cấu trúc CAN, Chord, Pastry.

2.3.2. Tìm kiếm theo thuộc tính – giá trị


Phương pháp tìm kiếm này sẽ sử dụng các cặp thuộc tính – giá trị để tìm kiếm thông tin. Các từ khoá mà người dùng hay sử dụng chủ yếu là các cặp thuộc tính – giá trị ví dụ như “Trường = Đại Học Công Nghệ” là một cặp thuộc tính – giá trị, thuộc tính là “Trường” và giá trị là “Đại Học Công Nghệ”. Theo thống kê thì một từ khoá tìm kiếm mà người dùng sử dụng trung bình gồm có 2.53 từ và có tới 71.5% các truy vấn tìm kiếm bao gồm hai hoặc nhiều hơn các từ khoá . Do từ khoá tìm kiếm thường là cặp thuộc tính – giá trị nên tìm kiếm theo phương pháp này có thể tìm được hầu hết các thông tin mà người dùng mong muốn.

Trong phương pháp này nội dung thông tin sẽ được biểu diễn thành một tập các cặp thuộc tính – giá trị. Việc tìm kiếm thông tin cũng sẽ dựa trên các cặp cặp thuộc tính – giá trị, trong yêu cầu tìm kiếm sẽ có chứa một tập các cặp thuộc tính – giá trị cần truy vấn. Kết quả trả về sẽ chứa danh sách các bản ghi có các cặp thuộc tính – giá trị thoả mãn truy vấn.

Việc phân bổ thông tin có thể dựa vào một trong số các cặp thuộc tính để phân bổ hoặc với một thông tin có n cặp thuộc tính – giá trị có thể sẽ phải phân bổ thông tin này ra n nút để khi tìm kiếm có thể tìm được thông tin đã phân bổ này.

Một số giải thuật tìm kiếm theo giá trị - thuộc tính tiêu biểu như: CDS [4] (Content discovery System), INS/Twine [5]


2.3.3. Tìm kiếm theo khoảng


Là phương pháp tìm kiếm mà giá trị của một thuộc tính dao động trong một khoảng nào đó. Ví dụ như tìm kiếm một thuộc tính “Quần Áo” có giá trị từ “100.000 đến 300.000 đồng” hoặc tìm kiếm trong một vùng địa lý, một khoảng thời gian.

Người dùng khi tìm kiếm thông tin thường không biết chính xác thông tin hoặc chỉ biết một phần thông tin hoặc muốn tìm thông tin trong một giới hạn nào đó. Để có thể cung cấp thông tin cho người dùng dù người dùng chỉ biết một phần thông tin hoặc muốn tìm thông tin trong một giới hạn thì phương pháp tìm kiếm theo khoảng được sử dụng.

Tìm kiếm theo khoảng trên các hệ thống tập trung rất đơn giản chỉ cần duyệt tất cả các bản ghi theo chỉ mục để lấy ra các bản ghi thoả mãn thuộc tính có giá trị theo khoảng yêu cầu. Tuy nhiên để tìm kiếm theo khoảng trên mạng ngang hàng có cấu trúc là khó vì mạng ngang hàng có cấu trúc chỉ hỗ trợ tìm kiếm chính xác. Tức là chỉ có những thông tin như “Giá = 100.000 đồng” thì mới có thể tìm được trên mạng ngang hàng có cấu trúc mà không thể tìm được các thông tin như “Giá < 100.000 đồng và Giá > 10.000 đồng”.

Để có thể tìm kiếm theo khoảng trên mạng ngang hàng có cấu trúc thì chúng ta có một số ý tưởng để thực hiện việc đó:

- Ý tưởng để có thể tìm kiếm theo khoảng trên mạng ngang hàng có cấu trúc đó là dùng một phép biến đổi từ tìm kiếm theo khoảng thành tìm kiếm chính xác. Phép chuyển đổi này có thể được thực hiện bằng cách biểu diễn thông tin sao cho dữ liệu trong một khoảng nào đó được chuyển thành dữ liệu tại một điểm hoặc với những dữ liệu gần giống nhau thì được chèn vào mạng ngang hàng tại các vị trí gần nhau về mặt tô pô của mạng (như các dữ liệu gần giống nhau có thể lưu ở hai nút là hàng xóm của nhau).

- Ta có thể coi một khoảng là một giá trị nào đó khi chèn thông tin vào mạng ngang hàng có cấu trúc như “Bất kỳ giá cả của mặt hàng nào có giá từ 100.000 đồng đến 200.000 đồng” thì ta coi như là nó có giá trị 100.000 đồng. Sau đó băm chuỗi “Giá = 100.000 đồng” để lấy định danh và chèn vào mạng ngang hàng có cấu trúc, trong bản ghi được chèn thì vẫn có chứa thông tin về giá cả thực của mặt hàng. Khi tìm kiếm một mặt hàng từ khoảng 120.000 đến 180.000 đồng thì ta chỉ việc băm chuỗi “Giá = 100.000 đồng” để lấy định danh và tìm xem nút nào quản lý định danh này. Khi đã biết được nút nào quản lý định danh này thì ta sẽ truy vấn đến đó và tìm kiếm, nút chứa định danh khi nhận yêu cầu tìm kiếm sẽ duyệt trong cơ sở dữ liệu (lúc này việc tìm kiếm là cục bộ nên có thể dễ dàng lọc thông tin theo khoảng) để tìm các bản ghi thoả mãn và trả về cho máy yêu cầu.

Nếu dữ liệu gần tường đồng nhau mà được chèn một vùng gần nhau về mặt tô pô của mạng ngang hàng có cấu trúc thì các truy vấn tìm kiếm theo khoảng có thể truy vấn quanh vùng đó để lấy được thông tin cần tìm.

2.4. Kết luận


Trong chương này chúng ta đã giới thiệu tổng quan về mạng ngang hàng, các ưu nhược điểm của mạng ngang hàng và phân loại mạng ngang hàng.

Mang ngang hàng được chia thành hai loại là mạng ngang hàng lai ghép và mạng ngang hàng thuần tuý.

Đại diện cho mô hình mạng ngang hàng lai ghép là mạng ngang hàng Napster, đặc điểm của mô hình mạng này là có một máy chủ trung tâm quản lý chỉ mục và đây cũng chính là nhược điểm của mô hình này. Khi máy chủ trung tâm bị lỗi thì mạng ngang hàng lai ghép sẽ không thể tìm kiếm được thông tin do không thể truy cập đến thông tin chỉ mục do máy chủ quản lý.

Mạng ngang hàng thuần tuý được chia thành hai loại là mạng ngang hàng có cấu trúc và mạng ngang hàng không có cấu trúc. Mạng ngang hàng Gnutella là đại diện cho mạng ngang hàng không có cấu trúc và nhược điểm của mô hình mạng này là không đảm bảo chắc chắn tìm kiếm được dữ liệu có tồn tại trên mạng do sử dụng cơ chế tìm kiếm phát tràn thông điệp. Do mạng ngang hàng không có cấu trúc sử dụng cơ chế tìm kiếm phát tràn nên làm tốn băng thông mạng đồng thời giảm hiệu quả tìm kiếm.

Mạng ngang hàng có cấu trúc đã khắc phục được những nhược điểm của mạng ngang hàng không có cấu trúc. Các nút trong mạng ngang hàng có cấu trúc được liên kết với nhau theo một quy luật, mỗi nút sẽ quản lý một phần dữ liệu chia sẻ trên mạng và các dữ liệu chia sẻ này sẽ có mối liên hệ với nút quản lý. Ở trong mô hình mạng ngang hàng có cấu trúc thì ta tìm hiểu chi tiết cách thức hoạt động của mạng ngang hàng Chord.

Trong chương này chúng ta cũng đã được giới thiệu về các phương pháp tìm kiếm trong mạng ngang hàng có cấu trúc là tìm kiếm chính xác, tìm kiếm theo thuộc tính – giá trị và tìm kiếm theo khoảng.

Qua tìm hiểu về lịch sử phát triển của mạng ngang hàng, ưu nhược điểm của mạng ngang hàng thì ta thấy mạng ngang hàng là một công nghệ mạnh và sẽ phát triển trong tương lai. Việc triển khai các ứng dụng trên mạng ngang hàng sẽ có thể tận dụng được rất nhiều ưu điểm của mạng này như tận dưng được khả năng xử lý, lưu trữ, băng thông của mạng và hệ thống có khả năng mở rộng cao.

CHƯƠNG 3. XÂY DỰNG DỊCH VỤ TÌM KIẾM THÔNG TIN THEO VỊ TRÍ DỰA TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC

3.1. Mục đích và yêu cầu của tìm kiếm thông tin dựa vào vị trí


Để đáp ứng được nhu cầu tìm kiếm thông tin chính xác và phù hợp với yêu cầu của người dùng thì khoá luận đã xây dựng một hệ thống tìm kiếm thông tin theo vị trí trong đó thông tin tìm kiếm được dựa trên ngữ cảnh của người dùng. Hệ thống tìm kiếm này sẽ tự động cung cấp thông tin cho người dùng bằng cách tạo ra truy vấn tìm kiếm một cách tự động từ ngữ cảnh của người dùng.

Ví dụ như một người dùng đang làm việc ở cơ quan và 11 giờ là hết giờ làm việc thì hệ thống sẽ tự động cung cấp thông tin về các tiệm ăn quanh vị trí cơ quan. Thông tin về các tiệm ăn có thể được lọc theo sở thích của người dùng như người dùng thích ăn đồ ăn nhanh hay thích ăn cơm công sở.

Yêu cầu của dịch vụ tìm kiếm thông tin theo vị trí được chia thành hai loại là yêu cầu của người dùng và yêu cầu của hệ thống:

+ Yêu cầu của người dùng:

- Hệ thống có thể cung cấp thông tin mọi lúc, mọi nơi, ở bất cứ mạng nào và với bất kỳ thiết bị di động cầm tay nào.

- Sử dụng dễ dàng.

- Có thể cung cấp được thông tin, thông tin cung cấp chính xác, phù hợp với ngữ cảnh và yêu cầu của người dùng.

- Thời gian đáp ứng của dịch vụ là nhanh

- Một số yêu cầu phụ như hệ thống có giao diện đẹp, hoạt động ổn định, tốn ít khả năng xử lý và lưu trữ của thiết bị.

+ Yêu cầu của hệ thống:

- Cung cấp thông tin đúng, chính xác.

- Có thể quản lý, lưu trữ và tìm kiếm thông tin trên quy mô lớn.

- Có thể cung cấp dịch vụ cho số lượng lớn người dùng tại một thời điểm.

- Hệ thống có thể dễ dàng mở rộng như nâng cấp hệ thống, tăng số lượng các máy phục vụ.

- Có thể kháng lỗi tốt và đảm bảo tìm kiếm được thông tin dù mạng bị lỗi.

3.2. Giải pháp thực hiện


Triển khai dịch vụ tìm kiếm theo vị trí trên mạng mạng ngang hàng có cấu trúc vì mang hàng hàng có cấu trúc có ưu điểm là có thể quản lý, lưu trữ và tìm kiếm dữ liệu trên quy mô lớn và dễ dàng mở rộng.

Để có thể tìm kiếm thông tin chính xác phù hợp với yêu cầu của người dùng thì hệ thống tự động tạo truy vấn tìm kiếm dựa trên ngữ cảnh người dùng.

Dịch vụ tìm kiếm thông tin theo vị trí có đặc điểm là tìm kiếm theo khoảng chính vì vậy hệ thống phải có khả năng tìm kiếm theo khoảng. Để hệ thống có thể tìm kiếm theo khoảng thì dữ liệu theo vị trí phải được biểu diễn và chèn vào mạng ngang hàng có cấu trúc một cách phù hợp.

3.2.1. Tạo câu truy vấn phù hợp với ngữ cảnh


Để tạo ra câu truy vấn phù hợp với ngữ cảnh của người dùng thì hệ thống dựa vào các thông tin cá nhân của người dùng (tuổi, giới tính, lịch làm việc, sở thích...), các thông tin môi trường xung quanh (thời tiết, khí hậu, thời gian, mùa...) và thông tin vị trí.

Ví dụ như một người dùng có lịch làm việc khoảng 8 giờ thì lúc 7 giờ có thể truy vấn tìm kiếm một số quán ăn gần vị trí người dùng, câu truy vấn còn yêu cầu lọc theo sở thích của người dùng như người dùng có thể chỉ thích ăn mì hoặc phở thì kết quả trả về sẽ là các quán ăn bán mì hoặc phở.


3.2.2. Biểu diễn dữ liệu theo vị trí


Cách thức chèn dữ liệu vào mạng ngang hàng có cấu trúc Chord sẽ ảnh hưởng đến cách thức tìm kiếm dữ liệu. Đặc trưng của dịch vụ tìm kiếm theo vị trí là tìm kiếm theo khoảng (trong một vùng bán kính) chính vì vậy cách thức chèn dữ liệu vào mạng Chord phải đảm bảo sao cho khi tìm kiếm có thể tìm kiếm được thông tin theo khoảng.

Để có thể hỗ trợ tìm kiếm thông tin trong một vùng địa lý thì ta chia bề mặt trái đất ra thành các ô hình vuông có cạnh là một ki lô mét và tất cả các vị trí thuộc một hình vuông sẽ được quy thành một điểm chung.



Hình 15. Minh hoạ chia bề mặt trái đất thành các ô



Giả sử như hình vẽ trên ta chia bề mặt vật lý của một khi vực thành 25 hình vuông và mỗi hình vuông sẽ có cạnh là một ki lô mét.

Hình 16. Minh hoạ một ô của bề mặt trái đất được chia ra

Giả sử một ô là hình vuông ABCD như hình vẽ trên và điểm E có toạ độ (2500, 1500) nằm trong hình vuông này. Khi đó điểm E sẽ được quy về coi như là điểm C có toạ độ là (2000, 1000). Như vậy tất cả các toạ độ thuộc hình vuông sẽ đều được coi như là điểm C có toạ độ (2000, 1000). Khi đó tất cả các thông tin có toạ độ trong hình vuông sẽ có chung một định danh để chèn vào mạng Chord (định danh trong chương trình sẽ được tính bằng cách băm chuỗi “2000$1000” đây là chuỗi được tạo ra từ toạ độ của điểm C). Khi tìm kiếm thì ta sẽ đi ngược lại với quá trình chèn dữ liệu, giả sử như ta tìm thông tin của một vùng nào đó trong hình vuông ABCD thì ta sẽ chỉ việc truy vấn đến nút nào quản lý định danh được băm từ toạ độ của điểm C để hỏi thông tin mà ta cần tìm.

3.2.3. Chèn dữ liệu vào mạng ngang hàng có cấu trúc


Sau khi đã biểu diễn được dữ liệu theo vị trí thì ta sẽ tiến hành chèn dữ liệu theo vị trí này vào mạng ngang hàng có cấu trúc có cấu trúc (cụ thể trong khoá luận này là mạng ngang hàng có cấu trúc Chord).

Dữ liệu vị trí sẽ được biểu diễn dưới dạng ngôn ngữ XML (eXtensible Markup Language) để tiện cho việc lưu trữ, truy vấn, tìm kiếm cũng như khả năng mở rộng hệ thống sau này.

Khi cần chèn một thông tin ở vị trí kinh độ là A và vĩ độ là B thì các bước thực hiện sẽ như sau:

Bước 1: Chuyển đổi kinh độ A và vĩ độ B 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: Toạ độ C và D sẽ được quy về một toạ độ chung như đã trình bày ở mục 3.2.2 về cách biểu diễn dữ liệu theo vị trí.

Giả sử toạ độ C và D được chuyển sang toạ độ chung là E và F thì E và F sẽ được tính như sau:

E = C - C % 1000

F = D – D % 1000

Bước 3: Tính toán định danh và chèn dữ liệu vào mạng ngang hàng có cấu trúc:

- Tính định danh ID bằng cách băm chuỗi “E + $ + F”

- Chèn dữ liệu vào mạng ngang hàng có cấu trúc theo đinh danh ID.

- Dữ liệu chèn sẽ được lưu tại nút có nhiệm vụ quản lý định danh ID và dữ liệu chèn này sẽ được lưu thông tin đây đủ (bao gồm cả toạ độ kinh độ và vĩ độ thực tế mà không phải là kinh độ và vĩ độ đã chuyển đổi).

3.2.4. Tìm kiếm dữ liệu


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ó hơn tìm trong một vùng hình vuông nên ta chuyển sang tìm kiếm trong một vùng hình 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.

3.3. Cấu trúc hệ thống


Hệ thống gồm có bốn thành phần đó là thiết bị di động, mạng kết nối, mạng ngang hàng có cấu trúc và hệ thống tên miền.

+ Thiết bị di động: Là các máy muốn tìm kiếm thông tin, các máy này phải có khả năng xác định được vị trí của mình và có thể kết nối vào mạng Internet.

+ Mạng kết nối: Mạng kết nối này sẽ gửi các yêu cầu của thiết bị di động và nhận kết quả trả về.

+ Mạng ngang hàng có cấu trúc: Mạng ngang sẽ lưu trữ, xử lý và tìm kiếm thông tin khi có yêu cầu từ thiết bị di động. Để có thể nhận được các thông điệp từ thiết bị di động thì các máy tham gia vào mạng ngang hàng sẽ mở một cổng mặc định để lắng nghe.

+ Hệ thống tên miền: Hệ thống này là nơi lưu trữ các thông tin về mạng ngang hàng có cấu trúc. Các thông tin này gồm địa chỉ IP và cổng lắng nghe của các máy trong mạng ngang hàng có cấu trúc.

Khi thiết bị di động muốn tìm kiếm thông tin trong mạng ngang hàng có cấu trúc thì đầu tiên thiết bị di động sẽ phải truy vấn đến hệ thống tên miền này để lấy về danh sách địa chỉ IP và cổng của các máy tham gia vào mạng ngang hàng có cấu trúc. Sau khi đã có danh sách các máy tham gia vào mạng ngang hàng có cấu trúc thì thiết bị di động sẽ kết nối đến một máy đang tham gia vào mạng này để yêu cầu máy này tìm kiếm thông tin giúp mình



Hình 19. Cấu trúc hệ thống dịch vụ tìm kiếm thông tin dựa vào vị trí


3.4. Hoạt động của hệ thống


Bước 1: Thiết bị di động sẽ lấy thông tin về vị trí của mình thông qua hệ thống định vị toàn cầu hoặc xác định vị trí thông qua vị trí của các cột sóng đài, các điểm truy cập của mạng không dây. Sau khi đã có thông tin về vị trí của người dùng thì chương trình sẽ kết hợp thông tin này với các thông tin về ngữ cảnh của người dùng (các thông tin về lịch làm việc, sở thích, giới tính, độ tuổi, thời gian trong ngày...) để tạo ra câu truy vấn tìm kiếm thông tin.

Truy vấn tìm kiếm được tạo định kỳ 5 phút một lần hoặc được tạo khi vị trí người dùng cách vị trí cũ 100 m.



Hình 20: Minh hoạ việc tạo truy vấn theo ngữ cảnh



Bước 2: Thiết bị di động sẽ truy vấn đến hệ thống tên miền để lấy về danh sách địa chỉ IP và cổng của các máy đang tham gia vào mạng ngang hàng có cấu trúc.

Hình 21: Yêu cầu địa chỉ IP và cổng của các máy trong mạng ngang hàng



Bước 3: Sau khi có địa chỉ IP và cổng của một máy tính đang tham gia vào mạng ngang hàng có cấu trúc thì thiết bị di động sẽ kết nối đến máy tính này để gửi truy vấn tìm kiếm cho máy này.

Hình 22: Yêu cầu tìm kiếm của thiết bị di động gửi lên mạng ngang hàng



Bước 4: Máy tính được thiết bị di động nhờ tìm kiếm giúp thông tin sẽ tìm kiếm thông tin trong mạng ngang hàng có cấu trúc và gửi thông tin kết quả về cho thiết bị di động. Việc tìm kiếm trên mạng ngang hàng phải đảm bảo chắc chắn tìm kiếm được dữ liệu và có thể tìm kiếm theo khoảng. Để đảm bảo chắc chắn tìm kiếm được thông tin có tồn tại trên mạng thì nút được thiết bị di động nhờ sẽ gửi lại gói tin tìm kiếm khi không thấy kết quả phản hồi.

Trong một phiên làm việc, nút trong mạng ngang hàng có cấu trúc sẽ lưu lại thông tin yêu cầu của các thiết bị di động nhờ tìm kiếm. Khi thiết bị di động yêu cầu tìm kiếm thì máy tính được nhờ này chỉ trả về các kết quả mới có mà không trả về kết quả đã gửi trước đó để giảm số lượng thông tin phải gửi cho thiết bị di động.



Hình 23: Minh hoạ mạng ngang hàng trả kết quả cho thiết bị di động



Bước 5: Khi thiết bị di động nhận được kết quả tìm kiếm thì nó sẽ hiển thị kết quả cho người dùng. Kết quả hiển thị trên thiết bị di động sẽ được hiển thị dưới dạng tin nhắn như có một nhà hàng ở gần đây hoặc có thể được hiển thị trên một bản đồ để người dùng có thể thấy thông tin một cách trực quan và biết vị trí của thông tin so với vị trí của mình.

3.5. Đặc điểm của hệ thống đề xuất


Hệ thống tìm kiếm thông tin theo vị trí trên mạng ngang hàng có cấu trúc đã xây dựng có đặc điểm là:

- Khắc phục được các nhược điểm của mô hình dịch vụ tìm kiếm thông tin theo vị trí cũ. Với hệ thống cũ thì thường bị quá tải tại máy chủ cung cấp dịch vụ còn với hệ thống đề xuất do sử dụng mạng ngang hàng nên khắc phục được nhược điểm này.

- Hệ thống có khả năng lưu trữ, xử lý và tận dụng được băng thông của mạng (đây là ưu điểm của mạng ngang hàng).

- Hệ thống có thể dễ dàng mở rộng như tăng số lượng nhà cung cấp dịch vụ tham gia vào mạng ngang hàng có cấu trúc, hệ thống có thể phục vụ cho số lượng người dùng lớn mà vẫn đảm bảo thời gian phản hồi thông tin cho người dùng là nhanh.

- Hệ thống đề xuất có thể lưu trữ, xử lý và tìm kiếm thông tin trên quy mô lớn.

3.6. Kết luận


Trong chương này chúng ta đã được trình bày về mục đích, yêu cầu và phương pháp xây dựng và cấu trúc của hệ thống tìm kiếm thông tin theo vị trí dựa trên mạng ngang hàng có cấu trúc đã đề xuất.

Chương này cũng trình bày chi tiết về cách biểu diễn dữ liệu theo vị trí, cách chèn dữ liệu và tìm kiếm dữ liệu vị trí trong mạng ngang hàng có cấu trúc.

Qua chương này ta thấy dịch vụ tìm kiếm theo vị trí triển khai dựa trên mạng ngang hàng có thể đáp ứng được các yêu cầu của dịch vụ tìm kiếm dựa vào vị trí đó là thời gian phản hồi của dịch vụ nhanh và hệ thống có thể dễ dàng mở rộng và hệ thống cung có khả năng tìm kiếm theo khoảng (ở đây khoảng là trong một vùng địa lý và cũng có thể là giá cả của một mặt hàng trong một khoảng nào đó) Trong chương tiếp theo chúng ta sẽ thử nghiệm và đánh giá về hiệu quả của hệ thống tìm kiếm thông tin đã trình bày trong chương này thông qua các yêu cầu đã đặt ra cho hệ thống này. Các yêu cầu của hệ thống đó là có khả năng mở rộng, phục vụ được nhiều người dùng và có thể cung cấp dịch vụ thời gian thực.

CHƯƠNG 4. THỰC THI VÀ ĐÁNH GIÁ CHƯƠNG TRÌNH

4.1. Kết quả thực thi chương trình


+ Kết quả tìm kiếm

Các thông tin tìm kiếm được sẽ được hiển thị dưới dạng tin nhắn, khi người dùng quan tâm đến thông tin nào thì người dùng có thể chọn thông tin đó để hiển thị chi tiết thông tin hoặc hiển thị thông tin trên bản đồ số.

Với những người dùng khác nhau thì kết quả tìm kiếm khác nhau hệ thống lọc thông tin theo ngữ cảnh của người dùng.

Ví dụ như hình dưới vơi hai người dùng là người dùng A và người dùng B thì người dùng A chỉ hiển thị các thông tin liên quan đến nhà hàng còn người dùng B thì hiển thị thông tin về các trường học gần nơi hiện tại của người dùng.



Hình 24: Minh hoạ giao diện hiển thị kết quả tìm kiếm thông tin



Thông tin còn được hiển thị trên bản đồ số để người dùng có thể biết thêm nhiều thông tin và thấy được vị trí của thông tin. Như hình dưới thì thông tin hiểu thị là “Nhà hàng bán rau” và hình tròn màu đỏ là vị trí hiện tại của người dùng.

Hình 25: Giao diện hiển thị kết quả trên bản đồ


4.2. Mô hình thử nghiệm


Mô hình thử nghiệm gồm có 3 máy tham gia vào mạng ngang hàng có cấu trúc Chord và một máy chạy chương trình tìm kiếm thông tin dựa vào vị trí trên chương trình PDA ảo.

Hình 26: Mô hình thí nghiệm

Các máy Peer A, Peer B, Peer C lần lượt ở các miền mạng 192.168.10.0/24, 192.168.10.0/24 và 192.168.30.0/24. Máy tính chạy chương trình PDA ảo sẽ ở miền mạng 192.168.100.0/24.

Đường truyền giữa các máy trong mạng ngang hàng (giữa Peer A và Peer B, Peer B và Peer C, Peer C và Peer A, giữa Peer A và thiết bị di động) đều bị giới hạn về băng thông và độ trễ. Để giới hạn băng thông và độ trễ mạng thì tất cả các máy tính trong thí nghiệm đều kết nối với một bộ định tuyến (trong thí nghiệm là một máy tính chạy hệ điều hành FreeBSD).



+ Thử nghiệm tăng dần băng thông cho tất cả các đường truyền:

Thử nghiệm này sẽ tạo ra một môi trường mạng có băng thông và độ trễ giống với môi trường Internet. Thử nghiệm này dùng để đo thời gian tìm kiếm thông tin của hệ thống dịch vụ dựa vào vị trí đã xây dựng.

Băng thông sẽ được điều chỉnh trên tất cả các đường truyền, tăng lần lượt là 50 kbps , 100 kbps , 150 kbps và 200 kbps. Các băng thông này tương đối giống với băng thông của mạng Internet và mạng điện thoại hiện nay.

Kết quả thử nghiệm





50 Kbit/s

100 Kbit/s

150 Kbit/s

200 Kbit/s

Thời gian gửi từ thiết bị di động đến Peer A

1.3 s

1.28 s

1.2 s

1.2 s

Thời gian Peer A gửi kết quả cho thiết bị di động

3.019 s

2.574 s

2.6 s

2.48 s

Thời gian tìm kiếm thông tin trong mạng Chord

2.743 s

1.5542 s

1.04 s

0.86 s

Tổng thời gian tìm kiếm

7.06 s

5.40 s

4.84 s

4.44 s

Hình 27: Kết quả thí nghiệm

Bảng số liệu trên được tính từ bốn lần thí nghiệm với băng thông lần lượt là 50 kbps, 100 kbps, 150 kbps và 200 kbps . Mỗi thí nghiệm được thực hiện ba lần, mỗi lần thí nghiệm sẽ gửi khoảng 10 yêu cầu tìm kiếm. Cả 10 yêu cầu tìm kiếm này sẽ được đo về thời gian gửi từ thiết bị di động cho máy A, thời gian tìm kiếm trong mạng Chord và thời gian gửi kết quả cho thiết bị di động. Sau khi đo được thời gian của cả 10 yêu cầu tìm kiếm thì các kết quả này sẽ được tính trung bình và sau ba lần thí nghiệm sẽ lại được tính trung bình một lần nữa để được các số liệu trên.



Biểu đồ minh hoạ

Hình 28: Đồ thị kết quả thử nghiệm



Nhận xét và đánh giá

Qua bảng số liệu ta thấy thời gian gửi kết quả từ máy tính tham gia vào mạng Chord cho thiết bị di động là lớn nhất vì kết quả tìm kiếm có dung lượng lớn. Các truy vấn gửi từ thiết bị di động cho máy tính tham gia vào mạng Chord là mất ít thời gian vì kích thước của truy vấn tìm kiếm là nhỏ.

Thời gian tìm kiếm trong mạng Chord thì tuỳ thuộc vào số truy vấn phải gửi đi như trong mô hình thí nghiệm có thể truy vẫn tìm kiếm không phải gửi, phải gửi một lần hoặc phải gửi hai lần yêu cầu và một yêu cầu gửi trả kết quả về.

- Trường hợp tìm kiếm không phải gửi bất kỳ truy vấn tìm kiếm nào trên mạng Chord là trường hợp dữ liệu cần tìm của thiết bị di động đang được quản lý bởi Peer A, trường hợp này thời gian tìm kiếm là nhỏ nhất.

- Trường hợp phải gửi một truy vấn là trường hợp dữ liệu cần tìm năm ở trên Peer B. Vì khi thiết bị di động yêu cầu Peer A tìm kiếm thì lúc này Peer A là Succesor của Peer B chính vì vậy Peer A sẽ gửi yêu cầu tìm kiếm cho Peer B.

- Trường hợp phải gửi hai truy vấn để tìm thấy kết quả trong mạng Chord trong mô hình thí nghiệm là khi máy Peer C chứa dữ liệu cần tìm. Khi máy Peer A nhận yêu cầu tìm kiếm của thiết bị di động thì yêu cầu này chắc chắn sẽ phải gửi đến Peer B trước rồi mới được gửi đến Peer C vì truy vấn tìm kiếm bao giờ cũng phải gửi đến nút Predecessor của nút chứa dữ liệu cần tìm.


CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TIẾP THEO

5.1. Kết luận


Ngày nay, với sự phát triển như vũ bão của công nghệ đã tạo ra nhiều thiết bị phần cứng nhỏ gọn, có khả năng lưu trữ và xử lý lớn như PDA, Pocket PC, Smart Phone.... Các thiết bị này đã trở thành một phần không thể thiếu trong cuộc sống hiện đại, chúng ta có thể thấy chúng mọi lúc, mọi nơi. Việc nghiên cứu và triển khai các ứng dụng trên các thiết bị này đang là một vấn đề nóng và cái đích cuối cùng là tạo ra một môi trường tính toán mà ở đó người dùng không còn cảm nhận được sự có mặt của công nghệ (tức là người dùng không còn cảm nhận được sự tồn tại của máy tính ở trong môi trường mình đang sống). Dịch vụ dựa vào vị trí là một trong những dịch vụ đang được triển khai thành công trên các thiết bị thông minh này.

Từ yêu cầu của người dùng là tìm kiếm thông tin chính xác, phù hợp với ngữ cảnh và yêu cầu của hệ thống tìm kiếm thông tin theo vị trí là hệ thống có khả năng quản lý, lưu trữ dữ liệu phân tán, tìm kiếm thông tin nhanh trên quy mô lớn và hệ thống dễ dàng mở rộng. Khoá luận đã xây dựng một hệ thống tìm kiếm thông tin theo vị trí dựa trên mạng ngang hàng có cấu trúc trong đó thông tin tìm kiếm dựa trên ngữ cảnh của người dùng. Từ tính chất và ưu điểm của mạng ngang hàng có cấu trúc ta thấy việc triển khai dịch vụ tìm kiếm thông tin theo vị trí trên mạng ngang hàng có cấu trúc là phù hợp vì bản chất của mạng ngang hàng là quản lý, lưu trữ thông tin phân tán và ưu điểm của mạng ngang hàng có cấu trúc là có khả năng tìm kiếm nhanh, tìm kiếm dữ liệu trên quy mô lớn và hệ thống có tính mở rộng cao. Mạng ngang hàng còn có ưu điểm là có thể tận dụng được khả năng lưu trữ, xử lý và băng thông của các máy tham gia vào mạng.

Khoá luận đã xây dựng chương trình cho phép tìm kiếm thông tin theo vị trí trên mạng ngang hàng có cấu trúc Chord và thử nghiệm hệ thống trong môi trường mạng có giới hạn về băng thông và độ trễ gần giống với môi trường mạng Internet và mạng điện thoại ngày nay. Kết quả thử nghiệm cho thấy dịch vụ tìm kiếm thông tin theo vị trí dựa trên mạng ngang hàng có cấu trúc đã xây dựng có thể đáp ứng được các yêu cầu của hệ thống dịch vụ dựa vào vị trí là có khả năng lưu trữ, xử lý thông tin phân tán, tìm kiếm thông tin nhanh và hệ thống có tính mở rộng cao. Đồng thời hệ thống đã xây dựng có thể tìm kiếm thông tin dựa trên ngữ cảnh của người dùng (với các người dùng khác nhau thì kết quả tìm kiếm là khác nhau).

5.2. Hướng phát triển tiếp theo của khoá luận


Tuy đã có nhiều cố gắng nhưng khoá luận vẫn còn gặp phải nhiều vấn đề chưa giải quyết chính vì vậy trong thời gian sắp tới khoá luận sẽ tiếp tục được hoàn thiện. Khoá luận sẽ tiếp tục thử nghiệm và đánh giá kỹ lưỡng hệ thống dịch vụ tìm kiếm thông tin theo vị trí đã xây dựng và triển khai triển khai hệ thống trên thực tế để đo khả năng định vị chính xác của thiết bị di động và đo thời gian phản hồi thông tin của dịch vụ này.

TÀI LIỆU THAM KHẢO

[1] Challenge: Ubiquitous Location-Aware Computing and the “Place Lab” Initiative Bill N. Schilit1, Anthony LaMarca1, Gaetano Borriello1,2, William G. Griswold3, David McDonald4, Edward Lazowska2, Anand Balachandran3, Jason Hong5 and Vaughn Iverson6

[2] Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica_, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnany MIT Laboratory for Computer Science chord@lcs.mit.edu http://pdos.lcs.mit.edu/chord/

[3] Foundations of Location Based Services – CartouCHe – Lecture Note on LBS, V.1.0 – Stefan Steiniger, Moritz Neun And Alistair Edwardes

[4] J. Gao and P. Steenkiste, "Design and Evaluation of a Distributed Scalable Content Discovery System", IEEE Journal on Selected Areas in Communications, January, January 2004

[5] M. Balazinska, H. Balakrishnan, and D. Karger, "INS/Twine: A Scalable Peer-to-Peer Architecture for Intentional Resource Discovery", In Proceedings of International Conference on Pervasive Computing, August 2002

[6] Matthew Harren, Joseph M. Hellerstein, Ryan Huebsch, Boon Thau Loo, Scott Shenker, Ion Stoica, “Complex Queries in DHT-based Peer-to-Peer Networks”

[7] Pervasive Computing: Vision and Challenges M. Satyanarayanan, Carnegie Mellon University

[8] http://www.mac-p2p.com/p2p-history/

[9] http://en.wikipedia.org/wiki/Gnutella








tải về 2.07 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương