Tải bản đầy đủ (.docx) (105 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.15 MB, 105 trang )

ĐẠ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
Số hóa bởi Trung tâm Học liệu – ĐHTN




ĐẠ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

Số hóa bởi Trung tâm Học liệu – ĐHTN




~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 và xây
dựng ứng dụng phân tán cập nhật phần mềm” là sản phẩm của riêng cá nhân,
không sao chép lại của ngƣời khác. Trong toàn bộ nội dung của luận văn,
những điều đƣợc trình bày hoặc là của cá nhân hoặc là đƣợc tổng hợp, nghiên
cứu từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất xứ và
trích dẫn rõ ràng.
Tơi xin hồn tồn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Thái Nguyên, ngày 20 tháng 08 năm
2015
Học viên

Trịnh Hồng Nam

Số hóa bởi Trung tâm Học liệu – ĐHTN





~ ii ~

LỜI CẢM ƠN
Lời đầu tiên, tôi 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, chỉ bảo và giúp đỡ tơi trong suốt q trình
nghiên cứu và hồn thành luận văn này.
Tôi xin chân thành cảm ơn các thầy cô giáo trƣờng Đại học Công nghệ
Thông tin và Truyền thông - Đại học Thái Nguyên đã giảng dạy và cung cấp
cho chúng tơi những kiến thức rất bổ ích trong thời gian học cao học, giúp tơi
có nền tảng tri thức để phục vụ nghiên cứu khoa học sau này.
Tôi cũng xin cảm ơn Lãnh đạo và đồng nghiệp tại đơn vị đã tạo điều kiện
và giúp đỡ tôi trong suốt q trình nghiên cứu và hồn thành luận văn. Tơi
cũng xin bày tỏ lịng cảm ơn đến gia đình và bạn bè, những ngƣời luôn quan
tâm, động viên và khuyến khích tơi trong q trình học tập.
Thái Ngun, ngày 20 tháng 08 năm
2015
Trịnh Hồng Nam

Số hóa bởi Trung tâm Học liệu – ĐHTN




~ 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...........................................................................................................1
CHƢƠNG 1. 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............................................................5
1.1. Giới thiệu về tác tử di động........................................................................5
1.1.1. Giới thiệu........................................................................................ 5
1.1.2. Sự tiến hóa từ các mơ hình ứng dụng phân tán...............................6
1.1.3. Khái niệm về tác tử di động............................................................7
1.1.4. Các đặc tính của tác tử di động.......................................................9
1.1.5. Phân loại tác tử di động.................................................................10
1.2. Nguyên lý hoạt động của tác tử di động...................................................11
1.2.1. Các phƣơng pháp thực thi mã nguồn trong môi trƣờng mạng.....11
1.2.2. Vòng đời của một tác tử di động...................................................12
1.3. Các lợi ích của tác tử di động...................................................................14
1.3.1. Giảm tải mạng...............................................................................14
1.3.2. Khắc phục sự trễ mạng..................................................................14
1.3.3. Thi hành không đồng bộ và 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 nhất.........................................15
1.3.6. Mạnh mẽ và có khả năng chế ngự lỗi cao.....................................15
1.4. Các ứng dụng của tác tử di động..............................................................15
1.4.1. Tìm kiếm, thu thập thơng tin nhiều nơi.........................................15
Số hóa bởi Trung tâm Học liệu – ĐHTN





~ iv ~

1.4.2. Theo dõi thông tin.........................................................................16
1.4.3. Giám sát và 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 2. 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 và môi trƣờng thi hành.........................................20
2.1.1.1. Thành phần của 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 của tác tử di động..................................................... 23
2.1.2.1. Tạo và hủy một 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 giữa cá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 trên tác tử di động........................................................33
2.2.1 Thuật toán tạo và 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
Số hóa bởi Trung tâm Học liệu – ĐHTN





~v~

2.2.1.3. Giả mã.......................................................................................35
2.2.2. Thuật toán kiểm tra phiên bả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 tố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 tốn........................................................................43
2.2.5.2. Sơ đồ khối.................................................................................45
2.2.5.3. Giả mã.......................................................................................46
2.2.6. Thuật tốn gửi đi một 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 về một 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 giữa các tác tử di động................................... 50
2.2.8.1. Mơ tả thuật tốn........................................................................50
Số hóa bởi Trung tâm Học liệu – ĐHTN




~ 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 3. 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 về chức năng................................................................... 55
3.1.2. Yêu cầu phi chức năng..................................................................55
3.2. Phân tích chi tiết.......................................................................................56
3.2.1. Phân tích nghiệp vụ của ứ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 các 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 năng........................................................................62
3.3.2.1. Mô tả tổng quan các tình huống sử dụng..................................62
Số hóa bởi Trung tâm Học liệu – ĐHTN




~ vii ~

3.3.2.2. Thiết kế chi tiết các tình huống sử dụng................................... 63
3.3.3. Thiết kế cơ sở dữ liệu....................................................................66
3.3.3.1. Thiết kế chung...........................................................................66
3.3.3.2. Danh sách các bảng...................................................................66
3.3.3.3. Quan hệ giữa các bảng..............................................................67
3.3.3.4. Mô tả các bảng..........................................................................67
3.5. Kết quả đạt đƣợc......................................................................................69
3.5.1. Mã nguồn một 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 các 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

Số hóa bởi Trung tâm Học liệu – ĐHTN





~ 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ở dữ liệu
SERVER – Máy chủ
KQML – Ngôn ngữ hƣớng thơng điệp

Số hóa bởi Trung tâm Học liệu – ĐHTN




~ ix ~

DANH MỤC CÁC HÌNH ẢNH
Trang
HÌNH 1.1. SỰ TIẾN HĨA CỦA MƠ HÌNH TÁC TỬ DI ĐỘNG...................7
HÌNH 1.2. TÁC TỬ – PHƢƠNG PHÁP LẬP TRÌNH....................................8
HÌNH 1.3. MƠ HÌNH HOẠT ĐỘNG TÁC TỬ DI ĐỘNG - MOBILE
AGENT.....................................................................................................9
HÌNH 1.4. VỊNG ĐỜI CỦA MỘT TÁC TỬ DI ĐỘNG...............................13
HÌNH 2.1. SƠ ĐỒ KHỐI THUẬT TỐN TẠO VÀ GIAO NHIỆM VỤ TÁC
TỬ........................................................................................................... 34
HÌNH 2.2. SƠ ĐỒ KHỐI THUẬT TỐN KIỂM TRA PHIÊN BẢN PHẦN
MỀM.......................................................................................................36
HÌNH 2.3. SƠ ĐỒ KHỐI THUẬT TOÁN THI HÀNH NHIỆM VỤ TẢI

PHẦN MỀM...........................................................................................39
HÌNH 2.4. SƠ ĐỒ KHỐI THUẬT TỐN THI HÀNH NHIỆM VỤ CẬP
NHẬT PHẦN MỀM...............................................................................42
HÌNH 2.5. SƠ ĐỒ KHỐI THUẬT TỐN TÁC TỬ TRAO ĐỔI THƠNG
ĐIỆP VỚI MÁY CHỦ............................................................................ 45
HÌNH 2.6. SƠ ĐỒ KHỐI THUẬT TOÁN GỬI ĐI MỘT TÁC TỬ...............47
HÌNH 2.7. SƠ ĐỒ KHỐI THUẬT TỐN NHẬN VỀ MỘT TÁC TỬ DI
ĐỘNG.....................................................................................................49
HÌNH 2.8. SƠ ĐỒ KHỐI THUẬT TỐN LIÊN LẠC GIỮA CÁC TÁC TỬ
DI ĐỘNG................................................................................................51
HÌNH 2.9. SƠ ĐỒ KHỐI THUẬT TỐN HỦY TÁC TỬ DI ĐỘNG...........53
HÌNH 3.1. MƠ HÌNH NGHIỆP VỤ CỦA ỨNG DỤNG............................... 56
HÌNH 3.2. MƠ HÌNH THỰC THỂ LIÊN KẾT..............................................58
HÌNH 3.3. KIẾN TRÚC LOGIC HỆ THỐNG...............................................60
HÌNH 3.3. KIẾN TRÚC KỸ THUẬT HỆ THỐNG.......................................61
Số hóa bởi Trung tâm Học liệu – ĐHTN




~x~

HÌNH 3.4. TỔNG QUAN CÁC TÌNH HUỐNG SỬ DỤNG.........................62
HÌNH 3.5. TÌNH HUỐNG SỬ DỤNG “QUẢN LÝ PHẦN MỀM”..............63
HÌNH 3.6. TÌNH HUỐNG SỬ DỤNG “QUẢN LÝ THƠNG TIN KHÁCH
HÀNG”................................................................................................... 64
HÌNH 3.7. TÌNH HUỐNG SỬ DỤNG “QUẢN LÝ TÁC TỬ DI ĐỘNG”...64
HÌNH 3.8. TÌNH HUỐNG SỬ DỤNG “CẬP NHẬT PHẦN MỀM”............65
HÌNH 3.9. QUAN HỆ GIỮA CÁC BẢNG TRONG CƠ SỞ DỮ LIỆU........67
HÌNH 3.10. GIAO DIỆN TRANG WEB QUẢN LÝ DANH SÁCH PHẦN

MỀM.......................................................................................................72
HÌNH 3.11. HÌNH ẢNH GIAO DIỆN CẬP NHẬT PHIÊN BẢN PHẦN
MỀM.......................................................................................................72
HÌNH 3.13. HÌNH ẢNH TÁC TỬ DI ĐỘNG THƠNG BÁO ĐANG
DOWNLOAD PHẦN MỀM...................................................................72
HÌNH 3.14. HÌNH ẢNH TÁC TỬ DI ĐỘNG THƠNG BÁO ĐANG CẬP
NHẬT PHẦN MỀM...............................................................................73
HÌNH 3.15. HÌNH ẢNH TÁC TỬ DI ĐỘNG THƠNG BÁO ĐÃ CẬP NHẬT
THÀNH CƠNG...................................................................................... 73
HÌNH 3.16. HÌNH ẢNH TẠI MÁY CHỦ THƠNG BÁO TÁC TỬ ĐÃ TÌM
THẤY PHIÊN BẢN MỚI PHẦN MỀM................................................ 73
HÌNH 3.17. HÌNH ẢNH TẠI MÁY CHỦ THÔNG BÁO TÁC TỬ DI ĐỘNG
ĐANG DOWNLOAD PHẦN MỀM......................................................73
HÌNH 3.18. HÌNH ẢNH TẠI MÁY CHỦ THƠNG BÁO TÁC TỬ DI ĐỘNG
ĐANG CẬP NHẬT................................................................................ 74
HÌNH 3.19. HÌNH ẢNH TẠI MÁY CHỦ THÔNG BÁO TÁC TỬ DI ĐỘNG
ĐÃ CẬP NHẬT THÀNH CƠNG PHIÊN BẢN MỚI PHẦN MỀM......74

Số hóa bởi Trung tâm Học liệu – ĐHTN




~1~

MỞ ĐẦU
1. Đặt vấn đề
Tin học ngày càng phát triển dẫn đến việc hình thành nhu cầu tạo ra
những tiểu chƣơng trình nhỏ gọn, thơng minh, có khả năng hoạt động độc lập
và kết hợp với những tiểu chƣơng trình khác. Năm 1982, kỹ thuật lập trình

lập hƣớng đối tƣợng đƣợc thay thế kỹ thuật lập trình có cấu trúc truyền
thống. Năm 1994, khái niệm Tác tử phần mềm (Software Agent) đƣợc đƣa ra
bởi Mark Sidell và Chuck Knuff và đến năm 1995 phiên bản đầu tiên của tác
tử (Agent) xuất hiện đã tạo ra một phƣơng pháp lập trình mới.
Tác tử di động là một trong những hƣớng nghiên cứu thu hút nhiều sự
quan tâm nhất từ những năm 1990 đến nay với những đặc điểm rất thích hợp
cho việc phát triển các ứng dụng phân tán.
Tác tử di động là một phần mềm hoạt động độc lập, có khả năng di
chuyển từ máy này qua máy khác trong mơi trƣờng mạng, có thể giao tiếp với
nhau để thực hiện theo yêu cầu của chủ nhân của nó.
Trong thực tế, với các khách hàng sử dụng phần mềm tại máy tính cá
nhân của mình, khi cần nâng cấp phiên bản mới hay cài đặt phiên bản vá lỗi
thì nhà cung cấp phải thực hiện điều này trực tiếp hoặc qua mạng internet.
Điều này tối thiểu phải có sự tác động của nhà sản xuất đến máy tính khách
hàng hoặc khách hàng chủ động tải phiên bản mới từ máy chủ của nhà sản
xuất. Do đó gây ra sự lãng phí về thời gian, cơng sức, tiền bạc mà đơi khi
không đáp ứng kịp thời đƣợc yêu cầu của khách hàng.
Từ thực tế trên kết hợp với khái niệm về tác tử di động, ta có thể xây
dựng một ứng dụng phân tán mà nó có thể cập nhật phần mềm tự động cho
các nhà sản xuất. Sau khi đƣợc yêu cầu, các tác tử sẽ mang các thành phần
phần mềm đƣợc đóng gói cũng nhƣ các thủ tục cài đặt đến các máy cá nhân
của khách hàng và tự động cập nhật các phiên bản mới nhất trên máy đó.
Số hóa bởi Trung tâm Học liệu – ĐHTN




~2~

Để hiểu thêm về vấn đề này, em chọn đề tài “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” nhằm nắm
nguyên tắc thiết kế Tác tử di động từ đó xây dựng các ứng dụng phân tán tự
động cập nhật phần mềm.
2. Mục tiêu nghiên cứu
Mục tiêu của luận văn là nghiên cứu đƣợc tổng quan về tác tử di động,
nguyên lý hoạt động, các lợi ích của tác tử và ứng dụng của nó. Phân tích chi
tiết một hệ thống tác tử di động, các thành phần và các thao tác của nó. Tìm
hiểu bài tốn tự động cập nhật phần mềm, phân tích, thiết kế, từ đó xây dựng
ứng dụng phân tán tự động cập nhật phần mềm.
3.

Đối tƣợng và phạm vi nghiên cứu
Đối tƣợng nghiên cứu của luận văn là về tác tử di động trong phạm vi

xây dựng ứng dụng cập nhật phần mềm. Ứng dụng xây dựng trong phạm vi
mô phỏng với các tác tử tự động cập nhật phần mềm tại máy tính của khách
hàng hoặc cập nhật sau khi có yêu cầu của ngƣời quản trị.
4. Phƣơng pháp nghiên cứu
Luận văn sử dụng phƣơng pháp nghiên cứu lý thuyết kết hợp với thực
nghiệm.
Nghiên cứu lý thuyết:


Nghiên cứu về tác tử di động.


Nguyên cứu về các yêu cầu xây dựng ứng dụng phân tán cập
nhật phần
mềm.
Nghiên cứu thực nghiệm:


5.



Thực hiện xây dựng ứng dụng phân tán cập nhật phần mềm.



Cài đặt, vận hành thử nghiệm, đánh giá kết quả của ứng dụng.

Ý nghĩa khoa học của đề tài
Về lý thuyết:
Số hóa bởi Trung tâm Học liệu – ĐHTN




~3~

Đề tài mở ra một hƣớng nghiên cứu mới về các ứng dụng của tác tử di
động cũng nhƣ một phƣơng pháp mới để thực hiện công tác nâng cấp, cập
nhật sản phẩm phần mềm.
Về thực tiễn:
Với việc triển khai thực tiễn luận văn, sẽ tạo điều kiện để các nhà sản
xuất phần mềm có thêm một cơng cụ cập nhật, nâng cấp sản phẩm của họ
thuận tiện, tiết kiệm hơn về thời gian, công sức, tiền bạc. Ngƣời sử dụng phần
mềm thì có thêm một lựa chọn để nâng cấp, cập nhật phần mềm nhanh chóng,
thuận tiện hơn.
6.


Bố cục của luận văn
Dựa trên đối tƣợng và phạm vi nghiên cứu, luận văn sẽ đƣợc chia làm 3

chƣơng chính với các nội dung cụ thể nhƣ sau:
Chương 1. 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.


chƣơng này sẽ trình bày nội dung giới thiệu về Tác tử di động, các

nguyên lý hoạt động và lợi ích của nó, các lĩnh vực ứng dụng của Tác tử di
động. Đồng thời cũng giới thiệu tổng quan về ứng dụng phân tán cập nhật
phần mềm.
Chương 2. 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.
Chƣơng này sẽ phân tích kĩ hơn về hệ thống tác tử di động và trình bày
một số thuật tốn đối với tác tử di động, mỗi thuật tốn trình bày chi tiết các
bƣớc, sơ đồ khối và viết giả mã. Bên cạnh đó cũng nêu các tình huống sẽ sử
dụng thuật tốn trong ứng dụng cập nhật phần mềm.
Chương 3. Thiết kế và xây dựng ứng dụng phân tán cập nhật phần
mềm

Số hóa bởi Trung tâm Học liệu – ĐHTN




~4~


Chƣơng này trình bày về yêu cầu của ứng dụng, bao gồm các yêu cầu về
chức năng và phi chức năng. Phân tích chi tiết bài tốn, từ đó có thiết kế kiến
trúc hệ thống, thiết kế chi tiết chức năng, thiết kế cơ sở dữ liệu. Dựa vào nội
dung phân tích, thiết kế và kết quả thực nghiệm, nội dung chƣơng này sẽ nêu
kết quả đạt đƣợc.
Cuối cùng là phần kết luận và hƣớng phát triển.

Số hóa bởi Trung tâm Học liệu – ĐHTN




~5~

CHƢƠNG 1. 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 về tác tử di động
1.1.1. Giới thiệu
Sự bùng nổ nhanh chóng các dịch vụ và nguồn thông tin trên mạng đã
làm gia tăng việc khai thác, xử lý thông tin ngày càng trở nên phức tạp và đa
dạng. Có thể kể đến các khuynh hƣớng chính yếu sau:


Ngƣời dùng di động (Mobile users): Ngày nay ngƣời dùng thƣờng có

nhu cầu truy xuất, tìm kiếm thơng tin ở mọi nơi, mọi lúc từ các thiết bị di
động (Mobile devices). Vì vậy việc hỗ trợ kết nối và trên mọi thiết bị là một
thách thức đƣợc đặt ra.

Nhu cầu chuyên biệt hoá: Việc khai thác thơng tin, sử ụng dịch

vụ đã
khơng cịn thỏa mãn với các cơ chế thụ động, mà ngƣời dùng thƣờng có
khuynh hƣớng muốn chun biệt hố nhu cầu của mình một cách chủ động.
Internet là cơ sở để thực hiện mong muốn này. Vì vậy, cần hỗ trợ khả năng
chuyên biệt hoá các ứng dụng mạng dành cho ngƣời dùng.


Nguồn tin đa dạng, khối lƣợng cực lớn: Đã xuất hiện sự bùng nổ thông

tin trên mạng với sự xuất hiện của nhiều kho dữ liệu khổng lồ. Các kho dữ
liệu này lại đƣợc cung cấp từ nhiều nguồn nên thƣờng không đồng nhất về tổ
chức, cấu trúc. Đây sẽ lại là một khó khăn mới đối với ngƣời dùng khi truy
vấn.
− Việc các mạng Intranet đƣợc xây dựng phổ biến là một điều kiện tốt để
triển khai các kỹ thuật mới trong việc xây dựng các ứng dụng mạng. Vì các
mạng Intranet cho phép thiết lập an tồn hệ thống dễ dàng hơn trong một tập
hợp mang tính cộng tác và tin cậy.


Môi trƣờng không đồng nhất: Khi kết nối các máy tính, các mạng cục bộ

vào Internet, các ứng dụng và ngƣời dùng phải đối mặt với một mơi trƣờng
Số hóa bởi Trung tâm Học liệu – ĐHTN




~6~

không đồng nhất về phần cứng, kiến trúc, hệ điều hành…Và bài tốn tƣơng

thích cần phải giải quyết.


Sự khập khiễng về đƣờng truyền: Mặc dù ngành viễn thông đã đạt đến

những tiến bộ đáng kinh ngạc, và cho ra đời các loại cáp quang với tốc
độtruyền tải nhanh đáng kể. Đa số ngƣời dùng vẫn bị giới hạn với các thiết bị
kết nối nhƣ modem hay các đƣờng truyền băng thông thấp với mạng không
dây.
Với tất cả các đặc điểm trên đây, các ứng dụng phân tán phát triển theo
mô hình Client/Server truyền thống tỏ ra một số bất lợi vì địi hỏi làm việc
đồng bộ, địi hỏi đƣờng truyền băng thông cao, độ trễ thấp và cuối cùng là các
dịch vụ thiếu linh động, khó thay đổi hay bổ sung. Tác tử di động là một mơ
hình trong đó các tiến trình - đƣợc gọi là tác tử có tính tự trị và khả năng di
động từ máy chủ này sang máy chủ khác để hoàn tất tác vụ. Ý tƣởng chủ đạo
của Tác tử di động là di chuyển xử lý đến gần nguồn dữ liệu, nhờ đó có thể
giảm tải mạng, khắc phục tình trạng trễ, hỗ trợ xử lý không đồng bộ và tạo ra
sự tƣơng thích mạnh trên các mơi trƣờng khơng đồng nhất. Tác tử di động
với các ƣu điểm này hứa hẹn một giải pháp mới, hiệu quả và dễ dàng hơn
trong việc phát triển ứng dụng phân tán, đặc biệt tìm kiếm thơng tin mới nhất.
1.1.2. Sự tiến hóa từ các mơ hình ứng dụng phân tán
Theo truyền thống, các ứng dụng phân tán có cấu trúc theo mơ hình
Client/Server sẽ thực hiện việc giao tiếp qua các cơ chế gọi hàm từ xa. u
cầu các mơ hình giao tiếp phải đồng bộ. Một kiến trúc tiến bộ hơn là Remote
Evaluation (REV) do Stamos và Gifford đƣa ra vào năm 1990. Trong mơ hình
REV, thay vì u cầu thực hiện các hàm từ xa thì Client chỉ việc gửi mã nguồn
các hàm của nó đến Server và yêu cầu Server thực hiện rồi trả về kết quả. Một
số hệ thống khác cũng đã giới thiệu khái niệm thông điệp chủ động (active
messages) có thể di trú giữa các vị trí trên mạng, mang theo mã của
Số hóa bởi Trung tâm Học liệu – ĐHTN





~7~

chƣơng trình để thực thi tại những vị trí này. Tác tử di động là mơ hình tiến
hóa tiên tiến nhất so với các mơ hình trƣớc đó.

Hình 1.1. Sự tiến hóa của mơ hình tác tử di động
1.1.3. Khái niệm về tác tử di động
Tác tử di động là giải pháp mạng và là cơng nghệ lập trình hƣớng tác tử,
tiến hóa hơn các mơ hình phát triển ứng dụng phân tán trên mạng máy tính
truyền thống. Tác tử di động đƣợc xây dựng dựa trên nhiều công nghệ hiện
đại, không dựa vào nguyên lý Client/Server và cũng không theo các phƣơng
thức triệu gọi từ xa truyền thống. Tác tử di động rất thích hợp cho bài tốn tìm
kiếm, khai phá, trích rút thơng tin trên mạng Internet
Một tác tử di động có thể di chuyển từ một thiết bị đầu cuối lên mạng
Internet và hoạt động không phụ thuộc vào mơi trƣờng và kết nối, thậm chí
User tắt máy hay ngắt kết nối khỏi mạng.
Phát triển các ứng dụng phân tán dựa trên Tác tử di động có thể “giấu
các kênh truyền”, loại trừ khả năng phát hiện và quản lý hoạt động của chúng.
Tác tử di động khơng địi hỏi phải cài đặt lại các phần mềm ở mỗi site.

Số hóa bởi Trung tâm Học liệu – ĐHTN




~8~


Tác tử (Agent) là sự kết hợp của nhiều kỹ thuật tiên tiến về máy tính, kỹ
thuật truyền tin và các lĩnh vực tin học hiện đại (nhƣ hệ thống phân tán, AI &
Khoa học nhận dạng, máy học, mã di động, truy tìm thơngtin, cơ sở dữ liệu và
cơ sở tri thức…). Kết hợp với phƣơng pháp lập trình hƣớng đối tƣợng đã tạo
ra một phƣơng pháp phát triển mới. Phƣơng pháp lập trình hƣớng tác tử.
Phục hồi thơng
tin

Các hệ thống phân
tán

Mã nguồn di động

Tác tử di động
(Mobile Agent)

AI & Khoa học
nhận dạng

Cơ sở dữ liệu và
cơ sở tri thức

Máy học

Hình 1.2. Tác tử – phƣơng pháp lập trình
Máy học nghiên cứu cách thức để mơ hình hóa bài tốn cho phép máy
tính tự động hiểu, xử lý và học từ dữ liệu để thực thi nhiệm vụ đƣợc giao
cũng nhƣ cách đánh giá giúp tăng tính hiệu quả.
Có rất nhiều định nghĩa khác nhau, thậm chí khác nhau về tác tử di động,

nhƣng có một định nghĩa thƣờng đƣợc sử dụng nhƣ sau:
Định nghĩa: Tác tử di động - Mobile Agent là danh từ ghép giữa Agent
(trợ lý) và Mobile (di động). Là một phần mềm có khả năng di chuyển một
cách tự trị từ nút này sang nút khác trên mạng và thực hiện các giao dịch theo
ủy quyền của chủ nhân để đạt đƣợc mục tiêu giao phó. Có khả năng giao tiếp
với nhau và hoạt động không phụ thuộc vào môi trƣờng. Khi di chuyển, tác tử
di động đóng gói mã nguồn, dữ liệu và trạng thái thi hành. Vì vậy nó có thể
dừng việc thi hành tại nút này, tiếp tục thi hành trên nút khác.

Số hóa bởi Trung tâm Học liệu – ĐHTN




~9~

S
1- Tác tử di động
(Code, Data,

4- Tác tử di động trả kết quả

S

Hình 1.3. Mơ hình hoạt động tác tử di động - Mobile Agent
Tác tử di động là một mơ hình hiệu quả cho các ứng dụng phân tán. Đặc
biệt thích hợp và rất hiệu quả trong trong các giải pháp tìm kiếm thơng tin cập
nhật mới nhất. Có thể thực hiện trên các môi trƣờng khác nhau, trên các thiết
bị đầu cuối khác nhau, nhƣ các máy tính di động laptop, máy tính tại nhà và
máy di động cầm tay. Các thiết bị này thƣờng disconnect trong một khoảng

thời gian dài, thƣờng có băng thơng trễ, kết nối mạng không tin cậy, và
thƣờng thay đổi địa chỉ mạng qua mỗi lần kết nối.
1.1.4. Các đặc tính của tác tử di động
Các đặc tính cơ bản của tác tử di động bao gồm:
a)

Tính tự trị (autonomous): là khả năng tự kiểm soát bản thân của tác tử

di động sau khi đƣợc giao việc mà không cần sự can thiệp của ngƣời dùng
hoặc của tác tử khác [3]. Có hai đặc tính thƣờng đƣợc dùng để đánh giá về sự
tự trị của tác tử di động. Đó là đặc tính hƣớng đích (goal-oriented) và tính chủ
động (pro-activeness). Khả năng tự trị của tác tử di động chủ yếu đƣợc quyết
định bởi tri thức trang bị cho tác tử di động.

Số hóa bởi Trung tâm Học liệu – ĐHTN




~10~

b)
thi

Tính di động (mobility): Là khả năng di chuyển từ môi trƣờng

hành này sang môi trƣờng khác của một tác tử. Đồng thời giữ nguyên trạng
thái và khả năng hoạt động của nó. Các tác tử có đặc điểm này đƣợc gọi là tác
tử di động. Việc thiết kế và cài đặt tác tử di động đặt ra các yêu cầu đặc biệt
về vấn đề an ninh hệ thống [1].

c)

Tính thích ứng (reactiveness): là khả năng của tác tử có thể thực thi

trên những môi trƣờng lạ, và cảm nhận đƣợc sự thay đổi của môi trƣờng.
d)
Khả năng cộng tác (collaboration): Tác tử di động có khả năng
tƣơng

tác với ngƣời dùng hoặc các tác tử khác để thực hiện nhiệm vụ của riêng
mình hoặc để giúp đỡ các đối tác khác.
e)

Khả năng tự học: Tự học hoặc học tự động là khả năng của tác tử thu

thập các kiến thức mới từ kinh nghiệm thu lƣợm đƣợc, chẳng hạn qua các lần
thành công và thất bại. Kết quả tự học phải làm cho các tác tử hành động tốt
hơn, hiệu quả hơn.
1.1.5. Phân loại tác tử di động
a)

Phân loại theo tính năng


Tác tử tĩnh: Là các tác tử chỉ làm việc trên một hệ thống, nơi
mà tác tử
bắt đầu vòng đời. Nếu tác tử tĩnh cần thông tin ở một hệ thống khác hoặc
muốn tƣơng tác với tác tử ở hệ thống khác thì chúng phải sử dụng một trong
các cơ chế truyền thông khác nhƣ RPC, RMI, DCOM...



Tác tử di động: Không phụ thuộc vào hệ thống nơi chúng bắt đầu làm

việc. Có khả năng di chuyển tù nơi này đến nơi khác trong hệ thống mạng
máy tính tại những thời điểm và vị tri do tác tử lựa chọn. Có hai loại tác tử di
động

 Di động mạnh (strong mobility) là khả năng mà hệ thống có thể
di chuyển đồng thời mã chƣơng trình, dữ liệu và trạng thái thi hành
của tác tử đến một môi trƣờng khác.


Số hóa bởi Trung tâm Học liệu – ĐHTN




~11~

 Di động yếu (weak mobility) là khả năng của hệ thống chỉ có
thể di chuyển mã chƣơng trình giữa các mơi trƣờng thi hành với
nhau. Mã nguồn có thể mang kèm theo một số dữ liệu khởi tạo
nhƣng trạng thái thi hành thì khơng thể di chuyển.

 Trạng thái là môi trƣờng thực thi dữ liệu của tác tử, bao gồm
chƣơng trình đếm và ngăn xếp thực thi. Dữ liệu bao gồm các giá trị
sử dụng của tác tử, nhƣ là tri thức, các file xác định...
b) Phân loại theo mục đích

Tác tử cộng tác: là một phần mềm giúp dùng để giải quyết các

vấn đề
phức tạp nhƣ sửa lỗi, đề nghị nên làm gì tiếp theo và lƣu ý đến những vấn đề


cấp thấp.
− Tác tử giao diện: là một chƣơng trình giao diện trực tiếp, nhƣng khơng

có sự hƣớng dẫn trực tiếp từ ngƣời dùng. Tác tử giao diện đọc dữ liệu ngƣời
dùng nhập vào và có thể tạo ra sự thay đổi tới đối tƣợng trên màn hình. Tác tử
giao diện có thể quan sát nhiều tham số nhập vào của ngƣời dùng trong một
khoảng thời gian nào đó trƣớc khi quyết định thực hiện một hành động.

− Tác tử thơng minh: Có đầy đủ cả 3 mục đích: giao tác, tự động và dễ
thích nghi.
1.2. Nguyên lý hoạt động của tác tử di động
1.2.1. Các phƣơng pháp thực thi mã nguồn trong mơi trƣờng mạng
Có 3 cách thực thi mã nguồn (code)
a) Kỹ thuật pull code: Áp dụng trong mơ hình Client/Server


Bƣớc 1 : Client gửi yêu cầu đến Server



Bƣớc 2 : Server gửi code cho Client



Bƣớc 3 : Code đƣợc thực thi ở Client


Số hóa bởi Trung tâm Học liệu – ĐHTN




~12~

b)

Kỹ thuật push code: Khi có yêu cầu từ ngƣời dùng, một nút trong

mạng sẽ gửi code đến một nút khác trong cùng môi trƣờng mạng và thực thi
trên máy đó. Thao tác này gồm 2 bƣớc :


Bƣớc 1 : Nút A gửi code đến nút B mà khơng có u cầu từ phía B.

Trong mơ hình này, A chỉ là nút có nối mạng với B, khơng cần điều kiện A
phải là Server


Bƣớc 2: Nút B thực thi code và gửi kết quả về cho ngƣời dùng.



Chú ý: ở A vẫn lƣu trữ 1 bản sao của code.

c) Kỹ thuật autonomous code: Code tự quyết định sẽ đi và thực thi ở đâu
− Bƣớc 1: Code sau khi thực thi ở A sẽ tự đóng gói và di trú tới B


ởA


Bƣớc 2: Code thực thi ở B, lúc này code hồn tồn khơng cịn

Tự quyết định đóng gói, khơng để lại bản sao và di trú đến đâu là điểm

khác biệt của tấc tử di động với 2 kỹ thuật trên.
1.2.2. Vòng đời của một tác tử di động
Vòng đời tác tử bắt đầu khi tác tử đƣợc tạo ra trên một host. Khi đó, tác
tử sẽ đƣợc cấp một định danh duy nhất. Tình trạng ban đầu cũng có thể đƣợc
khởi tạo theo. Khi đã sẵn sàng hoặc nhận đƣợc lệnh để di trú đến một host
khác nằm trong đƣờng đi của tác tử, tác tử sẽ lƣu lại trạng thái hiện hành và
tiến hành quá trình di trú. Nếu di trú thất bại, tác tử sẽ tự ngừng hoạt động
(deactivate) để rồi nó sẽ tự kích hoạt lại sau một khỏang thời gian định trƣớc
và sẽ tiến hành lại quá trình di trú đến host khác.
Khi đã di trú đến host mới thành công, tác tử sẽ phục hồi lại trạng thái.
Lúc này, tác tử bắt đầu thực thi nhiệm vụ của nó, sử dụng các dịch vụ trên
host, liên lạc với tác tử khác….
Sau khi tác tử đã hồn tất nhiệm vụ, tác tử có thể bị huỷ hoặc chuyển
sang trạng thái ngủ đông cho đến khi có yêu cầu từ bộ đếm trong thân tác tử.
Khi đó, tác tử sẽ lƣu lại trạng thái và di trú đến một host khác.Vịng đời tác tử
Số hóa bởi Trung tâm Học liệu – ĐHTN




×