(Tiểu luận) đồ án cá nhân môn học cs420 hệ phân tán (j2ee, net)

34 4 0
(Tiểu luận) đồ án cá nhân môn học cs420 hệ phân tán (j2ee,  net)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH KHOA CÔNG NGHỆ THÔNG TIN  ĐỒ ÁN CÁ NHÂN MÔN HỌC: CS420: HỆ PHÂN TÁN (J2EE, NET) GIẢNG VIÊN HƯỚNG DẪN : NGUYỄN HỮU PHÚC SINH VIÊN THỰC HIỆN : TRẦN VĂN MẾN MSSV : 26211135922 LỚP MÔN HỌC : CS 420 A LỚP SINH HOẠT : K26CMU-TAM ĐIỂM SỐ ĐIỂM CHỮ GIÁM KHẢO HỆ PHÂN TÁN | CS420A PHẦN 1: LÝ THUYẾT Câu 1: Hệ phân tán gì? Ví dụ số mơ hình ứng dụng hệ phân tán? Hệ phân tán gì? Dn1: Là hệ có chức liệu phân tán máy trạm kết nối với qua mạng máy tính (Có CSDL phân tán) Dn2: Là tập máy tính độc lập kết nối với mạng máy tính cài đặt phần mềm phân tán Dn3: Là tập máy tính độc lập giao tiếp với hệ thống thống tồn vẹn Ví dụ số mơ hình ứng dụng hệ phân tán? Mơ hình client – server: - Mơi trường bao gồm máy trạm máy chủ - Dịch vụ: Là công việc, chức mà máy thực - Server: Là máy mà thực nhiệm vụ - Client: Là máy trạmđưa u cầu dịch vụ Mơ hình Peer to Peer - Mỗi máy mạng có (chủ yếu) khả tương đương - Khơng có máy dành riêng để phục vụ - Bộ sưu tập máy tính gồm : o Truy cập người khác tập o Gửi / nhận thư điện tử (khơng cần có máy chủ) Tran Van Men HỆ PHÂN TÁN | CS420A o Gnutella kiểu nội dung chia sẻ Câu 2: Phân biệt chuyển mạch kênh chuyển mạch gói, ưu nhược điểm loại này? Chuyển mạch kênh: - Sử dụng kênh chuyên dụng mạch riêng thành lập thời gian truyền - Dữ liệu truyền thời gian thực (real time) - Độ trễ (latency) khơng đổi - Tín hiệu truyền dạng xung (Analog/Digital) - Ưu điểm: o Chất lượng cao: Do khơng có mát liệu, nên chất lượng gọi ổn định cao o **Thích hợp cho ứng dụng yêu cầu độ trễ thấp gọi thoại video trực tiếp - Nhược điểm: o Lãng phí tài nguyên: Kênh cấp phát cho gọi, dẫn đến lãng phí tài nguyên mạng Tran Van Men HỆ PHÂN TÁN | CS420A o Không hiệu cho liệu không liên tục: Không phù hợp cho việc truyền liệu không liên tục liệu internet, chất lượng kênh giữ nguyên suốt gọi Chuyển mạch gói: - Sử dụng nhiều kênh truyền khác -> thất lạc gói tin đường truyền Trường hợp gói tin nhiều -> máy nhận nhận thông tin gởi (Checksum Err) - Dữ liệu truyền không thời gian thực - Độ trễ (latency) lớn - Tín hiệu truyền dạng số: 01010…1010100 - Ưu điểm: o Hiệu suất cao tài nguyên linh hoạt: Tài nguyên mạng sử dụng hiệu khơng cần cấp phát kênh cố định cho gọi o Phù hợp cho liệu khơng liên tục: Thích hợp cho việc truyền liệu không liên tục internet email - Nhược điểm: o Trễ thời gian không đồng đều: Do gói liệu qua đường dẫn khác nhau, nên trễ thời gian không đồng xảy o Có thể xảy mát liệu: Trong trường hợp nhiều gói liệu gặp cố đường truyền, mát liệu xảy Câu 3: Nêu cho ví dụ yếu tố ảnh hưởng đến đời hệ phân tán? Có yếu tố chính: - Sự phát triển, thay đổi Công nghệ - Nhu cầu đối tượng sử dụng Ví dụ: - Thiết bị lưu trữ: Tran Van Men HỆ PHÂN TÁN | CS420A o • Tăng 60.000.000 lần 50 năm qua, cụ thể : o + 1977: 310 KB đĩa mềm – $1480 o + 1987: 40 MB đĩa cứng – $679 o + 2008: 750 GB đĩa cứng – $99, trung bình $0.13/GB - Bộ nhớ RAM: o o Ngày nay, RAM 32Gb với mức giá 70-100$ => 0.002 đến 0.003 Đô la mỹ cho MB RAM - Kiến trúc mạng: o + Original Ethernet: 2.94 Mbps o + 1985: thick Ethernet: 10 Mbps, Mbps với cắp xoắn đôi o + 1991: 10BaseT - twisted pair: 10 Mbps Switched networking: scalable bandwidth o + 1995: 100 Mbps Ethernet o + 1998: Gbps (Gigabit) Ethernet o + 1999: 802.11b (wireless Ethernet) standardized o + 2001: 10 Gbps giới thiệu o + 2005: 100 Gbps ( cáp quang)  Ngày nay: truyền đến tốc độ 1000 Gbps (2020) Câu 4: Middleware gì, kể tên Middleware phổ biến? Middleware Tran Van Men HỆ PHÂN TÁN | CS420A - Middleware hệ thống phân tán loại phần mềm hệ thống phân tán kết nối loại ứng dụng khác cung cấp phân tán minh bạch cho ứng dụng kết nối kể tên Middleware phổ biến? - Socket, - RPC, - RMI, Câu 5: Socket gì, Socket hoạt động giao thức nào, có loại Socket phổ biến? Socket gì, - Socket phương pháp để thiết lập kết nối truyền thơng chương trình u cầu dịch vụ (client) chương trình cung cấp dịch vụ (server) mạng Socket hoạt động giao thức nào, - Hoạt động dựa giao thức TCP / IP, chúng thường sử dụng giao tiếp (interface) cho giao thức nó, Có loại Socket phổ biến? - Tùy thuộc vào giao thức mà Socket phân thành ba loại: o datagram o stream o raw sockets Câu 6: Giới thiệu giao thức TCP, UDP lập trình hệ phân tán? TCP (Transmission Control Protocol) UDP (User Datagram Protocol) hai giao thức sử dụng lập trình hệ thống phân tán để quản lý truyền thơng máy tính ứng dụng khác mạng TCP: Tran Van Men Recommended for you Advice - đâsdsad Hành Vi Tiêu Dùng Trong Du Lịch Resumen Cap 59 Guyton Luis Enrique Sil Fisiología Humana y Prácticas How Available is HC Assignment Pre-Rev French Lit CH 41 naaghrehrhDDDDDDDDDDDDDDDDDDDD Medical-Surgical Nursing HỆ PHÂN TÁN | CS420A - Giao thức hướng kết nối (Connection-oriented protocols) - thiết lập kết nối (“bắt tay”) - [đàm phán giao thức] - trao đổi liệu - chấm dứt kết nối UDP: - Giao thức hướng không kết nối (Connectionless protocols) - Không thiết lập kết nối - Gửi / nhận liệu thực hiên qua gói - Không chấm dứt kết nối Câu 7: Mô tả Stub – Skeleton lập trình thủ tục triệu gọi từ xa hệ phân tán? - Một ứng dụng sử dụng đối tượng từ xa tổ chức theo mơ hình ClientServer: o - Client gửi u cầu Server để thực phương thức đối tượng o - Server cung cấp dịch vụ nhờ tập hợp gọi thủ tục từ xa (RPC - Remote Procedure Call) thông qua phương pháp triệu gọi (invocation method) đối tượng từ xa: Stub Skeleton Câu 8: So sánh đồng hồ vật lý đồng hồ logic? - Độ xác: Đồng hồ vật lý thường có độ xác cao so với đồng hồ logic Tran Van Men HỆ PHÂN TÁN | CS420A - Triển khai: Đồng hồ vật lý dựa vào thiết bị vật lý cụ thể, đồng hồ logic khái niệm trừu tượng thường triển khai phần mềm hệ thống máy tính - Ổn định: Đồng hồ vật lý thường ổn định bị ảnh hưởng thay đổi môi trường - Sử dụng: Đồng hồ vật lý thường sử dụng ứng dụng yêu cầu độ xác cao đo lường khoa học viễn thông, đồng hồ logic thường sử dụng hệ thống máy tính phần mềm để đồng hóa thời gian kiện Câu 9: Nêu trình tự bước thiết kế ứng dụng phân tán với JAVA? Xác định yêu cầu Thiết kế kiến trúc Lựa chọn công nghệ Xây dựng triển khai Thử nghiệm gỡ lỗi Triển khai quản lý Bảo mật quản lý chỗ Tài liệu hướng dẫn Kiểm tra tối ưu hóa Câu 10: Nêu quy trình phương thức/hàm xử lý truyền liệu qua kỹ thuật RMI? Tạo lớp giao diện.Ví dụ: HelloInterface.java Tạo lớp thực mô tả phương thức lớp giao diện o Ví dụ:HelloImplement.java Xây dựng chương trình Server: Tran Van Men HỆ PHÂN TÁN | CS420A - tạo đối tượng RemoteObject từ lớp Implement đăng ký đối tượng với máy JVM: o UnicastRemoteObject.exportObject(RemoteObject); - đăng ký đối tượng với rmiregistry: o Naming.bind(“rmi:///tên RemoteObject”,RemoteObject); Xây dựng chương trình Client: - tạo đối tượng Obj tham chiếu đến đối tượng từ xa thông qua: o Naming.lookup(“rmi /tênRemoteObject”); Biên dịch tạolớp Stub,Skel: - rmic Biên dịch chương trình Client,Server, Chạy chương trình: - chạy rmiregistry - chạy server - chạy client Tran Van Men HỆ PHÂN TÁN | CS420A try{ double a = Double.parseDouble(parts[0]); double b = Double.parseDouble(parts[1]); double c = Double.parseDouble(parts[2]); // giải pt bac double delta = b*b - 4*a*c; double x1, x2; if(delta > 0){ x1= (-b + Math.sqrt(delta))/(2*a); x2= (-b - Math.sqrt(delta))/(2*a); outputtoclient.print("phuong trinh co nghiem phan biet: "); outputtoclient.println("nghiem 1: "+ x1 + "; nghiem 2: "+ x2); }else if(delta == 0){ x1=-b/(2*a); outputtoclient.println("phuong trinh co nghiem kep: "+ x1); }else{ outputtoclient.println("phuong trinh vo nghiem: "); } }catch(NumberFormatException e){ outputtoclient.print("du lieu khong hop le"); } }else{ outputtoclient.print("du lieu khong hop le"); } }else{ break; } } server.close(); client.close(); }catch(IOException e){ e.printStackTrace(); } } } Tran Van Men 18 HỆ PHÂN TÁN | CS420A Kết quả: Tran Van Men 19 HỆ PHÂN TÁN | CS420A Câu 4: Client nhập số Server hiển thị số có phải số Fibonacci khơng? (dùng TCP) Trả lời: Chương trình gồm file Client4.java Server4.java Class Client4: package dacn_cs420a_2223_tranvanmen_5922; import java.io.*; import java.net.*; /** * * @author MEN */ public class Client4 { public static void main() { try { Socket socket = new Socket("localhost", 12345); BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter output = new PrintWriter(socket.getOutputStream(), true); // Nh ậ p sốố từ người dùng BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Nhao so: "); String numberStr = reader.readLine(); output.println(numberStr); // Đ ọ c kếốt từ máy chủ hiển thị String result = input.readLine(); System.out.println("Ket qua tu may chu: " + result); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } Tran Van Men 20 HỆ PHÂN TÁN | CS420A Class Server4: package dacn_cs420a_2223_tranvanmen_5922; import java.io.*; import java.net.*; import java.util.ArrayList; import java.util.List; /** * * @author MEN */ public class Server4 { public static void main() { try { ServerSocket serverSocket = new ServerSocket(12345); System.out.println("May chu dang nghe "); while (true) { Socket clientSocket = serverSocket.accept(); System.out.println("Da ket noi voi mot client."); BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); PrintWriter output = new PrintWriter(clientSocket.getOutputStream(), true); // Đ ọ c sốố từ client String numberStr = input.readLine(); int number = Integer.parseInt(numberStr); // Ki mểtra xem sốố có ph ả i sốố Fibonacci hay khống boolean isFibonacci = isFibonacci(number); // G i kếốt vếồ client if (isFibonacci) { output.println(number + " la so Fibonacci."); } else { output.println(number + " khong la so Fibonacci."); } clientSocket.close(); } } catch (IOException e) { e.printStackTrace(); } } Tran Van Men 21 HỆ PHÂN TÁN | CS420A public static boolean isFibonacci(int number) { List fibonacciList = generateFibonacciNumbers(number); return fibonacciList.contains(number); } public static List generateFibonacciNumbers(int max) { List fibonacciList = new ArrayList(); int a = 0, b = 1; while (a

Ngày đăng: 19/12/2023, 15:19

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan