Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,16 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Hoàng NGHIÊN CỨUMÔHÌNHPHÂNTẢISERVERSỬDỤNGPROXYĐỘNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Hoàng NGHIÊN CỨUMÔHÌNHPHÂN TẢ I SERVERSỬDỤNGPROXYĐỘNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin Cán bộ hướng dẫn: TS. Nguyễn Việt Hà Cán bộ đồng hướng dẫn: ThS. Vũ Quang Dũng HÀ NỘI – 2009 VIETNAM NATIONAL UNIVERSITY, HANOI COLLEGE OF TECHNOLOGY Nguyen Minh Hoang RESEARCH ON SERVER WORKLOAD REDUCTION USING DYNAMIC PROXY GRADUATION THESIS Major field: Information Technology Supervisor: Nguyen Viet Ha, Dr. Eng. Co-supervisor: Vu Quang Dung, Master HANOI – 2009 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng i Lời cảm ơn Lời đầu tiên em xin bày tỏ lòng biết ơn sâu sắc tới hai thầy giáo TS. Nguyễn Việt Hà và ThS. Vũ Quang Dũng. Các thầy đã hướng dẫn em tận tình trong suốt năm học vừa qua. Em xin bày tỏ lòng biết ơn tới các thầy, cô giáo trong Khoa Công nghệ thông tin, Trường Đại học Công nghệ, ĐHQGHN. Các thầy cô đã dạy bảo, chỉ dẫn chúng em và luôn tạo điều kiện tốt nhất cho chúng em học tập trong suốt quá trình học đại học đặc biệt là trong thời gian làm khoá luận tốt nghiệp. Tôi xin cảm ơn các bạn sinh viên khoá K50 trường Đại học Công nghệ, đã cho tôi những ý kiến đóng góp giá trị khi thực hiện đề tài này. Cuối cùng con xin gửi tới bố mẹ và toàn thể gia đình lòng biết ơn và tình cảm yêu thương sâu sắc. Hà Nội, ngày 20/5/2009 Nguyễn Minh Hoàng Nghiên cứumôhìnhphântảiServersửdụngProxyđộng ii Tóm tắt Xu hướng chuyển mọi tính toán lên Server bên ngoài Internet đang dần trở nên phổ biến, và sẽ là một trong những hình thức hoạt động chủ yêu của tương lai. Do đó yêu cầu về việc phântải cho Server là thiết yếu. Các môhình hiện có chủ yếu phântải cho Server bằng một Server khác hoặc dựa trên các Cache Proxy. Khoá luận này sẽ đưa ra một môhình mới cho việc phântảiServer bằng việc sửdụngProxyđộng được xây dựng dựa trên lý thuyết về Agent. Trong môhình này, các tính toán sẽ được đóng thành các Agent và được chuỷên xuống cho Proxy thực hiện. Với môhình này, việc tính toán trên Server sẽ được giảm bớt do một số tính toán có thể được thực hiện ngay trên Proxy. Cùng với đó là tính hiệu quả trong việc sửdụng đường truyền Internet cũng được tăng lên khi Proxy được bố trí như một cổng ra Internet của hệ thống mạng phía sau nó. Một kết quả nữa mà môhìnhProxyđộng có thể mang lại là tốc độ tính toán sẽ tăng lên do công việc được chia sẻ cho Proxy trong cùng mạng thực hiện và tốc độ truyền thông tin giữa Client với Proxy nhanh hơn so với việc truyền tới Server. Nghiên cứumôhìnhphântảiServersửdụngProxyđộng iii Abstract Tendency to transfer all calculations on the Internet Server is gradually becoming popular, and will be one of the main active forms in the future. Therefore the requirements for the server workload reduction is essential. Current models have major share in a Server by using another Server or Cache Proxy. This thesis will offer a new model for the server workload reduction using dynamic Proxy based on the theory of Agent. In this model, calculations will be packaged into the Agent and moved to Proxy for executing. In here, calculation on the Server will be reduced because a number of calculations can be done on the Proxy. Along with that, efficiency in the use of internet access will also be enhanced when the Proxy is arranged as an Internet gateway for the network behind it. Another result that dynamic Proxy model can bring is that calculation speed will be increased because Server works will be shared by Proxy and communication speed between the Client and the Proxy is faster than that between the Client and the Server. Nghiên cứumôhìnhphântảiServersửdụngProxyđộng iv Mục lục Lời cảm ơn i Tóm tắt ii Abstract iii Mục lục iv Danh mục hình vẽ vi Chương 1 Đặt vấn đề 1 1.1. Thực trạng 1 1.2. Phạm vi nghiên cứu 3 1.3. Sơ lược về cách tiếp cận 3 1.4. Cấu trúc của khóa luận 4 Chương 2 Agent phần mềm 6 2.1. Tìm hiểu về Agent 6 2.1.1. Agent 6 2.1.1.1. Agent là gì 6 2.1.1.2. Kiến trúc tổng thế 7 2.1.2. FIPA (Foundation for Intelligent, Physical Agents) 8 2.1.2.1. Lịch sử phát triển 8 2.1.2.2. Các khái niệm cốt lõi 9 2.1.2.2.1. Truyền thông Agent (agent communication) 9 2.1.2.2.2. Quản lý Agent (Agent management) 9 2.2. Nền tảng JADE 10 2.2.1. Lịch sử phát triển 10 2.2.2. Jade và môhình các Agent 11 2.2.3. Kiến trúc Jade 11 2.2.4. Biên dịch và chạy nền tảng Jade 13 2.2.5. Agent di động (Mobile Agent) 16 Chương 3 MôhìnhProxyđộng 19 3.1. Mô tả bài toán 19 3.2. Môhình đề xuất 20 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng v 3.2.1. Ý tưởng 20 3.2.2. Giải pháp 21 3.2.2.1. Giải pháp cho Server 21 3.2.2.2. Giải pháp cho Proxy 21 3.2.3. Môhình 22 3.2.3.1. Môhình chung 22 3.2.3.2. Môhình của Server 23 3.2.3.3. Môhình của Proxy 25 Chương 4 Thực nghiệm 29 4.1. Phân tích thiết kế 29 4.1.1. Mô tả chương trình 29 4.1.2. Yêu cầu kỹ thuật 30 4.1.2.1. Yêu cầu kỹ thuật cho Server 30 4.1.2.2. Yêu cầu kỹ thuật cho Proxy 30 4.1.3. Các giai đoạn phát triển 31 4.1.4. Thiết kế chương trình 32 4.2. Cài đặt và thực nghiệm 33 4.2.1. Cài đặt Server 34 4.2.2. Cài đặt Proxy 34 4.2.3. Thực nghiệm 34 Chương 5 Kết luận 37 5.1. Kết quả thu được 37 5.2. Hướng phát triển tiếp theo 38 Tài liệu tham khảo 40 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng vi Danh mục hình vẽ ` Hình 2.1: Quản lý Agent 10 Hình 2.2: Mối quan hệ giữa các thành phần trong kiến trúc chính 12 Hình 2.3: UML mối quan hệ giữa các thành phần trong kiến trúc chính 12 Hình 2.4: Cấu trúc thư mục JADE 14 Hình 2.5: Kết quả khi khời động thành công 15 Hình 2.6: Giao diện nền tảng JADE 15 Hình 2.7: Cấu trúc đơn giản của Agent di dộng 17 Hình 3.1: Môhình Client – Proxy – Server 19 Hình 3.2: Môhình hệ thống 23 Hình 3.3: Cấu trúc Server 24 Hình 3.4: Mẫu yêu cầu gửi cho Server 25 Hình 3.5: Cấu trúc ProxyServer 26 Hình 3.6: Mẫu yêu cầu gửi cho Proxy 28 Hình 4.1: Biểu đồ tuần tự của hệ thống 32 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng 1 Chương 1 Đặt vấn đề 1.1. Thực trạng Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng gồm các mạng máy tính được liên kết với nhau. Hệ thống máy tính này bao gồm hàng ngàn mạng máy tính nhỏ hơn của các doanh nghiệp, các viện nghiên cứu, các trường đại học, các chính phủ và người dùng cá nhân. Các máy tính kết nối Internet có thể lấy thông tin từ rất nhiều nguồn khác nhau đồng thời cũng có thể chia sẻ thông tin của mình cho những người sửdụng khác. Internet mang lại rất nhiều tiện ích hữu dụng cho người dùng, phổ biến nhất có thể kể đến hệ thống thư điện tử, trò chuyện trực tuyến, truy tìm dữ liệu, các dịch vụ thương mại và chuyển ngân, và các dịch vụ về y tế giáo dục như chữa bệnh từ xa hoặc tổ chức các lớp học ảo. Chúng cung cấp một khối lượng thông tin và dịch vụ khổng lồ trên Internet. Nhu cầu sửdụng Internet không chỉ như một nơi cung cấp thông tin mà còn là nơi thực hiện trực tiếp các yêu cầu về tính toán ngày một lớn. Các dịch vụ chuẩn được sửdụng phổ biến trên Internet hiện nay như trao đổi thư điện tử, truy cập Web và truy cập dữ liệu đều dựa trên môhình Client – Server [11]. Client – Server diễn tả mối quan hệ giữa hai chương trình máy tính mà ở đó chương trình Client tạo ra các yêu cầu về dịch vụ cho chương trình Server. Môhình kiến trúc phần mềm Client - Serverphân tách các hệ thống Client và các hệ thống Server và liên kết chúng dựa trên mạng máy tính. Một ứng Client – Server là một hệ thống được phân bố bao gồm cả phần mềm cho Client và phần mềm cho Server. Một phần mềm Client khi chạy có thể khởi tạo một tiến trình liên kết trong khi phía Server chờ đợi yêu cầu từ bất kỳ Client nào. Môhình Client – Server là trung tâm của các ý tưởng về mạng tính toán. Đa số các ứng dụng kinh doanh được viết ra đều sửdụngmôhình Client – Server. Mỗi phiên bản của phần mềm Client có thể gửi các dữ liệu yêu cầu đến một hoặc nhiều Server. Sau đó, Server sẽ chấp nhận các yêu cầu này, xử lý chúng và trả thông tin đã được yêu cầu cho Client. Mặc dù khái niệm này có thể được sửdụng cho rất nhiều ứng dụng khác nhau theo các cách khác nhau nhưng kiến trúc cơ bản thì vẫn được giữ nguyên. [...]... khởi động JADE với đồ hoạ bằng cách sửdụng lệnh: prompt> java jade.Boot –gui Sau khi khởi động thành công, màn hìnhdòng lệnh sẽ hiển thị thông báo giống như hình 2.5 và đồ hoạ của JADE sẽ hiện ra giống như hình 2.6 14 Nghiên cứumôhình phân tảiServersửdụngProxyđộngHình 2.5: Kết quả khi khời động thành công Hình 2.6: Giao diện nền tảng JADE 15 Nghiên cứumôhìnhphântảiServersửdụngProxy động. .. Như vậy, ý tưởng chính để đưa ra được mô hình sửdụng Proxy động để phântải cho Server là sửdụng Agent đóng gói và chuyển các tính toán từ Server về Proxy 20 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng 3.2.2 Giải pháp Dựa trên ý tưởng đã đưa ra, chúng ta sẽ đưa ra giải pháp cho Server và Proxy để có thể đáp ứng yêu cầu của bài toán 3.2.2.1 Giải pháp cho Server Giải pháp cho việc đóng gói và... trên Server có thể được gửi xuống cho Proxy và có thể thực thi trực tiếp trên ProxyProxy có khả năng nhận và thực thi tính toán như trên được gọi là Proxyđộng Nói một cách khác, yêu cầu của bài toán là xây dựngmôhìnhphântải cho ServersửdụngProxyđộng 3.2 Môhình đề xuất Phần này sẽ trình bày ý tưởng để đưa ra được môhìnhphântải cho ServersửdụngProxyđộng Sau đó sẽ trình bày chi tiết về... nhau, nhưng kết quả khác nhau, yêu cầu kết nối ra Internet vẫn phải được thực hiện 3 Nghiên cứumôhìnhphântảiServersửdụngProxyđộngSửdụng Cache ProxyServer không phải là một lựa tốt cho môhình cần đưa ra, tuy nhiên việc áp dụngmôhình Client – Proxy – Server là một giải pháp Trong môhình này, máy chủ Proxy ngoài chức năng cổng ra vào Internet thông thường, nó còn được bổ sung thêm khả năng... bằng cách đăng ký với nó Biểu đồ UML trong hình 2.3 miêu tả mối quan hệ giữa các thành phần kiến trúc chính của JADE 11 Nghiên cứumôhìnhphântảiServersửdụngProxyđộngHình 2.2: Mối quan hệ giữa các thành phần trong kiến trúc chính Hình 2.3: UML mối quan hệ giữa các thành phần trong kiến trúc chính 12 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng 2.2.4 Biên dịch và chạy nền tảng Jade... Internet và các vấn đề cần giải quyết khi sửdụngmôhình Client – Server truyền thống Để đáp ứng đượng nhu cầu sửdụng và ứng dụng công nghệ mới, chúng ta cần giản giải quyết các vấn đề về khả năng phântải cho các máy chủ và giảm lượng thông tin được truyền trên Internet Vì vậy, cần 2 Nghiên cứumôhìnhphântảiServersửdụngProxyđộng phải phát triển một môhình cho phép đưa các tính toán được yêu... phântải cho ServersửdụngProxyđộng và môhình để giải quyết bài toán dựa trên lý thuyết về Agent MôhìnhProxyđộng sẽ được miêu tả cụ thể từ ý tưởng ban đầu, giải pháp cụ thể cho đến môhình chi tiết để giải quyết bài toán Chương 4 trình bày về thực nghiệm dựa trên môhình đã đưa ra ở chương 3 Thực nghiệm này là một ứng dụng cụ thể của môhình đã đưa ra trong thực tế Thực nghiệm 4 Nghiên cứu mô. .. cho ProxyProxy nhận yêu cầu từ Client, phân tích yêu cầu dựa trên khuôn dạng chuẩn đã được quy định trước để phân loại các yêu cầu có sửdụng Agent và các yêu cầu không sửdụng Agent Khi có nhiều yêu cầu về sửdụng cùng một Agent, Proxy sẽ gửi yêu cầu đến Server để tải Agent tính toán về, sau đó mọi tính toán của phần này sẽ được thực hiện ngay trên Proxy 21 Nghiên cứumôhình phân tảiServersử dụng. .. Việc chuyển một Agent từ Server sang Proxy sẽ được thực hiện hoàn toàn trên vùng chứa này 22 Nghiên cứumôhình phân tảiServersửdụngProxyđộngHình 3.2: Môhình hệ thống 3.2.3.2 Môhình của ServerHình 3.3 là cấu trúc các thành phần bên trong Server chính và chức năng của mỗi thành phần: - Giao tiếp với Client /Proxy: Phần này làm nhiệm vụ lắng nghe và kết nối tới Client hoặc Proxy Khi có một yêu cầu...Nghiên cứumôhình phân tảiServersửdụngProxyđộng Kiểu kiến trúc cơ bản nhất áp dụngmôhình Client – Server là chỉ sửdụng hai máy, một Client và một Server Kiểu kiến trúc này đôi khi được hiểu là hai lớp Nó cho phép các thiết bị có thể chia sẻ các tài nguyên Kiến trúc hai lớp có nghĩa là các hành động của Client là một lớp và ứng dụng tổng hợp các hành động của Server là một lớp Ngày . Nghiên cứu mô hình phân tải Server sử dụng Proxy động 4 Sử dụng Cache Proxy Server không phải là một lựa tốt cho mô hình cần đưa ra, tuy nhiên việc áp dụng mô hình Client – Proxy – Server. thực tế. Thực nghiệm Nghiên cứu mô hình phân tải Server sử dụng Proxy động 5 xây dựng mô hình kiểm chứng người dùng có phải người hay không bằng cách sử dụng hình ảnh để kiểm chứng. Trong. 3.2. Mô hình đề xuất 20 Nghiên cứu mô hình phân tải Server sử dụng Proxy động v 3.2.1. Ý tưởng 20 3.2.2. Giải pháp 21 3.2.2.1. Giải pháp cho Server 21 3.2.2.2. Giải pháp cho Proxy