Quá trình thực thi tìm kiếm

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CÔNG CỤ EDITOR WORKFLOW CHO ỨNG DỤNG TÌM KIẾM DẠNG META-HEURISTIC (Trang 29)

Quá trình thực thi tìm kiếm sẽ phụ thuộc vào từng dạng lớp điều khiển workflow.

Đối với workflow tuần tự, các tác vụ tìm kiếm sẽ thực thi tuần tự trên máy tính cục bộ như một ứng dụng đơn bình thường. Các đối tượng được tạo ra chỉ là các đối tượng C++.

Chương 3. Thư viện Meta-heuristic

Khi sử dụng workflow song song, các tác vụ tìm kiếm có thể thực thi đồng thời với nhau nếu có đồng thời nhiều tác vụ sẵn sàng dữ liệu và có đủ tài nguyên tính toán. Các đối tượng được tạo ra là các đối tượng song song của POP-C++, có thể phân bố trên nhiều máy tính khác nhau.

Lớp điều khiển workflow sẽ lần lượt thực thi các tác vụ tìm kiếm đã sẵn sàng. Tại một thời điểm, nếu có nhiều tác vụ tìm kiếm sẵng sàng dữ liệu thì lớp điều khiển sẽ cố gắng tìm tài nguyên để thực thi toàn bộ các tác vụ đó.

Nghiệm ban đầu của một tác vụ tìm kiếm do lớp tìm kiếm lựa chọn. Nếu tác vụ không phụ thuộc dữ liệu vào các lớp khác, nó sẽ nhận nghiệm ban đầu do người dùng cung cấp; nếu nó phụ thuộc dữ liệu vào các tác vụ khác, nó sẽ nhận một trong các nghiệm đó. Nếu có nhiều hơn 1 nghiệm ban đầu cho một tác vụ tìm kiếm, lớp điều khiển sẽ tổng hợp các nghiệm đó lại cho tác vụ tìm kiếm tiếp theo.

Để theo dõi các tác vụ tìm kiếm đã kết thúc hay chưa, thư viện sử dụng cơ chế polling để kiểm tra trạng thái các đối tượng tìm kiếm. Khi phát hiện một tác vụ hoàn thành, thư viện sẽ tiến hành lấy nghiệm về, giải phóng tài nguyên, sau đó kiểm tra lại sự phụ thuộc dữ liệu giữa các tác vụ để thực thi tác vụ tiếp theo.

Trong trường hợp bị lỗi, lớp điều khiển sẽ cố gắng thử lại một số lần. Nếu lỗi không thể phục hồi được, tác vụ sẽ bị đánh dấu là thất bại. Các tác vụ phụ thuộc trên tác vụ này vẫn có thể thực thi nếu nó có các nghiệm khác.

Một phần của tài liệu đồ án công nghệ thông tin XÂY DỰNG CÔNG CỤ EDITOR WORKFLOW CHO ỨNG DỤNG TÌM KIẾM DẠNG META-HEURISTIC (Trang 29)

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

(98 trang)
w