Tải bản đầy đủ (.ppt) (11 trang)

Tiểu luận môn hệ phân tán Thuật toán gắn bó trên cơ sở dấu và Bài toán duy trì một sự gắn bó mạnh giữa các bản sao

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (633.28 KB, 11 trang )

1
THUẬT TOÁN GẮN BÓ TRÊN CƠ SỞ DẤU VÀ
BÀI TOÁN DUY TRÌ MỘT SỰ GẮN BÓ MẠNH
GIỮA CÁC BẢN SAO
Giáo viên hướng dẫn:PGS. TS. Lê Văn Sơn
Học viên: Trần Thị Thùy Dương
Ngành: Khoa học máy tính
Khóa học: 2008 - 2010
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH
KHOA

2
Thuật toán duy trì sự gắn bó trên cơ sở dấu
1. Nguyên lý
- Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng
một kiểu trên tất cả các trạm nhờ cơ chế dấu.
- Mỗi một yêu cầu được phát đi cho tập hợp các trạm.
- Tên mỗi trạm, tồn tại một tiến trình Server đảm nhận
nhiệm vụ tiếp nhận các yêu cầu theo trật tự của dấu.
- Có sự gắn bó yếu giữa các bản sao.
3
Thuật toán duy trì sự gắn bó trên cơ sở dấu
2. Triển khai hệ ổn định (1)
- Các giao dịch cần xét là các khả năng đọc, ghi hay cập
nhật.
- Mỗi server tiếp nhận các yêu cầu ghi đến từ trạm cục bộ
ở thời điểm cho trước.
- Tiếp nhận các yêu cầu và tính toán trên cơ sở dấu theo
tiêu chí lâu nhất.
- Khi trạm i truyền các thông điệp cho trạm j, trật tự nhận


các thông điệp tại j là hoàn toàn giống với trật tự của các
thông điệp phát đi.
- Việc xác định các yêu cầu cần xử lý là hoàn toàn có thể.
4
Thuật toán duy trì sự gắn bó trên cơ sở dấu
2. Triển khai hệ ổn định (2)
Có hai trường hợp cần xem xét:
a) Yêu cầu lâu nhất chính là yêu cầu đang chờ.
b) Tồn tại các trạm mà không có bất kỳ yêu cầu nào
được truyền đến, truyền thông điệp yêu cầu và bắt
buột phải xác nhận.
Ta có được các thông điệp đến từ tất cả các trạm.
5
Thuật toán duy trì sự gắn bó trên cơ sở dấu
3. Các hành vi bên ngoài của chế độ bình thường
- Cho phép rút ra hay chèn vào tùy ý một trạm nào đó.
- Thuật toán chỉ sống khi có sự cố, nếu thỏa mãn:
+ Việc đột nhiên biến mất đi một trạm nào đó phải
được các trạm khác nhận biết tự động.
+ Việc phát một thông điệp là một phép toán không
chia cắt được nữa, hoặc là tất cả đều phải nhận được hoặc
là không trạm nào nhận được cả.
Nếu điều kiện đầu tiên có thể được khống chế, thì
điều kiện thứ hai rất khó đảm bảo
6
Duy trì sự gắn bó mạnh giữa các bản sao
1. Các trạng thái khác nhau cần xem xét cho mỗi bản sao

Stt Trạng thái Giải thích
1 Nghỉ ngơi Trạm không thực hiện cập nhật nào cả

2 Hoạt động
Trạm đã nhận một yêu cầu cập nhật cục bộ mà yêu
cầu này đã được truyền cho các trạm khác để kiểm
tra
3 Thụ động
Trạm đồng ý cho một cập nhật và chờ trật tự tương
ứng
4 Cập nhật
Trạm đang trong tình trạng chuyển của cập nhật,
trong khi đó tất cả các yêu cầu khác truyền đến đều
được lưu trữ. Chúng sẽ được xử lý khi quay về một
trong các trạng thái khác
7
1
1
2
2
3
3
4
4
Lựa chọn yêu cầu có thời gian dấu dài
nhất nếu có nhiều yêu cầu được đưa ra
Nghỉ ngơi
Hoạt động
Thụ động
Cập nhật
Duy trì sự gắn bó mạnh giữa các bản sao
2. Sơ đồ thuật toán
8

Duy trì sự gắn bó mạnh giữa các bản sao
Sơ đồ mô tả hệ thống nhiều bản sao
b
ij
với i = 1 n chỉ server

j = 1 m chỉ bản sao
t
k
với k = 1 q là trạm
Các ràng buộc:
- Bản sao của một đối tượng:
b
1
= b
2
= = b
n
- Các bản sao của toàn bộ các
đối tượng:
b
11
= b
21
= = b
n1
b
12
= b
22

= = b
n2

b
1m
= b
2m
= = b
nm
Gọi M là cực đại của các cập
nhật có thể diễn ra đồng thời
M = n x m
9
Xử lý sự cố trên một trạm (1)
Sau khi cập nhật
(thay đổi)
Trước khi cập nhật
(thay đổi)
Gắn bó
Không Gắn bó
1

2

3
Ba giai đoạn của một giao dịch
10
Xử lý sự cố trên một trạm (2)
Cơ chế cho phép duy trì gắn bó trong môi
trường phân tán có sự cố:

- Giao dịch T bắt buộc phải được thực
hiện một cách trọn vẹn.
- Nếu có sự cố diễn ra thì bắt buộc nó
phải quay trở lại điểm xuất phát.
=> Chọn các thuật toán nhằm đảm bảo
tính toàn vẹn dữ liệu.
11
CHÂN THÀNH CÁM ƠN!

×