ĐẠ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
Lờ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ế
Lờ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ế
MỤ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
Bookmark
not
defined.
2.1.1 Khái niệm mạng ngang hàng có cấu trúcError!
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.
3.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
4.2
Ý tƣởng ................................................ Error! Bookmark not defined.
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.
Đánh giá định tính ............................... Error! Bookmark not defined.
Đá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
5.1
5.2
not defined.
CHƢƠNG 6 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂNError! Bookmark not defined.
DANH MỤC CÁC THUẬT NGỮ VÀ CÁC TỪ VIẾT TẮT
AV (Attribute/Value)
Based -DHT
Bibliographic database
Broadcast
CAN (ContentAddressable Network)
CDS (Content discovery
System)
Chord
Client/Server
DHT (Distributed Hash
Table )
Entry
Identify
JXTA
Key
LBM (Load Balancing
Matrix)
Load-balancing
Node
Node Rendezvous Points
P2P (Peer to Peer
network)
Thuộc tính/giá trị
Dựa trên bảng băm phân tán
Cây thƣ mục
Gửi phát tràn (quảng bá)
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
Hệ thống phát hiện nội dung
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)
Máy khách/ Máy chủ
Bảng băm phân tán
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
Định danh
Một cơ sở hạ tầng mạng ngang hàng dựa trên mã nguồn mở
Khóa
Ma trận cân bằng tải
Cân bằng tải
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
Điểm nút môi giới
Mạng ngang hàng
Partial query
Truy vấn từng phần
Partition
Query
Replication
Phần, vùng
Truy vấn
Bản sao (thứ bản)
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.
Trade-off
XML (Extensible Markup
Language)
Ngôn ngữ đánh dấu mở rộng
DANH 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.
DANH 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.
Hình 4.2-3 Lƣợc đồ truy vấn thông tin theo giải thuật SMAVError!
Bookmark
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!
not
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.
MỞ ĐẦ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.
TÀ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
10. 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. />15. />16. />17. />