Thuật toán kiểm tra phiên bản phần mềm

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 47 - 49)

2.2. Một số thuật toán trên tác tử di động

2.2.2. Thuật toán kiểm tra phiên bản phần mềm

Thuật toán này đƣợc thực hiện khi tác tử di động đang hoạt động tại máy tính của khách hàng. Theo chu kì thời gian nhất định sẽ kiểm tra, đối chiếu phiên bản phần mềm hiện thời đang đƣợc cài đặt tại máy tính khách hàng với phiên bản đặt tại máy chủ web.

2.2.2.1. Mô tả thuật toán

Input: Mã phần mềm cần kiểm tra phiên bản, số lần tối đa kết nối với máy chủ.

Output: Thông tin có sự khác nhau giữa phiên bản hiện thời đƣợc cài đặt tại máy tính khách hàng với phiên bản mới nhất tại máy chủ hay không.

Bƣớc 1:

Kết nối với máy chủ, gửi kèm mã phần mềm cần kiểm tra phiên bản Bƣớc 2:

Nếu máy chủ có thông tin phản hồi thì chuyển sang bƣớc 3, nếu không thì tăng biến lƣu số lần gửi yêu cầu, nếu giá trị này còn nhỏ hơn giá trị cho phép thì quay lại bƣớc 1 nếu không thì kết thúc.

Lấy thông tin phiên bản của phần mềm đang đƣợc cài đặt tại máy tính tác tử đang thi hành.

Bƣớc 4:

Nếu phiên bản hiện thời khác với phiên bản máy chủ trả về thì trả về thông tin có khác nhau, nếu không thì trả về giá trị không khác.

Bƣớc 5: Kết thúc.

2.2.2.2. Sơ đồ khối

BẮT ĐÂU

Kết nối với máy chủ

Máy chủ có thông tin phản hồi?

Phiên bản hiện thời khác

Phiên bản trên máy chủ?

Kết thúc Đúng

Tăng số lần đã kết nối

Sai Số lần đã kết nối

< số lần kết nối tối đa Đúng

Lấy thông tin phiên bản hiện tại

của phần mềm Trả về thông tin có khác nhau Trả về thông tin không khác nhau Sai Sai Đúng Nhập vào mã phần mềm, số lần kết nối tối đa

2.2.2.3. Giả mã

1. Enter software_id, max_num_request

2. Declare num_request 3. Set num_request to 0

4. While num_request < max_num_request

a. Call connect_server (software_id) Returning newest_version b. If newest_version <> null Then

break;

c. EndIf

d. Increment num_request

5. EndWhile

6. Call get_current_version Returning current_version 7. If newest_version <> current_version Then

Return “Có phiên bản mới”

8. Else

Return “Không có phiên bản mới”

9. EndIf

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 (Trang 47 - 49)

Tải bản đầy đủ (PDF)

(88 trang)