Tải bản đầy đủ (.doc) (52 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (875.32 KB, 52 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Đình Hậ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
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin
HÀ NỘI - 2009
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Đình Hậ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
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS.Nguyễn Hoài Sơn
HÀ NỘI - 2009
LỜI CẢM ƠN
Để hoàn thành khóa luận này, trước hết em xin bày tỏ lòng biết ơn sâu sắc tới thầy
TS. Nguyễn Hoài Sơn. Thầy đã tận tình hướng dẫn, giúp đỡ em trong suốt quá trình
làm khóa luận. Đồng thời em xin được cảm ơn các thầy giáo, cô giáo trong Trường Đại
Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã truyền đạt cho em nhiều kiến thức bổ
ích trong suốt thời gian học tập tại trường.
Cuối cùng, em xin cảm ơn tất cả bạn bè, gia đình và người thân đã giúp đỡ, động
viên em rất nhiều để em có thể hoàn thành tốt khoá luận.
Hà Nội, ngày 25 tháng 5 năm 2009
Sinh viên
Phạm Đình Hậu


TÓM TẮT NỘI DUNG
Hiện nay, các dịch vụ dựa vào vị trí cung cấp dịch vụ cho các thiết bị di động đang
phát triển mạnh. Trong đó dịch vụ tìm kiếm thông tin theo vị trí là một dịch vụ quan
trọng. Do các máy chủ cung cấp dịch vụ dựa vào vị trí hiện nay hoạt động rời rạc, không
có sự liên kết với nhau dễ gây quá tải tại các máy chủ vào giờ cao điểm, thông tin cung
cấp cho người dùng không đa dạng. Chính vì vậy nảy sinh nhu cầu liên kết các máy chủ
của các nhà cung cấp dịch vụ lại với nhau thành một mạng dịch vụ. Để các máy chủ
cung cấp dịch vụ có thể liên kết được với nhau thì phải giải quyết được các vấn đề về
quản lý, lưu trữ, xử lý thông tin phân tán và tìm kiếm thông tin quy mô lớn. Mạng ngang
hàng có cấu trúc sẽ là một giải pháp tốt để liên kết các máy chủ cung cấp dịch vụ lại với
nhau vì bản chất của mạng ngang hàng là xử lý và lưu trữ dữ liệu phân tán đồng thời
mạng ngang hàng có cấu trúc có ưu điểm là tìm kiếm dữ liệu nhanh, có thể tìm kiếm
được dữ liệu trên quy mô lớn và hệ thống có khả năng mở rộng cao.
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 được dựa trên ngữ cảnh của người
sử dụng. Ngữ cảnh ở đây là các thông tin về tuổi, giới tính, sở thích của người dùng và
các thông tin về môi trường như thời tiết, mùa trong năm, thời gian trong ngày và vị trí
hiện tại của người dùng. Hệ thống đã được thử nghiệm và đánh giá thông qua môi
trường mạng có giới hạn băng thông và độ trễ giống với môi trường mạng Internet và
mạng điện thoại hiện nay. Kết quả thử nghiệm cho thấy hệ thống xây dựng đã đáp ứng
được các yêu cầu của dịch vụ dựa vào vị trí là cung cấp dịch vụ thời gian thực và có thể
dễ dàng mở rộng hệ thống.
MỤC LỤC
Phạm Đình Hậu 2
LỜI MỞ ĐẦU 1
CHƯƠNG 1. MÔ HÌNH DỊCH VỤ DỰA VÀO VỊ TRÍ 3
CHƯƠNG 2. PHƯƠNG PHÁP TÌM KIẾM THÔNG TIN TRÊN MẠNG NGANG HÀNG
CÓ CẤU TRÚC 13
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 26

CHƯƠNG 4. THỰC THI VÀ ĐÁNH GIÁ CHƯƠNG TRÌNH 38
CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TIẾP THEO 44
DANH MỤC HÌNH ẢNH
Hình 1. Cấu trúc hệ thống dịch vụ dựa vào vị trí 4
Hình 2. Một số thiết bị di động sử dụng dịch vụ dựa vào vị trí 5
Hình 3. Mạng diện rộng không dây 6
Hình 4. Mạng cục bộ không dây 7
Hình 5. Mạng cá nhân không dây 7
Hình 6: Xác định vị trí dùng tín hiệu vệ tinh 8
Hình 7. Xác định vị trí dùng dựa vào các trạm sóng đài 9
Hình 8. Cách thức hoạt động của dịch vụ dựa vào vị trí 10
Hình 9: Mô hình mạng ngang hàng 13
Hình 10. Hệ thống mạng ngang hàng lai ghép 15
Hình 11. Mạng ngang hàng có cấu trúc Chord dạng vòng tròn 17
Hình 12. Mô hình mạng Chord 19
Hình 13: Định nghĩa các trường trong bảng định tuyến của Chord 19
Hình 14. Minh hoạ quy tắc lưu khoá trong mạng Chord 20
Hình 15. Minh hoạ chia bề mặt trái đất thành các ô 28
Hình 16. Minh hoạ một ô của bề mặt trái đất được chia ra 28
Hình 17: Minh hoạ tìm kiếm thông tin trong một vùng 30
Hình 18: Minh hoạ thông tin vị trí của một ô trên bề mặt trái đất 31
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í 33
Hình 20: Minh hoạ việc tạo truy vấn theo ngữ cảnh 34
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 34
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 35
Hình 23: Minh hoạ mạng ngang hàng trả kết quả cho thiết bị di động 36
Hình 24: Minh hoạ giao diện hiển thị kết quả tìm kiếm thông tin 38
Hình 25: Giao diện hiển thị kết quả trên bản đồ 39
Hình 26: Mô hình thí nghiệm 40
Hình 27: Kết quả thí nghiệm 41

Hình 28: Đồ thị kết quả thử nghiệm 42
LỜI MỞ ĐẦU
Ngày này, số lượng các thiết bị di động cầm tay tăng nhanh, sức mạnh xử lý và bộ
nhớ của thiết bị đã có thể đáp ứng được yêu cầu của nhiều dịch vụ. Trong đó dịch vụ
dựa vào vị trí là một dịch vụ phổ biến và đang phát triển hiện nay. Dịch vụ này được
ứng dụng trong nhiều lĩnh vực và cung cấp các thông tin như dịch vụ gần nhất, theo dõi
phương tiện giao thông, các dịch vụ khẩn cấp. Dịch vụ tìm kiếm thông tin là một dịch
vụ quan trọng của dịch vụ dựa vào vị trí và đang phát triển mạnh.
Tuy hiện nay có nhiều dịch vụ tìm kiếm thông tin nhưng thông tin tìm kiếm được
thường không đúng yêu cầu và không có liên hệ với ngữ cảnh của người dùng. Ngữ
cảnh ở đây là các thông tin cá nhân (tuổi, giới tính, sở thích, lịch làm việc), thông tin
môi trường xung quanh (thời gian trong ngày, mùa trong năm, thời tiết...) và vị trí của
người dùng. Để đáp ứng được nhu cầu của người sử dụng là 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 được tìm kiếm dựa trên ngữ cảnh của người
dùng. Hệ thống sẽ cung cấp thông tin một cách tự động cho người dùng bằng cách tạo
truy vấn tìm kiếm tự động từ ngữ cảnh của người dùng. Yêu cầu của hệ thống này là
phải có khả năng tìm kiếm dữ liệu trên quy mô lớn, có tính phân tán và có khả năng mở
rộng cao.
Công nghệ mạng ngang hàng đã phát triển nhanh chóng trên mạng Internet trong
thời gian gần đây với sự xuất hiện của hàng loạt các ứng ngang hàng như Napster,
Gnutella, Freenet, BitTorrent, Edonkey…. Sở dĩ mô hình mạng mạng ngang hàng phát
triển như vậy là vì mô hình này rất phù hợp với tính phân tán của dữ liệu, đồng thời nó
đảm bảo quyền quản lý dữ liệu của người dùng nên khuyến khích được việc chia sẻ dữ
liệu, làm tăng nguồn tài nguyên trên mạng. Mô hình mạng ngang hàng cũng được sử
dụng để xử lý các bài toán phức tạp do tận dụng được khả năng tính toán phân tán và
tích hợp dữ liệu từ các máy tính tham gia mạng. Trong mạng ngang hàng các máy tham
gia đều đóng góp tài nguyên như băng thông, khả năng xử lý và khả năng lưu trữ.
Để đáp ứng được yêu cầu của hệ thống tìm kiếm thông tin theo vị trí là có thể tìm
kiếm dữ liệu trên quy mô lớn, có tính phân tán và có tính mở rộng cao thì mạng ngang

hàng có cấu trúc là một giải pháp tốt. Bởi vì mạng ngang 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 trên quy mô lớn, có tính phân tán và có thể dễ dàng
mở rộng. Vì vậy khoá luận đã đi sâu vào nghiên cứu và xây dựng 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 . Để đánh giá hiệu quả của hệ
thống đã xây dựng thì hệ thống đã được thử nghiệm trong môi trường được giới hạn về
băng thông và độ trễ giống với môi trường Internet và mạng điện thoại hiện nay và kết
quả thử nghiệm là khá khả quan.
Khoá luận được chia làm 5 chương:
- Chương 1: Chương này sẽ giới thiệu về cấu trúc của hệ thống dịch vụ dựa vào vị
trí hiện đang được sử dụng và các yêu cầu của dịch vụ dựa vào vị trí.
- Chương 2: Trong chương này sẽ giới thiệu tổng quan về mạng ngang hàng, ưu
nhược điểm của mạng ngang hàng và các phương pháp tìm kiếm đang được sử dụng
trong mạng ngang hàng có cấu trúc.
- Chương 3: Chương này sẽ trình bày về ý tưởng, yêu cầu và cách thức 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.
- Chương 4: Trong chương này chúng ta sẽ trình bày về mô hình thực nghiệm để
đánh giá hiệu quả của dịch vụ tìm kiếm thông tin theo vị trí đã xây dựng và đưa ra các
nhận xét đánh giá kết quả thử nghiệm.
- Chương 5: Kết luận và hướng phát triển tiếp theo của khoá luận.
2
CHƯƠNG 1. MÔ HÌNH DỊCH VỤ DỰA VÀO VỊ TRÍ
Ngày nay, với sự tiến bộ của khoa học kỹ thuật, đặc biệt là sự phát triển nhanh
chóng của công nghệ phần cứng đã có thể tạo ra các thiết bị nhỏ gọn, có khả năng lưu
trữ và xử lý lớn như PDA, Smart Phone, Pocket PC.... Giá thành của các sản phẩm này
liên tục giảm khiến cho số lượng người dùng sử dụng các thiết bị thông minh này tăng
nhanh chóng. Chính vì số lượng các thiết bị thông minh này tăng nhanh dẫn đến nhu cầu
của người dùng muốn sử dụng các dịch vụ gia tăng trên các thiết bị này lớn. Dịch vụ
dựa vào vị trí là một dịch vụ gia tăng đang phát triển ngày nay. Các ứng dụng của dịch
vụ này rất đa dạng, các ứng dụng này cung cấp cho mọi người các thông tin như vị trí
các rạp chiếu bóng, các phòng nghe nhạc, các bữa tiệc và các thông tin về bản đồ, nhà

hàng, viện bảo tàng, bệnh viện... ở các địa điểm gần mình.
1.2. Tổng quan về dịch vụ dựa vào vị trí
Dịch vụ dựa vào vị trí là dịch vụ cung cấp các thông tin liên quan đến vị trí của
thiết bị di động cầm tay thông qua mạng điện thoại hoặc kết nối không dây. Dịch vụ dựa
vào vị trí cũng có thể được định nghĩa là dịch vụ khai thác các thông tin về vị trí của
thiết bị di động cầm tay. Dịch vụ này có thể cung cấp các thông tin như “Vị trí trạm
ATM (Automatic Teller Machine) gần nhất” hoặc các thông tin về vị trí của các nhà
hàng, quán ăn, các bến xe... ở quanh vị trí của thiết bị di động cầm tay. Các thông tin
này có thể được cung cấp một cách tự động mà không cần bất cứ thao tác yêu cầu nào
của người dùng hoặc người dùng cũng có thể yêu cầu trực tiếp các thông tin mình muốn
tìm và có thể tuỳ chọn tìm kiếm thông tin về một vị trí được chỉ định trên bản đồ số.
Dịch vụ dựa vào vị trí mới xuất hiện gần đây, dịch vụ này tập trung vào cung cấp các
dịch vụ trong phạm vi nhóm người dùng không chuyên và hoạt động trong môi trường
tính toán di động có năng lực tính toán thấp.
Các ứng dụng phổ biến của dịch vụ dựa vào vị trí:
+ Định vị: Dùng để xác định vị trí của một người nào hay vật nào để trả lời cho
câu hỏi đang ở đâu.
+ Di chuyển: Ứng dụng này có thể chỉ dẫn một cách chi tiết làm sao để đi đến một
vị trí mà người dùng mong muốn.
+ Tìm kiếm: Ứng dụng này có thể là cung cấp các thông tin về các dịch vụ gần
nhất (có thể là nhà hàng gần nhất, trạm ATM gần nhất), các thông tin về giao thông như
tình trạng tắc nghẽn giao thông tại điểm nào đó.
3
+ Xác định một người hay vật: Dùng để xác định một vật hay người nào đó ở vị trí
hiện tại.
+ Kiểm tra sự kiện: Dùng để kiểm tra xem có sự kiện nào xảy ra ở vị trí này
không.
+ Dịch vụ khẩn cấp: Khi có các tình trạng khẩn cấp như hoả hoạn, lũ lụt, trộm
cướp thì có thể sử dụng dịch vụ này để thông báo cho cảnh sát hoặc cho lính cứu hoả.
+ Dịch vụ theo dõi: Dịch vụ này có thể là theo dõi giao thông để thông báo cho các

các xe cứu thương hoặc cung cấp cho người dùng tránh các điểm tắc nghẽn.
1.3. Các thành phần của dịch vụ dựa vào vị trí
Dịch vụ dựa vào vị trí gồm có bốn thành phần như hình 1 [3]:
- Thiết bị di động
- Mạng kết nối
- Thành phần định vị
-Nhà cung cấp ứng dụng và dịch vụ
Hình 1. Cấu trúc hệ thống dịch vụ dựa vào vị trí
4
1.3.1. Thiết bị di động
Là các thiết bị Mobile Phone, Smart Phone, Laptop, PDA... mà người dùng có thể
sử dụng để truy cập và hiển thị thông tin. Người dùng có thể nhận thông tin dưới các
dạng như âm thanh, văn bản, hình ảnh... Các thiết bị di động có thể là PDA, Phones,
Laptops... nhưng cũng có thể là các thiết bị định vị gắn kèm với ô tô.
Có nhiều loại thiết bị kết nối với dịch vụ dựa vào vị trí, tuỳ theo sức mạnh và khả
năng lưu trữ của thiết bị, người dùng có thể sử dụng một hoặc nhiều dịch vụ khác nhau.
Các thiết bị dùng dịch vụ dựa vào vị trí có thể được phân loại thành hai loại là thiết bị
đơn nhiệm và thiết bị đa nhiệm.
+ Thiết bị đơn nhiệm: Thường sử dụng các dịch vụ khẩn cấp như còi báo động
hoặc cảnh báo tình trạng khẩn cấp.
+ Thiết bị đa nhiệm: Các thiết bị này đang được nhiều người sử dụng và nó đã
trở thành một phần của cuộc sống chúng ta. Một số thiết bị đa nhiệm trong hình vẽ 2:
Mobile Phone, Smart Phone, Pocket PC, Laptop hoặc PDA.
Hình 2. Một số thiết bị di động sử dụng dịch vụ dựa vào vị trí
5
+ Đặc điểm của các thiết bị di động:
- Hầu hết các thiết bị di động có tài nguyên tính toán và khả năng xử lý thấp.
- Màn hình hiển thị nhỏ, pin có thời gian sử dụng ngắn, bị ảnh hưởng bởi điều kiện
thời tiết.
- Bị giới hạn về băng thông kết nối.

1.3.2. Mạng kết nối
Thành phần này dùng để truyền dữ liệu, phục vụ các yêu cầu của người dùng và
gửi kết quả cho người dùng.
Mạng kết nối thường được phân chia thành các loại khác nhau tuỳ theo mục đích,
giới hạn về sóng đài (radio) và các tính chất địa lý.
+ Mạng diện rộng không dây (WWAN: Wireless Wide Area Networks) thường
từ 100 m đến 35 km và yêu cầu người dùng phải đăng ký để được sử dụng. Mạng này
bao gồm GSM (Global System for Mobile, GPRS (General Packet Radio Service) và
UMTS (Universal Mobile Telecommunication System). GMM và GPRS có thể truyền
dữ liệu tối đa là 14 kbps và 115 kbps ngược lại UMTS có thể truyền tới 2 Mbps.
Hình 3. Mạng diện rộng không dây
6
+ Mạng cục bộ không dây (WLAN: Wireless Local Area Network): khoảng cách
từ 10 đến 150 m. Thiết bị di động có thể kết nối thông qua các điểm truy cập.
Hình 4. Mạng cục bộ không dây
+ Mạng cá nhân không dây (WPAN: Wireless Personal Area Networks): được
dùng cho các kết nối trong một khoảng ngắn xung quanh 10 m và hệ thống thường
không yêu cầu đăng ký sử dụng. Thông thường bao gồm Bluetooth và các thiết bị
Infrared (IrDA), dữ liệu truyền qua công nghệ Bluetooth có thể là 1 Mbps trong khoảng
cách 10 m và trong trường hợp IrDA (Inrared) nó có thể là 16 Mbps trong khoảng 1.5 m.
Hình 5. Mạng cá nhân không dây
7
1.3.3. Thành phần định vị
Là thành phần dùng để xác định vị trí hiện tại của người dùng. Hiện nay có hai
phương pháp chính để xác định vị trí người dùng là dựa vào tín hiệu vệ tinh và dựa vào
các trạm sóng đài.
+ Định vị dựa vào vệ tinh: Một số hệ thống định vị tiêu biểu sử dụng vệ tinh như
TACAN – (TACtical Air Navigation), hệ thống định vị toàn cầu (GPS: Global
Positioning System), GLONASS (Global'naya Navigatsionnaya Sputnikovaya Sistema).
Hình 6: Xác định vị trí dùng tín hiệu vệ tinh

Các hệ thống định vị sử dụng vệ tinh chủ yếu dùng để phục vụ cho mục đích quân
sự nên khi dùng trong dân sự thì chúng bị giới hạn về độ chính xác như hệ thống định vị
toàn cầu thì độ chính xác khoảng 15 m. Hiện nay có một số máy thu tín hiệu của hệ
thống định vị toàn cầu đã có thể xác định vị trí chính xác hơn và sai lệch khoảng 3 m.
Tín hiệu của hệ thống định vị toàn cầu bị nhiễu bởi khá nhiều yếu tố như: điều
kiện khí quyển, tín hiệu đi theo nhiều đường, lỗi đồng bộ giữa máy thu và vệ tinh của hệ
thống định vị toàn cầu, thiết bị thu tín hiệu bị che khuất bởi các toà nhà.
+ Định vị dựa vào mạng: Hệ thống này xác định vị trí của người dùng dựa vào các
cột sóng đài.
8
Hình 7. Xác định vị trí dùng dựa vào các trạm sóng đài
1.3.4. Nhà cung cấp ứng dụng và dịch vụ
Nhà cung cấp dịch vụ cung cấp một số các dịch vụ khác nhau cho người dùng và
phản hồi các yêu cầu cung cấp dịch vụ cho người dùng. Các dịch vụ và ứng dụng được
cung cấp như các dịch vụ về tìm vị trí, tìm đường đi dựa trên thông tin mà người dùng
cung cấp hoặc tìm kiếm các thông tin về đối tượng mà người dùng quan tâm (như nhà
hàng, viện bảo tàng, khách sạn, tiệm ăn...)
Thông thường dịch vụ dựa vào vị trí được chia thành hai loại:
+ Dịch vụ kéo về (Pull Services): Là những dịch vụ đáp ứng yêu cầu trực tiếp
của người dùng, dịch vụ này thường được chia thành hai loại:
- Dịch vụ chức năng: Các dịch vụ cung cấp chức năng hỗ trợ người dùng 113, 115
(gọi dịch vụ cấp cứu khẩn cấp chỉ thông qua một nút bấm).
- Dịch vụ thông tin: Cung cấp thông tin như “tìm quán ăn gần nhất”.
+ Dịch vụ đẩy đi (Push Services): Cung cấp thông tin dù người có có yêu cầu
hay không yêu cầu trực tiếp. Dịch vụ hoạt động tự động và làm việc khi xảy ra một sự
kiện được chỉ định như dịch vụ dự báo thời tiết, tin nhắn quảng cáo khi người dùng đi
vào một khu vực nào đó.
9
1.4. Cách thức hoạt động của dịch vụ dựa vào vị trí
Hệ thống hoạt động dựa trên các thành phần như hình vẽ 8 [3]: Các thiết bị, mạng

kết nối, công nghệ xác định vị trí, máy chủ cung cấp dịch vụ và dữ liệu.
Hình 8. Cách thức hoạt động của dịch vụ dựa vào vị trí
Hoạt động của hệ thống sẽ như sau:
Bước 1: Đầu tiên các thiết bị di động cầm tay sẽ xác định vị trí của mình dựa vào
tín hiệu vệ tinh của hệ thống định vị toàn cầu, các cột sóng di động hoặc dựa vào các
điểm truy cập không dây.
Bước 2: Sau khi đã có được thông tin về vị trí hiện tại thì thiết bị di động sẽ gửi
thông tin về vị trí của mình và thông tin cần tìm kiếm (như cửa hàng, khách sạn, trạm
ATM gần nhất) đến máy chủ cung cấp dịch vụ qua mạng kết nối.
Bước 3: Các máy chủ dịch vụ sẽ đọc yêu cầu của thiết bị di động, xử lý yêu cầu
và gửi kết quả cho thiết bị di động.
Bước 4: Thiết bị di động sẽ hiển thị kết quả cho người dùng, kết quả có thể được
hiển thị dưới dạng tin nhắn hoặc hiển thị trên bản đồ để người dùng có thể thấy một
cách trực quan vị trí của thông tin.
10
1.5. Tìm kiếm thông tin dựa vào vị trí
+ Yêu cầu của hệ thống tìm kiếm thông tin theo vị trí là:
- Cung cấp kết quả chính xác với yêu cầu của người dùng và giá thành của dịch vụ
hợp lý.
- Có thể định vị được các thiết bị di động trong phạm vị rộng,
- Với các dịch vụ khác nhau thì có độ ưu tiên khác nhau như với dịch vụ khẩn cấp
thì phải đáp ứng nhanh còn với dịch vụ tìm tiệm ăn, nhà hàng, khách sạn thì có thể ưu
tiên ít hơn.
- Dịch vụ không làm tăng kích thước, khối lượng của thiết bị nhiều cũng như
không làm tiêu tốn nhiều năng lượng của thiết bị.
- Có thể phục vụ được một số lượng lớn các thiết bị di động tại cùng một thời
điểm.
- Các thông tin về khách hàng phải được giữ bí mật.
- Hệ thống phải dễ dàng mở rộng: Có thể tăng số người sử dụng cũng như tăng
khả năng xử lý và lưu trữ của hệ thống.

- Hệ thống có thể cung cấp dịch vụ thời gian thực.
- Người dùng có thể sử dụng dịch vụ mọi lúc, mọi nơi.
+ Vấn đề tìm kiếm thông tin theo vị trí:
Hệ thống dịch vụ tìm kiếm thông tin theo vị trí hiện nay chủ yếu được xây dựng
theo mô hình khách - chủ. Nhược điểm của mô hình này đó là dễ bị quá tải tại máy chủ
trung tâm khi có nhiều người dùng truy cập cùng một thời điểm và khó khăn khi mở
rộng hệ thống.
Yêu cầu của hệ thống dịch vụ tìm kiếm thông tin theo vị trí là hệ thống có thể lưu
trữ, xử lý, tìm kiếm dữ liệu trên quy mô lớn và có khả năng mở rộng cao vì vậy việc
triển khai dịch vụ này trên mô hình khách - chủ là không phù hợp. Mạng ngang hàng có
cấu trúc là một giải pháp tốt để triển khai dịch vụ tìm kiếm thông tin theo vị trí vì bản
chất của mạng ngang hàng là quản lý, lưu trữ, xử lý thông tin phân tán và mạng ngang
hàng có cấu trúc có ưu điểm là có thể thể tìm kiếm thông tin nhanh, tìm kiếm trên quy
mô lớn và hệ thống có tính mở rộng cao.
11
1.6. Tổng kết
Chương này đã giới thiệu tổng quan về dịch vụ dựa vào vị trí, cấu trúc của dịch vụ
dựa vào vị trí, hoạt động của dịch vụ dựa vào vị trí cũng như các yêu cầu hệ thống của
dịch vụ này.
Qua các yêu cầu của dịch vụ này ta có thể thấy việc triển khai dịch vụ dựa vào vị
trí trên mạng ngang hàng là hoàn toàn khả thi vì khi triển khai dịch vụ này trên mạng
ngang hàng thì hệ thống sẽ có thể tận dụng được khả năng lưu trữ, xử lý thông tin của
các máy tham gia vào mạng chính vì vậy làm tăng khả năng xử lý tổng thể của hệ thống.
Khả năng xử lý tổng thể của hệ thống tăng sẽ làm cho thời gian đáp ứng của dịch vụ
nhanh, đáp ứng được dịch vụ thời gian thực và ưu điểm của mạng ngang hàng là khả
năng mở rộng dễ cao chính vì vậy hệ thống triển khai trên mạng ngang hàng sẽ có được
ưu điểm là khả năng mở rộng hệ thống dễ dàng.
12
CHƯƠNG 2. PHƯƠNG PHÁP TÌM KIẾM THÔNG TIN TRÊN MẠNG
NGANG HÀNG CÓ CẤU TRÚC

Mạng ngang hàng ngày càng trở nên phổ biến trong các ứng dụng chia sẻ trên
mạng. Các mạng ngang hàng đã xuất hiện từ những năm 1980 và phát triển mạnh mẽ
như APANET, Usenet, FidoNet. Hiện nay, với sự tham gia của các công ty thương mại
và phi thương mại như Napster, Gnutella mạng ngang hàng ngày càng lớn mạnh và
được được nhiều người sử dụng. Nhất là hiện nay khi lượng thông tin truyền tải trên
mạng vô cùng lớn, nhu cầu tìm kiếm và chia sẻ thông tin cũng tăng lên. Mạng ngang
hàng được xây dựng giữa các máy tính độc lập có khả năng chia sẻ dữ liệu và tận dụng
tài nguyên để chia sẻ cho các máy tính khác.
2.1. Tổng quan về mạng ngang hàng
2.1.1. Khái niệm mạng ngang hàng
Mạng ngang hàng là một cấu trúc được tạo nên bởi các máy tính liên kết với nhau,
vai trò của mỗi máy tính là như nhau, mỗi máy tính là một phần và duy trì sự tồn tại của
mạng. Các máy tính trong mạng thường xuyên liên lạc với các máy tính khác để ổn định
mạng và chia sẻ dữ liệu với nhau. Mạng ngang hàng có nhiều ứng dụng và ứng dụng
phổ biến nhất là chia sẻ tệp tin, tất cả các dạng tệp tin chia sẻ như âm thanh, hình ảnh,
dữ liệu...
Hình 9: Mô hình mạng ngang hàng
13
Một mạng ngang hàng đúng nghĩa không có khái niệm máy chủ và máy khách hay
nói cách khác tất cả các máy tham gia đều bình đẳng và được gọi là Peer. Peer là một
nút mạng vừa đóng vai trò là máy chủ với các máy khác trong mạng vừa đóng vai trò là
máy khách khi được các máy khác phục vụ mình. Dữ liệu được chứa trên các máy tính
và chia sẻ trực tiếp với nhau cũng thông qua các máy tính tham gia vào mạng ngang
hàng.
2.1.2. Ưu điểm và nhược điểm của mạng ngang hàng
Mô hình mạng ngang hàng rất phù hợp với tính phi tập trung của Internet, bởi bản
chất của tài nguyên là phân tán, các thông tin lưu trữ không chỉ trên các máy chủ mà ở
cả các máy khách.
Xét về khía cạnh sức mạnh xử lý, mạng mạng ngang hàng có khả năng xử lý cao
hơn cả những máy chủ lớn nhất hiện nay do đó sử dụng mạng mạng ngang hàng có thể

cải thiện đáng kể hiệu quả của các phương pháp phân tích, xử lý dữ liệu và giải các bài
toán phức tạp (đây đều là những vấn đề vượt ra ngoài tầm xử lý của những máy chủ tập
trung khi số lượng truy vấn, tính toán tăng lên đến hàng trăm triệu mỗi ngày). Sở dĩ như
vậy là vì mạng ngang hàng đã tận dụng khả năng xử lý, khả năng lưu trữ còn thừa của
các máy tính tham gia mạng với những thuật toán phân tán hợp lý. Công nghệ này đã
chia việc xử lý lớn ra thành những việc xử lý nhỏ có thể phân tán giữa các máy tính
trong một mạng. Mỗi máy tính sẽ xử lý một phần dữ liệu và trả về kết quả xử lý cho
máy tính trung tâm, máy tính trung tâm sẽ ghép nối các kết quả này lại với nhau. Bằng
cách đó, ta có thể giải quyết được những bài toán phức tạp mà không cần phải nâng cấp
khả năng xử lý của hệ thống hiện tại.
Bên cạnh đó, việc phân tán trách nhiệm cung cấp dịch vụ đến tất cả các nút trên
mạng sẽ giúp loại bỏ vấn đề ngừng trệ dịch vụ do nơi cung cấp duy nhất gặp sự cố.
Mạng ngang hàng cũng tận dụng được băng thông trên toàn bộ mạng vì việc tăng
số giao tiếp giữa các thiết bị mạng qua các đường truyền khác nhau sẽ làm giảm khả
năng tắc nghẽn mạng. Ngoài ra, khi càng nhiều máy tính tham gia vào mạng ngang hàng
thì tổng sức mạnh xử lý, khả năng lưu trữ và băng thông lại tăng theo điều đó cho thấy
khả năng mở rộng của mạng mạng ngang hàng.
Tuy nhiên, mạng ngang hàng cũng có nhiều nhược điểm. Với mô hình mạng
ngang hàng thuần túy, tức là mô hình mà ở đó mọi máy đều có vai trò như nhau và
không tuân theo bất cứ một quy luật định tuyến hay kết nối nào thì mạng mạng ngang
hàng cũng bộc lộ khá nhiều nhược điểm:
14
+ Chính vì yêu cầu dịch vụ được đáp ứng một cách tùy biến nên máy yêu cầu dịch
vụ có thể nhận được nhiều kết quả khác nhau khi nó kết nối đến các máy khác nhau
cung cấp cùng một dịch vụ.
+ Các yêu cầu gửi đi có thể không nhận được kết quả trả về vì không có gì đảm
bảo sẽ tồn tại một máy nào đó có khả năng đáp ứng yêu cầu đó.
+ Các tài nguyên có thể biến mất do nút cung cấp tài nguyên có thể ngắt kết nối
bất cứ lúc nào.
2.1.3. Phân loại mạng ngang hàng

Mạng ngang hàng lai ghép
Trong mô hình này, mỗi máy đều được nối với tất cả các máy khác trong mạng,
cách nối này mang đặc điểm của mô hình mạng ngang hàng thuần túy. Tuy nhiên, vẫn
có một máy đóng vai trò máy chủ trung tâm, máy chủ này có nhiệm vụ quản lý các
thông tin chỉ mục.
Hình 10. Hệ thống mạng ngang hàng lai ghép
Những nhược điểm của việc quản lý điều khiển tập trung vẫn tồn tại trong mô hình
mạng này. Nếu máy chủ trung tâm gặp lỗi thì các máy Peer không thể truy cập đến
15
thông tin chỉ mục ở trên máy chủ trung tâm nên không thể tìm kiếm thông tin được. Đại
diện cho mô hình mạng ngang hàng lai ghép là mạng ngang hàng Napster.
Mạng ngang hàng thuần tuý
Trong mạng ngang hàng thuần tuý thì vai trò của các máy trong mạng là ngang
nhau và trong mô hình mạng này thì đã loại bỏ sự tồn tại của các máy chủ tập trung.
Mạng ngang hàng thuần tuý được chia thành hai loại là mạng ngang hàng không có cấu
trúc và mạng ngang hàng có cấu trúc.
Mạng ngang hàng không cấu trúc: Trong mạng ngang hàng không cấu trúc thì các
liên kết giữa các nút trong mạng được thiết lập ngẫu nhiên không theo quy luật. Những
mạng như thế này dễ dàng được xây dựng vì một máy mới khi muốn tham gia mạng có
thể lấy các liên kết có sẵn của một máy khác đang ở trong mạng và sau đó dần dần tự
bản thân nó sẽ thêm vào các liên kết mới cho riêng mình. Khi một máy muốn tìm một
dữ liệu trong mạng ngang hàng không cấu trúc, yêu cầu tìm kiếm sẽ được truyền trên cả
mạng để tìm ra càng nhiều máy chia sẻ càng tốt. Đại diện cho mô hình mạng này là
mạng ngang hàng Gnutella.
2.2. Mạng ngang hàng có cấu trúc
2.1.1. Tổng quan về mạng ngang hàng có cấu trúc
Nhược điểm của mạng ngang hàng không có cấu trúc là không thể đảm bảo chắc
chắn sẽ tìm thấy một thông tin có tồn tại trên mạng ngang hàng do mạng này sử dụng cơ
chế tìm kiếm phát tràn tức là gửi thông điệp ra toàn mạng. Thông điệp tìm kiếm theo
kiểu phát tràn chỉ được chuyển tiếp một số lần rồi sẽ bị loại bỏ nên không thể đảm bảo

sẽ tìm thấy thông tin có tồn tại trên mạng. Cách tìm kiếm phát tràn khi tìm kiếm các dữ
liệu phổ biến được chia sẻ trên nhiều máy thì tỷ lệ thành công là khá cao nhưng ngược
lại nếu dữ liệu chỉ được chia sẻ trên một vài máy thì xác suất tìm thấy là nhỏ. Tính chất
này là hiển nhiên vì trong mạng ngang hàng không có cấu trúc, không có bất kỳ mối liên
hệ giữa một máy và dữ liệu nó quản lý trong mạng, do đó yêu cầu tìm kiếm được
chuyển một cách ngẫu nhiên đến một số máy trong mạng. Số lượng máy trong mạng
càng lớn thì khả năng tìm thấy thông tin càng nhỏ. Một nhược điểm khác của hệ thống
này là yêu cầu gửi đi không có định hướng nên một yêu cầu tìm kiếm thường được
chuyển cho một số lượng lớn các máy trong mạng, làm tiêu tốn một lượng lớn băng
thông của mạng và dẫn đến hiệu quả tìm kiếm chung của mạng thấp.
Mạng ngang hàng có cấu trúc đã khắc phục nhược điểm của mạng không cấu trúc
bằng cách sử dụng hệ thống bảng băm phân tán (DHT: Distributed Hash Table [6]). Hệ
16
thống này định nghĩa liên kết giữa các nút mạng trong mạng theo một thuật toán cụ thể,
đồng thời xác định chặt chẽ mỗi nút mạng sẽ chịu trách nhiệm đối với một phần dữ liệu
chia sẻ trong mạng. Với cấu trúc này, khi một máy cần tìm một dữ liệu, nó chỉ cần áp
dụng một giao thức chung để xác định nút mạng nào chịu trách nhiệm cho dữ liệu đó và
sau đó liên lạc trực tiếp đến nút mạng đó để lấy kết quả.
Trong mạng ngang hàng có cấu trúc, tài nguyên được phân bố một cách hợp lý để
không có một máy tính nào lưu giữ quá nhiều dữ liệu dẫn đến quá tải thông tin định
tuyến. Do mạng là có cấu trúc nên các thông điệp chuyển đi giữa các máy tính để duy trì
mạng ngang hàng được giảm xuống tối thiểu. Băng thông của mạng được dành nhiều
hơn cho việc chia sẻ tài nguyên.
Hình 11. Mạng ngang hàng có cấu trúc Chord dạng vòng tròn
Việc tìm kiếm thông tin trong mạng ngang hàng có cấu trúc cũng nhanh hơn trong
mạng ngang hàng không có cấu trúc. Nếu như trong mạng ngang hàng không có cấu
trúc các máy tính gửi thông điệp lan tràn để tìm kiếm thông tin thì trong mạng ngang
hàng có cấu trúc một máy tính chỉ cần gửi thông điệp tìm kiếm qua một số máy tính là
có thể tìm thấy được thông tin có tồn tại trên mạng.
Một số mạng ngang hàng có cấu trúc nổi tiếng bao gồm Chord, CAN, Kademlia,

Pastry và Tapestry.
17
DHT nhấn mạnh vào các thuộc tính sau:
+ Khả năng mở rộng: hệ thống vẫn có thể hoạt động hiệu quả với hàng nghìn hoặc
hàng triệu nút.
+ Khả năng chịu lỗi: hệ thống vẫn có thể làm việc ổn định ngay cả khi có các sự
kiện nút tham gia, rời bỏ mạng hay lỗi xảy ra.
+ Kỹ thuật khóa được sử dụng để đạt được mục đích là mỗi nút chỉ cần liên kết
với một số ít các nút khác trong hệ thống, thường là O(logn) với n là số nút tham gia. Vì
vậy sự thay đổi của một nút chỉ ảnh hưởng đến một phần nhỏ của hệ thống mạng.
+ Một số thiết kế bảng băm phân tán có tính bảo mật nhằm chống lại những người
tham gia có ác tâm và cho phép người tham gia giấu danh tính, mặc dù điều này không
phổ biến trong các hệ thống mạng ngang hàng chia sẻ tệp tin.
+ Cuối cùng, bảng băm phân tán phải giải quyết những vấn đề cơ bản của các hệ
thống phân tán đó là cân bằng tải, tính toàn vẹn dữ liệu và hiệu năng (cụ thể là đảm bảo
các hoạt động như định tuyến, lưu trữ, truy vấn phải được thực thi nhanh chóng).
2.2.2. Mạng ngang hàng có cấu trúc CHORD
Theo một đánh giá tổng hợp về các thuật toán định tuyến dựa trên bảng băm phân
tán trong các kiến trúc mạng khác nhau như hình tròn (với giao thức Chord), hình cây,
hình hộp (với giao thức CAN)…xét về tính linh hoạt trong việc định tuyến, khả năng
phục hồi trạng thái cũng như khả năng chịu lỗi, kiến trúc hình tròn đều được đánh giá
cao. Vì vậy, kiến trúc Chord thường được sử dụng như là mạng phủ để thực hiện các cài
đặt cải tiến việc tìm kiếm trên mạng ngang hàng có cấu trúc.
Mô hình mạng Chord:
Chord được mô tả dưới dạng một vòng tròn và không gian định danh phân bố đều
trên vòng tròn tăng dần theo chiều kim đồng hồ. Nếu gọi N là số bit định danh của
không gian khóa thì mạng Chord có thế chứa tối đa 2N nút. Mỗi nút trên Chord có một
định danh id và có khả năng duy trì liên kết hai chiều với các nút đứng liền trước và liền
sau nó theo chiều kim đồng hồ, tạo thành một mạch liên kết vòng. Nút liền trước được
gọi là Successor(id), và nút liền sau được gọi là Predecessor(id). Thêm vào đó, mỗi nút

sẽ lưu một bảng định tuyến gọi là Finger Table, cho phép nút đó định tuyến tới các nút ở
xa. Mỗi dòng trong bảng Finger Table sẽ lưu thông tin về một nút ở xa, gọi là một entry.
Không gian định danh của mạng sử dụng bao nhiêu bit thì Finger Table có bấy nhiêu
entry.
18
Hình 12. Mô hình mạng Chord
Hình trên minh hoạ cho một mạng Chord có 3 nút là 0, 1, 3 và các bảng Finger
Table ứng với mỗi nút, N = 3 bit nên Finger Table có 3 entry. Các trường trong mỗi
entry trong bảng Finger Table của nút n được định nghĩa trong bảng dưới:
Hình 13: Định nghĩa các trường trong bảng định tuyến của Chord
Trong đó các giá trị tại dòng i của bảng được coi như là finger thứ i của nút n.
Thông tin lưu trong bảng cũng bao gồm cả IP và Port của các nút tương ứng. Nút đầu
19

×