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

MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ

22 734 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 22
Dung lượng 391 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với hệ phân tán không có bộ nhớ chung, bộ tạoxung đồng hồ chung, khả năng gắn bó và việc đồng bộ hóa cho hệ chỉ dựa trên phươngtiện duy nhất là truyền thông điệp, nên lời giải cho yêu cầ

Trang 1

LỜI MỞ ĐẦU

Hệ tin học phân tán là hệ thống rất đa dạng, đa diện, phức tạp về mặt cấu trúc, là vùngtri thức hiện đại đang được các chuyên gia công nghệ thông tin đặc biệt quan tâm và đổimới rất nhanh chóng

Một trong những tư tưởng lớn của các hệ phân tán là phân tán hóa các quá trình xử lýthông tin và thực hiện các công việc đó trên các trạm xa nhau Đó là cơ sở để xây dựngcác hệ ứng dụng lớn như thương mại điện tử, giáo dục điện tử, chính phủ điện tử .Phân tán hóa các quá trình xử lý, tạo nên ưu thế của hệ có thể đáp ứng việc giải quyếtcác bài toán lớn, một cách nhanh chóng, nhưng cũng tạo tính phức tạp, nan giải trong cácyêu cầu thiết lập hệ Việc hợp lực của các thành viên trong hệ, dẫn đến hàng loạt các vấn

đề như: định danh, cấp phát tài nguyên dùng chung (đảm bảo tránh tương tranh), giảiquyết sự cố tạo nên tính tin cậy của hệ Để đảm bảo tính gắn bó của hệ, yêu cầu đặt ratrước hết là đồng bộ hóa các tiến trình Với hệ phân tán (không có bộ nhớ chung, bộ tạoxung đồng hồ chung), khả năng gắn bó và việc đồng bộ hóa cho hệ chỉ dựa trên phươngtiện duy nhất là truyền thông điệp, nên lời giải cho yêu cầu đồng bộ hóa thường chỉ dừnglại ở mức chấp nhận được đối với mỗi hệ

Trong giới hạn của một báo cáo tiểu luận kết thúc môn học, nội dung của bản báocáo sẽ được trình bày theo chủ đề trong phần “ Đề tài tiểu luận và bài tập môn Hệ TinHọc Phân Tán” của PGS TS Lê Văn Sơn, bao gồm :

Phần I lí thuyết : MÔ HÌNH CLIENT/SERVER

Phần II chương trình: VIẾT CHƯƠNG TRÌNH MÔ PHỎNG

QUÁ TRÌNH ĐỒNG BỘ CỦA BÃI ĐẬU XE Ô TÔ CÓ n CỔNG ( n  2).).

Được sự giúp đỡ tận tình của Thầy giáo hướng dẫn và các bạn đồng nghiệp, tôi đãhoàn thành được những nhiệm vụ cơ bản đề ra Tuy nhiên, với thời gian và kiến thức cóhạn, bản báo cáo này chắn chắn còn nhiều khiếm khuyết, tôi rất mong nhận được góp ýchân thành của Thầy giáo và các bạn đồng nghiệp

Trang 2

PHẦN I LÝ THUYẾT

MÔ HÌNH CLIENT / SERVER

I.1 NGUYÊN TẮC HOẠT ĐỘNG CLIENT/SERVER :

Mô hình Client/Server là một hệ thống gồm ít nhất một máy chủ ( Server ) và cácmáy trạm ( Workstation hay Client ) nối vào máy chủ đó thông qua môi trường mạng.Trên Server cài đặt hệ điều hành mạng ( Network Operating System ) để điều khiển hệthống Trên Client có thể cài đặt bất cứ phần mềm nào, miễn là có khả năng giao tiếp vớiServer Hệ thống mạng ở đây có thể là mạng cục bộ hay mạng diện rộng Đôi khi Servercũng đóng vai trò của một Client khi nó yêu cầu tài nguyên từ một Server khác Có thểnói mô hình Client/Server là mô hình có ảnh hưởng lớn đến ngành Công nghệ thông tin

Mô hình Client/Server đã biến những máy tính riêng lẻ có khả năng xử lí thấp thànhmột mạng các máy chủ và các máy trạm có khả năng xử lí gấp hàng ngàn lần nhữngchiếc máy tính mạnh nhất

Mô hình Client/Server cho phép một ứng dụng được chia thành nhiều nhiệm vụ Mỗinhiệm vụ có thể thực hiện trên các môi trường khác nhau dưới hệ điều hành khác nhau,giao thức mạng khác nhau, được phát triển và duy trì độc lập cũng như thực hiện trênnhiều máy tính khác nhau trong mạng

Vấn đề quan trọng ở đây là sự phân chia nhiệm vụ đối với từng thành phần Tổ chứcthực hiện, phân chia tài nguyên cho từng thành phần cũng là vấn đề quan tâm Tất nhiên,việc tổ chức tốt sẽ đem lại hiệu quả cao

Client thông qua phần mềm gởi yêu cầu truy vấn thông tin hoặc cập nhật thông tinnhư xem dung lượng đĩa, sửa đổi hay xoá bỏ tập tin, thư mục.v.v về cho Server,Server nhận được yêu cầu, sau khi kiểm tra quyền truy cập của người dùng, tiến hành giảiquyết yêu cầu đó rồi gởi trả về cho Client

Khi nhận được yêu cầu cập nhật thông tin, ngoài việc kiểm tra quyền cập nhật,Server còn đảm bảo tính hoàn thiện của việc cập nhật Mô hình Client/Server đã giúpphát triển một phương thức ứng dụng mới là việc phân chia ứng dụng thành nhiều thànhphần, mỗi thành phần thực hiện những chức năng chuyên biệt Thông thường một ứngdụng được chia làm 03 phần :

Giao diện người dùng ( User interface ) : Thành phần này liên quan đến các chức

năng tương tác với người dùng như phát ra yêu cầu dữ liệu đối với người dùng hoặc cáchthức đón nhận dữ liệu từ người sử dụng Để tiến hành thực hiện giao diện này thuộc vềphần Logic trình bày

Logic trình bày ( Presentation Logic ) : Thành phần này là cầu nối giữa người dùng

và ứng dụng như cung cấp chức năng của ứng dụng cho người dùng và nhận những lệnh

Trang 3

từ người dùng cho ứng dụng Vì thành phần này đảm đương trách nhiệm hiển thị, địnhdạng các thành phần giao tiếp với người dùng như định dạng màn hình, quản lí các hộpthoại, các cửa sổ, đọc ghi các thông tin trên màn hình, điều khiển bàn phím, chuột, hoặc các cơ chế trợ giúp theo ngữ cảnh, kiểm tra quyền truy cập cho nên thành phần nàyđược thiết kế sao cho càng thân thiện với người dùng càng tốt.

Logic ứng dụng ( Application Logic ) : Thành phần này đóng vai trò quan trọng, là

phần lõi của một chương trình Nó đảm đương việc thực thi ứng dụng, cung cấp tất cả cácchức năng có thể có của chương trình cho thành phần logic trình bày ở trên như đáp ứngcác yêu cầu từ người dùng, quản lí các cơ sở dữ liệu, Thông thường nó gồm hai phần :

Thao tác dữ liệu ( Data Processing logic ) và Xử lí dữ liệu (Database Processing)

Mạng

Clien

t

CSDLServer

Trang 4

các thiết bị truyền thông để thực hiện trao đổi dữ liệu với Server cũng như các Clientkhác.

Tuỳ theo loại ứng dụng mà có thể yêu cầu cấu hình đối với Client Client có thể tổchức thực hiện các công việc riêng của mình, xử lí dữ liệu trước khi gởi tới Server hoặc

dữ liệu gởi về từ Server Tự nó điều độ các tài nguyên cục bộ của nó mà không ảnhhưởng tới Server

I.1.2) SERVER:

Vì Server thực hiện nhiều công việc cho nên nó phải là một máy đủ mạnh như khảnăng bộ xử lí, không gian bộ nhớ, dung lượng đĩa cứng và độ tin cậy cao,

Máy Server cần có hệ điều hành thích hợp để chạy Tuỳ theo yêu cầu của hệ thống

mà lựa chọn phần mềm cho Server một cách hợp lí Nó có thể là phần mềm quản trị cơ sở

dữ liệu, một phần hoặc toàn bộ phần mềm mạng Server cung cấp dữ liệu cho cácClient khi có các yêu cầu Đảm bảo hệ thống hoạt động một cách hiệu quả, thông suốttránh tình trạng tắc nghẽn, xung đột khi có các yêu cầu giống nhau từ phía các Client.Trên Server cần có các giải pháp tối ưu để chia sẻ tài nguyên dùng chung cho các nhiệm

vụ cũng như cho các Client

Trong hệ thống có nhiều Server, một Server có thể gởi yêu cầu đến các Server khác,khi đó nó đóng vai trò là một Client Như vậy, việc xác định đâu là Client, đâu là serverchỉ có tính tương đối Điều này tạo ra tính mềm dẻo trong hệ thống

Trên hệ thống có nhiều Server, mỗi Server có một chức năng nhất định Người taphân Server ra làm 06 loại tuỳ theo chức năng của chúng như sau :

Application Server : Server này đóng vai trò Host trong các hệ thống Host base

Processing

File Server : Quản lý file của hệ thống.

Data Server : Xử lí dữ liệu, tổ chức, lưu trử dữ liệu, thực hiện các truy vấn dữ liệu

và các cơ chế toàn vẹn dữ liệu

Compute Server : Tương tác dữ liệu, Server này hoạt động dựa trên Compute Server

và Data Server Khi nó yêu cầu thao tác dữ liệu, Compute Server chuyển giao tác vụ vàData Server xử lí dữ liệu

Communication Server : Đảm đương chức năng cầu nối với một Server khác ở xa

hoặc mạng khác

I.1.3 MẠNG:

Mạng là yếu tố quan trọng của mô hình Client/Server Trước hết nó là nền tảng trên

đó ta triển khai mô hình Mạng đảm bảo cho việc giao tiếp giữa Client và Server thông

Trang 5

qua các hoạt động truyền thông Mạng cũng là môi trường đảm bảo sự phân tán chứcnăng đến Client.

Phần cứng yêu cầu của mạng là mạng máy tính thực sự, cung cấp khả năng giao tiếpvới nhau giữa các thành phần trong mạng Các thành phần cụ thể như cáp, card mạng, cácthiết bị liên kết Client với Server ( router, gateway, bridge )

Phần mềm mạng đảm bảo duy trì các hoạt động truyền thông trên mạng Hệ điềuhành mạng chịu trách nhiệm quản lí các vấn đề liên quan đến việc truy xuất trên mạngcủa Server Mỗi một hệ điều hành mạng có các qui tắc giao tiếp khác nhau giữa Client vàServer Các qui tắc này được gọi là giao thức

I.1.3.1 GIAO THỨC

Để máy tính có thể liên lạc với nhau qua mạng, chúng phải sử dụng cùng 1 ngôn ngữhay còn gọi là giao thức (Protocol) Giao thức là một hệ luật chuẩn cho phép các máytính trong mạng liên lạc với nhau

- TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều KhiểnTruyền Thông) / Internet Protocol (Giao thức Internet)

- TCP/IP không chỉ gồm 2 giao thức mà thực tế nó là tập hợp của nhiều giaothức Chúng ta gọi đó là 1 Hệ Giao Thức hay Bộ Giao Thức (Suite Of Protocols)

- Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyềnthông 4 tầng hay còn gọi là Mô Hình DoD (Mô hình của Bộ Quốc Phòng Mỹ) Các tầngtrong mô hình này là (Theo thứ tự từ trên xuống)

- Tầng ứng dụng (Application Layer)

- Tầng Giao Vận (Transport Layer)

- Tầng Liên Mạng (Internet Layer)

- Tầng Giao Diện Mạng (Network Interface Layer)

I 1.3.1.1 Tầng Giao Diện Mạng (Network Interface Layer):

- Tầng Giao Diện Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phươngtiện truyền dẫn Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng vàCáp mạng

- 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0-F4)được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu

- Một số giao thức tiêu biểu thuộc tầng này gồm :

+ ATM (Asynchronous Transfer Mode)

+ Ethernet

+ Token Ring

Trang 6

+ FDDI (Fiber Distributed Data Interface)

+ Frame Relay

I 1.3.1.2 Tầng Liên Mạng (Internet Layer):

Nằm bên trên tầng giao diện mạng Tầng này có chức năng gán địa chỉ, đóng gói vàđịnh tuyến (Route) dữ liệu 4 giao thức quan trọng nhất trong tầng này gồm:

+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền vàđịnh tuyến chúng tới đích

+ ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máyđích thành địa chỉ MAC

+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trongtrường hợp truyền dữ liệu bị hỏng

+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đahướng (Multicast)

I 1.3.1.3 Tầng Giao Vận (Transport Layer):

Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cáchtruyền dữ liệu 2 giao thức chính trong tầng này gồm:

+ UDP (User Datagram Protocol): Còn gọi là Giao Thức Gói Người Dùng UDPcung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu 1 cáchtin cậy Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tincậy dữ liệu phụ thuộc vào từng ứng dụng

+ TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênhtruyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy TCP thường truyềncác gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận

I 1.3.1.4 Tầng Ứng Dụng (Application Layer):

Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng Được sử dụng để địnhdạng và trao đổi thông tin người dùng 1 số giao thức thông dụng trong tầng này là:

+ DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động+ DNS (Domain Name System): Hệ Thống Tên Miền

+ SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng ĐơnGiản

+ FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin

+ TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường+ SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản

+ TELNET

Bảng sau mô tả khái quát về Bộ giao thức TCP/IP

Trang 7

I.2) PHÂN LOẠI ỨNG DỤNG CLIENT/SERVER

Đối với các ứng dụng Client/Server tuỳ thuộc vào yêu cầu của nó mà giao nhiệm vụcho Client hay Server để thực hiện một cách có hiệu quả nhất Căn cứ vào sự bố trí nhiệm

vụ trên Client hay Server mà ta phân thành các loại ứng dụng Client/Server như sau :

I.2) 1 HOST BASE PROCESSING

Đây là mô hình tương tự như mô hình Host-Termainal Mọi công việc đều do Server

xử lí, Client chỉ có nhiệm vụ hiển thị kết quả Khi đó các thành phần của ứng dụng đềuđặt tại cùng một hệ thống Như vậy ứng dụng bị hạn chế tài nguyên từ Client hay cácServer khác

I.2) 2) CLIENT BASE PROCESSING

Đối với loại này thì thành phần Logic ứng dụng được đặt tại Client, Server chỉ cónhiệm vụ phân phối xử lí cho các Client Tuy nhiên, có nhiều cách phân chia thành phần

xử lí ứng dụng giữa Client ( thường gồm Logic trình bày và một phần Logic ứng dụng )

và Server Trên quan điểm phân phối các thành phần đó ta có thể chọn các mô hình cụthể:

Client đảm đương việc trình bày

Client nắm vai trò quản trị cơ sở dữ liệu

Server xử lí hầu hết dữ liệu nhưng Client có thể thao tác dữ liệu

Mô hình này tỏ ra tiên tiến hơn ở sự phân tán chức năng giữa Client và Server tuỳtheo yêu cầu cụ thể

Trang 8

I.2) 3 COOPERATIVE PROCESSING

Loại này được xử lí theo cơ chế Peer - to Peer, trong đó vai tròi của Client và Server

như nhau Mỗi thành phần có thể yêu cầu các thành phần khác cung cấp dịch vụ và ngượclại Như vậy, vai trò Client và Server thay đổi tuỳ theo đối tượng nào yêu cầu

I.3 ƯU NHƯỢC ĐIỂM CỦA MÔ HÌNH CLIENT/SERVER

I.3.1 ƯU ĐIỂM

Mô hình Client/Server tạo ra khả năng mềm dẻo trong quan hệ giữa Client và Server.Client có thể đảm đương một số nhiệm vụ thay cho Server và Server có thể phân phối tác

vụ cho nó Điều này làm giảm bớt gánh nặng cho Server, tận dụng khả năng của Client.Như vậy chi phí cũng giảm đáng kể

Client/Server mở ra khả năng sử dụng tài nguyên dùng chung trên mạng như phầnmềm, máy in đĩa cứng, Các tài nguyên này trước đây chỉ nằm trên một hệ thống do đóchỉ được khai thác trực tiếp với Host đó Nay nó được phân phát cho các nhiệm vụ, cáctrạm làm việc cũng như các Server khác trong cùng hệ thống

Client/Server cho phép phối hợp quản lý tập trung và không tập trung Các chứcnăng có thể được phân tán trên các nút khác nhau, do đó làm tăng tính an toàn của hệthống cũng như khả năng quá tải tập trung trên một Server

Client/Server cho phép dùng giao diện đồ hoạ trên các trạm giúp cho việc sử dụng dễdàng hơn, các ứng dụng được phát triển nhanh, dễ được người dùng chấp nhận

Client/Server cũng chú ý và khuyến khích các hệ thống mở Client và Server có thểchạy trên các cấu hình cứng và mềm khác nhau, giải phóng sự phụ thuộc của người sửdụng vào một cấu hình cụ thể, một nhà cung cấp cụ thể

I.3.2) NHƯỢC ĐIỂM

Bên cạnh những ưu điểm trên, Client/Server cũng thể hiện những nhược điểm củachính nó :

Khi ứng dụng chủ yếu đặt ở Server, Server có nhiều nguy cơ tắc nghẽn, xung đột Do

đó đòi hỏi các chiến lược phân chia tài nguyên, phân phối nhiệm vụ cũng như đáp ứngcác nhu cầu một cách có hiệu quả

Đối với các ứng dụng phân tán, khi phân chia nhiệm vụ phức tạp hơn nhiều so vớicác ứng dụng không phân tán

Môi trường có nhiều người sử dụng đòi hỏi các cơ chế bảo mật dữ liệu Cần phải cóhiểu biết và phương pháp kỹ thuật mới có thể giải quyết vấn đề một cách tối ưu

I.4 MỘT SỐ ỨNG DỤNG: Kiến trúc Client-Server của BOINC

Công nghệ Client-Server đề cập đến mô hình client-server mà Boinc hoạt động dựatrên nó Framework của Boinc bao gồm 2 lớp hoạt động theo kiển trúc Client-Server.Một khi phần mềm Boinc server được cài đặt trên 1 máy, nó sẽ bắt đầu gửi các task đến

Trang 9

cho Clients Các hoạt động tính toán được thực hiện phía Client (client-side) và kết quảsau đó sẽ được upload lên phía server (server-side)

I.4.1 Thiết kế và kiến trúc của Boinc

- Boinc được thiết kế để trở thành một kiến trúc mở và miễn phí cho các dự án tínhtoán phân tán

- Boinc bao gồm một hệ thống server và phần mềm client giao tiếp với nhau đểphân chia, xử lý và trả về kết quả của các workunit

I.4.2 Kiến trúc của Boinc server

Một thành phần chính của Boinc là server backend (xương sống) Server này có thểchạy trên 1 hay nhiều máy, để cho phép Boinc có thể dễ dàng mở rộng phạm vi, quy môcủa các dự án Boinc server chạy trên các máy tính với hệ điều hành Linux, và dùngAPACHE, PHP, MySQL làm nền tảng cho hệ thống web và hệ cơ sở dữ liệu của nó.Các hoạt động tính toán khoa học chạy trên các máy thành viên và các kết quả sẽđược phân tích sau khi nó được gửi từ các máy PC của người tình nguyện lên cơ sở dữliệu của các nhà nghiên cứu khoa học và được kiểm tra (validator) bởi server backend.Quá trình kiểm tra này đòi hỏi chạy tất cả các task (nhiệm vụ, workunit) trên nhiều máytình nguyện và so sánh các kết quả của 1 workunit với nhau

Boinc server cũng cung cấp các chức năng khác như :

- Homogeneous redundancy (Chỉ gửi các workunit đến các máy có cùng platform

VD : các máy có HDH Window XP SP 2) để giúp cho quá trình validator được dễ dàng

và chính xác hơn

- Workunit trickling (Gửi các thông tin đến server trước khi các workunit hoànthành) giúp cho việc đánh giá để có thể gửi 1 workunit mới kịp thời, giảm tối thiểu thờigian nhàn rỗi của máy tình nguyện

- Locality Scheduling (Gửi các workunit đến các máy tính đã có các file cần thiết để

có thể thực thi ngay và tạo các work theo yêu cầu)

- Phân phát công việc dựa trên các tham số của host (VD : workunit yêu cầu 512MbRAM, thì nó sẽ chỉ được gửi tới các host có ít nhất từng ấy RAM.)

Phía Server thường gồm 2 chương trình CGI và 5 deamons (chương trình hay tiếntrình ngầm), được viết bằng ngôn ngữ C++ Viêc tính toán được thực hiện ở phía Clientđược gọi là workunit Một kết quả (result) là 1 thể hiện (instance) của workunit, thậm chíngay cả khi workunit chưa hoàn thành Một project không nhất thiết phải tạo ra các result

mà chính server đã tạo ra các result 1 cách tự động tương ứng với các workunit

Một chương trình CGI lập lịch xử lý các yêu cầu từ phía client, nhận các workunit đãhoàn thành và gửi đi các công việc mới (cgi)

Một chương trình CGI xử lý việc upload file (file_upload_handler)

Bộ lập lịch không lấy các result (workunit chưa hoàn thành – Thực chất các result là

đã được tạo ngay từ lần đầu tiên các workunit được tạo ra và được lưu sẵn trong CSDL.Tuy nhiên chỉ khi nào workunit tương ứng xử lý xong, gửi lên server thì result tương ứng

đó mới được đánh dấu là đã hoàn thành Do đó khái niệm result ở đây có thể coi làworkunit chưa hoàn thành) sẵn có một cách trực tiếp từ CSDL Thay vào đó, có 1 chươngtrình ngầm feeder sẽ nạp các task(thực chất 1 workunit được chia thành các task, mỗi task

sẽ có tương ứng 1 result tương ứng để « đặt chỗ » sẵn trong CSDL, task nào hoàn thành,upload lên server thì result tương ứng sẽ được đánh dấu là hoàn thành) từ CSDL và lưuchúng trong các khối nhớ để cho bộ lập lịch đọc ra Feeder sẽ định kì làm rỗng các «khe

» trong khối nhớ sau khi các task được gửi đến client

Trang 10

Khi tất cả các result của 1 workunit đã thực hiện xong và được gửi trả về cho server,thành phần validator sẽ so sánh chúng Thành phần validator có thể có các thành phầncode do người phát triển project đặt ra để thực hiện sự so sánh mờ (so sánh tương đồi, ví

dụ như trừ cho nhau hay dùng 1 hàm đánh giá ) giữa các kết quả, hoặc nó có thể chỉ là sosánh các bit Nếu các kết quả khớp với nhau, workunit sẽ được đánh dấu là hợp lệ, ngườitình nguyện sẽ được « gán » credit và 1 kết quả (result) thích hợp sẽ được chọn choworkunit đó

Tiếp đó, deamon assimilator (đồng hoá, xử lý kết quả) xử lý các result hợp lệ, sửdụng các code chuyên dụng của dự án Ví dụ : một vài dự án có thể phân tích các file vàlưu trữ thông tin vào trong CSDL, mặt khác có thể đơn giản chỉ là copy file sang 1 chỗkhác Một bộ đồng hoá cũng có thể sinh ra các workunit mới dựa trên các kết quả hay dữliệu trả về bởi client

Deamon file_deleter sẽ xoá các file output sau khi assimilator đã xử lý chúng, đồng thời

xoá các file input không cần thiết nữa

Deamon transitioner xử lý các chuyển trạng thái của các workunit và result (hoàn thành,

chưa hoàn thành, valid, not valid) Nó cũng đồng thời sinh ra các result (tương ứng vớicác task chưa hoàn thành) từ workunit khi workunit được tạo ra lần đầu tiên và có thểthêm các result nữa nếu cần thêm (VD : khi 1 result không hợp lệ - do không vượt quađược quá trình validator hoặc thậm chí là do được gửi lên server quá chậm)

Trang 11

PHẦN II: CHƯƠNG TRÌNH :

ĐỀ BÀI : Viết chương trình mô phỏng quá trình đồng bộ hóa của bãi đậu xe ô tô có

n cổng (n  2)

CƠ SỞ LÝ THUYẾT :

Trong phần chương trình mô phỏng quá trình đồng bộ hóa của bãi đậu xe ô tô có n

cổng (n  2), cơ sở lý thuyết chúng ta cần quan tâm đến là “Bài toán bãi đậu xe ô tô” và

“Đồng bộ hóa các tiến trình trong Hệ Phân tán”

II.1 BÀI TOÁN BÃI ĐẬU XE Ô TÔ:

1 Phát biểu bài toán : Cho hình vẽ sau

Hình III.2) Mô phỏng bãi đậu xe ô tô

Trong đó, BV - người bảo vệ có nhiệm vụ phân phối chỗ cho các xe ô tô, VT - vị trí chotừng xe ô tô cụ thể Các mũi tên hai chiều được sử dụng để mô tả dòng vào ra của ô tô

Bài toán bãi đậu xe đặt ra hai tình huống như sau :

* Tình huống thứ nhất :

Ta giả sử rằng bãi để xe ô tô là loại bãi lớn có một cổng vào dưới sự kiểm soát củamột người bảo vệ (NBV) duy nhất NBV chỉ biết được một phần của trạng thái bãi để xe.Trong khi anh ta nghĩ rằng bãi xe đã bị đầy, khi đó lại có nhiều lái xe đang cho xe chạy racổng Vì suy nghĩ như vậy, trong trường hợp này anh ta không giải quyết cho các xe kháctiếp tục vào bãi nữa, mặt dù lúc này trong bãi đang có chỗ trống Như vậy, NBV khôngnắm được trạng thái hiện hành của bãi

B V

B V

B V

B V

VT

B V

B V

B V

B V

VT

B V

B V

B V

B V

VT

VT VT

Ngày đăng: 23/03/2015, 18:25

HÌNH ẢNH LIÊN QUAN

Hình III.2).. Mô phỏng bãi đậu xe ô tô - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
nh III.2).. Mô phỏng bãi đậu xe ô tô (Trang 11)
Bảng II-1 Stt ký hiệu thông tin phát đi - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
ng II-1 Stt ký hiệu thông tin phát đi (Trang 12)
Bảng II-2: cho thấy, nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được  của các người bảo vệ thì mỗi NBV sẽ có thông tin về số lượng chỗ trống khác nhau - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
ng II-2: cho thấy, nếu ta không có ràng buộc nào đối với trình tự xử lý các thông điệp nhận được của các người bảo vệ thì mỗi NBV sẽ có thông tin về số lượng chỗ trống khác nhau (Trang 12)
Sơ đồ của “  có trước  ”: - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
Sơ đồ c ủa “ có trước ”: (Trang 15)
Hình sau minhhọa cho dạng thông điệp với trật tự  - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
Hình sau minhhọa cho dạng thông điệp với trật tự  (Trang 17)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w