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

tiểu luận môn lập trình mạng lập trình cho phép hệ đa server gắn bó dữ liệu bằng phương pháp trật tự hóa

21 531 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 21
Dung lượng 386 KB

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

Nội dung

Trong thực tế, hệ tin học phân tánvới những nguyên lý, phương pháp của nó đã và đang được nhiều người quan tâm để có thể vận dụng trong quá trình tác nghiệp của mình Vấn đề truy cập, xử

Trang 1

BỘ GIÁO DỤC & ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG

Giáo viên hướng dẫn : PGS.TS Lê Văn Sơn

ĐÀ NẴNG 5/2012

Trang 2

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ậtmớ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ếpcậ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ọng hàng đầu cần phải tính đến là các tài nguyên nói chung, đặc biệt là tàinguyên thông tin nói riêng và chiến lược khai thác, sử dụng chúng một cách tối ưunhất

Chiến lược khai thác các tài nguyên dùng chung này là chức năng cũng nhưđối tượng nghiên cứu của các hệ tin học phân tán Trong thực tế, hệ tin học phân tánvới những nguyên lý, phương pháp của nó đã và đang được nhiều người quan tâm

để có thể vận dụng trong quá trình tác nghiệp của mình

Vấn đề truy cập, xử lý thông tin và đảm bảo sự gắn bó dữ liệu trên hệ phân tán

đã được nghiên cứu trong hàng loạt các công trình Trong phạm vi tiểu luận củamình, tôi thực hiện những vấn đề sau:

Phần I: Cơ sở lý thuyết, bao gồm 3 chương Mục đích tìm hiểu về Cơ sở dữ

liệu trên hệ phân tán, cấu trúc của CSDL phân tán và sự gắn bó dữ liệu trên hệ đaServer bằng phương pháp trật tự hóa

Phần II: Bài tập ứng dụng Trình bày về thuật toán Lamport và xây dựng

chương trình sắp xếp các thông điệp đến dự trên đồng hồ Lamport

Tôi xin chân thành Cám ơn TS Lê Văn Sơn đã giảng dạy, hướng dẫn, cungcấp tài liệu để cho tôi nắm vững được kiến thức môn học này

Trang 3

PHẦN I: CƠ SỞ LÝ THUYẾT

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ược

lạ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

Trang 4

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ữ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ủa mạ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ọiyê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ôi trườngtrong đó dữ liệu được phân tán trên một số vị trí

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 độ

Trang 5

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 6

CHƯƠNG II

CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ THIẾT KẾ CƠ SỞ DỮ

LIỆU PHÂN TÁN

I Cơ sở dữ liệu phân tán:

Có nhiều lý do để xây dựng cơ sở dữ liệu phân tán, như chia sẻ thông tin, tăng

độ tin cậy, tăng tốc độ truy cập thông tin Tuy nhiên, sử dụng hệ thống phân tánphải trả giá phát triển phần mềm, khó khăn hơn khi sửa lỗi dữ liệu và lỗi hệ thống

Trước tiên hệ thống cơ sở dữ liệu phân tán có ưu điểm cho phép dùng chung

dữ liệu theo cách hiệu quả và tin cậy

I.1.1.Chia sẻ dữ liệu và điều khiển phân tán

Nếu một số trạm nối nhau, người dùng tại một trạm có thể khai thác dữ liệutrên trạm kia Thí dụ nếu không có hệ thống phân tán, việc chuyển tiền qua tàikhoản phải thực hiện qua cơ chế trung gian

Tiến bộ thứ nhất này cho phép chia sẻ dữ liệu theo nghĩa mỗi trạm vẫn có mức

độ ưu tiên về điều khiển dữ liệu cục bộ Trong hệ thống tập trung, người quản trị cơ

sở dữ liệu của trạm trung tâm điều khiển các hoạt động xử lý của cơ sở dữ liệu.Trong hệ thống phân tán, cũng có người quản trị bao quát chung toàn hệ thống Mộtphần của trách nhiệm này trao lại cho người quản trị địa phương tại trạm Phụ thuộcvào thiết kế của hệ thống mà người này có độ tự trị riêng Khả năng tự trị địaphương được xem là ưu điểm chính của cơ sở dữ liệu phân tán

I.1.2.Tin cậy và sẵn sàng

Nếu một trạm trong cơ sở dữ liệu phân tán bị hỏng, các trạm còn lại vẫn cókhả năng tiếp tục công việc Cụ thể, nếu dữ liệu sao chép trên nhiều trạm, mỗi giaotác cần dữ liệu cụ thể có thể tìm trên trạm khác Do vậy hư hỏng một trạm khônggây sụp đổ cả hệ thống

Sai sót của trạm cần được hệ thống phát hiện, cần có hành động thích hợp đểhồi phục dữ liệu Hệ thống không tiếp tục sử dụng trạm bị hư mà đợi sau khi sửaxong, trạm này được gắn tích hợp vào hệ thống

Dù việc khôi phục sai sót trong cơ sở dữ liệu phân tán là phức tạp hơn so với

cơ sở dữ liệu tập trung, khả năng hầu hết các hệ thống là tiếp tục làm việc khiến chotính sẵn sàng tăng lên Tính sẵn sàng là khó đạt được trong cơ sở dữ liệu thời gianthực

Trang 7

Ví dụ : Trong hệ thống bán vé máy bay, việc không truy nhập được vào các dữliệu như việc không kịp đăng ký chỗ cho các chuyến bay sẽ gây tổn hại đến uy tín

và lượng khách hàng của hãng hàng không

I.1.3.Tăng tốc xử lý các truy vấn

Nếu một câu hỏi yêu cầu dữ liệu trên vài trạm, có thể tách câu hỏi này ra cáccâu hỏi nhỏ để có thể khai thác song song tại nhiều trạm Tính toán song song nhưthế cho phép trả lời câu hỏi nhanh hơn Trong trường hợp này, các trạm đều có mộtbản sao dữ liệu, câu hỏi được hệ thống trả lời tại trạm nào có chi phí rẻ hơn cả

Nhược điểm đầu tiên của hệ thống cơ sở dữ liệu phân tán là việc tăng thêm sựphức tạp khi xử lý phân tán Phức tạp tăng lên dưới các dạng sau:

- Giá phát triển phần mềm: Do các khó khăn khi cài đặt một hệ thống phân

tán, giá thành sẽ tăng lên

- Dễ mắc lỗi hơn: Vì các trạm trong hệ phân tán làm việc song song, khó có

thể đảm bảo thuật toán được thực hiện đúng trên tất cả các trạm Do vậy

mà số lỗi sẽ tăng lên Các thuật toán phù hợp với cơ sở dữ liệu phân táncòn đang được nghiên cứu

- Khối lượng các xử lý tăng: Hệ thống phân tán cần truyền nhiều thông báo,

nhiều tính toán phụ Do vậy khối lượng xử lý tăng lên so với hệ thống tậptrung Khi chọn thiết kế hệ thống cơ sở dữ liệu, người thiết kế cần phải cânđối các ưu điểm và nhược điểm của việc phân tán các dữ liệu Có dải rộngcác thiết kế rất phân tán đến các hệ thống tập trung

- Những vấn đề về cập nhập và quản lý bản sao dữ liệu

- Xử lý các truy vấn phức tạp hơn

- Thiết kế và quản trị Cơ sở dữ liệu phức tạp hơn

II Thiết kế các cơ sở dữ liệu phân tán

Phần này tập trung vào các thiết kế dùng cho cơ sở dữ liệu phân tán Giả sửquan hệ R được lưu trữ trong cơ sở dữ liệu Có vài lý do yêu cầu lưu quan hệ nàytrong hệ thống phân tán

- Các bản sao: Hệ thống bảo trì vài bản sao như nhau của quan hệ Mỗi

quan hệ được lưu tại một trạm

- Các phần nhỏ: Quan hệ tách thành các phần nhỏ Mỗi phần được lưu trên

một trạm

Trang 8

- Bản sao và phần nhỏ: Đây là hình thức tổ hợp của hai dạng vừa nêu.

Quan hệ tách thành nhiều phần Hệ thống có nhiều bản sao của mỗi phần,trên các trạm khác nhau

Nếu quan hệ R được sao lại, một bản sao của R được lưu trong hai hay nhiềutrạm Trong trường hợp cực đoan, tại mỗi trạm đều có một bản sao Một vài ưuđiểm và nhược điểm của việc sao này

- Tính sẵn sàng: Nếu một trạm chứa quan hệ R bị hư, quan hệ R có thể

được tìm trên trạm khác Do vậy, hệ thống cần tiếp tục câu hỏi về quan hệ

R dù xảy ra hư hỏng trên một trạm

- Tính song song tăng lên: Trong trường hợp đa số truy nhập quan hệ R chỉ

là đọc dữ liệu, một vài trạm yêu cầu R có thể xử lý song song Càng nhiềubản sao càng tăng khả năng sẵn sàng của dữ liệu Hơn nữa, việc tăng cácbản sao làm giảm số lượng thông tin cần truyền giữa các trạm

- Phức tạp tăng lên khi tiến hành cập nhật: Hệ thống cần đảm bảo tất cả

các bản sao của quan hệ R là chặt chẽ, tức thỏa mãn các điều kiện toàn vẹn,trừ khi xảy ra sai sót Điều này có nghĩa khi một bản sao được cập nhật,phép xử lý này cần được thực hiện trên tất cả các trạm có chứa bản sao của

R Chẳng hạn trong hệ thống ngân hàng, khi tài khoản có trên các trạm, sốlượng tiền của tài khoản này trên các trạm phải như nhau

Nhìn chung, việc dùng các bản sao làm tăng hiệu quả của phép đọc, tăng tínhsẵn sàng trong giao tác đọc dữ liệu Vấn đề điều khiển các phép cập nhật tươngtranh của những giao thức trong trường hợp dữ liệu có các bản sao trong hệ thốngphân tán là phức tạp hơn việc điều khiển trong hệ thống tập trung Việc quản lý cóthể được đơn giản hóa bằng cách chọn ra một bản sao gọi là bản sao sơ cấp củaquan hệ R

Ví dụ: Trong hệ thống ngân hàng, một tài khoản gắn với trạm mà tài khoản đóyêu cầu mở Tại trạm này, tài khoản có dữ liệu như bản sao sơ cấp Trong hệ thốngđặt chỗ máy bay, dữ liệu gắn với chuyến bay tại trạm mà chuyến bay xuất phát sẽđược xem là bản sao sơ cấp

Trang 9

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ến trìnhphả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ầnphả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

2 Hệ thống

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ông thể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 10

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)được thể 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ậmmộ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ác phương pháp, cơ chế để đảm bảo khi giao dịch vẫn có sự gắn bó thông tintoàn vẹn dữ liệu trên cơ sở dữ liệu phân tán là:

Trang 11

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.

Loại trừ tương hỗ: 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.

Then cài lựa chọn đối tượng: Một giao dịch thay đổi giá trị của đối

tượng phải loại trừ tất cả các đối tượng 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.

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ạm khácnhau và được nối với nhau thông qua hệ thống viễn thông và rằng các tiến trì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ình trên cáctrạm khác nhau có thể trao đổi các thông điệp với nhau Ta giả định rằng các tiếntrì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:

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ố

Ngày đăng: 31/01/2015, 22:51

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