Tải bản đầy đủ (.pptx) (16 trang)

báo cáo tiểu luận lập trình mạng viết chương trình đảm bảo gắn bó dữ liệu trên các csdl phân tán tại các server

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.41 MB, 16 trang )





ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA


TIỂU LUẬN KHOÁ HỌC
MÔN HỌC
LẬP TRÌNH MẠNG


Đề tài:
ViẾT CHƯƠNG TRÌNH ĐẢM BẢO GẮN BÓ DỮ LIỆU
TRÊN CÁC CSDL PHÂN TÁN TẠI CÁC SERVER



Giáo viên hướng dẫn: PGS.Ts Lê Văn Sơn
Học viên thực hiện: Phùng Hữu Đoàn





GIỚI THIỆU TIỂU LUẬN
1. Viết chương trình đảm bảo gắn bó dữ liệu trên các CSDL phân tán
tại các server.
2. Nghiên cứu phương pháp đảm bảo gắn bó dữ liệu trên các CSDL.
3. Xây dựng hệ thống đa server với n server (n > 4).


4. Xây dựng chương trình Monitoring quan sát sự trao đổi (trạng thái
gắn bó) tại các server.
Phần Mở Đầu

Đố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ư Pepsi, Coca Cola

Có nhiều Server ở khắp nơi.

Làm cách nào để dữ liệu trên các Server là như nhau, luôn găn
bó dữ liệu với nhau trong việc truy xuất dữ liệu.
Mô hình tổng quát về hệ thống đa
Server
Lợi ích của việc xử lý đa server

Cho phép khai thác tối đa khả năng tính toán của từng server của
từng vùng.

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 gọi 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:
Cơ 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
Cơ chế gọi hàm từ xa của các đối tượng RMI
(tt)

Dựa vào giao tiếp Interface đối tượng trên máy khách sẽ
gọi được phương thức trên máy chủ.

Khi phương thức được gọi lời gọi sẽ chuyển về lớp trung
gian _Stup. Xử lý chuyển tham số đến lớp _Skel trên
Server .

Lớp _Skel yêu cầu đối tượng thực thi phương thức chuyển
kết quả về máy khách.
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 (record) 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é máy bay, điều hành tour du lịch,
giảng dạy trực tuyến phân tán, bán hàng qua mạng,…

Danh sách giao dịch

Giao dịch là gì?

Tập hợp của hàng loạt các sự kiện mà tất cả đều phải hoàn tất đến cùng hoặc
không có bất cứ sự kiện nào được thực hiện.

Giao dịch cơ sở dữ liệu ( Database Transaction) đượ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ác 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 đó vd:
đối tượng Connection.

Ta nghiên cứu với đối tượng Connection.JDBCConnection để tiến hành cập
nhật thông tin lên Server.
Các phiên giao dịch
Danh sách giao dịch
Danh sách giao dịch

Giải thuật danh sách di chuyển được trình bài như sau:

Khởi động các Modul trên Server: MoblistHandle,
ClientHandle cho phép cập nhật dữ liệu từ các Client.


ClientHandle nhận dữ liệu từ Client và thành lập danh sách di
chuyển, rồi chuyển danh sách cho MobListHandle.

MoblistHandle mở ra một giao dịch, thực hiện truy vấn dữ liệu
ngay trên cơ sở dữ liệu cục bộ của mình. Kết thúc truy vấn,
MobListHandle gởi danh sách di chuyển đến Server kế tiếp
trong hệ thống đa Server .
4. Danh sách giao dịch

Nếu là Server cuối cùng, thực hiện câu lệnh trên CSDL thành
công chuyển sang trạng thái uỷ thác ( Commit Transaction) 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
( Rollback Transaction).

Sever nhận danh sách kết quả từ Sever sau nó trong danh sách di
chuyển – nếu kết quả khác Null thì chuyển sang trạng thái ủy
thác ( Commit Transaction ) 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ả về
kết quả là Null cho Server liền trước.
4. Danh sách giao dịch

Khi Server đầu tiên nhận được danh sách kết quả nếu danh sách kết
quả khác Null thì chuyển sang trạng thái ủy thác Commit
Transaction và trả danh sách kết quả cho ClientHandle ngược lại
chuyển sang trạng thái khôi phục Rollback Transaction và kết quả là
Null cho ClientHandle.


ClientHandle nhận được danh sách kết quả và xử lý trên danh sách
kết quả.
Bắt Đầu
Nhận yêu cầu từ
client
Server 1
Mở giao dịch
Truy Vấn CSDL cục
bộ
Server
Cuối ?
!=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
Kết thúc
Đ
S
Đ
Server 2
Mở giao dịch
Truy Vấn CSDL cục
bộ
Server
Cuối ?

!=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
Server n
Mở giao dịch
Truy Vấn CSDL cục
bộ
!=Null
Kết thúc giao dịch
Kết thúc giao dịch
Trả kết quả về cho
Server liền trước
Trả kết quả về cho
Server liền trước
S
Kết nối
đến server 2
Kết nối đến Server
n

Đ S Đ S
2
2
3
N
4. Danh sách di chuyển
DEMO CHƯƠNG TRÌNH
XIN CHÂN THÀNH CẢM ƠN

×