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.. Tùy thuộc vào yêu cầu cụ thể của người sử dụng mà giao nhiệm
Trang 1BỘ 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
Trang 2Nôi dung báo cáo gồm hai chương
Chương I:
MÔ HÌNH CLIENT/SERVER
Chương II:
CHƯƠNG TRÌNH MÔ PHỎNG BÀI TOÁN BÃI ĐẬU XE Ô TÔ
NỘI DUNG BÁO CÁO
Trang 4CẤU TRÚC
Mạng
Trang 7
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 8
WebServer : cung cấp các dịch vụ web
MailServer: quản lý và cung cấp các dịch vụ về
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
Server
Trang 9Mạ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 10Phầ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 11Mạng
Trang 12Là một hệ luật chuẩn cho phép các máy tính trong mạng liên lạc với nhau
Giao thức TCP/IP là viết tắt của Transmission Control Protocol (Giao thức Điều Khiển Truyền Thông) / Internet Protocol (Giao thức Internet)
Giao thức
Trang 13GIAO 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 14GIAO THỨC:
Giao thức
Trang 15Tùy thuộc vào yêu cầu cụ thể của người sử dụng 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 16HOST 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 17CLIENT 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 18CLIENT 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 19COOPERATIVE PROCESSING
(Xử lý hợp tác)
Loại này được xử lí theo cơ chế Peer - to Peer, trong đó vai trò 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ượ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 20ƯU NHƯỢC ĐIỂM
Trang 21 Ư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 23Mô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 24Chương II BÀI TOÁN BÃI ĐỖ XE Ô TÔ
GIỚI THIỆU BÀI TOÁN
CƠ SỞ LÝ THUYẾT
BÀI TOÁN BÃI ĐỖ XE Ô TÔ
THUẬT TOÁN
CHƯƠNG TRÌNH MÔ PHỎNG
Trang 25GIỚ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).)
Chương II BÀI TOÁN BÃI ĐỖ XE Ô TÔ
Trang 26Trong 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”
CƠ SỞ LÝ THUYẾT
Trang 27VT
VT VT
VT VT
BV BV
BV
BV
Trang 28TÌ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 29TÌ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 30TÌ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 31Trê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 32Như 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 34VÍ DỤ VỀ KHÔNG GẮN BÓ
CƠ SỞ LÝ THUYẾT
Trang 35Nếu không có ràng buộc về thứ tự thông điệp: kết quả
CƠ SỞ LÝ THUYẾT
Trang 36VẤ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 37VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN
Trang 38VẤ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 39GIẢ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 40
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 41GIẢ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 42Thuật toán Lamport loại trừ tương hỗ trên
cơ sở đóng dấu
Các giả định:
Chúng ra giả định mô hình mạng kết nối hoàn toàn trong đó các tiến trình liên lạc thông qua các kênh FIFO tin cậy Tức là, các thông điệp không thể sắp xếp lại theo trật tự khác
Các giả định được thực thi một cách dễ dàng
ở tầng giao vận
Trang 43Thuậ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 44Thuậ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 46Thuật toán
Thuật toán:
• Mỗi trạm, Si, duy trì một hàng đợi chứa các thông điệp yêu cầu
• 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 47Thuậ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 48Thuậ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 49Sơ đồ thuật toán
Khởi tạo trạng thái RELEASE
Xóa REQ của Sitại hàng đợi
Trang 50Mô phỏng thuật toán
On initialization
state := released; //Các tài nguyên trong các trạm là bình thường
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 51Mô 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 52Mô 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 53XIN CHÂN THÀNH CẢM ƠN