Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
676 KB
Nội dung
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. [...]...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: Server socket lắng nghe trên cổng Một socket cho một client Client 1 Client n Kết nối qua socket 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 . 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. 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. 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