Chúng tôi giả định rằng mỗi trang web được đại diện bởi một số nguyên duy nhất; các Speci fi c khổ được sử dụng để chỉ định các số nguyên được mô tả dưới đây. Chúng tôi xây dựng một bảng kề mà giống như một chỉ số đảo ngược; nó có một hàng cho mỗi trang web, với các dòng lệnh của các số nguyên tương ứng. Hàng đối với bất kỳ p trang có chứa một danh sách sắp xếp các số nguyên, mỗi tương ứng với một trang web có liên kết đến p. Bảng này cho phép chúng tôi đáp ứng các truy vấn của các hình thức mà các trang liên kết đến p? Trong thời trang tương tự như chúng ta xây dựng một bảng mà mục là các trang liên kết đến bởi p.
Đại diện bảng này cắt giảm không gian được thực hiện bởi đại diện ngây thơ (trong đó chúng ta một cách rõ ràng đại diện cho mỗi liên kết bởi hai điểm cuối của nó, eacha số nguyên 32-bit) bằng 50%. Mô tả của chúng tôi dưới đây sẽ tập trung vào các bảng cho các liên kết từ mỗi trang; nó nên được rõ ràng rằng các kỹ thuật áp dụng chỉ là tốt để thetableoflinkstoeach page.Tofurtherreduce thestorage forthetable, chúng ta khai thác một số ý tưởng:
Sự tương đồng giữa các danh sách: Nhiều hàng của bảng có nhiều mục chung. Vì vậy, nếu chúng ta một cách rõ ràng đại diện cho một hàng mẫu cho một số hàng sim¬ilar, phần còn lại có thể được cô đọng biểu diễn theo hàng proto¬typical.
Địa phương: Nhiều liên kết từ một trang đi đến "gần" trang - trang trên cùng một máy chủ , Vi dụ như. Điều này cho thấy trong mã hóa các điểm đến của một liên kết, chúng ta thường có thể sử dụng các số nguyên nhỏ và do đó tiết kiệm không gian.
Chúng tôi sử dụng mã hóa khoảng trống trong danh sách được sắp xếp: Thay vì lưu trữ các điểm đến của mỗi liên kết, chúng ta lưu trữ bù đắp từ các entry trước đó ở hàng .
Bây giờ chúng ta phát triển từng kỹ thuật.
Trong một trật tự từ điển của tất cả các URL, chúng tôi đối xử với nhau URL như là một chuỗi chữ và số và sắp xếp các chuỗi. Hình 20.5 cho thấy một phân đoạn của thứ tự sắp xếp này. Đối với một loại tự từ điển thực sự của trang web, phần tên miền của URL nên được đảo ngược, vì vậy mà trở nên www.stanford.edu edu.stanford.www, nhưng điều này là không cần thiết ở đây bởi vì chúng tôi chủ yếu là liên quan với các liên kết đến một địa phương máy chủ duy nhất.
Để mỗi URL, chúng tôi chỉ định vị thế của mình trong trật tự này là các số nguyên nhận dạng duy nhất. Hình 20.6 cho thấy một ví dụ về một số và bảng kết quả. Trong chuỗi ví dụ này, www.stanford.edu/biology isas- ký số nguyên 2 vì nó là thứ hai trong chuỗi.
Tiếp theo chúng ta khai thác một tài sản mà xuất phát từ cách mà hầu hết các trang web được cấu trúc để có được sự tương đồng và địa phương. Hầu hết các trang web có một mẫu với một tập hợp các liên kết từ mỗi trang trong trang web để một tập cố định của các trang trên trang web (chẳng hạn như thông báo của bản quyền, điều khoản sử dụng, vv). Trong trường hợp này, các hàng tương ứng với các trang trong một trang web sẽ có nhiều mục bảng điểm chung. Hơn nữa, theo thứ tự tự từ điển của URL, nó rất có khả năng rằng các trang từ một trang web xuất hiện như là các hàng liền kề nhau trong bảng.
Chúng tôi áp dụng các chiến lược sau: Chúng tôi đi bộ xuống bàn, mã hóa mỗi dòng của bảng trong điều khoản của bảy hàng trước . Trong ví dụ của hình 20.6, chúng tôi có thể mã hóa các hàng ghế thứ tư là "giống như hàng tại offset 2 (mean¬ing, hai hàng trước đó trong bảng), với 9 thay thế bằng 8." Điều này đòi hỏi các đặc điểm kỹ thuật của sự bù đắp, các số nguyên (s) giảm (trong trường hợp này 9) và teger trong- (s) thêm (trong trường hợp này 8). Việc sử dụng chỉ có bảy hàng trước có hai ưu điểm: (i) sự bù đắp có thể được thể hiện với chỉ có 3 bit; sự lựa chọn này được tối ưu hóa thực nghiệm (lý do cho bảy và không tám hàng trước là chủ đề của bài tập 20.4) và (ii) sửa chữa tối đa bù đắp cho một giá trị nhỏ như bảy tránh được việc phải thực hiện một cuộc tìm kiếm tốn kém trong số rất nhiều mẫu ứng cử viên về để diễn tả hàng hiện tại.
Nếu không có trước bảy hàng là một nguyên mẫu tốt cho express¬ing hàng hiện tại? Điều này sẽ xảy ra, ví dụ, ở mỗi ranh giới be¬tween trang web khác nhau như chúng tôi đi bộ xuống các hàng của bảng. Trong trường hợp này, chúng tôi chỉ đơn giản là thể hiện hàng như bắt đầu từ tập rỗng và "thêm vào" mỗi số nguyên trong hàng đó. Bằng cách sử dụng mã hóa để lưu trữ khoảng cách các khoảng trống (chứ không phải là số nguyên thực tế) trong mỗi hàng, và mã hóa những khoảng cách chặt chẽ dựa trên việc phân phối các giá trị của họ, chúng ta có được giảm không gian thêm. Trong ex¬periments nêu tại mục 20.5, hàng loạt các kỹ thuật nêu ở đây xuất hiện để sử dụng càng ít càng 3 bit cho mỗi liên kết, trên trung bình -. Giảm đáng kể từ 64 yêu cầu trong biểu diễn ngây thơ
Mặc dù những ý tưởng cung cấp cho chúng tôi là một đại diện của khá lớn đồ thị web thoải mái phù hợp trong bộ nhớ, chúng ta vẫn cần phải hỗ trợ các truy vấn kết nối. Những gì được lồng trong việc lấy từ đại diện này tập hợp các liên kết từ một trang? Đầu tiên, chúng ta cần một tra cứu chỉ số từ (một hash của) các URL để số lượng hàng của mình trong bảng. Tiếp theo, chúng ta cần phải xây dựng lại các mục, trong đó có thể được mã hóa trong các điều khoản của các mục trong các hàng khác. Điều này đòi hỏi sau đây offsets để tái tạo lại các hàng khác - một quá trình mà theo nguyên tắc có thể dẫn qua nhiều cấp độ về mình. Trong thực tế, tuy nhiên, điều này không xảy ra rất
thường xuyên. Một heuristic cho việc kiểm soát này có thể được giới thiệu vào việc xây dựng các bảng: Khi kiểm tra trước bảy hàng là ứng cử viên mà từ đó để mô hình hàng hiện tại, chúng tôi yêu cầu một ngưỡng tương be¬tween hàng hiện tại và nguyên mẫu ứng cử viên. Ngưỡng này phải được lựa chọn cẩn thận. Nếu ngưỡng được đặt quá cao, chúng tôi ít khi sử dụng nguyên mẫu và thể hiện nhiều hàng lại từ đầu. Nếu ngưỡng này là quá thấp, hầu hết các hàng được ex¬pressed về các nguyên mẫu, vì vậy ở thời gian truy vấn việc tái thiết của một hàng dẫn đến nhiều cấp độ về mình thông qua các nguyên mẫu trước.
R Exercise 20.4 Chúng tôi lưu ý rằng hiện liên tiếp trong các điều khoản của một trong bảy hàng pre¬ceding cho phép chúng ta sử dụng không quá ba bit để xác định các hàng trước, chúng tôi đang sử dụng như là nguyên mẫu. Tại sao bảy và tám hàng không trước? (Gợi ý:. Xem xét trường hợp khi không có vị trước bảy hàng là một nguyên mẫu tốt)
Tập thể dục 20,5 Chúng tôi lưu ý rằng đối với các đề án trong Mục 20.4, giải mã các sự cố liên kết trên một URL có thể dẫn đến nhiều cấp độ về mình. Xây dựng một ví dụ trong đó số lượng các mức gián tiếp tăng tuyến tính với số lượng các URL.
Tài liệu tham khảo và đọc thêm
Crawler web đầu tiên xuất hiện là Matthew Gray giang hồ, được viết vào mùa xuân năm 1993. Các Mercator bánh xích là do Najork và Heydon (Najork và Heydon 2001, 2002); điều trị trong chương này sau công việc của họ. Giới thiệu đầu kinh điển khác của web crawling bao gồm Burner (1997), Brin và Page (1998), Cho et al. (1998), và những người sáng tạo của sys¬tem Webbase tại Stanford (Hirai et al. 2000). Cho và Garcia-Molina (2002) đưa ra một nguyên tắc phân loại và nghiên cứu so sánh các phương thức liên lạc khác nhau bettween các nút của một trình thu thập phân. The Robots Exclusion Protocol stan¬dard được mô tả tại www.robotstxt.org/wc/exclusion.html. Boldi et al. (2002) và Shkapenyuk và Suel (2002) cung cấp thêm chi tiết gần đây thực hiện trên quy mô lớn phân phối thu thập web.
Thảo luận của chúng tôi về độ phân giải DNS (Phần 20.2.2) sử dụng các quy ước hiện hành đối với các địa chỉ Internet, gọi là IPv4 (đối với phiên bản Internet Protocol 4); mỗi địa chỉ IP là một dãy bốn byte. Trong tương lai, các quy ước cho các địa chỉ (gọi chung là các không gian địa chỉ internet) có thể sẽ sử dụng một tiêu chuẩn mới được gọi là IPv6 (www.ipv6.org/).
Tomasic và Garcia-Molina (1993) và Jeong và Omiecinski (1995 ) là giấy tờ quan trọng đầu đánh giá phân vùng hạn so với phân vùng tài liệu cho các chỉ số phân phối. Phân vùng tài liệu được tìm thấy là tốt, ít nhất là khi sự phân bố của các điều khoản bị lệch, vì nó thường là trong thực tế. Kết quả này đã thường được khẳng định trong công việc gần đây (MacFarlane et al. 2000). Nhưng kết quả phụ thuộc vào các chi tiết của hệ thống phân phối;
ít nhất một chủ đề của tác phẩm đã đi đến kết luận ngược lại (Ribeiro- Neto và Barbosa 1998; Badue et al 2001.). Sornil (2001) lập luận cho một lược đồ phân vùng đó là một lai giữa từ ngữ và phân vùng tài liệu. Barroso et al. (2003) mô tả các phương pháp phân phối sử dụng ở Google. Việc thực hiện đầu tiên của một máy chủ kết nối được mô tả bởi Bharat et al. (1998). Đề án được thảo luận trong chương này, hiện đang được cho là phương án tốt nhất đã xuất bản (đạt vài như là 3 bit cho mỗi liên kết để mã hóa), được mô tả trong một loạt các giấy tờ bằng Boldi và Vigna (2004a, 2004b).
đang được dịch, vui lòng đợi..
