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

Ứng dụng mạng ngang hàng vào tìm kiếm và quản lý thông tin tài nguyên Internet = Retrievalof Internet resource information using peer-to-peer network architecture

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 (24.86 MB, 55 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
ÚTVG DỤNG MẠNG NGANG HÀNG VÀO TÌM KIÉM
VÀ QUẢN LÝ THÔNG TIN TÀI NGUYÊN INTERNET
M à số: Q C .07.19
C hủ nhiệm đề tài: TS. N eu v ễn Hoài Sơn
OAI HỌC QUOC GlA hA NÕi
Tf?UNG TÃM -THÔNG ĨIN thư VIẼr\ỉ
Hà N ộ i - 2008
MỤC LỤC
DANH SÁCH NHŨ>4G NGƯỜI THAM GIA THựC HIỆN ĐÈ T ÀI 3
DANH MỤC CÁC BÁNG BIÊU, HÌNH V Ê 4
TÓM TẮT CÁC KẾT ỌUẢ NGHIÊN cứu CHÍNH CUA ĐỀ TÀ I

5
BÁO CÁO TÔNG KÉT 7
1. Đặt vấn đ ề



7
2. Tổng quan nghiên cứu về mạng ngang hàng và tìm kiếm trong mạng ngang hàniỊ 8
2.1 Mạng ngang hàng lai ghép và tìm kiếm ihông tin tronơ mạng ngang hàng lai
ghép 8
2.2 Mạng ngang hàng không có cấu trúc và tìm kiếm trong mạng ngarm hàne khône
có cấu trúc 9
2.3 Mạng ngang hàng có cấu trúc và tìm kiếm thòntí tin trone mạng ngaiiíỉ hànu có
cấu trúc 10
3. Giai 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 SM A V 12
3.1 Tổntỉ quan 12
3.2 Ánh \ạ tên nội dung-khóa và Phân bô nội dung


13
3.3 Truy vấn thông tin

17
3.4. Đánh eiá thuật toán 19
4. Kết luận 24
TÀI LIỆU THAM KHẢO 26
PHU LUC 28
DANH SÁCH NHỮNG NGƯỜI THAM GIA THỤC HIỆN ĐÈ TÀI
STT
Họ và tên
Học hàm, học vị, Cơ quan công tác
1
Nguyễn Hoài Son
TS.
Khoa CNTT- ĐH Công nghệ, ĐHQG Hà NỘI
2
Nguyễn Đại Thọ
TS.
Khoa CNTT- ĐH Công nghệ. ĐHQG Hà Nội
3 Hồ Đắc Phương
Ths
Khoa CNTT- ĐH Công nghệ. ĐHQG Hà Nội
4
Ngô Lê Minh
Ths
Khoa CNTT- ĐH Công nghệ, ĐHQG Hà Nội
5 Đào Minh Thư
Ths
Khoa CNTT- ĐH Công nghệ. ĐHQG Hà Nội

6 Nguyễn Thị Nhật
Thanh
Ths
Khoa CNTT- ĐH Công nghệ, Đ HQG Hà NỘI
DANH MỤC CÁC BẢNG BIẺU, HÌNH VẼ
Hình I: Mô hinh mạng Napster 8
Hinh 2. Mô hình truy vấn thông tin trên mạng Gnutella 9
Hinh 3. Định tuyến trong mạng Chord 10
Hinh 4 . Mô hình phân bồ thông tin cùa giải thuật SMA V đề xuất
I 5
Hình 5. Ánh xạ khóa thứ cấp 16
Bảng I Báng ánh xạ khỏa phân bổ - nội dung thông tin 16
Báng 2. Bảng ánh xạ khóa thứ cấp 17
Báng 3. Báng ánh xạ khóa không phố biến 17
Hinh 6. Mô hình truy vấn thông tin trong giai thuật đề xuất 18
Hình 7: Tỷ lệ phần trăm tần số xuất hiện 1 thuộc tính/giá trị 21
Hình 8: Phân bổ tên nội dung trong các node
22
Hinh 9:Phân bô sô truy vân giữa các node trong m ạng 22
Hình 10: số ánh xạ sinh ra bói mỗi tên nội dung khi sứ dụng giái thuật SM A V

23
Hình I I: Thòi gian truy vấn 24
TÓM TẮT CÁC KẾT QUẢ NGHIÊN cứ u CHÍNH CỦA ĐỀ TÀI
Tên đề tài: ứng dụng mạng ngang hàng vào tìm kiếm và quán lý thông tin tài ntiu>ên
Internet
Mã số đề tài: Q C .07.19
Chú tri đề tài: TS. Nguyễn Hoài Son
Đơn vị công tác: Bộ môn M ạng và Truyền thông máy tính, Khoa Công nghệ thông
tin, Trường Đại học Công nghệ - Đ HQG Hà Nội

Các bộ tham gia thực hiện:
STT Họ và tên
Học hàm, học vị, Cơ quan công tác
1
Nguvễn Hoài Son
TS.
Khoa CNTT- ĐH Công nghệ, Đ HQ G Hà Nội
?
Nguvễn Đại Thọ TS, Khoa CNTT- ĐH Công nghệ. ĐMQG Hà Nội
3 Hồ Đắc Phương Ths Khoa CNTT- ĐH Công nghệ. ĐI IQG Hà Nội
4 Ngô Lê Minh
Ths
Khoa CNTT- ĐH Công nghệ, ĐHQ G Hà NỘI
5
Đào Minh Thu
Ths
Khoa CNTT- ĐH Công nghệ, ĐI IQG Hà NỘI
6
Nguyễn Thị Nhật
Thanh
Ths Khoa CNTT- ĐH Công nghệ, ĐHQ G Hà Nội
Các kết quá đạt đưọc
Kết qua về khoa học:
- Đề tài dã tim hiêu các phương pháp tìm kiếm thông tin trên mạng ngang hang và đề ra
một íỉiải pháp tim kiếm thông tin theo giá trị thuộc tính trên mạng ngang hàng có cấu
trúc
- Xây dirng một chươníí trình mô phỏng đánh giá hiệu năng và cân bănẹ tai cua một
uiao thức mạntỉ ncang hàne có cấu trúc và một chươim trình thư nehiệm cho hệ thốntỉ
tìm kiếm thông tin thư viện trên mạng ngang hàng có cấu trúc
- 1 bài báo cáo khoa học tại Hội thao quốc gia lần thứ XI "MOl số \'ấn đề chọn lọc cua

Công nghệ thông tin \ à Tmyền thông”, tháng 6. 2008
Kết quá đào tạo:
- Có 3 cừ nhân \'à 1 thạc sỳ tốt nghiệp trong khuôn khô cùa đề tài
Nâng cao năng lực chuyên môn cho cán bộ bộ môn trong lĩnh \'ực về các eiai
thuật định tuyến và tìm kiếm thông tin trong mạng ngang hàng
BÁO CÁO TỐNG KÉT
1. Đặt vấn đề
Sự phát triển nhanh chóng của Internet đã tạo ra cho chúng ta một cơ hội lớn và
cũng là một thách thức lớn trong việc sử dụng các tài nguyên thông tin trên Internet
một cách hiệu quả. Các tài nguyên này bao gồm các tài nguyên máv tính như CPU,
bộ nhớ, ồ lưu trữ, cúa các máy tính nối mạng, các tài nguyên thông tin như các
trang W eb hay các CSDL lưu trữ thông tin, các dịch vụ dựa trên nền W eb

Đe khai thác và sử dụng các tài nguyên này một cách hiệu qua và họp lý, việc quan
lý và tìm kiếm thông tin các nguồn tài nguyên này ỉà một vấn đề rất quan trọiiíì. Ví
dụ như đề một ứng dụng về tính toán lưới (Grid computing) sử dụng được một lượiiíí
tài nguyên lớn tính toán và lưu trữ thông tin, cần phai cung cấp cho nó các thông tin
về những tài nguyên tính toán trên Internet mà nó có thê sử dụne được. Hay một ứno,
dụng về Web services cần được cung cấp đầy đu các thông tin về các dịch vụ Web
liên quan mà nó có thế truy cập được. Người dùng cũng mong muốn đirợc cung cấp
tự dộng các thông tin cần thiết liên quan đến sớ thích, nhu cầu và tùy thuộc vào điều
kiện và hoàn cánh cúa họ.
Tuy nhiên, với đặc điểm là lượng tài nguyên trên Internet là rất lớn và phân tán ở
khắp nơi nên nếu quản lý các tài nguvên này theo những cách thông thutmg như sư
dụng các CSDL tập trung thì chi phí phát sinh sẽ rấl lớn. khả năng xư lý thỏim tin
hạn chế và mức độ chống chịu lồi không cao.
Vấn đề này có thế được giải qiivết bằng cách sư dụng các giao thức cua mạng
ngang hàng để quản lý và tìm kiếm thông tin về tài nguyên Internet. Mạng ngatm
hàng ra dời từ cuôi những năm 1990 với ứng dụn2 ban đâu là chia xe file nganií hàng
và được người dùng sử dụng rộng rãi, M ạng ngang hàng kết nối các máy tính có kha

năng chia xé tài rmuvên và tận dụng các tài nguyên chia xe đó trong lưu trừ. tính toán,
truyền thông, Những ưu điếm lớn cúa mạng ngant! hàng bao tỉôm: tíiih phân tán.
tính tự tô chức và kha nãne tận dụng tài nguyên. Các ứng dụng chia xé file ngang
hàng như Napster. Gnutella. KaZaA, BitTorrent đã tận dụng được tài nguyên lưu
trừ thông tin và băng thông của các máy tính PC người dùng đê luii trữ và chia xe íìle.
Các ímg dụng này đã được sư dụng rộng rãi và trơ thàrih công cụ hĩm ích cho nhiêu
người.
Do đó. niỉhiên CÚII về việc sư dụng mạng nsane hàng trong việc tìm kiêm và quan
lý thông tin tài nguyên Internet là hêt sức cân thiêt và có kJia năng ứng dụng vào thực
liễn cao.
Báo cáo đề tài sẽ tập trunu trình bày các giái pháp tìm kiếm thòng tin dựa trên
cộng nghệ mạng ngang hàng bao gồm tìm kiêm thông tin trên mạng ngang hàng lai
ghép, tìm kiếm thôim tin trong mạng ngang hàng không có câu trúc và tim kiêm
thông tin trên mạng ntzarm hùng có cấu trúc. Bài báo cáo cũng đi sâu trình bày các
vấn đề còn tồn tại trone tìm kièm nâng cao đôi với các kỹ thuật tìm kiêm dựa trên
m ạng ngang hàng có cấu trúc và đưa ra một giai pháp tìm kiếm theo thuộc tính. Giái
thuật cúa chúng tôi đảm bảo tính hiệu quà trong việc tìm kiếm thôn^ tin theo từ khóa
trong mạng ngang hàng có cấu trúc cũng rửiư đam báo tinh cân bàng tai (load
balancing) giữa các node trong mạng.
2. Tổng quan nghiên cứu về mạng ngang hàng và tìm kiếm trong mạng ngang
hàng
Mạng ngang hàng có thể được phân chia làm ba loại;
- Mạng ngang hàng lai ghép: lai ghép giữa mô hình khách chu truyền thốnsỉ và mô
hình mạng ngang hàng thuần túy
- Mạng ngang hàng không có cấu trúc; là mạng ngang hàng thuần xú\ tronu đó các
node liên kết với nhau không theo một cấu trúc nhất định
- Mạng ngang hàng có cấu trúc: là mạng ngang hàim trone đó các node liên kết với
nhau theo một cấu trúc nhất địnli như mạch vòng hoặc khôns gian n-chiều và
phân bổ, định tuyến thông tin dựa trên các cấu trúc này.
2.1 Mạng ngang hàng lai ghép và tìm kiếm thông tin trong mạng ngang hàng lai

ghép
Trong mạng ngang hàng lai ghép, diên hình là Napster[l]. tài nyuyên được phân
tán tại nhiều node khác nhau Iiliưng lồn tại một iTiủv chu index luxi giừ thông tm vẻ
node và tài nguyên lưu giữ tại mỗi node. Đê chia \é tài ntỉuyên thôníí tin. các node
trong mạng sẽ gứi thông tin về tài nguvên lưu giữ ơ node cua mình vê IIKÍ) chu. Cụ
thể với mạng chia xe file ngang hàng Napster, tên file sẽ được gứi vê má> chu index.
Việc truy vấn thông tin sẽ được thực hiện theo hai bước:
- Buớc truy vấn ihôns, tin về tài nguyên tại má>' chu index đẽ biêl ihỏne tin \ê các
node lưu giữ tài nguyên cân tìm kiêm
- Bước truy cập trực tiếp tài nguyên tại node kai yiữ tài nguyên dựa trên thông tin
được cuna cấp bởi máy chu index
llìiih 1 mô tá các bước thực hiện phân bô và truy \'ân ihông tin trong mạng Napstcr.
Niìpstei server
2: lookup (x)
3: peer 1 ÌUÌS X
peei 2
4: {lo>viilo;ì(l X.inp3
Hình 1: Mô hình mạng Napsler
Mô hinh mạrm rmana hàng lai ghép có ưu điêm là có thê giam tai cho má> chu so
với mô hình máv chu-khách truyên thông. Tim kiêm thông tin dựa trên mô hình
m ạng ngang hàng lai ghép được thực hiện tập trung nên đơn giàn và hiệu qua. Tu>’
nhiên, nhưng m ạng ngang hàng lai ghép có nhược điêm là khả năng m ơ rộng kém và
máy chủ index trở thành điểm yếu dễ bị tấn công.
2.2 Mạng ngang hàng không có cấu trúc và tìm kiếm trong mạng ngang hàng
không có cấu trúc
Với mạng ngang hàng lchông có cấu trúc như Gnutella[2], không tồn tại má>- chu
index mà thay vào đó, các node tạo nhiều Hên kết trực tiếp V Ớ I nhau nhưne khône
theo một quy luật nhất định. M ột nút trong mạng thực hiện truY vấn bãng cách phát
tràn thông báo truy vấn đến các nút xung quanh và các nút này sẽ tiếp tục phát tràn
đến các nút hàng xóm. Các node nhận được thông báo truy vấn sẽ tìm kiếm tronc dữ

liệu của mình xem có thông tin cần tìm kiếm hay không. Nếu có thông tin cần tìm
kiếm sẽ được gứi trả về cho node tìm kiếm (Hình 2)
K iaoi Hc-AStLơrrtcrKs
querv Co Hj-i1l ['!;ì ,
The file tra n ĩle r lo a d is distribute d
b e tw e e n th e c o m p u lefs e x c h a n g in g
tiles, b u t file s e a rc h e s a n d transfers
tiom y o u ( c o m p u te r to oth ers c a n
c a u s e b o ttle n e c k s . ^
3 1 ' ,i vC :o '’ipjtjrs
Hình 2. Mô hình truy vấn thông tin irên mạng Gnutella
Việc tim kiếm thône tin theo kiểu phát tràn thông báo truy vấn gãy ra sự lãng phí
báng thông trên mạng và lãng phí tài nguyên cua các máy tính trong mạng. Ngoài ra,
khi số lượng node trong mạng tăng, do không thê gưU hông tin truy \ ân đên toàn
mạng để hạn chế số lượne, thône báo phát tràn nên vẫn có kha nàng thông tin có
trong mạtm nhưng không được tìm thây.
KaZaA [3J cai tiến giái thuật tìm kiêm phat tràn băng cách thiẻt lập các
supernodt' dóim vai trò lưu giữ thông tin tcìi nguyên cua các node kêt nôi đên. Việc
tìm kiếm thônc tin sẽ dược thực hiện dụra trẽn \ iệc phát tràn thông báo tru\ vân đèn
các supernode. Điều đó giúp cho việc giới hạn sô lượng các thông báo phát tràn cũng
như nang cao xác suất tìm kiếm được thông tin. Đê chông lại hiện tượng người dùng
chi nhận mà không chia xe tài nguyên (còn gọi là "free- rider ■■). BilToren[4] cai liên
cách thức tái dữ liệu chia \e bănti cách chia nho dữ liệu thành các phân nho và phân
bô tại nhiêu node trong mạng. Khi một người dùng A tai các manh dữ liệu về má>
mình, đông thời sẽ có nhiều người dùng khác có thề tai các mành dữ liệu đã được tai
vê từ máy của người dùng A. Ngoài ra còn có một số cai tiến như tạo các ban sao dữ
liệu, tạo Hên kêt giữa các node có chứa nội dung cùng một chủ đề.
2.3 Mạng ngang hàng có cấu trúc và tìm kiếm thông tin trong mạng ngang hàng
có cấu trúc
Mạng ngang hàng có cấu trúc sừ dụng giai thuật Bang băm phân tán (Distributed

Hash Table - DHT) đế to chức các nút mạng theo một cấu trúc không gian khóa nhất
định như mạch vòng (giai thuật Chord[5], giai thuật Pastry[6]) hay không gian n-
chiêu (giái thuật C A N [7]). Mỗi node trong mạng phụ irách một phần cua khôim uian
khóa và liên kết với nhau theo vị trí trên không gian khóa, Các thông báo trên mạnu
ngang hàng có câu trúc có địa chi là một khóa k và sẽ được định tu>'ến đến node phụ
trách khóa k này dựa trên các liên kết tronti khôniỉ gian khóa cùa các node.
Ví dụ với giao thức Chord, các node được phân bô vào một không gian khóa kiêu
mạch vòng, trong đó mỗi node duv trì các liên kết đến các node ơ cách nó nhữim
khoang cách nhất dịnh trong không gian khóa. Các liên kết này tạo nên bang định
tuyến (gọi là Bảng finger) ớ mỗi node, Một thông háo trong mạng Chord sẽ dược
định tuyến dựa vào bang finger tại niỗi node mà thông báo đi qua. Hình 3 biêu diền
cách thức định tuyến thông báo cua giao thức Chord,
p, ^ ^
p, - 2
p, *4

p. B p.
P:-
p,. ^ 32
P;'
Po
P.I
: » <1 Ị
p'
Íp :^ 32
P'-
V
Ị_ Look upi 5-1) ~J
' V
______

\ fingtliable
\\ P.
Pi
fli^girtaDle
Chord Ring
'V-
Ẩ.P2,
p, ^ ■
p,
(J. 2
p.
ừ .
pj.
p, p;;
p. 1-32
P.:
Hình 3. Định tu\ên tronu mạne Chord
Giai thuật DH'r cho phép \ằ y dimg một mạng ngang hàng \ ới kha nãng m ơ rộna
cao hiêu qua trong việc định tu\èn các gỏi tin thông báo và có độ khánụ lỗi tốt. Vi
dụ vxVi tiiao thức Chord, sô lượng liên kèt với các node khác mà môi node phai du_\ iri
là O(logN) và chi phí để định tuyến một thông báo là O(logN) hops với N là số node
tham gia mạng ,
Trong mạng ngang hàng có cấu trúc, một node phân bổ một nội dung thông tin
(ví dụ như một file hoặc một ánh xạ giữa tên file \'à địa chi máv tính có chứa file)
vào mạng bằng cách tạo khóa k là giá trị băm cúa một đặc trưng cua nội dung thông
tin (gọi là tên nội dung). Nội dung thông tin sau đó sẽ được phân hô đến nút phụ
trách khóa k thông qua việc định tuyến theo giải thuật DHT.
Tim kiếm thông tin trong m ạng ngang hàng có cấu trúc được thực hiện bằna cách
tạo khóa tìm kiếm k từ tên nội dung và định tuyến thông báo truy vấn đến node phụ
trách khóa k. Node phụ trách khóa k sẽ trả về kết qua tim kiếm nếu có.

So với cách thức tim kiếm thông tin trong mạrm ngang hàng khône có cấu trúc. ,
việc tìm kiếm thông tin trong mạng ngang hàng có cấu trúc dược thực hiện với chi I
phí ít hơn rất nhiều do số thông báo tối đa cần gứi chi là 0(!oeN ) thông báo . Neoài
ra nếu thông tin có tồn tại trên mạng thì xác suất tìm thấy thông tin sẽ rất cao. I
Tuy nhiên, giái thuật DHT chỉ hỗ trợ tìm kiếm khóa chính xác. ĩức là tìm kiếm nội
dung thông tin gắn với một khóa k nào đó, trong khi rất nhiều ứng dụng [8.9.10] đòi
hỏi việc tim kiếm nâng cao như tim kiếm theo khoáim 111,12], tim kiếm theo các giá
trị thuộc tính [13-16], tìm kiếm uần đúng [12], Đã có nhiều nghiên cứu \ ê tim
kiếm thông tin trên mạng nganu hàng có cấu trúc nhăm tim aiái pháp nâng cao kha ’
náng tìm kiếm dồng thời đảm bao tính hiệu qua cũnu như khá năng mơ rộng cua hệ
thống.
Đề tài nghiên cứu Q C.07.19 tập trung vào kỹ thuật lìm kiêm thông tin theo giá irỊ
thuộc tính trên mạng ngang hàng có cấu trúc. INS/T\vine[l3J đưa ra mỏ hình hệ
thống tên miền dịch vụ xây dựng trên mạng tmane hànt» có câu trúc với tên miên dịch
vụ là một câv thuộc tính/tiiá trị phân tâng. Môi tên miên dịch vụ được ánh xạ vào niộl
tập hợp các khóa là íỉiá trị bãm của các nhánh cua tên miên. Mặc dù INS/T\vine hó
trợ tìm kiếm theo từng phần ứng với các nhánh cua tẻn miên, nhung \ iệc tìm kiêm sẽ
không thực hiện đưcrc với các truv vân khônẸ thuộc các nhánh cua tên miên. Ngoài ra,
hệ thống INS/Twine không đảm báo tính 4 ^ b ă n g tai giữa các node do các node phụ
trách các gia trị-thuộc tính phố biến sẽ phai chịu tai \ ẻ lưu giữ dữ liệu và tru>' vân lớn,
Giái pháp CDS[14] cũne sử dụng các cặp thuộc tính giá trị đê định danh nội dung
cần chia xe. Tuy nhiên, khác với INS/Twine. CDS tạo nhiêu khóa cho một nội dung
từ mồi cặp giá trị-thuộc tinh trong tên miền và phân bỏ thông tin về nội dung đến các
node phụ trách các khóa đó, N hư vậy. khi truy \ ấn nội dung. CDS chi sừ dụng một
cặp tĩiá trị-nội durm đế tạo klióa truy vấn và taiy vấn đến node phụ trách khóa đó.
CDS cùng đề ra giai pháp tạo Ma trận Cân băng Tai (Load Balancing Matrix - LBM)
dế giai quyết vấn đề cân bàne tai. Tuy nhiên giai pháp CDS Tạo nhiêu dư thừa trong
việc quan lý LBM cũim như dư thừa trong liru giữ dữ liệu và truy \ ân.
(ìiai pháp Data lndexirm[15] tạo các khóa phân bỏ từ các nhánh từ nút ngọn tới núl
uốc cùa cây mô ta dữ liệu và lưu ííiìr ánh xạ giữa các khóa phân bò nà\- tại các node

phụ trách các khỏa phàn bò cua mạng ngang hàng có càu trúc, Giai pháp nà\ cho
phép lưu giữ thôim tin với số lượng ban sao nho. tu> nhiên chí phí tìm kiêm thòng tin
sẽ rất lớn do phai thực hiện nhiều truy vân từ nút ngọn tới nút gôc.
Trong nghiên cứu [16], các tác giá đề xuât giai pháp lựa chọn các khóa phân bô sao
cho số lượrm nội dunu phân bô ứnu với môi khóa phân bô năm trong một eiới hạn
nhất định. Đề xuất này mặc dù hạn chế được số lượng khóa phân bồ cùnơ như số
lượng nội dung thông tin gán cho mỗi khóa nhung không cho hiệu qua cao trong tim
kiêm thông tin do việc tim kiếm thông tin sẽ phài thực hiện qua nhiều bước.
3. 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 SMAV
3.1 Tổng quan ____
lưởrrg c^fnli c ùa giải thuật cúa chúng t ^ là phân bổ nội dung thône tin theo các
khóa phân bô chinlTiJgmlrrMrrrcLia các cặp thuộc tính/giá trị có trong tên nội dung.
Nêu sô lượng nội dung thông tin gắn với một khóa phân bô chính lớn hơn một liiứi ọ
hạn nhât clỊnh thì nội dung thông tin sẽ được phân bô theo các khóa thứ câp được sinh
ra từ các cặp thuộc tính/giá trị khác có trong lên nộ) dung. Ánh xạ giữa khóa phân bô
chíiih và khóa thứ cấp được lull lại để đảm báo clio việc tìm kiếm thônu tin đưọ'c >
nhanh chỏng và đầy đu.
Việc tim kiềm thôiig tin sẽ dựa trên các cặp thuộc tính/giá trị trorm câu truy vấn.
Nếu trong câu truy vấn có các cặp ihuộc tính/giá trị không phố biến, kết qua truy vấn
sẽ được trả về bới node phụ trách một trong các cặp thuộc tinh/giá trị đó. Nếu khòn”
có, việc tim kiếm thông tin sẽ được thực hiện tại node phụ trách cặp thuộc tính/giá li'Ị
phố biến và các node phụ trách các khóa thứ cấp tươne ứrm. Các khóa thứ cấp dược
tim kiếm là giá trị bãm của các cặp thuộc tính/aiá trị có troim câu truy \'ấn và với số
lượng cặp thuộc tinh/giá trị tăng dần cho đến khi tim dược hết các node có kha nănu
chứa thông tin cần tim kiếm.
Trong giai pháp cua chúng tôi, mỗi nội dung thônu tin sè được định danh bưi mộl ^
tên nọĩdung là tập các cặp thuộc tính/Q.iá trị mô ta nội duniỉ. thôntí tin. Việc sư dụnti 1
các cặp thuộc tính/giá trị đảm bao cho khà năng biêu diễn nội dung thôrm tin dược
chính xác và dễ dàng thông qua khả nẳng biểu diễn nạữ nụhĩa cua các oiá trị thuộc

tính trong tên nội dung. Ví dụ như tên nội dung thông tin về một cuốn sách có thê
được biếu diễn như dưới đâ\’
(tên sách=’'A”, tác íỉiả=’'B''.nlià xuất b ản-'C ". năm phát hành="D". giá == "H".
phân loại = “F”)
trong đó các thuộc tính đã được định nghĩa trước.
Truy vấn thông tin sẽ dựa trên các cặp thuộc tính/giá trị trong đó câu truy \'ân sẽ
chứa một tập các cặp thuộc tínlVeiá trị cân tru\ \'ân. Kêt qua tìm kiêm tra vê sẽ là các
nội dung thông tin với tên nội dung có chứa các cặp ihuộc tinh/giá trị cân truy vân.
Ví dụ như truy vấn sau:
(tác gia='’B".nhà xuất ban=”C'')
sẽ tim kiám nội dunu ihônu tin về sách cúa tác gia B được xuât ban bơi nhà \uấl
hản c, haỵ iru> vấn:
(nhà xuat bíin=”C”.phân loại ="F"}
sè tìm kiếm nội đune thôrm tin \ ề sách thuộc phân loại F cua nhà \uàt ban c.
Nội dung thônc tin sẽ bao uồm các thông tin chi ticl liên quan đên thônt: tin, Nếu
thông tin là file dữ liệu thi nội dunu thônc tin có thê là đườna link đén nơi lưu íiiữ
file dĩr liệu đó.
12
Các node lưu trừ tên nội dung và nội dung thông tin sẽ tạo thành một mạno neanti
hàng có cấu trúc dựa trên một giao thức DH T như Chord, CAN, Các thông báo
phân bô thông tin và truy vần thông tin gửi giữa các node được định tuyến theo địa
chi là các khóa và dựa trên báng định tuyến luiỉ tại mồi node.
Việc phân bô nội dung thông tin sẽ được thực hiện dựa trên việc ánh xạ tên nội
dung vào khóa phân bô và nội dung thông tin sẽ được gửi đến node phụ trách khóa
phân bô. Giải pháp ánh xạ khóa của chúng tôi là tạo khóa phân bô chính từ mỗi cặp
thuộc tính/giá trị trong tên nội dung, Do có những cặp thuộc tínlVgiá trị phô biến nẻn
đê tránh tình trạng quá tải cho các node phụ trách các khỏa phô biến, các node này sẽ
chi lưu một phân nội dung thông tin gán với khóa phô biến, phần còn lại sẽ được liai
tại các node khác dựa trên các khóa thứ cấp. Các khóa thứ cấp lá giá trị băm cua hơn
hai cặp thuộc tính/giá trị có trong tên nội dung được phân bô. Node phụ trách khóa

phô biên sẽ lưu lại ánh xạ giữa các khóa phân bô và khóa thứ cấp đé đam bao các
thông báo truy vấn thông tin sẽ được gửi đến tất cã các node có khá năniz chứa thônc
tin cẩn tim.
Giai pháp này có các ưu điếm:
- Với các cặp thuộc tínJì/giá trị không phô biến, do số lượntí nội dunu ihònii tin tĩán
vào môi cặp thuộc tínlVgiá trị đó không lớn nên chúnc sẽ dược lưu tại một node và
truy vấn đến các cặp thuộc tính/giá trị khônụ phô biến sẽ chi cần thực hiện irên mộl
node với mỗi truv van. Điều nàv đám bão cho lính hiệu quả trong việc lìm kiếm.
- Với các cặp thuộc tính/giá Irị phô biến, do số lượng nội duníz thônu tin uán váo
mồi cặp thuộc tínli/giá trị đó là lớn nên chũim sẽ dirợc lưu tại nhiều nơde. số krợnu
nội dung thông tin càntỉ lớn thi số node km ciữ thônu lin càng lớn. Điều nầy dam bao
cho tính cân bang tai cua hệ thốnc. Với câu lru>' vấn cliứa nhiều cặp thuộc tính/iiiá tri
phô biến, việc truy vấn sẽ được thực hiện trên node phụ trách khóa phân bỏ chính và
nhiều node phụ trách các khóa thứ cấp.
- Việc sử dụng giao thức DHT trong việc phần bô \à tìm kiếm thôim tin dam bao
khá năiiíĩ mớ rộníỉ (scalability) của hệ thống, tính hiệu qua (efíìcienc\) Irone định
tuyến gói tin và khả năna chống chịu lõi (fault tolerent) cho hệ Ihốne mà chúne tôi đề
xuàt.
Các mục tiếp thẹo sẽ trình bày chi tiết cách thức ánh xạ khóa và phân bô nội duníí
cũne như cách thức tìm kiếm thông tin trong hệ thông cua chúng tôi.
3.2 Ánh xạ tên nội dung-khóa và Phân bố nội dung
Để đảm báo tính cân bằntỉ tai giữa các node và tính hiệu qua \'à chính xác trontĩ tìm
kiếm thônc tin, chúim tôi đề xuất eiai thuật áiili xạ tện_mien-khóa \'à phân bô nội
dung sao cho '
• Sổ lượim nội dung thônc tin lưu tại một node ứng với mồi khóa phân bô nho
ho-n một số dịnh trước.
• Mỗi node sẽ lu'u ũiữ thôntĩ tin về ánh xạ giữa các khóa phân bô đẻ đam bao cho
việc tìm kiém dược nhanh chóng và chính xác,
Dè dám báo các _\'êu cầu trên, uiai thuật ánh \ạ tên niiên-khóa \ à phân bỏ nội dunu
cùa chúng tôi được thực hiện theo các bước như sau

Ban đầu. tên nội dung cua một nội dung thông tin dược ánh xạ thành nhiều khóa,
mỗi khóa là giá trị bãm cua một c¿ip thuộc tinh-giá tri chứa trong tên miền nội dune
thông tin. Việc sừ dụng hàm băm sẽ đảm bảo các khóa được phân bố đều trona toàn
miên không gian khóa.
Ví dụ, giả sử tên miền của một nội dung thông tin có chứa N cặp thuộc tínli'giá trị
và được ký hiệu là ((ai,Vi), (a2,V2), (aN,v^>)). Khi đó, nút muốn phân bỏ nội dung
thông tin đó vào mạng sẽ tính toán N khóa như sau:
k| = H(a,,V|)
k2 = H(a2,V2)
líN = H{aN,VN)
trong đó H là một hàm bãm như SHA-1, MD5,
Tiếp theo, node phân bổ nội dung sẽ gửi thông báo truy vấn sổ lượng tới các node
«/, /7,vphụ trách các khóa kị. kl, k\ dựa trên eiao thức DHT. Các node nà\ sè
trả vê sô lượng tên miên được ánh xạ vào mỗi khóa và thône tin cùa các node như địa
chi IP. Với mỗi khóa k^{\ <d < N), sẽ có hai trường hợp xảy ra.
• Số lượng nội dung thông tin đã gán với khóa k,¡ nho hơn một số lượng Nmax được
dịnh trước. Trong trường họp này khóa Ấ:,ysẽ trơ thành khóa phân bô và được eọi
là khóa phân bố không phổ biến (viết tất là khóa không phố biến)
• Số lượng nội dung thông tin đã gán với khóa k,! lớn hon hoặc bàne Nmax- Tronu
trường hợp này khóa k,i không được sử dụng làm khóa phân bổ và được tỉọi là
khóa phổ biến và cặp thuộc línỉi/giá trị tương ứim được gọi là cặp thuộc tính/giá
trị phổ biến.
Với mồi khóa không phổ biến nội dunỹ thônti lin sẽ được lưu tại node «,/ phụ
trách khóa này. Node phân bô thông tin sẽ sư dụrm thông tin cua node n,i dê uưi
thông báo phân bổ thông tin irực tiếp đến node n,¡.
Với mỗi khóa phổ biến node phân bô thông tin sè tạo các kJióa thứ cắp là uiá trị
băm của cặp thuộc tính/2.iá trị phố biến ứng với kj \à từng căp thuộc tính/eiá trị phô
biến khác. Các khóa thứ cấp này được gọi là các khóa thứ câp bậc 2 (ứng \ ới hai cặp
thuộc tínli/giá trị), Nếu số lưạne, các cặp thuộc tính/giá trị phô biến là x ' thì số khóa
thứ cấp bậc 2 sẽ là X ' (X ' -1 )/2 không trùng nhau.

Do số lượng nội dung thôna tin đã íỉán với các khóa thứ cấp cũng có thê lớn hơn
hoặc bằng Nmax nên với mỗi khóa thứ cấp bậc n (ứng với n cặp thuộc tínlx^giá trị. n >
2), các bước sau sẽ được thực hiện đê xác địnli klióa phân bô cho môi nội dung thông
tin.
- Bu’ó'c 1. Node phân bố thône tin sẽ gửi thông báo tru\' vấn số lưọTig đến các node
phụ trách các khóa thứ cấp bậc n. Nêu sô lượng nội dung thông tin lưu tại môi node
phụ trách các khóa thử cấp bậc n nho hơn N max- ihifc hiện Bước 2. Nêu sô lượng nội
dung thông tin lưu tại mồi node lớn hơn N max- thực hiện Bước 3.
- Bu’ó'c 2. Nội dunẹ thông tin sè được phân bô đên node phụ trách khóa thứ câp bậc n.
- Bu’ó'c \ Node phàn bồ thông tin sẽ tạo các khóa thứ câp bậc n+1 bans cách áp dụne
hàm băm cho các cặp thuộc tính/íiiá trị ứng với khóa thứ câp càp n và một trong các
cặp thuộc tính/íiiá trị phô biên còn lại. Sau đó, nó sẽ lặp lại bước 1 VỚI các khóa thứ
cấp bậc n + 1.
14
1 lình 4 . Mô hình phân bô ihông tin cua Líiái thuật SM AV đề xuất
Ngoài ra, node phân bô thông tin sẽ gưi thônụ tin về khóa thứ cấp bậc n^l và
thông tin về các khóa không phô biến tới các node phụ trách khóa thử cấp bậc n
tương ứng. Các thông báo này gọi là các thônu báo ánh xạ khóa. Node phụ trách
khóa thứ cấp bậc n sẽ lưu các thông tin này t^on^ baim ánh xạ cua mình đồnu ihời
tăng số đếm với các ánli xạ tươníỉ ímg. Tronẹ trườntí hợp n = 1, thôno tin về mồi
kJióa thứ cấp bậc 2 sẽ được lưu tại hai node phụ trách hai cặp thuộc tính/'giá trị phố
biến tạo ra khóa thứ cấp bậc 2 này. Thông tin về khóa thứ cấp bậc n+1 \'à các khóa
không phố biến sẽ giúp cho node phụ trách khóa thứ câp bậc n chuyên tiếp các thône
báo truy vấn đến các node chứa thông tin cần tìm.
Ví dụ. giá sử (a|,Vi).(a2.v:).(a3,V3) là 3 cặp thuộc tính/giá trị phô biến. (a4.V4).(a5.V5)
là 2 cặp thuộc tính/giá trị khône phố biến cua một tên nội dung, các khóa Ihứ cấp bậc
2 sau sẽ được tạo ra:
sub_k| = H((a|.V]).(a:.V2))
sub_k2 = H((a|.vi).(a3,v-Ị))
SLibk, = H((a2.vi),(a3.\3))

Giá sư số nội dunc thôníi tin gắn \ ó'i khóa su b j(! nho hơn NMAxthì nội đung thôns
tin đó sẽ được phân bô đèn nút phụ trách khóa sith kị. đông thời thông tin về khóa
thử cấp bậc 2 sLib_ki. khóa 1<4 và khóa ks ứng với 2 căp thuộc tíiilvgiá trị khôrm phô
biến (a4,V4),(as,V5) sẽ đirợc lưu tại node phụ trách khỏa k|Và node phụ trách khóa Rị.
Nếu số nội dung thônũ tin găn với khóa suh_kỊ lớn hơn Nm \x- các khóa thứ cấp bậc 3
sau đây sẽ được tạo ra:
sub k|| = H((a|.\'i).{a;.\;).(aj;,v3)
15
Viéc ánh xa giüa các khóa dugc mó tá nhu trong Hinh 1.
k2
H(a2,V3)
l<3
H(a:„v,)
k4
Híaj.vj)
k?
H(a5,V5)
Hinh 5. Ánh xa khóa thú cap
Viéc ánh xa khóa nhu Hinh 1 se giúp cho viéc tim kiém bát dáu tir khóa k| dugc
thuc hién mót cách nhanh chóng cho dén khi hét các kliá náng lim kiém thóng tin.
Mói node trong mang ngang háng sé duy Iri mol bang ánh xa khóa phán bó-nói
dung thóng tin nhu Bang 1. Các thóng tin dugc luu trong bang bao góm khóa phñn
bó, tén nói dung vá nói dung thóng tin gán vói khóa phán bó, só luong nói dung
thóng tin gán vói khóa phán bó vá có trán. Khi só lugng nói dung thóng tin gán \ói
khóa phán bó lán han có trán sé dugc bát lén (có giá tri Yes), Só krgng nói
dung thóng tin gán vói khóa phán bó có thé kVn han só lugng nói dung thóng tin
dugc luu trong node khi ca trán dugc bát lén do mót phán nói dung thóng tin dugc
luu tai các node khác. Só dém dói vói mói khóa k, sé dugc táng ién klii có thóng báo
phán bó thóng tin vái khóa phán bó la khóa k, dugc gui dén hoác khi có thóng báo
ánh xa khóa dói vói khóa k, dugc güi dén.

Mói node cijng duy tri Bang ánh xa khóa thú cáp nhu Bang 2 vá Bang ánh xa khóa
khóng phó bien nhu Bang 3. Trong 2 báng náy, các thóng tin vé ánh xa güla khóa do
node phu trách vói các khóa thú cáp vá khóa khóng phó bien cüng nhu cap thuoc
tinh/giá tri dugc sú dung dé tao ra khóa thú cáp hoác khóa khóng phó bien sé dugc
luu lai. Ngoái ra só lugng các ánh xa cüng dugc luu lai dé phuc vu cho \ iéc lúa chon
kJióa truy van sau ná>-, Só lugng ánh xa sé dugc cap nhát mói kJii có thóng báo ánh
xa khóa dugc gúi dén.
Bang 1 Bang ánh xa khóa phán bó - nói dung thóng tin
Khóa phán bó
¡Tén nói dung. nói dung thóng tinj
Só lugng nói C a
dung thóng tin
i
tran
l<i
iC N ,,.N Ini.lC N ,2.N I|2}.!C N |,.M i:,¡ ' 10
Y
16
^2
{CN2|.Nl2|},{CN22,Nl22}
2 i -
i
Bảng 2. Bảng ánh xạ khóa thứ cấp
Khóa phân bô
Các khóa thứ cấp và các cặp thuộc tính/giá trị thứ cấp tương úntỉ
k, {(^1 1 i),ki i,8},{(ai2,Vi2),ki2,7},{(ai-,,V|3).ki3,2}
k2
{(^2uV2l),k2i,5},{(a22,V22)-k22-3 Ị
Báng 3. Bang ánh xạ klióa khônc phô biến
Khóa phân bô

Các khóa không phổ biến và các cặp thuộc línli''ciá trị khône phò
biến tương ứng
ki
{(ai4,V|4),k|4,6},{(ai5,v,5).k|5,5],{(aK,.V|6).k|f„2Ị
•^2
{(a2vV23),k23,1 } ,{(a24A'24)'k24’'^!
3.3 Truy vấn thông tin
A. Tổng quan
Trong hệ thống đề xuất của chúng tôi, truy vân thôna tin dươc tiên hanh theo các
cặp thuộc tính/giá trị trong tên nội dun?. Câu tm> vân thỏnu tin sC' bao gôm các cặp
thuộc tínlVeiá trị truy vấn. và kết quá truy vân tra vê
bao gôm các nội dung thông tin
có tên nội dung chứa các cặp thuộc tính/giá trị tru>' \ân và các cặp thuộc tính/giá trị
có thể có trong các truy vấn tiếp theo.
Dựa trên cách phân bô thông tin như đã trinh hà}' ơ trên, việc tru>' \'án thông tin
dựa trên các cặp thuộc tíiih/giá trị sẽ được thực hiện theo nhiêu bước. Trước tiên,
tươníí tự như bước đẩu tiên khi phân bô nội dung thông tin. node nhận yêu câu truy
vấn sẽ gửi yêu cầu truy vấn số lượng tới các node phụ trách các khóa tương ứng \Ớ1
các cặp thuộc tính/íiiá trị có trong câu truy vấn. Việc gưi gói tin sè thông qua giao
thức cua mạng ngang hàng có cấu trúc. Sau kJìi nhận được kêt qua tra \'ê. nó sẽ chọn
khóa có số lưọiiíỉ thông tin ít nhất làm khóa trm' \ ấn k,, \ à gưi trực tiếp thông báo > êu
cầu truy vấn đến node phụ trách klióa tru>- \ ấn.
Sau khi nhận được Ihônu báo yêu câu truy \ân. node phụ trách khóa truy \'àn
trước tiên sẽ kiếm tra cờ tràn tirơtm ínm với khóa tru> \'ân Nêu cờ tràn không
được bật lên điều đó có imhĩa tất ca các nội dung thông tin gán với khóa Iruy vấn
đều dươc lưu yiừ tại node phụ trách khóa tru> \ẩn. Trong trường họp nà\. node phụ
trách khóa truy vấn k,! sè tìm kiếm nội dung thòng lin lưu giữ trong bang ánh xa khóa
phân bố-nội duiiR thônu tin theo khóa tru\' vân k^,. No sẽ tra \ ê kêt qua lá những nội
dung ihônc tin có tC'n nội duriii chứa tât ca các cặp thuộc tính/giá trị có trong câu tru\
17

oA! HOC GUỎC GIA HÀ NÔI
Tf?UNG TÁM THÓMG TìN THỰ VIỀN
Nếu cờ tràn gán với khóa truỵ vấn được bật lên. điều đó có nehĩa. node phụ trách
khóa truy vân chỉ chứa một phân nội dung thông tin gán với khóa tru> vấn. Troim
trường hợp này, node phụ trách khóa truy vấn sẽ phai gừi >êu cẩu tru\ \ấn đến các
node có khả năng chứa nội dung thông tin cần tim.
Hình 6. Mô hình truy vấn thông tin trong giai thuật dề xLiíit
Dựa irên cách phân bổ nội dung thông tin như đã trinh bày ơ phần trên, nhừng nút
có kha năng chứa nội dunc thôntĩ tin cân tim là node phụ trách khóa truy \ ân các
node phụ trách các klióa thứ câp ánh xạ từ khóa tru> vân và các node phụ irách
khóa không phô biến áiili xạ từ klióa tru>' vấn tại node tru>' \ ân. \ Ớ1 điêu kiện căp
thuộc tính/oiá trị ứnc với khóa thứ cấp hay khóa không phô biên phai có trong câu
truv vấn. N hữnc node phụ irách khóa không phò biên sẽ lưu giữ tât ca các nội dung
thông tin có tên nội đung chứa cặp Ihuộc tinh-giá trị không phô biên tương ứng vứi
khóa không phô biến. Nhừiig node phụ trách khóa thứ cấp sẽ lưu giữ tâi ca các nội
dung thông tin có tên nội dung chứa các cặp thuộc tinh giá trị tương ứng \ ới khóa thứ
câp. , , , . ; ;
Vì vâv trong trườn^ hợp khóa truy vàn bị tràn, các thông báo >ẽu càu tru\- \ ãn sẽ
dược lạõ ra va uưi đ ĩ các node phụ trách khóa thử cấp và các node phụ trách khoa
khong pho bicn Một cách tỏng quát, một thông báo tru\' \'ấn sẽ có định dạng:
ki, ((a,,Ỹ2)

(a,.v,))-type} ^ ^
tronu dó khóa tru> \ ần Ấ:,, là giá trị băm cua một ha> nhiêu cặp thuỏc tinh giá trị có
troiìg câu U-uý vấn. ((a|.v:).' (a,.v,)) là các căp ihuỏc linh gia Irị có Irong câu tru> vấn
va type la kiếu tru\ vấn khỏa thứ cắp. khóa phô bicn ha> khóa khỏng phô biến.
piiần tiếp theo s'ẽ trình bà> cach ihửc tim kiêm \Ớ 1 klióa tru> \ân bị trán.
B. Tìm kiếm vói khóa truy vấn bị tràn
M^ll 1^011 i-t*ii\/ \/ot-í y Uỉ
_

.
Nêu câu truỵ vân chi chứa các cặp thuộc linh/giá trị tương úna \ ới khóa truv \ ấn kj
(nói cách khác là giá trị băm cùa tất cà các cặp thuộc tính eiá trị truN vấn
((^h'^
2
) ,(ci¡,vj)) thì node phụ trách khóa tru> vấn sẽ gừi các nội duntí thông tin ỉiẽn
quan đên khóa truy vận mà nó lưu giừ. và danh sách các cặp thuộc tíW aiá trị được
ánh xạ từ khóa truy vân trong báng ánh xạ khóa khônu phô biến và bàna ánh \ạ khóa
thứ câp. Danh sách này sẽ được sắp xếp theo thứ tự RÌam dần cua số lượim các nội
dung thông tin tượng ứng. Người dùng sẽ lựa trọn tiếp các cặp thuộc tínli íiiá trị tiếp
theo đế truy vấn tiếp nếu muốn.
Nêu số lượng cặp thuộc tinh/giá trị trong cảu tru_\ vấn nhiều hơn số lượnu cíỊp
thuộc tính/giá trị tương ứng với khộa truy \ấn. node phụ trách khóa truy \à n sẽ tìm
kiêm trong Báng ánh xạ khóa thứ câp và trong banti ánh xạ khóa khônu phô bien các
entry {(a^
2
,v,
2
) X r J

lưưnu ứníz \'ới khoa tru\' \ân k^i.
Với môi entry nêu cặp thuộc tinh/già trị (a,|,.Vqi) có troni; càu truy vàn
((ai,V
2
), ,(ü„vj), khoa k^, sẽ trơ thành ứng \'iên khóa tru>' vấn tiếp theo, Lne, \ièn
khóa truy vân có sô lượng nội dung thông tin uắn với nó là Iilio nMt sè trơ thanh
khóa truy vấn tiếp theo.
Nêu khóa truy vấn tiểp theo là một khóa thử cấp. node phụ trách khỏa truy \ ấn sẽ
gửi yêu cầu truy vấn đến nút phụ trách khóa thứ cấp nà>. đồng thời nó sẽ tim kiém
các nội dung thông tin mà nỏ lưu giữ thoa mãn diều kiện truy vấn và tra vê kêl qua.

Nêu khóa truy vân tiêp theo là một khóa khỏnu phô biên, node phụ trácli klioa truv
vấn sẽ gửi yêu cầu truy vấn đến nút phụ irách khoa khôim plũ) bien na>. 1 ronu
trưcmíỉ hợp này. node phụ trách khóa tru\' \ấn sẽ khôim tim kicni các nội dunu thõnu
tin mà nó íưu eiừ. Đó là do node phụ trách khóa tru_\ \ãn liỏp ihco lưu Lìiừ lâl cac các
nội dung thông tin cần tim có thê có.
3.4. Đánh giá thuật toán
Thuật toán được đánh giá dưa Trên ba yếu tố:
• Hiệu quà trong phân bổ nội dung thông tin: dánh giá bơi sô lượng khóa được
tạo ra. Dư thừa (overhead) trong việc phàn bô khóa sẽ t> lệ ihuân với sò luxĩng
khóa tạo ra ứng với mỗi tên nội dung
• Hiệu quá trong tìm kiếm thông tin: đánh giá bơi sô lưẹmg node cán truy \ ân va
thời gian iruy vấn
• M ức cân bàim tai giữa các node: đánh giá bo’i sir phân bố số lưcTng nội dung
thông tin và số tru>- vấn tại mỗi node
3.4.1 Đánh giá định tính
Trong eiái pháp cua chúim tôi. số khóa phàn bô dược lạo ra ứng với một nội dung
thông Im tùv thuộc vào số lưọnii và tính phô biên cac cặp thuộc tính/giá trị có trong
ten nội dun<'^ cua nội duim thônu tin đó. Neu sô lượng cặp thuộc tính/giá trị cua tên
nội dung là N và stT lircTiiü cặp thuộc tính/giá trị phò biên là
x' thi sò khóa thứ câp
bậc 2 (tưưiig ứng với hai cặp thuộc tính/giá Irị) được lạo ra là x ‘(x '-ỉ) 2. Nêu X" lá
sổ lượng khóa thứ cấp pliô biến bậc a (tirơiig ứng \ý i u cặp thuộc tính/giá trị. a>-l ) ihi
số khóa thứ cấp bậc a - l dược tạo ra ửng \ớì mói khóa thứ cáp bàc u sè la .V' LI
(bàng số cặp thuộc tính giá trị phô biến trừ di sỏ căp ihuộc tính giá Irị ứng \ới khóa
19
thứ câp bậc a). Do nội dung thông tin không được luii tại các node phụ trách các
khóa tương ứng với cập/các cặp thuộc tính/giá trị phô biến nên tône số khóa được tạo
ra tương ứng với một tên nội dung sẽ là:
N + X'(X'-\)/2 + ỵ X " { X ' - a ) ^ ỵ x “
Nếu N=12, x ' = 4, = 1 thi tông số khóa được tạo ra sẽ là 15.

Đê hạn chê sô khóa phân bô tạo ra thì phải hạn chế số cặp thuộc tính aiá trị phô
biên băng cách chọn cận trên Nmax lớn. Tuv nhiên việc nàv có thè dẫn đến việc các
nọde phụ trách các cặp thuộc tính/giá trị phô biến phai chịu tai lớn và do đó sỗ dẫn
đên sự mât cân băng vê tái. Vi vậy, việc lựa chọn cặn trẽn Nmax rất quan trọng và tù>
thuộc vào sự phân bô cua nội dunti thôim tin vào các node trone mạng neaim hàng.
Truy vân thông tin cũng tùy thuộc vào sự phò bicn cua các cặp thuộc tính/eiá trị có
trong câu truy vân. Neu ton tại một cặp ihuộc tính uiá trị không phô biến trong câu
truy vân thì việc truy vấn thông tin chi ihực hiện \X7Ì mội lru\' vấn. Nếu không. \ iệc
truy vấn thông tin sẽ được thực hiện nhiều lần tùy thuộc vao số !ux,mg nội dunu ihỏnti
tin tim kiếm.
Các đánh giá trên mới chi dừng lại ơ mức độ đinh tinh. lYong phần tiếp theo chune
tôi sẽ ihực hiện mô phong giai ihuật đe xuất và tiến hành dánh giá giai Ihiiật mộl cách
định lượng và chi tict hơn.
3.4.2 Đánh giá dựa trên mô phỏng
A. Cách thức mô phỏng
Chương trình mô phong được xâv dựng băny naôn nyừ C# trC’ii MS Visual studio
2008.
Đế thực hiện việc so sánh, chươiig trình mô phonti cài đặt 2 thuật toàn phân phỏi tC-n
nội dung:
• Phân phối tên nội dune theo giá trị bãm cua mỗi cặp giá trị thuộc linh (Phàn phôi
thôim thườiig). Do cách phân bô tên nội dung nlur trên nên việc xư lý tru\ vàn
dược thực hiện bàng cách chọn ngẫu nhiên 1 cặp thuộc tính/giá tri co trong câu
truy vấn và gưi truy vấn tới node phụ trách khoa cua cặp thuộc tính giá trị được
chọn.
• Phân phối tên nội dung theo thuật toán SMAV
Giao thức Chord được sư dụne trong mô phong mạng ngang hàng có câu trúc. Sô
node trong mạng là 2000 \'à không gian khóa là 16.
Cận trên số tên nội duim uắn với 1 khóa N|113\ dược tíiih ihông qua tông sô cặp
thuộc tính/íỊÌá trị trotm tất ca các tên nội dung được chia se trẻn mạng va sô khóa liên
quan đến cac cập thuV’ tính giá trị này, Trong mô phong nà>. chúng tôi tính Nmax

bang cong thức sau: = Ü* SL/SK+p. Trong đỏ: SL là tòng chiều dài các tên nội
dung, SK là số các khóa khác nliau hay các cặp thuộc tinh giá trị khác nhau xuất hiện
trong các tên nội dune. ơ. p lủ 1 các hàng sổ, Trong mô phong nà> . chúng tỏi chọn
a = l. [3-3. ^ ^ ~
Chươn^’ trình mô phona sinh ncẫii nhiên các ihuộc tính. Sô các thuộc tinh đirơc lây
tương đircmg với số thuộc tinh thường thấy khi dặc ta vẽ 1 tên thông tin. Vi dụ: dặc la
20
ve j cuon sách gôm các thuộc tinh như: mã sách, tiêu đè, ìủc gia. năm xuất han. nlùi
xuat ban, sô trang, loại sách, lập. nước xuất ban. số thuộc tính trung bình troim
một tên nội dung là 10.
Từ các thuộc tính đã sinh ở trên, chương trình sinh Tiếp các cặp AV theo qui tác:
• VỚI môi thuộc tính A, sinh ra một số ngẫu nhiên các ciá trị eán cho thuộc tinh
A đó đế tạo thành cặp AV.
• Sinh ra các tên nội dung từ các cặp AV nói trên, xác suất xuất hiện cua mồi cặp
AV tuân theo phân bố Zipr,
Các tên nội dung sẽ được phân phối đến các node quan lý chúnc thỏrm qua các aiai
thuật mô phóng. Chương trinh mô phóng cũng sinh ra một loạt các câu tru_\’ \ ấn bao
gôm các cặp giá trị/thuộc tính và gửi thông báo lru> \ãn dồn các nodc phụ trách thoo
các giái thuật truy vấn.
B. Ket quả mô phỏng
Chương trình mô phong đã được thực hiện \ ới CÍÍC tham số mỏ phorm Iilur dưới đâ_\:
• Sô tên nội dung thông tin: 20.000
Sộ cặp giá trị/thuộc tinh trong một tên nội duim: 10
• Số câu truv vấn: 5.000
• Sộ cặp giá trị/thuộc tinh trong một tên nội duim: 10
• Số câu truv vấn: 5.000
• Tống số các cặp giá trị/thuôc tính tronu các lên nội dunu: -190.000
• Sô Ccập thuộc tính/giá trị khác nhau xuất hiện ironu các tên nội durm
33.000 cặp
là hơn

1
0.9
0.8
0.7
06
0 5
0 4
0,3
0 2
0.1
0
- Ftiần
trăm số
thuòc
tinh
11 16
21
26
Tần s ố xuất h iện cua cặp thu ộ c tin h/giá trị
Hình 7: Ty lệ phần trăm tần số xuất hiện 1 thuộc tính/giá trị
F linli 7 thế hiện sự phàn bố cua các cặp aiá trị. thuộc tiiìh trên các lên nội duníi ihône
tin trong mô phóntí. Do tuân theo luật phàn bô Zipf nên ta thây có 1 sô thuộc tinh'gia
tri xuất hiện với tần số rấl lern. Đó chính là các thuộc tinh giá trị phô biên. \uât hiện ơ
nhiều tên nội dunti khác nhau. Ket qua mò phong cho thấ\ \ ới 20.000 tên nội dung,
số lưựnu các thuộc lính/tỉiá trị phô biên tu\ chi chiêm dưởi 5® 0 lônt: sô các thuộc
tính/giá trị sonu tần số xuất hiện cun nó lại rât lớn. có thuộc tính/giá trị xLiât hiện tới
8 IS'’ lần tức là xuất hiện trorm hơn 42% lẽn nội dung. Chinh các thuộc línli uiả trị
nàv tỉâv lên sự mất càn bằim \ ề tai nội dune khi ta thực hiện việc phân bô tên nội
duim dựa trèn DHT.
ve j cuôn sách gôm các thuộc tính như: mã sách, tiêu dè, tác gia. năm xiiắi han. nliLi

xuạí bủn. sô trang, loại sách, tập, nước xuát han, sổ thuộc tính truna bình trong
một tên nội dung là 10.
Từ các thuộc tính đã sinh ờ trên, chương trinh sinh tiếp các cặp AV theo qui tăc:
• VỚI môi thuộc tính A, sinh ra một số ngẫu nhiên các giá trị eán cho thuộc tinli
A đó để tạo thành cặp AV.
• Sinh ra các tên nội dụng từ các cặp AV nói trên, xác suất xuất hiện cua mồi cặp
AV tuân theo phân bố Zipf.
Các tên nội dung sẽ được phân phối đến các node quan lý chúní; thỏna qua các siai
thuật mô phóng. Chương trinh mô phóng cũnu sinh ra một loạt các câu tru> \ ấn bao
gôm các cập giá trị/thuộc tính và gừi thông báo tru> \ ân đến các node phụ trách theo
các giái thuật truy vấn,
B. Kết quả mô phỏng
Chương trình mô phóng đã được thực hiện với các tham số mô phoim nliư dưới đâ\:
• Sô tên nội dung thông tin; 20.000
• Sô cặp giá trị/lhuộc tính troníỉ một lên nội duim: 10
• So câu truy vấn: 5,000
• Tổng số các cặp uiá trị/thuộc tính trona các tên nội duim: '190.000
• Sô cặp thuộc lính/giá trị khác nhau xuất hiện ironí! các tên nội dun<! la hơn
33 .000 cặp
1
09
f 0,8
I 07


0
-
3
0.6
0,5

0.4
0 3
- Riẳn I
trăm số
thuôc
linh
11 16 21 26
Tằ n s ố xuát h iện c ùa cặp th u ộ c tinh /g iâ trị
Hình 7: T>' lệ phần trăm tần sổ xuất hiện 1 thuộc tínk'giá trị
Hìnli 7 thế hiện sự phân bố cua các cặp giá trị/thuộc tinh trên các tên nội dung thông
tin trong mô phong. Do tuàn theo luật phân bô Zipt'nén ta thây có 1 sô thuộc tính/giá
trị xu¿it hiện VỚI tần số rất lớn. Đỏ chính là các thuộc tính giá trị phô biên, xuât hiện ơ
nhiều lên nội dune khác nhau. Kết qua mô phong cho ihấy với 20.000 lên nội dung,
số lirợng các thuộc tinh/i:iá trị phô biến tu>' chi chiếm dưới 5% lông số các thuộc
tính/giá trị soim tần số xuất hiện CLUI nỏ lại rât kVii, cỏ thuộc tinh giá trị XLiàt hiện tới
8 15^ lần tức là xuất hiện troim hem 42% lên nội dung. Chinh các thuộc tính/giá trị
nàv gây lên sự mất c¿in hàna về tai nội dung khi ta ihực hiện \ iệc phân bò tên nội
dung dựa trên DHT.
21
\
2000
1800
0 1600
■ă
C 1400
ro 1200
C
•ã 1000
‘1 800
I 600

OT 400
200
0
- Phán
phối bình
thường
. Phân
phồi theo'
SMAV
I
501 1001 1501 2001
Thứ hạng (rank) của các node theo sổ tèn nội dung
Hinh 8: Phân bổ tên nội duny trony các node
Hình H cho thấy, bànũ, cách sứ dụim thuật toán SMa\V. tai nội dung cua cac node IILMI
mạng được phân phối cân bàng hơn rất nhiều so V Ớ I cach thức phán phối thòng
thirờng. Đặc biệt với những node chịu tái lớn. sự khác biệt dược nhận thã\ rât rõ rang.
lYong khi tai nội dung cua mộl số node theo cách phàn phôi thông thường lèn tưi gãn
8.200, thi tải nội dung của node chịu tai lớn nhât theo thuật toán SMAV chi \ào
khoáng 800, thấp hon tới 10 lần. Kết qua trên cho thâ\ giai ihuật SMAV có ihê dại
được sự cân bàne về tai nội dung một cách hiệu qua,.
4500
4000
3500
0>
■D
0
3000
C
r-
’S

2500
>
2000
"0
1500
ơí
1000
500
0
I

Truy vấn
I I
thương
-Truy vẩn I
theo Ị
SMAV
501 1001 1501 2001
Thứ hạng {rank) cùa các node theo số truy vấn
Hình 9:Phân bỏ số iruy vấn giữa cac node trong mạng
Với giải thuật SMAV, tên nội dung được phân bổ đều hơn trên các node nên việc xư
lý các truy vân liên quan đên tên nội dung trên các node cũng không gâ\ ra sự chênh
ỉệch vê tải nhiêu so với phưomg pháp DHT binh thường. Hình 9 cho thẩ>. khi xét với
5.000 truy vân khác nhau và node thực hiện truv \ ấn được chọn ngẫu nhiên trên
2.000 node của mạng, tải truỵ vấn cúa phương pháp SM AV được phân bố khá đều,
node nhiêu nhât phải xử lý gần 750, trong khi theo phương pháp phân bố dữ liệu
thông thường, có node phải xứ lý tới hơn 4.000 tru> vấn
3
■o
:õ*

c
c
‘B
'*o
th
E
I
c
•<<5
£
ũ .
0 8
0.7
0,6

0.5
0.4
0.3
0 2
0 1
ũ
I
-Phần !
trăm số,
tèn nội
dung

^1
50 100 150 200 250 300
Số ánh xạ

Mình 10: số ánh xạ sinh ra bơi mồi tC‘n nôi dune khi sư dụne aiai thuậl
SMAV
Hình 10 cho thấv đồ thị biếu diễn phần trăm số tên nội dung iheo sổ ánh \ạ dưực sinh
ra bởi mồi tên nội dune trong quá trinh phân bô thông lin. Anh xạ ơ đây dược tính là
tổng số tất cả các ánh xạ các loại mà node cân lưu trữ như ánh xạ khóa phân bò va
tên nội dung, ánh xạ khóa thứ cấp các bậc khác nhau, ảnh xạ khônu phô biên \ à ánh
xạ đặc biệt. Có hơn 65% số tên nội dung sinh ra ít hon 32 ánh xạ theo giai thuật phân
bồ SM AV. Số tên nội dunti sinh ra nhiều hơn 77 ánh xạ chiếm khoang 10% tông số
tên nội dune. Đây là số tên nội dung chứa nhiêu cặp thuộc tínlvgiá trị. trong đó có
nhiều cập thuộc tính/aiá trị phổ biến. Kết qua mô phong cũng cho thấ> trung bình
mồi tên nội dunc thônu tin sinh ra khoang 30 ánh xạ.
T h u i y i« , .
xử lý 1 truy
ván theo
cách thõng
thướng
-Thời gian I
xử lý 1 truy I
ván theo 1
SMAV
1001 2001 3001 4001
T h ử h ạ n g cua các câu tru y v ẩn th e o th ờ i g ian x ừ lý
5001
Hình 11: Thời gian truy vân
Khi xư lý 5.000 câu truy vấn trong mạng mỏ phong nói trôn, chúng tôi tiến hành đo
thời gian trung binh để xứ lý 1 câu truy vấn theo cách iruỵ vấn bình thường \'à tlĩeo
giảrthuật SMAV. Thời gian xứ Iv 1 truy vấn được tính băng cách lây tông thời gian
thăm dò số lượng khi thực hiện truy vấn và ihời gian chuỵẻn tiêp câu truy vân tởi
node dích. Với cách thức hoạt độnij, cua SMAV. cân nhiêu thời gian hơn khi xư lý
query so với phương pháp phân bô dữ liệu thông thường, vi trong giai thuật SMAV

có Ihể phủi thực hiện truy vấn tới các khóa thứ câp. ru_\ nhiên, dô thị cho thâ\ . khi
xét với 5.000 truy vấn khác nhau và node thực hiện tru> vân dược chọn ngâu nhiC'n
í '
CỒ rSO rất nhỏ tr u y vanĩHẽoSM 7tV'co thời gian truv \-ãn lơ!i h(m thơi gian lru>' van
theo D HT thône thường. Trung bình thời gian truy \ ân theo DHT bình thường chính
bằng thời gian tìm Successor cho 1 khóa k và trong mỏ phong là 6.7, Trong khi theo
SM AV trung bình giá trị nà>- là 8.1.
4. Kết luận
E)ề tcài đã tập trung nghiên cứu các vấn đê sau:
- rìm hiêu các giai pháp tim kiếm thông tin trên mạng ngang hàng
- De xuat một giai pháp tìm kiếm thông tin theo thuôc tính/giá trị trên mạng ngang
liàng cỏ câu trúc , X . . . ; ;
- Danh giá giíii pháp đề xuất dựa trên mỏ phong. Kẻi qua cho thây giai pháp đê xuàt
đạt được độ càn bănu tốt \ à chi phí phân bô \ à_tru> \ ấn * ô n g tin là hợp lv._
HiaViìg phát triên tiếp theo cua đỏ tài bao gồm;
- Dáiìỉi ‘Má tỉiai pháp dựa trên mò hình gia lập Inlcrnet
24

×