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

báo cáo tiểu luận lập trình mạng phân tán đảm bảo gắn bó dữ liệu khi cập nhật trong các cơ sở dữ liệu tập trung tại các ngân 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 (265.48 KB, 13 trang )

TIỂ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


G
G
ắn bó dữ liệu khi cập nhật trong các
ắn bó dữ liệu khi cập nhật trong các
CSDL tập trung tại các ngân hàng.
CSDL tập trung tại các ngân hàng.
Học viên : Đỗ Trường Linh
Lớp : KHMT- K24
Giáo viên hướng dẫn: PGS.TS. Lê Văn Sơn
ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC ĐÀ NẴNG
NỘI DUNG
NỘI DUNG

Giới thiệu về RMI, Socket của Java
trong lập trình phân tán.

Bài toán đảm bảo gắn bó dữ liệu khi
cập nhật trong các CSDL tập trung tại
các ngân hàng bằng ngôn ngữ Java.
TÌM HIỂU CƠ CHẾ RMI JAVA

Java RMI (Remote Method Invoke): Là một cơ chế gọi hàm từ xa
đã được thực hiện và tích hợp trong ngôn ngữ Java, là phương pháp
lập trình hướng đốI tượng.
Computer A
A2


A1
Computer C
C1
C2
Computer B
B1
C3
Mô hình triệu gọi các đối tượng từ xa
TÌM HIỂU CƠ CHẾ RMI JAVA
Gọi phương thức từ xa và các vấn đề phát sinh

Triệu gọi phương thức từ xa phức tạp hơn triệu gọi
phương thức cục bộ.

Ví dụ: Khi truyền con trỏ cho một phương thức ở xa, trên
máy đang sử dụng sẽ tồn tại nhưng trên Server khác (nơi
đối tượng thực thi phương thức) sẽ không có bất kỳ vùng
nhớ nào được cấp phát cho con trỏ.

Trên máy cục bộ: lời gọi hàm, các tham số truyền cho
hàm thường được đặt vào ngăn xếp (stack).

Tham số truyền cho phương thức của đối tượng ở xa
được đóng gói và chuyển qua mạng để đến được phương
thức thực sự.
TÌM HIỂU CƠ CHẾ RMI JAVA
Vai trò các lớp trung gian: STUB và SKELETION.
Đối tượng Java trên hai máy khác nhau không gọi nhau trực tiếp mà
thông qua lớp trung gian. Lớp trung gian này tồn tại ở hai phía:


Máy khách (Client –
nơi gọi phương thức
của đối tượng ở xa);
lớp trung gian này gọi là
lớp móc (stub).

Máy chủ (Server – nơi
đối tượng thực sự được
cài đặt để thực thi mã
lệnh của phương thức);
lớp trung gian này gọi là
lớp nối (skeletion).
Computer A
A2
A1
Computer C
Computer B
B1
C1
C1
_st
ub
B1_stub
C1
_sk
el
B1_skel
Gọi phương thức của các đối tượng thông qua lớp trung gian
Mô hình Client/ Server- Khái niệm Socket


Các chương trình ở máy khách (client) sẽ tạo ra kết
nối (connection) với một máy chủ ở xa (server) sau đó
gửi các yêu cầu đến máy chủ, các chương trình dịch vụ
trên máy chủ sẽ xử lý các yêu cầu này và gửi kết quả
ngược về cho máy khách.

Trước khi yêu cầu một dịch vụ trên máy chủ, máy
khách (client) phải có khả năng kết nối được với máy
chủ (server). Quá trình kết nối này được Java thực hiện
thông qua một
cơ chế trừu tượng hóa
gọi là Socket.

Nếu kết nối socket thành công thì máy khách và máy
chủ có thể trao đổi dữ liệu với nhau, thực hiện các yêu
cầu về dịch vụ trên máy chủ.
Server
Client
int port = 8000
DataInputStream in
DataOutputStream out
ServerSocker server
Socket socket
server = new ServerSocker(port);
socket = server.accept();
in = new DataInputStream
(socket.getInputStream());
out = new DataOutputStream
(socket.getOutputStream());
System.out.println

(in.readDouble());
out.writeDouble(aNumber);
int port = 8000
String host = “localhost”
DataInputStream in
DataOutputStream out
Socket socket
socket = new Socket(host, port());
in = new DataInputStream
(socket.getInputStream());
out = new DataOutputStream
(socket.getOutputStream());
out.writeDouble(aNumber);
System.out.println(in.readDouble());
Lắng nghe /
Yêu cầu kết nối
Các luồng I/O
Sự trao đổi giữa Server và Client bằng socket trong java
Các luồng trao đổi

Xây dựng một bộ các Acount tài khoản

Xây dựng các Client yêu cầu tài nguyên (Dịch vụ)

Quản lý các Acount tài khoản bằng Server
Bài toán:
ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT
TRONG CÁC CSDL TẬP TRUNG TẠI CÁC
NGÂN HÀNG BẰNG NGÔN NGỮ JAVA
MÔ TẢ YÊU CẦU CỦA BÀI TOÁN


Bài toán xây dựng một bộ acount tài khoản (Bộ cung cấp
tài nguyên - Server).

Bộ cung cấp tài nguyên căn cứ vào tài nguyên hiện có
của mạng (Khả năng đáp ứng yêu cầu dịch vụ của Client)
mà chấp nhận phục vụ hay từ chối yêu cầu cung cấp dịch
vụ từ Client.

Yêu cầu dịch vụ từ Client ở đây được mô tả bằng cách
Client gởi số tiền gửi hoặc rút tiền đến Server, yêu cầu
Server tính toán và gởi trả tiền cho acount.
MÔ TẢ YÊU CẦU CỦA BÀI TOÁN

Trong quá trình vận hành hệ thống, Server phải biết được
tình trạng hiện tại của hệ thống như: Số Client yêu cầu cung cấp
dịch vụ hiện tại, Số thông điệp (Message) của các Client đã gởi
đến cho Server, Client nào đã kết thúc yêu cầu kết nối đến
Server, Tình trạng của Server (Có khả năng đáp ứng hay từ chối
yêu cầu của Client (quá tải)…

Hệ thống chỉ từ chối yêu cầu của các Client khi quá tải, các
yêu cầu từ các Client khác vẫn được phục vụ bình thường.
Kết nối qua socket
Server
Client 1 Client n
socket lắng nghe trên cổng
Một socket cho
một client
Chương trình được tổ chức thành 2 module, sử dụng cơ

chế đa luồng và socket trong java để thiết lập kết nối từ
Client đến Server để trao đổi thông tin:
KẾT LUẬN
Qua thời gian tìm hiểu về LẬP TRÌNH PHÂN TÁN đề tài đã đạt
được các kết quả sau:

Tìm hiểu được bài toán.

Tìm hiểu lập trình phân tán trong JAVA (RMI, SOCKET).
XIN CHÂN THÀNH CẢM ƠN!
o0o

×