CHƢƠNG 2 MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU
2.1. Kiến trúc chung của hệ thống Web Crawler
2.1.2. Lịch sử viếng thăm và kho chứa các trang web
Phần lịch sử viếng thăm của crawler là mọ t danh sách đọ ng các URL đã đu ợc nạp bởi crawler. Nó chứa các đu ờng dẫn mà crawler đã đi qua bắt đầu từ trang hạt nhân. Mọ t URL đầu vào chỉ đu ợc tạo trong phần lịch sử sau khi trang web tu o ng ứng đã đu ợc nạp. Phần này đu ợc sử dụng cho viẹ c phân tích và đánh giá các trang web sau này. Ví dụ, chúng ta có thể gắn cho mỗi trang web mọ t giá trị trên đu ờng dẫn và xác định các sự kiẹ n có nghĩa (ví dụ nhu viẹ c khám phá ra mọ t nguồn lực quan trọng). Trong mọ t số tru ờng hợp phần lịch sử đu ợc lu u trữ ở bọ nhớ ngoài, nhu ng nó cũng có thể đu ợc duy trì nhu mọ t cấu trúc dữ liẹ u trong bọ nhớ trong. Điều
đu ợc duyẹ t hay chu a. Viẹ c kiểm tra này là rất quan trọng để tránh đi tha m lại các trang web, và do đó tránh viẹ c thêm các URL đã đu ợc duyẹ t vào trong frontier có kích thu ớc giới hạn. Cũng với l do tu o ng tự, viẹ c chuẩn hóa các URL tru ớc khi thêm chúng vào lịch sử cũng rất quan trọng.
Khi trang web đã đu ợc tải, nó có thể đu ợc lu u trữ, đánh chỉ số để phục vụ cho ứng dụng chính (ví dụ mọ t máy tìm kiếm). Ở dạng đo n giản nhất, mọ t kho chứa các trang web có thể có thể lu u các trang web đã đu ợc crawl nhu các file riêng biẹ t. Trong tru ờng hợp đó, mỗi trang phải đu ợc ánh xạ tới mọ t tên file duy nhất. Mọ t cách để thực hiẹ n điều này là ánh xạ URL của mỗi trang tới mọ t chuỗi n n b ng cách sử dụng mọ t dạng hàm ba m với xác xuất xung đọ t thấp (để đảm bảo tính duy nhất của tên file). Các giá trị ba m đu ợc sử dụng làm các tên file. Ví dụ có thể sử dụng hàm ba m mọ t chiều MD5 để cung cấp mã ba m 128 bit cho mỗi URL. Giá trị ba m 128 bit sau đó đu ợc chuyển thành 32 k tự ở dạng co số 16 tu o ng ứng. Theo cách này ta sẽ có các tên file có chiều dài cố định cho các URL có đọ dài bất kỳ. Các kho chứa nọ i dung trang web có thể đu ợc sử dụng để kiểm tra liẹ u mọ t URL đã đu ợc crawl tru ớc đó hay chu a b ng cách chuyển URL đó sang 32 k tự thạ p lục phân và kiểm tra sự tồn tại của nó trong kho chứa. Trong mọ t số tru ờng hợp, điều này có thể dẫn tới sự không cần thiết của cấu trúc dữ liẹ u lịch sử trong bọ nhớ trong.