6. Cấu trúc của luận vă n
3.3.1. Cấu trúc thư mục làm việc của Nutch
Một phiên làm việc của Nutch được lưu trữ dưới dạng cây thư mục (Hình 3.3). Trong đĩ:
a. CrawlerDB
CrawlerDB là cơ sở dữ liệu về các trang đã biết và đã được duyệt. Crawler lưu trữ thơng tin về từng trang như: trạng thái, thời gian của lần duyệt cuối cùng, lấy về cĩ thành cơng khơng, khoảng thời gian giữa hai lần duyệt, mã hĩa nội dung của trang,... CrawlerDB được tổ chức dưới dạng map file gồm các bản ghi cĩ trường
um CrawlerDat ,
URL , URL sử dụng kiểu dữ liệu text của Hadoop để lưu trữ địa chỉ
(24) http://www.lucence/apache.com/nutch
của trang. CrawlerDatum là một lớp của Nutch để lưu trữ trạng thái của một trang gồm cĩ các thơng tin ở trên.
CrawlerDB được khởi tạo bởi Ịnjector. Ịnector đơn giản chỉ chuyển một tệp văn bản chứa các trang hạt giống (seed URL) sang dạng map file URL,Crawler . Trong quá trình thu thập tài liệu, Crawler được cập nhật sau mỗi chu kỳ bằng các địa chỉ đã
được lấy về và các địa chỉ mới được trích rút ra.
Hình 3.3: Cấu trúc thư mục làm việc của Nutch Crawler.
b. LinkDB
LinkDB lưu trữ thơng tin về đồ thị link sau khi một phiên làm việc kết thúc. LinkDB được tổ chức dưới dạng map file URL,Inlinks trong đĩ Inlinks là một lớp của Nutch chứa danh sách các địa chỉ và anchor text trỏ tới URL.
LinkDB khơng cĩ sẵn mà được tạo ra bằng cách sử dụng mơ hình MapReduce của Hadoop. LinkDB rất cĩ ích trong việc huấn luyện cho crawler hoặc tính độ quan trọng của một trang tài liệu (page ranking).
c. Segments
Mỗi segment lưu trữ dữ liệu của một chu kỳ. Mỗi segment sẽđược lưu trữ vào trong một thư mục cĩ tên được ghi theo dạng năm-tháng-ngày-giờ-phút-giây. Chẳng hạn, một chu kỳ bắt đầu làm việc vào lúc 11 giờ 20 ngày 10 tháng 5 năm 2010, khi đĩ dữ liệu của chu kỳ này sẽđược chứa trong một thư mục cĩ tên: 20100510112036. Mỗi segment chịu trách nhiệm thu thập một tập các trang và trích rút ra các thơng tin cần thiết. Segment được tổ chức với các thư mục con như sau:
Content:
Chứa dạng dữ liệu gốc (raw) của các trang được lấy về, được tổ chức dưới dạng map file URL,Content . Content là một lớp của Nutch chứa thơng tin dưới dạng gốc của một trang.
Crawl_generate:
Chứa danh sách địa chỉ các trang được lấy về trong chu kỳ làm việc này. Danh sách được lấy ra từ crawlerDB bởi Generator và được tổ chức dưới dạng file tuần tự URL,CrawlDatum .
Crawler_fetch:
Chứa thơng tin về các địa chỉ trong crawl_generate sau khi lấy về, được lưu trữ dưới dạng map file URL,CrawlDatum . Danh sách URL trong
fetch _
crawl giống như trong crawl_generate chỉ cĩ CrawlDatumđược cập nhật các thơng tin về việc download cĩ thành cơng hay khơng, thời gian download,... Thơng tin trong crawl_fetch chính là thơng tin dùng để cập nhật cho CrawlDB sau mỗi chu kỳ.
Crawl_parse:
Được tổ chức dưới dạng file tuần tự URL,CrawlDatum , là các địa chỉ mới
được lấy ra sau quá trình trích rút các trang mới được lấy về. Thơng tin về các trang mới này được bổ sung vào cho CrawlDB để mở rộng cơ sở dữ liệu link phục vụ cho các chu kỳ hoạt động sau.
Parse_date:
Lưu trữ dạng map file URL,ParseData . ParseDate là một lớp của Nutch lữu trữ thơng tin (URL ,anchortext) về các out-link xuất phát từ URL. Các out-link này đồng thời được lưu trữ trong crawl_ parse. Anchor text của các out-link là cơ sởđể "nhìn trước" tiềm năng trong quá trình thu thập thơng tin.
Parse_text:
Các trang khi đã được tải về và cắt bỏ hết thơng tin thừa chỉ cịn lại là dạng văn bản. Lưu trữ dạng map file URL,ParseText , trong đĩ ParseText chứa dạng văn bản của URL.
d. Index và Indexes
Hai thư mục này sinh ra sau khi quá trình đánh chỉ mục được thực hiện. Hai thư
mục này chứa các chỉ mục trỏ tới dữ liệu trong các segment cụ thể.