Kho chứa URL

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống khảo duyệt web phân tán và thu thập dữ liệu phục vụ các hệ hỗ trợ quyết định luận văn ths công nghệ thông tin (chương trình đào tạo thí điểm) (Trang 27 - 28)

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.1. Kho chứa URL

Frontier là danh sách các công viẹ c cần làm của mọ t crawler, nó chứa các URL của các trang web chu a đu ợc tha m. Trong thuạ t ngữ tìm kiếm đồ thị, frontier là mọ t danh sách mở các nút chu a đu ợc mở rọ ng (chu a đu ợc tha m). Mạ c dù có thể có nhu cầu phải lu u các frontier lên đĩa đối với các crawler rất lớn, ở đây để đo n giản hóa chúng tôi chỉ giới thiẹ u frontier nhu là các cấu trúc dữ liẹ u trong bọ nhớ trong. Dựa trên dung lu ợng bọ nhớ có thể, ta có thể quyết định kích thu ớc cực đại của frontier. Dựa vào dung lu ợng lớn của bọ nhớ máy tính ngày nay, kích thu ớc mọ t frontier vào khoảng 100,000 url không phải là hiếm. Do các frontier chỉ có kích thu ớc giới hạn ta cần có mọ t co chế để quyết định URL nào cần bị bỏ qua khi số lu ợng URL trên frontier đạt tới giới hạn đó. Cần phải lu u r ng frontier có thể bị đầy nhanh ho n nhiều so với số lu ợng trang web đu ợc duyẹ t. Ta có thể có tới khoảng 60,000 url trong frontier khi mới duyẹ t đu ợc khoảng 10,000 trang web do trung bình có khoảng 7 liên kết trong mọ t trang web.

Frontier có thể đu ợc thực thi nhu mọ t hàng đợi FIFO nếu ta muốn xây dựng mọ t crawler theo duyẹ t chiều rọ ng (breadth-first) để duyẹ t web theo chiến lu ợc mù (blindly). URL cần đu ợc duyẹ t tiếp theo đu ợc lấy từ đỉnh của hàng đợi và các URL mới đu ợc thêm vào cuối hàng đợi. Do kích thu ớc hạn chế của frontier, chúng ta cần phải đảm bảo là không thêm các URL lạ p lại vào hàng đợi. Do vạ y mọ t co chế tìm kiếm tuyến tính để tìm ra mọ t URL mới đu ợc trích ra từ nọ i dung của url đang đu ợc duyẹ t có n m trên frontier chu a là rất cần thiết. Mọ t giải pháp đu ợc đu a ra là định vị mọ t lu ợng bọ nhớ cần thiết để duy trì mọ t bảng ba m riêng (với khóa là URL) để lu u giữ mỗi mọ t URL của frontier để thuạ n lợi cho viẹ c tìm kiếm. Bảng ba m này phải đu ợc giữ đồng bọ với frontier thực sự. Mọ t giải pháp khác tốn nhiều thời gian ho n là duy trì bản thân hàng đợi đó nhu mọ t bảng ba m (cũng với khóa là URL). Điều này cung cấp mọ t cách tìm kiếm nhanh chóng để tránh viẹ c lu u lạ p lại các URL. Tuy nhiên, mỗi lần crawler cần mọ t URL để duyẹ t, nó cần phải tìm kiếm và lấy ra URL mới đu ợc đu a vào frontier gần đây nhất. Nếu bọ nhớ không phải là vấn đề nổi

thu ớc tối đa, thì crawler theo chiều rọ ng chỉ có thể thêm duy nhất mọ t URL chu a đu ợc tha m từ mỗi trang web đã đu ợc duyẹ t.

Nếu phần frontier đu ợc thực thi nhu mọ t hàng đợi u u tiên chúng ta có mọ t crawler u u tiên hay còn gọi là crawler tốt nhất đầu tiên (best-first crawler). Hàng đợi u u tiên có thể là mọ t mảng đọ ng luôn đu ợc sắp xếp theo đọ đo đu ợc đánh giá của các URL chu a đu ợc tha m. Tại mỗi bu ớc, URL tốt nhất đu ợc lấy ra ở đầu hàng đợi. Mọ t khi trang web tu o ng ứng đu ợc nạp, các url liên kết từ nó đu ợc lấy ra và đu ợc đánh giá dựa trên mọ t số kinh nghiẹ m. Sau đó chúng lại đu ợc thêm vào frontier tại các vị trí phụ thuọ c vào đọ đo đó. Chúng ta có thể tránh viẹ c thêm mọ t cách lạ p lại các URL trong frontier b ng cách giữ mọ t bảng ba m riêng biẹ t để tìm kiếm. Khi frontier đạt tới kích thu ớc tối đa là max, chỉ có max URL tốt nhất đu ợc giữ lại trong frontier.

Nếu chu o ng trình crawler nhạ n thấy frontier là rỗng trong khi nó cần URL tiếp theo để duyẹ t, quá trình crawling sẽ ngừng lại. Với mọ t giá trị max lớn và mọ t vài URL hạt nhân thu ờng frontier rất hiếm khi đạt tới trạng thái rỗng.

Tại mọ t số thời điểm, mọ t crawler có thể gạ p mọ t bẫy nhẹ n (spider trap) mà dẫn nó tới mọ t số lu ợng lớn các URL khác nhau cùng trỏ tới mọ t trang web. Ta có thể hạn chế điều này b ng cách hạn chế số lu ợng các trang web mà crawler truy cạ p tới từ mọ t tên miền xác định. Đoạn mã lẹ nh liên quan tới frontier có thể đảm bảo r ng mọi chuỗi k URL liên tiếp (thu ờng k=100), đu ợc lấy ra bởi crawler, chỉ chứa duy nhất mọ t địa chỉ URL chuẩn hóa. Điều này sẽ tránh đu ợc viẹ c crawler phải truy cạ p cùng mọ t web site quá nhiều lần, và nọ i dung các trang web tải đu ợc sẽ có xu hu ớng khác biẹ t nhiều ho n.

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng hệ thống khảo duyệt web phân tán và thu thập dữ liệu phục vụ các hệ hỗ trợ quyết định luận văn ths công nghệ thông tin (chương trình đào tạo thí điểm) (Trang 27 - 28)

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

(76 trang)