Tài liệu tham khảo công nghệ thông tin 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 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HÀ NỘI - 2009
Trang 2ĐẠ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
Trang 3LỜ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 đỡ, độngviê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
Trang 4TÓ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ờirạ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ênkế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ệunhanh, 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ộngcao
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ạngngang 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ôitrườ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
Trang 5MỤC LỤC
CHƯƠNG 1 MÔ HÌNH DỊCH VỤ DỰA VÀO VỊ TRÍ 3
1.2 Tổng quan về dịch vụ dựa vào vị trí 3
1.3 Các thành phần của dịch vụ dựa vào vị trí 4
1.3.1 Thiết bị di động 5
1.3.2 Mạng kết nối 6
1.3.3 Thành phần định vị 8
1.3.4 Nhà cung cấp ứng dụng và dịch vụ 9
1.4 Cách thức hoạt động của dịch vụ dựa vào vị trí 10
1.5 Tìm kiếm thông tin dựa vào vị trí 11
1.6 Tổng kết 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 13 2.1 Tổng quan về mạng ngang hàng 13
2.1.1 Khái niệm mạng ngang hàng 13
2.1.2 Ưu điểm và nhược điểm của mạng ngang hàng 14
2.1.3 Phân loại mạng ngang hàng 15
2.2 Mạng ngang hàng có cấu trúc 16
2.1.1 Tổng quan về mạng ngang hàng có cấu trúc 16
2.2.2 Mạng ngang hàng có cấu trúc CHORD 18
2.3 Tìm kiếm thông tin trên mạng ngang hàng có cấu trúc 22
2.3.1 Tìm kiếm chính xác 22
2.3.2 Tìm kiếm theo thuộc tính – giá trị 22
2.3.3 Tìm kiếm theo khoảng 23
2.4 Kết luận 24
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 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í 26
3.2 Giải pháp thực hiện 27
3.2.1 Tạo câu truy vấn phù hợp với ngữ cảnh 27
3.2.2 Biểu diễn dữ liệu theo vị trí 27
3.2.3 Chèn dữ liệu vào mạng ngang hàng có cấu trúc 29
3.2.4 Tìm kiếm dữ liệu 30
3.3 Cấu trúc hệ thống 32
3.4 Hoạt động của hệ thống 33
3.5 Đặc điểm của hệ thống đề xuất 36
3.6 Kết luận 37
CHƯƠNG 4 THỰC THI VÀ ĐÁNH GIÁ CHƯƠNG TRÌNH 38 4.1 Kết quả thực thi chương trình 38
4.2 Mô hình thử nghiệm 39
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TIẾP THEO 43 5.1 Kết luận 43
5.2 Hướng phát triển tiếp theo của khoá luận 44
Trang 6DANH 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 20 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 21: Minh hoạ việc tạo truy vấn theo ngữ cảnh 34
Hình 22: 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 23: 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 24: Minh hoạ mạng ngang hàng trả kết quả cho thiết bị di động 36
Hình 25: Minh hoạ giao diện hiển thị kết quả tìm kiếm thông tin 38
Hình 27: Giao diện hiển thị kết quả trên bản đồ 39
Hình 28: Mô hình thí nghiệm 39
Hình 29: Kết quả thí nghiệm 40
Hình 30: Đồ thị kết quả thử nghiệm 41
Trang 7LỜ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 đượcthườ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 tinmôi trường xung quanh (thời gian trong ngày, mùa trong năm, thời tiết ) và vị trí củangườ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ínhxá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ốngtì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ủangườ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ằngcá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ốngnà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 trongthờ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áttriể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áytham 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ìmkiế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 nganghà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ìmkiế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
Trang 8hạ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, ưunhượ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ụngtrong 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ựngdị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ácnhậ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
Trang 9CHƯƠ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 nhanhchó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ưutrữ và xử lý lớn như PDA, Smart Phone, Pocket PC Giá thành của các sản phẩm nàyliê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ăngnhanh chóng Chính vì số lượng các thiết bị thông minh này tăng nhanh dẫn đến nhucầ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ủadị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ủathiế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ácnhà 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ôngtin 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ầunà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ìnhmuố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ấpcác dịch vụ trong phạm vi nhóm người dùng không chuyên và hoạt động trong môitrườ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 chocâ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 đếnmộ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ầnnhấ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ôngnhư tình trạng tắc nghẽn giao thông tại điểm nào đó
Trang 10+ 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àykhô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ộmcướ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 chocá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]:
Trang 111.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ướicá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ácnhau 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í
Trang 12+ Đặ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ềukiện thời tiết
- Bị giới hạn về băng thông kết nối
+ 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àybao 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
Trang 13+ 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ườngkhô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 trongkhoảng cách 10 m và trong trường hợp IrDA (Inrared) nó có thể là 16 Mbps trongkhoảng 1.5 m
Hình 5 Mạng cá nhân không dây
Trang 141.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ó haiphươ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ựavà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: GlobalPositioning System), GLONASS (Global'naya Navigatsionnaya SputnikovayaSistema)
Hình 6: Xác định vị trí dùng tín hiệu vệ tinhCác hệ thống định vị sử dụng vệ tinh chủ yếu dùng để phục vụ cho mục đíchquâ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ệucủ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ệchkhoả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ềukiệ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à
Trang 15+ Đị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àocác cột sóng đài.
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 đượccung 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ùngcung 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 đivào một khu vực nào đó
Trang 161.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ạmATM 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ộtcách trực quan vị trí của thông tin
Trang 171.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ẩncấ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ăngkhả 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ựngtheo 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ưutrữ, 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ệctriể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ạngngang 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ếmtrên quy mô lớn và hệ thống có tính mở rộng cao
Trang 181.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ốngcủ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ạngngang 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ủacá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ủadị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
Trang 19CHƯƠ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ênmạ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ươngmạ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ênmạ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 nganghà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ụngtà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ớinhau, 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ồntạ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
Trang 20Một mạng ngang hàng đúng nghĩa không có khái niệm máy chủ và máy kháchhay 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 vaitrò 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ácmá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ạngngang 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ởibả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ý caohơ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àitoá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ừacủ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ínhtrong 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ý chomá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ằngcá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ângcấ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ênmạ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 nganghà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 đó chothấ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ạngngang 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
Trang 21+ 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ầudị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ácnhau 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ì đảmbả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ốibất cứ lúc nào
2.1.3 Phân loại mạng ngang hàng
Trang 22đến 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à ngangnhau 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 giamạ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áymuố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ắcchắ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ếmtheo 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ể đảmbả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ếmcá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ưngngượ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ìmkiế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áytrong 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áccủ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ếmthườ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ộtlượ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
Trang 23Hệ 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 địnhtuyế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 để duytrì mạng ngang hàng được giảm xuống tối thiểu Băng thông của mạng được dànhnhiề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ònViệc tìm kiếm thông tin trong mạng ngang hàng có cấu trúc cũng nhanh hơntrong 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ạngngang 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áytí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
Trang 24DHT 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ìnhoặ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ếtvớ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ữngngườ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àykhô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à đảmbả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ămphâ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ìnhcâ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ựchiệ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ủakhô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ớicá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
Trang 25Hình 12 Mô hình mạng ChordHình trên minh hoạ cho một mạng Chord có 3 nút là 0, 1, 3 và các bảng FingerTable ứng với mỗi nút, N = 3 bit nên Finger Table có 3 entry Các trường trong mỗientry 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
Trang 26tiên trong bảng Finger Table của n chính là Successor của n, hay còn được gọi làImmediate Successor.
Từ bảng Finger Table ở trên ta có thể thấy rằng:
+ Mỗi nút chỉ cần lưu trữ thông tin của một số nút nhất định trong bảng địnhtuyến của mình
+ Nút biết thông tin về các nút gần nó nhiều hơn là các nút ở xa
+ Bằng cách định tuyến thông qua bảng Finger Table, một nút n có thể xác địnhđược vị trí của bất kỳ khóa nào trên mạng
Ánh xạ khóa vào một nút trong Chord
Chord ánh xạ các khóa vào các nút, thường theo cặp (khoá, giá trị) Một giá trị cóthể là một địa chỉ, một văn bản, hoặc một mục dữ liệu Chord có thể thực hiện chứcnăng này bằng cách lưu các cặp (khoá, giá trị) ở các nút mà khoá được ánh xạ Một nút
sẽ chịu trách nhiệm lưu giữ một khóa k nếu nút đó là nút có định danh id nhỏ nhất thỏamãn điều kiện id >= k Một nút khi lưu giữ khóa k cũng sẽ được gọi là Successor của
k, ký hiệu là Successor(k)
Hình dưới minh hoạ việc lưu khoá trong mạng Chord: nút 0 lưu khoá 6, nút 1 lưukhoá 1 và nút 3 lưu khoá 2