BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO TIỂU LUẬN LẬP TRÌNH MẠNG Đề tài: XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER N
Trang 1
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA
BÁO CÁO TIỂU LUẬN
LẬP TRÌNH MẠNG
Đề tài:
XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN BÓ DỮ LIỆU TRÊN CÁC SERVER NGANG HÀNG
Trang 2Nội dung báo cáo
Trang 3GIỚI THIỆU ĐỀ TÀI
XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN
BÓ DỮ LiỆU TRÊN CÁC SERVER NGANG HÀNG
1 Lập trình hệ thống đa Server bằng ngôn ngữ Java.
2 Xây dựng hệ thống cơ sở dữ liệu D với (d1=d2=… dn).
3 Nghiên cứu thật toán danh sách di chuyển.
4 Chương trình cập nhật dữ liệu D trên các Server mỗi khi Client nhập dữ liệu.
5 Chương trình Monitoring các D trên các Server mỗi khi Client cập nhật dữ liệu.
Trang 4Khái quát chung đề tài
Đối với các công ty lớn cần đáp ứng những nhu cầu sau:
Có nhiều chi nhánh ở các nơi trên một quốc gia hay trên khắp thế giới như : Vinatour, Weston Union….
Có nhiều Server ở khắp nơi
Đối với các dữ liệu trên các Server là như nhau, đồng thời
không làm phức tạp việc truy xuất dữ liệu
Trang 5Mô hình tổng quát về hệ thống đa Server
Trang 6Minh họa bài toán
Với bài toán cơ sở dữ liệu bán hàng từ xa hệ
thống mạng phân tán có những đặt điểm sau:
tại nhiều nơi khác nhau và các server chứa CSDL giống nhau
hàng đồng thời
tránh trình trạng hàng hoá cung cấp hết cho khách hàng A tại đại lý A nhưng vẫn được bán cho khách hàng B ở một đại lý nào đó
Trang 7Client A :
{Goiyeucau(B,yc) // client gởi server B
Nhanyeucau(ketqua)}
Sever B
{ Nhanyeucau(s,nh)
Nếu(hợp lệ)
Bắt đầu Tracuucsdl Thongke Traketqua(s,kq) }
Triển khai hệ thống cho bài toán bán hàng qua mạng
Trang 8Lợi ích của việc xử lý đa server
Cho phép khai thác tối đa triệt để khả năng tính toán của từng server của từng điểm.
Cho phép khai thác tối đa nguồn dữ liệu của từng Server đang có thông qua giao thức truy cập từ xa
Giao thức triệu gọi từ xa từ các tác tử (agent) tạo ra trên mạng là giải pháp chính cho vấn đề xử lý đa Server với môi hình xử lý thông tin được trình bày như sau:
Trang 9Phần 2
LẬP TRÌNH HỆ THỐNG ĐA SERVER BẰNG NGÔN NGỮ JAVA
Trang 10MÔ PHỎNG RMI
RMI Registry
RMI Client
RMI Server
Trang 11Tương tác giữa Server & Client
Trang 12Cơ chế gọi hàm từ xa của các đối tượng RMI.
Đối tượng cài đặt phương thức và gọi hàm
Naming.bind() đăng ký bộ quản lý Rmiregistry trên Server.
Đối tượng trên Client muốn gọi phương thức
trên máy chủ Naming.lookup() tham chiếu đối tượng ở xa theo tên.
Rmiregistry trả về tham chiếu đến đối tượng ở xa
Trang 13Cơ chế gọi hàm từ xa của các đối tượng RMI (tt)
sẽ gọi được phương thức trên máy chủ
trung gian Xử lý chuyển tham số đến trên Server
thức chuyển kết quả về máy khách
Trang 14CÁC BÀI TOÁN ĐẢM BẢO GẮN BÓ DỮ LiỆU
Có một cơ sở dữ liệu được đặt tại các Server ở những vị trí khác nhau, chèn một mẫu tin mới lên cơ sở dữ liệu đã có trong mô hình Server – Server
Mỗi server có nhiều Client tương tác giữa Client và Sever chèn một record thì CSDL có trên tất cả các Server còn lại.
Đề cử như bài toán bán vé tàu lửa, bán vé máy bay, giảng dạy trực tuyến phân tán, bán hàng qua mạng, hội nghị conference…
Trang 15bán hàng qua mạng
Với bài toán cơ sở dữ liệu bán hàng từ xa hệ thống mạng phân tán có những đặt điểm sau:
Trang 16 Người sử dụng muốn được cung cấp thông tin về một yêu cầu nào đó qua câu truy vấn trên Server tiếp nhận câu truy vấn và xử lý câu truy vấn rồi chuyển lại cho người yêu cầu
Trang 17 Giả sử rằng ta đang theo tác trên môi trường Web Ta chỉ cần trình duyệt Web mà thôi
Web Server xử lý các yêu cầu từ Client gởi lên sau khi xử
lý xong và trả về kết quả Client Như vậy với mô hình này thì chương chình được cài đặt toàn bộ trên Server.
Triển khai hệ thống cho bài toán
bán hàng qua mạng
Trang 18 Với mô hình trên ta thấy độ tin cậy của thông tin Thông tin là đúng tại thời điểm Server nhận được thông điệp và đọc nó, có thể không đúng khi Client nhận được Điều này liên quan đến việc làm tươi dữ liệu.
Vì vậy ta phải có giải pháp cho việc truy cập đồng thời vào dữ liệu dùng chung Có tính năng bảo mật và phân quyền rất tốt do đó đảm bảo tính an toàn cho hệ thống thông tin.
Có một số hệ quản trị CSDL có tính năng Transaction (lập phiên giao dịch) cho phép đảm bảo tính thống nhất trong khi lưu trữ dữ liệu đảm bảo không xẩy ra treo hệ khi nhiều Client cùng truy xuất vào một CSDL
Triển khai hệ thống cho bài toán
bán hàng qua mạng
Trang 19Danh sách di chuyển
phân ra 2 loại giao dịch
Giao dịch CSDL (database transactions) được thiết
kế ngay trong giai đoạn xây dựng hệ quản trị các CSDL và thủ tục này có chức năng điều khiển giao dịch
Giao dịch cơ sở kết nối (connection-based
transactions) cho phép xác định từ bên ngoài
CSDL, thường là chức năng của một đối tượng nào
đó
Trang 20Các phiên giao dịch
Danh sách di chuyển
Trang 21Nội dung giải thuật danh sách di chuyển
Trang 224 Nếu Server cuối cùng trong danh sách di
chuyển
+ Chuyển sang trạng thái ủy thác
+ Trả danh sách kết quả khác Null
+ Ngược lại trả về Null thì khôi phục trạng thái đầu
5 Server nhận được danh sách kết quả từ Server
sau nó trong danh sách di chuyển
Trang 23Bắt Đầu
Nhận yêu cầu từ client
!=Null
Chuyển sang
trạng thái ủy thác
Chuyển sang trạng thái khôi phục
Kết thúc giao dịch
Trả kết quả về cho client
!=Null
Đ
Chuyển sang trạng thái
ủy thác
Chuyển sang trạng thái khôi phục
Chuyển sang trạng thái
ủy thác
Chuyển sang trạng thái khôi phục
S Kết nối đến server 2
Kết nối đến Server n
Trang 24DEMO CHƯƠNG TRÌNH
Trang 25XIN CHÂN THÀNH CẢM ƠN