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

báo cáo tiểu luận môn lập trình mạng hãy vận dụng các thuật toán để xây dựng giải pháp cho hệ thống ngân hàng với n=2 server quản lý m đủ lớn các tài khoản của khách hàng với yêu cầu hệ ph

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 (1.35 MB, 19 trang )

LẬP TRÌNH MẠNG NÂNG CAO
TÊN ĐỀ TÀI:
GVHD: PGS.TS. Lê Văn Sơn
HVTH: Nguyễn Thanh Trung
Lớp : Khoa học máy tính-K24
HÃY VẬN DỤNG CÁC THUẬT TOÁN ĐỂ XÂY DỰNG GIẢI PHÁP CHO HỆ THỐNG NGÂN
HÀNG VỚI N SERVER (N ≥2) QUẢN LÝ M ĐỦ LỚN CÁC TÀI KHOẢN CỦA KHÁCH HÀNG VỚI
YÊU CẦU HỆ PHẢI ĐẢM BẢO GẮN BÓ MẠNH.

Các khái niệm cơ bản của hệ tin học phân tán, lập trình mạng và CSDL phân tán.

Lập trình phân tán hướng đối tượng trong Java, kết nối CSDL với JDBC.

Đảm bảo gắn bó dữ liệu khi cập nhật trong các CSDL phân tán tại các ngân hàng.

Demo chương trình.
NỘI DUNG ĐỀ TÀI
KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN

Hệ tin học phân tán

Là hệ thống xử lý thông tin bao gồm nhiều
bộ xử lý hoặc các bộ xử lý nằm ở xa ở các vị
trí khác nhau.
Các
hệ thống phần
mềm
Các
hệ thống phần
mềm
Hệ thống


dữ liệu
Hệ thống
dữ liệu
Tập hợp
phần cứng
Tập hợp
phần cứng
Hệ thống truyền
thông
Hệ thống truyền
thông
Hình I-3: Các thực thể của hệ tin học phân tán
LẬP TRÌNH ĐỐI TƯỢNG PHÂN TÁN

Các đối tượng được hỗ trợ trao đỗi với nhau theo những phương thức chuẩn trên mạng.

Ví dụ:

Đối tượng ở máy Client có thể gửi một thông điệp đến một đối tượng trên Server trên mạng.

Đối tượng trên Server truy cập vào CSDL để lấy những thông tin cần thiết và gửi lại cho đối tượng
trên máy Client.
CƠ SỞ DỮ LIỆU PHÂN TÁN

Một cơ sở dữ liệu phân tán là tập hợp nhiều cơ sở dữ liệu có liên đới logic và được phân bố trên một mạng
máy tính
Trạm 5
Trạm 5
Mạng truyền
dữ liệu

Trạm 3
Trạm 3
Trạm 1
Trạm 1
Trạm 4
Trạm 4
Trạm 2
Trạm 2

RMI (Remote Method Invoke) – mang ý nghĩa triệu gọi phương thức từ xa – là cách thức giao
tiếp giữa các đối tượng trong Java có mã lệnh cài đặt nằm trên các máy khác nhau có thể triệu
gọi lẫn nhau.
RMI VÀ LẬP TRÌNH PHÂN TÁN HƯỚNG ĐỐI TƯỢNG TRONG JAVA
A1
A2
B1
C1
C3
C2
PC B
PC C
PC A

Việc gọi phương thức của đối tượng từ xa luôn phức tạp hơn gọi phương thức cục bộ.

Các đối tượng trên hai máy khác nhau hoạt đông trên hai tiến trình khác nhau nên việc tham chiếu đến biến
địa chỉ hoàn toàn khác nhau.

Lời gọi phương thức từ xa phải thông qua mạng và có thể bị ngắt ngang do mạng gặp sự cố.


Các tham số truyền cho đối tượng ở xa phải được đóng gói và truyền qua mạng để đến với phương thức
thực sự.
CÁC VẤN ĐỀ PHÁT SINH KHI GỌI PHƯƠNG
THỨC TỪ XA

Để giải quyết vấn đề trên, đối tượng trên hai máy khác nhau không gọi trực tiếp mà thông qua lớp trung
gian. Lớp này tồn tại ở cả hai phía Client và Server. Lớp ở máy Client gọi là Stub, lớp ở máy Server gọi là
Skel (Skeletion).
VAI TRÒ CỦA CÁC LỚP TRUNG GIAN
A1
A2
Computer A
B1
C1
Computer B
Computer C
B1_stub
C1_stub
B1_skel
C1_skel
GIỚI THIỆU JDBC
(Java DataBase Connectivity)

JDBC là giao diện để kết nối với CSDL, gồm một tập các lớp đối tượng hỗ trợ để xử lý CSDL quan hệ và để
tương tác với các nguồn dữ liệu khác nhau.

Chương trình ứng dụng Java kết nối các CSDL phải được thực hiện theo các bước sau:

Tạo đối tượng kết nối vào CSDL bằng cách gọi hàm getConnection() để nhận đối tượng của lớp
Connection.


Tạo ra một đối tượng của lớp Statement để xử lý câu lệnh.

Truyền tham số cho các lệnh SQL trong các hệ quản trị CSDL và các đối tượng xử lý câu lệnh đó.

Kết quả truy vấn là đối tượng của lớp ResultSet.
ĐẢM BẢO GẮN BÓ DỮ LIỆU KHI CẬP NHẬT TRONG CÁC CSDL PHÂN TÁN TẠI CÁC NGÂN
HÀNG

Phân tích và thiết kế CSDL phân tán

Xây dựng phương thức trên các Server

Xây dựng bộ phân phối kết nối đến các Server

Xây dựng giao diện ở phía Client
PHÂN TÍCH VÀ THIẾT KẾ CSDL PHÂN TÁN

Bài toán xây dựng một hệ cơ sở dữ liệu phân tán được đặt ở 3 vị trí khác nhau, tương ứng với ba Server.

Giả sử ba vị trí được đặt là: Hà Nội, Đà Nẵng và Sài Gòn ta có ba cơ sở dữ liệu tương ứng đó là: HNBank
Database, DNBank Database và SGBank Database.

Khi phân mảnh dữ liệu ra các vị trí ta dựa vào tiêu chí phân tán là mã số tài khoản của (AccID).

Những tài khoản nằm ở Server:

Hà Nội:có mã số tài khoản lần lượt bắt đầu bằng hai ký tự: “HN”. Ví dụ: HN001, HN002,…

Đà Nẵng:có mã số tài khoản lần lượt bắt đầu bằng hai ký tự: “DN”. Ví dụ: DN001, DN002,…


Sài Gòn: Nội:có mã số tài khoản lần lượt bắt đầu bằng hai ký tự: “SG”. Ví dụ: SG001, SG002,…
PHÂN TÍCH VÀ THIẾT KẾ CSDL PHÂN TÁN

Ba CSDL tương ứng:
PHÂN TÍCH VÀ THIẾT KẾ CSDL PHÂN TÁN

Phương thức kết nối đến CSDL:
public DNBankImpl()throws RemoteException{
try{
}
catch (Exception ex){
}
}

Phương thức truy vấn
public int SelectData(String Valid, String Valpin) throws RemoteException
{ …

}
XÂY DỰNG PHƯƠNG THỨC TRÊN CÁC SERVER

Phương thức cập nhật vào Cơ sở dữ liệu
public void UpdateData(String Valid, String Valpin, int ValAmount) throws
RemoteException
{ …

}
XÂY DỰNG PHƯƠNG THỨC TRÊN CÁC SERVER


Khi có yêu cầu truy vấn từ phía Client. Bộ điều phối phân tích mã tài khoản (AccID). Kiểm
tra xem tài khoản đang ở CSDL của Server nào và thực hiện kế nối đến Server đó để truy vấn.
XÂY DỰNG BỘ ĐIỀU PHỐI KẾT NỐI ĐẾN CÁC SERVER
XÂY DỰNG GIAO DIỆN Ở PHÍA CLIENT

Giao diện cho phép người sử dụng nhập vào

Mã tài khoản: Account ID

Mã Pin: Account Pin

Số tiền thực hiện giao dịch: Money

Giao diện cho phép người sử dụng chọn lựa:

Xem số dư tài khoản: View

Cộng vào tài khoản: Addition

Trừ tài khoản: Subtraction
XÂY DỰNG GIAO DIỆN Ở PHÍA CLIENT
Giao diện ở phía Client:
Chân thành cám ơn

×