Kiến trúc hệ thống D-Apoidea

Một phần của tài liệu Sử dụng thông tin gần kề vị trí trong khảo duyệt Web theo phương thức mạng ngang hàng (Trang 75)

Hệ thống D-Apoidea là hệ thống khảo duyệt web theo mô hình ngang hàng, sử dụng mô hình mạng phủ D-Chord và là sự kết hợp giữa hệ thống Apoidea và bảng băm phân tán LDHT (đƣợc đề cập ở chƣơng 3). Hệ thống D-Apoidea áp dụng bảng băm phân tán LDHT cho vòng L-Chord để phản ánh đƣợc cấu trúc mạng vật lý, và áp dụng mô hình mạng Apoidea cho vòng V-Chord. Hệ thống D-Apoidea tổng hợp các ƣu điểm của hệ thống Apoidea và mô hình mạng phủ LDHT, đồng

thời dựa vào mô hình mạng phủ D-Chord, chúng tôi đƣa ra cơ chế lựa chọn nút chịu trách nhiệm khảo duyệt nhằm tăng tốc độ khảo duyệt web của hệ thống.

Hình 22. Mô hình hệ thống D-Apoidea

4.2.1 Ánh xạ một nút vào mạng D-Apoidea

Một nút mới có thể gia nhập vào hệ thống bằng cách liên hệ với một nút trong hệ thống mạng. Có một số phƣơng pháp bootstrap để xác định một nút mới gia nhập. Giả thiết rằng dịch vụ có liên kết với một tên miền DNS. DNS sẽ chịu trách nhiệm xử lý ánh xạ tên miền với địa chỉ IP của một hoặc nhiều nút bootstrap. Một nút bootstrapduy trì một danh sách các nút hiện đang có trong hệ thống. Để gia nhập vào hệ thống D-Apoidea để khảo duyệt web, một nút mới tìm kiếm tên miền trên hệ thống DNS để lấy đƣợc địa chỉ IP của nút bootstrap. Nút mới gia nhập sẽ kết nối đến bút bootstraping, thực hiện thủ tục khởi tạo và tham gia vào hệ thống. Các thủ tục này đã đƣợc đề cập đến trong phần giới thiệu mạng phủ D-Chord.

4.2.2 Chọn nút chịu trách nhiệm tên miền D

Vòng V-Chord sử dụng mô hình Apoidea, tức là vòng V-Chord dựa trên DHT để phân phối không gian WWW giữa các nút trên mạng. Nút P chịu trách nhiệm về tất cả URL có tên miền băm thuộc vùng chịu trách nhiệm của nút P.

Giả sử rằng có 3 nút trong hệ thống, nút A, B và C. Địa chỉ IP của chúng đƣợc băm thành m không gian bit, và do đó sẽ xác định có ba điểm trên vòng V- Chord. Sau đó nhiều tên miền cũng đƣợc băm vào không gian này và chúng cũng sẽ giữ một số vị trí trong không gian đó. Nút A sẽ chịu trách nhiệm không gian

A A B B C D D E Apoidea LDHT

giữa nút C và chính nó. Nút B phụ trách không gian giữa nút A và B và nút C chịu trách nhiệm trên phần c ̣òn lại tức giữa C và B. Nhƣ theo hình ví dụ, nút A quản lý miền www.gatech.edu. Do đó, nút A sẽ chi thực hiện khảo duyệt trên tất cả địa chỉ URL thuộc tên miền này. Nếu có bất kỳ nút nào khác thu thập địa chỉ URL thuộc về tên miền này, có sẽ tập hợp các địa chỉ URL lại và định kỳ gửi chúng đến cho nút A.

Hình 23. Mô hình phân chia công việc trên vòng V-Chord

Khi nút n thu thập một địa chỉ URL thuộc tên miền D. Nó sẽ băm tên miền D để lấy giá trị V-id của tên miền trên vòng V-Chord. Sau đó nút n sẽ sử dụng phƣơng thức V_find_successor(V-id) để tìm nút n’ trên vòng V-Chord chịu trách nhiệm với tên miền D, n’ chính là nút chịu trách nhiệm với tên miền D.

4.2.3 Chọn nút chịu trách nhiệm khảo duyệt tên miền D

Sau quá trình chọn nút chịu trách nhiệm tên miền D, thông tin tên miền D và danh sách các URL có liên quan sẽ đƣợc gửi đến nút P, là nút chịu trách nhiệm quản lý tên miền D. Sau đó, nút P sẽ tìm nút chịu trách nhiệm khảo duyệt tên miền D.

Do vòng L-Chord sử dụng theo mô hình LDHT, nên các nút có cùng ASN thì sẽ đƣợc ở gần nhau trên vòng L-Chord. Ý tƣởng của chúng tôi là tìm nút khảo duyệt là nút có cùng ASN với server của tên miền D, còn trong trƣờng hợp không có nút có cùng ASN thì sẽ tìm nút nhanh nhất trong một tập hữu hạn l nút.

Trƣớc hết, nút P sẽ băm tên miền D theo thuật toán của bảng băm phân tán LDHT để tìm giá trị L-id của tên miền trên vòng L-Chord. Nút P sử dụng phƣơng thức L_find_successor(L-id) để tìm trên vòng L-Chord nút Q chịu trách nhiệm với giá trị L-id. Nút Q lƣu trữ l/2 nút trƣớc và l/2 nút sau trên vòng L-Chord. Nút Q sẽ

tìm trong l nút xung quanh, nút K khảo duyệt tốt nhất thì sẽ trở thành nút chịu trách nhiệm khảo duyệt tên miền D. Cuối cùng, nút P sẽ chuyển tiếp lô url đến nút K để thực hiện việc khảo duyệt web.

4.2.4 Kiểm tra sự trùng lặp

Giả thiết rằng nút P quản lý tên miền D và nút Q là nút chịu trách nhiệm khảo duyệt tên miền D. Khi có bất kỳ nút bắt gặp một địa chỉ URL thuộc tên miền D, nó sẽ gửi địa chỉ URL tới cho nút P vì nút P quản lý tên miền D. Giờ đây, nút P đóng lô các địa chỉ URL thuộc tên miền D và chuyển tiếp chúng tới nút Q. Nút Q duy trì một bộ lọc bloom nhằm nhận biết URL nào đã đƣợc khảo duyệt trƣớc đó chƣa. Nếu địa chỉ URL trên thực tế đã đƣợc khảo duyệt thì nó sẽ bỏ qua địa chỉ này, ngƣợc lại địa chỉ này sẽ đƣợc thêm vào trong danh sách Crawl-job.

Để kiểm tra các trang web bị trùng lặp, chúng tôi băm nội dung trang web và ánh xạ vào không gian định danh của V-Chord và sau đó phân bố chúng trên nhiều nút trong vòng V-Chord. Khi nút A bắt gặp một trang web, nó cần kiểm tra trang web này có bị trùng lặp hay không. Vì vậy, nút A tìm kiếm trên vòng V-Chord theo giá trị băm nội dung trang web và tìm thấy nút C chịu trách nhiệm về trang này. Lúc đó nút A có thể gửi cả lô toàn bộ yêu cầu và định kỳ vấn tin nút C về các thông tin mới đƣợc cập nhật tại nút C. Sau đó nút C có thể gửi lại các phản hồi theo lô cho nút A. Nó cũng có thể chỉnh sửa danh sách Seen-Content của mình để chú thích những trang web mới mà nút A tải về. Lƣu ý rằng độ trễ khi lấy thông tin về tính trùng lặp trang web không ảnh hƣởng đến hiệu suất mạng vì cũng có độ trễ đáng kể khi tải và xử lý một trang web cụ nào đó. Điều này là do tốc độ tải dữ liệu thƣờng nhanh hơn nhiều so với tốc độ xử lý và kết quả là quá trình xử lý có độ trễ đáng kể từ sau lúc tải dữ liệu về.

Chú ý là quá trình tìm nút chịu trách nhiệm quản lý nội dung trang web hoàn toàn tƣơng tự quá trình tìm nút chịu trách nhiệm quản lý tên miền, sử dụng hàm V_find_successor(id) để tìm kiếm.

4.3 Ổn định mạng trong D-Chord 4.3.1 Tham gia hệ thống

Một phần của tài liệu Sử dụng thông tin gần kề vị trí trong khảo duyệt Web theo phương thức mạng ngang hàng (Trang 75)