1. Trang chủ
  2. » Luận Văn - Báo Cáo

Áp dụng thuật toán Ellis đảm bảo gắn bó dữ liệu trong các CSDL phân tán

23 487 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 341,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong những động lực thúc đẩy việc sử dụng hệ cơ sở dữ liệu là nhu cầutích hợp các dữ liệu hoạt tác của một xí nghiệp và cho phép truy xuất tập trung, nhờvậy có thể điều khiển được c

Trang 1

LỜI NÓI ĐẦU

Ngày nay hầu hết các ứng dụng tin học đều được xây dựng để thực hiện trênmạng máy tính, các ứng dụng client-server đang ngày càng được sử dụng phổ biến.Nhưng khi quy mô và mức độ của các ứng dụng tăng lên và yêu cầu về chất lượng, tốc

độ xử lý và độ phức tạp cũng tăng theo thì trên thực tế, một xu hướng kỹ thuật mới rađời – xu hướng phân tán các thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sửdụng và sản xuất thông tin Song để khai thác có hiệu quả toàn hệ, vấn đề quan trọnghàng đầu cần phải tính đến là các tài nguyên nói chung, đặc biệt là tài nguyên thông tinnói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưu nhất

Với môi trường mạng phân tán này sẽ có nhiều Server đặt ở những nơi khác nhau người ta gọi là môi trường đa Server Trong môi trường đa Server

và việc truy cập từ xa có thể truy xuất đồng thời đảm bào toàn vẹn dữ liệu vì

dữ liệu có thể lưu trữ dự phòng trên nhiều Server khác nhau

Đây là hệ thống đa Server rất phức tạp nhưng hệ thống đảm bảo gắn bó

dữ liệu giữa các Server đồng thời không làm phức tạp việc truy xuất dữ liệu

Với những thông tin trên nhóm chúng em trình bày chủ đề:

1 Thuật toán Ellis đảm bảo gắn bó dữ liệu trong các CSDL phân tán

2 Đây là gắn bó mạnh giữa các CSDL phân tán

3 Xây dựng trên cơ sở thuật toán 2P

4 Hiện dữ liệu khi truy cập và kiểm tra tính gắn bó

Đối với tiểu luận này nhóm xây dựng một hệ thống gồm 4 Server và một công cụ module Monitor nhằm giám sát cập nhật dữ liệu giữa 4 Server

để đánh giá tính gắn bó dữ liệu giữa các server với nhau.

Mặc dù đã nghiên cứu kỹ phần lý thuyết để có được cách giải quyết bài tậpđúng đắn, phù hợp với yêu cầu nhưng bản thân tôi không thể tránh khỏi những saisót, kính mong được sự góp ý của thầy giáo hướng dẫn và các anh chị trong lớp để

đề tài được tốt hơn

Trang 2

CHƯƠNG I GIỚI THIỆU VÀI NÉT VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN

I Giới thiệu

Công nghệ về các hệ cơ sở dữ liệu phân tán (distributed database system,DDBS) là sự hợp nhất của hai hướng tiếp cận đối với quá trình xử lý dữ liệu: Côngnghệ cơ sở dữ liệu và công nghệ mạng máy tính Các hệ cơ sở dữ liệu chuyển từ môthức xử lý dữ liệu, trong đó mỗi ứng dụng định nghĩa và duy trì dữ liệu của riêngchúng sang mô thức quản lý và xử lý dữ liệu tập trung Hướng đi này dẫn đến tínhđộc lập dữ liệu, nghĩa là các ứng dụng được miễn nhiệm đối với những thay đổi về

tổ chức logic hoặc vật lý của dữ liệu và ngược lại

Một trong những động lực thúc đẩy việc sử dụng hệ cơ sở dữ liệu là nhu cầutích hợp các dữ liệu hoạt tác của một xí nghiệp và cho phép truy xuất tập trung, nhờvậy có thể điều khiển được các truy xuất đến dữ liệu, còn công nghệ mạng đi ngượclại với mọi nổ lực tập trung hóa Nhìn thoáng qua chúng ta khó hình dung ra làmcách nào tiếp cận hai hướng trái ngược nhau để cho ra một công nghệ mạnh mẽ vànhiều hứa hẹn hơn so với từng công nghệ riêng lẻ Mấu chốt của vấn đề là cần phảihiểu rằng, mục tiêu quan trọng nhất của công nghệ cơ sở dữ liệu là sự tích hợpkhông phải sự tập trung hóa, cũng cần phải hiểu rằng hai thuật ngữ có được điềunày không dẫn đến điều kia Và vẫn có thể tích hợp mà không cần tập trung hóa.Đây chính là mục tiêu của công nghệ cơ sở dữ liệu phân tán

II Định nghĩa cơ sở dữ liệu phân tán

Một cơ sở dữ liệu phân tán là một tập nhiều cơ sở dữ liệu có liên đới logic vàđược phân bố trên một mạng máy tính Vậy hệ quản trị cơ sở dữ liệu phân tán đượcđịnh nghĩa là một hệ thống phần mềm cho phép quản trị các hệ cơ sở dữ liệu phântán và làm cho việc phân tán trở nên “vô hình” đối với người sử dụng Hai thuật ngữ

Trang 3

quan trọng trong định nghĩa này là “liên đới logic’ và “phân bố trên một mạng máytính”.

Một hệ cơ sở dữ liệu phân tán (distributed database system, viết tắt là DDBS)không phải là một “tập các tập tin” lưu riêng lẻ tại mỗi nút của một mạng máy tính

Để tạo ra một hệ cơ sở dữ liệu phân tán, các tập tin không những có liên đới logic

mà chúng còn phải có cấu trúc và được truy xuất qua một giao diện chung

Ngoài ra, một hệ cơ sở dữ liệu phân tán không phải là hệ thống trong đó dù

có sự hiện diện của một mạng máy tính, cơ sở dữ liệu chỉ nằm tại một nút củamạng Cơ sở dữ liệu này được quản lý tập trung tại một hệ thống máy tính và tất cảmọi yêu cầu đều chuyển đến vị trí đó Điều cần xem xét là độ chậm trễ khi truyền

dữ liệu Tất nhiên sự tồn tại của một mạng máy tính hoặc một tập các tập tin không

đủ để tạo ra một hệ cơ sở dữ liệu phân tán Điều chúng ta quan tâm là một môitrường trong đó dữ liệu được phân tán trên một số vị trí

Trang 4

Trong hệ thống cơ sở dữ liệu phân tán, cơ sở dữ liệu chứa trong vài máy tính.Các máy tính liên lạc với nhau qua nhiều phương tiện truyền thông, như bus tốc độcao hay đường điện thoại Chúng không chia sẻ bộ nhớ chính, cũng không dùngchung đồng hồ.

Các bộ xử lý trong hệ thống phân tán có kích cỡ và chức năng khác nhau.Chúng có thể gồm các bộ vi xử lý, trạm làm việc, máy tính mini, hay các máy tínhlớn vạn năng Những bộ xử lý này được gọi tên là các trạm, nút, máy tính và cảnhững tên tùy theo ngữ cảnh riêng

Trong hệ thống cơ sở dữ liệu phân tán gồm nhiều trạm, mỗi trạm có thể khaithác các giao thức truy nhập dữ liệu trên nhiều trạm khác Sự khác nhau chính giữa

hệ thống cơ sở dữ liệu phân tán và tập trung là: trong hệ thống tập trung, dữ liệu lưutrữ tại chỗ, còn phân tán thì không

Trang 5

Trạng thái của hệ thoả mãn một tập các ràng buộc toàn vẹn gọi là trạng thái gắn bó.

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ếntrình phải duy trì cho được hệ trong trạng thái gắn bó Để chính xác hoá đặc tínhnà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:

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

Mỗi giao dịch được cấu tạo từ nột dãy các tác động đượcthể hiện như sau Nếu 2 tác động A và B thuộc hai giaodị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ôngthể chia cắt được nữa

Cho một tập hợp giao dịch M={T1, T2…, Tn} lần lượt được thực hiện bởi cáctiến trình độc lập p1, p2,…,pn Việc thực hiện tuần tự có nghĩa là thực hiện tất cả cácgiao 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, theo định nghĩa, bằng việc thực hiện riêng biệt từng giaodịch Do vậy, nó cũng được bảo toàn trong chế độ thực hiện tuần tự của M

Trang 6

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ọng là trong quá trình thực hiện hệ phải đảmbảo cho các tác động không bị ngắt quãng

II Trật tự hóa các tác động

Trở lại với tập hợp giao dịch M = {T 1 , T 2 …, T n } cho ở phần trước Mỗi 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ẻ được

này, toàn bộ sự 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 = (a 1 , a 2 , , a n ) 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 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ự hóa của tập các giao dịch M.

Ví dụ: Cho T1 = (a11, a12, a13, a14) và T2 = (a21, a22, a23) Một trật tự hóa (T1, T2) đượcthể hiện như sau:

S = a 21 , a 11 , a 12 , a 22 , a 13 , a 23 , a 14

Trong số các trật tự hóa 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 đượcgọi là trật tự hóa gắn bó

Như vậy, đặc tính quan trọng của trật tự hóa là: các trật tự hóa 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 ngắn gọn là trật tự hóa tuần tự.

Điều kiện đủ cho sự gắn bó của một trật tự hóa có thể được phát biểu như

sau: Một trật tự hóa là gắn bó, nếu nó có cùng quan hệ phụ thuộc với một trật tự tuần hoàn.

III. Triển khai giao dịch tôn trọng sự gắn bó

Cho một tập hợp giao dịch M={T 1 , T 2 …, T n } Một trật tự hóa của tập hợp các

tác động thành phần sẽ tương ứng với việc thực hiện hoàn toàn các giao dịch Việcthu được một trật tự hóa gắn bó chỉ có thể thành công khi áp dụng các ràng buộctrên trật tự thực hiện các tác động Nguyên lý của phương pháp là ở chỗ làm chậm

Trang 7

một tác động nào đó cho đến thời điểm mà sự thực hiện của nó không còn có nguy

cơ phá hủy sự gắn bó của trật tự hóa (bằng cách chặn tiến trình hiện hành)

Để đảm bảo các giao dịch trên tôn trọng sự gắn bó thông tin thì người ta đưa ra cácphương pháp, cơ chế để đảm bảo khi giao dịch vẫn có sự gắn bó thông tin toàn vẹn

dữ liệu trên cơ sở dữ liệu phân tán là:

Cơ chế then cài: Cho phép một giao dịch có thể giải phóng đối tượng mà

Giao dịch hai pha: 1 Toàn bộ đối tượng bị cài then vẫn ở trong tình trạng cài then cho đến cuối giao dịch và 2 Không có then cài nào có thể diễn ra tiếp theo một then cài khác trong cùng một giao dịch.

Bây giờ ta tưởng tượng rằng các đối tượng được phân tán trên nhiều trạmkhác nhau và được nối với nhau thông qua hệ thống viễn thông và rằng các tiếntrình diễn ra trên các trạm khác nhau Hệ thống viễn thông cho phép các tiến trìnhtrên các trạm khác nhau có thể trao đổi các thông điệp với nhau Ta giả định rằngcác tiến trình và các phương tiện truyền thông là các đối tượng có thể rơi vào sự cố.Một hệ quản lý tập hợp thông tin phân tán bao gồm:

STT Cơ chế

1

Cơ chế cho phép sắp xếp một cách tổng quát các tác động củacùng một giao dịch, ngay cả khi các tác động này diễn ra trên cáctrạm khác nhau

2

Cơ chế điều khiển các tranh chấp truy cập cục bộ vào các đốitượng đảm bảo tôn trọng tính toàn vẹn của các đối tượng truy cậpcục bộ này

3 Cơ chế có khả năng xử lý các bế tắc và thiếu thốn vô hạn, hậu quả

của việc hủy bỏ các giao dịch

4 Cơ chế phục hồi các giao dịch đã hủy bỏ hay xử lý các sự cố

Cơ chế xử lý sự cố

STT Phải thực hiện

Trang 8

1 Giao dịch T bắt buộc phải thực hiện một cách trọn vẹn

2 Nếu có sự cố xảy ra thì phải quay lại điểm xuất phát

Muốn thực hiện những điều vừa nêu ở trên, người ta đòi hỏi giao dịch phải

có các đặc tính toàn vẹn như sau:

STT Phải thực hiện

1 Nếu một tiến trình bị sự cố trước khi kết thúc T nhưng lại sau các

thao tác thay đổi cần thiết của T, trạng thái của hệ là gắn bó

2 Nếu một tiến trình bị sự cố trước khi diễn ra các thay đổi của T,

có sự cố kết nối xảy ra trong thời gian ghi giao dịch, cơ sở dữ liệu sẽ mất tính đồng bộ Xử

lý giao dịch khắc phục tình trạng này bằng cách giám sát những thay đổi tác động lên các

cơ sở dữ liệu liên quan nhằm bảo đảm toàn vẹn dữ liệu một khi có sự cố

IV Quản lý gắn bó các giao dịch

Bây giờ ta hãy xem xét một hệ, trong đó các đối tượng được phân tán trênnhiều trạm, không có bản sao mỗi đối tượng chỉ tồn tại có một bản duy nhất Mộtgiao dịch Tj có thể tham chiếu đến các đối tượng nằm trên các trạm khác nhau và dovậy gồm nhiều tác động thực hiện trên nhiều trạm Như vậy ta phải xác định trênmột trạm Si một tiến trình Pji với nhiệm vụ thực hiện các tác động giao dịch Tj trên

Si, các tác động được thực hiện trên các trạm khác nhau có thể tiến hành theo kiểusong song

Các phương pháp để quản lý gắn bó các giao dịch như: Phương pháp dựphòng để chống bế tắc, phương pháp dựa vào việc hạn chế các khả năng diễn rabằng cách phát hiện bế tắc có tính chất động, điều đó dẫn đến hủy bỏ các giao dịch

Trang 9

CHƯƠNG III XÂY DỰNG THUẬT TOÁN ELLIS ĐẢM BẢO GẮN BÓ MẠNH 3.1 Thuật toán Ellis đảm bảo gắn bó mạnh

3.1.2 Triển khai hệ ổn định

Mỗi trạm có thể có các trạng thái sau:

- Nghỉ ngơi: Trạm không thực hiện cập nhật nào cả.

- Hoạt động: Trạm đã nhận một yêu cầu cập nhật cục bộ mà yêu cầu này

đã được truyền cho các trạm khác để kiểm tra

- Thụ động: Trạm đã đồng ý cho một cập nhật và chờ trật tự tương ứng.

- Cập nhật: Trạm đang trong tình trạng chuyển của cập nhật, trong khi đó tất

cả các yêu cầu khác truyền đến đều được lưu trữ Chũng sẽ được xử lý khi quay về một trong các trạng thái khác

Lúc khởi sự, tất cả các trạm đều trong trạng thái nghỉ ngơi.

Trạm khởi sự việc cập nhật, đầu tiên cần phải gửi một yêu cầu cho phép cập nhật, nó chỉ làm được công việc đó trong trạng thái nghỉ ngơi Lúc này nó được nhận dấu và được gửi vào vòng tròn, trạm khởi sự chuyển trạng thái từ

nghỉ ngơi sang hoạt động

Nếu chỉ có một yêu cầu duy nhất được đưa vào vòng tròn, nó đi qua tất cả

các trạm để chuyển các trạm này từ nghỉ ngơi sang thụ động Khi nó đã trở về nơi

khởi sự thì việc thống nhất coi như hoàn tất Việc cập nhật nói riêng lúc này được gửi đi và mỗi trạm sau khi thực hiện lại trở về trạng thái nghỉ ngơi

Trang 10

java.net

Network OS

Nếu có nhiều yêu cầu được đưa ra đồng thời trong vòng tròn, thì tình hình đó

dễ dàng diễn ra xung đột Lúc này, ta phải chọn một yêu cầu có Thời gian dấu lâu nhất Để tiến hành công việc đó, ta nêu bật vai trò của “bộ chắn đường” (barrage) cho các trạm khởi sự Một trạm nào đó trong trạng thái nghỉ ngơi hay thụ động phải chuyển toàn bộ yêu cầu đã đến với nó; một trạm trong trạng thái hoạt động chỉ phải chuyển các yêu cầu có Thời gian lâu hơn các yêu cầu mà chính nó đã phát đi; các yêu cầu khác đều bị dừng lại và được lưu giữ

Các yêu cầu bị lưu lại sẽ được gửi tiếp vào vòng tròn, khi trạm lưu trữ chúng hoàn

thành việc cập nhật riêng của mình

V Giới thiệu hệ thống phân tán sử dụng công nghệ RMI

Kĩ thuật Remote Method Invocation (RMI), được giới thiệu lần đầu tiên trongJDK 1.1, làm cho công nghệ lập trình mạng lên một tầm cao hơn Dù rằng RMI là côngnghệ khá dễ sử dụng, nó cũng được xem như là một công nghệ lập trình mạnh với cácnhà phát triển Java trung bình với một mô hình phát triển hoàn toàn mới – công nghệlập trình phân tán Trong phần này, tôi sẽ giới thiệu sâu về kĩ thuật này lập trình mạngphân tán này

3.2.1 Kiến trúc Java RMI

Mục tiêu thiết kế cho kiến trúc của RMI là để tạo một mô hình đối tượng phân tánJava mà tích hợp một cách tự nhiên vào ngôn ngữ lập trình Java và mô hình đối tượngcục bộ Kiến trúc RMI đã thành công, trong việc xây dựng một hệ thống kế thừa khảnăng an toàn và tin cậy của kiến trúc Java sang môi trường lập trình phân tán

Trang 11

V.1 Giao tiếp: trái tim của RMI

Kiến trúc RMI dựa trên một lý thuyết quan trọng: định nghĩa và sự triển khai củathuộc tính là các khái niệm tách biệt RMI cho phép mã nguồn định nghĩa hành vi và

mã nguồn triển khai hành vi đó được duy trì tách biệt và chạy trên các JVM tách biệtnhau

Điều này phù hợp với nhu cầu của các hệ phân tán trong đó các client được liênquan với nhau về mặt định nghĩa của một dịch vụ và các server được tập trung vàocung cấp các dịch vụ đó

Trong RMI, việc định nghĩa của một dịch vụ từ xa được mã hóa sử dụng một giaotiếp Java Việc triển khai cho một dịch vụ từ xa được mã hóa trong một lớp đối tượng.Chính vì thế điểm quan trọng để hiểu RMI là nhớ về giao tiếp định nghĩa hành vi vàcác lớp định nghĩa triển khai cho các hành vi đó

Sơ đồ sau mô tả cho sự tách biệt này,

Chú ý rằng một giao tiếp Java không chứa mã thực thi RMI hỗ trợ hai lớp triểnkhai cho cùng một giao tiếp Lớp thứ nhất là triển khai của hành vi, và chạy trên server.Lớp thứ hai hoạt động như một ủy quyền cho dịch vụ từ xa và chạy trên client Điềunày được thể hiện trong sơ đồ sau đây:

Một chương trình client tạo các lời gọi phương thức trên đối tượng proxy, RMIgửi yêu cầu đến cho JVM ở xa, và chuyển nó đến để triển khai Bất kì giá trị trả về

Ngày đăng: 23/03/2015, 22:15

HÌNH ẢNH LIÊN QUAN

Sơ đồ sau mô tả cho sự tách biệt này, - Áp dụng thuật toán Ellis đảm bảo gắn bó dữ liệu trong các CSDL phân tán
Sơ đồ sau mô tả cho sự tách biệt này, (Trang 11)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w