Tải bản đầy đủ (.ppt) (25 trang)

báo cáo tiểu luận môn lập trình mạng 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

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 (337.86 KB, 25 trang )





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



Giáoviênhướngdẫn:PGS.TsLêVănSơn
Họcviênthựchiện:LêThịAnhĐào





Nội dung báo cáo

Giới thiệu đề tài

Phần I



Khái quát nội dung bài toán

Phần II

Lập trình hệ thống đa Server trên RMI

Phần III

Danh sách di chuyển

Giải thuật

Phần IV

Chương trình cập nhật và Monitoring
GIỚI THIỆU ĐỀ TÀI
XÂY DỰNG CHƯƠNG TRÌNH PHÂN TÁN ĐẢM BẢO GẮN
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
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.
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).
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.
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
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.

nhập dữ liệu.
5. Chương trình Monitoring các D trên các Server mỗi khi Client
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.
cập nhật dữ liệu.
Khá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.
Mô hình tổng quát về hệ thống đa Server
Minh 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:

Hệ thống gồm nhiều server ( 3 Server ) được bố trí tại nhiều
nơi khác nhau và các server chứa CSDL giống nhau.

Cho phép nhiều đại lý cập nhật thông tin khách hàng đồng
thời.

Hệ thống phải tuyệt đối đảm bảo gắn bó dữ liệu 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 đó.
Client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
Lợ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:
Phần 2
LẬP TRÌNH HỆ THỐNG ĐA SERVER BẰNG NGÔN NGỮ
JAVA
MÔ PHỎNG RMI
RMI Registry

RMI Client
RMI Server
Tương tác giữa Server & Client
Đường logic
Chương trình Server
Skeleton
Tầng tham chiếu từ xa
Tầng giao vận
Chương trình Client
Stub
Tầng tham chiếu từ xa
Tầng giao vậnNetwork
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 . Xử lý chuyển tham số đến trên Server .

Lớp chuyển tiếp yêu cầu đối tượng thực thi phương

thức chuyển kết quả về máy khách.
CÁ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…
Triểnkhaihệthốngchobàitoán
bá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:

Hệ thống gồm nhiều server ( 3 server ) .

Cho phép nhiều đại lý cập nhật thông tin khách hàng đồng thời.

Hệ thống phải tuyệt đối đảm bảo gắng bó dữ liệu tránh trình
trạng tương tranh.

Ta nghiên cứu bài toán nhỏ cập nhật Sanpham
Sanpham(Masp,Tensp,Soluong, Dongia)

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.

Trước hết xác định vị trí Client ra yêu cầu

Hệ thống xác định vị trí Client

Sau đó trỏ thông tin biến đổi địa chỉ B trỏ tới để hệ thống có thể
nhận dạng được.
Triển khai hệ thống cho bài toán
bán hàng qua mạng

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

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
Danh 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 đó
Các phiên giao dịch
Danh sách di chuyển
Nội dung giải thuật danh sách di chuyển
1. Khởi động các module trên server
2. Module ClientHandle nhận dữ liệu từ Client và
thành lập danh sách di chuyển
3. MobListHandle mở ra một giao dịch
1. 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
2. Gửi danh sách di chuyển đến Server kế tiếp trong hệ
thống đa server.
4. 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
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

×