1. Phân tích bài tốn
Mơ hình mạng Khách/ Chủ (Client/Server) là một mạng trong đĩ cĩ một (hoặc
nhiều) máy tính chủ (Server) đĩng vai trị quản lý đăng nhập (logon) vào mạng, chia sẻ tài nguyên cho người sử dụng, … cịn các máy khách (client) là những máy trạm làm việc cĩ chức năng đăng nhập vào mạng và sử dụng tài nguyên trên mạng, ngồi ra các máy khách cĩ thể chia sẻ tài nguyên cho các máy khác trên mạng.
Để xây dựng một hệ thống quản lý bãi đổ xe chúng ta sử dụng mơ hình mạng client/ server để thực hiện việc truyền các thơng tin từ giữa các máy trạm cho máy chủ hoặc máy chủ với máy chủ đảm bảo dữ liệu dùng chung (bãi xe) cho các thao tác tại các cổng (xe vào/xe ra). Để đảm bảo gắn bĩ dữ liệu trong bài tốn quản lý bãi đổ xe sử dụng thuật tốn Lamport để cài đặt.
Với các giả thiết
+Một trạm trong các trạm đều cĩ thể liên lạc với các trạm cịn lại trong hệ + Khơng cĩ lỗi truyền thơng tin và khơng mất thơng điệp
+ Trật tự nhận trên trạm j của dãy các thơng điệp cũng giống như chính tại trạm i là giống với trật tự của nơi phát
+ Sự cố hay gián đoạn vật lý tại một trạm nào đĩ được phát hiện sẽ lập tức thơng báo đến tất cả các trạm cĩ ý định liên lạc với nĩ.
Các ràng buộc trong chương trình :
+ Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
+ Các bộ cung cấp đều nhận tất cả các thơng điệp phát đi từ các tiến trình
+ Các thơng điệp phải được xử lý cùng một trật tự như nhau trong các chương trình cung cấp
Trong chương trình sử dụng ngơn ngữ Visual basic 6.0 để cài đặt, với kỹ thuật lập trình Socket để truyền các thơng tin giữa các cổng với nhau hoặc giữa máy chủ với máy chủ.
2. Mơ tả hệ thống
Trong chương trình được cài đặt giả lập 3 Server và 2 Client (Cổng), 3 Server sẽ trao đổi các thơng điệp với nhau và với các Client để điều tiết cho xe vào và xe ra theo cơ chế đồng bộ để gắn bĩ dữ liệu trên mỗi Server.
3. Demo chương trình
- Chương trình gồm cĩ các Modul : SERVER1, SERVER2, SERVER3, CLIENT1, CLIENT2.
- Cấu trúc chương trình trong mỗi Server gồm các phần:
+ Phần kết nối đến với Client và các Server.(dưới các thủ tục Connect) + Gởi và nhận các thơng điệp qua các cổng (dưới các thủ tục Getserver, SendServer, GetClient, SendClient).
+ Tổ chức và Sắp xếp các thơng điệp trên mảng (Cấu trúc FIFO) (dưới các thủ tục POP, PUSH, SORT)
+ Trao đổi giữa Server với Server, Server với Client. Cấu trúc chương trình trong mỗi Client gồm các phần:
+ Phần kết nối đến với Client và các Server.(dưới các thủ tục Connect) + Gởi và nhận các thơng điệp qua các cổng (dưới các thủ tục GetClient, SendClient).
+ Quản lý bãi xe (Xuly) - Kết quả chạy thử chương trình :
Cổng 2 Cổng 1 Cổng 3 Cổng 4 Cổng 5 Cổng 6 Cổng 7 Server 2 Server 1 Server 3
Trên Server : SERVER1 SERVER2
Trên Các trạm: Client 1
KẾT LUẬN
Hệ phân tán là lĩnh vực mới của cơng nghệ thơng tin, hệ phân tán giải quyết phân tán trong mơi trường xa nhau, khơng cĩ bộ nhớ chung, tất cả các truy cập từ xa đều thực hiện bằng liên lạc giữa các tiến trình. Phát triển hệ phân tán là chìa khĩa để giải quyết hiệu quả các ứng dụng thương mại điện tử, chính phủ điện tử, thư viện điện tử số…
Tiểu luận này được xây dựng trên cơ sở học tập, tổng hợp lý thuyết từ các giáo trình khác nhau rút ra những đặc trưng cơ bản nhất của các phương pháp phân tán, các thuật tốn đồng bộ, từ đĩ phân tích thuật tốn đánh dấu thời gian trên hệ phân tán của Lamport, kết quả cuối cùng vận dụng thuật tốn Lamport để xây dựng chương trình đồng bộ bãi đậu xe với n=2 (Client) cổng, m=3 Khu vực (Server) (đây là một bài tốn cơ bản của đồng bộ các tiến trình trong hệ phân tán, giải quyết đồng bộ qua hợp lực – gửi thơng điệp và đĩng dấu thời gian).
Do thời gian và kiến thức cĩ hạn, nên chắc chắn cĩ nhiều hạn chế. Kính mong thầy Phĩ Giáo sư – Tiến sỹ Lê Văn Sơn và các anh (chị) Lớp cao học Cơng nghệ thơng tin khĩa V (2004-2007) bỏ qua nhiều thiếu sĩt của tiểu luận. Xin chân thành cảm ơn!
MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1 : CƠ SỞ LÝ THUYẾT... 0 I. CÁC KHÁI NIỆM CƠ BẢN ... 1 1 Hệ phân tán ... 1 2 Các đặc điểm của hệ phân tán ... 2
II. TIẾN TRÌNH TRONG HỆ PHÂN TÁN ... 3
III. TẦM QUAN TRỌNG CỦA VIỆC ĐỒNG BỘ HỐ TIẾN TRÌNH TRONG HỆ PHÂN TÁN ... 4
IV. BÀI TỐN ĐỒNG BỘ HỐ TIẾN TRÌNH NHU CẦU TÀI NGUYÊN DÙNG CHUNG ... 4
V. GẮN BĨ DỮ LIỆU VÀ TẦM QUAN TRỌNG CỦA NĨ VỚI VẤN ĐỀ CUNG CẤP TÀI NGUYÊN DÙNG CHUNG TRONG HỆ PHÂN TÁN... 7
VI.TỔNG QUAN VỀ CHIẾN LƯỢC CUNG CẤP TRONG HỆ PHÂN TÁN ... 8
VII. SẮP XẾP BẰNG BỘ TUẦN TỰ... 9
1 Khái niệm bộ tuần tự... 9
2 Bộ tuần tự di chuyển... 10
3. Bộ tuần tự trên kênh lan truyền ... 13
VIII. KẾT LUẬN ... 15
CHƯƠNG II : SỰ GẮN BĨ DỮ LIỆU TRONG HỆ QUẢN LÝ BÃI ĐỖ XE ... 17
I. ĐẶT VẤN ĐỀ... 17 II. TRẬT TỰ TỪNG PHẦN ... 17 III. GIẢĐỊNH CÁC ĐIỀU KIỆN CHUNG... 19 IV. CÁCH GIẢI QUYẾT VẤN ĐỀĐỒNG BỘ HỐ ... 19 1. Đồng bộ hố bằng phương pháp trật tự từng phần ... 19 2. Đồng bộ hố theo một trật tự tổng quát chặt chẽ... 19 V. BÀI TỐN HỆ QUẢN LÝ BÃI ĐỖ XE ... 20 VI. KẾT LUẬN ... 24
CHƯƠNG III : LẬP TRÌNH BẰNG PHƯƠNG PHÁP PHÂN TÁN ĐỂĐIỀU KHIỂN BÃI ĐỔ XE... 25
I. CÁC KHÁI NIỆM ... 25
1 Các qui tắc ... 25
2. Hàng đợi (Queue) ... 25
3. Gắn thời gian với các sự kiện ... 26
4. Thuật tốn đĩng dấu thời gian của Lamport... 27
II. CÁC THUẬT TỐN... 29
III. CÀI ĐẶT CHƯƠNG TRÌNH... 34
1. Phân tích bài tốn ... 34
2. Mơ tả hệ thống ... 35
3. Demo chương trình... 35
KẾT LUẬN ... 37 TÀI LIỆU THAM KHẢO
[1] Hệ Tin Học Phân Tán – TS. Lê Văn Sơn, Nhà xuất bản Đại học quốc gia TP. Hồ Chí Minh.