Giao thức hợp thức hóa hai giai đoạn

Một phần của tài liệu Bài giảng cơ sở dữ liệu nâng cao (Trang 51 - 53)

- Các khái niệm về Lịch biểu trong giao dịch phân tán (Schedule)

P: READ A; A:= A+ 1; WRIT EA

2.7.2. Giao thức hợp thức hóa hai giai đoạn

Giao thức hợp thức hóa hai gia đoạn (hay hợp thức hóa hai pha: two-phases commit protocol) gồm hai giai đoạn sau:

- Pha 1. Giai đoạn chuẩn bị: trạm điều phối yêu cầu mỗi trạm tham gia chuẩn bị cho sự hợp thức hóa, và phản hồi lại cho trạm điều phối, khi đã chuẩn bị xong.

- Pha 2. Giai đoạn hợp thức: Trạm điều phối sẽ ra lệnh cho tất cả các trạm tham gia hợp thức hoá các cập nhật vào CSDL, nếu như tất cả các trạm đã hoàn thành pha 1 hoặc huỷ bỏ tất cả các giao dịch con sau một thời gian trễ, mà có trạm chưa phản hồi.

Mỗi trạm tham gia sẽ thực hiện một giao dịch con và cập nhật CSDL cục bộ khi được trạm điều phối ra lệnh (ở pha 2). Trạm điều phối có thể là một trong những trạm tham gia, và như vậy nó đóng cả hai vai trò.

Mô t quá trình hp thức hóa hai giai đoạn

Trong khi thực hiện giao thức, các trạng thái khác nhau của trạm điều phối và trạm tham gia sẽđược ghi vào nhật ký để khi có sự cố, thủ tục phục hồi có thể tiếp tục các pha cần thiết của giao thức.

- Quá trình thực hiện pha 1: Đầu tiên, trạm điều phối khởi phát giai đoạn “chuẩn bị” bằng việc gửi thông báo “Chuẩn bị” cho các trạm tham gia. Nhận được thông báo này, mỗi trạm tham

Bài giảng “Cơ sở dữ liệu nâng cao” | nvdinh@vnua.edu.vn 51

gia thực hiện các thao tác đảm bảo cho nó có thể hợp thức hay hủy bỏ các giao dịch con khi xảy ra bất kỳ sự cố nào. Nếu trạm tham gia có khảnăng hợp thức, nó sẽ gửi lại thông báo “Sẵn sàng!

” (hợp hức hóa) cho trạm điều phối, trường hợp ngược lại nó gửi thông báo “Không sẵn sàng!” (hợp thức hóa).

Sơ đồ hợp thức hoá 2 pha:

Hình 2.10. Pha 1 của giao thức hợp thức hóa 2 pha

- Quá trình thực hiện pha 2: Sau một khoảng thời gian quy định, nếu trạm điều phối nhận được thông báo sẵn sàng từ tất cả các trạm tham gia, nó sẽ ra thông báo quyết định “Hợp thức hóa” cho tất cả các trạm. Trường hợp trái lại khi có ít nhất một trạm gửi thông báo không sẵn sàng, hoặc quá thời hạn quy định (time-out) mà không gửi thông báo, thì trạm điều phối sẽ ra quyết định toàn cục tới tất cả các trạm “Hủy bỏ” (hợp thức hóa). Nhận được quyết định toàn cục, các trạm tham gia sẽđồng loạt hợp thức hóa hay hủy bỏ hợp thức hóa, và thông báo cho trạm điều phối là đã kết thúc công việc.

Sơ đồ hợp thức hoá 2 pha:

Hình 2.11. Pha 2 của giao thức hợp thức hóa 2 pha

Với quá trình hợp thức hóa hai giai đoạn như trên, mỗi giao dịch (tổng thể) sẽđược hoàn thành và thực sự cập nhật vào CSDL chỉ khi tất cả các giao dịch con (giao dịch bộ phận) trên các trạm được thực hiện (hợp thức hóa). Trái lại, dù chỉ một giao dịch con không đảm bảo hợp thức hóa thì toàn bộ giao dịch tổng thể sẽ bị hủy bỏvà chưa có thay đổi gì trong CSDL.

Giao thức hợp thức hoá 2 pha sẽ đảm bảo tất cả các trạm tham gia sẽ hợp thức hoá hoặc huỷ bỏ tất cả các giao dịch bộ phận. Vì vậy nó đảm bảo tính nguyên tố của các giao dịch toàn cục. Quyết định toàn cục là hợp thức hoá giao dịch T hoặc huỷ bỏ thì do trạm điều phối đưa ra sau giai đoạn 1. Như vậy, giao thức hợp thức hóa hai pha sẽđảm bảo tính nguyên tố của các giao dịch phân tán.

Bài giảng “Cơ sở dữ liệu nâng cao” | nvdinh@vnua.edu.vn 52

Một phần của tài liệu Bài giảng cơ sở dữ liệu nâng cao (Trang 51 - 53)