Tải bản đầy đủ (.ppt) (36 trang)

Tiểu luận môn hệ phân tán VẤN ĐỀ NHIỀU BẢN SAO VÀ CÁC THAO TÁC ĐỌC, CÁC THAO TÁC CẬP NHẬT

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (268.11 KB, 36 trang )


ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TIỂU LUẬN
Môn: HỆ PHÂN TÁN

Đề tài: VẤN ĐỀ NHIỀU BẢN SAO VÀ
CÁC THAO TÁC ĐỌC, CÁC THAO TÁC CẬP NHẬT

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 Đình Truyền



03/23/15
Chương I. Mở đầu về hệ tin học phân tán
I.1 Giới thiệu hệ tin học phân tán
I.1.1 Định nghĩa
I.1.2 Vấn đề trỏ thông tin
I.2 Hệ thống nhiều bản sao
I.2.1 Thuật toán cung cấp cho hệ phân tán
I.2.2 Sắp xếp kiểu đóng dấu
I.2.3 Phân tán biểu hiện trạng thái và chức
năng cung cấp
Chương II. Giải quyết vấn đề nhiều bản sao
II.1 Vấn đề nhân bản các đối tượng dữ liệu

II.2 Sơ lược thuật toán quản lý nhiều bản sao
II.2.1 Cơ chế then cài
II.2.2 Xử lý các sự cố
II.2.3 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu


II.2.3.1 Nguyên lý
II.2.3.2 Triển khai hệ ổn định
II.2.3.3 Các hành vi ngoài chế độ bình thường
Chương III. Sơ đồ tuần tự xử lý các thao tác đọc, các
thao tác cập nhật
III.1 Kỹ thuật đánh dấu bảng điều khiển
III.2 Sơ đồ tuần tự xử lý các thao tác đọc, các thao tác
cập nhật

I.1.1 Định nghĩa

Hệ tin học phân tán hay nói ngắn gọn là hệ phân tán

Là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý

Hệ phân tán như là một tập hợp bao gồm các bộ xử lý hoặc
bộ vi xử lý với bộ nhớ và đồng hồ nhịp độc lập.

Điều này đồng nghĩa với việc các bộ xử lý không sử dụng
chung bộ nhớ và đồng hồ.

Như vậy, mỗi một hệ xử lý thông tin thành phần của hệ
phân tán bao gồm một hay nhiều bộ xử lý và bộ nhớ cục bộ.

Hệ xử lý thông tin thành phần phải được thiết kế sao cho về
cấu trúc, số lượng và dung lượng có thể cho phép thực hiện
một cách trọn vẹn các chức năng mà nó đảm nhận.


- Hệ phân tán được xây dựng nhằm mục đích:

+ Phân tán hoá các quá trình xử lý thông tin và
+ Thực hiện công việc đó trên các trạm xa nhau.
+ Cơ sở căn bản cho việc xây dựng các ứng dụng:
=>thương mại điện tử, giáo dục điện tử,
I.1.2 Vấn đề trỏ thông tin
- Thời hạn truyền một thông điệp là hiệu số giữa thời điểm
nhận và thời điểm truyền - là đại lượng biến thiên.
- Ở cặp máy này khác với ở cặp máy khác. Từ đó ta có 2 hệ
quả sau đây:
1) Ở một thời điểm cho trước, một bộ xử lý đang thực hiện
trên một máy chỉ có thể biết được trạng thái gần đúng của các
máy khác.
2) Trật tự nhận các thông điệp trên các máy nhận có thể
không giống trật tự phát của chính các thông điệp đó.

Các máy trên mạng có thể bị sự cố và các thông điệp có
thể bị mất. Giải pháp cho vấn đề này là máy phát đánh số
thứ tự tất cả các gói thông tin gửi đi kèm theo các số đó cho
máy nhận. Nếu máy phát không đánh số thì máy nhận sẽ
không xác định được. Ta có hệ quả ba là:
3) Hai máy giống nhau chứa thông tin hoàn toàn giống
nhau lại không bao giờ giống nhau về mặt trạng thái.
Từ những vấn đề nêu trên, ta rút ra các đặc tính tổng
quát của hệ phân tán:
i) Thời gian truyền thông điệp là một biến với các giá trị
khác nhau, giá trị này có thể rất lớn.
ii) Tần suất xuất hiện các sự cố trong khi vận hành lớn.
iii)Việc truy cập tài nguyên, kích hoạt các tiến trình trong
mạng không thể thực hiện bởi một thiết bị duy nhất, mà chức
năng này phải được phân tán trên nhiều máy trên mạng.



I.2 Hệ thống nhiều bản sao
Trong hệ phân tán, quá trình tổ chức, vận hành các
hệ thống cho phép đăng ký từ xa, từng hệ thống cục
bộ đều có lưu trữ một bản sao của tất cả các thông tin
liên quan đang có ở tất cả các hệ thống cục bộ.
Ưu điểm nổi bật của kiểu tổ chức này là:
i) Dễ dàng thực hiện việc truy cập thông tin cần thiết
cho các yêu cầu ngay tại hệ thống cục bộ của mình.
ii) Cho kết quả truy cập một cách nhanh chóng.
Tuy nhiên, chỉ cho kết qủa tương đối chính xác và phụ
thuộc rất nhiều vào phương pháp và thời hạn cập nhật
thông tin trong các CSDL cục bộ.

Sự tồn tại nhiều bản sao trong một hệ phân tán
trên nhiều hệ thống cục bộ khác nhau có thể dẫn đến
các hệ quả sau đây:
i) Cập nhật thông tin diễn ra do đăng ký gần hay từ xa
hoặc sự thay đổi thông tin cục bộ trên một hệ cục bộ nào
đó cần phải được tiến hành cho tất cả các hệ thống cục bộ
và không được phép bỏ sót hệ thống nào cả. trong khoảng
thời gian làm tươi (refresh), thông tin phải đảm bảo sao
cho việc truy vấn dữ liệu cho kết quả kịp thời hay đặt
truy vấn trong trạng thái treo(hang).
ii) Cần phải tránh trường hợp các thao tác trên hai bản
sao khác nhau nhưng chứa cùng một thông tin được truy
cập bởi hai hay nhiều yêu cầu dẫn đến không gắn bó.

I.2.1 Thuật toán cung cấp cho hệ phân tán

Vì sự ổn định và hiệu quả mà ta phải phân tán chức năng
cung cấp trên nhiều trạm khác nhau. Sự hoạt động gắng bó với
nhau giữa các chương trình cung cấp là rất cần thiết để bảo
đảm cho hoạt động cung cấp được hoàn toàn chính xác.
Một sự hoạt động gắn bó dữ liệu của các chương trình cung
cấp phân tán quản lý trên cùng một tập hợp các tài nguyên chỉ
đạt được nếu tuân thủ các nguyên tắc sau:
i) Các bộ cung cấp bắt buộc phải thực hiện cùng một giải thuật
ii) Các bộ cung cấp đều nhận tất cả các thông điệp phát đi từ
các tiến trình.
iii) Các thông điệp phải được xử lý cùng một trật tự như nhau
trong các chương trình cung cấp. Trật tự duy nhất trên tập
hợp các thông điệp của hệ, và trật tự được thực hiện thông qua
việc hợp lực giữa các tiến trình cung cấp hay tiến trình phát
thông điệp.


I.2.2 Sắp xếp kiểu đóng dấu
Trạm phát được gắn một giá trị gọi là dấu. Giá trị này có
tính chất thời điểm cho trạm phát thông tin và dựa vào đồng
hồ lô gích cục bộ của chính trạm.
I.2.3 Phân tán biểu hiện trạng thái và chức năng cung cấp.
Phân tán biểu hiện trạng thái và chức năng cung cấp, có các giải
pháp có thể:
i) Duy trì tại mỗi trạm một bản sao trạng thái tài nguyên tổng
quát.
ii) Phân tán biểu hiện trạng thái trên các trạm, mỗi một trạm chỉ
có trạng thái các tài nguyên cục bộ của mình. Các quyết định được
đưa ra trên các trạm khác nhau cần phải được phối hợp theo kiểu
sao cho dữ liệu của việc cung cấp phải được gắn bó với nhau.

iii) Nhóm sắp xếp nhằm bảo đảm cho tất cả các yêu cầu tài
nguyên xuất phát từ các tiến trình đến được các bộ cung cấp khác
nhau theo một trật tự duy nhất được cố định từ trước.

Chương II. GIẢI QUYẾT VẤN ĐỀ NHIỀU BẢN SAO
II.1 Vấn đề nhân bản các đối tượng dữ liệu
Khi nghiên cứu về hệ phân tán chúng ta thấy rằng, thời gian
truy cập trung bình vào thông tin trong hệ phân tán có thể được rút
ngắn, trong một số trường hợp, nhờ vào phương pháp nhân nhiều
bản và được gọi là nhiều bản sao của một đối tượng thông tin.Ta
cần phân biệt hai trường hợp khác nhau được thể hiện sau đây:
Trường hợp 1.a. Đa xử lý với bộ nhớ chung
Mỗi một bộ xử lý đều có bộ nhớ cục
bộ của mình, hay còn gọi là cache, được
dùng để sao chép lại các vùng đang làm
việc của bộ nhớ chung. Một chương
trình thể hiện thuật toán thay thế đảm
nhận nhiệm vụ làm mới các bộ nhớ cục
bộ. Trường hợp có nhiều bộ xử lý muốn
truy cập vào cùng một đối tượng, ta sử
dụng như là sự tham chiếu đến phiên
bản của đối tượng tìm thấy trong bộ nhớ
chung.


Trường hợp 1.b) Hệ truy cập từ xa thông qua một máy server duy nhất
L
B
ch
B

cb
B
cb
L
Bé xö lý
Bé nhí côc bé
Bé nhí chung
(e)
(e)
HÖ thèng viÔn th«ng
L
M¸y client
M¸y server
Trong trường hợp này, một
đối tượng được đưa vào trên
một trạm xác định và được
quản lý bởi một server cục bộ
trên trạm này. Khi một tiến
trình ở xa muốn sử dụng đối
tượng, nó phải bắt đầu bằng
yêu cầu server cho một bản sao
thông qua hệ thống viễn thông.
Sau khi sử dụng xong, tiến trình
phải gửi lại cho server một
phiên bản đã được sửa đổi của
đối tượng
Hệ truy cập từ xa thông qua máy server

Trường hợp 2 Tính cân đối giữa các người sử dụng tài nguyên thông tin của mạng
L

ee
L
HÖ thèng viÔn th«ng
e
L
e
LL
e
L
e
. . . . . .
. . . . . .
Tại đây, tất cả các bản
đóng vai trò đối xứng. Công
việc được tiến hành theo kiểu
này cho phép rút ngắn thời
gian truy cập, nếu số lần truy
cập để đọc lớn hơn số lần truy
cập để cập nhật và vì lý do
thuận lợi sử dụng theo nghĩa có
sẵn để dùng.
Tình hình nêu trên đặt ra
cho chúng ta nhiều vấn đề cần
phải giải quyết. Đó chính là các
lần cập nhật thông tin hay nói
cách một cách tổng quát là cập
nhật các bản sao. Từ đó, ta rút
ra các đặc điểm quan trọng sau
đây


1) Khi chỉ tồn tại một bản tập trung đặc quyền, ta có
thể đặt ra rằng việc thay đổi đối tượng thực hiện trên một
trong các bản sao sẽ được sao lại ngay lập tức vào bản
chính. Đó chính là trường hợp ghi tức thời và các cập
nhập đều gắn bó. Với các phương pháp ghi khác, ngược
lại, các thay đổi tương ứng của một bản sao đối tượng
cục bộ chỉ được sao lại trên bản chính khi thuật toán thay
thế được thực hiện nhằm cung cấp lại các bản ghi bị
chiếm bởi bản sao cục bộ đó.
2) Khi không tồn tại bản đặc quyền, ta có thể gặp các
trường hợp không gắn bó thông tin.
Trường hợp thứ hai làm phát sinh hai yêu cầu mới:

i) Toàn bộ giao dịch thay đổi bản sao của đối
tượng cần phải chép lại càng sớm càng tốt thay đổi đó
trên tất cả các bản sao khác. Trong khi thực hiện giao
dịch, không có bất kỳ sao chép nào khác được thực
hiện. Sau khi thực hiện xong, tất cả các bản sao hoàn
toàn giống nhau.
ii) Việc cập nhật tức thời (theo hệ tập trung) của
tất cả các bản sao là không cần thiết
II.2 Thuật toán quản lý nhiều bản sao
Thuật toán cho phép sao lại các thay đổi của một
đối tượng trên các bản sao khác nhau như sau:

II.2.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 giao dịch bị khoá và
đối tượng không bị cài then.
Cơ chế cài then cho phép một giao dịch có thể giải
phóng đối tượng mà nó đã cài then.

II.2.1.1 Loại trừ tương hỗ
Một trong những giải pháp giản đơ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ự, 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.
II.2.1.2 Then cài chọn lựa các đố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.
Để đả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 trên ba hàm nguyên thuỷ
trên đối tượng e:
v_doc(e) Sử dụng khi muốn có được quyền đọc e theo kiểu
chia sẻ.
v_viet(e) Sử dụng khi muốn có được quyền đọc và viết vào e
theo kiểu loại trừ.
giai_phong(e) Giải phóng đối tượng e. giả sử trước đó đã
dược cài then bởi cùng giao dịch này.

II.2.2 Xử lý các sự cố
Một cơ chế cho phép duy trì gắn bó trong môi trường
phân tán có sự cố phải là:

i) Giao dịch T bắt buộc phải được thực hiện một cách
trọn vẹn
ii) Nếu có sự cố diễn ra thì bắt buộc nó phải quay trở lại
điểm xuất phát.
+ 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ó.
+ Nếu một tiến trình bị sự cố trước khi diễn ra các
thay đổi của T, trạng thái của hệ là gắn bó.
+ Nếu một tiến trình bị sự cố giữa các thay đổi T,
trạng thái của hệ là không gắn bó.
Các mô hình và giải thuật nghiên cứu phải đảm bảo các đặc
tính toàn vẹn dữ liệu của hệ và tuân thủ theo các giai đoạn thể
hiện trong hình vẽ sau:

Mô tả ba giai đoạn của một giao dịch:
Tr"íc cËp nhËt
Trong cËp nhËt
Sau cËp nhËt
Kh«ng
g¾n bã
G¾n bã
G¾n bã
I
II
1

2
3
t
Hình vẽ. Ba giai đoạn của một giao dịch

Sơ đồ mô tả cơ cấu tổ chức của hệ thống nhiều bản
sao và việc cập nhật các bản sao được thể hiện trong hình
vẽ sau đây:
t
1
t
2
t
q
b
1m
b
12
b
11
b
21
b
22
b
2m
HÖ thèng viÔn th«ng
S
1
S

2
S
n
b
n1
b
n2
b
nm



b
ij
: I =1 n, j=1 m,
trong đó : i chỉ server,
j chỉ bản sao
n là số lượng server được mắc
nối trong mạng.
m là số lượng các đối tượng dữ
liệu.
t
k
, k=1 q, k là trạm A và q là số
trạm được mắc nối.
Hình vẽ. Sơ đồ mô tả hệ thống nhiều bản sao

Những ràng buộc trên các bản sao:
Trên bản sao của một đối tượng:
Nếu ta có n bản sao b1, b2,…, bn của đối tượng b, một trong

các ràng buộc toàn vẹn là:
b1=b2= =bn
Trên các bản sao của toàn bộ các đối tượng:
b11=b21= =bn1
b12=b22= =bn2

b1m=b2m= =bnm

Số lần truy cập để đọc các bản sao trên thực tế lớn hơn rất nhiều so với số
lần cập nhật các bản sao.

Cách đầu tiên được áp dụng là then cài:

Giả sử với trường hợp có n bản sao b1, b2, …, bn của đối tượng b, để tham
chiếu đến b, cần phải thực hiện giao dịch:

v_doc(b
i
)
doc(b
i
)
giai_phong(b
i
)
Để thực hiện việc cập nhật vào các bản sao, ta cần
phải cài then chúng một cách hợp thức theo kiểu loại
trừ.
Để cho i:=1 đến n thực hiện v_viet(b
i

)
<Thực hiện các cập nhật và chép chúng vào tất cả
các bản>
Để cho i:=1 đến n thực hiện giai_phong(b
i
)
Nhược điểm căn bản của giải pháp này là rất yếu về
song song giữa các phép toán cập nhật. Ta có thể áp dụng
các ràng buộc toàn vẹn yếu hơn.

II.2.3 Thuật toán đảm bảo sự gắn bó yếu nhờ dấu
II.2.3.1 Nguyên lý

Tập hợp các yêu cầu cập nhật được sắp xếp theo cùng một kiểu
trên tất cả các trạm nhờ cơ chế dấu.

Theo đó mỗi một yêu cầu được phát đi cho tập hợp các trạm.
Trên mỗi trạm, tồn tại một tiến trình Server đảm nhận nhiệm
vụ tiếp nhận các yêu cầu theo trật tự của dấu.

Điều đó cho phép có được một sự gắn bó yếu giữa các bản sao.
II.2.3.2 Triển khai hệ ổn định
Các giao dịch cần xét là các khả năng đọc, ghi hay cập nhật.
Cập nhật được xác định như là một dãy các thao tác đọc và
ghi, thao tác kiểm tra đọc tức thì trạng thái hiện hành của một
bản sao.
Mỗi một server tiếp nhận các yêu cầu ghi đến từ trạm cục
bộ ở thời điểm cho trước. Nó tiếp nhận các yêu cầu và tính
toán trên cơ sở dấu theo tiêu chí lâu nhất.


Có hai trường hợp cần xem xét:
1) Tập hợp các yêu cầu ghi khi chờ chứa các yêu cầu
từ tất cả các trạm khác. Trong trường hợp này các yêu
cầu đi qua, nếu chúng tồn tại, là mới hơn so với các yêu
cầu đã đi qua. Nói cách khác, yêu cầu lâu nhất chính là
yêu cầu đang chờ.
2) Tồn tại các trạm mà không có bất kỳ yêu cầu nào
được truyền đến. Ta được đưa các trường hợp trước đây
bằng cách truyền cho tất cả các trạm một thông điệp yêu
cầu và bắt buột phải xác nhận. Do vậy, sau một khoảng
thời gian, theo giả thiết về độ ổn định, ta sẽ nhận hoặc là
các yêu cầu đi qua, hoặc là các trả lời cho thông điệp yêu
cầu. Lúc này, ta có được các thông điệp đến từ tất cả các
trạm.

×