Một dãy các tác động như vậy được gọi là trật tự hóa của tập hợp các giao dịch M... + Được phân tán trên các trạm khác nhauDo vậy ta không xác định được trạng thái của hệ - Hệ thống viễ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2Vai trò của trật tự dữ liệu
Giả sử rằng xác định một trật tự giữa các sự kiện của HPT nhờ vào quan hệ kí hiệu là gọi là
“có trước” hay “ở ngay trước”
Thỏa mãn các ràng buộc sau:
+ Nếu A và B là hai sự kiện của cùng một trạm và nếu A được thực hiện trước B thì theo trật
tự của trạm ta có: AB
+ Nếu A là phát thông điệp và B là thu của
thông điệp này thì ta có: AB
Trang 3Vai trò của trật tự dữ liệu
A1A2A3A4A5 B1B2B3B4
Trao đổi thông điệp
A1B2 và B3A4
Chuyển qua A1A2B2B3B4 B1B2B3A4A5 A1A2B2B3A4A5
Trang 41.2 Trật tự hoá các tác động
Cho một tập các giao dịch M = (T1, T2, ,Tn) được thực
hiện bởi các tiến trình độc lập p1, p2, , pn
Một dãy các tác động như vậy được gọi là trật tự hóa của tập hợp các giao dịch M.
Trang 5 Ví dụ 2: Quản lý các tài khoản tại một ngân hàng.
Mỗi một người mở tài khoản tại ngân hàng sẽ được lưu trữ trong một bản ghi của CSDL Tài khoản luôn luôn lớn hơn hoặc bằng 0
- Phép toán chuyển khoản thể hiện bằng cách trừ đi một giá trị P nào đó (P=500) ở một tài khoản và cộng chính giá trị đó vào tài khoản khác.
- Kí hiệu: - A là số dư TK bị trừ đi (A=1000)
- B là số dư TK cộng vào (B=2000).
- U: giao dịch mới
- T: các giao dịch chuyển khoản
- t: tỉ lệ lợi nhuận tiền gửi (t=0.01)
Ba trật tự hóa có thể là S1, S2, và S3
Trang 6Vai trò của trật tự dữ liệu
Giao dịch loại T A:=(1+t)xAA:=A-P
B:=(1+t)*B B:=B+P Giao dịch loại U
Giao dịch loại T A:=(1+t)xAA:=A-P
B:=(1+t)*B
B:=B+P Giao dịch loại U
Giao dịch loại T
A:=A-P
A:=(1+t)xA B:=(1+t)*B
B:=B+P Giao dịch loại U
A:=500 A:=505 B:=2500 B:=2525
A:=500 B:=2500 A:=505 B:=2525
Trang 7Trật tự hóa S2 có tác dụng tương đương với trật tự hóa tuần tự S3, trong khi đó trật tự hóa S1 lại khác
Tóm lại: Vai trò của trật tự dữ liệu
- Xác định trật tự giữa các sự kiện trong hệ
Trang 82 SỰ GẮN BÓ THÔNG TIN
Điều kiện giả định
Trang 9+ Được phân tán trên các trạm khác nhau
Do vậy ta không xác định được trạng thái của hệ
- Hệ thống viễn thông và các tiến trình là các đối tượng có thể
xảy ra sự cố kỹ thuật
Trang 11 Ta quan tâm đến hai mức quan sát:
Tiến trình là một dãy thực hiện các giao dịch Giao dịch đó là chương trình duy nhất được thực hiện từ một trạng thái gắn bó này dẫn hệ đến một trạng thái gắn bó khác.
Trang 122.3 TRIỂN KHAI GIAO DỊCH TÔN TRỌNG SỰ
GẮN BÓ.
Cho một tập hợp giao dịch M={T1,T2…,Tn} Một trật tự hóa của tập hợp là việc thực hiện hoàn toàn các giao dịch
Một trật tự hóa gắn bó thành công khi áp dụng các ràng buộc trên trật tự thực hiện các tác động
Nguyên lý của phương pháp :Làm chậm một tác động nào đó cho đến thời điểm mà sự thực hiện của nó không còn có nguy cơ phá hủy sự gắn bó của trật tự hóa
Trang 13Phương pháp, cơ chế để đảm bảo các giao dịch tôn trọng sự gắn bó thông tin
Cơ chế then cài.
+ Then cài loại trừ tương hỗ.
+ Then cài lựa chọn đối tượng.
+ Giao dịch hai pha.
Trang 14Giả định các đối tượng được phân tán trên nhiều trạm nối với nhau qua hệ thống viễn thông, và có thể trao đổi các thông điệp.
Giả sử các tiến trình và các phương tiện truyền thông là các đối tượng có thể rơi vào sự cố
Trang 15STT Cơ chế
1
Cho phép sắp xếp một cách tổng quát các tác động của cùng một giao dịch trên các trạm khác nhau
2
Điều khiển các tranh chấp truy cập cục bộ vào các đối tượng đảm bảo tôn trọng tính toàn vẹn của các đối tượng truy cập cục bộ này
3 hạn, hậu quả của việc hủy bỏ các giao dịch.Có khả năng xử lý các bế tắc và thiếu thốn vô
4 các sự cố.Phục hồi các giao dịch đã hủy bỏ hay xử lý
Một hệ quản lý tập hợp thông tin phân tán gồm:
Trang 17Muốn thực hiện cơ chế xử lý sự cố giao dịch phải có các đặc tính toàn vẹn như sau:
1
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 thao tác thay đổi cần thiết của T, trạng thái của hệ là gắn bó.
Trang 18CÁC THUẬT TOÁN ĐẢM BẢO SỰ GẮN
BÓ THÔNG TIN
Thuật toán duy trì sự gắn bó tránh bế tắc và thiếu thốn.
Nguyên lý:
+ Then cài ngầm định + Phát hiện các xung đột.
+ Khẳng định Thuật toán quản lý nhiều bản sao
+ Thuật toán đảm bảo sự gắn bó yếu nhờ dấu + Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần
hoàn + Thuật toán đảm bảo sự gắn bó mạnh
Trang 19PHẦN BÀI TẬP
Xét một hệ đa xử lý với bộ nhớ chung, trong đó mỗi một bộ xử lý được trang
bị một bộ nhớ cục bộ hoạt động theo nguyên tắc của bộ nhớ cache Hệ này quản lý 3 đối tượng là:
-Các biến toàn cục, được truy cập bởi nhiều tiến trình
-Các biến cục bộ chỉ được phép truy cập bởi một tiến trình có nhu cầu.
-Các hằng chia sẻ được.
Mỗi ngăn nhớ của bộ nhớ chung hay cục bộ đều bao gồm một kí hiệu cho phép nhận dạng kiểu của đối tượng chứa trong đó Một đối tượng không thể thay đổi kiểu Ta có cơ chế đảm bảo việc loại trừ tương hỗ cho các truy cập vào
bộ nhớ chung.
Hãy cho biết nguyên lý được mô tả bởi thuật toán truy cập vào các loại đối tượng khác nhau đó với điều kiện duy trì sự gắn bó bằng cách sử dụng ghi tức thời.
Trang 20Nguyên lý để đạt được trật tự hoá gắn bó là làm chậm một tác động nào đó cho đến thời điểm mà sự thực hiện của nó không còn có nguy cơ phá huỷ sự gắn bó của trật tự hoá (bằng cách chặn các tiến trình hiện hành)
Để giải quyết vấn đề này áp dụng thuật toán duy
nguyên lý sau:
Trang 21Bước 1: Then cài ngầm định.
Bộ điều khiển cục bộ trên mỗi trạm Si áp đặt cho các tác động khác nhau trên trạm và diễn biến theo một trật tự hoá hợp thức
Cần phải ngăn chặn giao dịch Tj (tiến trình Pji mà tiến trình này đang thực hiện trên Si)
Tất cả diễn ra trên một đối tượng được cài then bởi một giao dịch sử dụng theo kiểu chia sẻ trước khi đọc, theo kiểu loại trừ trước khi ghi
Tất cả các mở then sau khi xong một giao dịch
Trang 22Bước 2: Xác định động các xung đột.
Hành vi xung đột xảy ra khi có hai giao dịch thực hiện các tác động không tương thích vào một đối tượng
Một xung đột được xác định khi có ý định truy cập bởi một giao dịch T2 vào một đối tượng đã khoá ngầm định bởi giao dịch T1 theo kiểu không tương thích
Không nên để T2 chờ cho đến khi T1 kết thúc
mà phải huỷ bỏ một trong hai giao dịch này
Trang 23Bước 3: Khẳng định.
Toàn bộ giao dịch theo hệ số ưu tiên có thể bị huỷ bỏ, nên cần phải áp dụng có hệ thống một kỹ thuật khẳng định.
Một giao dịch được huỷ bỏ thì
+ Tất cả các đối tượng mà nó đã được cài then được mở then.
+ Tất cả các giá trị phải được thay đổi khôi phục trở lại như cũ
Trong trường hợp này chỉ có các phép ghi được thực hiện trên các bản sao đối tượng
Trang 24Một giao dịch bị huỷ thì
+ Một thông điệp được gửi đi cho tất cả các trạm chứa các đối tượng thay đổi và các bản sao bị huỷ
bỏ
Trường hợp Giao dịch kết thúc bình thường thì:
+ Một thông điệp khẳng định được gửi cho tất cả các trạm và lúc này các bản sao đối tượng được phép thay thế các bản gốc
Trang 25Khi chặn các giao dịch trên các đối tượng chung hoặc bằng then cài ngầm định, ta có thể làm phát sinh các rủi ro và bế tắc.
Một bế tắc được loại bằng cách hủy bỏ hoàn toàn một trong các giao dịch gây nên xung đột, nhưng nếu ta chọn theo kiểu ngẫu nhiên thì gặp rắc rối về kỹ thuật là một hay một số giao dịch nào đó sẽ rơi vào trạng thái chờ
Trang 26Giả sử rằng T1 và T2 là hai giao dịch đang ở trạng thái
xung đột để truy cập vào một đối tượng chung e T1 đã thực hiện động tác đầu tiên trên e
N(T1), N(T2) là các dấu kết hợp lần lượt với từng giao
dịch khi khởi sự.
Khi diễn ra xung đột, việc lựa chọn được thực hiện bằng
bộ điều khiển của trạm e được tiến hành như sau:
+ Nếu N(T2)<N(T1) thì <T2 bị chặn>
+ Nếu không <T2 bị hủy rồi được khởi sự lại>
Trang 27Việc truy cập vào các biến dùng chung, các biến cục
bộ và các hằng chia sẻ, cũng chính là việc giải quyết các vấn đề cơ bản như truy cập đồng thời trong hệ phân tán
Các biến dùng chung sẽ được truy cập bởi nhiều tiến trình, mỗi tiến trình ta coi là một giao dịch
Như vậy có nhiều giao dịch đồng thời có yêu cầu sử
Khi đó các tác động của giao dịch làm thay đổi nội dung của đối tượng cần phải được xử lý điều khiển tương tranh
Trang 28Riêng các biến cục bộ chỉ có duy nhất một tiến trình nào đó khi có nhu cầu cần đến mới sử dụng nên
ta chỉ việc thực hiện cài then và mở then cài cho duy nhất một giao dịch
Để đảm bảo tính toàn vẹn, thì các hằng chia sẻ cũng sẽ được cài then, nhưng mọi truy cập trên các hằng chia sẻ sẽ là loại then cài chia sẻ Tức là sẽ không có bất cứ một giao dịch nào làm thay đổi nội dung của biến, như vậy sẽ chỉ có những thao tác đọc trên nó
Trang 29KẾT LUẬN
Nếu các giao dịch thực hiện truy cập đồng thời lên
cơ sở dữ liệu sẽ có rất nhiều vấn đề nảy sinh và không đảm bảo gắn bó thông tin lúc truy cập
Giải quyết vấn đề này người ta đưa ra hàng loạt phương pháp, cơ chế nhằm đảm bảo gắn bó thông tin trong môi trường CSDL phân tán