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

89 6 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 tồ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 hồn tồ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 đỡ tơi suốt q trình nghiên cứu hồ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 tơi 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 q trình nghiên cứu hồ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 tơi q 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 tố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 tố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 tốn 41 2.2.4.2 Sơ đồ khối 42 2.2.4.3 Giả mã 43 2.2.5 Thuật tốn tác tử trao đổi thơng điệp với máy chủ 43 2.2.5.1 Mơ tả thuật tố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 tố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 tố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 tố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 tố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 ~ 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 Q 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 cịn 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 hồ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 ... Đ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. .. chọn đề tài ? ?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” nhằm nắm nguyên tắc thiết kế Tác tử di động từ xây dựng ứng dụng phân tán tự động cập nhật phần mềm... 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 2.1 Phân tích hệ thống tác tử di động 2.1.1 Tác tử di động môi trường thi hành 2.1.1.1 Thành phần tác tử di động Tác tử di động

Ngày đăng: 15/03/2023, 15:36

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

  • Đang cập nhật ...

Tài liệu liên quan