Nghiên cứu công nghệ tác tử di động và xây dựng ứng dụng phân tán cập nhật phần mềm

88 420 0
Nghiên cứu công nghệ tác tử di động và xây dựng ứng dụng phân tán cập nhật phần mềm

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TRỊNH HỒNG NAM NGHIÊN CỨU CÔNG NGHỆ TÁC TỬ DI ĐỘNG VÀ XÂY DỰNG ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH THÁI NGUYÊN, NĂM 2015 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TRỊNH HỒNG NAM NGHIÊN CỨU CÔNG NGHỆ TÁC TỬ DI ĐỘNG VÀ XÂY DỰNG ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM Chuyên ngành: Khoa học máy tính Mã số: 60 48 0101 LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH HƯỚNG DẪN KHOA HỌC: TS PHẠM THẾ QUẾ THÁI NGUYÊN, NĂM 2015 ~i~ LỜI CAM ĐOAN NGHIÊN CỨU CÔNG NGHỆ TÁC TỬ DI ĐỘNG VÀ XÂY DỰNG ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM Tôi xin cam đoan luận văn “Nghiên cứu công nghệ tác tử di động xây dựng ứng dụng phân tán cập nhật phần mềm” sản phẩm riêng cá nhân, không chép lại người khác Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp, nghiên cứu từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ trích dẫn rõ ràng Tôi xin hoàn toàn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Thái Nguyên, ngày 20 tháng 08 năm 2015 Học viên Trịnh Hồng Nam ~ ii ~ LỜI CẢM ƠN Lời đầu tiên, xin bày tỏ lòng biết ơn đến thầy TS Phạm Thế Quế, người tận tình hướng dẫn, bảo giúp đỡ suốt trình nghiên cứu hoàn thành luận văn Tôi xin chân thành cảm ơn thầy cô giáo trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên giảng dạy cung cấp cho kiến thức bổ ích thời gian học cao học, giúp có tảng tri thức để phục vụ nghiên cứu khoa học sau Tôi xin cảm ơn Lãnh đạo đồng nghiệp đơn vị tạo điều kiện giúp đỡ suốt trình nghiên cứu hoàn thành luận văn Tôi xin bày tỏ lòng cảm ơn đến gia đình bạn bè, người quan tâm, động viên khuyến khích trình học tập Thái Nguyên, ngày 20 tháng 08 năm 2015 Trịnh Hồng Nam ~ iii ~ MỤC LỤC Trang LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC HÌNH ẢNH ix MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ TÁC TỬ DI ĐỘNG VÀ ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM 1.1 Giới thiệu tác tử di động 1.1.1 Giới thiệu 1.1.2 Sự tiến hóa từ mô hình ứng dụng phân tán 1.1.3 Khái niệm tác tử di động 1.1.4 Các đặc tính tác tử di động 1.1.5 Phân loại tác tử di động 10 1.2 Nguyên lý hoạt động tác tử di động 11 1.2.1 Các phương pháp thực thi mã nguồn môi trường mạng 11 1.2.2 Vòng đời tác tử di động 12 1.3 Các lợi ích tác tử di động 14 1.3.1 Giảm tải mạng 14 1.3.2 Khắc phục trễ mạng 14 1.3.3 Thi hành không đồng tự trị 14 1.3.4 Thích ứng nhanh 15 1.3.5 Khắc phục tình trạng không đồng 15 1.3.6 Mạnh mẽ có khả chế ngự lỗi cao 15 1.4 Các ứng dụng tác tử di động 15 1.4.1 Tìm kiếm, thu thập thông tin nhiều nơi 15 ~ iv ~ 1.4.2 Theo dõi thông tin 16 1.4.3 Giám sát phổ biến thông tin 16 1.4.4 Phân tải 16 1.4.5 Tự động đàm phán 17 1.4.6 Thương mại điện tử 17 1.4.7 Giải trí 17 1.4.8 Tự động cập nhật phần mềm 17 1.5 Ứng dụng phân tán cập nhật phần mềm 18 CHƯƠNG MỘT SỐ THUẬT TOÁN TRÊN TÁC TỬ DI ĐỘNG GẮN VỚI ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM 20 2.1 Phân tích hệ thống tác tử di động 20 2.1.1 Tác tử di động môi trường thi hành 20 2.1.1.1 Thành phần tác tử di động 20 2.1.1.2 Môi trường thi hành 22 2.1.2 Các thao tác tác tử di động 23 2.1.2.1 Tạo hủy tác tử di dộng 23 2.1.2.2 Di chuyển tác tử di động 25 2.1.3 Trao đổi, liên lạc tác tử di động 26 2.1.4 Một số hệ thống tác tử di động 27 2.1.4.1 Aglets 27 2.1.4.2 Voyager 28 2.1.4.3 Mole 30 2.1.4.4 ZEUS 31 2.2 Một số thuật toán tác tử di động 33 2.2.1 Thuật toán tạo giao nhiệm vụ cho tác tử di động 33 2.2.1.1 Mô tả thuật toán 33 2.2.1.2 Sơ đồ khối 34 ~v~ 2.2.1.3 Giả mã 35 2.2.2 Thuật toán kiểm tra phiên phần mềm 35 2.2.2.1 Mô tả thuật toán 35 2.2.2.2 Sơ đồ khối 36 2.2.2.3 Giả mã 37 2.2.3 Thuật toán thi hành nhiệm vụ tải phần mềm 37 2.2.3.1 Mô tả thuật toán 37 2.2.3.2 Sơ đồ khối 39 2.2.3.3 Giả mã 40 2.2.4 Thuật toán thi hành nhiệm vụ cập nhật phần mềm 40 2.2.4.1 Mô tả thuật toán 41 2.2.4.2 Sơ đồ khối 42 2.2.4.3 Giả mã 43 2.2.5 Thuật toán tác tử trao đổi thông điệp với máy chủ 43 2.2.5.1 Mô tả thuật toán 43 2.2.5.2 Sơ đồ khối 45 2.2.5.3 Giả mã 46 2.2.6 Thuật toán gửi tác tử di động 46 2.2.6.1 Mô tả thuật toán 46 2.2.6.2 Sơ đồ khối 47 2.2.6.3 Giả mã 48 2.2.7 Thuật toán nhận tác tử di động 48 2.2.7.1 Mô tả thuật toán 48 2.2.7.2 Sơ đồ khối 49 2.2.7.3 Giả mã 49 2.2.8 Thuật toán liên lạc tác tử di động 50 2.2.8.1 Mô tả thuật toán 50 ~ vi ~ 2.2.8.2 Sơ đồ khối 51 2.2.8.3 Giả mã 52 2.2.9 Thuật toán hủy tác tử di động 52 2.2.9.1 Mô tả thuật toán 52 2.2.9.2 Sơ đồ khối 53 2.2.9.3 Giả mã 54 CHƯƠNG THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG PHÂN TÁN CẬP NHẬT PHẦN MỀM 55 3.1 Mô tả yêu cầu 55 3.1.1 Yêu cầu chức 55 3.1.2 Yêu cầu phi chức 55 3.2 Phân tích chi tiết 56 3.2.1 Phân tích nghiệp vụ ứng dụng 56 3.2.1.1 Nghiệp vụ quản lý phần mềm 56 3.2.1.2 Nghiệp vụ quản lý khách hàng 56 3.2.1.3 Nghiệp vụ quản lý tác tử di động 57 3.2.1.4 Nghiệp vụ cập nhật phần mềm 57 3.2.2 Phân tích mô hình quan hệ thực thể 57 3.2.2.1 Mô hình thực thể - liên kết 57 3.2.2.2 Mô tả thực thể 58 3.2.3 Phân tích vấn đề bảo mật 59 3.3 Thiết kế 60 3.3.1 Kiến trúc hệ thống 60 3.3.1.1 Kiến trúc logic 60 3.3.1.2 Kiến trúc kỹ thuật 61 3.3.2 Thiết kế chức 62 3.3.2.1 Mô tả tổng quan tình sử dụng 62 ~ vii ~ 3.3.2.2 Thiết kế chi tiết tình sử dụng 63 3.3.3 Thiết kế sở liệu 66 3.3.3.1 Thiết kế chung 66 3.3.3.2 Danh sách bảng 66 3.3.3.3 Quan hệ bảng 67 3.3.3.4 Mô tả bảng 67 3.5 Kết đạt 69 3.5.1 Mã nguồn số module phần mềm 69 3.5.2 Một số hình ảnh giao diện phần mềm 71 3.5.3 Đánh giá, so sánh với phương pháp khác 74 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75 TÀI LIỆU THAM KHẢO 76 ~ viii ~ DANH MỤC CÁC TỪ VIẾT TẮT TRONG LUẬN VĂN AGENT – Tác tử MOBILE AGENT – Tác tử di động CSDL – Cơ sở liệu SERVER – Máy chủ KQML – Ngôn ngữ hướng thông điệp ~ 62 ~ Web server / Aglet: máy chủ web môi trường thực thi tác tử Nhận yêu cầu từ trình duyệt web để xử lý, đồng thời môi trường để tác tử hoạt động, qua tương tác, nhiệm vụ với tác tử thực thi máy tính khách hàng Môi trường thực thi: môi trường Java để tác tử hoạt động máy tính khách hàng Tác tử di động: chương trình thực nhiệm vụ nhận phần mềm từ máy chủ cập nhật vào máy tính khách hàng Nó di chuyển máy tính khách hàng chủ động thực nhiệm vụ 3.3.2 Thiết kế chức 3.3.2.1 Mô tả tổng quan tình sử dụng Hình 3.4 Tổng quan tình sử dụng Giải thích: ~ 63 ~ Nhóm tình “Quản lý phần mềm”: bao gồm tình mà người quản trị tương tác với hệ thống để thực chức thêm mới, xóa, sửa thông tin cập nhật phiên phần mềm Nhóm tình “Quản lý thông tin khách hàng”: bao gồm tình mà người quản trị tương tác với hệ thống để thực chức thêm khách hàng sử dụng phần mềm Nhóm tình “Quản lý tác tử di động”: bao gồm tình mà người quản trị tương tác với hệ thống để khởi tạo tác tử, giao nhiệm vụ hủy tác tử di động Nhóm tình “Cập nhật phần mềm”: bao gồm tình mà tác tử di động nhận lệnh tự định cập nhật phần mềm máy tính khách hàng 3.3.2.2 Thiết kế chi tiết tình sử dụng Tình sử dụng “Quản lý phần mềm”: Hình 3.5 Tình sử dụng “Quản lý phần mềm” Các tình cụ thể sau:  Thêm phần mềm: tình người quản trị thêm phần mềm vào danh sách quản lý, cho phép nhập thông tin phần mềm file cài đặt ~ 64 ~  Sửa thông tin phần mềm: tình người quản trị sửa thông tin phần mềm quản lý  Xóa phần mềm: tình người quản trị xóa bỏ phần mềm không quản lý  Cập nhật phiên phần mềm: tình người quản trị cập nhật file cài đặt mới, thông tin phiên phần mềm Tình sử dụng “Quản lý thông tin khách hàng”: Hình 3.6 Tình sử dụng “Quản lý thông tin khách hàng” Đây tình người quản trị thêm khách hàng sử dụng phần mềm, cho phép cập nhật thông tin quản lý khách hàng thêm Tình sử dụng “Quản lý tác tử di động”: Hình 3.7 Tình sử dụng “Quản lý tác tử di động” Tình cụ thể sau:  Khởi tạo tác tử di động: tình mà người quản trị tạo tác tử để chuẩn bị thực nhiệm vụ cập nhật phần mềm ~ 65 ~  Hủy tác tử di động: tình mà người quản trị hủy, kết thúc vòng đời tác tử di động  Đưa yêu cầu cập nhật phần mềm cho tác tử: tình mà người quản trị yêu cầu số tác tử thực việc cập nhật phần mềm theo số tiêu chí Tình sử dụng “Cập nhật phần mềm”: Hình 3.8 Tình sử dụng “Cập nhật phần mềm” Tình cụ thể sau:  Cập nhật phần mềm: tình mà tác tử di động thực nhiệm vụ cập nhật phần mềm máy tính khách hàng  Cập nhật thông tin khách hàng: tình mà tác tử lấy thông tin khách hàng máy tính họ cập nhật máy chủ  Di chuyển: tình mà tác tử tự động di chuyển máy tính khách hàng  Tự hủy tác tử: tình mà tác tử tự hủy hoàn thành nhiệm vụ ~ 66 ~ 3.3.3 Thiết kế sở liệu 3.3.3.1 Thiết kế chung Cơ sở liệu ứng dụng chia thành phần chính: - Dữ liệu phần mềm - Dữ liệu khách hàng quản lý tập trung - Dữ liệu tác tử di động - Dữ liệu phần mềm, khách hàng quản lý phân tán 3.3.3.2 Danh sách bảng Bảng phan_mem: Lưu trữ thông tin phần mềm, phiên file cài đặt Bảng khach_hang: Lưu trữ thông tin khách hàng Bảng khach_hang_phan_mem: Lưu trữ thông tin phiên phần mềm cài đặt cho khách hàng, thông tin khác lần cuối cài đặt, tên máy, địa ip, tình trạng tại… Bảng tac_tu_di_dong: Lưu trữ thông tin tác tử di động hoạt động máy chủ máy tính khách hàng ~ 67 ~ 3.3.3.3 Quan hệ bảng Hình 3.9 Quan hệ bảng sở liệu 3.3.3.4 Mô tả bảng - Bảng phan_mem: Thuộc tính Kiểu liệu Null Mô tả phan_mem_id int No Là khóa bảng ten_phan_mem nvarchar(50) Yes Chứa tên phần mềm ma_phan_mem nvarchar(50) Yes Chứa mã phần mềm phien_ban nvarchar(50) Yes Chứa phiên phần mềm link_file nvarchar(50) Yes Chứa đường dẫn đến file cài đặt ~ 68 ~ phiên - Bảng khach_hang: Thuộc tính Kiểu liệu Null Mô tả khach_hang_id Int No Là khóa bảng, chứa mã khách hàng ten_khach_hang nvarchar(50) Yes Chứa tên khách hàng dia_chi nvarchar(50) Yes Chứa địa khách hàng - Bảng khach_hang_phan_mem: Thuộc tính Kiểu liệu Null Mô tả khach_hang_phan_mem_id Int No Là khóa bảng khach_hang_id Yes Chứa khóa ngoại, mã Int khách hàng phan_mem_id Int Yes Chứa khóa ngoại mã sản phẩm phien_ban_hien_tai nvarchar(50) Yes Chứa phiên phần mềm may_tinh_cai_dat nvarchar(50) Yes Chứa tên máy tính khách hàng sử dụng để cài đặt phần mềm ip_may_cai_dat nvarchar(50) Chứa địa ip máy tính khách hàng cài đặt phần mềm tinh_trang nvarchar(50) Chứa thông tin tình trạng phần mềm vận hành máy tính khách hàng ~ 69 ~ - Bảng tac_tu_di_dong: Thuộc tính Kiểu liệu Null Mô tả tac_tu_di_dong_id Int No Là khóa bảng dinh_danh_tac_tu Int Yes Chứa định danh tác tử tinh_trang nvarchar(50) Yes Chứa tình trạng tác tử khach_hang_id Int Yes Chứa mã khách hàng mà tác tử làm việc nhiem_vu Int Yes Chứa nhiệm vụ mà người quản trị giao cho tác tử thực với khách hàng 3.5 Kết đạt Kết sau lập trình theo thiết kế, ứng dụng phân tán cập nhật phần mềm cài đặt sử dụng thử nghiệm Phân hệ quản lý người quản trị cài đặt máy chủ có địa tên miền riêng Các tác tử di động thực thi, vận hành máy tính trạm có kết nối internet không Quá trình thử nghiệm ứng dụng vận hành tốt, đáp ứng yêu cầu đặt 3.5.1 Mã nguồn số module phần mềm Module quản lý danh sách sản phẩm phần mềm: Tên khách hàng Tên máy cài đặt Phiên tại IP máy cài đặt Cập nhật lần cuối Tình trạng ~ 70 ~ Module kiểm tra phiên phần mềm: url2request = url + getCurrentVersion(); WebRequest request = WebRequest.Create(url2request); WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string responseFromServer = reader.ReadToEnd(); if (responseFromServer.Equals("1")) { updatesoftware(); } timer1.Interval = 30000; timer1.Start(); Module thực tải phần mềm: string remoteUri = serverName+softwareName; string fileName = getCurrentSoftware(); if (File.Exists(fileName)) File.Delete(fileName); WebClient myWebClient = new WebClient(); myWebClient.DownloadFile(remoteUri, fileName); 3.5.2 Một số hình ảnh giao diện phần mềm Giao diện trang web quản lý danh sách phần mềm: ~ 72 ~ Hình 3.10 Giao diện trang web quản lý danh sách phần mềm Hình ảnh giao diện cập nhật phiên cho phần mềm: Hình 3.11 Hình ảnh giao diện cập nhật phiên phần mềm Hình ảnh tác tử di động máy tính khách hàng phát có phiên phần mềm: Hình 3.12 Hình ảnh tác tử di động tìm thấy phiên phần mềm Hình ảnh tác tử di động thông báo download phiên phần mềm: Hình 3.13 Hình ảnh tác tử di động thông báo download phần mềm ~ 73 ~ Hình ảnh tác tử di động thông báo cập nhật phần mềm: Hình 3.14 Hình ảnh tác tử di động thông báo cập nhật phần mềm Hình ảnh tác tử di động thông báo cập nhật thành công phần mềm: Hình 3.15 Hình ảnh tác tử di động thông báo cập nhật thành công Hình ảnh máy chủ thông báo tác tử di động hoạt động máy tính khách hàng tìm thấy phiên mới: HÌnh 3.16 Hình ảnh máy chủ thông báo tác tử tìm thấy phiên phần mềm Hình ảnh máy chủ thông báo tác tử di động hoạt động máy tính khách hàng download phần mềm: Hình 3.17 Hình ảnh máy chủ thông báo tác tử di động download phần mềm ~ 74 ~ Hình ảnh máy chủ thông báo tác tử di động hoạt động máy tính khách hàng thực nhiệm vụ cập nhật phần mềm: Hình 3.18 Hình ảnh máy chủ thông báo tác tử di động cập nhật Hình ảnh máy chủ thông báo tác tử di động thực thành công nhiệm vụ: Hình 3.19 Hình ảnh máy chủ thông báo tác tử di động cập nhật thành công phiên phần mềm 3.5.3 Đánh giá, so sánh với phương pháp khác Kết luận văn xây dựng phần mềm đáp ứng yêu cầu toán phân tán cập nhật phần mềm Phần mềm tự động nhận biết có phiên nhà cung cấp, tự động tải thực cài đặt đồng thời đồng tình trạng cài đặt, cập nhật phần mềm lên máy chủ để người quản trị hệ thống nhận biết, quản lý So sánh với phương pháp cập nhật truyền thống khác: Sản phẩm luận văn cập nhật phần phần mềm Sản phẩm luận văn có khả mang phần mềm di chuyển mạng nội thực cập nhật máy không nối mạng internet ~ 75 ~ KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết thực luận văn tìm hiểu vấn đề tác tử, tác tử di động, đặc điểm thành phần tác tử, phối hợp tác tử hệ đa tác tử để xử lý vấn đề thực tế Tác tử với ưu điểm vượt trội khả tự trị, tự chủ hành động mà không cần có can thiệp trực tiếp người Dựa vào kết nghiên cứu lý thuyết, đề tài xây dựng ứng dụng phân tán cập nhật phần mềm với giao diện thân thiện, dễ sử dụng, chức đáp ứng yêu cầu Tuy nhiên, lực thời gian làm luận văn có hạn nên sản phẩm số hạn chế chức cập nhật phần mềm chậm, chưa phát huy hết khả tác tử, tính di động chưa thật cao Hướng phát triển đề tài khắc phục hạn chế chưa đạt được, từ xây dựng ứng dụng hoàn chỉnh để thương mại hóa ~ 76 ~ TÀI LIỆU THAM KHẢO A Fuggetta, G Vigna, (1998), “Understanding Code Mobility”, IEEE Transactions on Software Engineering, 24(5),342-361 D B Lange, M Oshima (1998), Programming and Deploying Java Mobile Agents with Aglets, Addison-Wesley, USA Fabio Bellifemine, Giovanni Caire, Dominic Greenwood, (2007), Developing Multi-Agent Systems with JADE, John Wiley and Sons Ltd Gerhard Weiss, (1999), “ Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence”, The MIT Press N R Jennings, K Sycara, M Wooldridge (1998), A Roadmap of Agent Research and Development, Journal of Autonomous Agents and Multi-Agent Systems, pp 275-306 http://en.wikipedia.org/wiki/Client-server http://en.wikipedia.org/wiki/Software_agent http://en.wikipedia.org/wiki/Java_Agent_Development_Framework

Ngày đăng: 17/08/2016, 16:00

Từ khóa liên quan

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

Tài liệu liên quan