Multicast nguyên tử (Atomic multicast ).

Một phần của tài liệu fault tolerance-làm rõ đối với web-based systems (Trang 26)

Tư tưởng chính: khi một tiến trình muốn gửi bản tin cho một tập các tiến trình khác theo kiểu multicast, nó sẽ không gửi bản tin tới tất cả các tiến trình của nhóm chứa các tiến trình nhận mà chỉ gửi đến một nhóm nhỏ các tiến trình cần nhận bản tin đó.

Vấn đế đặt ra: phải đảm bảo gửi được bản tin tới tất cả các tiến trình trong nhóm hoặc không được gửi tới bất kì tiến trình nào nếu một tiến trình trong nhóm bị lỗi sụp đổ.

Một số thuật ngữ:

Group view (khung nhìn nhóm): ý tưởng chính của atomic multicast là một tiến trình thực hiện multicast bản tin m thì chỉ thực hiện liên kết tới một danh sách các tiến trình cần nhận bản tin m đó chứ không phải toàn bộ nhóm. Danh sách các tiến trình này tương ứng với một khung nhìn nhóm (group view)- một tập nhỏ các tiến trình của một nhóm lớn.

View change (thay đổi khung nhìn): khi đang thực hiện multicast tới một group view G mà có một tiến trình xin gia nhập nhóm hay xin ra khỏi nhóm thì sự thay đổi vc này sẽ được gửi tới tất cả các thành viên còn lại trong nhóm. Do đó, các tiến trình còn lại trong G sẽ nhận được hai bản tin:

m: bản tin cần nhận

vc: bản tin thông báo có thay đổi trong G.

Nếu tất cả các tiến trình trong G đều chưa nhận được vc thì thao tác multicast bản tin m được thực hiện.

Nếu một trong số các tiến trình trong G đã nhận được vc thì phảo đảm bảo rằng không một tiến trình nào khác trong G được nhận m nữa

Đồng bộ ảo (Virtual sychronous).

Tư tưởng chính: đảm bảo bản tin chỉ được multicast tới tất cả các tiến trình không có lỗi. Nếu tiến trình gửi bị sụp đổ trong quá trình multicast thì quá trình này bị hủy ngay dù bản tin đó đã được gửi tới một vài tiến trình khác trong

nhóm rồi.

Hình Nguyên lý đồng bộ ảo

1: P1 tham gia vào nhóm đã có sẵn ba thành viên: P2,P3, P4. 2: P2 thực hiện multicast bản tin tới tất cả các tiến trình còn lại. 3: P1 thực hiện multicast bản tin tới tất cả các tiến trình còn lại.

4: P3 multicast tới tiến trình P2 , P4 thành công nhưng P1 chưa nhận được thì P3 bị sụp đổ. Lúc này đồng bộ ảo sẽ hủy tất cả các bản tin đã được gửi trước đó cho P2, P4, thiết lập trạng thái trước khi sụp đổ của P3 là chưa gửi bản tin dó.

5: nhóm lúc này chỉ còn P1, P2, P4 và P4 thực hiện multicast bản tin, 6: P3 được khôi phục và xin gia nhập lại nhóm.

7: P3 gia nhập nhóm thành công.

8.5_ Ủy thác phân tán : (distributed commit )

- Khái niệm cơ sở dữ liệu phân tán :

Cơ sở dữ liệu phân tán là công nghệ lấy nhiều cơ sở dữ liệu từ nhiều cơ sở dữ liệu khác nhau trên nhiều máy tính khác nhau cùng kết nối trong 1 mạng và khiến cho chúng xuất hiện như một cơ sở dữ liệu đơn nhất. Do đó người dùng không nhất thiết phải biết máy tính nào thực sự có dữ liệu người đó cần.

- Vấn đề quản lý chia sẻ tài nguyên :

Có nhiều người dùng truy cập cơ sở dữ liệu phân tán thông qua các ứng dụng. Vì lý do này chức năng quản lý giao dịch ( transaction

management ) được đưa ra. 1 giao dịch là 1 quá trình trao đổi giữa máy thành viên và máy chủ, giao dịch hoàn tất khi quá trình này hoàn tất.

Chức năng quản lý giao dịch nhằm duy trì tính nhất quán dữ liệu, tránh xung đột dữ liệu bằng cách chia dữ liệu thành các đơn vị giao dịch sao cho cơ sở dữ liệu có thể điều khiển được việc cập nhật từ các người dùng khác nhau.

Quản lý giao dịch bao gồm đặc điểm : ACID

Một phần của tài liệu fault tolerance-làm rõ đối với web-based systems (Trang 26)

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

(41 trang)
w