ĐỀ TÀI:BÁO CÁO MÔN HỌC LẬP TRÌNH MẠNG LẬP TRÌNH CẬP NHẬT DANH BẠ ĐIỆN THOẠI PHÂN TÁN TRONG ĐIỀU KIỆN PHẢI ĐẢM BẢO GẮN BÓ THÔNG TIN GVHD: PGS.TS... Nội dung chínhLập trình Socket – mô h
Trang 1ĐỀ TÀI:
BÁO CÁO MÔN HỌC LẬP TRÌNH MẠNG
LẬP TRÌNH CẬP NHẬT DANH BẠ ĐIỆN THOẠI PHÂN TÁN TRONG ĐIỀU KIỆN PHẢI ĐẢM BẢO
GẮN BÓ THÔNG TIN
GVHD: PGS.TS Lê Văn Sơn
HVTH : Đặng Văn Kiểu
Lớp : Khoa học máy tính K24
Đà Nẵng, 05/2012 ĐẠI HỌC ĐÀ NẴNG
Trang 2Nội dung chính
Lập trình Socket – mô hình Client/Server
Lập trình Socket – mô hình Client/Server
Kết nối CSDL (JDBC:ODBC)
Kết nối CSDL (JDBC:ODBC)
Phân tích bài toán
Phân tích bài toán
Kết quả Demo
Kết quả Demo
Trang 3Lập trình socket – MH Client/Server
Khi nói t i ớ l p trình m ng ậ ạ ta th ườ ng ngh đ n cách trao đ i gi a m t ch ĩ ế ổ ữ ộ ươ ng trình ph c v ụ ụ (Server) v i m t hay nhi u ch ớ ộ ề ươ ng trình khách (Client)
Client g i m t yêu c u cho Server Client mu n g i đ ử ộ ầ ố ử ượ c yêu c u thì tr ầ ướ c h t ph i tìm cách ế ả
k t n i v i Server ế ố ớ
Server ch p nh n ho c t ch i s k t n i Khi k t n i đ ấ ậ ặ ừ ố ự ế ố ế ố ượ c thi t l p thì Client và Server trao ế ậ
đ i v i nhau thông qua Sockets ổ ớ
Trang 4Lập trình socket – MH Client/Server
Server
– Server process ph i ch y tr ả ạ ướ c (ph n t th đ ng) ầ ử ụ ộ
– Server ph i t o m t socket đ l ng nghe và ch p nh n các k t n i t Client ả ạ ộ ể ắ ấ ậ ế ố ừ
Client
– Kh i t o TCP socket ở ạ
– Xác đ nh IP address, port number c a server và thi t l p k t n i đ n server ị ủ ế ậ ế ố ế
Khi server nhận yêu cầu kết nối, nó sẽ chấp nhận và khởi tạo socket mới để giao tiếp với client Có thể server chấp nhận nhiều client tại một thời điểm.
Trang 5Lập trình socket – Client/Server
Trang 6Kết nối CSDL
Các trình đi u khi n k t n i c s d li u JDBC ề ể ế ố ơ ở ữ ệ
ODBC Driver (Open Database Connectivity).
Microsoft đã đ a ra m t ch ư ộ ươ ng trình đi u ề khi n chu n đ k t n i gi a database client ể ẩ ể ế ố ữ
v i m t database server b t k làm vi c trên ớ ộ ấ ỳ ệ môi tr ườ ng Windows.
Java làm vi c trên các lo i h đi u hành ệ ạ ệ ề nên ODBC không đáp ng đ ứ ượ c Vì v y, ậ Sun ph i đ a ra m t trình JDBC đ cho ả ư ộ ể phép t database client vi t b ng Java có th ừ ế ằ ể truy c p đ n m t CSDL tùy ý nh JDBC- ậ ế ộ ư ODBC.
Trang 7Kết nối CSDL
Hãng Sun đã phân ra b n lo i trình đi u khi n JDBC khác nhau: ố ạ ề ể
Lo i I: ạ JDBC-ODBC bridge plus ODBC Driver: là c u n i gi a trình ng d ng Java và trình đi u ầ ố ữ ứ ụ ề khi n ODBC đ ể ượ c hi n th c b ng bytecode ệ ự ằ
Trong khi trình đi u khi n CSDL là nh phân nên ề ể ị không dùng đ ượ c trên các trình duy t Web ệ
ng d ng Java trong tr ng h p này
Ứ ụ ườ ợ ch th c thi trên máy v i Windows ỉ ự ớ
Trang 8Kết nối CSDL
Lo i II: ạ JDBC
Trình điều khiển JDBC truy cập cơ sở dữ liệu thông qua giao thức riêng của hệ quản trị cơ sở dữ liệu như Oracle, Informix, DB2…
Trình điều khiển này sử dụng phần mã nhị phân làm driver của hệ quản trị CSDL, nên phần mã nhị phân phải được nạp vào máy client khi hoạt động.
Trang 9Kết nối CSDL
Lo i III: ạ JDBC-Net pure Java Driver.
Trình đi u khi n b ng Java ề ể ằ dùng giao th c chu n ứ ẩ nên có th dùng đ truy c p đ n c s d ể ể ậ ế ơ ở ữ
li u b t k nh là m t c u n i gi a database client v i server ệ ấ ỳ ư ộ ầ ố ữ ớ
Đây là trình đi u khi n hoàn toàn b ng Java (bytecode) nên có th n p đ ề ể ằ ể ạ ể th c thi trên Web ự vào th i đi m ng d ng th c thi Có th dùng đ truy c p qua Web browser ờ ể ứ ụ ự ể ể ậ
K t lu n: Bài toán c a chúng ta ch dùng lo i 1 ế ậ ủ ỉ ạ
Trang 10Kết nối CSDL
Lo i IV: ạ
Trình đi u khi n hoàn toàn b ng Java dùng giao th c đ c thù, t ề ể ằ ứ ặ ươ ng t lo i II, nh ng đ ự ạ ư ượ c vi t ế
b ng Java ( ằ bytecode), nên không c n b t k ch ầ ấ ỳ ươ ng trình nào đ ượ c n p tr ạ ướ c khi ng d ng th c thi ứ ụ ự Tri n khai trên h th ng Web browser làm database client, th ể ệ ố ườ ng đ ượ c dùng khi c n k t n i v i các ầ ế ố ớ
h c s d li u SQL Server, MySQL, Oracle, v.v trong vi c ệ ơ ở ữ ệ ệ xây d ng các h th ng thông tin đa t ng ự ệ ố ầ
Trang 11PHÂN TÍCH BÀI TOÁN
H th ng c p nh t danh b đi n tho i phân tán ệ ố ậ ậ ạ ệ ạ
ph i đ m b o đ ả ả ả ượ c các y u t sau: ế ố
Dữ liệu phải luôn thống nhất dù khách hàng truy cập ở bất kỳ đâu và vào bất kỳ thời điểm nào.
Phải đảm bảo được dữ liệu tại các server sau khi khắc phục được sự cố phải có cơ chế phục hồi và đồng nhất với các server đang hoạt động.
Trang 12PHÂN TÍCH BÀI TOÁN
H ướ ng gi i quy t: ả ế
Xây d ng đ ự ượ c h đa server s d ng vòng tròn o đ c p nh t d li u và phát/nh n các thông ệ ử ụ ả ể ậ ậ ữ ệ ậ
đi p ệ
M i server sau khi kh c ph c s c , n u mu n tham gia l i h th ng c n ph i phát đi m t thông đi p ỗ ắ ụ ự ố ế ố ạ ệ ố ầ ả ộ ệ khóa d li u trên t t c các server khác và ti n hành c p nh t l i d li u cho trùng kh p v i các ữ ệ ấ ả ế ậ ậ ạ ữ ệ ớ ớ server khác.
Trang 13PHÂN TÍCH BÀI TOÁN
Do đó ta c n ph i: ầ ả
➼ D a vào c u n i JDBC - ODBC và l p trình socket ta xây d ng thu t toán ự ầ ố ậ ự ậ
➼ D a vào mô hình đa server s d ng vi c c p nh t theo vòng tròn o đ c p nh t d ự ử ụ ệ ậ ậ ả ể ậ ậ ữ
li u lên các server và đ đ m b o g n bó d li u ệ ể ả ả ắ ữ ệ
Trang 14PHÂN TÍCH BÀI TOÁN
Nh v y h th ng c a ta g m có: ư ậ ệ ố ủ ồ
T i m i đ a ph ạ ỗ ị ươ ng có 1 Server (Local Server) Gi s có 3 Servers HANOI, DANANG, SAIGON là ả ử ở SERVER1, SERVER2, SERVER3 và có 1 SERVER quan sát 3 SERVERS này.
➼ Và t ươ ng ng v i m i Server là m t C s d li u (CSDL) Danhba1, Danhba2, Danhba3 ứ ớ ỗ ộ ơ ở ữ ệ
Trang 15PHÂN TÍCH BÀI TOÁN
SAIGON HANOI
Server
DANANG
P5
Hình : Mô hình hoạt động của các Server
DANHBA1
DANHBA2
DANHBA3
Trang 16PHÂN TÍCH BÀI TOÁN
Tại mỗi CSDL có 1 table: là danhbadt
Công việc cập nhật sẽ do 1 client đặc biệt tại
mỗi Server đảm nhiệm
ST
Trang 17DEMO CHƯƠNG TRÌNH
Trang 18DEMO CHƯƠNG TRÌNH
Trang 19XIN CHÂN THÀNH CÁM N Ơ PGS.TS Lê Văn S n ơ
Và các b n trong l p ạ ớ
Đã giúp đ nhóm th c hi n đ tài ỡ ự ệ ề