Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
1,33 MB
Nội dung
LỜI CAM ĐOAN Tôi xin cam đoan nội dung luận văn thực hướng dẫn Thầy giáo PGS.TS Hà Quốc Trung Để hoàn thành luận văn áp dụng tài liệu tham khảo khơng chép tồn văn luận văn nào, mơ giải thích phần xây dựng giải pháp ứng dụng luận văn hoàn tồn trung thực cơng trình nghiên cứu riêng Học viên thực Nguyễn Thị Thu Hằng LỜI CẢM ƠN Trước hết, em xin chân thành gửi lời cảm ơn tới thầy cô giáo trường Đại học Bách khoa Hà Nội nói chung thầy cô giáo Viện Công nghệ thông tin Truyền thơng nói riêng tận tình giảng dạy, truyền đạt cho em kiến thức kinh nghiệm quý báu suốt trình học tập Em xin gửi lời cảm ơn sâu sắc đến thầy giáo PGS.TS Hà Quốc Trung hết lòng giúp đỡ, hướng dẫn bảo tận tình trình em thực luận văn tốt nghiệp Xin gửi lời cảm ơn chân thành tới Cơ quan Huyện ủy Tiên Lữ tạo điều kiện thuận lợi cho em thời gian cơng việc q trình thực luận văn Cuối em xin cảm ơn gia đình, bạn bè quan tâm, động viên, đóng góp ý kiến giúp đỡ em suốt trình học tập, nghiên cứu để hồn thành luận văn tốt nghiệp Hà Nội, ngày 20 tháng năm 2015 Học viên thực Nguyễn Thị Thu Hằng ii MỤC LỤC MỞ ĐẦU viii Lý chọn đề tài viii Mục tiêu nghiên cứu ix Phạm vi nghiên cứu ix Tóm tắt kết ix Cấu trúc luận văn ix CHƯƠNG TỔNG QUAN VỀ MƠ HÌNH C-S, MƠ HÌNH P2P VÀ MỘT SỐ GIẢI PHÁP KẾT HỢP GIỮA HAI MƠ HÌNH C-S VÀ P2P 1.1 Tổng quan mơ hình C-S 1.1.1 Khái niệm mơ hình C-S 1.1.2 Cấu trúc vật lý 1.1.3 Nguyên tắc hoạt động 1.1.4 Phân loại mơ hình C-S 1.2 Tổng quan mơ hình P2P 1.2.1 Khái niệm mơ hình P2P 1.2.2 Cấu trúc vật lý 1.2.3 Nguyên tắc hoạt động mạng P2P 1.2.4 Phân loại mạng ngang hàng 1.2.5 Các lĩnh vực ứng dụng P2P 10 1.2.6 Một số ứng dụng sử dụng mơ hình P2P 12 1.2.7 So sánh mơ hình C-S mơ hình P2P 14 1.3 Một số giải pháp kết hợp mơ hình C-S mơ hình P2P 17 1.3.1 Mơ hình Local Proxy 17 1.3.2 Mơ hình Chia sẻ Cache (Shared Cache folder) 18 CHƯƠNG DỊCH VỤ CHIA SẺ TỆP THEO YÊU CẦU 22 2.1 Giới thiệu chung 22 2.2 Dịch vụ theo yêu cầu (ondemand) 23 2.2.1 Khái niệm dịch vụ theo yêu cầu 23 iii 2.2.2 Chia sẻ tệp tin theo yêu cầu 23 2.3 Phân loại hệ thống chia sẻ tệp tin 24 2.3.1 Chia sẻ tệp theo mơ hình C-S 24 2.3.2 Chia sẻ tệp theo mô hình P2P 25 2.4 Giao thức sử dụng hệ thống chia sẻ tệp tin theo yêu cầu áp dụng mô hình Client- Server 26 2.4.1.Mơ hình kiến trúc xử lý giao thức FTP 26 2.42 Các tiến trình FTP 27 2.4.3 Thiết lập kênh điều khiển chứng thực người dùng FTP 28 2.4.4 Quản lý kênh liệu FTP 30 2.4.5 Các phương thức truyền liệu FTP 33 2.4.6 Các mã thông điệp đáp trả mơ hình FTP 34 CHƯƠNG DỰ KIẾN XÂY DỰNG ỨNG DỤNG CHIA SẺ TỆP 36 THEO MƠ HÌNH SHARED CACHE FOLDER 36 3.1 Các chức ứng dụng chia sẻ tệp theo mơ hình C-S 36 3.2 Phân tích hệ thống chia sẻ tệp theo mơ hình Shared Cache Folder 37 3.2.1 Lựa chọn giao thức sử dụng hệ thống P2P 37 3.2.2 Giải pháp xây dựng ứng dụng chia sẻ tệp tin dựa giao thức Chord 42 3.3 Thiết kế module ứng dụng 44 3.3.1 Module client 44 3.3.2 Module Cache 44 3.3.3 Module P2P 44 3.3.4 Module Server 44 3.4 Thiết kế chi tiết số chức ứng dụng chia sẻ tệp tin theo mơ hình Shared Cache Folder 45 3.4.1 Chức đăng ký tài khoản 45 3.4.2 Chức đăng nhập 46 3.4.3 Chức tìm kiếm tệp tin 47 3.4.4 Chức quản lý tệp cá nhân 49 iv 3.4.5 Chức đưa tệp lên hệ thống (Upload file) 49 3.4.6 Tải tệp từ hệ thống (Download file) 50 3.5 Dự kiến thử nghiệm đánh giá 51 KẾT LUẬN 52 TÀI LIỆU THAM KHẢO 54 v DANH MỤC HÌNH Hình 1.1 Mơ hình Client- Server Hình 1.2 Giao tiếp client server Hình 1.3 Mơ hình C-S hai tầng Hình 1.4 Mơ hình C-S tầng Hình 1.5 Mơ hình C-S n tầng Hình 1.6 Mơ hình peer to peer Hình 1.7 Ngun tắc hoạt động mơ hình P2P Hình 1.8 Kiến trúc Napster 12 Hình 1.9 Kiến trúc Gnutella 13 Hình 1.10 So sánh mơ hình Client- Server mơ P2P 14 Hình 1.11 Mơ hình Local Proxy 17 Hình 1.12 Truy cập tệp tin mơ hình Local Proxy 18 Hình 1.13 Cơ chế hoạt động nhớ Cache 19 Hình 1.14 Mơ hình Chia sẻ Cache 19 Hình 1.15 Truy cập tệp tin mơ hình Shared Cache 21 Hình 2.1 Hoạt động hệ thống chia sẻ tệp tin 25 Hình 2.2 Mơ hình hoạt động giao thức FTP 27 Hình 2.3 Kết nối kênh liệu dạng chủ động 31 Bảng 3.1 Mô tả chức hệ thống chia sẻ tệp 37 Hình 3.2 Mơ hình vịng Chord với khóa có chiều dài bit 39 Hình 3.3 Quá trình tìm kiếm đơn giản Chord 40 Hình 3.4 Bảng finger nút 41 Hình 3.5 Mơ hình shared cache folder 43 Hình 3.6 Đăng ký tài khoản 45 Hình 3.7 Chức đăng nhập 47 Hình 3.8 Chức tìm kiếm tệp 48 Hình 3.9 Chức quản lý tệp cá nhân 49 Hình 3.10 Chức Upload file lên hệ thống 49 Hình 3.11 Chức tải tệp từ hệ thống 50 vi DANH MỤC TỪ VIẾT TẮT CPU Central Processor Unit Bộ xử lý trung tâm C-S Client- Server Mơ hình khách chủ DOS Disk Operating System Hệ điều hành đĩa DTP Data Tranfer Process Tiến trình truyền liệu FTP File Trafer Protocol Giao thức truyền tập tin HTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn IPC Inter-Process Communication LAN Local Area Network Mạng nội NOS Network Operating System Hệ điều hành mạng P2P Peer to Peer Mơ hình mạng ngang hàng PI Protocol Interpreter Thông dịch giao thức RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên TCP Transmission Control Protocol Giao thức điều khiển truyền vận TCP/IP Transmission Control Tiêu chuẩn giao tiếp ứng dụng máy tính mạng Protocol / Bộ giao thức truyền thông Internet Protocol USB Universal Serial Bus WAN Wide Area Networks Internet Chuẩn kết nối đa dụng máy tính Mạng diện rộng vii MỞ ĐẦU Lý chọn đề tài Ngày nay, với bùng nổ công nghệ thông tin phổ biến thiết bị điện tử, dễ dàng tìm kiếm chia sẻ thơng tin với người Để thực nhiệm vụ đó, máy tính cần kết nối mạng với Thực tế nay, có hai mơ hình tiêu biểu mạng máy tính mơ hình Cient Server mơ hình Peer to Peer Mơ hình Client Server mơ hình tiếng mạng máy tính, áp dụng rộng rãi mơ hình hầu hết ứng dụng phân tán Trong mơ hình này, xử lý thực phía server nên dễ xảy vấn đề nút cổ chai có nhiều yêu cầu cần server xử lý, nhiên ưu điểm mơ hình dễ thiết kế giao thức Với mơ hình peer to peer khác, peer mạng có vai trị nhau, vừa client, vừa server So với mô hình khác, mạng p2p có nhiều ưu điểm khả mở rộng, không tồn điểm chết, khả hệ thống tỉ lệ thuận với số lượng máy tham gia vào mạng…Nhiều ứng dụng xây dựng mạng ngang hàng FreeNet, BitTorent, Emula…Tuy nhiên, nhược điểm mơ hình tính bảo mật tính tin cậy khơng cao Cùng với phát triển ngày tăng ứng dụng mạng số lượng thiết bị tham gia vào mạng đòi hỏi việc tìm kiếm thơng tin cần thiết phải thực cách nhanh chóng, xác, an tồn độ tin cậy cao u cầu địi hỏi mơ hình ngày mở rộng hiệu hoạt động hệ thống ngày tăng Để xây dựng ứng dụng mong muốn, phải tận dụng ưu điểm mơ hình, đồng thời hạn chế hạn chế chúng Trên sở yêu cầu đó, việc nghiên cứu phương pháp để kết hợp ưu điểm mơ hình truyền thống vào mơ hình việc làm cần thiết Từ lý trên, em chọn đề tài: “Kết hợp mơ hình C-S mơ hình P2P phát triển ứng dụng phân tán” với mục đích nghiên cứu cách thức kết hợp mơ hình C-S mà mơ hình P2P để làm tăng hiệu hoạt động ứng dụng phân tán viii Mục tiêu nghiên cứu - Tìm hiểu khái niệm, thành phần, kiến trúc cách thức hoạt động mơ hình CS mơ hình P2P số giải pháp kết hợp C-S P2P - Tìm hiểu cache chia sẻ nhớ cache mơ hình - Tìm hiểu dạng dịch vụ theo yêu cầu ondemand, cụ thể toán chia sẻ tệp theo yêu cầu dựa mơ hình shared cache folder - Dự kiến cài đặt ứng dụng kết hợp mơ hình C-S P2P phát triển ứng dụng phân tán: dựa mơ hình shared cache folder áp dụng cho tệp tin văn với dạng dịch vụ theo yêu cầu Phạm vi nghiên cứu Tập trung nghiên cứu phương pháp kết hợp mơ hình C-S P2P ứng dụng phân tán chia sẻ tệp văn theo dạng dịch vụ theo yêu cầu Cụ thể phân tích mơ hình Shared Cache Folder tốn chia sẻ tệp tin Tóm tắt kết - Tìm hiểu khái niệm, thành phần, kiến trúc cách thức hoạt động mơ hình CS mơ hình P2P - Tìm hiểu khái niệm cache, shared cache - Tìm hiểu khái niệm liên quan dạng dịch vụ theo yêu cầu - Trình bày kết hợp mơ hình CS mơ hình P2P phát triển ứng dụng phân tán, cụ thể mơ hình chia sẻ cache - Dự kiến cài đặt dựa phân tích Cấu trúc luận văn Nội dung luận văn dự kiến chia thành chương với nội dung tổng qt sau: Chương 1: Tổng quan mơ hình C-S, mơ hình P2P số giải pháp kết hợp mơ hình C-S P2P Trong chương trình bày khái niệm bản, nguyên tắc hoạt động kiến trúc mơ hình CS P2P Đồng thời, trình bày số mơ hình kết hợp C-S P2P như: mơ hình lai, mơ hình Local Proxy mơ hình Shared Cache Folder ix Chương Dịch vụ chia sẻ tệp tin theo yêu cầu Trong chương này, trình bày khái niệm tệp tin, chia sẻ tệp tin, dịch vụ theo yêu cầu giao thức chia sẻ tệp tin mơ hình C-S Chương Dự kiến xây dựng ứng dụng chia sẻ tệp tin theo mơ hình Shared Cache Folder Trong chương trình bày việc phân tích thiết kế module số chức ứng dụng chia sẻ tệp dựa mơ hình Shared Cache Folder Cuối kết luận hướng phát triển luận văn x Hình 3.3 Quá trình tìm kiếm đơn giản Chord Trong hình 3.3 ví dụ nút thực truy vấn cho khóa có định danh 54 Nút gọi hàm find_successor cho khóa 54, kết trả nút 56 – successor khóa 54 Truy vấn chuyển qua tất nút vòng nằm nút 56 Mở rộng khả tìm kiếm: Thuật tốn tìm kiếm sử dụng số lượng thơng báo tương ứng tuyến tính với số nút có mạng Để tăng tốc độ q trình tìm kiếm Chord sử dụng thêm số thơng tin định tuyến Tương tự trên, ví dụ định danh nút khóa có độ dài m bit Mỗi nút n trì bảng định tuyến chứa m mục, gọi bảng finger Mục thứ i bảng nút n chứa định danh nút s cho s nút vòng tiếp sau khóa n+2i-1 s=successor(n+2i-1), với ≤ i ≤ m (lấy số dư với modun 2m) Ta gọi s finger thứ i nút n Finger nút successor nút 40 Hình 3.4 Bảng finger nút Hình 3.4 thể bảng finger nút Finger trỏ đến nút 14 dó 14 nút liền sau (8+20) mod 26 = Tương tự finger cuối nút trỏ đến nút 42 42 nút liền sau (8+25) mod 26 = 40 Có thể dễ nhận xét thấy với thiết lập vậy: nút lưu thông tin số giới hạn nút có mạng, nút biết đến số nút nằm gần với Một nút khơng lưu trữ đủ thơng tin để tìm successor khóa k c Quá trình tham gia ổn định mạng Trên thực tế, mạng Chord cần phải giải vấn đề việc nút tham gia vào mạng, rời khỏi mạng đột ngột rời khỏi mạng Để tham gia vào mạng nút n thực truy vấn tìm kiếm cho id thơng qua số nút ban đầu tham gia vào mạng tự đưa vào vịng Chord, vị trí nằm successor s predecessor s thơng qua trình ổn định mạng Bảng finger n khởi tạo cách chép bảng finger của s để s tìm kiếm finger cho n Các nút cần thay đổi bảng finger có tham gia n thực việc thơng qua q trình ổn định mạng chạy định kỳ Cuối khóa giữ s, có id nhỏ n chuyển qua n Khi nút tự nguyện dời khỏi mạng, tất khóa (các item liên quan đến khóa) chuyển cho successor, sau thơng báo cho successor predecessor Bảng finger nút khác điều chỉnh thơng qua q trình ổn định mạng định kỳ 41 d Một số phương thức giao thức Chord - Put (filename): Khi muốn Upload tệp tin vào hệ thống, Client gửi yêu cầu kết nối (đăng ký- đăng nhập) vào hệ thống Đăng nhập thành cơng gửi u cầu muốn chia sẻ tệp tin vào hệ thống Cache Manager tạo thành tệp .txt, băm tên tệp để xác định vị trí node phù hợp để lưu trữ thơng tin liên quan đến tệp tin thực việc gửi tệp tin vào hệ thống phương thức put(filename) giao thức Chord - Get (filename): Client muốn lấy nội dung tệp tin cách gửi yêu cầu tải tệp tin Hệ thống xử lý cách băm thông tin nhận (filename) để xác định vị trí node chứa tệp mơ hình Chord Trước tiên, việc tìm kiếm thực cache cục client đó, khơng tìm thấy yêu cầu đưa vào hệ thống P2P lấy từ P2P thao tác Get(key, filename) gửi lại cho Client nội dung tệp tin Trường hợp khơng tìm thấy hệ thống P2P u cầu đáp ứng server - Search (keyword): Client gửi yêu cầu tìm kiếm vào hệ thống Hệ thống xử lý cách băm thông tin nhận để xác định vị trí node mơ hình Chord Trước tiên, việc tìm kiếm thực cache cục client đó, khơng tìm thấy yêu cầu đưa vào hệ thống P2P thao tác Search(keyword) gửi lại cho Client danh sách tên tệp tin - Delete (filename): Client yêu cầu xóa nội dung tệp tin cách gửi yêu cầu lên hệ thống Hệ thống xử lý cách băm filename để xác định vị trí node chứa tệp tin Tệp tìm kiếm theo hoạt động mơ hình Shared Cache Folder mơ tả thao tác trên, tìm thấy hệ thống thực thao tác Delete(key, filename) gửi lại thong báo cho Client 3.2.2 Giải pháp xây dựng ứng dụng chia sẻ tệp tin dựa giao thức Chord Dựa giao thức Chord, ứng dụng dự kiến xây dựng theo mơ hình P2P gồm client xếp theo vịng trịn Chord coi khóa Key điểm đường trịn Khơng gian khóa đường tròn chia thành cung liên tiếp mà điểm cuối cung định danh ID node Mỗi node lưu trữ thông tin định tuyến tới node khác bảng định tuyến gọi Finger Table Và 42 client node vịng trịn Khi node muốn chia sẻ tệp tin, gửi tệp tin vào cache, sau tệp tin đưa vào hệ thống P2P thông qua thao tác put(filename) Tệp tin lưu node chịu trách nhiệm lưu trữ liệu theo giao thức Chord từ chia sẻ mạng P2P Nếu client muốn tìm kiếm tệp tin, tìm cache cục bộ, tệp tìm thấy trả trực tiếp cho client Ngược lại, yêu cầu gửi vào hệ thống P2P thông qua thao tác search(filename) get(filename) theo giao thức Chord nhận tệp tin cần Trường hợp, khơng có node có khả đáp ứng yêu cầu hỏi server Hình 3.5 Mơ hình Shared Cache Folder Ứng dụng cần đảm bảo suốt người sử dụng, người sử dụng thực thao tác đăng ký tài khoản, đăng nhập tài khoản, tìm kiếm tệp tin, …như ứng dụng chia sẻ tệp thông thường 43 3.3 Thiết kế module ứng dụng Trong phần này, thực việc mô tả chi tiết module số chức ứng dụng dự kiến bao gồm: module client, modul cache, module P2P, module server… 3.3.1 Module client Module cài đặt phía người dùng, để người dùng gửi yêu cầu tìm kiếm tệp, chia sẻ tệp…Nó khác với module client mơ hình C-S thực thao tác tìm kiếm tệp bất kỳ, thay gửi yêu cầu tới server tiến hành tìm kiếm cache cục bộ, khơng có tiếp tục gửi u cầu search(filename) vào hệ thống P2P Cuối gửi yêu cầu cho server 3.3.2 Module Cache Module cài đặt máy client để lưu trữ liệu gửi đến cho client Khi client gửi yêu cầu search(filename), Cache Manager kiểm tra cache content client có chứa tệp cần tìm khơng? Hay nói tổng qt, module có nhiệm vụ trả lời câu hỏi liệu lưu trữ client 3.3.3 Module P2P Duy trì kết nối client hay nói cách khác, client ứng dụng kết nối với nhau, chấp nhận yêu cầu chia sẻ, cập nhật, truyền tải tệp tin lên mạng P2P 3.3.4 Module Server Cũng giống module server mơ hình client server, người dùng muốn sử dụng dịch vụ ứng dụng phải gửi yêu cầu lên server, đăng ký tài khoản để sử dụng dịch vụ Server lưu trữ tài khoản người dùng quản lý tài khoản người dùng Tuy nhiên, khác với module server mơ hình C-S server phải đáp ứng yêu cầu client trường hợp liệu cache cục client không chia sẻ hệ thống P2P Thêm vào đó, server cài đặt thêm module data intruction suggestor có nhiệm vụ thu thập thơng tin liệu client muốn chia sẻ thông qua kết nối client server tập hợp báo cáo kết nối P2P từ client, từ đưa dẫn hiệu để client lấy tệp tin yêu cầu 44 3.4 Thiết kế chi tiết số chức ứng dụng chia sẻ tệp tin theo mơ hình Shared Cache Folder Từ việc phân tích hệ thống phần 3.2, hệ thống dự kiến gồm chức năng: - Chức đăng ký/ đăng nhập tài khoản - Chức tìm kiếm tệp tin - Chức tải tệp tin từ hệ thống - Chức đẩy tệp tin vào hệ thống - Chức quản lý tệp tin cá nhân Cache Client 3.4.1 Chức đăng ký tài khoản Nhập thông tin đăng ký Kiểm tra file .txt có tồn Cache cục Thơng báo đăng ký thành công Thông báo tài khoản đăng ký Yes Lưu thông tin đăng ký Cache P2P Agent No Kiểm tra file .txt có tồn P2P Yes Chia sẻ thông tin P2P Server No Kiểm tra file .txt có tồn Server Yes Lưu thông tin đăng ký Server No 100 Hình 3.6 Đăng ký tài khoản 80 45 60 40 20 East West North Quy trình thực chức đăng ký: - Người dùng nhập thông tin tài khoản muốn đăng ký gửi yêu cầu - Cache Manager kiểm tra cache cục có tệp .txt hay chưa? Nếu có, gửi thơng báo cho người dùng “Tài khoản có người sử dụng” - Nếu khơng tìm thấy, băm tên tệp .txt gửi yêu cầu vào hệ thống P2P để tìm kiếm thao tác search(filename) Nếu tìm thấy, gửi thơng báo cho người dùng “Tài khoản có người sử dụng” - Ngược lại, gửi yêu cầu tìm kiếm lên server Nếu server tìm thấy gửi thơng báo cho người dùng “Tài khoản có người sử dụng” Nếu khơng thấy thông báo cho người dùng “Đăng ký thành công” - Thông tin đăng ký lưu vào cache cục bộ, gửi vào hệ thống P2P server 3.4.2 Chức đăng nhập Quy trình thực chức đăng nhập - Người dùng nhập thông tin gửi yêu cầu đăng nhập vào hệ thống - Cache Manager kiểm tra cache content có tệp .txt hay chưa? Nếu có, kiểm tra nội dung tệp .txt xem mật có không? Nếu đúng, trả lại thông báo “Đăng nhập thành công” cho người dùng Nếu không đúng, trả lại cho người dùng thông báo “Đăng nhập không thành công” - Nếu khơng có cache, băm tên tệp .txt gửi u cầu tìm vào hệ thống P2P thơng qua thao tác search(filename) Nếu tìm thấy tệp hệ thống P2P kiểm tra nội dung tệp .txt xem mật có khơng? Nếu đúng, trả lại thơng báo “Đăng nhập thành công” cho người dùng Nếu không đúng, trả lại cho người dùng thông báo “Đăng nhập khơng thành cơng” - Nếu tệp khơng tìm thấy hệ thống P2P tiếp tục gửi yêu cầu tới server Nếu tìm thấy tệp server kiểm tra nội dung tệp .txt xem mật có không? Nếu đúng, trả lại thông báo “Đăng nhập thành công” cho người dùng Nếu không đúng, trả lại cho người dùng thông báo “Không tồn tài khoản này” 46 Client Thông báo đăng nhập thành công Nhập thông tin đăng nhập Thông báo sai mật Thông báo không tồn tài khoản Yes Cache Đọc tệp, kiểm tra tệp .txt Yes Kiểm tra tệp .txt có tồn cache cục No P2P Agent No Yes Kiểm tra file .txt có tồn P2P Server No Yes Kiểm tra file .txt có tồn Server No Hình 3.7 Chức đăng nhập 3.4.3 Chức tìm kiếm tệp tin - Người dùng đăng nhập vào hệ thống gửi yêu cầu cần tìm kiếm tệp tới hệ thống - Cache Manager kiểm tra cache content thông tin liên quan đến tệp Nếu tìm thấy cache lấy tệp trực tiếp từ cache Nếu khơng tìm thấy, u cầu tìm kiếm gửi vào hệ thống P2P 47 - Hệ thống P2P nhận yêu cầu thực yêu cầu tìm kiếm thơng tin liên quan đến tệp thơng qua key mà nhận Nếu tìm thấy, trả cho client danh sách địa node lưu trữ tệp u cầu Nếu khơng tìm thấy gửi tiếp yêu cầu lên server Module Data instruction suggestion Server tìm kiếm thơng tin tệp cần tìm sở liệu, từ đưa dẫn để client lấy tệp tin nhanh Nếu không thấy trả cho client thông báo “Không tồn tệp yêu cầu” Hiển thị kết cho người dùng Client Gửi yêu cầu tìm tệp tin Cache Trả cho Client danh sách tệp tin Yes Kiểm tra tệp tin có tồn cache cục P2P Agent No Yes Kiểm tra tệp tin có tồn P2P No Server Yes Kiểm tra tệp tin có tồn Server No Hình 3.8 Chức tìm kiếm tệp 48 Thông báo không tồn tệp tin yêu cầu Client 3.4.4 Chức quản lý tệp cá nhân Tạo cấu trúc thư mục tài liệu cá nhân Đăng nhập Hình 3.9 Chức quản lý tệp cá nhân - Người dùng đăng nhập vào hệ thống - Tạo thư mục danh sách tên tài liệu nằm thư mục cá nhân - Khi có thay đổi liên quan đến danh sách tệp chia sẻ, client cập nhật lại nội dung tệp .txt, lưu vào cache cục bộ, gửi vào hệ thống P2P server Server P2P Agent Cache Client 3.4.5 Chức đưa tệp lên hệ thống (Upload file) Yêu cầu gửi file Client cập nhật lại danh sách tài liệu Lưu file vào Cache cục gửi vào hệ thống P2P Nhận thông tin phân bổ thông tin cho node mạng Gửi cho server thông tin tệp muốn chia sẻ Hình 3.10 Chức Upload file lên hệ thống - Người dùng Đăng nhập vào hệ thống - Sau đăng nhập thành công, chọn chức Upload file lên hệ thống - Module Cache làm nhiệm vụ xử lý thông tin liên quan đến tệp cách băm tên tệp, lưu trữ nội dung liên quan đến tệp vào cache cục bộ, chia sẻ tệp hệ thống P2P Đồng thời, báo cho server biết thông tin tệp mà người dùng muốn chia sẻ 49 - Module P2P nhận thông tin tệp muốn chia sẻ, thực việc phân bổ thông tin tệp tới node thích hợp để lưu trữ Client cập nhật lại danh sách tệp cá nhân chia sẻ 3.4.6 Tải tệp từ hệ thống (Download file) Hiển thị kết cho người dùng Gửi yêu cầu tải tệp Client Tải tệp từ nơi lưu trữ tương ứng với thông tin nhận Thông báo không tồn tệp yêu cầu Cache Trả cho Client thông tin nơi lưu trữ tệp yêu cầu Yes Kiểm tra tệp có tồn cache cục P2P Agent No Yes Kiểm tra tệp có tồn P2P No Server Yes KT tệp có tồn server khơng? No Hình 3.11 Chức tải tệp từ hệ thống - Client gửi yêu cầu tải tệp vào hệ thống, - Cache Manager băm tên tệp thực tìm kiếm cache cục thông tin liên quan đến tệp Nếu tìm thấy cache lấy tệp trực tiếp từ cache Nếu khơng tìm thấy u cầu tìm kiếm gửi vào hệ thống P2P 50 - Hệ thống P2P nhận yêu cầu thực yêu cầu tìm kiếm thông tin liên quan đến tệp thông qua key mà nhận Nếu tìm thấy, trả cho client địa node lưu trữ tệp để client thực việc tải liệu trực tiếp Nếu khơng tìm thấy gửi tiếp yêu cầu lên server Server tìm kiếm thơng tin tệp cần tìm sở liệu Nếu thấy trả đường dẫn để client tải tệp Nếu không thấy trả cho client thông báo “Không tồn tệp yêu cầu” 3.5 Dự kiến thử nghiệm đánh giá Hệ thống P2P subsystem sử dụng giao thức Chord việc mã hóa cho mạng chia sẻ tệp Chord tự mã hóa Các cơng việc cần thiết để thực hóa ứng dụng theo mơ hình Shared Cache Folder là: - Xây dựng module P2P sử dụng giao thức Chord với tính chia sẻ tệp như: tìm kiếm, tải tệp từ hệ thống, đẩy tệp lên hệ thống - Module Cache cài đặt client: Lưu nội dung, thông tin tệp tin chia sẻ client đó, thơng tin tài khoản người dùng, đồng thời trả lời liệu giúp việc truy vấn thơng tin nhanh xác - Server: cài đặt module Data Instruction Suggestor để hướng dẫn liệu cho client cần thiết, server đáp ứng tệp tin cho client tệp tin khơng chia sẻ hệ thống P2P, giải vấn đề giảm tải server Từ việc phân tích chi tiết cho thấy ứng dụng chia sẻ tệp tin theo mơ hình Shared Cache Folder thực được, đáp ứng yêu cầu đề 51 KẾT LUẬN Kết đạt Với mục đích luận văn tìm hiểu việc kết hợp mơ hình Client/Server P2P để phát triển ứng dụng phân tán, luận văn đạt kết định sau: Đã trình bày lý thuyết tìm hiểu số mơ hình mạng bản: Mơ hình C-S, mơ hình P2P…Trên sở nghiên cứu ưu điểm, nhược điểm mô hình, dẫn đến yêu cầu cải thiện, nâng cao hiệu suất mơ hình Một số mơ hình mơ hình nhớ đệm, mơ hình Local Proxy…Trong luận văn này, trình bày tổng qt mơ hình chia sẻ nhớ đệm, tiến đến phân tích số chức hệ thống chia sẻ tệp theo mơ hình Với cách tiếp cận đạt số ưu điểm sau: - Giữ lại đơn giản thiết kế mô hình C-S - Áp dụng mơ hình P2P để cải thiện hiệu suất khả mở rộng ứng dụng Công việc server đưa đến cho node hệ thống Khắc phục nhược điểm khả mở rộng yếu mơ hình C-S Tuy nhiên, mơ hình cịn bộc lộ hạn chế như: - Trường hợp khơng tìm thấy tệp tin cache cục cache node mạng P2P, client phải gửi yêu cầu tới server, điều làm cho tính co giãn hệ thống khơng đảm bảo - Việc server trung tâm khiến cho ứng dụng không giải triệt để vấn đề “nút cổ chai” server Trong phần dự kiến cài đặt, đưa phân tích thiết kế số chức ứng dụng chia sẻ tệp dựa mơ hình Shared Cache Hướng phát triển - Cài đặt thử nghiệm ứng dụng chia sẻ tệp tin theo mơ hình Shared Cache Folder trình bày chương - Áp dụng phương pháp cho ứng dụng khác với loại thông tin trao đổi khác như: audio, video, raw số thông tin khác 52 Mặc dù cố gắng hiểu biết hạn hẹp nên luận văn khơng tránh khỏi cịn thiếu sót Rất mong tiếp nhận đóng góp ý kiến quý thầy, cô bạn bè để luận văn hồn thiện, áp dụng vào thực tế 53 TÀI LIỆU THAM KHẢO [1] S A Baset, H G Schulzrinne, 2006 An Analysis of the Skype Peer-toPeer Internet Telephony Protocol INFOCOM 2006 [2].Lua, E K., Crowcroft, J., Pias, M., Sharma, R., Lim, S., & Lim, S (2005) A Survey and Comparison of Peer-to-Peer Overlay Network Schemes Communications Surveys & Tutorials, IEEE, 72 93 [3] Khoa CNTT, Distributed Hash Table (DHT) Chord, Đại học SPKT Hưng Yên [4] http://vi.wikipedia.org/wiki/Client-server [5] http://en.wikipedia.org/wiki/File_sharing [6] http://en.wikipedia.org/wiki/Peer-to-peer_file_sharing [7] Luong Quy Tho, Ha Quoc Trung, 2013 P2P shared-caching model: using P2P to improve client-server application performance [8] Ha Quoc Trung Distributed software distribution solution using p2p Journal of Science Technology, Technical Universities, (ISSN 0868-3980), (78):6–10, 2010 [9] Ha Quoc Trung New approach to develop the messenger application: From client-server design to p2p implementation In Proceedings of International Conference of Advanced Computer Science Information Technology (ACSIT-2012), 2012 [10] Nguyen Quang Thu Study of distributed replication: design a messenger application using local proxy model Master’s thesis, Hanoi University of Science and Technology, 2013 [11] http://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf [12] I Stoica, R Morris, D Karger, M.F Kaashoek, H Balakrisnan, “Chord: A Scalable peer-to-peer lookup service for Internet applications”, In Proceedings of ACM SIGCOMM’01, August 2001 [13] http://sinhvienit.net/forum/tim-hieu-ve-giao-thuc-ftp.28754.html 54 ... pháp để kết hợp ưu điểm mơ hình truyền thống vào mơ hình việc làm cần thiết Từ lý trên, em chọn đề tài: ? ?Kết hợp mơ hình C-S mơ hình P2P phát triển ứng dụng phân tán? ?? với mục đích nghiên cứu cách... mơ hình C-S, mơ hình P2P số giải pháp kết hợp mơ hình C-S P2P Trong chương trình bày khái niệm bản, nguyên tắc hoạt động kiến trúc mơ hình CS P2P Đồng thời, trình bày số mơ hình kết hợp C-S P2P. .. kết hợp mơ hình C-S mà mơ hình P2P để làm tăng hiệu hoạt động ứng dụng phân tán viii Mục tiêu nghiên cứu - Tìm hiểu khái niệm, thành phần, kiến trúc cách thức hoạt động mơ hình CS mơ hình P2P