Chương 1 KIẾN THỨC NỀN TẢNG
4.3. Sao lưu dữ liệu dựa trên phân cụm trong mạng P2P
4.3.3. Sao lưu và truy vấn dữ liệu
Trong hệ thống đề xuất, các mảnh dữ liệu của một tệp tin được lưu trữ tại một số nút thuộc cùng một cụm với nút quản lý khóa của tập tin. Khóa của tệp tin là một khóa duy nhất, được sinh ra từ nội dung của tệp tin và được dùng trong các truy vấn dữ liệu. Nút quản lý khóa của tệp tin quản lý các thông tin sao lưu dữ liệu của tập tin. Thông tin bao gồm danh sách các nút lưu trữ các mảnh dữ liệu của tập tin. Khi các nút ra/vào xuất hiện trong mạng, nút quản lý khóa của tệp tin thực hiện q trình duy trì tính sẵn sàng dữ liệu bằng cách kiểm tra các mảnh dữ liệu của tệp tin đó và thực hiện việc bổ sung các mảnh dữ liệu nếu cần thiết.
Tiến trình sao lưu một tệp dữ liệu mới tại nút s được thực hiện theo các bước trong hình Hình 4.3 và được mơ tả bằng đoạn giả mã Hình 4.4.
Hình 4.3. Ví dụ về sao lưu một tệp dữ liệu
yêu cầu sao lưu đến nút quản lý khóa (nút n) dựa trên thuật tốn định tuyến
DHT (dịng 2-3, Hình 4.4).
Hình 4.4. Giả mã sao lưu dữ liệu tại nút s
• Bước 2. Nút quản lý khóa gửi danh sách các nút có dung lượng lưu trữ chưa dùng tốt nhất trong cụm đến nút nguồn (dịng 4, Hình 4.4).
• Bước 3. Sau khi nhận được danh sách các nút có dung lượng lưu trữ chưa dùng tốt nhất, nút nguồn ngẫu nhiên chọn một số nút sao lưu từ danh sách. Sau đó, nút nguồn tạo các mảnh dữ liệu ra từ tệp tin bằng cách sử dụng phương pháp mã xóa và gửi mảnh dữ liệu cùng với khóa của tệp tin tới một nút sao lưu dữ liệu để lưu trữ. Nếu nút sao lưu khơng có đủ khoảng trống để lưu trữ mảnh dữ liệu, nó thơng báo cho nút nguồn và nút nguồn chọn một nút dự phịng khác (dịng 5-11, Hình 4.4).
• Bước 4. Khi q trình sao lưu kết thúc, nút nguồn cung cấp cho nút quản lý khóa của tệp tin danh sách các nút trong cụm lưu trữ các mảnh dữ liệu (dịng 12, Hình 4.4). Nút quản lý khóa sẽ lưu trữ thơng tin khóa của tệp tin và danh sách các nút lưu trữ các mảnh dữ liệu vào cơ sở dữ liệu của nó.
Vì số nút trong một cụm là lớn cho nên khả năng để nút nguồn tìm được một nút lưu trữ các mảnh dữ liệu của tệp tin là khơng khó. Q trình lựa chọn ngẫu nhiên các nút sao lưu từ danh sách các nút có dung lượng lưu trữ chưa dùng tốt nhất giúp cho các nút trong cụm cân bằng được tải lưu trữ.
Khi một nút muốn truy vấn một tệp tin, nó gửi một thơng báo truy vấn đến nút quản lý khóa của tệp tin. Nút quản lý khóa tìm kiếm trong cơ sở dữ liệu và gửi lại danh sách các nút lưu trữ mảnh dữ liệu của tệp tin. Nút truy vấn chọn ngẫu nhiên các nút lưu trữ mảnh dữ liệu từ danh sách nhận được và gửi thông báo truy vấn đến các nút này cho đến khi nó lấy được k mảnh dữ liệu
cần thiết để tái tạo lại tệp tin.
Vì thơng tin về các nút lưu trữ các mảnh dữ liệu là điều kiện cần để giải quyết truy vấn, nút quản lý khóa cũng lưu trữ thơng tin này trong danh sách các nút successor của nó. Nếu nút quản lý khóa rời mạng đột ngột, nút successor sẽ chịu trách nhiệm về thông tin này.