CÁC NỘI DUNG CHÍNHChương 1 MỘT SỐ KHÁI NIỆM CHUNG Khái niệm toàn vẹn dữ liệu Khái niệm giao dịch Một số tính chất của giao dịch Trật tự hoá các tác động Chương 2 ĐẶC TÍNH TOÀN
Trang 1TIỂU LUẬN
HỆ TIN HỌC PHÂN TÁN
N i dung Lý ộ
N i dung Lý ộ thuy t thuy t ế ế
HOÀN THIỆN KỸ THUẬT ĐẢM BẢO ĐẶC TÍNH TOÀN VẸN TRONG HỆ TIN HỌC PHÂN TÁN
N i dung bài t p ộ ậ
N i dung bài t p ộ ậ
CHỨNG MINH NGUYÊN TẮC GIAO DỊCH HAI PHA
GVHD: PGS TS Lê Văn Sơn HVTH: Trần Ngọc Chinh
Trang 2CÁC NỘI DUNG CHÍNH
Chương 1 MỘT SỐ KHÁI NIỆM CHUNG
Khái niệm toàn vẹn dữ liệu
Khái niệm giao dịch
Một số tính chất của giao dịch
Trật tự hoá các tác động
Chương 2 ĐẶC TÍNH TOÀN VẸN TRONG HỆ TIN HỌC PHÂN TÁN
KỸ THUẬT GIAO DỊCH 2 PHA
Cơ chế then cài
Giao dịch hai pha
Quản lý gắn bó các giao dịch
Sử dụng giao dịch hai pha
KỸ THUẬT THỨ TỰ DẤU
Nội dung kỹ thuật thứ tự dấu
Giải thuật thứ tự dấu
Trật tự hoá thứ tự dấu
BÀI TẬP
Trang 3Chương 1 CÁC KHÁI NIỆM CHUNG
• Khái niệm toàn vẹn dữ liệu
• Tác động và giao dịch
• Một số tính chất của giao dịch
• Trật tự hoá các tác động
Trang 4KHÁI NIỆM TOÀN VẸN DỮ LIỆU
phân tán thể hiện tính bền vững, tính đúng đắn, tính nhất quán của thông tin.
tổ chức, hệ thống Các luật này được gọi là các ràng buộc toàn vẹn.
toàn vẹn gọi là trạng thái gắn bó.
trì hệ thống luôn trong trạng thái gắn bó
Trang 5KHÁI NIỆM GIAO DỊCH
• Là chương trình duy nhất thực hiện từ
một trạng thái gắn bó và đưa hệ đến một trạng thái gắn bó khác.
• Mỗi giao dịch được cấu tạo từ một dãy các tác động
Trang 6MỘT SỐ TÍNH CHẤT
CỦA GIAO DỊCH
• Tính nguyên tử(Atomic) : một giao dịch hoặc
là được thực hiện trọn vẹn hoặc là không thực hiện gì cả
• Đặc tính gắn bó(Consistent): giao dịch chuyển hệ thống phân tán từ trạng thái gắn bó này sang trạng thái gắn bó khác
Trang 8TRẬT TỰ HOÁ TÁC ĐỘNG
Xét tập hợp các giao dịch M = {T1, T2,…, Tn}, mỗi một giao dịch được cấu tạo từ một dãy các tác động
– Việc thực hiện toàn bộ giao dịch M tương đương với việc thực hiện
một dãy S các tác động thuộc các giao dịch này, như S = (a1, a2,…, an)
– Trong số các trật tự hoá của một tập hợp các giao dịch phải tách ra
cho được những cái phục vụ trạng thái gắn bó dữ liệu, gọi là trật tự hoá gắn bó
Trang 9Trật tự hoá S được gọi là hợp thức nếu thoả mãn các điều sau:
– Một đối tượng được cài then chia sẽ thì sẽ không có then cài loại trừ nào được thực hiện cho đến khi mở then.
– Một đối tượng được cài then loại trừ thì sẽ không
có then cài nào được thực hiện cho đến khi mở then
Trang 10Chương 2 ĐẶC TÍNH TOÀN VẸN
DỮ LIỆU
KỸ THUẬT GIAO DỊCH 2 PHA
• Cơ chế then cài
• Giao dịch hai pha
• Xử lý các sự cố
• Quản lý gắn bó các giao dịch
Trang 11Cơ chế then cài
Cơ chế then cài cho phép một giao dịch có thể giải phóng đối tượng mà nó cài then Có hai loại then cài chính là then cài loại trừ W và then cài chia sẽ R:
• Nếu một giao dịch A thực hiện cài then loại trừ W lên một đối tượng thì một yêu cầu cài then chia sẽ R từ một giao dịch B khác
sẽ đưa giao dịch B rơi vào trạng thái chờ cho cho đến khi A mở then.
• Nếu giao dịch A thực hiện then cài chia sẽ R thì giao dịch B cũng có thể gán một then cài chia sẽ , nhưng B sẽ rơi vào trạng thái chờ nếu nó yêu cầu một then cài loại trừ W
Trang 12Giao dịch hai pha
Xét một giao dịch hình thành hợp thức bằng cách kiểm tra hai điều kiện:
Trang 13Giao dịch hai pha
Then cài
b i Ti
Th i gian Pha cài then Pha m then
N u m t tr t t hoá h p th c S tho mãn i u ki n giao đ
d ch hai pha thì tr t t hoá ó là g n bó đ
Trang 14XỬ LÝ SỰ CỐ
Nếu một tiến trình bị sự cố trong lúc thực hiện một giao dịch thì trạng thái của hệ xuất phát từ việc thực hiện từng phần đó chắc chắn
sẽ không còn gắn bó
• 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 về điểm xuất phát
Đòi hỏi giao dịch có các đặc tính toàn vẹn như sau
• Nếu một tiến trình bị sự cố trước khi kết thúc T nhưng lại sau các thay đổi cần thiết của T, trạng thái của hệ là gắn bó
• Nếu một tiến trình bị sự cố trước khi diễn ra các thay đổi của T, trạng thái của hệ là gắn bó
• Nếu một tiến trình bị sự cố giữa các thay đổi của T, trạng thái của hệ là không gắn bó
Trang 15XỬ LÝ SỰ CỐ
2
3
Trước khi cập nhật (thay đổi)
Sau khi cập nhật (thay đổi) Không gắn bó
Trang 16Chương 2 ĐẶC TÍNH TOÀN VẸN DỮ
LIỆU (tt)
KỸ THUẬT THỨ TỰ DẤU
• Nội dung kỹ thuật thứ tự dấu
• Giải thuật thứ tự dấu
• Trật tự hoá thứ tự dấu
Trang 17Kỹ thuật đóng dấu
• Mỗi giao dịch được gán một số id duy nhất dựa trên thời gian mà giao dịch được đưa vào hệ thống.
• T1 T2, nếu T1 có dấu nhỏ hơn dấu của T2 ký hiệu ts(T1)<ts(T2)
• Mọi tác động đọc ghi đều được đọc ghi theo thứ tự dấu của nó.
• Số id này có thể là giá trị một bộ đếm hoặc là của đồng hồ hệ thống
Trang 18Giải thuật thứ tự dấu
Khi giao dịch T đọc đối tượng e :
then (1) thực hiện tác động đọc
(2) tg(T) = max { tg_doc(e) , tg(T) }
else huỷ
Khi giao dịch T ghi đối tượng e:
then (1) thực hiện tác động đọc
(2) tg(T) = max { tg_viet(e) , tg(T) }
else huỷ
Trang 19Trật tự hóa thứ tự dấu
Nếu S là một trật tự hoá có được bằng cách
thực hiện theo một trật tự thứ tự dấu thời
gian, S là trật tự hoá gắn bó.
Chứng minh:
Giả sử rằng giao dịch Ti trước giao dịch Tj trong đồ
qj[e])
Trang 20Giả sử rằng P(S) là đồ thị lặp, ta có:
Vậy P(S) là đồ thị phụ thuộc không lặp, do đó ta
có S là trật tự hoá gắn bó
Trang 21Bài tập
Cho một tập hợp các giao dịch M = {T1,T2,…,Tn}.
Phần 1
– Giả sử rằng các giao dịch của M là hình thành tốt và thoả
mãn các điều kiện 1 của giao dịch hai pha Hãy chỉ ra rằng toàn bộ trật tự hoá hợp thức S của M là gắn bó.
Phần 2
– Ta giả sử rằng các giao dịch của M là hình thành tốt và
kiểm tra điều kiện 2 của giao dịch hai pha Hãy chỉ ra rằng toàn bộ trật tự hoá hợp thức S của M là gắn bó
Trang 22Bài tập – Phần 1
Ta gọi tác động cuối cùng của giao dịch là l:
• Tác động cuối cùng của giao dịch Ti là l(Ti)
• Tác động cuối cùng của giao dịch Tj là l(Tj)
• Quan hệ “<” là trật tự hoá toàn phần trên M
giao dịch Ti trước giao dịch Tj) trong trật tự hoá S thì l(Ti) < l(Tj)
Gọi P(S) là đồ thị phụ thuộc của trật tự hoá
S, ta giả sử rằng P(S) là đồ thị lặp, lúc đó
ta có:
Trang 24Bài tập – Phần 2
Ta gọi tác động mở then đầu tiên là fu:
• Tác động mở then đầu tiên của giao dịch Ti là fu(Ti)
• Tác động mở then đầu tiên của giao dịch Tj là fu(Tj)
• Quan hệ “<” là trật tự hoá toàn phần trên M
giao dịch Ti trước giao dịch Tj) trong trật tự hoá S thì fu(Ti) < fu(Tj)
Gọi P(S) là đồ thị phụ thuộc của trật tự hoá S,
ta giã sử rằng P(S) là đồ thị lặp, lúc đó ta
có:
Trang 25• T1 < T2 < … < Tn < T1
• Theo bổ đề nêu trên ta có:
• fu(T1) < fu(T2) < … < fu(Tn) < fu(T1) Điều này là vô lý nên P(S) phải là đồ thi
Trang 26XIN CHÂN THÀNH CÁM ƠN