ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Phạm Thị Huế TÌM KIẾM THÔNG TIN THEO CÁC GIÁ TRỊ THUỘC TÍNH TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC Ngành: Công nghệ Thông tin Chuyên ngành:
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Phạm Thị Huế
TÌM KIẾM THÔNG TIN THEO CÁC GIÁ TRỊ THUỘC TÍNH TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC
Ngành: Công nghệ Thông tin
Chuyên ngành: Truyền dữ liệu và Mạng máy tính
Mã số: 1.01.10
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS NGUYỄN HOÀI SƠN
Hà Nội - 2008
Trang 2Lời cam đoan
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác Trong toàn bộ nội dung luận văn, những điều được trình bày hoặc là của
cá nhân tôi, hoặc do tôi tổng hợp được từ các nguồn tài liệu khác nhau Tất cả các tài liệu được tham khảo điều có xuất xứ rõ ràng, được trích dẫn hợp pháp và được liệt kê đầy đủ trong mục tài liệu tham khảo của luận văn
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình
Hà Nội, ngày 03 tháng 11 năm 2008
Phạm Thị Huế
Trang 3Lời cảm ơn
Tôi xin bày tỏ lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ thông tin – Đại học Công nghệ - ĐHQG Hà Nội, đặc biệt là các thầy cô giáo trong bộ môn Mạng và truyền dữ liệu, đã tạo điều kiện thuận lợi và giúp đỡ tôi trong thời gian tôi học tập
Tôi xin bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc đối với thầy giáo TS Nguyễn Hoài Sơn đã tận tình hướng dẫn, định hướng cho tôi giải quyết các vấn đề trong luận văn
Tôi cũng xin bày tỏ lời cảm ơn đối với cha mẹ, gia đình, các đồng nghiệp và bạn học viên lớp Cao học K12T3 đã động viên, giúp đỡ, góp ý cho tôi rất nhiều trong quá trình hoàn thành luận văn
Hà Nội, ngày 3 tháng 11 năm 2008
Phạm Thị Huế
Trang 4MỤC LỤC
Trang phụ bìa
Lời cam đoan
Lời cảm ơn
Mục lục 1
Danh mục các thuật ngữ và các từ viết tắt 3
Danh mục bảng biểu 4
Danh mục hình vẽ 5
MỞ ĐẦU 6
CHƯƠNG 1 TỔNG QUAN VỀ MẠNG NGANG HÀNGError! Bookmark not
defined
1.1 Khái niệm mạng ngang hàng Error! Bookmark not defined.
1.2 Ưu, nhược điểm của mạng ngang hàngError! Bookmark not defined.
1.3 Kết luận Error! Bookmark not defined.
CHƯƠNG 2 MẠNG NGANG HÀNG CÓ CẤU TRÚCError! Bookmark not
defined
2.1 Mạng ngang hàng có cấu trúc dựa trên DHTError! Bookmark not defined.
2.1.1 Khái niệm mạng ngang hàng có cấu trúcError! Bookmark not defined.
2.1.2 Các tính chất của mạng DHT Error! Bookmark not defined.
2.2 Mạng ngang hàng có cấu trúc CHORDError! Bookmark not defined.
2.2.1 Mô hình mạng Chord Error! Bookmark not defined.
2.2.2 Ánh xạ khóa vào một node trong ChordError! Bookmark not defined.
2.2.3 Tìm kiếm trong mạng Chord Error! Bookmark not defined.
2.2.4 Tham gia và ổn định mạng Error! Bookmark not defined.
2.3 Kết luận Error! Bookmark not defined.
CHƯƠNG 3 MỘT SỐ GIẢI PHÁP PHÂN PHỐI VÀ TÌM KIẾM THÔNG TIN
TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC.Error! Bookmark not defined
3.1 INS/Twine Error! Bookmark not defined.
3.1.1 Giải pháp Error! Bookmark not defined.
3.1.2 Nhận xét Error! Bookmark not defined.
3.2 CDS Error! Bookmark not defined.
Trang 53.2.1 Giải pháp Error! Bookmark not defined.
3.2.2 Nhận xét Error! Bookmark not defined.
3.3 Data Indexing Error! Bookmark not defined.
3.3.1 Giải pháp Error! Bookmark not defined.
3.3.2 Nhận xét Error! Bookmark not defined.
3.4 Kết luận Error! Bookmark not defined.
CHƯƠNG 4 GIẢI PHÁP TÌM KIẾM THÔNG TIN THEO CÁC THUỘC
TÍNH/GIÁ TRỊ TRÊN MẠNG NGANG HÀNG CÓ CẤU TRÚC Error!
Bookmark not defined
4.1 Ý tưởng Error! Bookmark not defined.
4.2 Mô hình giải pháp SMAV Error! Bookmark not defined.
4.2.1 Khái quát Error! Bookmark not defined.
4.2.2 Ánh xạ tên miền-khóa và phân bổ nội dungError! Bookmark not
defined.
4.2.3 Truy vấn thông tin Error! Bookmark not defined.
4.2.4 Quản lý khi trạng thái mạng thay đổiError! Bookmark not defined.
CHƯƠNG 5 ĐÁNH GIÁ HIỆU QUẢ CỦA GIẢI PHÁP “TÌM KIẾM THÔNG
TIN THEO CÁC THUỘC TÍNH/GIÁ TRỊ TRÊN MẠNG NGANG HÀNG
CÓ CẤU TRÚC” Error! Bookmark not defined.
5.1 Đánh giá định tính Error! Bookmark not defined.
5.2 Đánh giá dựa trên mô phỏng Error! Bookmark not defined.
5.2.1 Các tham số mô phỏng Error! Bookmark not defined.
5.2.2 Kết quả Error! Bookmark not defined.
5.3 Mở rộng hệ thống cho phù hợp với các yếu tố thực tếError! Bookmark
not defined.
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂNError! Bookmark not defined.
Trang 6DANH MỤC CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
AV (Attribute/Value) Thuộc tính/giá trị
Based -DHT Dựa trên bảng băm phân tán
Bibliographic database Cây thư mục
Broadcast Gửi phát tràn (quảng bá)
CAN
(Content-Addressable Network)
Một giao thức mạng ngang hàng dựa trên DHT thực hiện việc phân bổ và quản lý khóa trên không gian n chiều
CDS (Content discovery
System) Hệ thống phát hiện nội dung
Chord Một giao thức mạng ngang hàng dựa trên DHT thực hiện việc
phân bổ và quản lý khóa theo dạng vòng (ring) Client/Server Máy khách/ Máy chủ
DHT (Distributed Hash
Entry Một bản ghi trong bảng dùng để lưu thông tin về các đặc tả tài
nguyên tại mỗi node
JXTA Một cơ sở hạ tầng mạng ngang hàng dựa trên mã nguồn mở
LBM (Load Balancing
Load-balancing Cân bằng tải
Node
Thực thể có khả năng thực hiện một công việc hữu ích nào đó và trao đổi kết quả với các thực thể khác qua mạng một cách trực tiếp hoặc gián tiếp
Node Rendezvous Points Điểm nút môi giới
P2P (Peer to Peer
Partial query Truy vấn từng phần
Replication Bản sao (thứ bản)
Trade-off Sự thỏa hiệp hay việc cân bằng giữa các yếu tố khác nhau để đạt
được 1 sự kết hợp tốt nhất
XML (Extensible Markup
Language) Ngôn ngữ đánh dấu mở rộng
Trang 7DANH MỤC BẢNG BIỂU
Bảng 2-1 Bảng định nghĩa các trường trong Finger TableError! Bookmark not defined Bảng 4-1 Bảng ánh xạ khóa phân bổ - nội dung thông tinError! Bookmark not defined Bảng 4-2 Bảng ánh xạ khóa thứ cấp Error! Bookmark not defined Bảng 4-3 Bảng ánh xạ khóa không phổ biến Error! Bookmark not defined Bảng 4-4 Bảng ánh xạ khóa đặc biệt Error! Bookmark not defined.
Trang 8DANH MỤC HÌNH VẼ
Hình 1.1-1 Mô hình client/Server Error! Bookmark not defined Hình 1.1-2 Mô hình P2P Error! Bookmark not defined Hình 1.1-3 Mô hình mạng Napster Error! Bookmark not defined Hình 1.1-4 Mô hình xử lý truy vấn trên mạng GnutellaError! Bookmark not defined.
Hình 2.2-1 Một mạng Chord với 3 node 0, 1, 3 và các bảng Finger Table ứng với mỗi
node N = 3 bit nên Finger Table có 3 entry Error! Bookmark not defined.
Hình 2.2-2 Lưu giữ key trong mạng Chord: node 0 lưu key 6, node 1 lưu key 1 và node 3
lưu key 2 Error! Bookmark not defined Hình 3.1-1 Một ví dụ về đặc tả tài nguyên và cây AVTreeError! Bookmark not defined.
Hình 3.1-2 Mô hình hoạt động của hệ thống INS/Twine.Error! Bookmark not defined Hình 3.1-3 Trích rút 1 AVTree thành các strand Error! Bookmark not defined Hình 3.1-4 Việc quản lý trạng thái trong hệ thông INS/Twine.Error! Bookmark not
defined.
Hình 3.2-1 Kiến trúc 1 node sử dụng CDS Error! Bookmark not defined.
Hình 3.2-2 Ví dụ về việc đăng ký tên miền và xử lý truy vấn với 1 tập các điểm môi giới
RPs Error! Bookmark not defined.
Hình 3.2-3 Ma trận cân bằng tải cho cặp thuộc tính aiviError! Bookmark not defined.
Hình 3.3-1 Ví dụ về đặc tả file Error! Bookmark not defined Hình 3.3-2 Ví dụ về cấu trúc các câu truy vấn Error! Bookmark not defined Hình 3.3-3 Đồ thị biểu diễn các câu truy vấn được đưa ra trong hình 3.3-2 Error!
Bookmark not defined.
Hình 3.3-4 Lược đồ chỉ mục cho dữ liệu cây thư mục (bibliographic database) Error!
Bookmark not defined.
Hình 3.3-5 Ví dụ về chỉ mục phân tán cho 3 tài liệu được đưa ra trong hình 3.3-1 và lược
đồ chỉ mục trong hình 3.3-4 Error! Bookmark not defined Hình 3.3-6 Việc ánh xạ giữa các câu truy vấn cho hình 3.3-5Error! Bookmark not defined.
Hình 4.2-1 Lược đồ phân bổ tên nội dung thông tin theo giải thuật SMAV Error!
Bookmark not defined.
Hình 4.2-2 Ánh xạ khóa thứ cấp Error! Bookmark not defined.
Trang 9Hình 4.2-3 Lược đồ truy vấn thông tin theo giải thuật SMAVError! Bookmark not defined.
Hình 5.2-1-A: Tỷ lệ phần trăm tần số xuất hiện 1 thuộc tính/giá trịError! Bookmark not defined.
Hình 5.2-2-B Tần số xuất hiện các AV trên các node Error! Bookmark not defined.
Hình 5.2-3 So sánh tải nội dung giữa 2 phương pháp phân bổ tên nội dung: Phân phối
bình thường dựa trên DHT-Chord và phân phối theo SMAVError! Bookmark not
defined.
Hình 5.2-4 So sánh tải truy vấn giữa 2 phương pháp phân bổ tên nội dung: Phân phối
bình thường dựa trên DHT-Chord và phân phối theo SMAV.Error! Bookmark not
defined.
Hình 5.2-5 Số ánh xạ sinh ra bởi mỗi tên nội dung khi sử dụng giải thuật SMAVError!
Bookmark not defined.
Hình 5.2-6 Thời gian truy vấn Error! Bookmark not defined.
Trang 10MỞ ĐẦU
Công nghệ mạng ngang hàng (peer-to-peer network) đã 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 chia xẻ file ngang hàng như Napster, Gnutella, Freenet, BitTorrent, Edonkey,… Qua các ứng dụng nói trên, việc chia sẻ
và tìm kiếm các tài nguyên mạng trở lên dễ dàng và nhanh chóng hơn bao giờ hết, ngoài ra, người sử dụng có thể chia sẻ file trực tiếp cho nhau mà không cần thông qua bất cứ máy chủ dịch
vụ nào
Sở dĩ mô hình mạng P2P 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 P2P 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 peer tham gia mạng Trong mô hình P2P, mỗi peer vừa có thể đóng vai trò là Client, vừa có thể đóng vai trò là Server Tổng sức mạnh xử lý của các peer này có khi lớn hơn nhiều lần khả năng xử lý của 1 Server lớn Như vậy, mô hình P2P không chỉ làm tăng lượng tài nguyên mạng,
mà còn làm tăng sức mạnh xử lý đáp ứng yêu cầu dịch vụ, nâng cao tính sẵn sàng phục vụ của mạng
Tuy nhiên, trong thời kỳ đầu mới phát triển, việc tìm kiếm trong mạng ngang hàng thường được thực hiện theo kiểu phát tràn thông báo, gây tốn kém băng thông mạng Các ứng dụng sau này đã từng bước cải tiến giao thức định tuyến thông báo, làm mạng hoạt động hiệu quả hơn, nhưng vẫn chưa đảm bảo việc tìm kiếm thông tin sẽ thành công
Mạng ngang hàng có cấu trúc sử dụng giải thuật Bảng băm phân tán (Distributed Hash Table – DHT) khắc phục nhược điểm trên bằng cách tổ chức các node mạng theo một cấu trúc không gian khóa nhất định như mạch vòng (giải thuật Chord[7]) hay không gian n-chiều (giải thuật CAN[10]) và định tuyến thông báo dựa trên cấu trúc này Nội dung thông tin được gắn với một
khóa k là giá trị băm của một đặc tả đặc trưng nào đó của nội dung thông tin (gọi là tên nội dung)
và sẽ được phân bổ đến node phụ trách khóa k Mỗi node trong mạng sẽ chịu trách nhiệm quản lý
1 tập các khóa trong không gian khóa, và lưu giữ thông tin về 1 số các node khác trong mạng Việc tìm kiếm thông tin qua câu truy vấn q được thực hiện bằng cách băm q để được khóa kq, rồi chuyển q đến node quản lý khóa kq, node đó sẽ thực hiện việc tìm kiếm địa phương và trả về kết quả cho câu truy vấn Bằng phương pháp này, giải thuật DHT cho phép xây dựng một mạng ngang hàng với khả năng mở rộng cao, định tuyến hiệu quả các gói tin thông báo tới đích và kháng lỗi tốt
Trang 11TÀI LIỆU THAM KHẢO
Tiếng Việt
1 Nguyễn Hoài Sơn, Hồ Sĩ Đàm, “Tìm kiếm thông tin theo các giá trị thuộc tính trên mạng ngang hàng có cấu trúc”, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội, 2008
2 TS Nguyễn Đại Thọ, “Công nghệ mạng ngang hàng”, Bộ môn Mạng & Truyền thông
Máy tính Khoa Công nghệ Thông tin, trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, 2006-2007
Tiếng Anh
3 W Adjie-Winoto, E Schwartz, H Balakrishnan and J Lilley, “The Design and Implementation of an Intentional Naming Systems”, In Proceedings of ACM Symposium
on Operating Systems Principles, Dec 1999
4 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
5 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
6 L Garc´es-Erice, P.A Felber, E.W Biersack, G Urvoy-Keller K.W Ross, “Data Indexing in Peer-to-Peer DHT Networks”, In Proceedings of 24rd International
Conference on Distributed Computing Systems, March 2004
7 K Gummadi_, R Gummadiy, S Gribblez, S Ratnasamyx, S Shenker, I Stoica, “The
Impact of DHT Routing Geometry on Resilience and Proximity”, SIGCOMM’03, August
25–29, 2003, Karlsruhe, Germany
8 Matthew Harren, Joseph M Hellerstein, Ryan Huebsch, Boon Thau Loo, Scott Shenker,
Ion Stoica, “ Complex Queries in DHT-based Peer-to-Peer Networks”
9 Wolfgang Nejdl, Boris Wolf, Changtao Qu_ , Stefan Decker_ , Michael Sintek_Ambj¨
orn Naeve, Mikael Nilsson, Matthias Palm´er_ , Tore Risch, “EDUTELLA: A P2P Networking Infrastructure Based on RDF”, Honolulu, Hawaii, USA, May 7–11, 2002
Trang 1210 S Ratnasamy, P Francis, M Handley and R Karp, “A Scalable Content-Addressable Network”, In Proceedings of ACM SIGCOMM’01, Aug 2001
11 A Rowstron and P Druschel, “Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems”, In Proceedings of IFIP/ACM International
Conference on Distributed Systems Platforms, Nov 2001
12 I Stoica, R Morris, D Karger, M.F Kaashoek, H Balakrisnan, “Chord: A Scalable peer-to-peer lookup service for Internet applications”, In Proceedings of ACM
SIGCOMM’01, August 2001
13 Gerhard Weikum, “Peer-to-Peer Information Systems”, 2002
14 http://www.mac-p2p.com/p2p-history/
15 http://en.wikipedia.org/wiki/Gnutella
16 http://iml.jou.ufl.edu/projects/Fall02/Moody/history.html
17 http://www.readwriteweb.com/archives/skyrider_and_p2pfuture.php