Kiến trúc chung của crawler song song

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng Search Engine (Trang 36 - 38)

Các C-proc có thể được phân tán trong mạng cục bộ (intra-site parallel crawler) hay các mạng có vị trí địa lý khác nhau, mạng WAN, Internet (distributed crawler). Đối với distributed crawler, việc giao tiếp giữa các crawlers sẽ gặp khó khăn do các crawlers ở xa nhau và tốc độ mạng giữa chúng bị giảm đáng kể và có giới hạn (tốc độ mạng Internet) so với intra-site.

Khi tải các trang Web, các crawlers có thể cùng nhau viếng thăm một trang Web (hiện tượng overlap). Để hạn chế hiện tượng này, một số phương pháp được đưa ra bao gồm:

Independent: Các C-proc crawl một cách độc lập với tập các URLs ban đầu khác nhau. Các C-proc không cần phải quan tâm đến các C-proc khác làm gì. Như vậy có thể dẫn đến overlap nhưng do tập các URLs ban đầu của các C-proc là các URLs có nguồn gốc khác nhau nên hy vọng rằng hiện tượng overlap là không đáng kể. Ưu điểm của phương pháp này là sự giao tiếp và kết hợp các C-proc giảm tối thiểu.

Dynamic assignment: Là phương pháp mà trong đó bộ điều phối trung tâm (central coodinator) chia nhỏ Web thành các phần (partition) và giao cho các C-proc

tiến hành crawl vào bất cứ lúc nào (dynamic). Trong quá trình crawl, bộ điều phối sẽ quyết định sẽ crawl phần nào của Web tiếp theo (gửi URLs khởi đầu cho C-proc nào đó). Ngay sau khi nhận được URLs khởi đầu, C-proc sẽ thực hiện crawl phần tương ứng. Khi gặp một URL của phần khác C-proc báo lại URL này cho trung tâm điều phối và URL này được dùng làm URL khởi đầu cho vùng tương ứng.

Static assignment: Không giống như dynamic assignment, các phần của Web được giao cho các C-proc trước khi bắt đầu quá trình crawl. Như vậy mỗi C-proc biết được C-proc nào đáp ứng cho trang nào trong quá trình crawl, do đó không cần phải có bộ điều phối trung tâm.

1.5.3.3. Các tiêu chí chia phần Web

Trong các phương thức nêu trên, mỗi C-proc đều được giao nhiệm vụ crawl một phần nào đó của Web. Làm thế nào để chia phần Web một cách hợp lý nhất là nội dung của phần này. Sau đây là một số tiêu chí sử dụng để chia nhỏ Web thành các phần:

URL-hash based: Cho một URL nào đó, căn cứ vào giá trị hash tính toán được đối với URL này (giá trị hash được tính toán theo hàm hash) mà nó được giao cho một

C-proc nào đó thỏa mãn giá trị hash. Do tính giá trị hash của URL nên có thể dẫn đến hiện tượng các trang Web của cùng một site được giao cho các C-proc khác nhau cũng như xuất hiện nhiều liên kết ngoài (do các trang Web của cùng một site thường liên kết tới nhau).

Site-hash based: Thay vì tính giá trị hash dựa trên toàn bộ URL, các tính toán được thực hiện trên trên tên site (ví dụ cnn.com thay vì http://cnn.com/index.html). Với cách này thì số lượng các liên kết ngoài chỉ còn là liên kết từ site này sang site khác.

Hierachical: Không tính toán giá trị hash mà dựa trên cấu trúc phân cấp của Web, đó là ý tưởng của tiêu chí này. Ví dụ như chúng ta chia phần Web thành ba phần (các domain dạng .net, dạng .com, và các dạng còn lại).

1.5.4. Làm tƣơi trang Web (pages refresh)

Một khi các trang Web mà crawler cho là quan trọng đã được tải về và đánh chỉ mục. Nó có nhiệm vụ làm tươi các trang Web đó một cách định kỳ để đảm bảo sự cập nhật của chúng. Có nhiều cách thức để thực hiện điều này và các chiến lược sử dụng khác nhau sẽ có các kết quả khác nhau về mức độ tươi của các trang Web. Hai chiến lược sau đây là minh chứng cho điều này:

Uniform refresh policy: Crawler không quan tâm đến tốc độ thay đổi khác nhau của các trang Web khác nhau mà tiến hành làm tươi các trang Web mà nó có được với

tần suất làm tươi (refesh frequency) giống nhau.

Proportional refresh policy: Crawler viếng thăm lại các trang Web với tần suất khác nhau, tùy thuộc vào tốc độ thay đổi của chúng. Các trang Web hay thay đổi sẽ được viếng thăm thường xuyên hơn. Giả sử λi là tần số thay đổi của trang Web eifi

là tần suất mà crawler viếng thăm trang Web đó. Khi đó tỷ số λi/fi có giá trị như nhau đối với mọi trang Web mà crawler biết. Một trang Web có tốc độ thay đổi nhanh gấp

10 lần trang khác thì tần suất viếng thăm nó cũng phải lớn gấp 10 lần tần suất viếng thăm trang Web kia.

1.5.4.1. Các chiến lược làm tươi

Lấy một ví dụ đơn giản về crawler có nhiệm vụ duy trì tập S gồm 2 trang Web

e1 (thay đổi 9 lần trong 1 ngày) và e2 (thay đổi 1 lần trong 1 ngày). Mục đích của chúng ta là làm sao cho S luôn cập nhật nhất. Hình 17 cho ta một phương pháp đơn giản. Đối với e1, một ngày được chia thành 9 khoảng thời gian, còn đối với e2 thì con số đó là 1. Chúng ta không biết chính xác thời điểm mà các trang Web được thay đổi.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Xây dựng Search Engine (Trang 36 - 38)

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

(102 trang)