1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng ứng dụng tìm kiếm thông tin dựa trên giao thức mạng ngang hàng có cấu trúc

62 613 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 24 MB

Nội dung

Tìm kiếm thông tin tro n g m ạn g ngang hàng có cẩu trúc được thực hiện bàng 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.. C D S

Trang 2

M Ụ C L Ụ C

D A N H SÁ CH NH U'N G N G Ư Ờ I T H A M G IA T H Ự C H IỆN Đ Ề T À I 3

D A NH M ỤC C Á C B Ả N G B IÈU , HÌN H V Ê 4

TÓ M TẮ T C Á C K Ế T Q U Ả N G H IÊ N cửu C H ÍN H C Ủ A Đ Ề T À I 5

BÁ O C Á O T Ồ N G K É T 7

1 Giới thiệu c h u n g 7

2 Các công cụ tìm kiếm thông tin trên In te rn et 8

2.1 Các dịch vụ tìm kiếm thông tin W eb 8

2.2 M ạng ngang hàng có cấu trúc và việc tìm kiếm thông tin dự a trên m ạng ngang hàng có cấu trú c 9

3 Thiết kế hệ thống tìm kiếm thông tin sử dụng công nghệ m ạng ngang h à n g 12

3.1 M ục tiêu thiết k ế 12

3.2 Ý tưởng cùa thuật toán tìm kiếm thông tin 13

3.2.1 Á nh xạ tên nội dung-khóa và Phân bổ nội d u n g 15

3.2.2 Truy vẩn thông t i n 16

3.3 V ấn đề tối ưu hóa to p o lo g y 17

3.4 Thiết kế chư ơ ng trình phần m ề m 19

3.4.1 C ấu trúc chương trìn h 19

3.4.2 T hiết kế giao th ứ c 24

3.5 T riền khai v à đánh g i á 25

4 Kết l u ậ n 27

TÀI LIỆU T H A M K H À O 29

PHỤ L Ụ C 31

Trang 3

DANH SÁ C H N H Ũ N G N G Ư Ờ I T H A M GIA T H Ụ C HIỆN ĐỀ TÀI

3

Trang 4

DA N H M Ụ C C Á C BẢ NG BIẾU, HÌNH VẼ

H ình 1 Kiến trúc lưu trừ - truy vấn th ò n e tin cùa G o o g le 9

H ình 2 Đ ịnh tuyến trong m ạng C h o rd 10

H ình 3 K hóa phân bổ và ánh xạ giữa khóa phân bồ và khóa bậc 2 16

H ình 4 Sơ đồ truy vấn th ô n g t i n 17

H ình 5: B iểu đồ thời gian trễ trung bình thay đổi theo số lượ ng n o d e 19

H ình 6 C ấu trúc khu n g ch ư ơ n g trin h 20

H ình 7 M odule D a ta S to re 20

H ình 8 Q uá trìn h gửi v à nhận thông báo cùa m odule M e ssag eH an d ler 22

H ình 9 C ác bướ c gia nhập m ột m ạng đ ã có cùa m ột node m ớ i 23

H ình 10 C ập nhật bảng định tu y ế n 24

H ình 11 M àn hình khời tạo m ạng C hord và các tham số cùa m ạng C h o r d 26

H ình 12 M àn hình nhập d ừ liệu vào hệ th ố n g 26

H ình 13 M àn hình nhập d ừ liệu tìm k iể m 27

Trang 5

T Ó M T Ắ T C Á C K Ế T Q U Ả N G H I Ê N c ú t ) C H Í N H C Ử A Đ Ề T À I

Têt (tề tài: Xây dự ng ứng dụng tìm kiếm thông tin dựa trên giao thức m ạng ngang hàng có

cấu trúc

M ãsố đ ề tài: Q C 09.12

C h i trì đo tài: T S N g u y ễn Hoài Sơn

Đen vị công tác: Bộ m ôn M ạng và Truyền thông m áy tính, K hoa C ô n g nghệ th ô n g tin,

T riờ iìg Đại học C ông nghệ - Đ H Q G H à Nội

Các bộ tham gia thực hiện:

raging hàng và cách thức tìm kiếm thông tin dựa trên công nghệ m ạng ngang hàng có cấu trúc

- Kày dựng m ột hệ thống tìm kiểm thông tin theo thuộc tính-giá trị dự a trên công nghệ m ạng mgtng hàng có cấu trúc

- <ây di,mg m ột giải pháp cải thiện độ ư ề trên m ạng ngang hàng có cấu trúc

- 1 bài báo cáo khoa học đăng trong kỳ yếu hội thảo quốc tế: H ội thảo quốc tế K SE 2009 và Hội

KÌt quá đào tạo:

5

Trang 6

- Có ] thạc sỹ (chư ơ ng trình ] 6/23) và 3 cừ nhân tốt nghiệp trong khuôn khò cùn dề tài

kiếm thông tin trong m ạng ngang hàng

Trang 7

BÁO CÁO TỐNG KÉT

1 Ctiói thiệu chung

Tốc độ phát triển nhanh chóng cùa Internel như hiện nay đã tạo ra cho chúng ta m ột cơ hội

lớ n và cũ n g là m ột thách thức lớn trong việc sử dụng các tài nguyên Internet trong các ứng đụn> x ử lý thông tin quy m ô lớn, cũng như cung cấp dịch vụ cho người dùng m ọi nơi, m ọi lức phù hợp với môi trường, hoàn cảnh và m ong m uốn cùa người dùng Các tài nguyên này

b a o gồm các tài nguyên m áy tính như C P U , bộ n h á ổ lưu t r ừ , 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 C S D L lưu trừ thông tin, các dịch vụ dự atrê t nền W eb Để khai thác và sử dụng các tài nguyên này m ột cách hiệu quà và hợp lý,viiội tìm kiếm và quán lý thông tin các nguồn tài nguyên này là m ột vấn đề rất quan trọng Híiệi nay việc tìm kiếm thông tin trên m ạng chủ yếu dựa vào các Search engine thương m ại nlhi G oogle, Y ahoo, M SN , C ác Search engine này duy trì m ột database d ừ liệu khổng lồ,

t ậ p h ự p từ rất nhiều W ebsite trên toàn thế giới Việc tìm kiếm thông tin trên các Search

em gne hiện nay kết quà khá tốt T uy nhiên các Search engine này chi cho phép tìm kiếm các

Víăr bản chứa từ khóa hoặc cụm từ khỏa cần tìm , nhưng không ch o phép tìm kiếm theo thuộc

tíml của các từ khóa này N goài ra do quy m ô quá lớn của dữ liệu nên kết quả trả về của các Steach engine thư ờ ng bao gồm rất nhiều thông tin không liên quan

T ại V iệt N am , cùng với sự bùng nổ cùa công nghệ thông tin và với chù trương tin học hóa CIÚ; chính phù, tin học đã được đư a vào rất nhiều đơn vị cơ quan nhà nước cùng như trư ờng htọc bệnh viện Đ iều đó dẫn đến việc rất nhiều cơ quan đoàn thể công ty có nhu cầu ch ia xể thiôig tin cho nhau Ví dụ thông tin về sách lưu giữ tại các thư viện trên toàn quốc, các giáo trim , giáo án và tài liệu nghiên cứu cùa các trường, các văn bàn lưu hành cùa các cơ quan nlhi nước, hồ sơ bệnh án của các bệnh viện, cơ sở dữ liệu trong các c ơ quan nhà nước trong

thiôig tin là lớn và được cập nhật thư ờ ng xuyên Do đó, để truy cập các thông tin này m ột ciáci hiệu quả và tiện lợi, m ột công cụ tìm kiếm thông tin là hết sức cần thiết

T ’u' nhiên, việc sừ dụng các địch vụ tìm kiếm như các Search E ngine không thích hợp với V'iệ tìm kiếm này do khà năng cập nhật thông tin có hạn cùa các Search Engine V iệc xây diựig m ột hệ thống tìm kiếm tập trung cùng không phù hợp do chi phí cao trong việc xây dlựig và duy trì hệ thống và m áy chủ lưu giữ thông tin sẽ dễ trở thành điểm yểu của hệ thống Gìầi đây cô n g nghệ m ạng ngang hàng với các ưu điểm về khả năng triển khai m ờ rộng trên qịu m ô lón, chị phí thấp do sử dụng các tài nguyên sằn có, có độ linh hoạt cao như khả năng cihu lỗi tố t phù hợ p với các tính chất cùa Internet Các ứng dụng chia xẻ file dự a trên m ạng nig.ng hàng đã được nhiều người dùng trẽn thế giới sừ dụng và phổ biến rộng rãi

7

Trang 8

Tuy nhiên, các m ạng ngang hàng thời kỳ đầu được xây dựng theo kiểu không có cấu trú<c, các liên kết giữa các node trong m ạng là ngẫu nhiên và các thông báo tìm kiếm thônn Ún được phát tràn trên m ạng Do đó, m ặc dù các m ạng này có khả năng kháng lỗi tốt các m ạng này có xác suất tìm kiếm không cao và sừ dụng nhiều băng thông, hiệu quà tìm kiếm thắp Các giao thức 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 (D istributed Hash T able - D H T ) khấc phục nhược điểm này 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 C hord) hay không gian n-chiều (giải thuật CA N ) 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 trưng cùa nội dung thòng tin (aọi là tên nội dung) và sẽ được phân bồ đến node phụ trách khóa k N ghiên cứ u về việc

sừ dụng m ạng ngang hàng có cấu trúc trong việc tìm kiếm và quán lý thông tin tài nguyên Internet đã được tiến hành trong khuôn khổ của đề tài nghiên cứu khoa học do trư ờng quàn

lý cấp Đại học Q uốc gia Q C 07.19

Trên cơ sở đó, đề tài này sẽ tập trung x ây dựng th ử nghiệm m ột công cụ tìm kiếm thông till

sử dụng giao thúc m ạng ngang hàng nhàm đánh giá tiềm năng ứng dụng công nghệ m ạng ngang hàng trong tìm kiếm thông tin và khà năng triền khai công nghệ này trong thục tế

C ông cụ này sẽ góp phần chia xẻ và tìm kiếm ihông tin cho các hộ thống thông tin cua các

cơ quan, đơn vị hay các công ty với m ột chi phí hợp lý

2 Các công cụ tìm kiếm thông tin trên Internet

2.1 Các dịch vụ tìm kiếm thông tin W eb

G oogle[19), Y ahoo [20], B ing [21] là các dịch vụ tìm kiếm thône tin trane; W eb phô biến nhất hiện nay Các dịch vụ này cho phép người dùng tìm kiếm địa chi cua các trang W eb theo từ khóa tìm kiểm T heo các con số thống kê không chính thức thì số lượng W ebsite được tạo chi m ục bởi G oogle lên tới hàng chục tỷ với số lượng truy vấn đến hàng tý mọi ngày và hiện nay vẫn không ngừng gia tăng

Để đáp ứng việc lưu trữ m ột lượng dừ liệu khổng lồ và số lư ợ n a truy vấn thông tin rất lỏn thì G oogle sử dụng m ô hình tập trung với sự kết hợp của hàng chục nghìn m áv tính PC để thực hiện các khối chức năng như H ình 1 [18]

Trang 9

H ìn h 1 K iế n trú c lư u tr ừ - tru y v ấ n th ô n g tin c ù a G o o g leCác trang W eb đượ c m áy tìm kiếm của G oogle dow nload về và lưu tại các docum ent servers, mỗi d o cu m en t serv ers chứa m ột phần cơ sở dữ liệu các trang W eb Các từ khóa trong mỗi văn bàn W eb được sừ dụng để tạo ra index cho văn bản w eb đó theo ihuật toán riêng cùa

G oogle Do kích th ư ớ c cùa d ữ liệu index lên đến hàng trăm terabyte nên dừ liệu index sẽ đượ c ch ia thành các phần index, m ỗi phần sao lưu trong nhiều index servers

V iệc phân chia và sa o lưu d ữ liệu index cùa toàn bộ các trang W eb lên các index server giúp cho việc tìm kiểm thông tin trang W eb có thể diễn ra m ột cách đồng thời tại nhiều index server và khắc phục sự cố trong trư ờng hợp có các index server bị lỗi

G o ogle cũng như các m áy tìm kiếm khác cỏ các cơ chế xếp hạng thứ tự kết quà tìm kiếm , ví

dụ theo thuật toán P ageR ank tính toán căn cứ vào các liên kết W eb giữa các trang W eb

M ặc dù các m áy tìm kiếm được sừ dụng rộng rãi và góp phần vào việc phát triển hệ thống

W W W toàn c ầ u như ng với các ứng dụng đòi hòi phạm vi tìm kiếm thu hẹp, dữ liệu đa dạng

v à dư ợ c cập nhật liên tục, nội dung truy vấn cần đượ c m ô tả m ột cách chính xác hơn để tăng

đ ộ chính xác củ a kết quả tìm kiếm , thi việc sử dụng các dịch vụ tìm kiếm do các m áy tìm kiếm cu n g cấp là rất khó khăn

V iệc xây dự ng hệ th ố n g tìm kiếm sừ dụng các m ô hình tìm kiếm thông tin m ột cách tập trung giông n h ư m ô hình cù a các m áy tìm kiếm W eb cũng gặp vấn đề về chi phí vận hành

d o phải dầu tư về tran g thiết bị, chi phí quản lý và khả năng duy tri dịch vụ khi các m áy tìm kiếm gặp lỗi, không cung cấp được dịch vụ

2.2 M ạng ngang hàng có cấu trúc và việc tìm kiếm thông tin dựa trên mạng

n gan g hàng có cấu trúc

M ạ n g ngang hàng với các node cùng chia sẻ thông tin, băng thông và tài nguyên tính toán là

m ộ t m ô hình m ạng ra đời trong khoáng 10 năm gần đây nhưng được sự chú ý cao do khả

n ăn g m ờ rộng cù a hệ thống, khả năng sừ dụng hiệu quá tài nguyên cùa các bên tham gia và

9

Trang 10

khá năng kháng lồi cao C ác node trong m ạng ngang hàng thuần túy tạo ra các liên kết logic với nhau và thông qua các liên kết logic này để trao đồi thông tin Tùy thuộc vào các th ứ c tạo các liên kết logic m à người ta chia m ạng ngane hàng thuần túy thành 2 loại: Mạrm n g ang hàng có cấu trúc và M ạng ngang hàng không có cấu trúc T rong đề tài này chúng tôi tập trung nghiên cứu triển khai dịch vụ tìm kiếm thông tin dựa trên m ạng ngang hàr.g có cấu trúc do tính hiệu quả trong việc định tuyến các thông báo tìm kiếm , khả năng mơ rộng và đám bâo tính khảng lỗi.

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 (D istributed H ash Table - D H T) để 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 C hord[5], giải thuật Pastry[6]) hay không gian n-chiều (giãi thuật

C A N [7Ị) M ỗi node trong m ạn g phụ trách m ột phần cùa không gian 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 ạng ngang hàng có céu trúc có địa chi là m ột khóa k và sẽ đượ c định tuyến đến node phụ trách khóa k này dự a tr ê i các liên kết trong không gian khóa c ủ a các node

Ví dụ với giao thức C hord, 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 duy trì các liên kết đến các node ở cách nó những k h oảng :ách nhất định trong không gian khóa C ác liên kết này tạo nên báng dịnh tuyến (gọi là B ảng finger) ở mỗi node M ột thông báo tro n g m ạng C hord sẽ được định tuyến dựa vào bàn g finger tại mỗ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 cù a ỉia o thức Chord

Trang 11

Giài thuật D H T cho phép xâv dựng m ột m ạng ngang hàng với khả năng m ờ rộng cao, hiệu qua trong việc định tuyến các gói tin thônu báo và có dộ kháng lỗi tốt Ví dụ với giao thức

C hord, so lượng liên kết với các node khác m à mỗi node phải duy trì là O (logN ) và chi phí

đ e định tuyến m ột th ô n g báo là O (logN ) hops với N là số node tham gia m ạng

Trong m ạn g n g an g 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 ộ: file hoặc m ột ánh xạ Éỉiữa tên file và địa chỉ m áy tính có chứa file) vào m ạng bàng cách

tạ o k h ó a k là g iá trị băm của m ột đặc trưng của nội dung thông tin (gọi là tên nội dung) Nội dur.g th ô n g tin sau đó sẽ đư ợ c phân bố đến node phụ trách khóa k thông qua việc định tuyến theo giải thuật D H T

Tìm kiếm thông tin tro n g m ạn g ngang hàng có cẩu trúc được thực hiện bàng 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

N ode phụ trách kh ó a k sẽ trả về kết quà tìm kiếm nếu có

S o với cách thức tim kiếm th ô n g tin trong m ạng ngang hàng không có cấu trúc, việc tìm kiếm th ô n g tin tro n g m ạng ngang hàng có cấu trúc được thực hiện với chi phí ít hom rất

n h iiu do số th ô n g báo tối đa cần gửi chỉ là O (logN ) thông báo N goà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

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 tìm

k i ế n nân g cao n h ư tìm kiếm theo khoảng [] 1,12], tìm kiếm theo các giá tri thuộc tính [13­

1 6 Ị, tìm kiếm gần đú n g [12], .Đ ã cỏ nhiều nghiên cứu về tìm kiếm thông tin trên m ạng

a g in g hàn g có cấu trúc nhàm tìm giải pháp nâng cao khả năng tìm kiếm đồng thời đảm bào tinh hiệu quà cũng n h ư khả năn g m ờ rộng cùa hệ thổng

IN S /T w ine[13] đ ư a ra m ô hình hệ thống tên m iền dịch vụ xây dựng trên m ạng ngang hàng C'ó cấu trúc với tên m iền dịch vụ là m ột cây thuộc tính/giá trị phân tầng M ỗi tên m iền dịch

I'N S/Tw ine hỗ trợ tìm kiếm theo từ ng phần ứng với các nhánh của tên m iền, nhưng việc tìm lciếm sẽ không thự c hiện được với các truy vấn không thuộc các nhánh cùa tên m iền N goài r;a, hộ th ố n g IN S /T w ine khô n g đàm báo tính cấn bằng tài giữa các node do các no d e phụ tĩrá:h các gia trị-th u ộ c tính phổ biến sè phải chịu tải về lưu giữ dữ liệu và truy vấn lớn

G ũ i pháp C D S [14] cũng sử dụ n g các cặp thuộc tín h/giá trị để định danh nội dung cần chia x.é T uy nhiên, khác với IN S /T w ine C D S tạo nhiều khóa cho m ột nội dung từ m ỗi cặp giá tĩrị-thuộc tinh trong tên m iền và phân bồ thông tin về nội dung đến các node phụ trách các k.h)a đó N h ư vậy, khi truy vấn nội dung, C D S chi sử dụng m ột cặp giá trị-nội dung để tạo k;h)a truy vẩn và tru y vấn đ ến node phụ trách khóa đó CD S cũng đề ra giài pháp tạo M a tirậi C â n b à n g Tải (L oad B alancing M atrix - LB M ) để giải quyết vấn đề cân bằng tải Tuy rnhên già) pháp C D S tạo nhiều dư thừa trong việc quản lý LBM cũng như dư thừa tro n g lưu

g i i d ữ liệu v à truy vấn

11

Trang 12

G iải pháp D ata ỉndexing[15Ị tạo các khóa phân bồ từ các nhánh từ node ngọn tới node gố'c của cây m ô tả dữ liệu và lưu giữ ánh xạ giữa các khóa phân bổ này tại các node phụ tmclh các khóa phân bổ của m ạng ngang hàng có cẩu trúc Giải pháp này cho phép lưu giữ Lhõriíe tin với số lượng bản sao nhò, tuy nhiên chí phí tìm kiếm th ô n s tin sẽ rất lớn do phái thự'c hiện nhiều truy vấn từ node ngọn tới node gốc.

T rong nghiên cứu [16], các tác già đề xuất giải pháp lựa chọn các khóa phàn bồ sao ch o s ố lượng nội dung phân bồ ứng với mỗi khóa phân bồ nằm trong m ột giớ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ũng như số lượng nội dung thông tin gán cho m ỗi khóa nhưng không cho hiệu quã cao trong tìm 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 Thiết kế hệ thống tìm kiếm thông tin s ử dụng công nghệ mạng ngang hàng 3.1 Mục tiêu thiết kế

H iện nay các m áy tìm kiếm thông tin trang W eb như G oogle, B i n g , đã có Ihể đáp ứng tốt các yêu cầu tìm kiếm trang W eb theo từ khóa Tuy nhiên, với các yêu cầu tìm kiếm nâng cao trong phạm vi hẹp, cách thức biểu diễn dữ liệu đa dạng, tốc độ cập nhật thông till nhanh v à

có các yêu cầu về bào m ật thì các m áy tìm kiếm thông tin trang W eb sẽ không đáp ứng được E)ề tài này sẽ xây dựng th ừ nghiệm m ột công cụ tìm kiếm thông tin sử dụng cô n g nghệ m ạng ngang hàng cho các đơn vị, doanh nghiệp có thông tin lưu trữ phân tán ở nhiều nơi C ông cụ này sẽ được cài đặt trên các m áy tính chứa th ô n g till phàn tán Các m áy tính sau khi được cài đặt công cụ sỗ trờ thành m ột node trong m ạng ngang hàng và cung cấp dịch vụ index cho việc tim kiếm thông tin Để tim kiếm thông tin thông háo chửa câu truy vấn thông tin Sc được gửi vào m ạng ngang hàng và sau khi truy vấn, m ạng ngang hàng sẽ trả về Ihông tin được tìm kiếm thông qua dịch vụ index

M ột ví dụ cho việc triển khai công cụ này là Bộ công an với cơ sở dữ liệu phân tán về thòng tin của các phương tiện giao thông Với giả thiết việc quàn lý các phương tiện giao thông sè

do công an các quận, huyện thực hiện, mồi m ột quận huyện sẽ có m ột máy chù lưu trữ thông tin về các phư ơ ng tiện giao thông trên địa bàn quàn lý Các thông tin sẽ có các thuộc tính vù giả trị về kiểu xe, phiên bàn nhà sàn xuất, ngày sàn xuất, m àu sắc biển kiềm soát, chủ S(y hữu, C ông cụ tìm kiếm cài đặt trên các m áy chù lưu trừ th ône tin sẽ giúp cho công an trên toàn quốc cỏ thể tra cứu thông tin phư ơ ng tiện theo các thuộc tính giá trị m ột cách nhanh chóng và chính xác, với các thông tin được cập nhật thường xuyên

M ột ví dụ khác là thông tin về sách báo tạp chí trong các thư viện trên toàn quốc G iả thiết, mồi thư viện có m ột m áv chù quàn lý thôim tin về sách báo tạp chí trong thư viện cùa m inh Các thòng tin này bao gồm tên sách, nhà xu ất bàn tác già, thể loại sách C ông cụ tìm kiếm cài dặt trên các m áy chù lưu trừ thông tin sỗ giúp cho các cán bộ tlnr viện hoặc người đọc tìm kiếm thông tin về các sách có trong các thư viện khác để cỏ thế m ượn, dọc từ xa

N hư vậy, công cụ tìm kiếm sẽ phải thỏa m ãn các yêu cầu:

Trang 13

- 1'hông tin dược m ô tả theo thuộc tính giá trị

- T in kiếm thông tin theo thuộc tính giá trị m ột cách hiệu quả

- Co k h á năng kháng lồi khi node rời m ạng

- Cíp nhật và tìm kiếm thông tin m ột cách nhanh chóng

- G a o diện tiện lợi, dề dùng, dễ m ờ rộng các chức năng

- Co k h ả năng vư ợ t tư ờ ng lửa, có chức năng xác thực người dùng

- D: d à n g tích hợ p vào các hệ thống lưu trữ dữ liệu đâ có sẵn

Do h ờ i gian và kinh phí thực hiện, đề tài chi xây dựng phần m ềm để thực hiện ba yêu cầu đáu tiê n C ác yêu cầu khác sẽ được bổ xung vào phần m ềm trong các đề tài nghiên cứu tiếp thct h<oặc khi phát triển phần m ềm trên thực tế

Mặc k h á c , trong các m ạng n g ang hàng có cấu trúc các node liên kết với nhau dựa trên định đani c ủ a node th eo thuật toán bàng bãm phân tán m à không phụ thuộc vào topology ở tầng mạrg Tuy nhiên, khi triển khai m ạng ngang hàng có cấu trúc trên thực tế, việc tối ưu hóa topdo’gy cho phù h ọ p với topology ở tầng m ạng là quan trọng N ó giúp cho việc cải thiện thờigiian trễ khi định tuyến các thông báo và giúp giảm thời gian tìm kiếm T rong đề tài này, chủig tôi cũng đ ư a ra giải pháp tổi ưu hóa topology m ạng khi m ột node gia nhập m ạng đề

g iàiq u y ế t vấn đề này

3 2 Ỷ tưởng của thuật toán tìm kiếm thông tin

Troig hệ th ố n g tìm kiếm cùa chủng tôi, các m áy tính chứa d ữ liệu sẽ trở thành các node than g ia vào m ột m ạng ngang hàng với cấu trúc không gian khóa ào M ỗi node sẽ phụ trách

m ộiplhần khô n g gian khóa ào v à tạo các liên kết với nhau theo giải thuật Bảng băm phân tán ( D I T ) T hông báo sẽ đượ c định tuyến theo khóa đến node phụ trách khỏa dự a trên giải thuật DHT

T roig giải pháp c ù a chúng tôi, m ỗi nội dung thông tin sẽ được định danh bởi m ột tên nội dun> ichứa các cặp thuộc tín h /g iá trị m ô tả nội dung thông tin Việc sử dụng các cặp thuộc tínHg:iá trị đám bảo cho khả năng biểu diễn nội dung thông tin được chính xác và dễ dàng thôig qua khả năn g biểu diễn n g ữ n g hĩa cùa các giá trị thuộc tính trong tên nội dung Ví dụ

nh i tê n nội du n g thông tin về m ột cuốn sách có thể được biểu diễn như dưới đây

(têỉ Siách=” A ” , tác giả= ” B ”,nhà xuất bản= ” C \ năm phát h à n h - ’D” , giá = “E ” , phân loại =

“ F ’l

troig đó các th uộc tính đã đượ c định nghĩa trước

T ru ' v ấ n thông tin sẽ dự a trên các cặp thuộc tính/giá trị trong đó câu truy vấn sẽ chứ a m ột tậpcáic cặp thuộc tính/giá trị cần truy vấn Kết quả tìm kiếm trả về sẽ là các nội dung thông tin 'ớ*i tên nội d u n g có chứa các cặp thuộc tính/giá trị cần truy vẩn Ví dụ như truy vấn sau: (tá tg :ià = ’'B ’\ n h à xuất b àn= ”C ’)

sỗ trm kiếm nội dung thông tin về sách cùa tác giá B được xuất bản bời nhà x u ấ t bản c , hay tru; vấn :

13

Trang 14

(n h à xuất bản= ”C ” ,phân loại = "F ” )

sẽ tìm kiếm nội dung thông tin về sách thuộc phân loại F cúa nhà xuất bàn c

N ội dung thông tin sẽ bao gồm các thông tin chi tiết liên quan đến thông tin N ếu thỏniỉ tim

là file dừ liệu thì nội dung thông tin có thể là đường link đến nơi lưu giữ file d ừ liệu đó

v ề c ơ bản khi có m ột thông tin được ch ia sè, thông tin đó sẽ được phân bồ đến m ột so node trong m ạn a ngang hàng Để làm được điều đỏ mỗi cặp thuộc tinh/giá trị trong tên nội dun«

sẽ được ánh xạ vào m ột khóa bằng cách áp dụng m ột hàm băm nhất quán n h ư SH A Nội dung thông tin sẽ đượ c phân bổ đến các node phụ trách các khóa tư ơ ng ứ ng với các cặp AV trong tên nội dung N hư vậy, m ột node phụ trách khóa k ứng với m ột cặp AV nào đó sẽ lưu trữ tất cả các nội dung thông tin có tên nội dung chứa cặp AV đó Khi tìm kiếm thông tin

ch ứ a m ột số cặp AV cần tìm , câu truy vấn sẽ được định tuyến đến m ột trong các node phụ trách khóa ứng với m ột trong các cặp AV cần tim N ode này sỗ tim kiếm trong c ơ sờ dừ liệu của nó v à trả về các nội dung thông tin có chứa các cặp A V cần tìm kiếm

Tuy nhiên m ột vấn đề lớn ở đây là có các cặp AV phồ biến, xuất hiện trong các tên nội dung khác nhau Khi đó, các node phụ trách khóa tương ứng với các cặp AV này sẽ phải chịu tài lớn V í dụ như với d ừ liệu về các p h ư ơ n g tiên giao thông, node phụ trách k h ó a tươ ng ứng với cặp AV (m àu = “đò") sẽ phái liru toàn bộ các nội dung thông tin về xe m áy có m àu đỏ

Vì vậy, cần có giải pháp tránh tình trạng qu á tải cho các node phụ trách các kh ó a phổ biến

G iải pháp của chúng tôi là, m ỗi node chỉ lưu m ột số lượ ng nhất định các nội đung thông tin

tư ơ ng ứng với m ột khóa phân bổ bàng việc sử dụng hai hay nhiều hơn cặp A V có trong tên nội đung để tạo khóa phân bồ K hóa phân bổ tạo ra từ hai hay nhiều hơn hai cặp AV sẽ được

sừ dụng khi số lượng nội dung thông tin ứng với khóa tạo ra từ 1 cặp AV vượt qua m ột giá trị ngưỡng nhất định (gọi là khóa phổ biến và cặp AV phổ biển) M ột khóa đượ c gọi là khóa

có bậc n nếu nó được tạo ra từ n cặp AV

N goài ra, khi m ột khóa có bậc n với n > 2 được sử dụng làm khóa phân bổ thì ánh xạ giữa

k hóa phân bồ này với các khóa có bậc 2 tương ứng sẽ đượ c lưu tại node phụ trách khỏa bậc

2 Đ iều đó đảm bảo 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 ăng chứa thông tin cần tìm m ột cách nhanh chóng

G iải pháp này có các ưu điểm :

- V ới các cặp AV không phổ biến, do số lượng nội dung thông tin gán vào m ỗi cặp AV đó không lớn nên chúng sẽ được lưu tại m ột node và truy vấn đến các cặp AV không phổ biển này sẽ chì cần thực hiện trên m ột node với mồi truy vấn Đ iều này đàm báo cho tính hiệu quả trong việc tìm kiếm

- V ới các cặp A V phổ biến, m ặc dù số lượng nội dung thông tin có tên nội dung chứa mồi cặp AV đó là lớn nhưng chúng sẽ được lưu tại nhiều node, s ổ lượng nội dung thông tin càng lớn thỉ số node lưu giữ thông tin càng lớn Điều này đám báo cho tính cân bằng tải của hộ

Trang 15

thổig Ngoài ra, việc sừ dụng ánh xạ giữa các khóa bậc 2 và các khóa bậc cao sỗ giúp thông bao tìm kiếm dược gừi đến các node chứa thông tin cần tìm kiếm m ột cách nhanh chóng.

- Vệc sứ dụng giao thức D H T trong việc phần bồ và tìm kiếm thông tin đảm bảo khả năng

mở 'ông (scalability) của hệ th ố n g , tính hiệu quả (efficiency) tro n g định tuyến gói tin và khả nảrụ chống chịu lỗi (fault tolerent) cho hệ thống m à chúng tôi đề xuất

Các m ục tiếp theo sẽ trình bày chi tiết cách thức ánh xạ khóa v à phân bồ nội dung cũ n g như cáci thức tìm kiếm thông tin tro n g hệ thống của chúng tôi

3.21 Ánh xạ tên nội du n g-k h óa và Phân bổ nội dung

Để iàm báo tính cân bằng tải g iữ a các node và tính hiệu quả và chính xác trong tim kiếm thôig tin, chúng tôi đề xuất giải thu ật ánh xạ tên nội dung-khóa và phân bổ nội dung sao cho

Tiế) theo, node phân bố nội du n g sẽ gừi thông báo tới các node phụ trách các khóa bậc ỉ

khớig Với m ột khóa bậc 1 k h ô n g phài là khóa phồ biến, node phân bổ sẽ gửi nội dung thôig tin đến node phụ trách kh ó a đó Với các khóa bậc 1 là khóa phổ biến, node phân bổ sẽ tạo ra các khóa có bậc lớn hơn 1 và gửi nội dung thông tin đến node phụ trách các khóa cỏ

b ậ tc a o và không phải là khóa phổ biến

V i ệ xác định các khóa phân bổ có bậc cao được thực hiện n h ư sau G iả sử khóa bậc (m -1)

là Ihóa phổ biến được tạo ra từ (m -1) cặp AV phổ biến

- Brớc 1 N ode phân bổ sẽ tạo các khóa có bậc m lừ (m -1) cặp A V phổ biến tương ứ ng với kh<a bậc ( m - 1) và m ột cặp A V phổ biến trong tên nội dung

- Brớc 2 N ode phân bổ sẽ gửi thông báo đến các node phụ trách các khóa bậc m xem các kh«a này là các khóa phổ biến h ay không Các khóa là không phổ biến sẽ trở thành khóa phai bồ cùa nội dung thông tin V ới các khóa bậc m là khóa p h ổ biến, nếu sổ cặp A V phồ biếi trong tên nội dung lớn hơ n m thì Bước 1 lại được lặp lại với các khóa này

T rm g giài pháp của chủng tôi, các cặp AV không phổ biến không được sừ dụng dể tạo khóa phai bổ bậc cao Đó là bời vì nếu trong câu truy vấn có cặp A V không phổ biến thì thông

15

Trang 16

báo truy vấn sẽ được gừi đến node phụ trách khóa tư ơ ng ứng với cặp AV này m à không cần

sử dụng đến khóa bậc cao tạo ra từ nhiều cặp AV

Khi truy vấn thông tin với các cặp AV phổ biến, các node truy vấn sẽ phải tìm các khóa phân bổ bậc cao đượ c tạo ra từ nhiều cặp A V phố biến để gửi thông báo truy vẩn ĐC' có thô tìm các khóa phân bổ bậc cao m ột cách nhanh chóng, khi phân bồ thông tin node phân bồ sẽ gứi yêu cầu lưu thông tin về ánh xạ giữ a khóa phân bổ bậc m và các khóa bậc 2 tạo thành từ

2 trong m cặp A V tư ơ ng ứng tới các node phụ trách các khóa bậc 2

H ình 1 m ô tả m ột ví dụ về m ột nội dung th ô n g tin có tên nội dung chứa 4 cặp AV p h ổ biến (ai,V i),(a2,V2),(a3,V3), (a4,V4) và 1 cặp A V không phổ biến (as.vs) Trong các khóa b ậc 2 đưực tạo ra, k i4, k2 3, k2 4, k34 là các khóa không phổ biến và k i2, k i3 là các khóa phổ biến T rong các khóa bậc 3 được tạo ra từ k)2 và k i3, k i24 và k i34 là các khóa không phổ biến và khóa k i2.í

ỈÍ3 4, k i2 4, k23 4 and k |2 3 4 Á nh xạ giữa khóa k i2 và k |2 4, k i2 và k i234 được lưu tại node phụ trách khóa k i2- Á nh xạ giữa khóa k|3 và k )3 4, k i3 và k i234 được lưu tại node phụ trách khóa k i3-

k,H<ai,v0

k2H(a2,v2)

k3H(a3,v3)

k4H(a4,v4)

ki2H(a,,V|,a2,v2)

H(a,,v,,33,v3)

-aì,ỴÌ)

H(aí,Vi, ' a3,v3)

Đe làm đượ c điều đó, node truy vấn sẽ tạo ra các khóa từ các cặp AV trong câu truy vấn sử dụng cù n g m ột hàm băm nhất quán n h ư khi phân bổ thông tin Sau đó, node truy vấn sẽ gửi

Trang 17

th ô ig báo đến các node phụ trách các khóa đề xác định khóa nào là khóa phổ biến T rong

trưcng hợ p tồn tại khóa không phổ biến, m ột thông báo truy vấn sẽ được gửi trực tiếp đến

n o te phụ trách kh ó a không phổ biến đó và node này sẽ tìm kiếm trong dữ liệu nội dung

th ô ig tin và trả v ề các nội dung th ô n g tin có tên nội dung chứa các cặp AV truy vấn

T ro ig trư ờ n g hợ p lất cà các kh ó a là khóa phổ b iến, node truy vấn sẽ chọn m ột trong các cặp

A V p h ổ biến tro n g câu truy vấn v à gửi thông báo truy vấn đến node phụ trách khỏa đó đề

n h ậ i các nội du n g thôrm tin cần tìm kiếm từ node này N ode truy vấn cũng tạo ra khóa cấp 2 bảrụ cách kết hợ p cặp AV vừ a chọn và m ột cặp A V phổ biến khác và gứi thông báo truy

v ấ r đ ế n node phụ trách khóa cấp 2 này

The q u ery n ode

N ode responsible

fo r the k e v KI

A q u ery n a m e Q ; II H Ẹ Ị ' resource name

Q-{A,VJ, i= l m j * check if each k e y is Q uery Kj ‘ matches Q

N ode resp o n sib le

nihều hơ n 2 cặp A V ) ánh xạ từ khóa cấp 2, đồ n g thời tương ứng với các cặp AV có chứ a

trroig câu tru y vấn T iếp theo, cá c th ô n g báo truy vấn sẽ được gửi đến các node phụ trách các kchia cấp cao này để tìm kiếm các nội d u n g th ô n g tin còn thiếu

3 3 Vấn đề tối ưu hóa topology

M a ig n g ang h à n g có cấu trúc sừ d ụ n g giải th u ật bàng băm phân tán (D H T - D istributed

H ỉsh T able) tạo nên m ột m ạng phù trên m ạng liên kết vật lý G iài thuật này định n g h ĩa liên kíế giữa các node m ạng trong m ạn g phủ theo m ộ t cấu trúc cụ thể, đồng thời xác định chặt

TQUNG ĨẦ M T H Ò N G TIN THỰ VIÊN

000600000ẮS

Trang 18

chỗ mồi node m ạng sẽ chịu trách nhiệm đối với m ột phần dừ liệu chia sè trong m ạng Mồii node đều được kết nối với m ột tập các node khác gọi là tập node láng giềng.

Chord là m ột giao thức của m ạng ngang hàng có cấu trúc với khòng gian địa chi m ộ t c h iề u dạng vòng M ạng ngang hàng cấu trúc C hord ngày càng thể hiện nhiều ưu điểm như k h ả năng m ở rộng, cân bàng tải, định tuyến, G iống n h ư những giao thức trên m ạng có cấu trú c khác, mỗi node trong C hord xây dự ng m ột bảng định tuyến giúp cho việc tìm kiếm th ô n g tin

giao thức C hord có nhiều ưu điểm như hiệu quà trong định luyến, có khả năng c h o n g lồi tố t khi có node rời m ạng [22]

Tuy nhiên, trong m ạng ngang hàng có cấu trúc nói chung và C hord nói riêng, quan hệ h àn g xóm của các node đượ c thiết lập m à không xem xét đến topo (topology) tầng dưới D ó c h ín h

là nguyên nhân gây ra sự sai khác giữa topo của m ạng D H T và topo m ạng liên kết vật lý (topology m ism atch) Đ iều này làm cho thời gian trễ khi truyền thông báo giữa các node v à chi phí truyền thông trong m ạng P2P tăng Y êu cầu đặt ra là làm sao để tối ưu m ạng p h ù khẳc phục sự khác biệt đó

Đề tài cùa chúng tôi đã đề xuất m ột phương ph áp mới đê giài quyết vấn đề nêu trên D ự a trên cấu trúc và định tuyến của C hord truyền thống, các node tham gia vào m ạng sẽ lựa ch ọ n

vị trí theo tiêu chí m à lại đó, node được chọn có thời gian trễ tới các node liền trước và liền sau là nhỏ nhất N goài ra, các enlry trong bảng định tuyến cùa node sẽ đượ c lựa chọn từ m ột tập node là lân cận của node được chọn theo giao thức C hord truyền thống Việc lựa ch ọ n này cũng d ự a trên tiêu chí thời gian trề nhỏ nhất, nhàm tiết kiệm chi phí đường đi c ù a các thông báo

Giải pháp sẽ được chia thành hai giai đoạn Đầu tiền, thực hiện lựa chọn vị trí g ia nhập

m ạng cho n ode m ới từ m ột tập các định danh, tiêu chí lựa chọn là thời gian trễ thấp nhất dếti

của node bị lỗi thời và cần được cập nhật lại, tiếp tục lựa chọn node đích trong lậ p chứa successor cùa khóa m ục tiêu tại liên kết i và các lân cận của successor đó Thời gian trễ tír node đang x ét tới các node trong tập lựa chọn nhỏ nhất là tiêu chí lựa chọn Chi tiết hai giai đoạn tối ưu như sau:

Lựa chọn vị trí tham gia m ạng

Khi node m uốn tham gia vào m ạng, thay vi cung cấp m ột dịnh danh duy nhất, ch úng ta sè cho phép m ột node chọn m ột trong m ột tập định danh Tập định danh này được sinh từ ham băm với đầu vào là thông tin node và tham số ngẫu nhiên do ứng dụng sinh ra Với m ỗi giá trị địa chì, tìm successor và predeccessor cho địa chi đó Thực hiện đo thời gian trề từ node đang xét đến hai node này, lấy giá trị thời gian nhò nhất đại diện cho địa chỉ đó được gọi là thời gian trễ đến hàn g xóm Đ ịnh danh được chọn sẽ có khoảng thời gian trề đến h à n g xóm

là nhỏ nhất

Trang 19

• T h ay đổi bảng định tuyến

S a u khí cho phép node tham gia vào m ạng, việc tiếp theo là xây dự ng bảng định tuyến cho

n o d e đó, dồng thời cập nhật bàng định tuyến cho các node khác N eu trong giao thức C hord tru y ề n thống, m ột node trong bàng định tuyến được xác định là node successor cùa định

d a n h (k + 2 i - l ) m od 2m thì trong giải pháp của chúnií tôi, node trong bàng định tuyến được

c h ọ n là m ột trong các node lân cận cùa node successor cùa định danh (k + 2 i- l) m od 2m và

là node có thời gian trễ đến node m ới tham gia m ạng là nhỏ nhất V iệc lựa chọn này sẽ làm gảảm độ trễ trong việc chuyển tiếp m ột truy vấn, thông báo

Ư u điểm của giải pháp của chúng tôi là đơn giàn, dễ thực hiện và m ềm dèo Giải pháp này klhông cẩn đến thông tin toàn cục cùa hệ thống m à chi dựa trên độ trễ giữa các node m à vẫn

in a n g lại hiệu qu à khá tố t, thể hiện trong các kết quả đánh giá bàng m ô phòng

19

Trang 20

H ìn h 7 M o d u le D a ta S to re

M odule này có nhiệm vụ lưu trữ, tìm kiếm và phân loại dừ liệu N ó giao tiếp vớ i rr.ộtí c ơ sở

d ữ liệu v à có các chức năng nhập k hóa/tên dữ liệu-dữ liệu, lấy dữ liệu theo khóa/tèn dãr liệu,

(H ìn h 5)

• Module MessageHandler

M odule M essageH andler đó n g vai trò quản lý việc gửi và nhận gói tin giữa các m oiuile của các node trong m ạng ngang hàng K hi m ột m odule m uốn gửi thône báo cho m ột m o d u le cùa

m ột node khác, nó sẽ gừi yêu cầu có chứa địa chỉ IP, cồng và dừ liệu cần gửi cho nnodule

M essageH andler M odule M essag eH an d ler sẽ có nhiệm vụ gửi gỏi tin m ột cách tin ttin cậy

Trang 21

đèn node đích Khi m odule M essage! ỉandler nhận được thông báo gửi đến, nó sẽ kiểm tra và xác định m odule nhận là gì Sau đó nó sẽ chuyển thông báo này cho m odule nhận.

C h úng tôi lựa chọn giao thức U D P đề đàm bào không phái tạo nhiều kết nổi giữa các node

T uy nhiên, trong các phiên bản tiếp theo cùa ch ư ơ n g trình, chúng tôi sẽ ng h iên cứu để thực thi việc truyền tin giữ a các node bằn g giao thứ c TC P

Đề đàm bào việc truyền tin tin cậy, ch ủng tôi sừ dụng kỹ thuật tính check sum kết hợ p với gừi lại gói tin trong trư ờng hợ p gói tin bị m ất, không nhận được (H ình 6) Khi m odule

M essag eU an d ler nhận được gói tin từ các m odule khác yêu cầu gừi gói tin, nó sẽ tạo ra

h eader riêng có chứ a trư ờng số thứ tự gói tin (m essage ID) và trư ờ ng checksum Khi m odule

M essag eH an d ler c ủ a bôn nhận nhận được gói tin, nó sỗ kiểm tra checksum và số th ứ tự cùa gói tin N ếu đúng bên nhận sẽ gửi trả lại gói tin A C K N ếu sai bên nhận sẽ gừi trà lại gói tin

N A C K N ếu m odule M essag eH an d ler của bên gửi nhận duợ c gói tin N A C K hoặc hết thời gian tim eout, m odule này sè gửi lại gói tin trong trư ờng hợp số lần gừi lại c h ư a vượt qu á giá trị ng ư ỡ n g nhất định

C ác chức năng cùa m odule M e ssag eH an đ ler được thực thi bởi m ột luồng riêng Khi có các

th ô n g báo nhận đượ c từ các node khác hay có kết quả gừi thông báo cho các node khác, các

th ô n g tin này sẽ đư ợ c gừi ch o các m odule khác dưới dạng sự kiện Đ iều đó giúp cho các chứ c nàn g khác cùa ch ư ơ n g trìn h đượ c hoạt động bình thư ờ ng m à không cần phải c h ờ việc gửi nhận thông báo kết thúc

21

Trang 22

(*ACK * 4 CO R R ECT CHECKSUM ? )

/NUM BER OF RETRIES

Các chức năng thực thi giao thức C hord m à m odule này thực hiện bao gồm :

với m ột node trong m ạng

gian nhất định

cập nhật danh sách các node liền kề

Các chức năng thực thi giao thức tìm kiếm bao gồm :

Trang 23

• Tạo khóa phân bổ từ các cặp AV trong tên nội dung và phân phối nội dung thông tin theo các kh ó a phân bô

Đ ịrh danh của các node được khởi tạo bàng cách áp dụng hàm băm nhất quán SH A vào cặp

đ ịa chi ( IP, cổng) c ủ a chư ơ ng trình M uốn tham gia vào m ột m ạng C hord cho trước, node

t h a n gia sẽ liên lạc với m ột bootstrap node và yêu cầu gửi lại định danh cùa node liền kề với

đ ịm danh của nó (su cceso r node) B ootstrap node sẽ lấy được thông tin định danh này dựa trê r các bảng định tuyến đã được thiết lập theo giao thức C hord tại các node đã có trên m ạng

N ode tham gia vào m ạng sẽ gửi yêu cầu gia nhập m ạng tới succesor node của nó Succesor noce này sẽ cập nhật thông tin của node mới gia nhập như là m ột node liền kề của nó

H ìn h 9 C á c b ư ớ c g ia n h ậ p m ộ t m ạ n g đ ã c ó c ủ a m ộ t n o d e m ớ iSìai khi m ột node gia nhập m ạng, nó sỗ cập nhậí thông tin về bảng định tuyến của nó Sau đló nó sẽ cập nhật lại bảng định tuyến theo chu kỳ nhất định V iệc cập nhật bảng định tuyến dlưrc thực hiện đ ơ n giản bằng cách các node sẽ tìm các node có định danh liền kề với các

dlaih) và cập n h ậ t th ô n g tin của các node này vào bảng định tuyến (H ình 8)

23

Trang 24

NQPE INTERMEDIATE NODES

{SELECT AN ENTRY}

FIND ENTRY ID SUCCESSOR

{UPDATE THE ENTRY SUCCESSOR INFO}

H ìn h 10 C ậ p n h ậ t b ả n g đ ịn h tu y ế nPhân bồ và tim kiếm thông tin được m odule N ode thực hiện theo thuật toán tìm kiếm m à chúng tôi đã đề xuất Khi cỏ nội dung thông tin cần phân phối cho các node khác, m odule

N ode sẽ tạo các thông báo và gừi cho m odule M essageH andler để yêu cầu chuyển cho node đích Tại node nhận được thông báo, căn c ứ vào kiểu thông báo và nội dung thông báo m à

m odule N ode sẽ gìri các yêu cầu truy vẩn hoặc yêu cầu lưu trữ d ừ liệu đến m odule

D ataStore

3.4.2 T hiết kế giao thức

T rong chươ ng trình của chúng tôi, mỗi node chì m ở m ột cồng U D P để lắng nghe các th ô n g bảo gừi đến từ các node khác D o có nhiều kiểu thông báo được gửi giữa các node nên các thòng báo sẽ cỏ định dạng chung là

Trang 25

- requestS tablizeN odeP redecessor: T ìm th ô n g tin c ù a node liền kề trư ớc (P redecessor node), sử dụng trong quá trình ồn dịnh m ạng

node)

pred ecesso r node

của pred ecesso r node

• Các th ô n g báo phân bổ và tìm kiếm d ữ liệu

3 5 Triển khai và đánh giá

C h ư ơ n g trình đã được xây d ự n g trên ngôn ngữ c # , với công cụ lập trình V isual Studio

C á c chức năn g đã thực hiện đượ c bao gồm :

tuyến

toán tìm kiếm đã đề ra

Hiệ thống tìm kiếm thông tin đư ợ c thự c thi bởi c h ư ơ n g trình này đã được kiểm nghiệm trên 8 ntode, 16 node thực, cho kết qu à tốt

D ư ớ i dây là m ột số giao diện c ù a c h ư ơ n g trình N hìn chung, các giao diện này còn đơ n giàn, c:hư a tiện lợi với người dùng và chư a tích hợp với các kiểu giao diện truyền thống như giao

25

Trang 26

diện W eb C húng tôi sẽ cải tiến giao diện chương trình cùng nhir tích hợp với các giao d iện truvền thống.

Syrtem lnforma(»on In ta l Find dd»a jj Vitual k>Q stae Mappingt

Suece**(y

47250tsso

1 L m v * J I Mass Insert I I MastQiJgiy I I Qiitffylnfo

>

H ìn h 11 M à n h ìn h k h ở i tạ o m ạ n g C h o rd v à c á c th a m s ổ c ủ a m ạ n g C hiord

Syitem Ịrếexmalion lrwettđ«ỉ« Frxá d«ỉ« Vuual log Data tta e Mappíngt

P-ooertteỉ book Hoa hoc t<it ỌkaNguy<inVanD.nxbOHQG.nafn»M»twr2Gl2

CiWfinJ y nong Irt iHu v«n

Ten OHQGHaNo.

Dt«cfc m X u a n T K u y CduGvay

D«n fho«i 0433333333333

H ìn h 12 M à n h ìn h n h ậ p d ừ liệu v à o h ệ th ố n a

Trang 27

Sysipmlrvofpiatwn |n í* ld d iô ^ Vuual log Daíatỉoíe Mapp^ợ*.

Contort

Propertwi

j 45891 585C7 84002

Content

T hong tin t h j vnon 1 hong trì ưu v*en

.Thong an t h j v ie ri Th on g t*> thu Tf-cng t n thu vw rv.'T iarcteCortem 27 ivrcteConeri 27 iflmoteConieni 27s&n

H ìn h 13 M à n h ìn h n h ậ p d ừ liệ u tìm k iế m

C h ư ơ n g trình này đã đượ c sử dụng và phát triển để xây dựng thử nghiệm hệ thống tìm kiếm

th ô n g tin theo vị trí dự a trên m ạng ngang hàng có cấu trúc và hệ thống truyền video stre a m in g trên m ạng ngang hàng có cấu trúc

4 Kết luận

Đ ề tài đã tập trung nghiên cứu các vấn đề sau:

- X ây dự ng m ột chương trìn h tìm kiểm thông tin theo thuộc tính/giả trị trên m ạng ngang

h à n g c ó cấu trúc dựa trên thuật toán đề xuất

- Dề xu ất m ột giải pháp tối ưu hóa topology cùa m ạng ngang hàng có cấu trúc Chord Ket

q u á m ô phóng cho thấy giải pháp này có hiệu quả trong việc giảm độ trễ định tuyến giữa các

n o d e tro n g m ạng Chord

H ư ớ n g phát triển tiếp theo của đề tài bao gồm:

kiếm thông tin nhanh chóng, giao tiép với giao thức TC P, các chức năng xác thực và hảo m ật

27

Trang 28

V iệc thực hiện đề tài đã thu được m ột số kết quả sau:

1 Ngoe Ben D ang, Son T ung V u and H oaison N guyen, “ B uilding a low -iatency, p ro x im ity -

aw are D H T-based P2P netw ork”, P roceedings o f T he First International C o n feren ce o n

K now ledge and System E ngineering (K SE), O ctober 2009

2 H oaison N guyen, T hanh Dat N guyen, Thi H ue Pham , “ SM AV : A solution for rcuiiltiple- attribute search on D H T -based P2P netw ork’' Proceedings o f T he 2009 In ternational

C onference O n A dvanced T echnologies for C om m unications (A T C /R E V ), O ctober 2 0 0 9

- M ột chương trình tìm kiếm thông tin theo thuộc tính giá trị dự a trên công nghệ m ạ n g ngang hàng có cấu trúc

01 thạc sỹ ngành C ông nghệ thông tin đạt trình độ quổc tế (16/23)

Inform ationSearching B ased On Structured P2P N etw orks

03 cừ nhân ngành C ông nghệ thông tin

applications based on structured pccr-to -p eer netv/o»rk

Trang 29

TÀI LIỆU TH A M K H Ả O

[ 11 “ N ap ster", http://w w w napsler.com

[2 ] “T h e G nutella w eb site” http://iznutella.vvego.com

[ 3 1 M R ipeanu , “ P eer-to-P eer A rchitecture C ase Study: G nutella N etw ork” , In Proceesings

o f the 1st IEEE Intem cational C onference in P eer-to-peer C om puting (P2P 2001), 2001 [4 ] B C ohen, “In centives build robustness in b itto ư e n t” , In 1st W orkshop on the E conom ics

0 f P eer-2-P eer S ystem s, B erkley, CA , June 5-6 2003

[:5] I Stoica, R M o ư is, D K arger, M F K aashoek, H B alakrisnan, “ C hord: A Scalable pieer-to-peer lookup service for Internet applications” , In P roceedings o f A C M

S IG C O M M ’O l, A u g u st 2001

[<6] A R ow stron and p D ruschel, “ Pastry: Scalable, distributed object location and routing f<or large-scale p e er-to -p eer system s” , In P roceedings o f IFIP/A C M International C onference

[7 ] S R atnasam y, p Francis, M H andley and R K arp, “ A Scalable C ontent-A ddressable

N e tw o rk ” , In P roceedings o f A C M S IG C O M M ’O l, A ug 2001

[<(8] w A djie-W inoto, E Schw artz, H B alakrishnan and J Lilley, “The D esign and

Im p le m e n ta tio n o f an Intentional N am ing S ystem s” , In P roceedings o f A C M S ym posium on

O p e ra tin g S ystem s P rinciples, Dec 1999

| ‘9] A C arzaniga, D R osenblum and A W olf, “ D esign and Evaluation o f a W ide-A rea

E v e n t N otification S ervice” , vol 19 no 3, A C M T ransactions on C om puter System s,

A \ugust 2001

1 10] I F oster, c K esselm an, J N ick s T uecke, "G rid Services for D istributed System

I integration", IEEE C om puter, vol 35, iss 6, June 2002

[ 1 l]H o a iso n N guyen, H iroyuki M orikaw a, T om onori A oyam a, “ SEN S: A Scalable and

E x p re ss iv e N am in g System for R esource Inform ation R etrieval”, IEỈC E T ransactions on

C o m m u n ic a tio n s, vol E 89-B , no 9, pp 2347-2360, Septem ber 2006

[ 12] A A bdrzejak and z Xu, “ Scalable, Efficient R ange Q ueries for G rid Inform ation

S e r v ic e s ” , In P roceedings o f the Second International C onference on Peer-to-P eer

C o m p u tin g , pp 3 4 -4 0 , 2002

[ 1 3 ] M B alazinska, H B alakrishnan, and D K arger, "IN S/T w ine: A Scalable P eer-to-Peer

A rc h ite c tu re for Intentional R esource D iscovery", In Proceedings o f International

C o n fe re n c e on P ervasive C om puting, A ugust 2002

[ 1 4 ] J G ao and p Steenkiste, "D esign and E valuation o f a D istributed Scalable C ontent

D is c o v e ry S ystem ", IE E E Journal on S elected A reas in C om m unications, January, January 22004

Trang 30

[15] L G a rc'es-E rice p.A Felber E w B iersack, G U rvov-K eller K.w R oss “ Data Indexing in P eer-to-P eer D H T N etw orks” , In Proceedings o f 24rd international C onference

on D istributed C om puting System s M arch 2004

[16] Y A rakaw a, H M inam i, M M atsuo, M Y am aguchi and H Saito, “D H T based Peer- to- Peer Search System using P seudocandidate Key Indexing", IEIC E T ran sactio n s on

C om m unications, vol J88-B , no 11, pp 2158-2170, N ovem ber 2005

[17] Jun G ao, p Steenkiste, “ Efficient Support for Sim ilarity Searches in D H T -B ascd Peer-

2007

[18] Luiz A ndré B arroso, Jeffrey D ean, Urs H olzle, "W eb Search for a Planet: T he G oogle

C luster A rchitecture," IEEE M icro, vol 23, no 2 pp 22-28 M ar./Apr 2003

Trang 31

lovv-latency, p roxim ity-aw are D H T -based P2P netw ork” , P roceedings o f KSE 2009

3 Bìa luận văn tốt nghiệp thạc sỹ của học viên cao học N guyễn T hành Đạt

4 Bìa khóa luận tốt ng h iệp cừ nhân của các sinh viên Vũ Sơn Tùng, Đ ặng N gọc Bền

và Phạm Đ ình H ậu

4 Bàn sao Hợp đồng và Đ ề cương nghiên cứu của đề tài Q C 09.12

5 Báo cáo tóm tắt kết quả nghiên cứ u của đề tài bàng tiếng Anh

6 Phiếu đăng ký kết quả nghiên cứu đề tài Q C 0 9 12

31

Ngày đăng: 19/03/2015, 09:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w