Tiểu luận môn lý thuyết các hệ phân tán giao dịch và kiểm soát đồng thời

19 570 2
Tiểu luận môn lý thuyết các hệ phân tán giao dịch và kiểm soát đồng thời

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG 16 – GIAO DỊCH KIỂM SOÁT ĐỒNG THỜI 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 Giao dịch (Transactions) Mục đích giao dịch đảm bảo đối tượng trạng thái quán chúng truy cập nhiều giao dịch trường hợp có lỗi xảy Khái niệm Hoạt động nguyên tử Việc sử dụng luồng cho phép nhiều client truy cập vào đối tượng Vì vậy, phương thức đối tượng cần thiết kế để sử dụng bối cảnh đa luồng Nếu luồng gọi phương thức đối tượng đối tượng bị khóa Nếu luồng khác gọi phương thức bị khóa khóa giải phóng Các hoạt động mà không bị can thiệp từ hoạt động đồng thời thực thi luồng khác gọi 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à: - Chúng không bị can thiệp hành động đồng thời từ client khác - Hoặc tất hành động phải thực thành công, hành động thành công máy chủ bị lỗi Ví dụ: Thực giao dịch chuyển tiền tài khoản ngân hàng: Tài khoản A B tương ứng có $500 $100; Cần chuyển $300 từ tài khoản A sang tài khoản B Sẽ có lệnh cập nhật sau: - Trừ số tiền có tài khoản A $300 - Cộng thêm số tiền có tài khoản B thêm $300 Nếu lệnh diễn độc lập (không giao dịch), đó, lệnh thứ bị lỗi, tài khoản A $200 tài khoản B giữ nguyên $100 Điều chấp nhận $300 dưng biến Nếu thực lệnh giao dịch, đảm bảo - Hoặc lệnh cập nhật thành công - Hoặc trường hợp có lỗi lệnh bị hủy Năm 1983, Cụm từ ACID đưa để dễ dàng ghi nhớ tính chất giao dịch:  Tính nguyên tử (Atomicity) Một giao dịch có nhiều thao tác khác biệt toàn thao tác không thao tác hoàn thành  Tính quán (Consistency) Một giao dịch tạo trạng thái liệu hợp lệ, trường hợp có lỗi toàn liệu chuyển toàn trạng thái trước thực giao dịch  Tính tách biệt (Isolation) Một giao dịch thực chưa xác thực phải bảo đảm tách biệt khỏi giao dịch khác Tính bền vững (Durability) Dữ liệu xác thực hệ thống lưu trữ cho trường hợp hỏng hóc có lỗi hệ thống, liệu đảm bảo trạng thái xác Ví dụ: Lịch sử giao dịch Client mở thành công giao dịch đến Server, giao dịch cấp định danh, định danh sử dụng hoạt động khác giao dịch Các hoạt động từ Client Server ban đầu thực thành công Khi hoạt động Server bị lỗi, Server gửi thông báo cho Client Khi Client Hủy bỏ giao dịch, giao dịch kết thúc  Một số Đặc điểm giao dịch - Nếu máy chủ bị lỗi bất thường hành động cuối cần thay - Bất kỳ giao dịch chưa xác thực bị hủy bỏ - Giao dịch xác thực thời điểm gần sử dụng để khôi phục giá trị cho đối tượng - Để đối phó với client bị lỗi trình giao dịch, máy chủ cung cấp cho giao dịch, khoảng thời gian định loại bỏ giao dịch không hoàn thành trước thời gian - Nếu máy chủ bị lỗi tiến hành giao dịch, client nhận hành động trả sau hết thời gian chờ Nếu máy chủ bị lỗi, giao dịch không giá trị khách hàng phải thực giao dịch 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 giao dịch lồng gọi giao dịch top-level Các giao dịch khác nhỏ giao dịch toplevel gọi giao dịch - Một giao dịch bị hủy bỏ cách độc lập với giao dịch khác Ư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 Điều cho phép thêm vào giao dịch đồng thời Khi giao dịch chạy server khác nhau, chúng làm việc song song - Các giao dịch xác thực Hủy bỏ độc lập So với giao dịch đơn, tập hợp giao dịch lồng mạnh mẽ Ví Dụ: gửi email cho nhiều người lúc, email không tồn (sai địa chỉ) có mail không đến địa Nghĩa giao dịch thất bại không làm cho toàn giao dịch bị khởi động lại Các quy tắc việc xác thực giao dịch lồng nhau: • Một giao dịch Xác thực Hủy bỏ sau giao dịch hoàn thành • Khi giao dịch hoàn thành, Xác thực tạm thời Hủy bỏ tạm thời • Khi giao dịch cha mẹ bị hủy bỏ, tất giao dịch bị hủy bỏ Ví Dụ, T2 Hủy bỏ T21 T211 Hủy bỏ, chúng Xác thực tạm thời • Nếu giao dịch top-level Xác thực, tất giao dịch mà xác thực tạm thời xác thực thức, miễn không giao dịch bên bị hủy bỏ Ví Dụ, Nếu T Xác thực cho phép T1, T11 T12 Xác thực, T21 T211 không cha mẹ chúng T2 bị Hủy bỏ • Trong nhiều trường hợp, giao dịch top-level định Hủy bỏ nhiều giao dịch bị Hủy bỏ Ví Dụ: Chuyển 100$ từ B tới A: Cộng vào A $100 Trừ $100 từ B Điều cấu trúc cặp giao dịch, cho giao dịch Cộng tiền cho giao dịch trừ tiền hai tài khoản Khi giao dịch xác thực, giao dịch cha xác thực Giả sử giao dịch Trừ tiền B bị Hủy, Giao dịch công tiền xác thực: gọi lại xác thực giao dịch điều kiện cho cha mẹ xác thực Giả sử giao dịch top-level định Hủy bỏ Việc Hủy bỏ cha mẹ gây giao dịch Hủy bỏ giao dịch Cộng tiền bị Hủy bỏ tất việc làm bị undo Kiểm soát truy cập đồng thời The Lost update problem (Vấn đề liệu cập nhật): - Tình trạng xảy có nhiều giao dịch thực cập nhật đơn vị liệu Khi đó, kết thao tác cập nhật thực sau đè lên kết thao tác cập nhật trước Tài khoản A, B, C có số dư tương ứng $100, $200, $300 Giao dịch T (A => B) Giao dịch U (C => B) Xem số dư tài $200 khoản B Tăng số dư B $200*10 thêm 10% lấy từ A % = $220 Trừ Tài khoản A số $80 Xem số dư tài $220 tiền chuyển vào B khoản B – Còn lại Tăng số dư B $220*10 thêm 10% % = $242 Trừ Tài khoản C số $278 tiền chuyển vào B – Còn lại Khi giao dịch thực đồng thời: Như vậy, tài khoản B cập nhật lần, có số dư $220 thay giá trị phải $242 Số dư tài khoản C $288 thay giá trị $278 Inconsistent retrievals (Truy vấn không phù hợp): Đây tình hoạt động truy vấn hoạt động cập nhật xử đồng thời, khiến giao dịch truy cập nhiều lần liệu cho nhiều giá trị khác tài khoản A,B ban đầu có số dư $200, Sau hoạt động trừ $100 từ tài khoản A, Hoạt động tính tổng số dư tài khoản $100+$200=$300 =>điều không xác Hoạt động cộng vào tài khoản B $100, B có $300 Nghĩa là, giao dịch W thực truy vấn giao dịch V thực chuyển số tiền từ tài khoản A sang B chưa hoàn thành Serial equivalence (tuần tự): Đây cách khắc phục tình Mất liệu cập nhật Truy vấn không phù hợp Khi hoạt động không bị xung đột cho phép thực đồng thời Còn ngược lại, phải thực Xong giao dịch giao dịch thực Khóa - Giao dị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 động giao dị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 - Một máy chủ thường có chứa số lượng lớn đối tượng, giao dịch điển hình truy cập vài số chúng gần không xung đột với giao dịch vãng lai khác - Phạm vi cho truy cập đồng thời đến đối tượng bị hạn chế nghiêm trọng khóa áp dụng cho tất đối tượng lúc - Một cách thích hợp sử dụng khóa để có nhiều giao dịch đồng thời đọc đối tượng, giao dịch ghi đối tượng - Khóa đọc –ghi: cho phép nhiều giao dịch giữ khóa mục liệu, có thao tác ( read –lock, write –lock) - Khóa treo a Quy tắc xung đột hoạt động: Nếu giao dịch T đọc đối tượng giao dịch đồng thời U không ghi lên đối tượng đến T xác nhận hủy bỏ Nếu giao dịch T thực ghi đối tượng giao dịch đồng thời U không đọc hay ghi T xác nhận hủy bỏ Hình ví dụ xung đột hoạt động: cho đối tượng với khóa thiết lập: • None: giao dịch chưa có đối tượng đọc ghi giao dịch đồng thời khác đọc ghi • Read: giao dịch đọc đối tượng giao dịch đồng thời khác đọc không ghi • Write: giao dịch ghi đối tượng giao dịch đồng thời khác đọc ghi đối tượng - Giải vấn đề inconsistent retrieval: Nếu giao dịch đọc đến trước, trì hoãn giao dịch ghi - Giải vấn đề lost update: Mất cập nhật xảy hai giao dịch đọc giá trị đối tượng sau sử dụng để tính toán giá trị Mất cập nhật ngăn ngừa cách làm cho giao dịch sau trì hoãn lần đọc giao dịch trước hoàn thành Điều đạt giao dịch thiết lập khóa đọc đọc đối tượng sau thăng cấpnó thành khóa viết viết đối tượng - giao dịch yêu cầu đọc khóa bị trì hoãn giao dịch hoàn thành Quy sử dụng Khóa: khóa hai pha nghiêm ngặt 1) Khi hành động truy cập đối tượng giao dịch: a) Nếu đối tượng không bị khóa, bị khoá thực thi hành động b) Nếu đối tượng có khóa xung độtvới giao dịch khác, giao dịch phải chờ đợi mở khóa c) Nếu đối tượng có khóa không xung đột với giao dịch khác, khóa chia sẻ thực thi hành động d) Nếu đối tượng bị khóa giao dịch, khóa nâng cấp cần thiết thực thi hành động (Trong trường hợp nâng cấp bị ngăn chặn khóa xung đột, quy tắc b sử dụng.) 2) Khi giao dịch thành công hủy bỏ, máy chủ mở khóa tất đối tượng bị khóa Quy tắc sử dụng khóa cho giao dịch lồng Sử dụng khóa để giao dịch truy cập cách tuần tự: 1) Mỗi tập hợp giao dịch lồng phải ngăn chặn tác độngcủa tập hợp giao dịch lồng khác 2) Mỗi giao dịch tập hợp giao dịch lồng phải ngăn chặn tác động giao dịch khác tập hợp Quy tắc thực cách xếp tất khóa mua lại giao dịch thành công, kế thừa cha mẹ nó hoàn thành - Lưu ý hình thức kế thừa truyền từ đến mẹ - Các giao dịch kế thừa tất khóa mua lại giao dịch thành công - Điều đảm bảo khóa giữ giao dịch cam kết hủy bỏ, ngăn chặn thành viên giao dịch lồng khác Quy tắc thứ hai thực sau: - Giao dịch mẹ không phép chạy đồng thời với giao dịch Nếu giao dịch mẹ có khóa đối tượng, giữ khóa thời gian giao dịch mà thực Điều có nghĩa giao dịch tạm thời mua lại khóa từ cha mẹ - Các giao dịch cấp phép chạy đồng thời, nên chúng truy cập vào đối tượng, chương trình khóa phải theo truy cập chúng 4.1 Deadlocks - Việc sử dụng Khóa dẫn tới Deadlocks - Là trạng thái mà hoạt động nhóm giao dịch chờ đợi để số hoạt động khác phát hành khóa Một đồ thị wait - for sử dụng để đại diện cho mối quan hệ giao dịch Một nút tương ứng với giao dịch hoạt động 10 a.deposit(100); write lock A: Gửi tiền vào A, cấp Khóa cho A b.withdraw(100) : Rút tiền từ B • Giao dịch T: gửi tiền vào A, cấp khóa cho A; lấy tiền từ B • Giao dịch U: gửi tiền vào tài khoản B lấy từ A  tài khoản B bị khóa • Trừ tiền tài khoản B B bị khóa nên phải đợi khóa B giao dịch U mở • Trong giao dịch U trừ tiền tài khoản A A bị khóa nên phải đợi khóa A giao dịch T mở Phòng chống Deadlocks - Một cách đơn giản cách tốt nhất, khóa tất đối tượng sử dụng giao dịch bắt đầu - Tuy nhiên, Phương pháp làm hạn chế quyền truy cập vào tài nguyên sử dụng chung Ngoài ra, điều dự đoán vào lúc bắt đầu giao dịch mà đối tượng sử dụng Điều thường trường hợp ứng dụng tương tác, cho người sử dụng phải nói trước cách xác đối tượng mà họ lên kế hoạch sử dụng - Deadlocks ngăn ngừa cách yêu cầu khóa đối tượng trật tự xác định trước, điều dẫn đến khóa sớm làm giảm đồng thời - Các thuật toán WAIT-DIE WOUND- DIE thiết kế dựa gán nhãn thời gian cho giao dịch WAIT-DIE - WOUND- DIE Là thuật toán không tước quyền yêu cầu khóa T i bị từ chối khóa Tj giữ, không tước quyền Tj 11 - Là thuật toán tước quyền khẳng định theo quy tắc sau: Nếu Ti yêu cầu khóa mục liệu Tj khóa Ti phép chờ - - tắc sau: Nếu Ti yêu cầu khóa mục liệu khóa Tj Ti phép chờ khi Ti > Tj Nếu Ti < Tj Ti bị hủy bỏ khởi động lại với nhãn thời gian cũ Quy < Tj Ngược lại Tj bị hủy khóa trao cho Ti Nâng cấp khóa Deadlocks thường gây hai giao dịch xung đột tham gia khóa đọc sau cố gắng thúc đẩy để có khóa ghi Một giao dịch với khóa nâng cấp mục liệu phép đọc, khóa xung đột với ổ khóa nâng cấp thiết lập giao dịch khác mục liệu tương tự Đây loại khóa thiết lập ngầm việc sử dụng hoạt động đọc, phải theo yêu cầu khách hàng Phát Deadlocks - Deadlocks phát cách tìm chu trình đồ thị waitfor Sau phát bế tắc, giao dịch phải bị hủy bỏ để phá vỡ chu trình - Giao dịch T đợi chờ giao dịch U, V Để phá bỏ Deadlock: sau phát - Giao dịch V đợi chờ giao dịch Deadlock, phải phá bỏ giao dịch để phá vỡ chu trình W - Bây xem xét kịch bản: - Giao dịch W đợi chờ giao dịch giao dịch T, U, V chia sẻ khóa đọc T, U ,V đối tượng C giao dịch W chứa  tạo chu trình giao dịch 12 xảy đồng thời khóa ghi đối tượng B, mà giao dịch V chờ đợi để có khóa  xảy tình trạng Deadlock - Các giao dịch T W sau yêu cầu ghi ổ khóa đối tượng C tình bế tắc phát sinh T đợi U V, V đợi chờ W, chờ đợi W cho T, U, V hình bên trái  Điều cho thấy giao dịch đợi chờ cỉ có đối tượng thời gian, tham gia vào nhiều chu trình Ví dụ giao dịch V tham gia vào chu trình: V WT VWT Trong ví dụ này, giả sử vòng giao dịch V bị phá bỏ  điều phát hành khóa V C chu trình liên quan V bị phá vỡ Timeouts - Khóa timeout phương pháp để giải bế tắc thường sử dụng - Mỗi khóa cho khoảng thời gian định Sau thời gian này, khóa bị tổn thương Tuy nhiên, giao dịch khác phải chờ đợi để truy cập đối tượng này, khóa bị tổn thương bị hỏng (có nghĩa là, đối tượng mở khóa) giao dịch chờ đợi tiếp tục Các giao dịch mà khóa bị phá vỡ thường bị hủy bỏ - Mô tả: Có giao dịch T giao dịch U 13 • Giao dịch T: gửi tiền tài khoản A lấy tiền từ B, cấp khóa cho tài khoản A • Giao dịch U: gửi tiền tài khoản B lấy tiền từ A, cấp khóa cho tài khoản B • Giao dịch T: Trừ tiền tài khoản B B bị khóa phải đợi khóa B giao dịch U mở • Trong giao dịch U: trừ tiền tài khoản A A bị khóa phải đợi khóa A giao dịch T mở  Để mở khóa phát sinh thời gian chờ  Giao dịch T không chờ đợi dừng Giao dịch U: Rút tiền từ tài khoản A, viết khóa cho A, mở khóa A, B Kiểm soát đồng thời tin cậy - Kung Robison [1981] xác định số nhược điểm cố hữu khóa đề xuất cách tiếp cận lạc quan thay để tránh nhược điểm Tóm tắt nhược điểm Khóa: • Việc trì khóa phát sinh chi phí giao dị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 Nhưng phương pháp hoàn toàn thỏa đáng, để sử dụng hoạt động có tương tác • Khóa phát hành kết thúc giao dịch Điều làm giảm khả hoạt động đồng thời - Các thuật toán kiểm soát đồng thời khóa nhãn thời gian giả sử tương tranh giao dịch thường xảy không cho phép giao dịch truy cập mục giao dịchgiao dịch truy cập mục liệu Vì vậy, việc thực thao tác giao dịch phải tuân theo trình theo thứ tự: kiểm tra, đọc, tính toán ghi - Kiểm soát đồng thời tin cậy làm chậm trình ghi liệu - Các thao tác đọc, tính toán ghi thực tự mà cập nhật vào sở liệu thực - Mỗi giao dịch lúc đầu, cập nhật lên cục bộ, cập nhật kiểm tra có trì tínhnhất quán sở liệu hay không - Nếu quán, thay đổi ghi vào sở liệu thực Ngược lại, giao dịch bị hủy bỏ phải khởi động lại - Khi giao dịch kiểm tra cục để đảm bảo tính quán cục bộ, yêu cầu cần phải kiểm tra toàn cục để đảm bảo tính quán toàn cục Đáng tiếc chưa có phương pháp để kiểm tra việc 14 - Một giao dịch kiểm tra toàn cục, tất giao dịch cục trước kết thúc Phương pháp có phần bi quan thực kiểm tra toàn cục sớm làm trễ giao dịch Tuy nhiên,nó đảm bảo cho giao dịch thực theo thứ tự trạm Các thuật toán điều khiển đồng thời lạc quan cho phép mức độ hoạt động đồng thời cao Trong trường hợp tương tranh giao dịch xảy ra, chế lạc quan thực hiệu chế khóa - Nhược điểm chủ yếu thuật toán lạc quan chi phí lưu trữ cao Nhãn thời gian (Timestamp) - Trong đề án kiểm soát đồng thời dựa thứ tự nhãn thời gian, hoạt động giao dịch xác nhận thực Nếu hoạt động xác nhận, việc giao dịch bị hủy bỏ sau khởi động lại client Mỗi giao dịch gán nhãn thời gian bắt đầu - Các nhãn thời gian xác định vị trí trình tự thời gian giao dịch - Thứ tự yêu cầu từ giao dịch hoàn toàn theo nhãn thời gian chúng - Các quy tắc cấp nhãn thời gian dựa hoạt động xung đột: • 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 giao dịch trước • Yêu cầu giao dịch để đọc đối tượng hợp lệ đối tượng ghi giao dịch trước - Nếu giao dịch có phiên dự kiến riêng đối tượng mà truy cập, nhiều giao dịch đồng thời truy cập đối tượng - Các quy tắc đặt nhãn thời gian đảm bảo giao dị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 giao dịch thực chúng - Các giao dịch chờ đợi, chờ giao dị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 giao dịch trước kết thúc Điều khôngdẫn đến Deadlock, giao dịch chờ đợi giao dị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 - Các nhãn thời gian ghi đối tượng xác thực sớm so với phiên dự kiến nó, tập nhãn thời gian đọc biểu diễn thành viên lớn 15 - Khi hoạt động ghi giao dịch đối tượng chấp nhận, máy chủ tạo phiên dự kiến đối tượng với nhãn thời gian ghi nhãn thời gian giao dịch - Hoạt động đọc giao dịch dẫn đến phiên có nhãn thời gian ghi lớn so với nhãn thời gian giao dịch - Khi hoạt động đọc giao dịch đối tượng chấp nhận, nhãn thời gian giao dịch thêm vào tập nhãn thời gian đọc - Khi giao dịch xác thực, giá trị phiên dự kiến trở thành giá trị đối tượng, nhãn thời gian phiên dự kiến trở thành nhãn thời gian đối tượng tương ứng a Các hoạt động xung đột nhãn thời gian:được mô tả qua luật - Trong timestamp, yêu cầu giao dịch cho hoạt động đọc ghi đối tượng kiểm tra xem liệu có phù hợp với quy tắc hoạt động xung đột Một yêu cầu giao dịch T c xung đột với hoạt động trước thực giao dịch khác, T i, mà nhãn thời gian chúng cần phải muộn T c Các quy tắc thể bảng đây, Ti > Tc nghĩa Ti muộn Tc Ti < Tc nghĩa Ti sớm Tc Luật Tc Write Ti Read - Write Write - Read Write - Tc ghi lên đối tượng mà đọc Ti có Ti > Tc ( nghĩa Ti xảy muộn Tc) Điều đòi hỏi Tc >= nhãn thời gian đọc tối đa đối tượng Tc không ghi đối tượng mà ghi Ti, có Ti > Tc Điều đòi hỏi Tc > nhãn thời gian ghi cuả đối tượng xác thực Tc không đọc đối tượng mà ghi Ti, có Ti > Tc Điều đòi hỏi Tc > nhãn thời gian ghi cuả đối tượng xác thực b Quy tắc ghi: cách kết hợp luật 2, có quy tắc sau để định có nên chấp nhận hoạt động ghi theo yêu cầu giao dịch T c đối tượng D: - Nếu ( Tc >= nhãn thời gian lớn D Tc > nhãn thời gian ghi phiên xác thực D)  Thực hoạt động ghi phiên dự kiến D với nhãn thời gian ghi T c Ngược lại: hủy bỏ giao dịch Tc //ghi muộn 16 - Nếu phiên dự kiến có nhãn thời gian ghi T c tồn tại, hoạt động ghi gửi đến nó; không, phiên dự kiến tạo có nhãn thời gian ghi Tc - Ví dụ hình 16.30 mô tả quy tắc ghi nhãn thời gian: - Hình minh họa hoạt động hoạt động ghi giao dịch T trường hợp T3 >= nhãn thời gian đọc lớn đối tượng (các nhãn thời gian đọc không hiển thị) • Trường hợp (a), (b) : T > nhãn thời gian ghi phiên xác thực đối tượng giao dịch thực • Trường hợp (c): T3 > nhãn thời gian ghi phiên dự kiến nhãn thời gian T3 chèn vào vị trí thích hợp danh sách phiên dự kiến xếp theo thời gian giao dịch chúng • Trường hợp (d): T3 < nhãn thời gian ghi phiên xác thực đối tượng  giao dịch bị hủy bỏ c Quy tắc đọc: cách sử dụng quy tắc 3, có quy tắc đọc sau để định có nên chấp nhận lập tức, chờ đợi từ chối hoạt động đọc theo yêu cầu giao dịch Tc đối tượng D: - Nếu ( Tc > nhãn thời gian ghi phiên xác thực D { Để D lựa chọn phiên D với nhãn thời gian ghi tối đa Tc Nếu (D lựa chọn xác thực) Thực hoạt động đọc phiên D lựa chọn Ngược lại: 17 Chờ đợi giao dịch làm cho phiên D lựa chọn xác thực hủy bỏ sau áp dụng lại quy tắc đọc } - Ngược lại hủy bỏ giao dịch Tc - Chú ý: • Nếu giao dịch Tc viết phiên riêng đối tượng, chúng sử dụng • Một hoạt động đọc mà đến sớm phải đợi cho giao dịch trước hoàn thành Nếu giao dịch trước xác thực, Tc đọc từ phiên xác thực Nếu hủy bỏ, Tc lặp lại quy tắc đọc (và chọn phiên trước đó) • - Một hoạt động đọc mà đến muộn nghĩa giao dịch với nhãn thời gian sau ghi đối tượng Hình minh họa quy tắc đọc bao gồm trường hợp có gắn nhãn từ (a) (d), trường hợp minh họa cho đối tượng đọc giao dịch T3 Trong trường hợp, phiên có nhãn thời gian ghi T3 chọn Nếu phiên tồn tại, định với đường 18 • Trong trường hợp(a), (b) hoạt động đọc chuyển đến phiên xác thực – (a) phiên nhất, (b) có phiên dự kiến thuộc giao dịch sau • Trong trường hợp (c) hoạt động đọc chuyển đến phiên dự kiến phải chờ đến giao dịch cam kết hủy bỏ • Trong trường hợp (d) phiên phù hợp để đọc giao dịch T3 bị hủy bỏ 19 ... giao dịch top-level Các giao dịch khác nhỏ giao dịch toplevel gọi giao dịch - Một giao dịch bị hủy bỏ cách độc lập với giao dịch khác Ưu điểm giao dịch lồng nhau: - Các giao dịch mức chạy đồng thời. .. hết thời gian chờ Nếu máy chủ bị lỗi, giao dịch không giá trị khách hàng phải thực giao dịch 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 giao dịch lồng gọi giao. .. None: giao dịch chưa có đối tượng đọc ghi giao dịch đồng thời khác đọc ghi • Read: giao dịch đọc đối tượng giao dịch đồng thời khác đọc không ghi • Write: giao dịch ghi đối tượng giao dịch đồng thời

Ngày đăng: 03/10/2017, 13:27

Hình ảnh liên quan

- Ví dụ trong hình 16.30 mô tả quy tắc ghi và nhãn thời gian: - Tiểu luận môn lý thuyết các hệ phân tán giao dịch và kiểm soát đồng thời

d.

ụ trong hình 16.30 mô tả quy tắc ghi và nhãn thời gian: Xem tại trang 17 của tài liệu.
- Hình trên minh họa quy tắc đọc bao gồm 4 trường hợp có gắn nhãn từ (a) (d), mỗi trường hợp minh họa cho 1 đối tượng đọc bởi giao dịch T3 - Tiểu luận môn lý thuyết các hệ phân tán giao dịch và kiểm soát đồng thời

Hình tr.

ên minh họa quy tắc đọc bao gồm 4 trường hợp có gắn nhãn từ (a) (d), mỗi trường hợp minh họa cho 1 đối tượng đọc bởi giao dịch T3 Xem tại trang 18 của tài liệu.

Từ khóa liên quan

Mục lục

  • 1. Giao dịch (Transactions)

  • 2. Giao dịch lồng nhau

  • 3. Kiểm soát truy cập đồng thời

  • 4. Khóa

  • 5. Kiểm soát đồng thời tin cậy

  • 6. Nhãn thời gian (Timestamp)

Tài liệu cùng người dùng

Tài liệu liên quan