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

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

ĐẠI HỌC ĐÀ NẴNG
TÊN ĐỀ TÀI
TÊN ĐỀ TÀI
Đà Nẵng, tháng 5 năm 2012
GVHD: PGS.TS. Lê Văn Sơn
HVTH: Lê Văn Linh
Lớp : Khoa học máy tính K16
N I DUNG TRÌNH BÀYỘ

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.ươ
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.ị
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 VÀ L P TRÌNH PHÂN TÁN Ậ
H NG Đ I T NG TRONG JAVA ƯỚ Ố ƯỢ

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.ệ ọ ẫ
A1
A2

B1
C1
C3
C2
PC B
PC C
PC A
CÁC V N Đ PHÁT SINH Ấ Ề
KHI G I PH NG TH C T XAỌ ƯƠ Ứ Ừ

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 .ề ạ ể ế ớ ươ ứ ự ự
VAI TRÒ C A CÁC L P TRUNG GIAN Ủ Ớ

Đ 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).
A1
A2

Computer A
B1
C1
Computer B
Computer C
B1_stub
C1_stu b
B1_s kel
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.
PHÂN TÍCH VÀ THI T K CSDL PHÂN TÁNẾ Ế

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:
XÂY D NG PH NG TH C TRÊN CÁC SERVERỰ ƯƠ Ứ

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 B ĐI U PH I K T N I Đ 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 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:

×