Nghiên cứu mô hình phân tải server sử dụng proxy động - Pdf 10


ĐẠ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ỨU MÔ HÌNH PHÂN TẢI SERVER
SỬ DỤNG PROXY ĐỘ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


Major field: Information Technology

Supervisor: Nguyen Viet Ha, Dr. Eng.
Co-supervisor: Vu Quang Dung, Master
HANOI – 2009
Nghiên cứu mô hình phân tải Server sử dụng Proxy độ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

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ứu mô hình phân tải Server sử dụng Proxy độ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

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ứu mô hình phân tải Server sử dụng Proxy độ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

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 - Server phâ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ụng mô 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.
Nghiên cứu mô hình phân tải Server sử dụng Proxy động 2

Kiểu kiến trúc cơ bản nhất áp dụng mô 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 nay,
các Client phổ biến nhất là trình duyệt web trên các máy tính. Các Server thông dụng bao
gồm Web Server, Server dữ liệu (Database Server), Mail Server. Các trò chơi trực tuyến
thông thường cũng là mô hình Client – Server.
Trong mô hình Client – Server, hầu hết tất cả các tính toán đều được thực hiện trên

1.2. Phạm vi nghiên cứu
Trong phạm vi nghiên cứu của mình, đề tài sẽ chỉ đưa ra mô hình có khả năng thực
hiện việc phân tải cho các máy chủ và giảm lượng thông tin được được truyền trên
Internet dựa theo phương pháp đóng gói và di chuyển các tính toán từ các máy chủ trên
Internet về khu vực có nhiều máy đưa ra yêu cầu tính toán giống nhau.
Trong phần thực nghiệm của đề tài, mô hình đưa ra sẽ được ứng dụng thực tế vào
một trương hợp cụ thể. Thực nghiệm này sẽ chứng minh rằng mô hình đã đưa ra hoàn
toàn có thể triển khai và ứng dụng vào thực tế.
Tuy nhiên do phạm vi nghiên cứu của đề tài có hạn nên thực nghiệm đưa ra không
thể hiện hết những ưu điểm của mô hình đã được đưa ra. Những nghiên cứu tiếp theo về
mô hình này sẽ được thực hiện và đưa ra những thực nghiệm khác thể hiện rõ hơn những
ưu thế của mô hình khi được ứng dụng vào thực tế.
1.3. Sơ lược về cách tiếp cận
Để có thể đưa ra một mô hình phù hợp với yêu cầu đặt ra là phân tải cho các máy
chủ và giảm lượng thông tin truyền trên Internet, nghiên cứu các mô hình đã có trước đây
là việc làm cần thiết. Trong các mô hình truyền thống, việc sử dụng máy chủ Proxy [13]
là việc làm quen thuộc.
Proxy Server là một giải pháp đã được dùng trước đây trong các mô hình mạng
truyền thống. Proxy được bố trí như một cổng ra Internet của một mạng phía sau nó.
Ngoài chức năng làm nhiệm vụ lưu chuyển thông tin giữa các máy trong mạng và ngoài
Internet, Proxy còn được tích hợp thêm một số tính năng như lọc thông tin, bảo đảm an
ninh cho mạng cục bộ v.v. Một trong những tính năng đã được tích hợp vào Proxy Server
là Cache. Với chức năng này, tần suất sử dụng đường truyền trên Internet đã được giảm
đáng kể nhờ việc lưu lại các kết quả truy vấn trước đó. Khi có các yêu cầu được lặp lại,
kết quả của lần trước sẽ được lưu lại và sử dụng để trả lời cho các lần truy vấn sau. Tuy
nhiên đây chỉ là lưu giữ kết quả của các yêu cầu giống nhau, khi có các yêu cầu tính toán
giống 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
Nghiên cứu mô hình phân tải Server sử dụng Proxy động
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
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 thực nghiệm này, việc sinh ra ảnh để kiểm chứng và việc
kiểm chứng thông tin trả về từ phía người dùng sẽ được chuyển từ Server về cho Proxy
thực hiện.
Chương 5 tổng kết những gì đã đạt được sau quá trình nghiên cứu, đồng thời đưa ra
những hạn chế cần phải cải thiện, từ đó đưa ra hướng nghiên cứu tiếp theo.
Nghiên cứu mô hình phân tải Server sử dụng Proxy động 6

Chương 2 Agent phần mềm

Chương này sẽ đề cập đến một số cơ sở lý thuyết được dùng trong quá trình nghiên
cứu và đưa ra mô hình.
2.1. Tìm hiểu về Agent
Phần này sẽ giới thiệu tổng quát về kỹ công nghệ Agent, bao gồm khái niệm chung,
và kiến trúc tổng thể. Sau đó sẽ giới thiệu về đặc tả của FIPA [18], đây là chuẩn được
chấp nhận rộng rãi nhất cho các nền tảng và ứng dụng đa Agent. Jade cũng phục vụ theo
chuẩn này và nó có mở rộng thêm một số mẫu trong một vài khu vực, nhưng nhìn một
cách tổng quan, Jade hoàn toàn tuân theo chuẩn FIPA đã đưa ra.
2.1.1. Agent
Agent được coi như là một trong những mô hình quan trọng nhất trong việc một mặt

năng di chuyển giữa các nút trong mạng máy tính. Nó có thể tin tưởng, bảo đảm chắc
chắn là nó sẽ không cố tình giao tiếp với thông tin sai. Nó có thể rộng lượng, luôn luôn cố
gắng tìm hiểu câu hỏi dành cho nó. Nó cũng có thể có lý trí, luôn luôn hành động để đạt
được mục tiêu và không bao giờ ngăn chặn các mục tiêu có thể đạt được. Và nó có thể
học, tự thích nghi bản thân để phù hợp với môi trường và ham muốn của những người sử
dụng.
2.1.1.2. Kiến trúc tổng thế
Kiến trúc của Agent là một cơ chế cơ bản dựa trên các thành phần tự chủ, nó hỗ trợ
các hành động tác động lên thế giới thực, các môi trường mở và động. Trên thực tế, kết
quả ban đầu của Agent tính toán nhằm vào việc phát triển của kiến trúc các Agent thông
minh, và những năm đầu đã tồn tại các kiểu thiết kế kiến trúc khác nhau, từ các kiến trúc
đơn giản về phản ứng hành động (reactive) điều khiển trong một mô hình kích thích – trả
lời, như là kiến trúc xếp gộp [3], cho đến các kiến trúc phức tạp hơn như là kiến trúc dựa
trên sự tin tưởng vào mục đích (BDI-belief desire intention) [7]. Kiến trúc phân lớp, tổng
hợp giữa hai kiểu kiến trúc trên, cố gắng bao gồm cả phản ứng hành động và cân nhắc để
trộn lẫn được điểm mạnh nhất của cả hai phương pháp trên. Như vậy, kiến trúc của Agent
có thể được chia thành bốn nhóm chính: Nền tảng Lôgic, phản ứng hành động (reactive),
BDI và kiến trúc phân lớp (layered achitectures).
Nghiên cứu mô hình phân tải Server sử dụng Proxy động 8

2.1.2. FIPA (Foundation for Intelligent, Physical Agents)
Phần này sẽ giới thiệu một cách tổng quát về lịch sử phát triển và nội dung chính
của các đặc tả FIPA. Tập hợp đầy đủ các đặc tả của FIPA có thể được tìm thấy trên trang
web chính thức của FIPA [17].
Jade là sự thi hành của các đặc tả FIPA vì thế nó phụ thuộc lớn vào các ý tưởng
được đưa ra trong các đặc tả và được mở rộng dựa trên chính các văn bản đi kèm. Tuy
nhiên các đặc tả FIPA không được thể hiện hoàn toàn ở trong Jade vì Jade có mở rộng

thiệu về hai trong số ba phần quan trọng nhất đó.
2.1.2.2.1. Truyền thông Agent (agent communication)
Agent về cơ bản là hình thái của quá trình phân phối mã nguồn và do đó tuân theo
khái niệm cổ điển của mô hình phân phối tính toán theo hai phần: các thành phần và các
kết nối. Các thành phần là những khách hàng, những nhà sản xuất và những người điều
hành của các thông điệp truyền thông thông qua các kết nối. Phần thân của các chuẩn đầu
tiên như là ISO hay IETF lựa chọn một cách tiếp cận hướng mạng trong việc phát triển
các cụm các giao thức được phân lớp dựa phần lớn trên truyền thông máy tính chúng ta đã
biết – mô hình OSI và mô hình TCP/IP. Cả hai đều được tận dụng thông qua giao tiếp
giữa các phần mềm ứng dụng giao thức.
2.1.2.2.2. Quản lý Agent (Agent management)
Để bổ sung cho truyền thông, khía cạnh cơ bản thứ hai của các hệ thống Agent được
tạo ra bởi các đặc tả ban đầu của FIPA là quản lý Agent: một nền tảng chuẩn trong đó các
chuẩn FIPA cho Agent có thể tồn tại, tổ chức và quản lý. Nó thành lập cá mô hình lôgíc
tham chiếu cho việc khởi tạo, đăng ký, xác định vị trí, di trú và tổ chức các Agent. Mô
hình tham chiếu quản lý Agent bao gồm các thành phần được miêu tả như hình 2.1.
Nghiên cứu mô hình phân tải Server sử dụng Proxy động 10 Hình 2.1: Quản lý Agent
2.2. Nền tảng JADE
Phần này sẽ đưa ra cái nhìn tổng quan cơ bản về nền tảng JADE (Java Agent
Development framework) và các thành phần chính trong kiến trúc phân phối của nó.
2.2.1. Lịch sử phát triển
Phầm mềm phát triển đầu tiên, về sau sẽ trở thành nền tảng JADE, được bắt đầu bởi
Telecom Italia (được gọi tắt là CSELT) vào cuối năm 1998, được thúc đẩy bởi nhu cầu
cần kiểm chứng các đặc tả đầu tiên của FIPA.

vùng chưa đầu tiên được thực thi và tất cả các vùng chưa khác phải được liên kết đến
vùng chưa chính 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.

Trích đoạn Thiết kế chương trình Hướng phát triển tiếp theo
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status