Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,41 MB
Nội dung
LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn thực hướng dẫn trực tiếp PGS.TS Lê Văn Sơn Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hoàn toàn trách nhiệm Sinh viên Nguyễn Trọng Tiệp - - LỜI CẢM ƠN Để hồn thành khóa luận tốt nghiệp này, nhận đƣợc hƣớng dẫn tận tình từ ý tƣởng ban đầu thầy giáo PGS.TS Lê Văn Sơn; với giúp đỡ, động viên thầy cô giáo khoa Tin học trƣờng Đại học Sƣ Phạm – Đại học Đà Nẵng, ngƣời tận tình dạy dỗ, truyền lại cho kiến thức học kinh nghiệm q giá Bên cạnh tơi nhận đƣợc giúp đỡ từ thầy cô khoa Tin học, anh, chị, bạn bè giúp đỡ tơi khóa luận tốt nghiệp Tơi xin chân thành cảm ơn thầy giáo PGS.TS Lê Văn Sơn ngƣời trực tiếp hƣớng dẫn tơi khóa luận – thầy hƣớng dẫn tận tình, thầy góp ý việc nhỏ Tôi xin chân thành cảm ơn tới thầy Đặng Hùng Vỹ giúp đỡ tơi q trình xây dựng ý tƣởng chƣơng trình ứng dụng cho đề tài Và cuối xin chân thành cảm ơn tới thầy cô giáo khoa Tin học trƣờng Đại học Sƣ Phạm – Đại học Đà Nẵng anh, chị bạn lớp nhƣ ngồi lớp nhiệt tình giúp đỡ tơi hồn thành tốt khóa luận - - MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU Chƣơng 1: BẾ TẮC VÀ CÁC CHIẾN LƢỢC CUNG CẤP TÀI NGUYÊN TRONG HỆ PHÂN TÁN 11 1.1 MỘT SỐ KHÁI NIỆM 11 1.2 BẾ TẮC (DEADLOCK) TRONG VIỆC CUNG CẤP TÀI NGUYÊN DÙNG CHUNG 13 1.3 CHIẾN LƢỢC CUNG CẤP TÀI NGUYÊN 15 1.3.1 Cung cấp tài nguyên 15 1.3.2 Cung cấp tập hợp tài nguyên Vấn đề bế tắc 18 Chƣơng 2: TỔNG QUAN VỀ THUẬT TOÁN LOMET 22 2.1 CÁC PHƢƠNG PHÁP CUNG CẤP SỬ DỤNG TRẠNG THÁI TỔNG QUÁT 22 2.2 THUẬT TOÁN LOMET 25 2.2.1 Vị trí vấn đề 25 2.2.2 Nguyên lý thuyết minh phƣơng pháp 27 2.2.3 Thuật toán 28 Chƣơng 3: XÂY DỰNG ỨNG DỤNG BÀI TOÁN BÃI ĐỔ XE 30 3.1 GIỚI THIỆU BÀI TOÁN 30 3.2 GIẢI PHÁP TRONG BÀI TOÁN 32 3.3 PHÂN TÍCH ỨNG DỤNG 33 3.3.1 Mơ hình use-case (Hình 3.3) 33 3.3.2 Đặc tả chức client 33 3.3.3 Đặc tả chức server 37 3.4 XÂY DỰNG ỨNG DỤNG 44 3.4.1 Xây dựng client 44 3.4.2 Xây dựng server 45 - - 3.5 CÀI ĐẶT ỨNG DỤNG 47 3.5.1 Client 47 3.5.2 Server 51 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 57 DANH MỤC TÀI LIỆU THAM KHẢO 58 - - DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Hình 1.1 Bế tắc giao thơng ngã tƣ 13 Hình 1.2 Đồ thị cung cấp tài nguyên bị bế tắc 14 Hình 1.3 Đồ thị truy cập vào tài nguyên server 16 Hình 1.4 Tên hình vẽ Đồ thị truy cập vào tài nguyên chƣơng trình trực Trang 17 Hình 1.5 Truy cập trực tiếp vào server 17 Hình 2.1 Vịng khép kín đồ thị 25 Hình 2.2 Đồ thị G1 trạm S1 26 Hình 2.3 Đồ thị G2 trạm S2 26 Hình 2.4 Đồ thị G3 trạm S3 26 Hình 2.5 Phát sinh bế tắc 26 Hình 2.6 Trạng thái cung cấp tài nguyên trạm 28 Hình 3.1 Mơ bãi đậu xe 30 Hình 3.2 Mơ bãi đậu xe mạng máy tính 31 Hình 3.3 Minh họa mơ hình use-case ứng dụng 33 Hình 3.4 Biểu đồ hoạt động chức đăng kí 34 Hình 3.5 Hình 3.6 Biểu đồ hoạt động chức yêu cầu khỏi bãi đậu xe Biểu đồ hoạt động chức yêu cầu xem thơng tin bãi 35 37 Hình 3.7 Biểu đồ hoạt động chức server 37 Hình 3.8 Mơ hình vịng trịn ảo 38 Hình 3.9 Cấu trúc thơng điệp 39 - - Hình 3.10 Mơ tả hoạt động Multicast java Hình 3.11 Mơ tả hoạt động Multicast ứng dụng Lamport 42 42 Hình 3.12 Sử dụng Lamport để giải truy cập tài nguyên 43 Hình 3.13 Biểu đồ lớp Client 44 Hình 3.14 Biểu đồ lớp Server 46 Hình 3.15 Giao diện Client mục gởi – trả xe 47 Hình 3.16 Giao diện đăng kí gởi xe 48 Hình 3.17 Giao diện xem trạng bãi đậu xe 49 Hình 3.18 Giao diện Client mục xem trạng 50 Hình 3.19 Giao diện Server khởi động 51 Hình 3.20 Chƣơng trình chạy Server vịng trịn ảo 52 Hình 3.21 Chƣơng trình chạy Server vịng trịn ảo 53 Hình 3.22 Chƣơng trình chạy Server vịng trịn ảo 54 Hình 3.23 Chƣơng trình chạy Server vịng trịn ảo 55 Hình 3.24 Chƣơng trình chạy Server vịng trịn ảo 56 - - MỞ ĐẦU Lý chọn đề tài “Thế kỷ XXI kỷ công nghệ thơng tin” bƣớc vào kỷ công nghệ thông tin phát triển cách mạnh mẽ, thâm nhập vào lĩnh vực đời sống ngƣời Công nghệ thông tin làm thay đổi đời sống ngƣời nội dung hình thức, nhờ mà mang lại nhiều hiệu cao lĩnh vực hoạt động nhƣ: công nghiệp, nông nghiệp, khoa học kỹ thuật, an ninh quốc phòng, … Vào năm 1980, ngƣời sử dụng dùng máy tính độc lập bắt đầu chia sẻ tập tin cách dùng modem kết nối với máy tính khác Cách thức đƣợc gọi điểm nối điểm, hay truyền theo kiểu quay số Khái niệm đƣợc mở rộng cách dùng máy tính trung tâm truyền tin kết nối quay số Các máy tính đƣợc gọi sàn thông báo (bulletin board) Các ngƣời dùng kết nối đến sàn thông báo này, để lấy thông điệp, nhƣ gửi lên hay tải tập tin Hạn chế hệ thống có hƣớng truyền tin với biết sàn thơng báo Ngồi ra, máy tính sàn thông báo cần modem cho kết nối, số lƣợng kết nối tăng lên, hệ thống đáp ứng đƣợc nhu cầu Qua năm 1950, 1970, 1980 1990, Bộ Quốc phòng Hoa Kỳ phát triển mạng diện rộng WAN có độ tin cậy cao, nhằm phục vụ mục đích quân khoa học Công nghệ khác truyền tin điểm nối điểm Nó cho phép nhiều máy tính kết nối lại với đƣờng dẫn khác Bản thân mạng xác định liệu di chuyển từ máy tính đến máy tính khác nhƣ Thay thơng tin với máy tính thời điểm, - - thơng tin với nhiều máy tính lúc kết nối Sau này, WAN Bộ Quốc phòng Hoa Kỳ trở thành Internet Hiện nay, mạng Internet đƣợc ứng dụng tồn cầu ngày phát triển mạnh nhằm phù hợp với nhu cầu ngƣời xã hội, mà mạng máy tính cơng nghệ thời đại Các ứng dụng mạng đóng vai trị khơng thể thiếu để khai thác tiềm mạng máy tính, đặc biệt mạng Internet Chính phát triển kéo theo nhiều vấn đề đƣợc đƣa nhằm giải nêu lên phƣơng pháp nhằm làm cho mạng máy tính phát triển mạnh Thơng thƣờng, vấn đề cung cấp tài nguyên đƣợc đánh giá nhƣ lĩnh vực tri thức quan trọng vận dụng thƣờng xuyên trình triển khai nghiên cứu, khảo sát, phân tích, thiết kế xây dựng hệ điều hành nói chung, hệ tin học phân tán nói riêng Chúng ta biết đến nhiều ấn phẩm liên quan đến hệ điều hành vấn đề cung cấp tài nguyên giải pháp hữu hiệu nhằm vào hệ tập trung với nhớ chung Thế hệ phân tán sao? Việc cung cấp tài nguyên dùng chung nhƣ nào? Để trả lời câu hỏi đó, tơi tìm hiểu tới phiên thuật toán Lomet, phiên sử dụng trạng thái phần ứng dụng vào hệ phân tán Và lý tơi chọn đề tài: “Tìm hiểu thuật toán Lomet cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo Điện toán đám mây” Mục tiêu nhiệm vụ nghiên cứu Khóa luận nghiên cứu tới phiên thuật toán Lomet việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ - - ảo điện toán đám mây; áp dụng thuật tốn vào chƣơng trình ứng dụng tốn bãi đậu xe Đối tƣợng phạm vi nghiên cứu Đối tƣợng đƣợc nghiên cứu cụ thể là: Nghiên cứu lý thuyết phần thuật toán Lomet; việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo cụ thể sử dụng trạng thái phần; nghiên cứu xây dựng ví dụ kinh điển hệ điều hành toán bãi đậu xe Trong phạm vi nghiên cứu đề tài, khóa luận nghiên cứu xây dựng hệ thống đa server sử dụng thuật toán Lomet việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo [2] Phƣơng pháp nghiên cứu Với mục tiêu trên, khóa luận sử dụng phƣơng pháp nghiên cứu lý thuyết nghiên cứu thực nghiệm để thực đề tài theo bƣớc sau [2]: - Thu thập nghiên cứu tài liệu có liên quan đến đề tài - Nghiên cứu lý thuyết thuật tốn Lomet tìm hiểu việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo thuật toán Lomet - Nghiên cứu ví dụ kinh điển hệ điều hành toán bãi đậu xe - Thiết kế xây dựng ứng dụng, cụ thể hệ thống đa server mô bãi đậu xe - Cài đặt ứng dụng đánh giá kết đạt đƣợc - - Thực tiễn đề tài Việc nghiên cứu thuật toán Lomet ứng dụng vào việc cung cấp tài nguyên dùng chung hệ thống máy chủ ảo làm sở nhằm phục vụ việc đăng kí sử dụng tài nguyên dùng chung [2] Đồng thời, kết nghiên cứu đề tài làm tảng giải tốn đăng kí từ xa mạng máy tính hệ thống mạng Internet, ví dụ nhƣ: đăng kí vé máy bay, vé tàu, đăng kí tín chỉ, … Bố cục khóa luận Khóa luận đƣợc chia làm chƣơng [2]: Chƣơng trình bày bế tắc, chiến lƣợc cung cấp tài nguyên hệ phân tán lý thuyết liên quan Chƣơng trình bày nội dung nghiên cứu tổng quan tới thuật toán Lomet Chƣơng đƣợc dành để giới thiệu ứng dụng, phân tích ứng dụng đề xây dựng ứng dụng Tiến hành xây dựng hệ thống bãi đậu xe, cài đặt ứng dụng đƣa số kết thực ứng dụng - 10 - 3.4 XÂY DỰNG ỨNG DỤNG 3.4.1 Xây dựng client 3.4.1.1 Xác định thuộc tính lớp - Lớp View (Hiển thị trạng): Hiển thị chi tiết trạng thời bãi đậu xe Lớp View có thuộc tính DEBUG, table, bt_view, display, pane, client, connection, server, out, in - Lớp ActPark (Điều khiển): Lớp điều khiển hoạt động client Lớp ActPark có thuộc tính client, out, in, message, act, position, lb_pos, lb_stg, lb_esp, lb_num, lb_clr, lb_time, lb_info, lb_type, txt_stg, txt_esp, txt_num, txt_clr, txt_time, txt_info, txt_type, bt_in, bt_out, bt_reset, opt_stg, opt_clr, jsp_info, txa_info 3.4.1.2 Biểu đồ lớp Client Hình 3.13 Biểu đồ lớp Client - 44 - 3.4.2 Xây dựng server 3.4.2.1 Xác định thuộc tính lớp - Lớp UDPMulticastServer1 (Nhận lamport): Lớp nhằm lấy giá trị đồng hồ logic Lamport Lớp UDPMulticastServer1 có thuộc tính socket, lp, check - Lớp VirtualCircle (Vịng trịn ảo): Lớp đƣa server vào vịng trịn ảo Có thuộc tính destination, port, name - Lớp RoutingTable (Định tuyến): Lớp nhằm định tuyến cho server - Lớp MessageProcess (Phân tích): Lớp nhằm phân tích gói tin nhận đƣợc Có thuộc tính startserver, jeton, lamportclock, serverName, type, action, vong, message, t - Lớp ProcessData (Tiến trình liệu): Lớp nhằm phân tích liệu trả giá trị liệu Lớp ProcessData có thuộc tính vt, bks, hang, mau, gio, act - Lớp InitialServer: Lớp lƣu vào file - Lớp Server1 (): Lớp lớp chính, nhằm điều khiển Server Lớp Server1 có thuộc tính counter, output, input, server, client, connection, serverName, type, pos, rount, currentCircle, MESSAGE, replyMessage, hash, out, in, db1, db, data, dt - Lớp GetState: Cập nhật jeton cho liệu - Lớp Database (Dữ liệu): Lớp nhằm kết nối truy vấn đến sở liệu Lớp Database có thuộc tính drivername, connectionURL, username, password, stmt, rs, conn - Lớp Connect (): Lớp tạo đối tƣợng kết nối đến server khác server yêu cầu Lớp gồm thuộc tính destination, port, serverName, connection, out, in - 45 - 3.4.2.2 Biểu đồ lớp Server Hình 3.14 Biểu đồ lớp Server - 46 - 3.5 CÀI ĐẶT ỨNG DỤNG 3.5.1 Client Client đƣợc thiết lập giao diện thân thiện với ngƣời sử dụng Giao diện gồm phần: Gởi - trả xe trạng Với tab gởi – trả xe gồm có thơng tin: Server, Vị trí (gồm khu lô số), Biển số, Hãng xe, Màu xe, Thời gian (tự động lấy hệ thống), Thông tin (đây phần thông báo gửi trả từ Server) nút Gởi xe, Trả xe, Xóa Hình 3.15 Giao diện Client mục gởi – trả xe - 47 - Chức Gởi xe: Màn hình hiển thị mục yêu cầu nhập thông tin đầy đủ gửi xe Ở chức này, để gởi xe an tồn thơng tin phải đầy đủ xác, hệ thống u cầu điền đầy đủ thơng tin trƣớc gởi xe Hình 3.16 Giao diện đăng kí gởi xe Nhập đầy đủ thơng tin: Server, Vị trí, biển số, hãng xe, màu xe Sau nhấn gởi xe Sẽ có thơng báo mục thông tin - 48 - Chức Trả xe: Ở giao diện này, hệ thống yêu cầu chọn Server kết nối, chọn Vị trí xe bãi Sau nhân nút Trả xe Lập tức có thơng báo mục Thông tin Với chức trả xe này, trƣớc trả xe cần nhấn “Xóa” để xóa tất thông tin form trƣớc nhập thơng tin Hình 3.17 Giao diện hủy xe đậu bãi đậu xe - 49 - Chức xem trạng bãi đậu xe: Chỉ cần thao tác nhấn vào Hiện trạng, nhấn nút Xem Lập tức thông tin đầy đủ bãi đậu xe form Hình 3.18 Giao diện Client mục xem trạng - 50 - 3.5.2 Server Các server liên kết với qua vịng trịn ảo, mà hệ biết tới bãi đậu xe giống Ở đây, xin đƣợc trình bày Client yêu cầu tới Server (Tƣơng tự Server khác) Khi khởi động Server, Server thông báo nhƣ sau (Ứng với Server cổng) : Hình 3.19 Giao diện Server khởi động - 51 - Server hoạt động hệ thống nhƣ sau: Server gửi tới với thông tin start type Locked Server thực “Chuyển thơng điệp khóa trường liệu” Server gửi tới với thông tin start type Temped Server thực “Chuyển thông điệp, thực tạo bảng tạm CSDL” Server gửi tới với thông tin start type Temped Server thực “Kết thúc tạo bảng tạm cập nhật CSDL chính, quay vịng ngược” Server gửi tới với thông tin start type Synchronymed Server thực thơng báo “Hồn tất giao dịch, kết thúc vịng trịn ảo” Hình 3.20 Chương trình chạy Server vòng tròn ảo - 52 - Server hoạt động hệ thống nhƣ sau: Server gửi tới với thông tin Start type Locked Server thực “Kết thúc khóa trường liệu, tạo bảng tạm quay vịng ngược” Server gửi tới với thông tin start type Temped, Server thực “Chuyển thông điệp, thực tạo bảng tạm CSDL” Server gửi tới với thông tin start type Updated, Server thực “Chuyển thông điệp, thực cập nhật bảng CSDL” Server gửi tới với thông tin start type Synchronymed, Server thực “Chuyển thông điệp, kiểm tra đồng hóa tiến trình” Hình 3.21 Chương trình chạy Server vòng tròn ảo - 53 - Server hoạt động hệ thống: Client gửi tới Server với thông tin Start type Send Server trả lời lại Client “Đã thực thành cơng” “Thực khóa trường liệu, chuyển thông điệp” Server gửi tới với thông tin start type Temped Server thực “Chuyển thông điệp, thực tạo bảng tạm CSDL” Server gửi tới với thông tin start type Updated Server thực “Chuyển thơng điệp, cập nhật bảng CSDL” Server gửi tới thông điệp start type Synchronymed Server thực “Chuyển thông điệp, kiểm tra đồng hóa tiến trình” Hình 3.22 Chương trình chạy Server vòng tròn ảo - 54 - Server hoạt động hệ thống: Server gửi tới với thông tin start type Locked Server thực “Thực khóa trường liệu, chuyển thông điệp” Server gửi tới với thông tin start type Updated Server thực “Chuyển thơng điệp, cập nhật bảng CSDL” Server gửi tới với thông tin start type Synchronymed Server thực “Chuyển thơng điệp, kiểm tra đồng hóa tiến trình” Hình 3.23 Chương trình chạy Server vịng tròn ảo - 55 - Server hoạt động hệ thống: Server gửi tới với thông tin start type Locked Server thực “Thực khóa trường liệu, chuyển thơng điệp” Server gửi tới với thông tin start type Updated Server thực “Kết thúc trình cập nhật, kiểm tra đồng hóa tiến trình quay vịng ngược” Hình 3.24 Chương trình chạy Server vòng tròn ảo - 56 - KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN Kết luận Khóa luận nghiên cứu trình bày kiến thức thuật toán Lomet cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo điện toán đám mây, nhƣ kiến thức bế tắc; chiến lƣợc cung cấp tài nguyên hệ phân tán; thuật toán Lomet khái niệm liên quan đƣợc dùng để xây dựng ứng dụng toán bãi đậu xe Qua khóa luận đạt đƣợc số kết nhƣ sau: Về lý thuyết, khóa luận sâu nghiên cứu đƣợc nhiều kiến thức bế tắc; chiến lƣợc cung cấp tài nguyên; thuật toán Lomet việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo;… từ hiểu đƣợc thuật toán Lomet việc cung cấp tài nguyên dùng chung để dựa vào triển khai ứng dụng, đồng thời cung cấp giải pháp để áp dụng vào toán bãi đậu xe kinh điển Về ứng dụng sử dụng thuật toán Lomet, với mục tiêu làm rõ thêm lý thuyết, khóa luận ứng dụng thuật toán Lomet lý thuyết liên quan để áp dụng vào toán bãi đậu xe, để giải vấn đề toán, mà giải vấn đề sử dụng tài nguyên dùng chung hệ thống phần hệ Hƣớng phát triển Xây dựng giao diện hệ thống bãi đậu xe thân thiện với ngƣời sử dụng Giải triệt để vấn đề tranh chấp tài nguyên dùng chung Phát triển ứng dụng với nhiều chứng bổ sung cho ngƣời sử dụng cảm thấy dễ sử dụng thân thiện - 57 - DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] PGS.TS Lê Văn Sơn (2002), “Hệ tin học phân tán” [2] Nguyễn Thị Thu Hằng (2011), “Nghiên cứu web ngữ nghĩa ứng dụng vào xử lý thông tin du lịch”, Luận văn thạc sĩ kỹ thuật [3] ThS Phí Đắc hải (2009), “Giáo trình phân tích, thiết kế hƣớng đối tƣợng” [4] ThS Lê Văn Mỹ (2011), “Giáo trình lập trình mạng” [5] Nguyễn Phƣơng Lan, Nguyễn Đức Hải (2001), “Java – lập trình mạng” Tài liệu Internet [6] Mạng máy tính: http://vi.wikipedia.org/wiki/mạng_máy_tính [7] Hệ thống đa server: http://dc306.4shared.com/doc/DBitDpEY/preview.html [8] Multicast in java: http://www.roseindia.net/java/example/java/net/udp/multicast.shtml [9] MulticastSocket in java http://docs.oracle.com/javase/1.4.2/docs/api/java/net/MulticastSocket.html [10] Multicasting in java – tutorial java http://www.roseindia.net/javatutorials/multicasting_in_java.shtml - 58 - ... chọn đề tài: ? ?Tìm hiểu thuật tốn Lomet cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo Điện toán đám mây? ?? Mục tiêu nhiệm vụ nghiên cứu Khóa luận nghiên cứu tới phiên thuật toán Lomet. .. tài theo bƣớc sau [2]: - Thu thập nghiên cứu tài liệu có liên quan đến đề tài - Nghiên cứu lý thuyết thuật tốn Lomet tìm hiểu việc cung cấp tài nguyên dùng chung phục vụ hệ thống máy chủ ảo thuật. .. - Thực tiễn đề tài Việc nghiên cứu thuật toán Lomet ứng dụng vào việc cung cấp tài nguyên dùng chung hệ thống máy chủ ảo làm sở nhằm phục vụ việc đăng kí sử dụng tài nguyên dùng chung [2] Đồng