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

PHÁT TRIỂN ỨNG DỤNG CHIA SẺ FILE NGANG HÀNG

40 600 2

Đ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 40
Dung lượng 515 KB

Nội dung

1.2 Mục đích của khóa luận Mục đích khóa luận này là xây dựng một số hệ thống chia sẻ file ngang hàng dựatrên nhiều server chỉ mục.. 2.2 Mô hình lai ghépTrong mô hình mạng ngang hàng lai

Trang 1

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

Trang 2

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

Trang 3

Tóm tắt

Các hệ thống chia sẻ file ngang hàng đang có những bước phát triển mạnh mẽ trong những năm gần đây Trong kiến trúc client/server, tất cả các tài nguyên đều tập trung vào một chỗ, các điểm nút chỉ truy nhập vào đó chứ hầu như không bao giờ giao tiếp với nhau Ngược lại, các điểm nút tham gia vào mạng ngang hàng đều có thể chứa tài nguyên và khi phát hiện ra nhau là trao đổi trực tiếp với nhau không thông qua server Các hệ thống ngang hàng hiện nay được tổ chức theo một trong hai mô hình : thuần túy hoặc lai ghép Mô hình ngang hàng thuần túy giải quyết vấn đề tìm kiếm tài nguyên dựa vào một mạng lưới các điểm nút đầu mối Trong khi đó, mô hình ngang hàng lai ghép lưu địa chỉ nguồn cung cấp tài nguyên trên các server chỉ mục Nội dung khóa luận phát triển, xây dựng thử nghiệm một số hệ thống chia sẻ file ngang hàng theo phương thức sử dụng nhiều server chỉ mục Các server được tổ chức liên kết với nhau theo chuỗi hay bằng cách sao lặp toàn bộ Trong hệ thống liên kết chuỗi, mỗi server chỉ lưu lại chỉ mục của các điểm nút do nó quản lý Trong hệ thống sao lặp toàn bộ, các server lưu lại chỉ mục của tất cả các điểm nút, bất kể điểm nút đó thuộc chức năng quản lý của server nào Ứng dụng được phát triển bằng công nghệ NET Hiệu năng của hai mô hình sẽ được so sánh đánh giá thông qua lý thuyết và thực nghiệm.

Trang 4

Mục lục

Chương 1 Giới thiệu 1

Chương 2 Các mô hình mạng chia sẻ file ngang hàng 4

Chương 3 Xây dựng hệ thống 8

Chương 4 Minh họa hệ thống 16

Chương 5 Thử nghiệm và đánh giá 25

Chương 6 Kết luận và hướng phát triển 35

Tài liệu tham khảo 36

Trang 5

Chương 1 Giới thiệu

1.1 Bối cảnh chung

Bạn hãy tưởng tượng về một hệ thống lưu trữ thông tin lý tưởng dành cho toàncầu Hệ thống có thể nhanh chóng xác định và gửi đi một tệp tin (có thể dung lượng rấtlớn) trong số hàng triệu tệp tin tới bất cứ đâu trên thế giới Để đảm bảo được tính năngnày, hệ thống có thể có khả năng tự cài đặt cấu hình, tự hồi phục sau sự cố chứ không

theo cơ chế “kiểm soát từ trung tâm” như các hệ thống lưu trữ hiện đang phổ dụng Ngoài

ra, hệ thống còn phải bảo mật, hỗ trợ đồng thời hàng triệu người sử dụng, có khả năng

“miễn dịch” trước các cuộc tấn công- cả tấn công vật lý và tấn công thông qua các phần

mềm, đoạn mã nguy hại

Đương nhiên, các nhà quản trị luôn “mơ” về một hệ thống như vậy, đặc biệt là khi

mạng Internet ngày càng trở thành một nhân tố quan trọng quyết định thành công trongkinh doanh Trên thực thế, hệ thống lý tưởng ấy thực chất đã và đang tồn tại dưới dạngcác mạng chia sẻ ngang hàng (ví dụ eDonkey, KaZaA)

Nhìn từ góc độ kỹ thuật, “peer-to-peer” hay mạng ngang hàng chỉ khả năng

tương tác trực tiếp giữa hai máy tính cùng cài đặt một phần mềm ứng dụng mà khôngphải thông qua các máy tính trung gian Mô hình kết nối có thể khiến nhiều người liêntưởng tới mạng Internet, tuy nhiên mạng ngang hàng mang các đặc thù riêng

Ngược dòng thời gian, ban đầu mạng Internet được thiết kế theo mô hình phi tập

trung Tuy nhiên càng ngày Internet càng biến đối theo hướng “một trục- nhiều que”

(hub-and-spoke) Các máy tính cá nhân trong mạng lưới kết nối với server ở trung tâm đểtiến hành các tác vụ như gửi/nhận email, duyệt web v.v… Mạng từng bao gồm nhiều máytính ngang hàng, vừa sản xuất vừa tiêu thụ nội dung, nay không khác gì những chiếc tiviđón chờ tín hiệu từ trạm thu phát

Mạng ngang hàng kết nối trực tiếp các máy tính với nhau, và ngay sau khi kếtnối, các máy tính cá nhân có thể thực thi những tác vụ mà chúng không thể thực hiệnđược khi đứng một mình Hầu hết các hệ thống mạng ngang hàng cho phép người sửdụng chia sẻ tài nguyên, bao gồm cả khả năng xử lý, khả năng lưu trữ và băng thông.Trong trường hợp chia sẻ tệp tin âm nhạc, người sử dụng thực tế đã chia sẻ hệ thống cáctệp tin mà qua đó, mọi đối tượng tham gia mạng đều có thể tải về các tệp tin âm nhạc mà

Trang 6

mình yêu thích Theo thống kê của CacheLogic (công ty dịch vụ P2P có trụ sở tại Anh),

hơn 50% giao thông mạng xuất phát từ các ứng dụng chia sẻ ngang hàng

“P2P là bước tiến hoá hoàn toàn tự nhiên và hoàn hảo của mạng Internet Thực

tế, P2P đã mang Internet trở lại nguyên bản- theo đúng ý tưởng của những người đầu tiên sáng lập ra Internet”, Ian Clarke- sáng lập viên mạng FreeNet khẳng định.

Hiện nay mạng ngang hàng đang ngày càng phát triển và những tài nguyên mớinhất thường được chia sẻ đầu tiên tại các mạng ngang hàng Một ví dụ nhỏ, phần lớn cáccông ty kinh doanh trò chơi trực tuyến hiện nay khi cung cấp trò chơi đến khách hàng bêncạnh đường dẫn download trực tiếp từ server của công ty đều cung cấp khả năng cho phépkhách hàng download từ mạng ngang hàng nhằm tránh sự tắc nghẽn tại server

1.2 Mục đích của khóa luận

Mục đích khóa luận này là xây dựng một số hệ thống chia sẻ file ngang hàng dựatrên nhiều server chỉ mục Phần xây dựng tại server và chương trình tại điểm nút đượcxây dựng trên nền .Net của Microsoft, các thành phần giao tiếp với nhau qua cácwebservice Sau khi xây dựng thành công hệ thống, chúng tôi đề xuất một số công thức lýthuyết nhằm so sánh hiệu năng của các mô hình Tiếp theo chúng tôi xây dựng và chạychương trình thử nghiệm để đánh giá kết quả thực hiện trên thực tế rồi so sánh và đánhgiá các kết quả lý thuyết đã trình bày trước đó

Tài liệu [5] cung cấp một bức tranh toàn cảnh về những nền tảng công nghệ vàcác lĩnh vực ứng dụng của kiến trúc mạng ngang hàng Bài báo [6] đi sâu khảo sát các kếtquả nghiên cứu và triển khai trong lĩnh vực chia sẻ file ngang hàng Các hệ thống chia sẻfile ngang hàng sử dụng server chỉ mục được phân tích đánh giá chi tiết trong [1] Báocáo [4] thảo luận các phương pháp tạo chỉ mục tìm kiếm trong một bối cảnh rộng hơn,bao gồm cả những hệ thống ngang hàng hoàn toàn phi tập trung, không dựa trên servertạo chỉ mục tập trung

1.3 Bố cục khóa luận

Phần tiếp theo của khóa luận được tổ chức như sau:

Chương 2 giới thiệu các mô hình chia sẻ mạng ngang hàng và giới thiệu

Napster-một phần mềm chia sẻ mạng ngang hàng tiêu biểu

Chương 3 trình bày nguồn gốc ý tưởng và cấu trúc các hệ thống chia sẻ ngang

Trang 7

hàng sử dụng nhiều server chỉ mục, bao gồm phần xây dựng server và xây dựng chươngtrình tại điểm nút

Chương 4 minh họa 2 mô hình tổ chức sử dụng nhiều server chỉ mục đã xây

Trang 8

Chương 2 Các mô hình mạng chia sẻ file ngang hàng

2.1 Mô hình mạng ngang hàng thuần túy

Mô hình mạng ngang hàng thuần túy hoàn toàn không phụ thuộc vào server Mộtứng dụng mạng ngang hàng thuần túy có khả năng tự động tìm các nút khác một cách linhhoạt, ko cần sự giúp đỡ của server Việc liên lạc giữa các nút bao gồm download vàupload các file, các hoạt động trực tuyến, gửi yêu cầu – đáp trả yêu cầu,… Tính năng nàycủa mô hình mạng ngang hàng phá vỡ các phương thức truyền thống trong mô hìnhclient/server Mạng ngang hàng thuần túy cho phép người dùng thiết lập những quy tắccho chính họ, thiết lập môi trường mạng cho chính họ

Mạng ngang hàng thuần túy cung cấp các tính năng “nối và chạy” khi làm việcvới internet, bạn chỉ cần kết nối với internet là có thể sử dụng các tiện ích mạng nganghàng Một lợi thế khác của thuần mạng ngang hàng là mô hình không chỉ hoạt động hiệuquả trên internet mà còn hoạt động hiệu quả trên mạng cục bộ Lan, intranet Tuy nhiên,vấn đề khó khăn nhất với mô hình mạng ngang hàng thuần túy là việc tìm các nút trongmạng Do không có bất kỳ trung tâm quản trị quản lý các nút khi các nút đăng nhập,người dùng buộc phải tự mình xác định các nút khác

Hình 1 Mô hình mạng ngang hàng thuần túy

Trang 9

2.2 Mô hình lai ghép

Trong mô hình mạng ngang hàng lai ghép, một hay nhiều server được bổ sung.Tuy nhiên server chỉ đóng vai trò giúp các nút tìm kiếm nhau được dễ dàng, giải quyếtkhó khăn mô hình thuần túy gặp phải Mỗi khi một nút đăng nhập/thoát khỏi hệ thống, nút

đó sẽ kết nối với máy chủ và đăng ký, server sẽ lưu lại chỉ mục về nút đó Khi một nútcần tìm các dịch vụ/tài nguyên tại các nút khác, người dùng sẽ hỏi server, server dựa trênchỉ mục đã lưu để trả về địa chỉ các nút thỏa mãn yêu cầu Sau đó, các nút sẽ kết nối vớinhau và lúc này máy chủ sẽ không đóng bất kỳ vai trò nào, việc cung cấp/sử dụng tàinguyên/dịch vụ hoàn toàn giữa các nút với nhau

Hình 2 Mô hình mạng ngang hàng lai ghép

Trong mô hình chia sẻ mạng ngang hàng lai ghép, nhằm tăng tối đa số ngườidùng, người ta thường sử dụng nhiều server chỉ mục Tùy theo vai trò cũng như sự liênkết giữa các serve, người ta chia thành nhiều kiến trúc, trong báo cáo này, chúng tôi tậptrung nghiên cứu về 2 kiến trúc sau:

• Kiến trúc liên kết chuỗi: Các server liên kết với nhau thành chuỗi để trả lờicác truy vấn của điểm nút Khi một điểm nút đăng nhập, chỉ có một server cập nhật chỉ

Trang 10

mục thông tin về nút đó Khi 1 điểm nút yêu cầu tìm kiếm tài nguyên, nếu máy chủ cục bộkhông tìm thấy số lượng tài nguyên đáp ứng đủ yêu cầu, nó sẽ chuyển yêu cầu đó đến cácserver khác trong chuỗi Các server khác sẽ tìm kiếm trong chỉ mục của chính nó và trả lạikết quả cho server đầu tiên Việc tìm kiếm được chuyển đi giữa các server cho đến khinào kết quả thỏa mãn yêu cầu (về số lượng kết quả) hoặc các server đều đã tham gia tìmkiếm Trong mô hình này, việc đăng nhập thực hiện nhanh do chỉ diễn ra ở trên mộtserver nhưng việc tìm kiếm tốn nhiều thời gian do các server trong chuỗi đều thực hiện.Khi xác suất tìm thấy tài liệu tại các server là thấp, thời gian tìm kiếm trung bình tăng lên

do việc tìm kiếm phải thực hiện ở nhiều server

• Kiến trúc sao lặp chỉ mục toàn bộ: Trong kiến trúc này, mỗi khi một điểmnút thuộc một server đăng nhập, thông tin chỉ mục của nó sẽ được cập nhật tại server đó,đồng thời server này sẽ chuyển thông tin chỉ mục tới toàn bộ các server khác để tất cả cácserver đều cập nhật thông tin về điểm nút Vì vậy mỗi khi 1 điểm nút đăng nhập, tất cảcác server đều câp nhật chỉ mục và tốn nhiều thời gian, chi phí Bù lại, khi 1 điểm nút yêucầu tìm kiếm tài nguyên, thời gian tìm kiếm sẽ nhanh do chỉ phải thực hiện tại 1 server (vìtất cả các server đều có đầy đủ thông tin, không cần thiết phải hỏi lẫn nhau) Thời giantìm kiếm không phụ thuộc vào xác suất có tìm thấy tài liệu hay không Mô hình này hiệuquả khi thông tin chỉ mục ít, khối lượng lưu trữ không lớn

2.3 Phần mềm chia sẻ file ngang hàng tiêu biểu – Napster

Napster [7] được Shawn Fanning (19 tuổi) viết ra vào năm 1999 Mô hìnhNapster tập trung vào việc chia sẻ các file nhạc MP3 Khi bạn cần tìm kiếm 1 bài hát, bạn

mở ứng dụng Napster, ứng dụng đăng nhập vào server trung tâm qua internet Server lưugiữ chỉ mục của tất cả các người dùng khác, lưu trữ cấu trúc thư mục chứa các file MP3của người dùng Các thông tin này được tự động cập nhật lại mỗi khi người dùng đăngnhập vào hệ thống Khi bạn gửi yêu cầu tìm kiếm, server của Napster sẽ tìm kiếm trongchỉ mục của các người dùng đang online và liệt kê các người dùng có chứa bài hát bạnyêu cầu Sau đó bạn có thể chọn bất kỳ kết quả nào trong danh sách và liên kết trực tiếptới người dùng đó, kể từ đây máy chủ không còn vai trò nữa, việc download file là giữa 2người dùng Chính vì vậy không có bất kỳ một file nhạc nào được lưu trực tiếp trên máyphục vụ Napster không bán, không lưu trữ, không chuyển các file nhạc, máy phục vụNapster chỉ giúp bạn tìm file nhạc trong máy của người khác và giúp bạn kết nối với điểmnút khác

Trang 11

Napster chính là một ví dụ điển hình của hệ thống chia sẻ file lai ghép sử dụngserver chỉ mục Napster sử dụng nhiều server chỉ mục để tăng hiệu quả nhưng mỗi serverchỉ quản lý những điểm nút của mình và các server không “giao tiếp” với nhau Chính vìvậy 2 người dùng thuộc 2 server khác nhau sẽ không kết nối được với nhau.

Trang 12

Chương 3 Xây dựng hệ thống

3.1 Nguồn gốc ý tưởng

Ý tưởng thực hiện hệ thống chia sẻ file ngang hàng với nhiều server chỉ mụcđược chúng tôi bắt đầu từ việc nghiên cứu cuốn sách [3] Cuốn sách đề cập đến việc xâydựng một hệ thống chia sẻ file ngang hàng lai ghép có sử dụng 1 server chỉ mục

Cấu trúc chương trình gồm có:

• Server: Được viết bằng ngôn ngữ ASP, cung cấp các dịch vụ: Login, logout,liệt kê các điểm nút, tìm kiếm tài nguyên trên các điểm nút Các điểm nút truy vấn máychủ qua yêu cầu HTTP (vd:localhost/listuser.asp), server thực thi và trả về dưới dạngXML

• Điểm nút: gồm 2 thành phần riêng biệt

 Trình duyệt (Browser): Cho phép người dùng login và logout, cho phépđiểm nút khai báo với server các file nó muốn chia sẻ Nó cũng đảm nhiệm công việc gửifile đến trình đón nhận của các điểm nút khác

Hình 3 Kiến trúc hệ thống chia sẻ file ngang hàng lai ghép với 1 server

Trang 13

 Trình đón nhận (Listener): chức năng yêu cầu server tìm kiếm địa điểm lưucác file cần tải về Sau khi nhận được danh sách các điểm nút chứa file yêu cầu, ngườidùng có thể chọn một điểm nút bất kỳ trong danh sách Trình đón nhận sẽ kết nối vớitrình duyệt của điểm nút tương ứng để tải file về.

Việc mở rộng cải tiến chương trình nhắc tới ở trên để hỗ trợ nhiều server là khôngkhả thi do hạn chế của ngôn ngữ ASP (các server viết bằng ngôn ngữ ASP được ví nhưcác ốc đảo, không thể giao tiếp được với nhau) Ngoài ra phần chương trình điểm nútđược tách làm 2 phần dẫn đến khó sử dụng và dễ gây hiểu nhầm Vì vậy, chúng tôi xâydựng lại hoàn toàn hệ thống chia sẻ file ngang hàng với nhiều server chỉ mục trên nềncông nghệ NET Các điểm nút truy vấn server và các server giao tiếp với nhau thông quacác Webservice Webservice có khả năng hỗ trợ rất tốt tương tác giữa các máy tính kếtnối với Internet mặc dù các máy tính đó có thể chạy trên những môi trường phần cứng vàphần mềm khác nhau, ở những địa điểm cách biệt nhau Nhờ sử dụng giao thức HTTP,Webservice có thể hoạt động thông suốt, vượt qua cả rào cản tường lửa các cơ quan, xínghiệp thường dựng lên để bảo vệ mạng cục bộ khỏi sự xâm nhập từ bên ngoài và kẽ hở

từ bên trong

3.2 Hệ thống chia sẻ ngang hàng lai ghép sử dụng nhiều server chỉ mục

Mục đích: Xây dựng hệ thống chia sẻ file ngang hàng lai ghép sử dụng nhiềuserver chỉ mục theo 2 mô hình: Mô hình sao lặp chỉ mục toàn bộ và mô hình liên kếtchuỗi Phần xây dựng hệ thống tại server được chúng tôi xây dựng hoàn toàn trên asp.net

có tham khảo cách phân tích thiết kế của [3] Phần xây dựng chương trình tại điểm nútđược chúng tôi xây dựng bằng VB.net, trong đó phần kết nối và lấy tài liệu giữa các điểmnút được tham khảo từ [2]

Như đã phân tích ở trên, điểm khác nhau cơ bản của hai mô hình là ở phần server:quá trình cập nhật chỉ mục và quá trình tìm kiếm Do đó chương trình của cả 2 hệ thốngđều có thành phần chung như sau

• Cơ sở dữ liệu: Gồm 2 bảng

Bảng cơ sở dữ liệu “peer” lưu trữ các thông tin về điểm nút: ip của điểm nút, tênđăng nhập của điểm nút, tình trạng và thời gian đăng nhập của điểm nút

Trang 14

Bảng cơ sở dữ liệu “share” lưu trữ các tài nguyên điểm nút chia sẻ: ip của điểmnút và tên file điểm nút đó chia sẻ.

Như vậy server chỉ lưu các chỉ mục, thông tin về điểm nút, hoàn toàn không lưutrữ các file chia sẻ

• Đặc tả các webservice server cung cấp

− Webservice Login : Tham số là địa chỉ IP và tên người dùng đăng nhập.Server trả về kết quả cho biết việc đăng nhập thành công hay không

Public Function Login(ByVal ip_address As String, ByVal user_name As String) As Boolean

− Webservice Logout : Tham số là địa chỉ IP của điểm nút muốn đăngthoát Server trả về kết quả cho biết việc đăng thoát có thành công haykhông

Public Function Logout(ByVal ip_address As String)

As Boolean

− Webservice Share : Tham số là địa chỉ IP và danh sách các file điểm nútmuốn chia sẻ Server trả về kết quả cho biết việc chia sẻ thành công haykhông

Trang 15

Public Function Share(ByVal ip_address As String, ByVal file_list As Dataset) As Boolean

− Webservice Find : Tham số là từ khóa cần tìm Server trả về một Datasetchứa địa chỉ IP và tên người dùng của các điểm nút có chia sẻ file liên quantới từ khóa

Public Function Find(ByVal key As String) As DataSet

Phần xử lý trên server của các webservice phụ thuộc vào các server hoạt động theo

mô hình liên kết chuỗi hay sao lặp toàn bộ Tuy nhiên kết quả cuối cùng trả về là giốngnhau trong cả hai trường hợp Các điểm nút không phân biệt được các server vận hànhtheo cơ chế nào

• Chương trình tại điểm nút:

Hình 4 Chương trình chia sẻ file ngang hàng tại điểm nút

Trang 16

Đối với điểm nút, việc hệ thống xây dựng theo mô hình liên kết chuỗi hay môhình sao lặp toàn bộ đều hoàn toàn không hề ảnh hưởng, chương trình điểm nút là nhưnhau trong cả 2 trường hợp Chương trình điểm nút cho phép người dùng chọn servermình kết nối, thực hiện log in, log out, tìm kiếm và lấy tài nguyên từ điểm nút khác Việckết nối giữa các điểm nút được xây dựng dựa trên thư viện bsfilesdk được đề cập tại [2].

Để sử dụng chương trình, người dùng gõ tên đăng nhập, chọn server và ấn nútLogin (có thể thêm bớt danh sách server bằng cách ấn nút Thay đổi danh sách server).Sau khi kết nối với server, chương trình tự động gửi lên server danh sách các file điểm nút

đó chia sẻ (là các file có trong thư mục của chương trình) Để tìm kiếm tài nguyên điểmnút khác, người dùng gõ từ khóa và ấn nút Tìm kiếm Chương trình yêu cầu server tìmtheo từ khóa và kết quả trả về sẽ được gửi dưới dạng dataset danh sách các điểm nút thỏamãn Khi người dùng chọn một điểm nút trong danh sách các điểm nút thỏa mãn, bảngbên dưới sẽ hiện ra các file điểm nút đó chia sẻ, người dùng chỉ cần chọn file thích hợp và

ấn nút download để tải file về

Chương trình tại điểm nút được xây dựng như sau:

• Khi nguời dùng ấn nút Login để đăng nhập, chương trình gọi webservice Login (do server cũng cấp) với các tham số là tên người dùng và IP của điểm nút

Private Sub btnConnect_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click

ok = ws.Login(FileSrv.LocalIP, txtUsername.Text)

If ok Then

MessageBox.Show("Đăng nhập thành công",

"Thông tin") btnConnect.Enabled = False

btnDisconnect.Enabled = True

Else

MessageBox.Show("Đăng nhập thất bại",

"Thông tin") End If

Trang 17

• Sau khi quá trình đăng nhập thành công, chương trình gọi webservice share với tham số là IP của điểm nút và danh sách các file có trong thư mục chia sẻ.

files = Directory.GetFiles(b)

ws.Share(FileSrv.LocalIP, files)

• Tiếp theo chương trình tại điểm nút thực hiện mở cổng, lắng nghe yêu cầu lấy file

từ điểm nút khác, khởi động vai trò như là server trong việc cung cấp dịch vụ với điểm nút khác

FileSrv.Start

• Khi người dùng yêu cầu tìm kiếm, chương trình gọi webservice Find tại server và nhận được kết quả dưới dạng dataset Sau khi có kết quả, chương trình tách dữ liệu

từ dataset nhận được và hiển thị danh sách các kết quả

Private Sub btnSearch_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click

Dim dsUser As New DataSet

dsUser = ws.Find(txtSearch.Text)

lstResult.Items.Clear()

If dsUser.Tables(0).Rows.Count = 0 Then

MessageBox.Show("Không tìm thấy tài liệu

thỏa mãn", "Thông tin") Else

MessageBox.Show("Tìm kiếm thành công",

"Thông tin") For i = 1 To dsUser.Tables(0).Rows.Count lstResult.Items.Add(dsUser.Tables(0).Rows(i).Item(0) & "(" &

dsUser.Tables(0).Rows(i).Item(1) & ")") Next

Trang 18

Private Sub btnDisconnect_Click( ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

btnDisconnect.Click

Trang 19

ws.Logout(FileSrv.LocalIP)

btnConnect.Enabled = True

btnDisconnect.Enabled = False

FileSrv.Stop() End Sub

Trên đây là một số chức năng chính của chương trình tại điểm nút Chương trình được xây dựng bằng VB.net, phần chương trình các điểm nút kết nối và chia sẻ file cho nhau được tham khảo từ [2]

Trang 20

Chương 4 Minh họa hệ thống

4.1 Tổ chức các server chỉ mục theo mô hình liên kết chuỗi

Trong mô hình tổ chức này, webservice Login đơn giản chỉ lưu vào bảng peercục bộ địa chỉ IP, tên người dùng, thời điểm đăng nhập của điểm nút và trả về kết quả chobiết việc đăng nhập có thành công hay không Địa chỉ IP và tên người dùng server lấy từcác tham số ip_address và user_name tương ứng trong lời gọi Login từ điểm nút.Thời điểm đăng nhập là thời gian hiện tại trên server Webservice Logout thực hiệncông việc ngược lại với Webservice Login Nó xóa khỏi bảng peer cục bộ bản ghichứa địa chỉ IP trùng với tham số ip_address trong lời gọi tới nó Webservice Sharecũng chỉ thực hiện công việc đơn giản là lưu vào bảng share cục bộ danh sách các file

do điểm nút thực hiện lời gọi gửi tới Webservice Find được cài đặt tương đối phức tạp.Sau khi tìm kiếm cục bộ, nếu kết quả không thỏa mãn yêu cầu về số lượng, server sẽ gọidịch vụ Find tại các server khác cho đến khi số lượng kết quả tìm được thỏa mãn hoặctất cả các server đều đã tham gia vào quá trình tìm kiếm

Hình 5 minh họa một hệ thống chia sẻ file ngang hàng tổ chức các server chỉ mụctheo phương thức liên kết chuỗi Hệ thống gồm có hai server chỉ mục S1 và S2 Server S1quản lý điểm nút A Server S2 quản lý điểm nút B Hai điểm nút đã đăng nhập vào hệthống Điểm nút B đăng ký với server S2 chia sẻ một file có tên là security.pdf.Điểm nút A yêu cầu server S1 tìm kiếm file theo từ khóa security Server S1 tìm kiếmtrong cơ sở dữ liệu cục bộ không có kết quả Nó liền yêu cầu server B tìm kiếm tiếp.Server S2 tìm thấy điểm nút B có chứa file security.pdf thỏa mãn tiêu chuẩn tìmkiếm Nó trả về server S1 tên người dùng và địa chỉ IP của điểm nút B để server S1chuyển về cho điểm nút A Sau khi nhận được những thông tin này, nếu thấysecurity.pdf đúng là file cần tìm, điểm nút A kết nối trực tiếp với điểm nút B để tảifile về

Ngày đăng: 21/01/2016, 23:08

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Beverly Yang and Hector Garcia-Molina. “Comparing Hybrid Peer-to-Peer Systems”, In Proceedings of the 27 th International Conference on Very Large Data Bases, September 2001 Sách, tạp chí
Tiêu đề: Comparing Hybrid Peer-to-PeerSystems”, In "Proceedings of the 27"th" International Conference on Very Large Data Bases
[2] Chichka, “Building Client/Server applications with VB.NET for secure private file sharing”, http://www.codeproject.com/vb/net/filesharingvb7.asp Sách, tạp chí
Tiêu đề: Building Client/Server applications with VB.NET for secure private filesharing
[3] Dreamtech software Team, “Cracking the Code Peer-to-Peer Application Development” Sách, tạp chí
Tiêu đề: Cracking the Code Peer-to-Peer ApplicationDevelopment
[4] John Risson and Tim Moors, “Survey of Research Towards Robust Peer-to-Peer Networks: Search Method”, Elsevier Computer Networks Journal, 2006 Sách, tạp chí
Tiêu đề: Survey of Research Towards Robust Peer-to-PeerNetworks: Search Method”, "Elsevier Computer Networks Journal
[5] Ramesh Subramanian and Brian D. Goodman. “Peer to Peer Computing: The Evolution of a Disruptive Technology”, Idea Group, 2005 Sách, tạp chí
Tiêu đề: Peer to Peer Computing: TheEvolution of a Disruptive Technology”
[6] Stephanos Androutsellis-Theotokis and Diomidis Spinellis. “A Survey of Peer-to- Peer Content Distribution Technologies”, ACM Computing Surveys, 36(40:335-371, December 2004 Sách, tạp chí
Tiêu đề: A Survey of Peer-to-Peer Content Distribution Technologies”, "ACM Computing Surveys

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w