Tải bản đầy đủ (.pdf) (70 trang)

Đánh giá các phương pháp tìm kiếm thông tin trong hệ thống 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 (1.84 MB, 70 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LN

ĐÁNH GIÁ CÁC PHƢƠNG PHÁP TÌM KIẾM
THƠNG TIN TRONG HỆ THỐNG MẠNG
NGANG HÀNG CĨ CẤU TRƯC

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

HÀ NỘI - 2014


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ

ĐỖ THỊ LN

ĐÁNH GIÁ CÁC PHƢƠNG PHÁP TÌM KIẾM
THƠNG TIN TRONG HỆ THỐNG 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ố:

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. NGUYỄN HOÀI SƠN


HÀ NỘI - 2014


1

LỜI CAM ĐOAN
Tôi xin cam đoan, luận văn thạc sỹ này do tôi nghiên cứu và thực hiện dƣới
sự hƣớng dẫn của TS. Nguyễn Hoài Sơn. Để hoàn thành bản luận văn này, ngoài
các tài liệu tham khảo đã liệt kê trong luận văn, tôi cam đoan không sao chép các
cơng trình hoặc đề tài tốt nghiệp của ngƣời khác.
Nếu có điều gì khơng đúng, tơi xin hồn tồn chịu trách nhiệm trƣớc Nhà
trƣờng và pháp luật./.
Hà Nội, ngày

tháng

Học viên

Đỗ Thị Luân

năm 2014


2
LỜI CẢM ƠN

Để có đƣợc kết quả luận văn đã hồn thành, trƣớc hết tơi xin bày tỏ lịng biết ơn
sâu sắc tới TS. Nguyễn Hoài Sơn. Thầy đã tận tình hƣớng dẫn, giúp đỡ tơi trong suốt
q trình làm luận văn. Đồng thời tôi 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 đã giúp tơi có đƣợc các kiến

thức chuyên ngành về hệ thống mạng máy tính và là kiến thức cơ sở để hồn thành
luận văn này.
Cuối cùng, tơi xin cảm ơn gia đình, ngƣời thân, đồng nghiệp và bạn bè đã giúp
đỡ, động viên trong suốt quá trình làm luận văn tốt nghiệp.

Hà Nội, ngày

tháng

Học viên

Đỗ Thị Luân

năm 2014


3
MỤC LỤC
LỜI CAM ĐOAN
1
LỜI CẢM ƠN
2
DANH MỤC HÌNH ẢNH
5
LỜI MỞ ĐẦU
7
CHƢƠNG 1. TÌM HIỂU MẠNG NGANG HÀNG VÀ CÁC ỨNG DỤNG
8
1.1 TỔNG QUAN MẠNG NGANG HÀNG .................................................................... 8
1.1.1

Định nghĩa mạng ngang hàng: ............................................................................. 8
1.1.2
So sánh mơ hình mạng ngang hàng p2p với mơ hình client/ server .................... 9
1.1.3
Lịch sử phát triển của P2P ................................................................................... 9
1.1.4
Ứng dụng trong P2P .......................................................................................... 10
1.1.4.1
Mạng máy tính trong gia đình:
10
1.1.4.2

Mạng máy tính chia sẻ tệp tin:

10

1.1.4.3
Phần mềm ứng dụng P2P.
10
1.2 PHÂN LOẠI MẠNG NGANG HÀNG .................................................................... 12
1.2.1
Mạng ngang hàng không cấu trúc (unstructured) .............................................. 12
1.2.1.1
Mạng ngang hàng tập trung (Centralized):
13
1.2.1.2

Mạng ngang hàng thuần túy (Pure):

13


1.2.1.3
Mạng ngang hàng lai (Hybrid)
14
1.2.2
Mạng ngang hàng có cấu trúc (Structured) ....................................................... 15
CHƢƠNG 2. TỔNG QUAN VỀ MẠNG NGANG HÀNG CÓ CẤU TRƯC
16
2.1. MẠNG NGANG HÀNG CĨ CẤU TRƯC............................................................... 16
2.2. GIAO THỨC CHORD ............................................................................................. 17
2.2.1. Mơ hình mạng Chord ......................................................................................... 17
2.2.2. Ánh xạ khóa vào một nút trong mạng Chord .................................................... 19
2.2.3. Tìm kiếm trong mạng Chord ............................................................................. 20
2.2.4. Nút tham gia và ổn định mạng........................................................................... 22
2.3. PHƢƠNG PHÁP TÌM KIẾM THƠNG TIN TRÊN MẠNG NGANG HÀNG........ 23
2.3.1. Tìm kiếm chính xác ........................................................................................... 23
2.3.2. Tìm kiếm theo thuộc tính – giá trị ..................................................................... 24
2.3.3. Tìm kiếm theo khoảng ....................................................................................... 25
CHƢƠNG 3. MỘT SỐ GIẢI PHÁP TÌM KIẾM THƠNG TIN THEO GIÁ TRỊ THUỘC
TÍNH TRÊN MẠNG NGANG HÀNG CĨ CẤU TRƯC
27
3.1. GIẢI PHÁP INS/TWINE ......................................................................................... 27
3.1.1. Mô tả các tài nguyên .......................................................................................... 27
3.1.2. Tổng quan về kiến trúc hệ thống ....................................................................... 28
3.1.3. Đánh giá ............................................................................................................. 31
3.2. GIẢI PHÁP CDS (Content Discovery System) ....................................................... 31
3.2.1. Mô tả các tài nguyên .......................................................................................... 31
3.2.2. Kiến trúc hệ thống ............................................................................................. 32
3.2.3. Đăng ký tên tài nguyên ...................................................................................... 33
3.2.4. Xử lý truy vấn .................................................................................................... 34

3.2.5. Khả năng cân bằng tải ....................................................................................... 35
3.3. GIẢI PHÁP D-AVTree ............................................................................................ 38
3.3.1. Mô tả các tài nguyên .......................................................................................... 38


4
3.3.2. Kiến trúc hệ thống ............................................................................................. 38
3.3.3. Phân bổ tài nguyên ............................................................................................ 39
3.3.4. Truy vấn thông tin ............................................................................................. 40
3.3.5. Cải tiến hiệu năng của giải pháp ........................................................................ 41
3.4. SO SÁNH 3 GIẢI PHÁP .......................................................................................... 42
CHƢƠNG 4. ĐÁNH GIÁ HIỆU NĂNG CỦA CÁC GIẢI PHÁP
44
4.1. TỔNG QUAN VỀ ĐÁNH GIÁ HIỆU NĂNG MẠNG ........................................... 44
4.1.1. Các phƣơng pháp đánh giá hiệu năng mạng ...................................................... 44
4.1.2. Các tham số đánh giá hiệu năng mạng .............................................................. 46
4.2. MÔ PHÕNG ĐÁNH GIÁ HIỆU NĂNG CÁC GIẢI PHÁP ................................... 46
4.2.1. Tìm hiểu chƣơng trình mơ phỏng đã đƣợc xây dựng ........................................ 46
4.2.2. Thực hiện mô phỏng đánh giá hiệu năng của các giải pháp .............................. 47
4.2.2.1.
Đánh giá tính hiệu quả (System efficiency)
48
4.2.2.2.

Đánh giá độ cân bằng tải (Load balancing):

51

4.2.2.3.


Đánh giá tỷ lệ truy vấn thành công (query hit ratio)

56

4.2.2.4.
Tổng hợp nhận xét kết quả mô phỏng
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN TIẾP THEO

58
61


5
DANH MỤC HÌNH ẢNH
Hình 1.1. Mơ hình Client/Server
Hình 1.2. Mơ hình mạng ngang hàng P2P
Hình 1.3. Mơ hình mạng ứng dụng Kazaa
Hình 1.5. Phân loại mạng ngang hàng
Hình 1.6. Mạng ngang hàng tập trung thế hệ thứ nhất (Napster)
Hình 1.7. Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)
Hình 1.8. Mạng ngang hàng lai (Hybird)
Hình 2.1. Bảng băm phân tán – DHT
Hình 2.2. Mơ hình mạng chord với 3 nút, khơng gian định danh m = 3 bit.
Hình 2.3. Bảng mơ tả các tham số trong bảng finger.
Hình 2.4. Bảng Finger của các nút trong mạng Chord.
Hình 2.5. Mơ tả việc lƣu giữ khóa k trong mạng Chord.
Hình 2.6. Bảng Finger của các nút trong mạng Chord
Hình 2.7. Mơ tả q trình tìm kiếm nút có id 54 (p54) dựa trên các bảng Finger.
Hình 2.8. Các bảng finger sau khi nút 6 tham gia vào mạng
Hình 2.9. Các bản finger sau khi nút 3 rời mạng.

Hình 2.10. Mạng ngang hàng có cấu trúc Chord
Hình 2.11. Ví dụ một tài ngun đƣợc biểu diễn dƣới dạng cặp thuộc tính giá trị.
Hình 2.12. Minh hoạ yêu cầu tìm kiếm theo khoảng
Hình 3.1. Biểu diễn tài nguyên và cây AVTree tƣơng ứng
Hình 3.2. Kiến trúc hệ thống của INS/Twine
Hình 3.3. Tách cây AVTree mơ tả tài ngun thành các nhánh tƣơng ứng.
Hình 3.4. Ví dụ về tên tài nguyên
Hình 3.5. Kiến trúc của 1 nút trong mạng CDS
Hình 3.6. Ví dụ đăng ký và xử lý truy vấn với tập RP.
Hình 3.7. Ma trận cân bằng tài LBM cho cặp {ai, vi}
Hình 3.8. Đăng ký với ma trận cân bằng tải.
Hình 3.9. Khoảng các khóa phân bổ ứng với tên tài nguyên chứa {(A1, V1), (A2, V2)}
Hình 3.10. Số nút bị truy vấn (khi thay đổi hệ số h và α)
Hình 4.1. Sử dụng Ns2 để mơ phỏng
Hình 4.2. Biểu đồ số ban sao tài nguyên của mỗi tài nguyên
Hình 4.3. Biểu đồ số nút cần truy vấn để thực hiện một truy vấn
Hình 4.4. Biểu đồ độ trễ truy vấn khi zipf = 0,6.
Hình 4.5. Biểu đồ độ trễ truy vấn khi zipf = 0,6 và 2 bộ tham số (h, 1/alpha).
Hình 4.6. Biểu đồ độ trễ truy vấn khi zipf = 1 và 2 bộ tham số (h, 1/alpha).
Hình 4.7. Biểu đồ số nút lƣu trữ trên 0,4% tổng số tài nguyên
Hình 4.8. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với bộ tham số (6, 25).
Hình 4.9. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với bộ tham số (2, 128).
Hình 4.10. Biểu đồ tỷ lệ lƣu trữ tài nguyên trên mỗi nút với 2 bộ tham số và zipf = 1.
Hình 4.11. Biểu đồ tỷ lệ số truy vấn tối đa nút phải thực hiện
Hình 4.12. Biểu đồ tỷ lệ số nút khơng thực hiện truy vấn nào

8
8
11
12

13
14
15
17
18
19
19
20
21
21
22
23
24
25
26
27
28
29
32
32
34
36
37
40
41
45
48
49
50
50

51
52
53
53
53
54
54


6
Hình 4.13. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 0,6 và (6, 25)
Hình 4.14. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 0,6
(2 bộ tham số)
Hình 4.15. Biểu đồ tỷ lệ số truy vấn mỗi nút phải thực hiện với zipf = 1 (2 bộ tham số)
Hình 4.16. Biểu đồ tỷ lệ số truy vấn thành cơng với zipf = 1
Hình 4.17. Biểu đồ tỷ lệ số truy vấn thành cơng với zipf = 0,6
Hình 4.18. Biểu đồ tỷ lệ số truy vấn thành công của Twine khi zipf thay đổi
Hình 4.19. Biểu đồ tỷ lệ số truy vấn thành công của CDS khi zipf thay đổi
PHỤ LỤC CÁC BẢNG SỐ LIỆU MÔ PHỎNG

55
55
55
56
57
57
58
58
63



7
LỜI MỞ ĐẦU
Mơ hình mạng ngang hàng bắt đầu xuất hiện trên thế giới từ năm 1999 và đƣợc
sử dụng rộng rãi trong nhiều ứng dụng, đặc biệt nhƣ các ứng dụng chia sẻ file, video
streaming, …. Trong mơ hình mạng ngang hàng, các node tham gia mạng có thể chia
sẻ tài nguyên nhƣ các file, dữ liệu cho nhau. Điều đó làm tăng tài nguyên của mạng.
Tuy nhiên, do các tài nguyên này đƣợc lƣu trữ một cách phân tán, việc tìm kiếm thơng
tin về tài ngun một cách hiệu quả là một vấn đề hết sức quan trọng trong các mạng
ngang hàng.
Trong thời kỳ đầu mới phát triển, việc tìm kiếm trong mạng ngang hàng hoặc là
sử dụng máy chủ lƣu trữ thông tin tài nguyên, hoặc đƣợ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 [10]) 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 (giao
thức Chord [6]) hay không gian n-chiều (giao thức CAN[5]) và định tuyến thông báo
dựa trên cấu trúc này. Tuy nhiên, mạng ngang hàng có cấu trúc chỉ hỗ trợ phƣơng pháp
tìm kiếm chính xác, tức là tìm kiếm các tài ngun có tên trùng với từ khố tìm kiếm.
Tuy nhiên, trên thực tế ngƣời dùng thƣờng khơng thể biết chính xác thơng tin
cần tìm kiếm mà chỉ biết một số thơng tin cơ bản. Vì vậy, việc tìm kiếm theo khoảng
hoặc theo các cặp thuộc tính giá trị là hết sức cần thiết. Luận văn này tập trung tìm
hiểu các giải pháp tìm kiếm thơng tin theo cặp thuộc tính - giá trị đã đƣợc đề xuất nhƣ
INS/Twine [9], Contens Distribution System [8], D-AVTree [4], … và đánh giá hiệu
năng tìm kiếm, khả năng cân bằng tải của các giải pháp này thơng qua mơ phỏng.
Luận văn gồm có 4 chƣơng, trong đó 2 chƣơng đầu giới thiệu tổng quan về
mạng ngang hàng, mạng ngang hàng có cấu trúc và các giải pháp tìm kiếm thơng tin
cơ bản trong hệ thống mạng ngang hàng có cấu trúc. Chƣơng 3 đi sâu tìm hiểu các giải

pháp tìm kiếm thơng tin theo cặp thuộc tính - giá trị nhƣ INS/Twine, CDS, D-AVTree
và so sánh các giải pháp. Chƣơng cuối cùng, luận văn tập trung đánh giá mơ phỏng các
giải pháp tìm kiếm nêu trên, đƣa ra những đánh giá chi tiết về hiệu năng của hệ thống,
khả năng cân bằng tải, … của từng giải pháp và những đề xuất lựa chọn giải pháp tùy
theo yêu cầu của hệ thống.


8
CHƢƠNG 1. TÌM HIỂU MẠNG NGANG HÀNG VÀ CÁC ỨNG DỤNG
1.1 TỔNG QUAN MẠNG NGANG HÀNG
Chƣơng này sẽ trình bày tổng quan về mạng ngang hàng, về khái niệm, phân
loại và nêu rõ ƣu, nhƣợc điểm của mạng ngang hàng so với mạng dựa trên mơ hình
client/ server.
1.1.1 Định nghĩa mạng ngang hàng:
Q trình trao đổi thơng tin giữa hai máy tính trên hệ thống mạng có thể diễn
ra theo 2 mơ hình: mơ hình khách hàng/ ngƣời phục vụ (client/ server) (hình 1.1.)
hay mơ hình mạng ngang hàng peer to peer (hình 1.2).

Hình 1.1. Mơ hình Client/Server
Mạng ngang hàng (còn gọi là mạng peer to peer, viết tắt là P2P) là mạng đƣợc
tạo ra bởi 2 hay nhiều máy tính đƣợc kết nối với nhau và chia sẻ tài nguyên (nhƣ tệp
tin, máy in, ...) mà không phải thông qua một máy chủ riêng nào.

Hình 1.2. Mơ hình mạng ngang hàng P2P
Trong hệ thống mạng ngang hàng, các máy tính có thể kết nối với nhau qua
cổng USB để truyền tệp tin (file) (2 máy tính), cũng có thể kết nối nhiều máy tính
trong một văn phịng nhỏ bằng cáp đồng, hoặc kết nối số lƣợng lớn máy tính với
nhau bằng các giao thức, ứng dụng đặc biệt.
Có thể hiểu, mạng ngang hàng là một kiểu mạng đƣợc thiết kế cho các thiết bị
trong đó có chức năng và khả năng của các thiết bị đó là nhƣ nhau. Mạng

ngang
hàng P2P khơng có khái niệm máy trạm (client) hay máy chủ (server), mà chỉ có
khái niệm các nốt (peers) đóng vai trị nhƣ cả client và server.


9
1.1.2 So sánh mơ hình mạng ngang hàng p2p với mơ hình client/ server

P2P

Client/Server

Đặc điểm: Một mạng ngang hàng cho
phép các node đóng góp, chia sẻ tài
nguyên với nhau. Tài nguyên riêng rẽ
của các node nhƣ: ổ cứng, CD-ROM,
máy in …. Các nguồn tài nguyên này có
thể đƣợc truy cập từ bất cứ node nào
trong mạng.

Đặc điểm: Dữ liệu đƣợc lƣu trữ ở một
Server trung tâm, tốc độ cao (Tốc độ
truy cập thƣờng lớn hơn so với mạng
P2P).

Ƣu điểm: Không cần server riêng, các
client chia sẻ tài nguyên. Khi mạng
càng đƣợc mở rộng thì khả năng hoạt
động của hệ thống càng tốt. Rẻ. Dễ cài
đặt và bảo trì; thuận lợi cho việc chia sẻ

tài nguyên nhƣ tệp tin, máy in, CDROM v.v…

Ƣu điểm: Tốc độ truy cập nhanh.
Khả năng mở rộng cao. Hoạt động với
bất kì loại ứng dụng nào. Sử dụng
đƣợc với các ứng dụng chia sẻ CSDL.
Đáng tin cậy hơn (có server riêng).
Mức độ an tồn cao nhất.

Nhƣợc điểm: Chậm. Không tốt cho
các ứng dụng CSDL. Kém tin cậy.

Nhƣợc điểm: Cần server riêng (nghẽn
cổ chai). Đắt. Phức tạp trong việc bảo
trì, duy trì hoạt động của mạng.

Khi một máy client u cầu lấy thơng
tin nó sẽ phải gửi một yêu cầu theo
một tiêu chuẩn do server định ra, nếu
Các node đóng vai trị nhƣ cả Client u cầu đƣợc chấp nhận thì máy
(truy vấn thơng tin) và Server (cung cấp server sẽ trả về thông tin mà client
thông tin).
yêu cầu.

1.1.3 Lịch sử phát triển của P2P
Lịch sử ra đời và phát triển của P2P gắn liền với phần mềm ứng dụng
Napster. Năm 1999, Shawn Fanning một sinh viên Đại học 18 tuổi đã rời bỏ trƣờng
Đại học để bắt đầu xây dựng phần mềm mang tên Napster (do bức xúc với việc rất
khó khăn trong việc đƣa và chia sẻ các file nhạc online trên Internet mặc dù mọi
ngƣời đều có nguồn tài nguyên trong đĩa cứng của mình).

Napster đƣợc xây dựng thành cơng và trở thành cách chia sẻ file chính (miễn
phí), nó đã làm thay đổi cách download file nhạc và dung lƣợng cũng lớn hơn nhiều
so với các chƣơng trình chia sẻ file trƣớc đó. Download phần mềm, bạn có thể chia
sẻ files từ máy tính của mình với tất cả mọi ngƣời trên thế giới. 60 triệu ngƣời trên
thế giới đã sử dụng (1 triệu ngƣời Nhật) vào thời điểm đó. Tuy nhiên, do có quá


10
đông ngƣời dùng và vấn đề bản quyền âm nhạc nên công ty Napster đã bị cấm
hoạt động, phần mềm khơng cịn đƣợc sử dụng nữa (2003).
Sau Napster, rất nhiều các chƣơng trình khác nhƣ Gnutella, KaZaa and
WinMP đã xuất hiện. Và P2P đã chuyển sang việc chia sẻ file has moved beyond
file-sharing, chia sẻ processor power rỗi của các nodes chứ không phải là chia sẻ các
file âm nhạc MP3 nữa. Sau sự ra đời của Napster, công nghệ P2P phát triển một
cách nhanh chóng. Hiện tại các ứng dụng P2P chiếm khoảng 50% (thậm chí 75%)
băng thơng trên Internet.
1.1.4 Ứng dụng trong P2P
Mạng ngang hàng P2P đƣợc thiết lập để kết nối các máy tính trong khn viên
nhỏ nhƣ trong gia đình, các bộ phận của các cơ quan, doanh nghiệp trong phạm vi
nhỏ hoặc đƣợc thiết lập trên hệ thống mạng internet nhằm chia sẻ tài nguyên, kết nối,
trao đổi thơng tin giữa các máy tính trong hệ thống mạng.
1.1.4.1 Mạng máy tính trong gia đình:
Hầu hết các mạng máy tính trong gia đình hiện nay đều là mạng P2P. Ngƣời
dùng cấu hình các máy tính theo workgroup cho phép các máy có thể chia sẻ files,
máy in và các tài nguyên, thiết bị khác. Cả mạng có dây và khơng dây trong gia đình
đều có thể sử dụng để thiết lập mạng P2P. Hệ thống mạng này cũng đƣợc áp dụng ở
một số phòng, ban hoặc bộ phận nhỏ của các cơ quan, doanh nghiệp phục vụ chia sẻ
file, tài nguyên nhƣ máy in, thiết bị khác.
1.1.4.2 Mạng máy tính chia sẻ tệp tin:
Là mạng P2P phổ biến và nổi tiếng nhất trên Internet hiện nay. Chức năng

chủ yếu của mạng là cho phép tìm kiếm và truyền dữ liệu dựa trên giao thức IP
(Internet Protocol). Để truy cập vào mạng P2P này, ngƣời dùng chỉ cần tải và cài đặt
phần mềm ứng dụng phù hợp cho máy tính của mình. Có nhiều mạng P2P và phần
mềm ứng dụng P2P tồn tại hiện nay. Một số phần mềm chỉ sử dụng đƣợc cho 1
mạng P2P nhất định, một số hoạt động đƣợc với nhiều mạng P2P khác nhau. Một số
mạng P2P nổi tiếng trên Internet gồm: eDonkey, BitTorent, Gnutella.
1.1.4.3 Phần mềm ứng dụng P2P.
Một số phần mềm ứng dụng P2P nổi tiếng hiện nay bao gồm: KazaA, eMule,
Bittorent, ….


11
KazaA: cho phép tìm kiếm và tải các tệp tin đã đƣợc chia sẻ bởi những nhà
cung cấp chuyên nghiệp và ngƣời dùng. KazaA có sử dụng những kết nối nhanh với
các SuperNodes: Mỗi SuperNode chứa danh sách các tệp tin chia sẻ bởi ngƣời dùng và
nơi lƣu trữ tệp tin.

Hình 1.3. Mơ hình mạng ứng dụng Kazaa
Emule: Một trong những phần mềm chia sẻ tệp tin trong hệ thống mạng P2P
lớn nhất giữa các ngƣời dùng trên Internet. Có thể sử dụng eMule để chia sẻ và tải tất
cả các loại tệp tin trên Internet.

Hình 1.4. Mơ hình mạng ứng dụng Skype
Skype: Là phần mềm VoIP phát triển bởi những ngƣời đã làm KazaA trong hệ
thống mạng ngang hàng. Skype cho phép ngƣời dùng đàm thoại và gửi message tới
ngƣời dùng Skype khác. Có 2 loại nút: Original Host (OH) và Super nodes (SN). OH


12
là một phần mềm ứng dụng cho phép sử dụng để đàm thoại và gửi message. Những

nút có địa chỉ IP tĩnh, CPU, memory, băng thơng đủ mạnh thì có thể đƣợc xem xét
chọn làm super node. OH kết nối với một Super nodes SN và phải đăng kí với Skype
để đăng nhập thành công.
1.2

PHÂN LOẠI MẠNG NGANG HÀNG

Mạng ngang hàng đƣợc phân loại theo mục đích sử dụng hoặc mức độ tập
trung của mạng. Phân loại mạng ngang hàng theo mục đích sử dụng, nhƣ: Chia sẻ
file (file sharing), điện thoại VoIP (telephony), đa phƣơng tiện media streaming
(audio, video), diễn đàn thảo luận (Discussion forums).
Mạng ngang hàng cũng có thể phân loại theo mức độ tập trung của mạng,
gồm 2 loại: Mạng ngang hàng không cấu trúc (unstructured) và Mạng ngang hàng có
cấu trúc (structured).
Mạng ngang hàng P2P

Mạng P2P khơng
có cấu trúc

Mạng P2P thế hệ
thứ nhất

Mạng P2P
tập trung

Mạng P2P
thuần túy

Mạng P2P có
cấu trúc


Mạng P2P thế hệ
thứ hai

Mạng P2P sử
dụng DHT based

Mạng P2P
lai

Hình 1.5. Phân loại mạng ngang hàng
1.2.1 Mạng ngang hàng khơng cấu trúc (unstructured)
Mạng ngang hàng khơng có cấu trúc có đặc điểm: Nơi lƣu trữ tài ngun
hồn tồn khơng liên quan đến cấu trúc hình học của mạng. Kỹ thuật tìm kiếm chủ
yếu sử dụng flooding với các giải thuật tìm kiếm ƣu tiên theo chiều rộng (breadth –
first), hoặc ƣu tiên theo chiều sâu (depth-first) cho đến khi tài ngun đƣợc tìm thấy.
Các hệ thống khơng cấu trúc thƣờng phù hợp trong trƣờng hợp các node ra vào
mạng thƣờng xuyên, tùy ý. Mạng ngang hàng không cấu trúc gồm 3 loại: mạng
ngang hàng tập trung, mạng ngang hàng lai, mạng ngang hàng thuần túy.


13
1.2.1.1 Mạng ngang hàng tập trung (Centralized):
Đây là mạng ngang hàng thế hệ thứ nhất, đặc điểm hệ thống này vẫn cịn
dựa trên một máy chủ tìm kiếm trung tâm, nên nó cịn đƣợc gọi là mang ngang hàng
tập trung (centralized Peer-to-Peer networks). Cấu trúc của mạng ngang hàng tập
trung có thể đƣợc mơ tả nhƣ một mạng hình sao nhƣ hình 2.3.
Trong hệ thống mạng ngang hàng tập trung, mỗi ngƣời dùng lƣu trữ tài
nguyên định chia sẻ với các node khác trong mạng. Có một bảng lƣu trữ thơng tin
kết nối của ngƣời dùng đăng kí (IP address, connection bandwidth ….), một bảng

liệt kê danh sách các tài nguyên mà mỗi ngƣời dùng định chia sẻ (tên file, dung
lƣợng, thời gian tạo file …….). Mọi máy tính tham gia mạng đƣợc kết nối với máy
chủ tìm kiếm trung tâm, các yêu cầu tìm kiếm đƣợc gửi tới máy chủ trung tâm phân
tích, nếu yêu cầu đƣợc giải quyết, máy chủ sẽ gửi trả lại địa chỉ IP của máy chứa tài
nguyên trong mạng và quá trình truyền file đƣợc thực hiện theo đúng cơ chế của
mạng ngang hàng, giữa các host với nhau mà không cần quan máy chủ trung tâm.
Hệ thống có ƣu điểm chủ yếu là dễ xây dựng, tìm kiếm file nhanh và hiệu quả. Tuy
nhiên, nó dễ bị tấn cơng và cần có quản trị central server.
Napster là mạng ngang hàng đặc trƣng cho hệ thống mạng ngang hàng của thế
hệ thứ nhất. Hệ thống này đƣợc dùng cho việc chia sẻ tài nguyên giữa các ngƣời
dùng Internet, đƣợc sử dụng rộng rãi. Khái niệm và kiến trúc của Napster vẫn đƣợc
sử dụng trong các ứng dụng khác nhƣ: Audiogalaxy, WinMX. Trong hệ thống mạng
này, việc tìm kiếm tài nguyên bị thất bại khi bảng tìm kiếm trên máy chủ khơng thực
hiện đƣợc. Chỉ có các tài nguyên truy vấn và việc lƣu trữ đƣợc phân tán. Do đó,
máy chủ đóng vai trị là một nút cổ chai. Khả năng mở rộng mạng bị hạn chế rất
nhiều do số nút mạng trong hệ thống phải tƣơng xứng với khả năng tính tốn và lƣu
trữ của máy chủ tìm kiếm.

Files
download

query

Hình 1.6. Mạng ngang hàng tập trung thế hệ thứ nhất (Napster)
1.2.1.2 Mạng ngang hàng thuần túy (Pure):
Mạng ngang hàng thuần túy là một dạng khác của thế hệ thứ nhất của hệ


14
thống mạng ngang hàng. Khơng cịn máy chủ tìm kiếm tập trung nhƣ trong mạng

Napster, nó khắc phục đƣợc vấn đề nút cổ chai trong mơ hình tập trung. Tuy nhiên
vấn đề tìm kiếm trong mạng ngang hàng thuần túy lại sử dụng cơ chế Flooding, tức
là yêu cầu tìm kiếm đƣợc gửi cho tất cả các node mạng là láng giềng với nó, điều
này làm tăng đáng kể lƣu lƣợng trong mạng. Đây là một yếu điểm của các mạng
ngang hàng thuần túy. Các phần mềm tiêu biểu cho mạng ngang hàng dạng này là
Gnutella 4.0, FreeNet.
Hệ thống mạng ngang hàng thuần túy có ƣu điểm là dễ xây dựng, đảm bảo
tính phân tán hồn tồn cho các node tham gia mạng, các node tham gia và rời khỏi
mạng một cách tùy ý mà không ảnh hƣởng đến cấu trúc của mạng. Tuy nhiên, nó
gây tốn băng thơng (do sử dụng cơ chế flooding), tìm kiếm phức tạp, các node có
khả năng khác nhau đều có thể phải chịu tải nhƣ nhau, điều này không tận dụng
đƣợc khả năng của các node.

Hình 1.7. Mạng ngang hàng thuần túy (Gnutella 4.0, FreeNet)
1.2.1.3 Mạng ngang hàng lai (Hybrid)
Để khắc phục nhƣợc điểm của mạng ngang hàng thuần túy, một mơ hình
mang ngang hàng mới đƣợc phát triển với tên gọi là mạng ngang hàng lai. Đây
đƣợc gọi là mạng ngang hàng thế hệ 2. Phần mềm tiêu biểu cho mạng ngang hàng
kiểu này là Gnutella 0.6 và JXTA (Juxtapose). JXTA đƣợc bắt đầu phát triển bởi
SUN từ 2001. JXTA đƣợc sử dụng cho các máy tính, các thiết bị cầm tay, … để
giao tiếp theo cách không tập trung. Skype cũng đƣợc xây dựng dựa trên cấu trúc
này.
Trong mơ hình mạng ngang hàng lai có trật tự phân cấp bằng việc định nghĩa
các Supper Peers. Các Supper Peer tạo thành một mạng khơng cấu trúc, có sự khác
nhau giữa Supper Peers và Client Peers trong mạng, mỗi Supper Peer có nhiều kết
nối đến các Client Peers. Mỗi Supper Peer chứa một danh sách các tài nguyên đƣợc
cung cấp bởi các Client Peer và địa chỉ IP của chúng vì vậy nó có thể trả lời các yêu
cầu truy vấn từ các Client Peer gửi tới.



15

Hình 1.8. Mạng ngang hàng lai (Hybird)
Hệ thống này có ƣu điểm là hạn chế việc Flooding các query, làm giảm lƣu
lƣợng trong mạng, tránh đƣợc hiện tƣợng nút cổ chai (do có nhiều SuperPeers). Hệ
thống này cũng khắc phục đƣợc nhƣợc điểm về việc các node có khả năng khác nhau
nhƣng chịu tải lại giống nhau ở mạng ngang hàng thuần túy, các SuperPeer sẽ chịu tải
chính, các node khác chịu tải nhẹ.
1.2.2 Mạng ngang hàng có cấu trúc (Structured)
Mạng ngang hàng khơng có cấu trúc với sự phân bố tự do của nút mạng và tài
nguyên tồn tại nhƣợc điểm là phƣơng thức tìm kiếm gây tốn kém tài nguyên và không
đảm bảo mỗi truy vấn sẽ luôn tìm đƣợc kết quả cho mình. Khi số lƣợng nút trong
mạng tăng thì nhƣợc điểm này càng khó giải quyết. Đây là lý do khiến mạng không
cấu trúc không đƣợc áp dụng trong các hệ thống yêu cầu khả năng mở rộng cao. Để
khắc phục nhƣợc điểm này ta sử dụng mạng ngang hàng có cấu trúc với kỹ thuật bảng
băm phân tán DHT (Distributed hash tables).
Chƣơng sau luận văn sẽ giới thiệu về mạng ngang hàng có cấu trúc.


16
CHƢƠNG 2. TỔNG QUAN VỀ MẠNG NGANG HÀNG CÓ CẤU TRÖC
Chƣơng này sẽ giới thiệu tổng quan về hệ thống mạng ngang hàng có cấu trúc
và một số phƣơng pháp tìm kiếm thơng tin trên hệ thống mạng ngang hàng có cấu
trúc. Tiếp đó sẽ đi sâu tìm hiểu về hệ thống mạng ngang hàng có cấu trúc tiêu biểu,
phổ biến là mạng Chord (còn gọi là giao thức Chord).
2.1.

MẠNG NGANG HÀNG CĨ CẤU TRƯC

Nhƣ đã trình bày ở Chƣơng 1, các hệ thống mạng ngang hàng không cấu trúc

phổ biến nhƣ Napster, Gnutella, Freenet,… đều đã sử dụng lợi thế của các tài
nguyên phân tán trên mạng Internet với băng thơng rộng để cung cấp một ứng dụng
hữu ích là dịch vụ chia sẻ tài nguyên (còn gọi là chia sẻ files). Những hệ thống này
khác nhau ở cách thức tìm dữ liệu mà các node quản lý. Napster sử dụng một Server
trung tâm: mỗi node khi tham gia vào mạng sẽ gửi một danh sách các file đƣợc lƣu
trữ ở máy lên cho Server, Server sẽ xử lý các truy vấn, tìm các file trong danh sách,
rồi gửi đƣờng dẫn tới node chứa các file cần tìm. Thành phần trung tâm này tạo ra
một điểm yếu trong hệ thống vì có thể bị tấn cơng. Gnutella và những mạng tƣơng tự
chuyển sang sử dụng cơ chế truy vấn flooding, để thực hiện một truy vấn, một thông
điệp đƣợc quảng bá tới tất cả các node có trong mạng. Trong khi tránh điểm yếu của
thành phần trung tâm nhƣ trên, thì phƣơng pháp này lại kém hiệu quả hơn so với
Napster vì cơ chế flooding làm tăng lƣu lƣợng mạng khi mở rộng mạng. Với
Freenet, sử dụng cơ chế định tuyến dựa trên khóa, mỗi file đƣợc gán một khóa, các
khóa gần giống nhau sẽ cùng đƣợc lƣu ở một tập các node. Các truy vấn sẽ đƣợc
định tuyến đi trong mạng mà không phải ghé thăm tất cả các node có trên mạng. Tuy
nhiên, Freenet khơng đảm bảo dữ liệu sẽ đƣợc tìm thấy.
Mạng ngang hàng có cấu trúc với kỹ thuật bảng băm phân tán
DHT (Distributed hash tables) đƣợc xây dựng nhằm khắc phục các nhƣợc điểm của
hệ thống mạng ngang hàng khơng có cấu trúc nêu trên. DHT sử dụng cơ chế định
tuyến dựa trên khóa có cấu trúc hơn để có thể đạt đƣợc tính khơng tập trung của
Gnutella và Freenet, và tính hiệu quả và kết quả truy vấn đảm bảo của Napster. Có
một hạn chế đó là DHT chỉ hỗ trợ tìm kiếm chính xác chứ khơng hỗ trợ tìm kiếm
theo từ khóa, hay tìm kiếm theo khoảng, tuy nhiên các chức năng này có thể triển
khai trên nền DHT. Các DHT đầu tiên có cấu trúc dạng vịng nhƣ Chord, Pastry [1],
dạng không gian đa chiều nhƣ CAN.
Các đặc điểm cơ bản của DHT bao gồm]: Sự không tập trung, Khả năng mở
rộng và Khả năng chịu lỗi. Cụ thể, DHT là một hệ thống phân tán, các node tham gia
cấu thành hệ thống khơng có thành phần trung tâm làm điều phối mạng. Hơn nữa, việc
duy trì bảng ánh xạ giữa khóa và các giá trị đƣợc lƣu phân tán trên các nút, do đó việc
thay đổi của một số nút tham gia vào hệ thống sẽ chỉ ảnh hƣởng đến một số nhỏ các



17
khóa liên quan. Điều này giúp cho DHT có thể dễ dàng mở rộng với số lƣợng lớn nút
tham gia, và cung cấp khả năng duy trì hệ thống khi có nút tham gia, rời khỏi mạng,
hay bị lỗi.

Hình 2.1. Bảng băm phân tán – DHT
Với đặc điểm của bảng băm phân tán DHT, mạng ngang hàng có cấu trúc có
đặc điểm là cấu trúc hình học khơng gian của mạng đƣợc kiểm soát chặt chẽ; tài
nguyên đƣợc đặt ở một vị trí xác định dựa theo giá trị khóa; đặc biệt, hệ thống mạng
ngang hàng có cấu trúc cung cấp sự liên kết (mapping) giữa tài nguyên (id của tài
nguyên) và vị trí của node lƣu trữ (địa chỉ node). Sự liên kết này dựa trên cấu trúc dữ
liệu bảng băm phân tán (Distributed Hash Table).
Ngoài những ƣu điểm nêu trên, hệ thống mạng ngang hàng có cấu trúc cũng có
một số hạn chế. Đó là vấn đề cân bằng tải trong mạng, việc quản lý cấu trúc hình học
khơng gian mạng sẽ gặp khó khăn khi tỷ lệ vào/ ra mạng của các nút lớn.
Phần tiếp theo, luận văn sẽ tìm hiểu về một giao thức tiêu biểu của mạng ngang
hàng có cấu trúc là giao thức Chord [6].
2.2.

GIAO THỨC CHORD

Phần này sẽ đi sâu tìm hiểu về giao thức Chord, một giao thức cơ sở để thực
hiện tìm kiếm thơng tin trên hệ thống mạng ngang hàng có cấu trúc.
2.2.1. Mơ hình mạng Chord
Chord đƣợc mơ tả dƣới dạng một vịng trịn và có khơng gian định danh m (là
số bit của không gian định danh). Mạng Chord có thể chứa tối đa 2 m nút mạng. Mỗi
nút mạng có 1 định danh id. Các id trong mạng Chord đƣợc sắp xếp thành vòng tròn
và tăng theo chiều kim đồng hồ. Chord sử dụng một hàm băm để sinh định danh id cho

mỗi nút hoặc tài liệu trong mạng. Đầu ra của hàm băm là giá trị có m bit.
Mỗi nút trong mạng Chord có id định danh và trỏ tới nút tiếp theo (là nút có id
lớn hơn, đƣợc gọi là Successor của nút) và nút phía trƣớc là nút có id nhỏ hơn (đƣợc


18
gọi là Predecessor của nút). Các nút liên kết với nhau dựa vào 2 nút Succ và Pred của
mỗi nút.
Khóa k đƣợc gắn với nút đầu tiên có id bằng hoặc là id tiếp theo k trong vòng
tròn định danh. Nút này đƣợc gọi là nút successor của k, ký hiệu là succ(k). Nếu k có
id thuộc khoảng từ 0 đến 2m – 1, thì succ(k) là nút đầu tiên từ k, tính theo chiều kim
đồng hồ trong vịng trịn định danh.

Hình 2.2. Mơ hình mạng chord với 3 nút, khơng gian định danh m = 3 bit.
Trong hình 2.2, trong vịng trịn định danh với m=3. Mạng có 3 nút: 0, 1 và 3.
Succ (id=1) là nút 1 vì nút 1 thuộc khoảng [0; 23 – 1), succ (1) là nút đầu tiên tính từ id
=1, là nút 1. Do đó, khóa 1 đƣợc lƣu ở nút 1. Tƣơng tự, succ (2) là nút 3, nên khóa 2
đƣợc lƣu ở nút 3, succ (6) là nút 0 nên khóa 6 đƣợc lƣu ở nút 0.
Mỗi nút gồm một bảng thơng tin định tuyến, gọi là bảng Finger (hình 2.3). Thay
vì tìm kiếm tuyến tính, bảng định tuyến cho phép một nút định tuyến tới các nút ở xa.
Mỗi dòng trang bảng Finger sẽ lƣu thông tin về một nút ở xa, gọi là 1 entry. Entry thứ i
của nút n sẽ lƣu thơng tin là nút succ của khóa có định danh là n + 2 i-1 theo chiều kim
đồng hồ trong không gian định danh.
Bảng dƣới đây định nghĩa các thông tin trong bảng Finger. Mỗi bảng Finger có
m entry, với m là sốt bít trong khơng gian định danh của mạng Chord.


19

Hình 2.3. Bảng mơ tả các tham số trong bảng finger.


Hình 2.4. Bảng Finger của các nút trong mạng Chord.
Trong hình 2.4, bảng Finger của nút 1 sẽ trỏ tới các nút succ của các định danh
(1 + 2 ) mod 23 = 2, (1 + 21) mod 23 = 3, (1 + 22) mod 23 = 5. Nút succ(2) là nút 3, vì là
nút đầu tiên tiếp theo định danh 2, nút succ(3) là nút 3, vì là nút đầu tiên có id = 3, nút
succ(5) là nút 0, vì 0 là nút đầu tiên tính từ định danh 5.
0

2.2.2. Ánh xạ khóa vào một nút trong mạng Chord
Trong mạng Chord, sẽ ánh xạ các khóa vào các nút, thƣờng là cặp khóa và giá
trị (key và value hay cịn gọi là thuộc tính, giá trị). Một giá trị có thể là 1 địa chỉ, 1 văn
bản, 1 mục dữ liệu. Trong mạng Chord sẽ thực hiện chức năng này bằng cách lƣu các
cặp khóa, giá trị ở các nút mà khóa đƣợ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 và lớn hơn hoặc bằng k. Một
nút lƣu giữ khóa k cịn đƣợc gọi là nút succ(k).


20

Hình 2.5. Mơ tả việc lƣu giữ khóa k trong mạng Chord.
Các nút 1 lƣu giữ khóa 1, nút 1 là succ (1) ; nút 3 lƣu khóa 2, nút 3 là succ (2) ;
nút 0 lƣu khóa 6, nút 0 là succ (6).
2.2.3. Tìm kiếm trong mạng Chord
Một nút muốn tìm kiếm khóa có định danh trong mạng Chord, nút đó sẽ tìm nút
chịu trách nhiệm lƣu giữ khóa có id đó. Nếu nút này ở xa so với vị trí của nút lƣu giữ
id cần tìm kiếm, nút này sẽ nhờ vào thông tin định tuyến trong bảng Finger của mình
để tìm đến các nút xa hơn, từ đó dần dần sẽ tìm đƣợc nút lƣu giữ khóa có id cần tìm.
Cụ thể, nút n muốn tìm khóa k, nút n sẽ tìm đến nút có id gần k hơn, nút này sẽ có
nhiều thơng tin về khoảng định danh của k trong vòng tròn định danh hơn nút n. Nút n
sẽ tìm đến bảng Finger của nó để tìm nút j có định danh ngay gần kề với k và hỏi j về

nút mà có id gần với k. Lặp lại quá trình này, nút n sẽ tìm ra nút có định danh gần với
k nhất, đó là nút succ (k) lƣu giữ thơng tin về khóa k.


21

Hình 2.6. Bảng Finger của các nút trong mạng Chord
Trong hình 2.9, giả sử nút 3 muốn tìm nút có khóa là 1 (coi là id=1), id 1 thuộc
khoảng [7, 3), thuộc entry thứ 3 trong bảng Finger của nút 3. Nút 3 sẽ kiểm tra trong
entry thứ 3 trong bảng Finger của nó và thấy nó trỏ đến nút 0. 0 nằm trƣớc 1 trong
vòng tròn định danh, nút 3 sẽ hỏi nút 0 để tìm succ của 1. Tiếp tục, nút 0 sẽ rà soát
bảng định tuyến của nó, trong entry thứ nhất của nó chỉ ra succ (1) là nút 1. Vậy, succ
của định danh 1 là nút 1, tức nút 1 chứa khóa (id) 1. Nút 0 sẽ thơng báo kết quả này
cho nút 3.

Hình 2.7. Mơ tả q trình tìm kiếm nút có id 54 (p54) dựa trên các bảng Finger.


22
2.2.4. Nút tham gia và ổn định mạng
Trong 1 mạng động, các nút có thể tham gia hoặc rời mạng bất cứ lúc nào. Nên
hệ thống cần phải xác định đƣợc vị trí của các khóa trong mạng. Để làm việc này,
mạng Chord cần thỏa mãn 2 điều kiện: Mỗi succ của một nút phải đƣợc duy trì chính
xác và mỗi khóa k, nút succ(k) phải có trách nhiệm quản lý khóa k.
Để tìm kiếm nhanh, bảng Finger cũng cần phải chính xác. Khi nút n tham gia
vào mạng, Chord sẽ thực hiện 3 nhiệm vụ: Khởi tạo nút pred (n) và bảng Finger của n;
Cập nhật các bảng Finger và các pred của các nút trong mạng có bổ sung thông tin về
sự tham gia của nút n và Chuyển khóa k tới nút lƣu trữ thơng tin của khóa trong mạng.
Trƣớc tiên, nút n sẽ chọn định danh id của mình và báo cho các nút bên cạnh
(pred và succ) biết sự tham gia của nó. Các nút succ và pred cần cập nhật thông tin về

nút mới. Nút n cũng cần tạo bảng Finger của mình bằng cách tìm các nút mà succ của
các id trong từng entry của bảng Finger.
Để mạng vẫn định tuyến đúng sau khi n gia nhập, các nút cần thƣờng xuyên
chạy thuật tốn ổn định mạng để cập nhật thơng tin về các nút bên cạnh. Một số nút sẽ
có thơng tin về n trong bảng Finger, nên cần cập nhật một số entry của bảng Finger.
Sau đó, nút Succ của n sẽ chuyển một phần khóa, giờ n là succ (khóa) cho n lƣu
giữ. Việc này do tầng trên của ứng dụng thực hiện.

Hình 2.8. Các bảng finger sau khi nút 6 tham gia vào mạng
Khi 1 nút chuẩn bị rời khỏi mạng, nó phải thơng báo tới các nút cạnh nó biết để
ổn định lại mạng. Nút đó sẽ chuyển các khóa mà nó lƣu giữ cho nút succ của nó.


23

Hình 2.9. Các bản finger sau khi nút 3 rời mạng.

2.3. PHƢƠNG PHÁP TÌM KIẾM THƠNG TIN TRÊN MẠNG NGANG
HÀNG
Có nhiều phƣơng pháp tìm kiếm thơng tin trên hệ thống mạng ngang hàng,
trong đó có 3 phƣơng pháp cơ bản, bao gồm: tìm kiếm chính xác, tìm kiếm dựa theo
cặp thuộc tính – giá trị và tìm kiếm theo khoảng. Phần này sẽ tìm hiểu sơ bộ 3 phƣơng
pháp tìm kiếm cơ bản này, đánh giá những ƣu, nhƣợc điểm của các phƣơng pháp.
2.3.1. Tìm kiếm chính xác
Là phƣơng pháp tìm kiếm thơng tin theo định danh, định danh này có thể đƣợc
tạo ra từ việc băm từ một từ khoá do ngƣời dùng nhập vào, băm tên tệp tin hoặc một
phần nội dung của tệp tin. Phƣơng pháp này chỉ cho phép tìm kiếm chính xác thơng tin
ngƣời dùng u cầu mà khơng thể tìm kiếm một thơng tin có kết quả gần giống với
yêu cầu của ngƣời dùng. Chẳng hạn, khi ngƣời dùng muốn tìm một quyển sách “Mạng
ngang hàng có cấu trúc” nhƣng ngƣời dùng chỉ nhập vào từ khố “Mạng ngang hàng”

thì thơng tin tìm thấy chỉ là những thơng tin có nội dung là “Mạng ngang hàng” mà
khơng thể tìm thấy các thơng tin nhƣ “Mạng ngang hàng khơng có cấu trúc”, “Mạng
ngang hàng có cấu trúc”, .... Phƣơng pháp tìm kiếm này thƣờng dùng kết hợp với bảng
băm phân tán. Khi đƣợc kết hợp với bảng băm phân tán thì phƣơng pháp tìm kiếm này
có ƣu điểm là giảm số thơng báo u cầu tìm kiếm và các thơng báo gửi đi có định
hƣớng.


×