Thiết kế module phải thoả các yêu cầu sau :
Đảm bảo vai trò của web robot trong hệ thống : tìm kiếm liên kết, thu thập thông tin, tạo và duy trì cơ sở dữ liệu.
Không ảnh hưởng đến hoạt động của các module khác.
Nhìn chung quy trình hoạt động của web robot đều giống nhau. Tuy nhiên, các ứng dụng hỗ trợ những tính năng khác nhau sẽ có sự thay đổi về quy trình hoạt động.
Các bước xử lý :
(2) Nếu vẫn còn URL chưa xử lý và user không chọn chức năng tạm dừng (pause)
Qua (3)
ngược lại qua (14) (3) Lấy URL đầu tiên.
Nếu lấy được qua (4) ngược lại quay lại (2) (4) Lưu thông tin cũ (5) Kết nối vớI server
Nếu kết nối được qua (6) ngược lại
Thêm URL vào danh sách hỏng
Cập nhật trạng thái của URL trong CSDL = BROKEN Đánh dấu URL đã xử lý trong CSDL.
Nếu truy xuất CSDL không được Đưa URL này trở lại hàng đợi. Quay lại (2)
(6) Huỷ URL ra khỏi danh sách hỏng nếu URL nằm trong danh sách đó. (7) So sánh với thông tin cũ
Nếu giống qua (8) ngược lại
(8) Đánh dấu URL tốt ( trạng thái = GOOD ) (9) Thêm URL vào danh sách đã xử lý. (10)Đây là file HTML ?
Nếu cần phân tích lại thì tiến hành phân tích. (11)Thoả yêu cầu download của quản trị ?
Nếu thoả
Download
Trả kết quả về để hiện thị thông tin đã xử lý Qua (12)
ngược lại
Quay lại (2)
(12)Ghi nhận thông tin mới xuống CSDL gồm : Cập nhật thông tin mới cho URL
Đánh dấu URL đã được xử lý. Nếu truy xuất CSDL không được
Gán lại thông tin cũ cho URL Xóa URL khỏi danh sách đã xử lý. Thêm URL vào lại hàng đợi
Quay lại (2) (13)Đủ số spider chưa ?
Tạo thêm Tạm dừng Quay lại (2) (14)Đã hết URL chưa ?
Nếu chưa (ứng dụng dừng do user chọn pause) Qua (15)
ngược lại
Đánh dấu StartURL đã thực hiên xong (processStatus = DONE)
(15)Kết thúc.
Giải thích thêm về thuật toán :
Khi phân tích file HTML, ta dò tìm các liên kết và những thông tin cần thiết để cập nhật bảng URL trong CSDL.
Những liên kết tìm được muốn vào hàng đợi trước tiên nó phải là URL chưa được xử lý lần nào và không có trong danh sách đang đợi xử lý, sau đó phải qua tiền xử lý.
Thuật toán chỉ xem xét danh sách đợi và danh sách đã thực hiện nhưng không xét danh sách bị hỏng nhằm tạo điều kiện để sửa chữa URL hỏng nếu có 1 URL khác liên kết tới nó. Trong trường hợp không có URL nào liên kết tới nó, quản trị vẫn biết nó bị hỏng do trạng thái này đã được ghi nhận trước đó.
Số spider tạo thêm = min ( số liên kết hiện có, số spider theo yêu cầu ). Ta luôn có lượng spider vừa đủ dùng, nhờ vậy mà tránh lãng phí tài nguyên hệ thống do mỗi spider cần khá nhiều tài nguyên cho hoạt động của mình. Các bước tiền xử lý 1 URL tìm được :
(1) Tuỳ theo yêu cầu của quản trị mà ta kiểm tra URL mới, ví dụ : cùng thư mục gốc, cùng site,…
Nếu thoả yêu cầu Qua (2) ngược lại
Trả về thông tin cho biết không tiếp tục xét URL này. (2) Kiểm tra độ sâu liên kết
Nếu chưa vượt quá giới hạn Qua (3)
ngược lại
Trả về thông tin cho biết không tiếp tục xét URL này.
(3) Kiểm tra dạng file (content type)của URL có nằm trong danh sách các dạng file cần download hay không ?
Nếu có
Trả về thông tin cho biết tiếp tục xét URL này. ngược lại