Nút mới N7 đến zone của N1 N1 tự chia thành hai phần một

Một phần của tài liệu (LUẬN văn THẠC sĩ) bảng băm phân tán và định tuyến trên mạng ngang hàng (Trang 56 - 59)

3 Định tuyến trên mạng ngang hàng

3.3 Nút mới N7 đến zone của N1 N1 tự chia thành hai phần một

N7. Cập nhật tập hàng xóm của N1:{N7, N2, N6, N5}

nghĩa thứ tự các chiều sẽ được chia. Cuối cùng, nút d sẽ truyền các cặp khoá/giá trị tới nút mới mà nó phải chịu trách nhiệm.

Nút d và nút mới trao đổi thơng tin về các nút hàng xóm. Do đó, nút mới học được thơng tin về hàng xóm củad và nútd thêm nút mới là hàng xóm của mình. Sau đó, nút mới ngay lập tức thơng báo tới tất cả các hàng xóm về sự hiện diện của nó. Dựa vào thông điệp cập nhật, mỗi nút trong hệ thống cũng cung cấp tới các hàng xóm trực tiếp của nó một cách có chu kỳ về các hàng xóm và thơng tin của zone. Do vậy, chỉ có một lượng nhỏ

các vùng trong khơng gian khố bị ảnh hưởng khi một nút mới tham gia. Ảnh hưởng này chỉ phụ thuộc vào số chiều nhưng là hằng số so với số nút trong hệ thống.

• Nút lỗi

Các vùng lỗi hoặc các nút rời đi phải nhờ các nút đang sống để duy trì phân vùng hợp lệ của khơng gian khố CAN. Một nút phát hiện nút hàng

xóm bị lỗi khi nó khơng cịn gửi thơng điệp cập nhật nữa. Trong trường hợp này, nút hàng xóm này sẽ bắt đầu một bộ đếm thời gian. Khi bộ đếm

thời gian này hết giờ, nó sẽ gửi một thơng điệptiếp quản (takeover) tới các nút hàng xóm của nút bị lỗi. Bộ đếm thời gian được đặt cho các zone là khác nhau, các zone lớn có thời gian dài, các zone nhỏ có thời gian ngắn. Do đó, các nút có zone nhỏ sẽ gửi thơng điệp tiếp quản đến trước.

Khi một nút xảy ra lỗi thì dữ liệu nó sẽ bị mất. Tuy nhiên, các ứng dụng củaCAN được mong đợi là cập nhật dữ liệu một cách định kỳ các dữ liệu đã được chèn vào trong DHT. Do đó, hệ thống được phục hồi trở lại trạng

thái cuối cùng.

Trong khi định tuyến, một nút có thể bắt gặp trường hợp nút hàng xóm chuyển tiếp thơng điệp tới nút bị lỗi và cơ chế sửa chữa chưa được thiết lập. Trong trường hợp này, nó sẽ chuyển tiếp thơng điệp tới nút hàng xóm cịn sống gần nhất với nút đích. Nếu tất cả các nút hàng xóm bị lỗi thì nó sẽ là nút gần đích nhất, nó sẽ gửi thơng điệp làm ngập có kiểm sốt trong mạng chồng lấn cho đến khi nút gần nhất được tìm thấy.

• Rời mạng

Khi một nút l chủ động rời khỏi hệ thống, đầu tiên nó thơng báo cho nút

n mà nút này có thể hịa nhập với zone của nút l. Nếu nút hàng xóm này

khơng tồn tại, l sẽ chọn nút hàng xóm có thể tích nhỏ nhất sau đó sao chép các khóa và nội dung tài nguyên nó đang lưu trữ sang nút được chọn bởi vậy dữ liệu vẫn được duy trì.

Như vậy, việc các nút rời đi hoặc bị lỗi dẫn đến một nút hàng xóm quản lý nhiều hơn một zone trong một thời điểm. CAN sử dụng tiến trình ngầm để gán lại các zone cho các nút để ngăn ngừa việc phân mảnh khơng gian định danh.

• Hiệu quả định tuyến

CAN đi kèm với một số thiết kế tối ưu về việc giảm số lượng bước định tuyến trên mạng chồng lấn và giảm độ trễ. Kết hợp hai yếu tố này lại sẽ

cải thiện đáng kể hiệu suất định tuyến.

Việc tăng số chiều của khơng gian khố sẽ làm giảm số bước trong định tuyến và làm tăng số lượng hàng xóm của mỗi nút. Độ dài trung bình trong hệ thống có n nút và d chiều là O(d.n1d). Số chiều lớn cũng cải thiện khả

năng chịu lỗi trong việc định tuyến vì mỗi nút sẽ có một tập lớn hơn các nút hàng xóm để thay thế cho nút lỗi.

Đối với việc cân bằng tải, ta không chỉ xem xét yếu tố kích thước củazone

mà cịn cần xem xét nhiều yếu tố khác nữa. Đặc biệt, các cặp khoá/giá trị

phổ biến tạo ra các điểm nóng trong khơng gian khố và có thể làm giá trị tải tăng lên đáng kể trên các nút đang lưu trữ cặp khoá/giá trị này. Trong mạng CAN, các điểm nóng là ngun nhân gây ra tình trạng q

tải, ta có thể giảm tải bằng cơ chế cache và nhân bản. Mỗi nút sẽ cache một số các dữ liệu được truy cập thường xuyên và trả lời truy vấn với dữ liệu trong cache nếu có thể. Các nút q tải có thể nhân bản các khố phổ biến cho các nút hàng xóm của chúng. Do đó, dữ liệu được phân bố rộng trong không gian định danh.

3.2.2 Thuật tốn Chord

Thuật tốnChord được cơng bố bởi Stoica và đồng nghiệp năm 2001 [12]. Sự tinh tế của thuật toán xuất phát từ sự đơn giản của nó. Các khố củaChord là các chuỗi định danhl-bit. Chúng tạo thành một vòng trịn định danh một chiều.

Khơng gian khố

Mỗi mục dữ liệu và mỗi nút được gán với một khố. Thơng thường, cặp

khố/giá trị (k, v) được lưu trữ bởi nút có giá trị khoá lớn hơn hoặc bằng k.

Nút như vậy được gọi là successor của khố k. Do đó, các nút trong vòng Chord

Một phần của tài liệu (LUẬN văn THẠC sĩ) bảng băm phân tán và định tuyến trên mạng ngang hàng (Trang 56 - 59)

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

(73 trang)