tìm hiểu một số thuật toán điều khiển tương tranh trong cơ sở dữ liệu phân tán

77 585 0
tìm hiểu một số thuật toán điều khiển tương tranh trong cơ sở 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

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC HUẾ TRƢỜNG ĐẠI HỌC KHOA HỌC TRẦN LÊ NGỌC TÌM HIỂU MỘT SỐ THUẬT TOÁN ĐIỀU KHIỂN TƢƠNG TRANH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC TS. NGUYỄN MẬU HÂN Huế, 2012 LỜI CAM ĐOAN Tôi xin cam đoan luận văn là kết quả của quá trình nghiên cứu của riêng tôi dƣới sự hƣớng dẫn của TS. Nguyễn Mậu Hân. Các số liệu, kết quả đã nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kỳ công trình nào khác, các tài liệu tham khảo có trích dẫn đầy đủ. Ngƣời thực hiện luận văn Trần Lê Ngọc Tôi xin gửi lời cảm ơn chân thành đến TS. Nguyễn Mậu Hân, Thầy đã tận tình hướng dẫn em trong suốt thời gian học tập cũng như thời gian thực hiện luận văn. Vì thời gian và trình độ còn nhiều hạn chế cũng như số lượng lớn các thuật ngữ, khái niệm cần trình bày, chắc chắn luận văn còn có chỗ sai sót. Rất mong nhận được ý kiến góp ý và động viên của các Thầy/Cô cũng như tất cả các Anh/Chị và các bạn để luận văn được hoàn thiện hơn nữa. Xin chân thành cảm ơn! Người thực hiện luận văn Trần Lê Ngọc MỤC LỤC Trang phụ bìa Lời cam đoan Mục lục Danh mục các ký hiệu, các chữ viết tắt Danh mục các bảng Danh mục các hình vẽ, đồ thị MỞ ĐẦU 1 1. Lý do chọn đề tài 1 2. Mục đích nghiên cứu 1 3. Đối tƣợng và phạm vi nghiên cứu 1 4. Phƣơng pháp nghiên cứu. 1 5. Ý nghĩa khoa học và thực tiễn 2 6. Cấu trúc luận văn 2 CHƢƠNG 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN 3 1.1. Phân mảnh dữ liệu 4 1.1.1. Các lý do phân mảnh dữ liệu 4 1.1.2. Các yêu cầu của việc phân mảnh dữ liệu 5 1.2. Các chiến lƣợc phân tán dữ liệu 8 1.2.1. Tập trung dữ liệu 8 1.2.2. Chia nhỏ dữ liệu 8 1.2.3. Sao lặp dữ liệu 8 1.2.4. Phƣơng thức lai 9 1.3. Cấp phát tài nguyên trong hệ phân tán 9 CHƢƠNG 2. QUẢN TRỊ GIAO DỊCH PHÂN TÁN 11 2.1. Xử lý truy vấn phân tán 11 2.1.1. Mục đích của xử lý truy vấn 11 2.1.2. Chức năng của xử lý truy vấn 11 2.1.3. Các phƣơng pháp xử lý truy vấn cơ bản 11 2.1.4. So sánh xử lý truy vấn tập trung và phân tán 12 2.2. Quản trị các giao dịch phân tán 13 2.2.1. Các khái niệm 13 2.2.1.1. Quản lý giao dịch (Transaction Management – TM): 13 2.2.1.2. Giao dịch (Transaction): 14 2.2.2. Tính chất của giao dịch 14 2.2.3. Trạng thái của giao dịch 18 2.2.4. Xử lý giao dịch 20 2.3. Lịch biểu 21 2.3.1. Khái niệm lịch biểu 21 2.3.2. Các loại lịch biểu 22 2.4. Tính khả tuần tự 25 2.4.1. Tiến trình tuần tự 25 2.4.2. Tiến trình không tuần tự 25 2.4.3. Hai thao tác xung đột 25 2.4.4. Tiến trình tƣơng đƣơng 26 2.4.5. Tiến trình khả tuần tự 26 2.4.6. Tính khả tuần tự trong cơ sở dữ liệu phân tán 27 CHƢƠNG 3. ĐIỀU KHIỂN TƢƠNG TRANH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN 28 3.1. Cơ sở của điều khiển tƣơng tranh phân tán 28 3.1.1. Các khái niệm 30 32 3.2. Các kỹ thuật điều khiển tƣơng tranh 34 3.2.1. Các kỹ thuật đồng bộ hóa dựa trên khóa hai pha 34 3.2.1.1. Quá trình thực hiện 2PL cơ bản 35 3.2.1.2. Kỹ thuật 2PL sao chép chính 39 3.2.1.3. Kỹ thuật 2PL biểu quyết 40 3.2.1.4. Kỹ thuật 2PL tập trung 40 3.2.1.4. Kỹ thuật 2PL phân tán 41 3.2.2. Phát hiện và ngăn chặn tắc nghẽn 42 3.2.2.1. Ngăn chặn tắc nghẽn 44 3.2.2.2. Phát hiện tắc nghẽn 46 47 3.2.3.1. Thuật toán TO cơ bản 49 3.2.3.2. Thuật toán TO bảo thủ 50 3.2.3.3. Thuật toán TO đa bản 52 3.2.3.4. Duy trì TO: 53 3.2.3.5. Quản lý nhãn thời gian: 53 1.3.Mô phỏng nhiều giao dịch đồng thời trên hệ thống ATM đa ngân hàng. 55 3.3.1. Giới thiệu chƣơng trình 55 3.3.2. Mô tả bài toán 55 3.3.4. Thiết kế cơ sở dữ liệu 58 3.3.5. Đề xuất ý tƣởng thuật toán điều khiển tƣơng tranh 58 3.3.6. Nội dung thuật toán 59 3.3.7. Giao diện và các chức năng của chƣơng trình 60 3.3.8. Quy trình kiểm thử chƣơng trình 63 KẾT LUẬN 66 1. Đánh giá kết quả 66 2. Phạm vi ứng dụng 66 3. Hƣớng phát triển 66 TÀI LIỆU THAM KHẢO 68 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 2PL Two phases locking ACK Acknowledgment ATM Automated teller machine BTO Basic timestamp ordering CSDL Cơ sở dữ liệu DM Data Management LC Lock controller PC Primary copy ROWA Read one Write all TM Transaction Management TO Timestamp ordering TS Timestamp DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 1.1 Cơ sở dữ liệu của một công ty máy tính 7 1.2 Phân mảnh ngang Cơ sở dữ liệu 7 1.3 Phân mảnh dọc Cơ sở dữ liệu 7 1.4 Phân mảnh hổn hợp Cơ sở dữ liệu 8 2.1 Bảng mô tả các giao dịch 24 2.2 Bảng biểu diễn tiến trình tuần tự 25 2.3 Bảng biểu diễn tiến trình không tuần tự 25 2.4 Bảng biểu diễn tiến trình khả tuần tự 27 3.1 Bảng mô tả hai giao dịch rút và chuyển tiền 38 3.2 Bảng mô tả khóa tại nhiều trạm 46 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Số hiệu hình vẽ Tên hình vẽ Trang 2.1 Quá trình xử lý truy vấn trong hệ thống phân tán 12 2.2 dữ liệu phân tán 13 2.3 Biểu đồ trạng thái của giao dịch 19 2.4 Lịch biểu tuần tự 23 2.5 Lịch biểu bất tuần tự 23 2.6 Lịch biểu khả tuần tự 24 3.1 Hiện tƣợng khóa chết (Deadlock) 31 3.2 33 3.3 t 34 3.4 Biểu đồ khóa 2 pha 36 3.5 Tình trạng tắc nghẽn 42 3.6 Đồ thị chờ của giao dịch tắc nghẽn 43 3.7 Tắc nghẽn tại nhiều trạm 46 3.8 Đồ thị điều khiển tƣơng tranh theo nhãn thời gian 49 3.9 Sơ đồ thuật toán BTO bảo thủ 51 3.10 Sơ đồ thuật toán TO đa bản 52 3.11 Mô hình hoạt động của máy ATM 56 3.12 Thiết kế cơ sở dữ liệu máy ATM 58 3.13 Giao diện đăng nhập máy ATM 61 3.14 Giao diện sau khi đăng nhập máy ATM 61 3.15 Giao diện Bảng điều khiển máy ATM 62 3.16 Hiển thị quá trình xử lý 62 3.17 Log và lƣu file Log 62 1 MỞ ĐẦU 1. Lý do chọn đề tài Trong thực tiễn hiện nay, nhu cầu dùng chung một hệ cơ sở dữ liệu là rất lớn. Vấn đề đặt ra là làm thế nào để có thể quản lý tốt các luồng dữ liệu và việc sử dụng chung dữ liệu, chƣơng trình ứng dụng. Đặc biệt là làm thế nào để đáp ứng nhu cầu ngƣời dùng một cách tốt nhất, chính xác nhất. Lý thuyết điều khiển tƣơng tranh (hay đồng thời) đƣợc đƣa ra trong việc quản lý các giao dịch trên cơ sở dữ liệu phân tán nhằm giải quyết các tính chất biệt lập và nhất quán [5] trên một hệ cơ sở dữ liệu phân tán. Từ những lý do cơ bản trên, đƣợc sự hƣớng dẫn và gợi ý của TS. Nguyễn Mậu Hân, tôi đã chọn đề tài nghiên cứu của luận văn tốt nghiệp cao học là “Tìm hiểu một số thuật toán điều khiển tương tranh trong cơ sở dữ liệu phân tán”. 2. Mục đích nghiên cứu Đề tài tập trung tìm hiểu về các giao dịch, việc sử dụng các thuật toán điều khiển tƣơng tranh và tầm quan trọng của chúng trong việc quản lý giao dịch trên cơ sở dữ liệu phân tán. Xây dựng chƣơng trình mô phỏng giao dịch đồng thời trên hệ thống ATM đa ngân hàng. 3. Đối tƣợng và phạm vi nghiên cứu Các thuật toán điều khiển tƣơng tranh sử dụng khoá, hiện tƣợng Deadlock, dựa vào nhãn thời gian [4] và phƣơng pháp lạc quan là các đối tƣợng nghiên cứu chính của đề tài nhằm đánh giá sự cần thiết của chúng trong quản lý giao dịch. Phạm vi nghiên cứu của đề tài là tìm hiểu về giao dịch đồng thời, các thuật toán đƣợc áp dụng trên cơ sở dữ liệu phân tán nhằm tối ƣu hoá thực hiện của các giao dịch trong môi trƣờng phân tán [2]. Xây dựng chƣơng trình mô phỏng để xem xét việc thực thi các giao dịch đồng thời, chƣơng trình mô phỏng không phải là ứng dụng. 4. Phƣơng pháp nghiên cứu. Thu thập và nghiên cứu các tài liệu liên quan đến lý thuyết về điều khiển tƣơng tranh trong cơ sở dữ liệu phân tán. [...]... nghiên cứu về xử lý truy vấn phân tán, quản lý các giao dịch phân tán, lịch biểu và tính khả tuần tự trong thực thi các giao dịch phân tán Chương 3: Mô hình tương tranh trong cơ sở dữ liệu phân tán Nghiên cứu về điều khiển tƣơng tranh trong cơ sở dữ liệu phân tán, các kỹ thuật, thuật toán điều khiển tƣơng tranh Xây dựng chƣơng trình mô phỏng thuật toán điều khiển tƣơng tranh trên hệ thống giao dịch... cần thiết trong việc nghiên cứu đề tài này để ứng dụng trong thực tiễn 6 Cấu trúc luận văn Nội dung luận văn gồm 3 chƣơng, cụ thể nhƣ sau: Chương 1: Tổng quan về cơ sở dữ liệu phân tán Giới thiệu tổng quan về cơ sở dữ liệu phân tán, các nguyên tắc phân mảnh dữ liệu, các chiến lƣợc phân tán dữ liệu và việc cấp phát tài nguyên trong hệ cơ sở dữ liệu phân tán Chương 2: Quản trị cơ sở dữ liệu phân tán Tập... QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN Cơ sở dữ liệu phân tán là tập hợp các cơ sở dữ liệu (CSDL) đƣợc liên kết logic và làm việc một cách trong suốt với ngƣời sử dụng Trong suốt với ngƣời sử dụng hàm nghĩa ngƣời sử dụng có thể truy cập tất cả cơ sở dữ liệu nhƣ chúng thuộc về một cơ sở dữ liệu duy nhất Có sự độc lập ví trí, ngƣời sử dụng không biết nơi lƣu trữ dữ liệu, có thể di chuyển dữ liệu dữ liệu từ vị... cập nhật trong hệ quản trị cơ sở dữ liệu, sao cho các giao dịch thực hiện đồng thời và các dạng lỗi khác nhau không dẫn cơ sở dữ liệu đến trạng thái không toàn vẹn và dữ liệu trong cơ sở dữ liệu không nhất quán Khi một số giao dịch thực hiện đồng thời và có cạnh tranh một số khoản mục dữ liệu trong cơ sở dữ liệu, tính nhất quán có thể không còn đƣợc bảo toàn nữa Do vậy, hệ thống cần điều khiển sự tƣơng... cậy trong các hệ cơ sở dữ liệu phân tán, nó hàm chứa một số các đặt tính cơ bản nhƣ tính nguyên tố và tính bền vững, nhằm chỉ ra sự khác biệt giữa một giao dịch và một câu truy vấn Về mặt trực quan, giao dịch nhận một cơ sở dữ liệu và thực hiện trên nó một hành động làm thay đổi trạng thái, tạo ra một cơ sở dữ liệu mới Nếu cơ sở dữ liệu nhất quán trƣớc khi thực thi giao dịch, có thể đảm bảo rằng cơ sở. .. thi trong hệ quản trị cơ sở dữ liệu phân tán dƣới sự giám sát của một TM, nghĩa là giao dịch chuyển mọi thao tác cơ sở dữ liệu của nó tới TM Mọi tính toán phân tán cần thiết để thực thi một giao dịch đều đƣợc quản lý bới TM Chức năng chính của DM là quản lý lƣu trữ trên cơ sở dữ liệu Hình 2.2: của hệ quản trị cơ sở dữ liệu phân tán 14 2.2.1.2 Giao dịch (Transaction): Giao dịch là một đơn vị tính toán. .. đổi dữ liệu từ tập trung sang phân tán và ngƣợc lại Để giải quyết các vấn đề trên, khi tiến hành xây dựng một Hệ thống cơ sở dữ liệu phân tán cần tiến hành tốt việc phân mảnh dữ liệu, cấp phát nguồn tài nguyên 4 hợp lý, quản trị các giao dịch và xử lý các truy vấn phân tán, đồng thời xử lý tốt vấn đề điều khiển tƣơng tranh 1.1 Phân mảnh dữ liệu 1.1.1 Các lý do phân mảnh dữ liệu Trong việc phân mảnh dữ. .. tốt nhất để xử lý dữ liệu  Cách truyền dữ liệu Chúng ta có thể thấy quá trình xử lý truy vấn trong hệ thống phân tán theo sơ đồ dƣới đây Hình 2.1: Quá trình xử lý truy vấn trong hệ thống phân tán 13 2.2 Quản trị các giao dịch phân tán Để hiểu một thuật toán điều khiển tƣơng tranh hoạt động nhƣ thế nào, trƣớc hết phải hiểu xem thuật toán đó tác động lên toàn bộ cơ sở dữ liệu phân tán nhƣ thế nào, có...2 Tìm hiểu một số thuật toán điều khiển tƣơng tranh đã đƣợc áp dụng trên cơ sở dữ liệu phân tán Khảo sát và tiến hành mô phỏng một số thuật toán để minh họa các giao dịch đồng thời 5 Ý nghĩa khoa học và thực tiễn Trình bày các kiến thức về lý thuyết giao dịch và các kiến thức liên quan, bài toán quản lý giao dịch và các kỹ thuật điều khiển tƣơng tranh đã đƣợc ứng dụng Xây dựng... đắn của hệ thống phân tán Hiện nay ngƣời ta sử dụng 4 chiến lƣợc phân tán dữ liệu cơ bản là: 1.2.1 Tập trung dữ liệu Tất cả các dữ liệu đƣợc tập trung tại một chổ Cách này đơn giản nhƣng nó tồn tại 3 nhƣợc điểm sau: Dữ liệu không sẵn sàng cho ngƣời sử dụng khi truy nhập từ xa Chi phí cho truyền thông lớn Hệ thống ngừng hoạt động khi cơ sở dữ liệu bị sự cố 1.2.2 Chia nhỏ dữ liệu Cơ sở dữ liệu đƣợc chia . tài liệu liên quan đến lý thuyết về điều khiển tƣơng tranh trong cơ sở dữ liệu phân tán. 2 Tìm hiểu một số thuật toán điều khiển tƣơng tranh đã đƣợc áp dụng trên cơ sở dữ liệu phân tán. . 2.4.6. Tính khả tuần tự trong cơ sở dữ liệu phân tán 27 CHƢƠNG 3. ĐIỀU KHIỂN TƢƠNG TRANH TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN 28 3.1. Cơ sở của điều khiển tƣơng tranh phân tán 28 3.1.1. Các khái. một số thuật toán điều khiển tương tranh trong cơ sở dữ liệu phân tán . 2. Mục đích nghiên cứu Đề tài tập trung tìm hiểu về các giao dịch, việc sử dụng các thuật toán điều khiển tƣơng tranh

Ngày đăng: 13/11/2014, 14:56

Từ khóa liên quan

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

Tài liệu liên quan