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 QUẢN
Trang 1LẬ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 ) 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.
Trang 2 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.
với JDBC.
tại các ngân hàng.
NỘI DUNG ĐỀ TÀI
Trang 3KHÁ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
Trang 4LẬ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
Trang 5CƠ 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
Mạng truyền
dữ liệu
Trạm 3
Trạm 1
Trạm 4
Trạm 2
Trang 6 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
Trang 7 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
Trang 8 Để 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
B1_skel
Trang 9GIỚ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
Trang 10ĐẢ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
Trang 11PHÂ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
Trang 12 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
Trang 13 Ba CSDL tương ứng:
PHÂN TÍCH VÀ THIẾT KẾ CSDL PHÂN TÁN
Trang 14 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
Trang 15 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
Trang 16 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
N E W
HN Bank
Mô hình hệ thống ngân hàng chạy mạng với CSDL phân tán
Trang 17XÂ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
Trang 18XÂY DỰNG GIAO DIỆN Ở PHÍA CLIENT
Giao diện ở phía Client:
Trang 19CHÂN THÀNH CÁM ƠN