Tiểu Luận Chia sẻ dữ liệu học tập phân tán

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Mục Lục
    1 Đặt vấn đề. 2
    2 Yêu cầu thành viên và phân công nhiệm vụ. 4
    3 Mô tả hệ thống. 4
    3.1 Tóm tắt đề tài 4
    3.2 Yêu cầu chức năng. 5
    3.3 Yêu cầu phi chức năng. 6
    4 Kiến trúc hệ thống. 8
    5 Mô hình, giao thức truyền thông và thuật toán truyền thông. 9
    5.1 Mô hình truyền thông. 9
    5.2 Thuật toán sử dụng. 9
    5.2.1 Các thuật ngữ. 9
    5.2.2 Thuật toán. 11
    6 Xây dựng hệ thống. 13
    7 Các vấn đề gặp phải 15
    7.1 Thiết kế sơ đồ lớp mô phỏng quá trình chuyển trạng thái của các peer. 15
    7.2 Thiết kế lớp mô phỏng việc thực hiện thuật toán choke Algorithm 16
    7.3 Thiết kế triển khai các thuật toán lựa chọn piece. 17
    7.4 Thiết kế lớp download Piece và Block. 17
    8 Kết luận. 18








    1Đặt vấn đềNgày nay, phần lớn các hệ thống thông tin xung quanh chúng ta đều dựa trên kiến trúc phân tán. Các ứng dụng Internet như Email, Web, Chat là những ví dụ tiêu biểu. Sự phát triển mạnh mẽ của công nghệ truyền thông và công nghệ phần mềm đã mở ra các kiến trúc ứng dụng phân tán với các ưu điểm vượt trội. Những tiến bộ công nghệ mới trong các hệ thống điều khiển và giám sát cũng không nằm ngoài xu hướng đó.
    Một hệ thống phân tán hoàn toàn khác với các ứng dụng không phân tán. Có 2 loại ứng dụng không phân tán: Ứng dụng đơn độc và ứng dụng có kết nối mạng. Loại thứ nhất - được gọi là ứng dụng đơn độc (stand-alone application) — hoàn toàn dựa trên các chương trình chạy trên một máy tính. Không quan trọng là máy tính có được nối mạng hay không, các ứng dụng không có nhu cầu sử dụng tài nguyên của mạng và cũng không có khả năng trao đổi dữ liệu với một chương trình chạy trên một máy tính khác. Loại ứng dụng thứ hai được gọi là ứng dụng nối mạng (networked application). Một ứng dụng nối mạng không khác nhiều so với một ứng dụng đơn độc, chỉ có điều nó có khả năng và có nhu cầu trao đổi dữ liệu với các ứng dụng khác trong mạng. Ví dụ, một ứng dụng SCADA sử dụng một chương trình phần mềm HMI đa năng ghép nối với chương trình chạy trên một hoặc nhiều thiết bị khả trình (PLC) là một ứng dụng nối mạng. Ở đây có thể thấy rõ sự khác nhau cơ bản giữa một ứng dụng nối mạng và một ứng dụng phân tán. Trong một ứng dụng nối mạng, các chương trình không được thiết kế trên cơ sở một kiến trúc phân tán và một kiến trúc giao tiếp chung, mà được phát triển hoàn toàn độc lập, đơn lẻ với các mục đích khác nhau. Thông thường, mỗi chương trình độc lập, đơn lẻ này có một thế mạnh riêng, một phạm vi chức năng riêng, việc “nối mạng” chúng với nhau mang lại lợi thế sử dụng chung tài nguyên và các chức năng thực hiện.
    Trái lại, các chương trình của một ứng dụng phân tán được thiết kế ngay từ đầu trên một kiến trúc chung, với các chức năng được phân chia rõ ràng để cùng thực hiện một mục đích chung. Các chương trình của một ứng dụng phân tán có khả năng giao tiếp một cách tự nhiên để chia sẻ và phối hợp trong công việc, không cần một phần mềm giao diện bổ sung nào khác. Vì thế, việc xây một ứng dụng phân tán đơn giản hơn nhiều so với một ứng dụng nối mạng. Cơ chế giao tiếp giữa các chương trình trong một ứng dụng phân tán là giao tiếp ngầm (implicit communication), được tích hợp sẵn chứ người xây dựng ứng dụng không cần phải
     

    Các file đính kèm:

Đang tải...