Bảng băm phân tán

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc (Trang 37 - 40)

Chương 1. KIẾN THỨC NỀN TẢNG

1.4. Mạng ngang hàng có cấu trúc

1.4.1. Bảng băm phân tán

Bảng băm phân tán (DHT) là một hệ thống phân tán lưu trữ các cặp khóa-giá trị (key-value) phân tán trên các nút (các máy tính) và cung cấp cơ chế lưu trữ, tìm kiếm dữ liệu tương tự như bảng băm thông thường. Mỗi nút trong DHT quản lý các khóa cùng với các giá trị được ánh xạ và có thể truy vấn chính xác, hiệu quả giá trị liên quan đến một khóa cho trước. Các giá trị được ánh xạ với các khóa trong DHT có thể là bất kỳ dạng dữ liệu nào, như tệp tin âm thanh, hình ảnh, video, hồ sơ người dùng, e-mail, v.v.

Về cấu trúc, DHT gồm các thành phần sau: không gian khóa (keyspace), sơ đồ phân hoạch không gian khóa (keyspace partitioning scheme) và một mạng phủ (overlay network) để kết nối các nút trong DHT.

Không gian khóa: là tập các chuỗi m bit. DHT ánh xạ khóa k của dữ liệu và định danh của nút id vào cùng không gian khóa DHT thông qua một hàm băm đồng nhất (consistent hashing). Khóa k của dữ liệu được tạo ra bằng việc băm tên tệp dữ liệu hoặc nội dung tệp dữ liệu. Định danh id của nút được tạo ra bằng việc băm thông tin liên quan đến nút, như địa chỉ IP hoặc địa chỉ cổng (Port). Mỗi khóa k do một nút quản lý, mỗi nút quản lý một vùng không gian khóa liên tục nhau.

26

Hình 1.3. Ánh xạ dữ liệu vào mạng DHT

DHT hỗ trợ hai thao tác chính là: Put(k, Data) và lookup (k). Hàm put(k, Data) với đầu vào là khóa k của dữ liệu và nội dung dữ liệu (Data) được dùng để chuyển dữ liệu đến nút quản lý khóa k. Hàm lookup(k) được sử dụng tìm kiếm nút quản lý khóa k, khi tìm được nút quản lý khóa k sẽ tìm được dữ liệu tương ứng với khóa k.

Sơ đồ phân hoạch không gian khóa: là cách chia không gian khóa giữa các nút tham gia hệ thống. Trong sơ đồ phân hoạch không gian khóa DHT, một hàm (k1, k2) định nghĩa khoảng cách từ khóa k1 đến khóa k2. Khoảng cách này là một khái niệm trừu tượng không liên quan đến khoảng cách địa lý hay độ trễ mạng. Mỗi nút DHT có một định danh id trong không gian khóa và quản lý tất cả các khóa k gần với id nhất theo hàm khoảng cách . Một tính chất quan trọng của hàm băm đồng nhất đó là, việc thêm hoặc loại bỏ một nút chỉ làm thay đổi tập khóa do các nút có id liền với nó quản lý mà không ảnh hưởng đến tất cả các nút khác.

27

Mạng phủ: mỗi nút duy trì một tập các đường liên kết đến các nút khác (nút láng giềng hoặc bảng tìm đường). Các liên kết này tạo thành một mạng phủ. Mạng phủ này cho phép các nút có thể tìm kiếm một khóa bất kỳ trong không gian khóa. Mỗi nút lựa chọn danh sách các nút láng giềng theo một cấu trúc nhất định, gọi là Topology của mạng. Tất cả các Toplogy của DHT đều có một tính chất quan trọng đó là, cho một khóa k bất kỳ, mỗi nút hoặc là có định danh id trùng với k hoặc là có một liên kết đến nút có định danh id gần với k hơn theo khái niệm khoảng cách không gian khóa được định nghĩa ở trên. Khi đó có thể dễ dàng định tuyến một thông điệp đến nút quản lý khóa bằng thuật toán tham lam được mô tả như sau: tại mối bước, thông điệp chuyển tiếp tới nút láng giềng có định danh gần với k nhất theo hàm khoảng cách . Khi không có nút láng giềng như vậy, thì thông điệp phải đến nút gần nhất, là nút quản lý khóa theo định nghĩa ở trên.

Hình 1.4. Mạng phủ DHT với 4 nút trong mạng

Hầu hết các hệ thống DHT cố gắng cân bằng tải định tuyến thông điệp, tải phân bố (tải xử lý truy vấn) và tải lưu trữ trên các nút tham gia. Tuy nhiên, vẫn tồn tại một số lý do khiến một số nút trong hệ thống có thể chịu tải cao

28

hơn những nút khác, đó là: một nút quản lý một phần rất lớn không gian địa chỉ, một nút quản lý phần không gian địa chỉ với một số lượng lớn các đối tượng dữ liệu và một nút quản lý các đối tượng dữ liệu đặc biệt phổ biến.

Trong những trường hợp này, bổ sung cơ chế cân bằng tải có thể giúp phân bổ tải đồng đều hơn cho các nút. Ví dụ, một nút có thể chuyển một phần không gian địa chỉ quản lý cho các nút khác hoặc nhiều nút có thể quản lý một không gian địa chỉ.

Trong luận án này chúng tôi sử dụng kiến trúc mạng ngang hàng có cấu trúc Chord cho các nghiên cứu trong các chương tiếp theo. Phần tiếp theo sẽ trình bày chi tiết về mạng ngang hàng có cấu trúc Chord.

Một phần của tài liệu Nghiên cứu nâng cao hiệu năng hoạt động của mạng ngang hàng có cấu trúc (Trang 37 - 40)

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

(158 trang)