Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong hệ tin học phân tán

28 498 2
Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong hệ tin học 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

ĐẠI HỌC ĐÀ NẴNG ~~~oOo~~~ TIỂU LUẬN MÔN: HỆ TIN HỌC PHÂN TÁN ĐỀ TÀI Giáo viên hướng dẫn: PGS.TS LÊ VĂN SƠN Học viên thực hiện: TRẦN NGỌC CHINH Lớp: Khoa học máy tính Khoá: 24 Đà Nẵng, tháng 04/2012 MỤC LỤC LỜI GIỚI THIỆU .1 KẾT LUẬN 23 PHẦN BÀI TẬP .24 Đề bài tập 24 Giải quyết bài toán .24 Trường hợp 1 24 Trường hợp 2 25 Tiểu luận môn Hệ tin học phân tán LỜI GIỚI THIỆU Hệ tin học phân tán là lĩnh vực còn khá mới mẽ, nhưng những ứng dụng của nó ngày càng rộng rãi, giải quyết hiệu quả nhiều bài toánhệ tin học tập trung không đáp ứng được hoặc chỉ đáp ứng được một phần. Hiện tại, các nội dung mang tính lý thuyết nguyên lý của hệ tin học phân tán còn nhiều vấn đề chưa được giải quyết triệt để và đang là mục tiêu khám phá của nhiều nhà nghiên cứu về công nghệ thông tin. Với mong muốn tìm hiểu nắm vững các nội dung nguyên lý của hệ tin học phân tán để có thể triển khai được các ứng dụng phân tán trong thực tế, bài tiểu luận môn học "Hệ tin học phân tán" là cơ hội tốt để cho tôi tìm hiểu về lĩnh vực này. Với nội dung tìm hiểu của đề tài là "hoàn thiện các kỹ thuật đảm bảo đặc tính toàn vẹn trong hệ tin học phân tán", tôi đã tập trung tìm hiểu hai kỹ thuật là phổ biến nhất nhằm đảm bảo tính toàn vẹn dữ liệu trong hệ tin học phân tán, đó là kỹ thuật giao dịch hai pha và kỹ thuật đóng dấu. Phần bài tập của tiểu luận tập trung vào chứng minh nội dung nguyên lý của kỹ thuật giao dịch hai pha. Mặc đã rất cố gắng nghiên cứu tìm hiểu nhưng do thời gian và khả năng có hạn nên các nội dung trình bày trong bài tiểu luận chắc chắn còn rất nhiều hạn chế, rất mong nhận được những ý kiến đóng góp của quý thầy và các bạn. Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 1/26 Tiểu luận môn Hệ tin học phân tán CHƯƠNG I MỘT SỐ KHÁI NIỆM CHUNG I.1 Khái niệm toàn vẹn dữ liệu Đặc tính toàn vẹn dữ liệu trong hệ hệ tin học 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 hệ thống. Nói cách khác toàn vẹn dữ liệu liên quan đến trạng thái tuân theo các luật của một 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. Trạng thái của hệ thoả mãn các ràng buộc toàn vẹn gọi là trạng thái gắn bó. Việc nghiên cứu đặc tính toàn vẹn của hệ tin học phân tán đồng nghĩa với việc nghiên cứu đưa ra các giải pháp kỹ thuật duy trì trạng thái gắn bó của hệ tức là nghiên cứu các kỹ thuật duy trì hệ thống luôn thoả mãn các các ràng buộc toàn vẹn. Điều đó đồng nghĩa với việc duy trì hệ thống luôn hoạt động trong điều kiện chuyển từ trạng thái gắn bó này sang trạng thái gắn bó khác. I.2 Tác động và giao dịch Các đối tượng khác nhau của hệ tin học phân tán không phải là các đối tượng độc lập, chúng liên hệ với nhau bởi tập hợp các quan hệ ràng buộc toàn vẹn. Các ràng buộc này thể hiện sâu sắc đặc tính riêng của hệ. Các nhà thiết kế và vận hành hệ mong muốn rằng việc thực hiện các tiến trình phải duy trì cho được hệ trong trạng thái gắn bó. Để chính xác hoá đặc tính này, cần phải lưu ý là trạng thái của hệ chỉ được xác định ở mức quan sát cho trước. Ta quan tâm đến hai mức quan sát: STT Mức Giải thích 1 NSD - 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ó dẫn hệ đến một trạng thái gắn bó khác. 2 Hệ thống - Mỗi giao dịch được cấu tạo từ nột dãy các tác động được thể hiện như sau. Nếu 2 tác động A và B thuộc hai giao dịch khác nhau được thực hiện bởi hai tiến trình thì hiệu ứng tổng quát của chúng sẽ là hiệu ứng của dãy (A;B) hoặc là (B;A) Ở mức hệ thống, ta có thể nói rằng các tác động là phần tử nhỏ nhất không thể chia cắt được nữa. Ví dụ: Trong hệ thống quản lý tài khoản ngân hàng, mỗi số tài khoản được thể hiện bằng một bảng ghi: Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 2/26 Tiểu luận môn Hệ tin học phân tán • Phép chuyển giá trị từ tài khoản này sang tài khoản khác được xem như một tác động. • Đọc và ghi một bản ghi là các tác động, nếu hệ quản lý các tập tin đảm bảo tính không chia cắt được chúng. I.3 Một số tính chất của giao dịch Một giao dịch phải đảm bảo các đặc tính sau : • Tính nguyên tử (Atomic) : đặc tính nguyên tử của giao dịch có ý nghĩa rằng 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 từ trạng thái gắn bó này sang trạng thái gắn bó khác. • Đặc tính cách ly (Isolation): mặc nhiều giao dịch có thể thực hiện đồng thời, nhưng các giao không biết được sự thực hiện của các giao dịch đồng thời khác. Kết quả của giao dịch này không ảnh hưởng đến giao dịch khác. • Tính bền vững (Durability) : Sau một giao dịch kết thúc thành công, các thay đổi mà nó tạo ra được bảo toàn ngay cả khi hệ thống bị sự cố. Ví dụ : Giao dịch chuyển khoản Chuyển P đồng từ tài khoản A sang tài khoản B : đọc(A) ; nếu A>=P thì A := A – P ; viết(A) ; đọc(B) ; B := B + P ; viết(B) ; nếu không <Thông báo số tài khoản A không đủ> Kết thúc nếu Giải thích các tính chất của giao dịch trên : Tính nguyên tử: Nếu giao dịch lỗi sau bước 4 và trước bước 7, hệ thống buộc phải huỷ bỏ toàn bộ các tác động trước đó để đảm bảo tính gắn bó dữ liệu. Nếu không thì tổng của A và B bị thay đổi. Tính gắn bó: Tổng của A và B không bị thay đổi bởi sự thực hiện của giao dịch. Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 3/26 Tiểu luận môn Hệ tin học phân tán Tính cách ly: giữa các bước 4 và 7, không được có giao dịch khác cập nhật vào CSDL, hoặc hệ thống sẽ rơi vào trạng thái không gắn bó. Tính bền vững: Khi giao dịch được hoàn thành, các cập nhật vào CSDL phải được bảo toàn ngay cả khi hệ thống bị sự cố. Cho một tập hợp giao dịch M={T 1 ,T 2 …,T n } lần lượt được thực hiện bởi các tiến trình độc lập p 1 ,p 2 …,p n . việc thực hiện tuần tự có nghĩa là thực hiện tất cả các giao dịch của M theo kiểu nối đuôi nhau và tuân thủ một trật tự nào đó. Sự gắn bó của hệ được bảo toàn. Nếu vì lý do hiệu quả, nhiều giao dịch được thực hiện song song thì sự gắn bó không còn đảm bảo được nữa. Một yêu cầu khác nữa rất quan trọngtrong quá trình thực hiện hệ phải đảm bảo cho các tác động không bị ngắt quãng. Trong thực tế giao dịch là một chuổi các tác động như : đọc, ghi dữ liệu, thực hiện các phép tính số học đơn giãn trong vùng làm việc riêng, hoặc là các tác động như cài then, mở then… I.4 Trật tự hoá các tác động Trở lại với 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. Bằng các tác động không chia sẽ này, toàn bộ việc thực hiện của tập hợp các giao dịch M bởi một tập hợp các tiến trình tương tranh là 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) chẳng hạn. Trong trật tự tuân thủ trật tự nội tại của từng giao dịch, dãy này bao gồm tất cả các tác động cấu tạo nên các giao dịch M; mỗi một tác động chỉ xuất hiện một và chỉ một lần. Một dãy như vậy gọi là trật tự hoá của tập hợp các giao dịch M. Trong số các trật tự hoá của một tập hợp các giao dịch, điều rất quan trọng là phải tách ra cho được những cái phục vụ trạng thái gắn bó dữ liệu và chúng được gọi là trật tự hoá gắn bó. Như vậy đặc tính quan trọng của trật tự hoá tương ứng với việc thực hiện tuần tự của tập hợp các giao dịch hay còn gọi là trật tự hoá tuần tự. Nếu ta nắm được các đặc trưng của các trật tự hoá tương đương với một trật tự hoá tuần tự có nghĩa là cùng tác dụng như trật tự hoá tuần tự, thì ta đã có được điều kiện đủ của sự gắn bó. Stt là một trật tự hoá tuần tự của tập hợp các giao dịch M và S là một trật tự hoá bất kỳ của M. Hiệu ứng của S giống với hiệu ứng của Stt, nếu hai điều kiện sau đây được triễn khai : Điều kiện 1 : Để cho mỗi đối tượng e, các cập nhật biểu hiện trong cùng một trật tự trong S và Stt. Điều kiện 2 : Hãy xem xét hai cập nhật kế tiếp nhau của một đối tượng e trong số các trật tự hoá, và các cập nhật tương ứng của e trong trật tự hoá khác. Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 4/26 Tiểu luận môn Hệ tin học phân tán giữa hai cập nhật này, ta tham khảo cùng các đối tượng trong hai trật tự hoá này trong cùng trật tự hay không. Các điều kiện nêu trên đây là các điều kiện đủ cho việc đánh giá tương đương. Ta chỉ có thể hoán vị, không thay đổi hiệu ứng của một trật tự hoá, hoặc là các thao tác đọc đối tượng có tính chất liên tiếp hoặc là các thao tác gán các đối tượng khác nhau một cách liên tục. Quan hệ phụ thuộc giữa các giao dịch Cho T1 và T2 là hai giao dịch của M, e là đối tượng của hệ. ta nói rằng T2 phụ thuộc T1 qua trung gian của e, hiệu bằng (T1,e,T2), với các điều kiện sau đây được kiểm tra: • Một tác động của T1 tham chiếu e và một tác động của T2 thay đổi e. • Một tác động của T1 thay đổi e và một tác động của T2 tham chiếu e. • Một tác động của T1 thay đổi e và một tác động sau T2 thay đổi e mà e không thay đổi bởi một giao dịch khác giữa hai tác động T1 và T2. Thuật ngữ trước được hiểu được hiểu theo nghĩa ”cái tiếp theo nó trong trật tự hoá S”. Để cho hai trật tự hoá có cùng hiệu ứng thì điều kiện đủ là chúng phải cùng quan hệ phụ thuộc. Do vậy, điều kiện đủ cho sự gắn bó của một trật tự hoá có thể phát biểu như sau : Một trật tự hoá là gắn bó, nếu nó có cùng quan hệ phụ thuộc với một trật tự tuần tự. Đồ thị phụ thuộc: Để phân tích quan hệ phụ thuộc giữa các giao dịch trong một trật tự hoá, ta xây dựng đồ thị phụ thuộc mà các nút của nó được gán nhãn bởi tên của giao dịch và các cung là tên các đối tượng mà giao dịch cập nhật trong quá trình thực hiện. Để cho một trật tự hoá tuần tự, đồ thị này không có vòng lặp ( thực tế, nếu (T1, x, T2) thì T1 trước T2 trong trật tự tuần tự) Để cho hai trật tự hoá có cùng một hiệu ứng thì điều kiện đủ là chúng phải có cùng quan hệ phụ thuộc. Do vậy, điều kiện đủ cho sự gắn bó của một trật tự hoá có thể phát biểu như sau: Một trật tự hoá là gắn bó, nếu nó có cùng quan hệ phụ thuộc với trật tự tuần tự. Ví dụ: Xét 3 trật tự hoá có thể là S 1 , S 2 , S 3 Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 5/26 Giao dịch loại T Giao dịch loại U A := A – P A := A * (1 + t) B := B * (1 + t) B := B + P Trật tự hoá S 1 Giao dịch loại T Giao dịch loại U A := A – P A := A * (1 + t) B := B + P B := B * (1 + t) Trật tự hoá S 2 Giao dịch loại T Giao dịch loại U A := A – P B := B + P A := A * (1 + t) B := B * (1 + t) Trật tự hoá tuần tự S 3 Tiểu luận môn Hệ tin học phân tán Đồ thị ứng với các trật tự hoá S 1 , S 2 , S 3 : I.5 Giao dịch phân tán Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 6/26 B T U A (S 1 ) T U A (S 2 ) T U A (S 3 ) B B Tiểu luận môn Hệ tin học phân tán Trong một giao dịch phân tán sẽ bao gồm một tập hợp các giao dịch con T 1 , T 2, .,T k được thực thi trên các trạm S 1 , S 2, ., S k . Mỗi giao dịch con quản lý dữ liệu cục bộ. Các vấn đề cụ thể liên quan đến việc quản lý các giao dịch phân tán khác biệt với các giao dịch tập trung xuất phát từ hai nội dung: Dữ liệu có thể được sao chép trên nhiều trạm khác nhau. Việc quản lý then cài của bản sao dữ liệu là một vấn đề riêng. Bất kể dữ liệu có được sao chép hay không chúng cũng cần phải sử dụng giao thức uỷ nhiệm phân tán. Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 7/26 Tiểu luận môn Hệ tin học phân tán CHƯƠNG II ĐẢM BẢO ĐẶC TÍNH TOÀN VẸN DỮ LIỆU TRONG HỆ PHÂN TÁN II.1 KỸ THUẬT GIAO DỊCH 2 PHA II.1.1 Cơ chế then cài Một giao dịch nào đó đang thực hiện phép then cài trên một đối tượng muốn giành quyền sử dụng đối tượng này theo một vài kiểu truy cập nhất định. Cơ chế then cài gán hay không gán quyền truy cập này căn cứ vào quy tắc tiền định như loại trừ tương hỗ, luật đọc hiệu chỉnh thông tin, . Nếu quyền được thừa nhận thì đối tượng bị cài then bởi giao dịch. Nếu không, tiến trình thực hiện giao dịch bị khoá và đối tượng không bị cài then. 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 giao dịch T 1 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 T 2 sẽ đưa giao dịch T 2 rơi vào trạng thái chờ cho cho đến khi T 1 mở then. Nếu giao dịch T 1 thực hiện then cài chia sẽ R thì giao dịch T 2 cũng có thể gán một then cài chia sẽ, nhưng T 2 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. II.1.2 Loại trừ tương hỗ (Loại trừ lẫn nhau) Một trong những giải pháp đơn giản để đạt được trật tự hoá gắn bó thể hiện ở chổ bắt buộc phải sử dụng trật tự hoá tuần tự. Để làm việc đó, toàn bộ giao dịch được đặt trong cặp hàm nguyên thuỷ mo_giaodich() và dong_giaodich(). Đây là sự đảm bảo cho việc loại trừ tương hỗ giữa các giao dịch. Nếu ta biết trước các đối tượng được xử lý bởi một giao dịch nào đó, thì ta có thể cài then công việc truy cập đến các đối tượng. Điều đó chỉ cho phép thực hiện song song đối với các giao dịch truy cập vào các đối tượng rời rạc. II.1.3 Then cài lựa chọn các đối tượng Các quy tắc truy cập đối tượng được chú ý. Đó là tính hợp thức của việc truy cập. Nội dung quy tắc này như sau : Một giao dịch thay đổi giá trị của một đối tượng phải loại trừ tất cả các giao dịch khác muốn truy cập, ngược lại thì việc truy cập được tiến hành theo kiểu tương tranh. Để đảm bảo điều đó luôn luôn được thực hiện, người ta cho phép tiến hành cài then một đối tượng trước khi việc sử dụng nó có hiệu lực. Một giao dịch có thể thực hiện ba hàm nguyên thuỷ trên đối tượng e : Kỹ thuật đảm bảo đặc tính toàn vẹn dữ liệu trong Hệ tin học phân tán 8/26

Ngày đăng: 30/12/2013, 20:41

Từ khóa liên quan

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

Tài liệu liên quan