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Ô

59 917 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

Định dạng
Số trang 59
Dung lượng 280,5 KB

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

Nội dung

 Khi một máy tính cần dùng đến những tài nguyên resources của một máy tính khác, thì: Máy có nhu cầu được xem như là client Máy cung cấp tài nguyên được gọi là server CẤU TRÚC... Trong

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC ĐÀ NẴNG

TIỂU LUẬN KẾT THÚC MÔN HỌC

HỆ TIN HỌC PHÂN TÁN

ĐỀ TÀI:

MÔ HÌNH CLIENT/SERVER &

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

Ô TÔ CÓ n CỔNG ( n 2).).

Học viên thực hiện :

NGUYỄN THỊ MAI

Trang 2

NỘI DUNG BÁO CÁO

Trang 3

• Cấu trúc

• Nguyên tắc hoạt động

• Một số khái niệm

• Phân loại

• Ưu nhược điểm

MÔ HÌNH CLIENT SERVER

Trang 4

CẤU TRÚC

Mạng

Trang 5

 Các máy tính được kết nối với nhau trong một mạng máy tính (computer network)

 Khi một máy tính cần dùng đến những tài nguyên (resources) của một máy tính khác, thì:

Máy có nhu cầu được xem như là client

Máy cung cấp tài nguyên được gọi là

server

CẤU TRÚC

Trang 7

Client gửi yêu cầu tới Server theo chuẩn quy định

Server thực hiện xử lý yêu cầu đó (có thể là bản thân nó, hoặc chuyển đến Server khác nếu có

sự liên kết)

Trả kết quả về Client

Nguyên tắc hoạt động

Trang 8

Giao tiếp với Server thông qua các thiết bị truyền thông: Mạng

Client

Trang 9

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 ảnh hưởng tới Server

Client

Trang 11

Tùy chức năng có thể phân Server thành 6 loại

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.

Server

Trang 12

WebServer : cung cấp các dịch vụ web

MailServer: quản lý và cung cấp các dịch vụ về

Email

Communication Server : Đảm đương chức năng

Server

Trang 13

Yêu cầu :

• 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,

• 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

Server

Trang 14

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 Client và Server chỉ

có tính tương đối

• Nó tạo ra tính mềm dẻo trong hệ thống

Server

Trang 15

Mạng là yếu tố quan trọng của mô hình Client/Server

Mạng đảm bảo cho việc giao tiếp giữa Client và Server thông 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ức năng đến Client

Mạng

Trang 16

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ếp vớ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ác thiết bị liên kết Client với Server ( router, gateway, bridge )

Mạng

Trang 17

Mạng

Trang 18

Giao thức

Trang 19

GIAO THỨC:

Sử dụng mô hình truyền thô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ỹ), bao gồm:

• 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)

Giao thức

Trang 20

GIAO THỨC:

Giao thức

Trang 21

Tùy thuộc vào yêu cầu cụ thể của người sử dụgn 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 để phân thành các loại ứng dụng Client/Server khác nhau

PHÂN LOẠI ỨNG DỤNG

Trang 22

HOST BASE PROCESSING

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ác Server khác

PHÂN LOẠI ỨNG DỤNG

Trang 23

CLIENT BASE PROCESSING

Đối với mô hình 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

Có nhiều cách phân chia thành phần xử lý ứng dụng giữa Client và Server

PHÂN LOẠI ỨNG DỤNG

Trang 24

CLIENT BASE PROCESSING

Việc phân phối các thành phần đó ta có thể chọn các mô hình :

 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ể

PHÂN LOẠI ỨNG DỤNG

Trang 25

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ược lại.

Như vậy, vai trò Client và Server thay đổi tuỳ theo đối tượng nào yêu cầu

PHÂN LOẠI ỨNG DỤNG

Trang 26

ƯU NHƯỢC ĐIỂM

Trang 27

 ƯU ĐIỂM

Client/Server mở ra khả năng sử dụng tài nguyên dùng chung trên mạng như phần mềm, máy in, đĩa cứng,

Client/Server cho phép phối hợp quản lý tập trung và không tập trung

ƯU NHƯỢC ĐIỂM

Trang 29

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(quản trị mạng)

ƯU NHƯỢC ĐIỂM

Trang 31

PHẦN CHƯƠNG TRÌNH

GIỚI THIỆU BÀI TOÁN

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).)

Trang 32

PHẦN CHƯƠNG TRÌNH

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”

Trang 34

TÌNH HUỐNG THỨ I:

Giả sử 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ủa một người bảo vệ (NBV) duy nhất

NBV chỉ biết được một phần trạng thái của 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 ra cổng

CƠ SỞ LÝ THUYẾT

Trang 35

TÌNH HUỐNG THỨ I:

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 tiếp tục vào bãi nữa, mặc dù lúc này trong bãi đang có chỗ trống

Như vậy, NBV không nắm được trạng thái

hiện hành của bãi

CƠ SỞ LÝ THUYẾT

Trang 36

TÌNH HUỐNG THỨ II:

Nếu ta có bãi để xe với nhiều cổng và tại mỗi cổng có một NBV thì mỗi NBV chỉ có thể biết trạng thái với độ trễ nhất định

CƠ SỞ LÝ THUYẾT

Trang 37

Trên thực tế một NBV tin rằng không còn chổ trống, trong khi NBV khác vừa cho xe ra khỏi bãi nhưng chưa kịp báo cho những NBV khác

Hoặc cùng lúc họ giải quyết nhiều xe vào một

vị trí vì thiếu thông tin

CƠ SỞ LÝ THUYẾT

Trang 38

Như vậy, các NBV phải hợp lực với nhau để phân phối chính xác các chỗ trống trong bãi, đặc biệt

là số lượng chỗ còn trống càng ít (tài nguyên hạn

chế) thì vai trò của hợp lực càng quan trọng.

Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảm bảo cho hoạt động cung cấp được hoàn toàn chính xác

CƠ SỞ LÝ THUYẾT

Trang 41

Nếu không có ràng buộc về thứ tự thông điệp: kết quả

CƠ SỞ LÝ THUYẾT

Trang 42

VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN

TRÌNH

Trong các hệ tin học tập trung:

• Vấn đề đồng bộ hóa được giải quyết thông qua

cơ chế loại trừ tương hỗ.

• Cơ chế này cho phép xác lập trật tự hoàn toàn các sự kiện

Trang 43

VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN

Trang 44

VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN

TRÌNH

Một tiến trình nào đó cần sử dụng tài nguyên

để phát triển công việc của mình, phải yêu cầu bộ cung cấp một cách hợp thức bằng cách gửi thông điệp yêu cầu

Như thế, một tiến trình có nhu cầu tài nguyên

sẽ bị treo chừng nào tài nguyên đó còn chưa được giải phóng hay chưa được cung cấp cho nó

Trang 45

GIẢI QUYẾT BÀI TOÁN

Các chiến lược cơ bản để xây dựng bài toán trong

hệ phân tán:

Tại mỗi server phải có một cơ sở dữ liệu và

dữ liệu trên các server phải giống nhau về bản chất

Khi một server cho một xe ra hay vào thì phải báo cho các server khác biết (hợp lực)

Trang 46

GIẢI QUYẾT BÀI TOÁN

Quá trình tương tranh xảy ra khi:

- Tại mỗi thời điểm t nào đó có nhiều server cho xe vào cùng một vị trí

- Nhiều server cho số lượng xe vào bãi lớn hơn vị trí trong bãi

Trang 47

GIẢI QUYẾT BÀI TOÁN

Các sự kiện của bài toán:

Hành vi của ô tô: vào bãi (vao), đậu (dau), ra (ra)

Đầu vào: ô tô vào, ra bãi

Đầu ra: thành công hay không

Trang 48

Các giả định được thực thi một cách dễ dàng

ở tầng giao vận

Trang 49

Thuật toán Lamport loại trừ tương hỗ trên

cơ sở đóng dấu

Các kiểu thông điệp:

(REQ, Ci, i) : Một yêu cầu cho việc truy cập vào miền găng CS của tiến trình Pi Yêu cầu này

được phát đi cho tất các các tiến trình khác

(REP, Ci, i) : Hồi âm từ tiến trình Pi cho tiến trình Pj khi Pi nhận được yêu cầu từ Pj.

(REL, Ci, i) : Thông điệp giải phóng từ Pi

thông báo cho biết nó đã rời khỏi CS Thông điệp

này được gửi cho tất cả các tiến trình khác

Trang 50

Thuật toán Lamport loại trừ tương hỗ trên

cơ sở đóng dấu

Các biến tiến trình:

Ci : Đồng hồ cục bộ của Pi, khởi tạo từ 0.

qi : Hàng đợi [0 … n-1] chứa các thông điệp.

Miền găng:

Đoạn chương trình mà truy cập vào tài

nguyên dùng chung

Trang 52

• Hàng đợi được sắp xếp theo trật tự:

 Các dấu thời gian

 Các đồng hồ logic

 Quan hệ trật tự toàn bộ được sử dụng để gắn các dấu thời gian

Trang 53

Thuật toán

Khi một trạm nhận được yêu cầu

• Đưa thông điệp đó vào hàng đợi yêu cầu theo thứ tự dấu thời gian

• Gửi một thông điệp trả lời REP (Nếu chưa bị nắm giữ hoặc đã gửi thông điệp yêu cầu trước).Nếu cần, quan hệ trật tự toàn bộ được sử dụng

để phá vỡ các sự ràng buộc

Ý tưởng chung là một tiến trình không thể thi

hành đoạn găng của nó cho đến khi nó nhận

được trả lời từ tất cả các trạm khác.

Trang 54

Thuật toán

Khi một trạm hoàn thành miền găng của nó

• Gửi khuyến nghị giải phóng REL đến tất cả các trạm

• Yêu cầu của nó sẽ được loại bỏ khỏi tất cả

hàng đợi ở thời điểm này

• Nếu có các trạm đang chờ để thực hiện miền găng, một trong số đó sẽ thực hiện được

Trang 55

Sơ đồ thuật toán

TRẠM S i

TRẠM S 1

-TĐ2),

-TĐ2), -…

TRẠM S 2).

-REQ

-TĐ2), -…

-REQ

-TĐ2), -…

Khởi tạo trạng thái RELEASE

Xóa REQ của Sitại hàng đợi

Trang 56

To enter the section // chuẩn bị vào đoạn găng

state := wanted; //Chuẩn bị vào

Multicast request to all processes; request processing deferred here

T := request’s timestamp; // Thiết lập thời gian

Wait until (number of replies received = (N – 1));

state := held; // đã vào đoạn găng

Trang 57

Mô phỏngthuật toán

On receipt of a request <Ti, pi> at pj (i ≠ j)//Nhận được yêu cầu tại thời điểm j

if (state = held or (state = wanted and (T, pj) < (Ti, pi))) then

queue request from pi without replying; // đưa vào hàng đợi

else

reply immediately to pi; // gởi lại end if

Trang 58

Mô phỏng thuật toán

To exit the critical section // thoát khỏi vùng găng

state := released;

reply to any queued requests; //gởi lại

Trang 59

XIN CHÂN THÀNH CẢM ƠN

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

HÌNH ẢNH LIÊN QUAN

Hình  vẽ  bên  mô  phỏng - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
nh vẽ bên mô phỏng (Trang 33)
Sơ đồ thuật toán - MÔ HÌNH CLIENTSERVER & VIẾT CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
Sơ đồ thu ật toán (Trang 55)

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