1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán

61 382 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 61
Dung lượng 1,11 MB

Nội dung

Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán LỜI CẢM ƠN “Cơm cha áo mẹ chữ thầy”, câu nói từ xưa thấm nhuần vào tâm tư tình cảm người Việt Nam, mà học từ thuở bé Hôm nay, vinh dự hoàn thành đề tài tốt nghiệp, vui sướng nhường nào! Lúc lại trân trọng câu nói hết Đúng vậy, cha mẹ, thầy cô chắn ngày hôm Trước tiên xin thành kính cảm ơn cha mẹ, cha mẹ cho tất để vững bước đường đời Tôi xin chân thành cảm ơn thầy cô giúp đỡ, truyền đạt cho kiến thức quí báu suốt trình học tập trường Tôi xin chân thành cảm ơn thầy, tận tình bảo, cho nhiều ý kiến quí giá để hoàn thành tốt đồ án tốt nghiệp Cuối cùng, xin cảm ơn tất người, ủng hộ, giúp đỡ thời gian qua Đà Nẵng 20/5/2003 Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Lời Cam Đoan Tôi xin cam đoan điều thật, chịu trách nhiệm không thật : 1- Đồ án hoàn thành sở kiến thức học thân, ý kiến định hướng thầy hướng dẫn Nguyễn Tấn Khôi nghiên cứu, lao động Không có chép, lắp ráp từ dự án khác 2- Những vấn đề lý thuyết tham khảo, tất tài liệu nêu phần tài liệu tham khảo Những lý thuyết đúng, triển khai ứng dụng kiểm tra thực tế 3- Những vấn đề kỹ thuật giải vấn đề đề tài kiểm tra, chạy trình bày đồ án 4- Đảm bảo chương trình chạy đúng, chịu trách nhiệm toàn trình bày Đà Nẵng 20/5/2003 Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán MỤC LỤC Chương TỔNG QUAN VỀ ĐỀ TÀI GIỚI THIỆU ĐỀ TÀI HƯỚNG NGHIÊN CỨU Chương CƠ SỞ LÝ THUYẾT LẬP TRÌNH MẠNG VỚI JAVA 1.1 Liên lạc internet 1.2 Dịch vụ từ phía máy chủ khái niệm cổng .9 1.3 Mô hình khách chủ khái niệm Socket 1.4 Các lớp cần thiết lập trình mạng với Java 10 1.5 Giới thiệu webserver giao thức http 10 MÔ HÌNH PHÂN TÁN ĐỐI TƯỢNG RMI 10 2.1 Tìm hiểu chế hoạt động ứng dụng JavaRMI 12 2.2 Các vấn đề cần ý JavaRMI 12 2.3 Tìm hiểu tầng _Stub _Skel 13 .13 2.4 Tìm hiểu đăng ký Rmiregistry hàm đăng kí 14 KỸ THUẬT LẬP TRÌNH PHÂN TÁN JAVARMI .15 3.1 Tổng quan ứng dụng JavaRMI 15 3.2 Trình tự xây dựng ứng dụng JavaRMI .15 3.3 Các cách đăng ký đối tượng với rmiregistry 17 3.4 Truyền tham số gọi phương thức từ xa 17 3.5 Các kỹ thuật gọi đối tượng xa JavaRMI 20 3.6 Vấn đề bảo mật kĩ thuật xuyên hầm JavaRMI 24 Chương PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 26 Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán PHÂN TÍCH HỆ THỐNG THÔNG TIN 26 .29 THIẾT KẾ VÀ TỔ CHỨC CƠ SỞ DỮ LIỆU 30 Chương XÂY DỰNG CHƯƠNG TRÌNH .32 PHÂN TÍCH YÊU CẦU & KHÁI QUÁT MÔ HÌNH 32 THIẾT KẾ CHƯƠNG TRÌNH 34 2.1 Module RootServer 34 2.2 Module ClientAgent .39 2.3 Module Client 42 XÂY DỰNG DỊCH VỤ ĐỂ TRIỂN KHAI TRÊN HỆ THỐNG 44 3.1 Các yêu cầu chung 44 3.2 Kĩ thuật .44 KẾT QUẢ CHƯƠNG TRÌNH 49 4.1 Chương trình Server 49 4.2 Chương trình Agent 50 4.3 Chương trình Client 51 4.4 Service 52 Chương ĐÁNH GIÁ KẾT QUẢ 53 KẾT QUẢ ĐẠT ĐƯỢC 53 NHẬN XÉT .53 HƯỚNG PHÁT TRIỂN 53 KẾT LUẬN 54 Chương Phụ Lục 55 Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán DANH MỤC CÁC HÌNH VẼ & BẢNG BIỂU H1 Sự độc lập khai báo thực thi hành vi H2 Các lớp sử dụng giao tiếp JavaRMI H3 Kiến trúc JavaRMI H4 Hoạt động ứng dụng JavaRMI H5 Mô hình ủy nhiệm (proxy pattern) H6 Vai trò _stub _skel H7 Cơ chế đăng kí & truy tìm dịch vụ JavaRMI H8 Hoạt động hệ thống callback H9 Kỹ thuật trình nạp mồi từ xa H10 JavaRMI bị chặn H11 Cơ chế xuyên hầm H12 Biểu đồ trường hợp sử dụng (UC) hệ thồng H13 Biểu đồ trình tự H14 Biểu đồ cộng tác hệ thống H15 Biểu đồ lớp H16 Biểu đồ hoạt động (Sơ đồ khối hệ thống) H17 Sơ đồ hoạt động hệ thống B1 Các lớp lập trình mạng B2 So sánh đối tượng cục & từ xa B3 Bảng liệu Agent B4 Bảng liệu Service B5 Bảng liệu Client Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Lời Mở Đầu Sự phát triển khoa học kỹ thuật, Công nghệ thông tin ngày đặt nhiều vấn đề cần giải Trong vấn đề thời gian hiệu sử dụng tài nguyên mạng để đáp ứng yêu cầu người quan trọng Chúng ta phải tìm cách khai thác tối đa khả tài nguyên mạng, cho đáp ứng tốt nhu cầu thông tin người Như biết, nhu cầu thông tin vô hạn, đa dạng lĩnh vực phong phú lượng, nhiên tài nguyên lại hạn chế đáp ứng tốt yêu cầu người Một môi trường tài nguyên cụ thể đáp ứng tốt vài lĩnh vực thông tin định Như vậy, vấn đề làm để tài nguyên ta nâng cao khả phục vụ cho nhiều đối tượng Mặc khác, thực tế có toán yêu cầu khối lượng tính toán lớn, có ứng dụng bắt buộc triển khai mạng liệu xử lí không tập trung mà phân tán tài nguyên mạng Ngày nay, lập trình ứng dụng phân tán có bước tiến đáng kể Mục tiêu tận dụng tài nguyên, chia sẻ tài nguyên nhằm đáp ứng tốt nhu cầu thông tin người sở nguồn tài nguyên cố định Với phân tích ta thấy vấn đề cập nhật, tải dịch vụ động mạng quan trọng Ý tưởng vấn đề mạng tất dịch vụ đặt tập trung máy chuyên trách đó, có nhu cầu người sử dụng tải dịch vụ máy cục để sử dụng Khi kết thúc dịch vụ tất tài nguyên giải phóng, bỡi dịch vụ không lưu cố định đĩa máy cục Như vậy, việc tải dịch vụ động đem lại lợi ích sau: - Cho phép tiết kiệm, chia sẻ tài nguyên mạng - Nâng cao tính đa dạng, phong phú phân tán dịch vụ - Quản lý dịch vụ tập trung hơn, có thay đổi dịch vụ tiết kiệm công sức, chi phí xử lý - Dịch vụ có tính cập nhật, tương thích cao Với kiến thức học định hướng thầy hướng dẫn, chọn đề tài “Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán” nhằm giải vấn đề phân tích Qua thời gian thực đề tài thu kết định, nhiên nhiều thiếu sót Rất mong ý kiến đóng góp quí giá thầy cô, bạn để đề tài hoàn thiện triển khai ứng dụng thực tế Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương TỔNG QUAN VỀ ĐỀ TÀI GIỚI THIỆU ĐỀ TÀI “Tính toán phân tán” có nghĩa việc tính toán không tập trung máy mà phải phân tán nhiều máy mạng, nhằm nâng cao tốc độ tính toán, tận dụng tốt tài nguyên mạng Như vậy, nhiệm vụ đề tài nhằm tìm hiểu công nghệ hỗ trợ lập trình mạng, hỗ trợ triển khai ứng dụng phân tán bước đầu thiết kế hệ thống hỗ trợ tính toán phân tán mức độ Trên tinh thần trình thực đồ án tốt nghiệp, tiến hành tìm hiểu thiết kế hệ thống đơn giản, ta triển khai dịch vụ tính toán, tính toán phân phối tới máy mạng để thực cho đạt hiệu tốt tính toán việc sử dụng tài nguyên mạng Hệ thống triển khai mạng triển khai dịch vụ nó, hệ thống tiếp nhận yêu cầu tính toán vào dịch vụ, tình trạng hệ thống mạng tại, hệ thống phân phối công việc cho máy chức đóng vai trò trung gian nhận gởi yêu cầu kết Mọi tác động đến hệ thống thực tập trung máy, máy mạng tự động cập nhật lại hệ thống Vấn đề nảy sinh là, làm để đặt toàn ứng dụng hoàn chỉnh máy Sau phân phối thành phần ứng dụng đến máy khác gọi thực thi phần máy phân phối nhận kết trả về, nghĩa phải triệu gọi module chương trình thực thi máy xa mạng HƯỚNG NGHIÊN CỨU Từ khái quát đề tài ta thấy, ứng dụng để triển khai mạng máy tính Đòi hỏi kỹ thuật lập trình môi trường mạng, ứng dụng phải gọn, tính toán nhanh, đặc biệt yêu cầu tương thích với mạng hỗn tạp nhiều tảng phần cứng hệ điều hành khác Ngày có nhiều công cụ sử dụng lập trình mạng Tuy nhiên chức yêu cầu hệ thống cần xây dựng, ngôn ngữ JAVA công nghệ tốt Đặc biệt từ phiên 1.1 JDK hãng Sun đưa công nghệ gọi triệu gọi phương thức từ xa- Remote Method Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán invocation (JavaRMI) Đúng tên gọi nó, công nghệ cho phép xây dựng ứng dụng gọi phương thức máy khác Và chìa khóa để xây dựng hệ thống đề tài nêu Do đề tài chọn hướng nghiên cứu kỹ thuật lập trình mạng với ngôn ngữ Java, công nghệ JavaRMI Công nghệ tìm hiểu ứng dụng xuyên suốt đề tài “trái tim” hệ thống Dựa kỹ thuật lập trình mạng với Java công nghệ JavaRMI , ta xây dựng ứng dụng gồm ba thành phần để triển khai mạng, tương ứng với máy đóng vai trò Client, Server Agent Trong đó, Client máy khách yêu cầu dịch vụ; Server máy chủ chịu trách nhiệm điều khiển hệ thống, phân phối công việc làm trung gian vận chuyển máy khách máy trạm chức năng; Agent máy trạm chức năng, phân phối công việc từ Server thực thi công việc Tuy nhiên, để hệ thống có tính quán toàn hệ thống đặt Server, Client Agent mẫu chương trình đơn giản có nhiệm vụ kết nối Server để tải thành phần tương ứng Server Trong phần đồ án trình bày lý thuyết lập trình mạng với Java kỹ thuật lập trình phân tán với công nghệ JavaRMI Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương CƠ SỞ LÝ THUYẾT LẬP TRÌNH MẠNG VỚI JAVA Ngôn ngữ lập trình Java công ty Sun Microsystem đưa vào năm 1990 Là ngôn ngữ lập trình mạnh mẽ, đặc biệt lĩnh vực phát triển ứng dụng mạng Những đặc điểm Java mô tả ngắn gọn sau: ”Java ngôn ngữ đơn giản, hướng đối tượng, phân tán, thông dịch, mạnh mẽ , bảo mật, cấu trúc độc lập, khả chuyển, hiệu cao linh động” 1.1 Liên lạc internet Họ giao thức TCP/IP xem ngôn ngữ chung để máy mạng “nói chuyện” với Đây quy ước chung giao thức cốt lõi giao tiếp mạng Theo giao thức này, máy đặt cho tên riêng biệt gọi địa IP, địa IP Các máy giao tiếp với thông qua địa IP Có hai cách chuyển liệu mạng theo giao thức TCP UDP Giao thức TCP gởi gói liệu đi, nơi nhận phải thông báo kiểm tra xem liệu đến đủ hay chưa, lỗi hay không lỗi Trước chuyển liệu có kết nối máy gởi , máy nhận trì tuyến kết nối trình truyền Trái lại, giao thức UDP kết nối trước truyền, thông tin đóng gói gởi đi, mặc định bên nhận sẵn sàng thông tin phản hồi từ bên nhận 1.2 Dịch vụ từ phía máy chủ khái niệm cổng Khi kết nối vào máy chủ, ta yêu cầu nhiều dịch vụ khác nhau; dịch vụ có cách gởi nhận riêng TCP UDP truyền liệu máy liệu truyền tới dịch vụ thông qua khái niệm cổng (port) Mỗi dịch vụ sử dụng cổng qui ước để trao đổi liệu 1.3 Mô hình khách chủ khái niệm Socket Có nhiều dịch vụ kiến trúc theo mô hình khách chủ-Client/Server Theo mô hình chương trình máy khách gởi yêu cầu tới Server chương trình phía Server tiếp nhận, xử lý yêu cầu, sau gởi kết Client Quá trình kết nối gởi liệu thực thông qua chế trừu tượng gọi Socket Để tạo kết nối qua Socket cần biết hai yếu tố địa IP cổng dịch vụ port Trang Đồ án tốt nghiệp –Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán 1.4 Các lớp cần thiết lập trình mạng với Java Lớp InetAddress Socket ServerSocket DatagramSocket DatagramPacket URL Chức dùng cho việc quản lý địa máy theo tên theo số IP Cung cấp phương thức để chuyển đổi truy xuất địa IP dùng tạo cổng để kết nối từ phía máy khách với máy chủ dùng tạo cổng kết nối từ phía máy chủ với máy khách dùng chuyển gói liệu theo giao thức UDP dùng cho gói chứa liệu mạng theo UDP địa định vị tài nguyên mạng 1.5 Giới thiệu webserver giao thức http Trình chủ Webserver chương trình chạy máy chủ, có chức tương tác với trình khách, xử lí liệu, tìm kiếm thông tin gởi kết trình khách theo giao thức http Giao thức http cung cấp cách thức giao tiếp trình khách (thường trình duyệt) trình chủ Webserver Qua trình khách gởi yêu cầu nhận kết từ Webserver MÔ HÌNH PHÂN TÁN ĐỐI TƯỢNG RMI Công nghệ JavaRMI(Remote Method invocation)-triệu gọi phương thức từ xa, lần đề cập phiên 1.1 JDK đưa lập trình mạng lên mức cao JavaRMI dễ sử dụng công nghệ mạnh để phát triển ứng dụng phân tán Muc tiêu JavaRMI cho phép xây dựng chương trình Java có tích chất phân tán có mã lệnh hoàn toàn tương tự với chương trình bình thường Ý tưởng tạo đối tượng phân tán xa JavaRMI tích hợp vào ngôn ngữ Java mô hình đối tượng cục tạo hệ thống thừa kế tính an toàn, mạnh mẽ Java vấn đề xử lí phân tán So sánh đối tượng cục đối tượng xa Vấn đề Định nghĩa Thực thi Khởi tao Truy cập Tham chiếu Đối tượng cục Bằng lớp Java Đối tượng từ xa Bằng giao tiếp interface mở rộng từ giao tiếp Remote Bằng lớp Java Bằng lớp giao tiếp Toán tử new Không thể trực tiếp với new Trực tiếp qua biến đối Thông qua tầng trung gian là: stub tượng skelet Trực tiếp đối Thông qua tầng trung gian là: stub tượng vùng heap skelet Trang 10 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Cài đặt phương thức theo kỹ thuật reflect Java public MethodDescrIPtor executeMethod(MethodDescrIPtor m)throwsRemoteException{ try{ // lấy lớp đối tượng agent Class class=this.agent.getClass(); Method method;// method đối tượng Method //trả phương thức có tên , danh sách kiểu tham số lưu //trong đối tượng miêu tả phương thức m method=class.getMethod(m.methodName,m.parameterType); //thực thi phương thức đối tượng agent // với giá trị tham số lưu arglist m // kết phương thức lưu vào trường giá trị trả m m.returnValue=method.invoke(agent,m.arglist); }catch(Exception e){System.out.println(e);} //cuối đối tượng lại trả cho trình server return m; } 3.2.5 Lớp AtagentSetup Lớp thực thi đăng ký đối tượng agent với đối tượng server trình server triệu gọi phương thức đối tượng agent không cần liên hệ với rmiregistry để lấy tham chiếu Do tất lớp dịch vụ đặt webserver phần tải để chạy agent Khi agent tải lớp để đăng ký tự động tải lớp khác có liên quan tới lớp trongn dịch vụ agent, với chế JavaRMI lớp cốt lõi (Atagentinterface, Atagentimplement…) tự động nạp agent để chạy Lớp xây dựng hai kỹ thuật trình mồi nạp ứng dụng từ xa callback JavaRMI Lớp đồng thời đóng vai trò sau: - Là trình client tải kỹ thuật trình mồi nạp từ xa Là trình client kỹ thuật callback tham chiếu đến trình server Là trình setup để đăng ký đối tượng với đối tượng server Lớp cài đặt sau: // cài đặt giao tiếp Runnable public class AtagentSetup implements Runnable { public static void main(String args[])throws Exception{ // tạo đối tượng agent Atagentinterface agent=new Atagentimplement(); UnicastRemoteObject.exportObject(agent); // lấy tham chiếu đối tượng server Atrootserverinterface server=(Atrootserverinterface)Naming.lookup("rmi://localhost/"+service); // gọi hàm để đăng ký đối tượng với đối tượng chủ server.registryAgent(agent); } } Trang 47 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán 3.2.6 Lớp AtrootserverSetup Lớp đăng ký đối tượng server dịch vụ với quản lý rmiregistry máy server Là phần chạy server dịch vụ lấy xuống từ webserver Lớp cài đặt lớp setup ứng dụng JavaRMI bình thường public class AtrootserverSetup implements Runnable{ public static void main(String args[])throws Exception{ Atrootserverinterface rs=new Atrootserverimplement(); UnicastRemoteObject.exportObject(rs); Naming.rebind("rmi://localhost/Math",rs); System.out.println("Wait for request "); } } 3.2.7./Lớp MethodDescriptor Mô tả đối tượng để làm tham số truyền dịch vụ, đề cập phần trước 3.2.8 Lớp GUI Lớp GUI giao diện với người sử dụng dịch vụ Mỗi dịch vụ có lớp cho phép người sử dụng thao tác với dịch vụ cách trực quan công việc như: Chọn tên phương thức, nhập giá trị tham số, gởi yêu cầu, xem kết quả… Mỗi giao diện thường bao gồm List chứa danh sách thuộc tính, TextField để nhập hiển thị thông tin, nút thao tác Mỗi GUI chức giao diện trình client dịch vụ Nó trực tiếp gởi yêu cầu nhận kết Trong hệ thống sử dụng kỹ thuật trình nạp mồi ứng dụng từ xa phép chuyển GUi từ webserver máy client, nên GUi cài đặt giao tiếp Runnable Nó đóng vai trò trình khách hệ thống kỹ thuật callback Tuy nhiên bên lại thiết kế theo kỹ thuật reflect Cho phép triệu gọi nhiều phương thức giao diện chung Phần kỹ thuật lớp // mã phát sinh thành phần giao diện bị bỏ qua public class GUi extends Frame implements Runnable { // phần mã thi hành người dùng click để gởi yêu cầu void button1_MouseClicked(Java.awt.event.MouseEvent event) {System.setSecurityManager(new JavaRMISecurityManager()); MethodDescrIPtor data=new MethodDescrIPtor(); //Lấy thông tin phương thức đng chọn vào đối tượng data {} // we must use reflect to call executemthod from server // lấy tham chiếu đối tượng chủ củadịch vụ Trang 48 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Object rs=Naming.lookup("rmi://localhost/service"); Class c=rs.getClass(); Class type[]=new Class[]{MethodDescrIPtor.class}; Method method=c.getMethod("executeMethod",type); Object arg[]=new Object[]{data}; //Thực thi phương thức đối tượng server // phương thức chịu trách nhiệm triệu gọi phương thức tương ứng agent trả kết client MethodDescrIPtor result=(MethodDescrIPtor)method.invoke(rs,arg); // biểu diễn kết tính toán } Kết luận Ở phần xây dựng chương trình trình bày chi tiết phần chương trình, kỹ thuật xử dụng để thiết kế chương trình Nói chung ứng dụng JavaRMI, tất vấn đề nảy sinh, yêu cầu ứng dụng giải kỹ thuật công nghệ JavaRMI Hầu hết kỹ thuật sử dụng, chúng tích hợp phần, toàn ứng dụng để tạo nên kỹ thuật tổng hợp đáp ứng yêu cầu đặt Tuy nhiên khái quát việc sử dụng kỹ thuật sau: - Kỹ thuật trình mồi nạp ứng dụng từ xa dùng xử lý chức tải lớp Kỹ thuật phản xạ dùng thực triệu gọi phươnng thức Kỹ thuật callback đáp ứng yêu cầu dịch vụ JavaRMI Phần cuối đồ án tổng hợp lại kết đạt trình thực đề tài số đề xuất sau KẾT QUẢ CHƯƠNG TRÌNH Chương trình thiết kế bốn phần, server, agent, client dịch vụ 4.1 Chương trình Server Giao diện server Các thành phần server bố trí tabpanel Panel Giao diện trình server gồm: - Hai danh sách hiển thị Agent kết nối dịch vụ sẵn sàng Hai nút để khởi động chấm dứt server Check box cho phép người dùng hủy đăng ký dịch vụ server hay không, chọn có, để hủy dịch vụ ta chọn tên dịch vụ danh sách click nút lệnh unbind Panel Chứa thành phần thao tác với dịch vụ cho phép thêm, hủy bỏ, chỉnh xửa dịch vụ.(menu service) Trang 49 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Panel Chứa thành phần thao tác với agent cho phép thêm, hủy bỏ, chỉnh xửa agent.(menu agent) Service and ueser tab List of Service List of Agent Choice and button ware used to unbind service 4.2 Chương trình Agent Server’s connect name and port for List of service Login infor Trang 50 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Giao diện Agent - TextField dùng nhập tên, password agent Danh sách hiển thị dịch vụ tải hoạt động agent Hai nút cho phép thực hai động tác login logout agent Check box cho phép tùy chọn tự động đăng ký tất dịch vụ tải hay chọn dịch vụ để đăng ký, để đăng ký dịch vụ ta cần click tên dịch vụ danh sách tải 4.3 Chương trình Client Client chương trình đơn giản, cho phép thực kết nối server tải giao diện dịch vụ Gồm hai nút kết nối server kết thúc kết nối Danh sách dịch vụ có server Input data here, and click login button to connect Trang 51 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán The list of services, click to choice 4.4 Service Thực nhiệm vụ tính toán, ứng với dịch vụ có giao diện riêng để người dùng thao tác với dịch vụ Bao gồm có thành phần sau : -Danh sách hiển thị phương thức dịch vụ -Các thành phần dùng nhập giá trị tham số -Thành phần hiển thị kết -Nút thao tác Ví dụ giao diện dịch vụ Math sau Parameter and Result field List of methods Trang 52 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương ĐÁNH GIÁ KẾT QUẢ KẾT QUẢ ĐẠT ĐƯỢC Trong trình thực đề tài, với giúp đỡ thầy hướng dẫn cố gắng thân thu số kết sau: - Nắm vững ngôn ngữ lập trình Java, giao thức TCP/IP, Webserver Hiểu lập trình mạng với Java, đặc biệt công nghệ JavaRMI Hiểu hệ thống phân tán, ứng dụng Thiết kế xây dựng chương trình cho phép tải lớp động, thể triển khai phân tán mạng hỗ trợ việc tính toán phân tán NHẬN XÉT Với chương trình xây dựng thử nghiệm trên, phần giải yêu cầu đặt hạn chế đòi hỏi nghiên cứu, đầu tư sâu tương lai để triển khai dịch vụ thực có ích • Ưu điểm chương trình là: - Thực chức tính toán phân tán mạng - Chương trình hệ thống hoàn chỉnh, triển khai ứng dụng - Chương trình có nhiều chức ứng dụng phân tán, có kích thước mã nguồn nhỏ, thiết kế thành module rõ ràng nên có tính dễ thừa kế, không yêu cầu nhiều tài nguyên dễ triển khai - Việc xây dựng, triển khai dịch vụ hoàn toàn độc lập với hệ thống tương đối đơn giản - Mọi tác động đến hệ thống tập trung máy server, nên có tính tập trung tương thích cao • Những vấn đề hạn chế : - Tốc độ chậm, giai đoạn agent đăng nhập tải dịch vụ Chưa xây dựng dịch vụ chứng tỏ hữu ích thực hệ thống Để hệ thống hoạt động cần có kích hoạt nhiều máy trạm HƯỚNG PHÁT TRIỂN Tuy xây dựng phần cốt lõi hệ thống giúp triển khai dịch vụ tính toán phân tán, để hệ thống trở thành ứng dụng thực tế cần nhiều việc phải làm Sau số vấn đề cần tiếp tục nghiên cứu sau: Trang 53 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán - Hoàn thiện chương trình - Xây dựng ứng dụng đủ lớn, hữu ích để triển khai hệ thống - Áp dụng kỹ thuật tự động kích hoạt từ xa để đăng ký dịch vụ, nhằm giảm yêu cầu nhớ server - Nghiên cứu cách xây dựng GUI dịch vụ cho vận chuyển nhanh, đồng thời có tính hợp lý cao KẾT LUẬN Qua thời gian làm việc khẩn trương, với hướng dẫn nhiệt tình thầy Nguyễn Tấn Khôi, hoàn thành đồ án tốt nghiệp thời hạn thu nhiều kết Đây kiến thức quí giá làm hành trang cho bước bước tương lai Về lý thuyết nắm vững số vấn đề như: ngôn ngữ Java, lập trình mạng, công nghệ JavaRMI, lý thuyết mạng, giao thức truyền thông bản, trau dồi kỹ lập trình Chương trình đáp ứng ý tưởng đề tài, chạy được, triển khai mạng, làm tảng để triển khai ứng dụng phân tán thực tế Những vấn đề xử lý kỹ thuật đề tài tốt, phối hợp có hiệu kỹ thuật công nghệ JavaRMI vận dụng xây dựng ứng dụng phân tán Tuy có cố gắng thân nhiều thiếu sót việc hoàn thành đề tài, mong ý kiến đóng góp thầy cô bạn Một lần xin chân thành cảm ơn thầy Nguyễn Tấn Khôi giúp suốt thời gian hoàn thành đề tài này./ Trang 54 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương Phụ Lục Xây dựng ứng dụng mẫu cụ thể Phần trình bày ứng dụng cụ thể chạy thử hệ thống Dịch vụ có tên Math, có phương thức add, sub,… Atagentinterface import java.rmi.*; public interface Atagentinterface extends Remote {public Float add(Float b[])throws RemoteException; public Float sub(Float b[])throws RemoteException; public Float inc(Float b[])throws RemoteException; public Float dec(Float b[])throws RemoteException; public Float pow(Float b[])throws RemoteException; } Atrootserverinterface public interface Atrootserverinterface extends Remote {public void registryAgent(Atagentinterface a)throws RemoteException; public MethodDescrIPtor executeMethod(MethodDescrIPtor m) throws RemoteException;} Atagentimplement import java.rmi.*; public class Atagentimplement implements Atagentinterface{ public Float add(Float b[])throws RemoteException { float c=0; for(int i=0;i[...]... tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán H16.Biểu đồ hoạt động (Sơ đồ khối của UC sử dụng dịch vụ) http, RMI Server Server Database+Service Database+Service Webserver+Rmiregistry Webserver+Rmiregistry http, RMI, TCP/IP Trang 29 Client Client Agent Agent Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán H18.Biểu đồ triển khai của hệ thống Biểu... đồ án, tiến hành phân tích, xây dựng chương trình theo yêu cầu của đề tài đặt ra, dựa trên “kỹ thuật tổng hợp” của công nghệ JavaRMI Trang 25 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 1 PHÂN TÍCH HỆ THỐNG THÔNG TIN Phần này thực hiện phân tích, mô hình hóa hệ thống nhằm cung cấp một mô hình trừu tượng về hệ thống Qua đó đặt... thể tải về nhiều dịch vụ để xử lý Agent là một máy xử lý trong mạng nên không được lặp lại, không có nhiều hơn một agent đang đăng nhập hệ thống Trang 31 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Chương 4 XÂY DỰNG CHƯƠNG TRÌNH 1 PHÂN TÍCH YÊU CẦU & KHÁI QUÁT MÔ HÌNH Hệ thống xây dựng cần phải đáp ứng các yêu cầu cơ bản sau : - Chương trình có khả năng xử lý phân tán. .. Atrootserver Setup, đăng ký dịch vụ phía server MethodDescrIPtor, miêu tả phương thức GUI, giao diện người dùng của dịch vụ Trang 30 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Mỗi máy trạm chức năng (Agent) được lưu ở cơ sở dữ liệu một tên, password và một mã dịch vụ, mã này cho biết agent này có thể tải về các dịch vụ nào Mỗi dịch vụ được lưu tên dịch vụ và mã để liên kết... hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Thuật toán của trình server do{ mở socket lắng nghe; chấp nhận kết nối; do{ đọc yêu cầu; if(login) { đọc về(tên, password); lấy danh sách dịch vụ ; hồi đáp; if(có dịch vụ) { tải lớp AtrootserverSetup(); đăng ký dịchvụ; thêm dịch vụ vào danh sách; } }else if(logout) { đọc về(tên,password); lấy danh sách dịchvụ hồi đáp; hủy đăng ký dịch vụ; loại bỏ dịch. .. trong kỹ thuật này Lớp tải về là phần cài đặt trên server của dịch vụ, dùng để đăng ký dịch vụ với bộ đăng ký rmiregistry Các chức năng còn lại được tích hợp trong dịch vụ, bằng những kỹ thuật trình bày trong phần kỹ thuật của dịch vụ Trang 34 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán 2.1.2 Thuật toán và sơ đồ khối Các bước thực hiện: 1 Khởi động 2 Chờ Agent login... dụng chọn dịch vụ, client tải giao diện dịch vụ tương ứng Client gởi yêu cầu của người sử dụng đến server Server phân phối công việc cho Agent Agent thực hiện công việc Agent gởi kết quả về Server Server trả kết quả về client Trang 27 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán H14.Biểu đồ cộng tác của UC sử dụng dịch vụ Biểu đồ cộng tác của UC sử dụng dịch vụ, nó miêu... hành xây dựng một chương trình trên ý tưởng của đề tài, phần nào đó đã đáp ứng được yêu cầu của đề tài đặt ra Mô hình hệ thống Trang 32 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Hoạt động: 1 Các máy thực thi chức năng(Agent) yêu cầu đăng nhập hệ thống, bằng cách gởi thông tin đến máy chủ 2 Server nhận và kiểm tra thông tin Nếu agent đã đăng ký thì liệt kê các dịch vụ. .. Agent hoặc dịch vụ Trang 26 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán H13.Biểu đồ trình tự của UC sử dụng dịch vụ Biểu đồ trình tự mô tả tương tác giữa người sử dụng và các phần của hệ thống trong một trường hợp sử dụng nào đó Biểu đồ trình tự tập trung miêu tả trật tự các thông điệp theo thời gian Biểu đồ trên miêu tả các thông điệp trong UC sử dụng dịch vụ Khi người... khách RunCalss.run(); Khi dùng kỹ thuật này để xây dựng ứng dụng cần chú ý: - Phải có trình webserver chạy trên máy chủ Khi xây dựng xong ứng dụng phải biên dịch tất cả các tập tin liên quan ra file class sau đó đặt hết lên webserver Xây dựng chương trình riêng cho máy khách Trang 23 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán Client Service’s classes BootstrapApp ClientService ... vụ hệ thống Thêm dịch vụ máy chức agent Sửa đổi thông tin Agent dịch vụ Trang 26 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán phân tán H13.Biểu đồ trình tự UC sử dụng dịch. .. dịch vụ, dùng để đăng ký dịch vụ với đăng ký rmiregistry Các chức lại tích hợp dịch vụ, kỹ thuật trình bày phần kỹ thuật dịch vụ Trang 34 Đồ án tốt nghiệp Xây dựng hệ thống tải dịch vụ động hỗ. .. đáp Lấy danh sách dịch vụ hợp lệ TảI dịch vụ từ webserver Đăng ký dịch vụ Nhận yêu cầu Tính toán GởI kết server Trang 39 Đồ án tốt nghiệp – Xây dựng hệ thống tải dịch vụ động hỗ trợ tính toán

Ngày đăng: 30/12/2015, 18:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Giáo trình lý thuyết và bài tập Java,(1999),Trần Tiến Dũng,NXB Giáo dục Khác
2. Tự học ngôn ngữ lập trình Java,(1999),Đỗ Quang Thái,NXB Thống kê Khác
3. Java lập trình mạng,(2001),Nguyễn Phương Lan và Hoàng Đức Hải,NXB Giáo dục Khác
4. Hướng dẫn lập trình mạng,(2001),Đậu Quang Tuấn,NXB Trẻ Khác
5. Advanced Java Networking-Prashant Sridharan Khác
6. Tài liệu Fundamentals of JavaRMI -Govind Seshadri Khác
8. Hệ thống tin học phân tán(2002),TS Lê Văn Sơn,NXB Đại Học Quốc Gia Khác
9. Phân tích thiết kế hướng đối tượng(2002),Đặng Văn Đức,NXB Giáo dục Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w