2.>Hướng giải quyết 3.1 Vấn đề đặt ra cho bài toán chương trình ứng dụng-CTUD: - Tài nguyên của hệ là số lượng đặt chổ trên các tua - Sever với điều hành của trung tâm điều phối việc đặt
Trang 1TIỂU LUẬN MÔN HỌC LẬP TRÌNH MẠNG
TIỂU LUẬN MÔN HỌC LẬP TRÌNH MẠNG
GVHD: PGS.TS Lê Văn Sơn Học viên thực hiện: Nguyễn Tùng Sinh Chuyên ngành: Khoa học máy tính – K16
Đ tài: ề tài: 1 Tên đề tài : Hãy viết chương trình cho hệ đa Server với CSDL gắn
bó cho phép đăng ký tua du lịch từ xa với phương án lý tưởng
2 Xây dựng hệ thống 3 Server và CSDL
3 Xây dựng chương trình Client thực hiện đăng ký trong điều kiện
đảm bảo gắn bó thông tin
4 Chú ý : chống “trùng” và chống “ảo”
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
Trang 2Nội dung báo cáo
thống
Trang 3Đặt vấn đề yêu cầu thực tế
Một công ty du lịch có 3 trung tâm lớn đặt tại: Hà Nội, T.p Hồ Chí Minh, và Đà Nẵng, phục vụ cho việc tiếp nhận đăng ký và tổ chức các tua du lịch Công ty quyết định xây dựng một hệ thống ứng dụng cho phép đăng ký tua du lịch từ xa với 3 Server đặt tại trung tâm trên, các Server đều tổ chức một cơ sở dữ liệu riêng Với cơ sở hạ tầng về mạng và thiết bị hệ thống hoạt động lý tưởng Yêu cầu đặt ra là cần xây dựng hệ 3 server với cơ sở dữ liệu “gắn bó”.
Trang 41.> Dự kiến mô hình khai thác ứng dụng
Biểu đồ mô tả quan hệ giữa các tác nhân và các use case của hệ thống.
Xem dữ liệu tua
Đăng ký tua cho khách
huỷ đăng ký tua cho khách
Xoá bớt tua Thêm Tua mới
Đại lý (client) Trung tâm (admin)
Trang 52.>Hướng giải quyết 3.1 Vấn đề đặt ra cho bài toán (chương trình ứng dụng-CTUD):
- Tài nguyên của hệ là số lượng đặt chổ trên các tua
- Sever với điều hành của trung tâm điều phối việc đặt chổ
- Khách hàng có thể đăng ký tua hoặc hủy đặt tua thông qua đại lý
Vấn đề gắn bó dữ liệu, chống trùng, chống ảo:
Trên thực tế, dữ liệu server nào đó cho biết không còn chỗ trống về một tua nào
đó nữa, trong khi trên 1 server khác lại vừa mới có một số khách huỷ tua mà chưa cập nhật cho các server khác (ảo) Cũng có thể diễn ra trường hợp là cùng một lúc các server giải quyết đăng ký vào cùng một tua chỉ còn một chỗ trống (trùng) cũng do thiếu gắn bó thông tin
CTUD cần hoạt động gắn bó với nhau, điều này đòi hỏi CTUD phải có đầy đủ các thông tin về hệ và phải đồng bộ trong việc xử lý nguồn thông tin/dữ liệu có được Trong HPT việc đồng bộ hóa chủ yếu yêu cầu thiết lập một trật tự giữa các sự kiện Giữa các trạm với nhau, trật tự đó có thể thể hiện thông qua việc trao đổi các thông điệp với nhau
Trang 63.> Mô hình đăng ký
Kiểm tra trùng
Bắt đầu
Nhận yêu cầu từ client(đăng ký)
Khởi động giao dịch
Truy vấn cơ sở dũ
liệu
Thực hiện
đăng ký
Chấm dứt hoạt động của giao dịch
Sai Đúng
Trang 74 Xây dựng chương trình
Mô hình dữ liệu:
Hệ thống gồm 3 Server:
Server 1: Lưu trữ database về Tour, gồm 3 bảng Tour, DangKy,
DangKy_DichVu
Server 2: Lưu trữ database về Hotel, file database là KhachSan gồm
các bảng Khach_San, Tour_KhachSan, Dich_Vu, DichVu_KhachSan, DangKy
Server 3: Lưu trữ database về Transport, file database là PhuongTien
gồm các bảng Phuong_Tien, Tour_PhuongTien, Dangky Trên mỗi server chứa hai module xử lý chính:
– Module giao tiếp với Client (MGT) Module nó có chức năng nhận dữ
liệu từ các chương trình Client để lưu vào cơ sở dữ liệu.
– Module xử lý danh sách di chuyển (MXL) Module này có chức năng
nhận dữ liệu từ module giao tiếp và cập nhật vào tất cả các server theo giải thuật danh sách di chuyển.
Trang 81 Khởi động các module trên server, gồm module MXL, MGT.
di chuyển, sau đó chuyển danh sách cho module MXL.
trên cơ sở dữ liệu cục bộ của mình Sau khi kết thúc truy vấn, MXL gửi danh sách di chuyển đến Server kế tiếp trong hệ thống đa server.
thực thi các câu lệnh truy vấn trên CSDL cục bộ thành công thì chuyển sang trạng thái uỷ thác (CommitTransaction) và trả danh sách kết quả khác null về cho Server liền trước nó Ngược lại trả về null và chuyển sang trạng thái khôi phục (RollbackTransaction).
Giải thuật danh sách di chuyển :
Trang 9Giải thuật danh sách di chuyển (tt):
danh sách di chuyển - nếu kết quả khác null thì chuyển sang trạng thái uỷ thác (CommitTransaction) và gán kết quả truy vấn cục bộ vào danh sách kết quả và trả về Server liền trước nó Ngược lại, chuyển sang trạng thái khôi phục (Rollback transaction) trả kết quả về null cho Server liền trước.
danh sách kết quả khác null thì chuyển sang trạng thái uỷ thác (CommitTransaction) và trả danh sách kết quả cho MGT Ngược lại, chuyển sang trạng thái khôi phục (Rollback transaction) và trả kết quả về null cho MGT.
sách kết quả.
Trang 10Giải thuật Danh Sỏch Di Chuyển (tt)
Truy vấn CSDL cục bộ
Mở giao dịch
Server cuối?
Đ
! = NUL L
Kết nối đến Server 2 S
Kết thúc giao dịch
! = NUL L
S
Trả kết quả về cho Server liền trước 2
Bắt đầu
Nhận yêu cầu
từ Client
Thành lập danh sách di chuyển Server 1
Trả kết quả về cho Client
Chuyển sang
trạng thỏi uỷ
thỏc
Chuyển sang trạng thỏi khụi phục
Kết thúc
Truy vấn CSDL cục bộ
Mở giao dịch Server 2
Server cuối?
Kết thúc giao dịch
Chuyển sang trạng thỏi uỷ thỏc
Chuyển sang trạng thỏi khụi phục
L
S
Trả kết quả về cho Server liền trước N
Truy vấn CSDL cục bộ
Mở giao dịch Server N
Kết thúc giao dịch
Chuyển sang trạng thỏi uỷ thỏc
Chuyển sang trạng thỏi khụi phục
Đ
Kết nối đến Server N S
Đ
Hỡnh 6 : Giải thuật danh sỏch di chuyển
Trang 11Kết quả đạt được:
Nghiên cứu và giải quyết vấn đề trên lý thuyết
Hạn chế của tiểu luận:
Chưa xây dựng và thiết kế chương trình
Kết luận
Trang 12KẾT THÚC
Cảm ơn thầy và các
bạn đã lắng nghe!