Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
659,57 KB
Nội dung
KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN Môn học: LýthuyếthệphântánGiaodịchKiểmsoátđồngthời Nhóm 10: Lê Thị Huế Nguyễn Tiến Thụy Lớp: Khóa: Hệ thống thông tin K27B 10/3/17 Nội dung GiaodịchGiaodịch lồng Kiểmsoát truy cập đồngthời Khóa Kiểmsoátđồngthời tin cậy Nhãn thời gian 10/3/17 GiaoDịch - Mục đíchgiaodịch đảm bảo đối tượng trạng thái quán chúng truy cập nhiều giaodịch trường hợp có lỗi xảy - Khái niệm hoạt động nguyên tử - Trong số trường hợp, client đòi hỏi chuỗi yêu cầu riêng biệt, yêu cầu đặt là: • • Không bị can thiệp hành độngđồngthời từ client khác Hoặc tất hoạt động phải thực thành công, hành động thành công máy chủ bị lỗi 10/3/17 GiaoDịch (2) Ví dụ: Thực giaodịch chuyển tiền tài khoản ngân hàng Chuyển $300 từ tài khoản A sang B A $200 $500 B $100 $300 $300 10/3/17 GiaoDịch (3) ACID – Các tính chất giao dịch: Tính nguyên tử (Atomicity) Tính quán (Consistency) Tính tách biệt (Isolation) Tính bền vững (Durability) 10/3/17 GiaoDịch (4) Lịch sử giaodịch 10/3/17 GiaoDịch (5) Đặc điểm giaodịch • • • • Nếu máy chủ bị lỗi bất thường hành động cuối cần thay Bất kỳ giaodịch chưa xác thực bị hủy bỏ Giaodịch xác thực thời điểm gần sử dụng để khôi phục Để đối phó với client bị lỗi trìnhgiao dịch, máy chủ cung cấp cho giao dịch, khoảng thời gian định loại bỏ giaodịch không hoàn thành trước thời gian • … 10/3/17 Giaodịch lồng • • Giaodịch lồng giaodịch bao gồm số giaodịch khác Giaodịch gọi giaodịch top-level Cácgiaodịch khác nhỏ gọi giaodịch • Một giaodịch bị hủy bỏ cách độc lập với giaodịch khác 10/3/17 Giaodịch lồng (2) Ưu điểm giaodịch lồng nhau: • Cácgiaodịch mức chạy đồngthời với giaodịch khác mức phân cấp • Cácgiaodịch xác thực hủy bỏ độc lập Các quy tắc xác thực giaodịch lồng nhau: • • • Một giaodịch xác thực hủy bỏ sau giaodịch hoàn thành Khi giaodịch hoàn thành, xác thực tạm thời Hủy bỏ tạm thời … T, T1, T11, T12, T2, T21, T22 10/3/17 Kiểmsoát truy cập đồngthời Vấn đề liệu cập nhật Ví dụ: Tài khoản A, B, C có số dư tương ứng $100, $200, $300 - Khi giaodịch thực lần lượt: Giaodịch T (A => B) Giaodịch U (C => B) Xem số dư tài khoản B Tăng số dư B thêm 10% lấy từ A $200 $200*10% = $220 Trừ Tài khoản A số tiền chuyển vào B $80 Xem số dư tài khoản B Tăng số dư B thêm 10% lấy từ C $220 $220*10% = $242 Trừ Tài khoản C số tiền chuyển vào B 10 $278 10/3/17 Khóa • • • • Giaodịch phải lên kế hoạch để tác động lên liệu chia sẻ cách Một chế đơn giản việc sử dụng Khóa Máy chủ khóa đối tượng sử dụng hoạt độnggiaodịch client Nếu client khác yêu cầu quyền truy cập vào đối tượng bị khóa yêu cầu bị treo phải chờ đến đối tượng mở khóa 14 10/3/17 Khóa (2) Ví dụ Xung đột hoạt động 15 10/3/17 Khóa (3) Quy tắc sử dụng Khóa: 1) Trong giao dịch, hành động truy cập đối tượng: a) b) Nếu đối tượng không bị khóa, bị khoá thực thi hành động Nếu đối tượng có khóa xung đột với giaodịch khác, giaodịch phải chờ đợi mở khóa 2) 16 Khi giaodịch thành công hủy bỏ, tất khóa đối tượng mở 10/3/17 Khóa (4) Quy tắc sử dụng khóa cho giaodịch lồng nhau: Sử dụng khóa để giaodịch truy cập cách tuần tự: - Mỗi tập hợp giaodịch lồng phải ngăn chặn tác động tập hợp giaodịch lồng khác - Mỗi giaodịch tập hợp giaodịch lồng phải ngăn chặn tác độnggiaodịch khác tập hợp 17 10/3/17 Khóa (5) Deadlocks: 18 10/3/17 Khóa (6) Phòng chống Deadlocks: 1.Phát Deadlocks: 19 10/3/17 Khóa (7) Phòng chống Deadlocks: 2.Timeouts: 20 10/3/17 Kiểmsoátđồngthời tin cậy - Việc trì khóa phát sinh chi phí giaodịch đọc không ảnh hưởng đến thay đổi liệu - Việc sử dụng khóa dẫn đến DeadLock Phòng chống DeadLock làm giảm khả hoạt độngđồng thời, tình DeadLock phải giải cách sử dụng timeout cách phát DeadLock - Khóa phát hành kết thúc giaodịch Điều làm giảm khả hoạt độngđồngthời 21 10/3/17 Nhãn thời gian - 22 Mỗi giaodịch gán nhãn thời gian bắt đầu Các nhãn xác định vị trí trình tự thời gian giaodịch Thứ tự yêu cầu từ giaodịch hoàn toàn theo nhãn thời gian chúng 10/3/17 Nhãn thời gian (2) - Quy tắc cấp nhãn thời gian dựa hoạt động xung đột: • Yêu cầu giaodịch để đọc đối tượng hợp lệ đối tượng ghi giaodịch trước • Yêu cầu giao dịch, để Ghi đối tượng hợp lệ lần đọc đối tượng lần đọc cuối ghi giaodịch trước 23 10/3/17 Nhãn thời gian (3) - Nếu giaodịch có phiên dự kiến riêng đối tượng mà truy cập, nhiều giaodịchđồngthời truy cập đối tượng - Các quy tắc đặt nhãn thời gian đảm bảo giaodịch truy cập tập phiên đối tượng Nó phải đảm bảo phiên dự kiến đối tượng xác thực theo thứ tự xác định nhãn thời gian giaodịch thực chúng 24 10/3/17 Nhãn thời gian (4) - Cácgiaodịch chờ đợi, chờ giaodịch trước hoàn tất việc ghi chúng cần thiết Các hoạt động ghi thực sau hoạt độngđóng lại Hoạt động đọc cần phải chờ đợi cho giaodịch trước kết thúc Điều không dẫn đến Deadlock, giaodịch chờ đợi giaodịch trước (không thể có chu trình đồ thị wait-for) - Mỗi đối tượng có nhãn thời gian ghi thiết lập phiên thử nghiệm, có nhãn thời gian ghi liên kết với nó; đối tượng có tập hợp nhãn thời gian đọc 25 10/3/17 Nhãn thời gian (5) Quy tắc GHI 26 10/3/17 Nhãn thời gian (6) Quy tắc ĐỌC 27 10/3/17 Thanks you! 28 10/3/17 ... 10/3/17 Giao dịch lồng • • Giao dịch lồng giao dịch bao gồm số giao dịch khác Giao dịch gọi giao dịch top-level Các giao dịch khác nhỏ gọi giao dịch • Một giao dịch bị hủy bỏ cách độc lập với giao dịch. .. 10/3/17 Giao dịch lồng (2) Ưu điểm giao dịch lồng nhau: • Các giao dịch mức chạy đồng thời với giao dịch khác mức phân cấp • Các giao dịch xác thực hủy bỏ độc lập Các quy tắc xác thực giao dịch. ..Nội dung Giao dịch Giao dịch lồng Kiểm soát truy cập đồng thời Khóa Kiểm soát đồng thời tin cậy Nhãn thời gian 10/3/17 Giao Dịch - Mục đích giao dịch đảm bảo đối tượng trạng