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 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
Ô TÔ CÓ n CỔNG ( n 2).).
Học viên thực hiện :
NGUYỄN THỊ MAI
Trang 2NỘ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 4CẤ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 7Client 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 8Giao tiếp với Server thông qua các thiết bị truyền thông: Mạng
Client
Trang 9Tuỳ 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ề
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 15Mạ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 16Phầ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 17Mạng
Trang 18Giao thức
Trang 19GIAO 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 20GIAO THỨC:
Giao thức
Trang 21Tù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 22HOST 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 23CLIENT 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 24CLIENT 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 25Mỗ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 29Mô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 31PHẦ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 32PHẦ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 34TÌ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 35TÌ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 36TÌ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 37Trê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 38Như 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 41Nếu không có ràng buộc về thứ tự thông điệp: kết quả
CƠ SỞ LÝ THUYẾT
Trang 42VẤ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 43VẤN ĐỀ ĐỒNG BỘ HÓA GIỮA CÁC TIẾN
Trang 44VẤ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 45GIẢ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 47GIẢ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 48Các giả định được thực thi một cách dễ dàng
ở tầng giao vận
Trang 49Thuậ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 50Thuậ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 53Thuậ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 54Thuậ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 55Sơ đồ 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 56To 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 57Mô 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 58Mô 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 59XIN CHÂN THÀNH CẢM ƠN