Các thuật toán điều khiển tương tranh trong cập nhật dữ liệu phân tán

26 247 0
Các thuật toán điều khiển tương tranh trong cập nhật dữ liệu phân tán

Đ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

Header Page of 126 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG BẠCH NGỌC DƯƠNG CÁC THUẬT TOÁN ĐIỀU KHIỂN TƯƠNG TRANH TRONG CẬP NHẬT DỮ LIỆU PHÂN TÁN Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2011 Footer Page of 126 -1- Header Page of 126 Công trình ñược hoàn thành ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TS LÊ VĂN SƠN Phản biện 1: TS HUỲNH CÔNG PHÁP Phản biện 2: TS TRƯƠNG CÔNG TUẤN Luận văn ñược bảo vệ Hội ñồng chấm Luận văn tốt nghiệp thạc sĩ kỹ thuật họp Đại học Đà Nẵng vào ngày 10 tháng 09 năm 2011 Có thể tìm hiểu luận văn tại: - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng - Trung tâm Học liệu, Đại học Đà Nẵng Footer Page of 126 -1- Header Page of 126 MỞ ĐẦU Lý chọn ñề tài Ngày nay, Công nghệ Thông tin ñã thực trở thành nhân tố quan trọng sản xuất phát triển kinh tế toàn xã hội với phạm vi toàn cầu Trong kinh tế tri thức, Công nghệ Thông tin ñóng vai trò then chốt Mạng máy tính, ñặc biệt Internet trở thành công cụ ñắc lực thiếu cho tổ chức xã hội Các yêu cầu lưu trữ xử lý liệu phân tán nhiều vị trí ñịa lý khác nhằm tăng hiệu sử dụng mạng máy tính, ñồng thời ñòi hỏi phải có tính ñồng tiến trình xa Lúc này, hệ CSDL thường xảy trường hợp nhiều yêu cầu truy cập ñồng thời ñến tài nguyên liệu Chẳng hạn, hệ thống ñặt chỗ tàu hỏa hãng ñường sắt, có nhiều nhà ga bán vé Tại thời ñiểm, ñại lý bán vé ñồng thời Vì vậy, kiểm soát, tình trạng ghế ngồi ñược bán nhiều lần xảy Xét ví dụ khác hệ thống báo ñiểm thi ñại học Tại thời ñiểm, có nhiều thí sinh truy cập vào CSDL ñiểm ñể xem kết thi Vì truy cập thí sinh trường hợp truy cập ñọc; chúng không làm thay ñổi liệu Như vậy, ñối với truy cập ñọc có nhiều thao tác thực ñồng thời tốt, tiết kiệm ñược thời gian Ngược lại, với truy cập có làm thay ñổi giá trị liệu, cần kiểm soát truy cập Cách an toàn yêu cầu truy cập ñó thực cách Nhưng làm vậy, hiệu hệ thống Trên thực tế, giao dịch bao gồm nhiều thao tác, ñọc xen kẻ với ghi Do ñó, toán ñặt là, ñể tăng hiệu hoạt ñộng hệ thống, cần ñưa phương pháp cho phép thực thao tác ñồng thời ñảm bảo ñược tính toàn vẹn tính quán liệu, ngăn Footer Page of 126 -2- Header Page of 126 cản ñược thao tác tương tranh có khả phá hủy tính toàn vẹn tính quán liệu Muốn vậy, cần phải nghiên cứu quản lý giao dịch ñiều khiển tương tranh Có nhiều thuật toán ñiều khiển tương tranh ñược ñề xuất Trong ñó, có thuật toán ñã ñược cài ñặt hệ CSDL thực tế, có nhiều thuật toán chưa triển khai cài ñặt hệ CSDL Riêng Việt Nam, chưa có nhiều công trình liên quan ñến vấn ñề mà chủ yếu tài liệu biên dịch từ công trình tác giả nước Do vậy, việc nghiên cứu ñề tài cần thiết ñể hiểu rõ nguyên lý hệ CSDL làm tài liệu tham khảo cho ñối tượng ñộc giả sinh viên chuyên ngành Tin học người có quan tâm Mục tiêu nhiệm vụ nghiên cứu Mục tiêu ñề tài tìm hiểu tổng quan hệ CSDL phân tán, giao dịch phân tán, tìm hiểu thuật toán ñiều khiển tương tranh cập nhật liệu phân tán Phân tích thuật toán ñể ñưa ñánh giá, so sánh thuật toán với nhau; ñề xuất trường hợp sử dụng với thuật toán Đồng thời, bước ñầu ñề xuất cài ñặt mô thuật toán ñiều khiển tương tranh ñể làm sở nghiên cứu cài ñặt cho ứng dụng thực tế có ñiều kiện Đề tài tập trung tìm hiểu chủ yếu thuật toán ñiều khiển tương tranh cập nhật liệu phân tán Từ ñó, cài ñặt chương trình minh họa thuật toán khóa pha khả ứng dụng chúng thực tế Đối tượng phạm vi nghiên cứu Hệ CSDL phân tán nói chung lý thuyết quản lý giao dịch, thuật toán ñiều khiển tương tranh cập nhật liệu phân tán nói riêng gồm nhiều vấn ñề lớn phức tạp Vì vậy, ñề tài tập trung vào nghiên cứu số thuật toán ñiều khiển tương tranh sử Footer Page of 126 -3- Header Page of 126 dụng khóa nhãn thời gian Các thuật toán khác không ñi sâu vào phân tích chi tiết Phương pháp nghiên cứu Nghiên cứu lý thuyết: Thu thập, phân tích tài liệu thông tin liên quan ñến ñề tài như: Tìm hiểu tổng quan hệ CSDL phân tán, tìm hiểu giao dịch phân tán, tìm hiểu thuật toán ñiều khiển tương tranh cập nhật liệu phân tán Nghiên cứu ứng dụng: Cài ñặt chương trình minh họa thuật toán khóa pha ñã tìm hiểu Ý nghĩa khoa học thực tiễn ñề tài Kết nghiên cứu làm tài liệu tham khảo cho ñối tượng ñộc giả sinh viên chuyên ngành Công nghệ Thông tin, ñơn vị có nhu cầu xây dựng ứng dụng thực tế ñòi hỏi phải phân tán mặt liệu nhiều vị trí ñịa lý khác yêu cầu phải ñảm bảo tính ñồng liệu người có quan tâm Cấu trúc luận văn Luận văn ñược chia thành chương: Chương 1: Giới thiệu tổng quan hệ quản trị CSDL phân tán; Đánh giá ưu khuyết ñiểm vấn ñề ñặt ñối với hệ CSDL phân tán; Tìm hiểu ràng buộc toàn vẹn hệ CSDL phân tán loại phân mảnh liệu Chương 2: Tìm hiểu giao dịch phân tán, tính khả thuật toán kiểm tra tính khả Chương 3: Nghiên cứu thuật toán ñiều khiển tương tranh cập nhật liệu phân tán bao gồm thuật toán dựa sở khóa nhãn thời gian Tìm hiểu cách xử lý tình trạng bế tắc (Deadlock), giao thức truyền giao Cài ñặt chương trình minh họa thuật toán khóa pha Footer Page of 126 -4- Header Page of 126 Chương TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN 1.1 GIỚI THIỆU VỀ HỆ CSDL PHÂN TÁN 1.1.1 Xử lý phân tán xử lý liệu phân tán Hệ thống tính toán phân tán số phần tử xử lý tự vận hành ñược liên kết mạng máy tính phối hợp thực tác vụ mà chúng ñược phân công Mục ñích việc xử lý phân tán nhằm thích ứng với việc phân bố ñịa lý công ty, thích ứng với ứng dụng môi trường phân tán giải tốt toán lớn phức tạp cách sử dụng quy tắc “chia ñể trị” 1.1.2 Khái niệm hệ CSDL phân tán CSDL phân tán tập hợp nhiều CSDL có liên ñới logic ñược phân bố mạng máy tính Hệ quản trị CSDL phân tán hệ thống phần mềm có chức quản lý hệ CSDL phân tán làm cho việc phân tán trở nên “trong suốt” ñối với người sử dụng 1.1.3 Đánh giá ưu, nhược ñiểm hệ CSDL phân tán 1.1.3.1 Những ưu ñiểm triển vọng hệ CSDL phân tán - Quản lý liệu phân tán nhân suốt - Đảm bảo ñộ tin cậy - Cải thiện hiệu - Tính dễ mở rộng 1.1.3.2 Những khuyết ñiểm khó khăn cần giải hệ CSDL phân tán Một số vấn ñề cần giải hệ CSDL phân tán ñó là: Tính phức tạp, chi phí ñầu tư, phân tán quyền ñiều khiển vấn ñề an ninh (bảo mật) Footer Page of 126 -5- Header Page of 126 1.1.4 Các vấn ñề ñặt ñối với hệ CSDL phân tán * Điều khiển tương tranh phân tán Điều khiển tương tranh cho phép nhiều giao dịch truy cập ñồng thời ñến tài nguyên CSDL tính toàn vẹn CSDL ñược trì * Điều khiển Deadlock phân tán Một hệ thống ñược gọi tình trạng Deadlock tồn tập hợp giao dịch mà giao dịch tập ñều ñợi giao dịch khác Có phương pháp ñể giải tình trạng Deadlock mà phương pháp có ưu khuyết ñiểm riêng: - Giao thức ngăn ngừa DeadLock: Bảo ñảm hệ thống không xảy tình trạng DeadLock - Có thể ñể cho hệ thống xảy tình trạng DeadLock tìm cách khôi phục chúng, gọi sơ ñồ tìm khôi phục DeadLock 1.1.5 Cấu trúc hệ quản trị CSDL phân tán 1.2 THIẾT KẾ CSDL PHÂN TÁN 1.2.1 Cấu trúc tham khảo CSDL phân tán 1.2.2 Các ràng buộc toàn vẹn CSDL phân tán 1.2.3 Thiết kế phân tán 1.2.3.1 Các ñiều kiện phân mảnh 1.2.3.2 Phân mảnh liệu Footer Page of 126 -6- Header Page of 126 Chương CÁC GIAO DỊCH PHÂN TÁN 2.1 CÁC KHÁI NIỆM TRONG GIAO DỊCH PHÂN TÁN 2.1.1 Giao dịch Một giao dịch ñơn vị chương trình ñược thực nhằm mục ñích truy cập ñơn vị liệu ñược lưu trữ nhiều vị trí khác Các tính toán giao dịch thực không làm thay ñổi CSDL cho ñến giá trị ñược ghi vào CSDL Giao dịch thực việc ñọc, ghi, tính toán tạo liệu cho CSDL, yêu cầu giao dịch tính quán tin cậy Các thao tác mà giao dịch thực bao gồm: Read Write 2.1.2 Mục liệu 2.1.3 Khóa Khóa (Lock) quyền giao dịch ñược quản lý khóa trao cho ñể truy cập mục liệu 2.1.4 Bộ xếp lịch giao thức Bộ xếp lịch giao thức ñược sử dụng ñể ngăn ngừa bế tắc Bộ xếp lịch thành phần hệ thống CSDL chịu trách nhiệm xếp lịch biểu cho thao tác giao dịch Giao thức quy tắc mà giao dịch phải tuân theo 2.1.5 Các khái niệm ủy thác, liệu “rác” cuộn ngược dây chuyền 2.1.6 Các trạng thái giao dịch - Active: Trạng thái giao dịch ñang hoạt ñộng - Partially Committed: Đã commit phần - Failed: Sau phát việc thực cách bình thường tiếp tục - Aborted: Sau giao dịch khôi phục liệu lại giống trạng thái trước giao dịch bắt ñầu Footer Page of 126 -7- Header Page of 126 - Committed: Sau giao dịch ñã hoàn tất 2.1.7 Chính thức hóa khái niệm giao dịch 2.1.8 Các tính chất giao dịch 2.1.8.1 Tính nguyên tử 2.1.8.2 Tính quán 2.1.8.3 Tính riêng biệt 2.1.8.4 Tính bền vững 2.1.9 Phân loại giao dịch 2.2 THỰC HIỆN SỰ TƯƠNG TRANH 2.2.1 Tính khả lịch 2.2.1.1 Định nghĩa Cho n giao dịch T1, T2,…, Tn - Gọi lịch S tập giao dịch T1, T2,…, Tn thứ tự mà ñó lệnh giao dịch ñược thực hoàn toàn - Một lịch S ñược gọi tất bước giao dịch ñều ñược thực liên tiếp Như lịch giao dịch thực toàn lệnh tương tranh - Một lịch S ñược khả tương ñương với lịch ñó (gọi lịch tương ñương kết cuối CSDL sau thực lịch nhau) 2.2.1.2 Tính khả ñụng ñộ Hai lệnh ñụng ñộ chúng lệnh giao dịch khác tác ñộng ñơn vị liệu chúng có thao tác Write 2.2.1.3 Tính khả quan sát Định nghĩa 1: Cho lịch S S’ tập giao dịch T1, T2,…, Tn Ta gọi S S’ tương ñương quan sát thỏa ñiều kiện sau: Footer Page of 126 -8- Header Page 10 of 126 Với ñơn vị liệu Q, Ti nhận giá trị khởi trị Q lịch S giao dịch Ti phải nhận giá trị khởi trị Q lịch S’ Với ñơn vị liệu Q, lịch S giao dịch Ti ñọc giá trị Q mà giá trị ñược xử lý Tj lịch S’ giao dịch Ti phải ñọc giá trị Q mà giá trị ñược xử lý Tj Với ñơn vị liệu Q, lịch S giao dịch Ti thực thao tác ghi sau cùng, lịch S’ giao giao dịch phải thực thao tác ghi sau Định nghĩa 2: Lịch S ñược gọi khả quan sát tương ñương quan sát với lịch Các lịch khả ñụng ñộ khả quan sát, nhiên ñiều ngược lại 2.2.2 Khả khôi phục liệu Nếu giao dịch Ti ñó bị hỏng cần thiết Undo giao dịch ñã thao tác nhằm thỏa mãn tính chất nguyên tử (Atomicity) Mặt khác, hệ cho phép thực tương tranh phải ñảm bảo giao dịch phụ thuộc Ti (Chẳng hạn: Tj ñọc liệu ñã ñược Ti ghi) phải ñược Aborted Để thỏa mãn ñược ñiều cần thiết giới hạn loại lịch ñược cho phép hệ thống Trong phần ñiều khiển tương tranh xét lịch chấp nhận ñược Xét loại lịch thỏa mãn ñiều kiện 2.2.2.1 Lịch khôi phục ñược 2.2.2.2 Lịch không gây nên hủy bỏ dây chuyền 2.3 CÁC THUẬT TOÁN VỀ KIỂM TRA TÍNH KHẢ TUẦN TỰ 2.3.1 Kiểm tra tính khả Thuật toán 2.1: Kiểm tra tính khả lịch S Input: Lịch S tập giao dịch T1, T2,…, Tk Output: Xác ñịnh xem S có khả hay không? Nếu có cho lịch tương ñương Footer Page 10 of 126 - 10 - Header Page 12 of 126 Thêm vào lịch S hai giao dịch giả (Dummy giao dịch) T0 Tf ñầu cuối lịch S Trong ñó, T0 thực việc ghi vào ñơn vị liệu xuất lịch S Tf thực ñọc ñơn vị liệu S Tạo ña ñồ thị (Polygraph) P với ñỉnh giao dịch (bao gồm T0 Tf) Nếu Tj ñọc trực tiếp liệu Ti ghi tạo cạnh Ti → Tj Tìm giao dịch vô dụng (Useless Transation) Giao dịch ñược gọi vô dụng không tồn T → Tf Với giao dịch vô dụng T ta bỏ ñi cạnh ñến T Với cạnh lại Ti → Tj với ñơn vị liệu A mà Tj ñọc giá trị A mà Ti ghi, ta xét giao dịch T ≠ T0 ghi vào A sau: - Nếu Ti = T0 Tj = Tf không thêm cạnh vào - Nếu Ti = T0 Tj ≠ Tf thêm cạnh Tj → T - Nếu Ti ≠ T0 Tj = Tf thêm cạnh T → Ti - Nếu Ti ≠ T0 Tj ≠ Tf thêm vào cặp cạnh (T → Ti, Tj → T) Xác ñịnh xem ña ñồ thị P có chu trình hay không? - Nếu có tồn ñồ G ña ñồ thị P mà chu trình (G ñược tạo từ P cách chọn cạnh từ cặp) ta nói lịch S khả ñụng ñộ thứ tự topo G (ñã bỏ ñi T0 Tf) biểu diễn lịch tương ñương S - Nếu ña ñồ thị G có chu trình kết luận lịch S không khả ñụng ñộ (không có lịch tương ñương) Footer Page 12 of 126 - 11 - Header Page 13 of 126 Chương CÁC THUẬT TOÁN ĐIỀU KHIỂN TƯƠNG TRANH TRONG CẬP NHẬT DỮ LIỆU PHÂN TÁN 3.1 ĐIỀU KHIỂN TƯƠNG TRANH PHÂN TÁN 3.1.1 Các thuật toán ñiều khiển tương tranh dựa sở khóa 3.1.1.1 Phân loại thuật toán dựa khóa Ý tưởng thuật toán thao tác ñơn vị liệu có ñụng ñộ cho phép thao tác thực thời ñiểm Điều ñược thực dựa việc khóa ñơn vị liệu Dựa vào việc quản lý khóa liệu mà thuật toán bao gồm: Quản lý khóa tập trung Quản lý khóa Quản lý khóa phân tán Khi giao dịch thực việc truy cập ñơn vị liệu trước hết phải xin khóa liệu Có cách khóa: - Shared (S) hay ReadLock(RL): Cho ñọc không cho ghi - Exclusive (E) hay WriteLock(WL): Cho phép ñọc ghi Ta gọi kiểu khóa tương thích với chúng thực ñồng thời ñơn vị liệu Với kiểu RL WL, ta có ma trận tương thích nhau: RL WL RL Yes No WL No No Một giao dịch rơi vào trường hợp phải ñợi liên tục mà thực ñược kiểu khóa không tương thích Trường hợp gọi khóa sống (LiveLock) Footer Page 13 of 126 - 12 - Header Page 14 of 126 * Vậy, lập lịch cho giao dịch tương tranh cần quan tâm ñến yếu tố sau ñây: Tính khả tuần tự, không ñể xảy tình trạng Deadlock không ñể xảy tình trạng Livelock 3.1.1.2 Thuật toán quản lý việc khóa liệu Thuật toán 3.1: Thuật toán khóa liệu Repeat WAIT(Msg) Case Msg of DbOp: {Từ chương trình ứng dụng} Op=Dop.Opn X=Dop.Data T=Dop.Tid Case Op of Read or Write: {Yêu cầu khóa liệu} Tìm ñơn vị liệu LU (Lock Unit) mà X ⊆ LU If (LU ñang không bị khóa) or (kiểu khóa LU tương thích với Op) then Set khóa LU theo kiểu tương ứng Gửi Dop ñến xử lý liệu Else Đặt Dop vào queue cho LU End if Abort or Commit: Gửi Dop ñến xử lý liệu End case DpMsg: {Từ xử lý liệu yêu cầu Unlock} Op=Pm.Opn Res=Pm.Res Footer Page 14 of 126 - 13 - Header Page 15 of 126 T=Pm.Tid Tìm ñơn vị liệu LU (Lock Unit) mà x ⊆ LU Loại bỏ việc khóa LU giữ T If (không Lock LU) and (trong queue có thao tác ñang ñợi ñể Lock LU) then SOP=Thao tác ñầu tiên queue SOP=SOP ∪ {O: thao tác có queue mà Lock LU kiểu tương thích với thao tác hành SOP} Thiết lập việc Lock LU ñược xử lý thao tác SOP for (tất thao tác SOP) Gửi thao tác vào xử lý liệu End for End if End case Until Hệ thống dừng Thuật toán 3.2: Thuật toán khóa pha Repeat WAIT(Msg) Case Msg of DbOp: Gửi O cho phận quản lý khóa ScMsg: Op=Sm.Opn Res=Sm.Result T=Sm.Tid Case Op of Read: Return Res cho Transaction user Footer Page 15 of 126 - 14 - Header Page 16 of 126 Write: Báo cho ứng dụng user biết ñã hoàn thành việc ghi Return Res cho ứng dụng user Commit: Xóa bỏ vùng làm việc T Báo cho ứng dụng user biết ñã hoàn thành Transaction Abort: Báo cho ứng dụng user biết ñã hoàn thành việc Abort Transaction T End case End case Until Hệ thống dừng Thuật toán 3.3: Thuật toán khóa pha nghiêm ngặt Repeat WAIT(Msg) Case Msg of DbOp: Op=Dop.Opn X=Dop.Data T=Dop.Tid Case Op of Gửi Dop ñến xử lý liệu Read or Write: {Yêu cầu chiếm giữ liệu} Tìm LU (Lock Unit) mà x ⊆ LU If (LU ñang UnLock) or (kiểu khóa LU không tương thích với Op)then Set khóa LU theo kiểu tương ứng Footer Page 16 of 126 - 15 - Header Page 17 of 126 Gưi Dop ñến xử lý liệu Else Đặt Dop vào queue cho LU End if Abort or Commit: Gửi Dop ñến xử lý liệu End case DpMsg: {Từ xử lý liệu có yêu cầu UnLock} Op=Pm.Opn Res=Pm.Result T=Pm.Tid If (Op=Abort) or (Op=Commit) then For với LU ñược Lock T Loại bỏ việc Lock LU giữ T If (không Lock LU) and (trong queue có thao tác ñang ñợi ñể Lock LU) then SOP=Thao tác ñầu tiên Queue SOP=SOP∪{O: thao tác có queue mà Lock LU kiểu tương thích với thao tác hành SOP} Thiết lập việc Lock LU ñược xử lý thao tác SOP For (tất thao tác (SOP) Gửi thao tác vào xử lý liệu End for End if End case Footer Page 17 of 126 - 16 - Header Page 18 of 126 Until Hệ thống dừng Thuật toán 3.4: Khóa pha trung tâm quản lý giao dịch Repeat WAIT(Msg) Case Msg of DbOp: Op=O.Opn X=O.Data T=O.Tid Case Op of S=∅ Read: S=S∪{vị trí có chứa x chi phí truy cập ñến thấp nhất} Gửi O ñến LM trung tâm Write: S=S∪{Si: với x ñược lưu trữ vị trí Si} Gửi O ñến LM trung tâm Abort or Commit: Gửi O ñến LM trung tâm End case ScMsg: {Cho phép Lock liệu ñã UnLock} If (yêu cầu khóa ñược cho phép) then Gửi O ñến phận xử lý liệu S Else Thông báo cho user kết thúc Transaction DpMsg: Op=Pm.Opn Res=Pm.Result Footer Page 18 of 126 - 17 - Header Page 19 of 126 T=Pm.Tid Case Op of Read: Return Res cho ứng dụng user Write: Thông báo cho ứng dụng user hoàn tất thao tác ghi Commit: If Commit Msg nhận ñược từ tất vị trì thành viên then - Thông báo cho ứng dụng user Transaction ñã hoàn tất - Gửi Pm ñến LM trung tâm Else {ñợi commit Msg ñến từ tất vị trí} Lưu vào commit Msg ñã ñến End if Abort: Thông báo cho ứng dụng user ñã hoàn tất Abort T Gửi Pm ñến LM trung tâm End case End case Until Hệ thống dừng Thuật toán 3.5: Khóa pha trung tâm quản lý khóa Repeat WAIT(Msg) {Các Msg ñến từ Coordinating TM} Op=Dop.Opn X=Dop.Data T=Dop.Tid Footer Page 19 of 126 - 18 - Header Page 20 of 126 Case Op of Read or Write: Tìm ñơn vị liệu LU (Lock Unit) mà x ⊆ LU If (LU ñang UnLock) or (kiểu khóa LU tương thích với Op) then Set khóa LU theo kiểu tương ứng Msg=”Cho phép Lock thao tác Dop” Gửi Msg ñến TM ñiều phối T Else Đặt Op vào queue cho LU End if Commit or Abort: For với LU ñược khóa T Loại bỏ việc Lock LU giữ T If queue có thao tác ñang ñợi Lock LU then SOP=Thao tác O ñầu tiên queue SOP=SOP∪{O: thao tác có queue mà Lock LU kiểu tương thích với thao tác SOP Thiết lập việc Lock LU ñược xử lý thao tác SOP for tất thao tác O SOP Msg=Cho phép Lock thao tác O Gửi Msg ñến tất ñiều phối TM End for End if End for Msg=”Các khóa T ñã ñược bỏ” Gửi Msg ñến TM ñiều phối T Footer Page 20 of 126 - 19 - Header Page 21 of 126 End case Until Hệ thống dừng 3.1.2 Các thuật toán ñiều khiển tương tranh dựa sở thời nhãn 3.1.2.1 Thời nhãn 3.1.2.2 Thuật toán thứ tự thời nhãn Thuật toán bảo ñảm cho thao tác Read Write ñụng ñộ ñược thực theo thứ tự thời nhãn sau: Nếu giao dịch Ti cần Read(Q): a Nếu TS(Ti)=WTS(Q): Cho phép ñọc RTS(Q)=max(RTS(Q),TS(Ti)) Nếu giao dịch Ti cần Write(Q): a Nếu TS(Ti)

Ngày đăng: 20/05/2017, 15:07

Từ khóa liên quan

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

Tài liệu liên quan