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

Giải pháp sử dụng p2p như ông ụ truyền thông ho á ứng dụng lient server

87 6 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

Tiêu đề Giải Pháp Sử Dụng P2P Như Công Cụ Truyền Thông Cho Các Ứng Dụng Client-Server
Tác giả Lương Quy Thọ
Người hướng dẫn PGS.TS Hà Quốc Trung
Trường học Trường Đại Học Bách Khoa Hà Nội
Chuyên ngành Công Nghệ Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2013
Thành phố Hà Nội
Định dạng
Số trang 87
Dung lượng 2,33 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LƯƠNG QUY THỌ GIẢI PHÁP SỬ DỤNG P2P NHƯ CÔNG CỤ TRUYỀN THÔNG CHO CÁC ỨNG DỤNG CLIENT-SERVER Chuyên ngành : Công nghệ thông tin LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS HÀ QUỐC TRUNG Hà Nội – 2013 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061131832381000000 LỜI CAM ĐOAN Tôi Lương Quy Thọ, học viên cao học lớp 11BCNTT khóa 2011B giáo viên hướng dẫn PGS.TS Hà Quốc Trung hướng dẫn Tôi xin cam đoan tồn nội dung trình bày luận văn “Giải pháp sử dụng P2P công cụ truyền thông cho ứng dụng Client-Server” kết tìm hiểu nghiên cứu riêng tơi hướng dẫn PGS.TS Hà Quốc Trung Các kết liệu nêu luận văn hoàn tồn trung thực rõ ràng Mọi thơng tin trích dẫn tuân theo luật sở hữu trí tuệ, liệt kê rõ ràng tài liệu tham khảo Tôi xin chịu hoàn toàn trách nhiệm với nội dung viết luận văn Hà nội, ngày 18 tháng 12 năm 2013 Học viên Lương Quy Thọ LỜI CẢM ƠN Tôi xin gửi lời cám ơn sâu sắc tới PGS.TS Hà Quốc Trung, người tận tình hướng dẫn để tơi hồn thành luận văn Tôi xin gửi lời cám ơn chân thành tới quý thầy cô viện Công nghệ thông tin truyền thông, viện Đào tạo sau đại học truyền dạy kiến thức q báu khố học Tơi xin gửi lời cám ơn tới ban tổ chức hội nghị khoa học ACM-SoICT 2013 cho hội hồn thiện nghiên cứu Cuối cùng, tơi xin gửi lời cám ơn tới gia đình, bạn bè, quan công tác giúp đỡ trình thực luận văn Hà nội, ngày 18 tháng 12 năm 2013 Học viên Lương Quy Thọ MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC HÌNH VẼ, ĐỒ THỊ CHƯƠNG I: TỔNG QUAN CHƯƠNG II: CƠ SỞ LÝ THUYẾT 10 2.1 Mơ hình Client-Server 10 2.2.1 Phân loại server 15 2.2.2 Phân loại client 16 2.2.3 Kiến trúc client-server 17 2.2.4 Ưu điểm nhược điểm mơ hình client-server 21 2.2 Mơ hình peer-to-peer 23 2.2.1 Mạng P2P 24 2.2.2 Định tuyến dò tìm tài nguyên 24 2.2.3 Phân loại mạng P2P 24 2.2.4 Ứng dụng P2P thực tế 28 2.3 Thuật toán thay trang 39 2.3.1 Tổng quan 39 2.3.2 Quá trình tiền dọn 40 2.3.3 Quản lý trang trước kỳ hạn 41 2.3.4 Thuật toán đánh dấu 41 2.3.5 Thuật toán thay trang 42 2.4 Công nghệ triển khai ứng dụng P2P 53 2.4.1 Công nghệ JXTA 53 2.4.2 Công nghệ WebRTC 56 CHƯƠNG III: MƠ HÌNH CHIA SẺ CACHE SỬ DỤNG P2P 60 3.1 Caching model 60 3.2 Local proxy model 64 3.3 Shared-caching model 65 CHƯƠNG IV: THIẾT KẾ ỨNG DỤNG CHIA SẺ FILE SỬ DỤNG MƠ HÌNH CHIA SẺ CACHE 69 4.1 Giới thiệu ứng dụng 69 4.2 Thiết kế ứng dụng 70 4.2.1 Thiết kế chức 70 4.2.2 Thiết kế module 71 4.2.3 Tổ chức liệu 74 4.3 Công nghệ sử dụng 78 4.4 Thử nghiệm 80 CHƯƠNG V: KẾT LUẬN 84 DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 2.1: Mơ hình Client-Server 10 Hình 2.2: Trao đổi liệu Client Server chế độ bị phong tỏa 12 Hình 2.3: Năng lực xử lý Nginx so với Apache web server 13 Hình 2.4: So sánh khả quản lý nhớ Nginx Apache web server 14 Hình 2.5: Cơ chế hoạt động blocking-server 14 Hình 2.6: chế hoạt động non-blocking server [ref] 15 Hình 2.7: Phân loại client 17 Hình 2.8: Phân loại Client-Server theo kiến trúc logic 18 Hình 2.9: Kiến trúc Client-Server tầng 19 Hình 2.10: Kiến trúc Client-Server tầng 20 Hình 2.11: Kiến trúc Client-Server n tầng 21 Hình 2.12: Mạng phi cấu trúc 25 Hình 2.13: Mơ hình mạng có cấu trúc 26 Hình 2.14: Cơ chế bàng băm phân tán DHT 26 Hình 2.15: Mơ hình ứng dụng Spotify 31 Hình 2.16: Mơ hình mạng Napster 35 Hình 2.17: Mơ hình mạng Gnutella 37 Hình 2.18: Kiến trúc JXTA 55 Hình 2.19: Kiến trúc WebRTC 58 Hình 3.1: Caching model 60 Hình 3.2: Cơ chế hoạt động mơ hình Caching model 62 Hình 3.3: Mơ hình Local-Proxy 65 Hình 3.4: Shared-caching Model 66 Hình 3.5: Cơ chế hoạt động mơ hình Shared-caching model 68 Hình 4.1: Mơ hình hoạt động ứng dụng Quicknode 69 Hình 4.2: Các module ứng dụng Quicknode 74 Hình 4.3: Tốc độ download P2P Client-Server 82 Hình 4.4: Đồ thị thời gian tốc độ download file (kích thước 48,11MB) 83 CHƯƠNG I: TỔNG QUAN Mơ hình client-server mơ hình triển khai ứng dụng phân tán phổ biến khả phát triển triển khai ứng dụng dễ dàng Trong mơ hình này, thành phần cung cấp dịch vụ hay tài nguyên gọi server, thành phần gọi service cung cấp server gọi client Thông thường client server đặt máy vật lý khác giao tiếp với thông qua hệ thống mạng Một máy server chạy nhiều ứng dụng server, ứng dụng server chia sẻ tài nguyên với client Một client không chia sẻ tài nguyên với client khác ngoại trừ việc gửi truy vấn tới dịch vụ máy server Mô hình client-server phát triển Xerox PARC vào năm 1970 Các ứng dụng Email, WWW ví dụ điển hình mơ hình client-server Đặc điểm bật kiến trúc client-server gồm: • Quản lý tập trung: liệu lưu trữ tập trung server thay nằm rải rác nhiều máy, giúp đơn giản hóa việc truy xuất cập nhật liệu • Dễ bảo trì: nhờ khả quản lý tập trung mà cơng việc bảo trì trở nên dễ dàng phần lớn việc bảo trì cần thực server Trong trường hợp hệ thống có nhiều server với thiết bị dự phịng, q trình bảo trì (như sửa chữa, thay server) diễn hồn tồn suốt với client • Bảo mật: liệu tập trung server đồng nghĩa với việc kiểm sốt dễ dàng an tồn Các ưu điểm khiến ứng dụng phát triển theo mơ hình Client-Server trở nên dễ dàng linh hoạt: • Ứng dụng sau phân tích nghiệp vụ thiết kế protocol chuẩn giao tiếp client server • Tuân theo protocol, ứng dụng client server phát triển độc lập, sử dụng công nghệ khác với nhiều tùy chọn linh hoạt (server: Java, Python, Ruby; client: Java Swing, C# Winform, HTML5, Mobile) Các ứng dụng client-server phát triển độc lập đảm bảo khả dễ nâng cấp, bảo trì • Ứng dụng client-server cịn dễ dàng phát triển chỗ: có nhiều tùy chọn giao thức kết nối client-server tùy chọn hỗ trợ mặc định ngôn ngữ phát triển Các giao thức phổ biến kể đến như: TCP/IP, UDP, HTTP • Việc triển khai ứng dụng dễ dàng: cài đặt server máy chủ vật lý Các ứng dụng client phân phối qua mạng người dùng cài đặt vào máy Các công nghệ: web application, Java Webstart, NET Oneclick cho phép ứng dụng tự động nâng cấp có thay đổi server Bên cạnh ưu điểm mơ hình client-server, đặc điểm mơ hình tạo yếu điểm server bottleneck Server bottleneck xử lý giải pháp scale-up ứng dụng như: nâng cấp server, sử dụng load balancing [1] để phân tải nhiều máy chủ vật lý Tuy nhiên giải pháp thường có chi phí cao Với ứng dụng chia sẻ giao tiếp thời gian thực (Audio, Video) hay ứng dụng chia sẻ file cần server có băng thơng lớn Bên cạnh giải pháp scale-up hệ thống, giải pháp sử dụng cache client giải pháp thường sử dụng Dữ liệu chuyển qua client cache lại phục vụ cho lần sử dụng tiếp theo, chế cache hiệu cải thiện đáng kể hiệu truy cập service từ server Các thuật toán cache gọi là: “page replacement algorithm”[5] Tuy nhiên cache miss xảy ra, client phải liên lạc với server để lấy liệu Như tính co giãn hệ thống khơng đảm bảo Ngồi sử dụng cache khơng giải tốn chia sẻ liệu realtime, có nhiều client đăng ký nhận thông tin broadcast từ server Giải pháp khác giải bottleneck server triển khai ứng dụng theo mơ hình Peer-to-peer (P2P) P2P mơ hình triển khai ứng dụng phân tán, node mạng (được gọi “peer”) vừa đóng vai trị node cung cấp lẫn node sử dụng dịch vụ, khác với mơ hình client-server client sử dụng dịch vụ cung cấp server Việc node mơ hình P2P vừa đóng vai trị node sử dụng lẫn cung cấp dịch vụ dẫn đến xử lý toàn hệ thống phân chia node mạng giải vấn đề bottleneck mơ hình client-server, đặc biệt ứng dụng chia sẻ liệu lớn, băng thông hệ thống chia máy, đảm bảo khả mở rộng hệ thống với chi phí tối ưu Tuy nhiên mơ hình P2P có yếu điểm là: triển khai phức tạp thao tác: tìm kiếm liệu, lưu trữ phân tán liệu node chế đảm bảo liệu sẵn sàng có số lượng node định rời khỏi hệ thống Mặt khác mơ hình P2P khó khăn việc bảo trì nâng cấp hệ thống so với ứng dụng client-server xử lý tập trung server Ngoài điểm khác làm cho P2P lựa chọn số cho ứng dụng phân tán tính an toàn liệu lưu trữ phân tán nhiều node Một số ứng dụng chí khơng thể triển khai theo mơ hình P2P u cầu an toàn lưu trữ tập trung liệu: ứng dụng có liệu nhạy cảm: ứng dụng ngân hàng core-banking, ứng dụng chứng khoán, ứng dụng mail… Qua tìm hiểu ta rút ra: • Ứng dụng dựa mơ hình Client-Server dễ phát triển gặp server bottleneck giới hạn băng thơng • Ứng dụng dựa mơ hình P2P làm hệ thống có tính co dãn cao khó triển khai do: lookup service, protocol phức tạp,cơ chế phân tán liệu node đảm bảo tính liệu sẵn sàng cao phức tạp Đề tài chọn nghiên cứu luận văn “Giải pháp sử dụng P2P công cụ truyền thông cho ứng dụng Client-Server” Mơ hình tơi nghiên cứu luận văn sử dụng mơ hình P2P kết hợp với Client-Server Cache để scale-out hệ thống, giải bottleneck server phức tạp triển khai ứng dụng P2P đồng thời tận dụng tính đơn giản mơ hình Client-Server khả co giãn cao hệ thống dựa P2P Ngoài hướng tiếp cận đề xuất luận văn hướng tới việc nâng cấp ứng dụng Client-Server có sẵn để sử dụng thêm kết nối P2P Cache Trong phần thử nghiệm, tơi tiến hành áp dụng mơ hình đề xuất vào ứng dụng chia sẻ file để đưa số liệu hiệu mơ khả ứng dụng mơ hình vào hệ thống sử dụng mơ hình Client-Server có

Ngày đăng: 26/01/2024, 15:27

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

TÀI LIỆU LIÊN QUAN

w