Tải bản đầy đủ (.doc) (27 trang)

VAI TRÒ của TRẬT tự hóa và vấn đề gắn bó dữ LIỆU

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 (541.81 KB, 27 trang )

BỘ GIÁO DỤC & ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

BÀI TIỂU LUẬN
HỆ PHÂN TÁN

 NGUYỄN VĂN ĐỊNH 
 Số 3
HỆ PHÂN TÁN
 CAO HỌC K24
KHOA HỌC MÁY TÍNH


Đà Nẵng, 12/04/2012


MỤC LỤC 2
*** 2
LỜI NÓI ĐẦU 3
CHƯƠNG 2 5
CÁC KHÁI NIỆM CƠ BẢN HỆ TIN HỌC PHÂN TÁN 5









I.1 Ưu điểm 6


I.2 Hạn chế 7
 !"#$

%
&'

%
($')

*
CHƯƠNG 2 8
VAI TRÒ CỦA TRẬT TỰ HÓA VÀ VẤN ĐỀ GẮN BÓ DỮ LIỆU TRONG HỆ TIN HỌC PHÂN TÁN 8
+,+-$#).

*
I.1 Trật tự từng phần 8
I.2 Trật tự hóa các tác động 11
($!/01

23
I.1 Điều kiện giả định và thực tế 13
I.2 Tác động và giao dịch 14
+'4#1+($!/0

2
56.7!/04#

2
-46/64($!/01+4(#.


2%
CHƯƠNG 3 18
BÀI TẬP 18
6-#+8($!/01

29
/:/!1;

<=
KẾT LUẬN 26
TÀI LIỆU THAM KHẢO 27
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn


Trong những năm gần đây, những thành tựu về Khoa Học - Công Nghệ phát triển
mạnh mẽ đã làm thay đổi cách nhìn, cách nghĩ của con người từ đó làm thay đổi bộ mặt của
xã hội. Đặc biệt là sự phát triển vượt bậc trong lĩnh vực công nghệ thông tin. Hiện nay, việc
nghiên cứu phát triển các giải pháp kỹ thuật cơ sở cho các ứng dụng phân tán đã đạt được
những thành công nhất định và thể hiện trong các công bố mới nhất.
Tuy nhiên, để có được một giải pháp hữu hiệu đáp ứng các yêu cầu đặt ra của việc gắn bó
dữ liệu trong môi trường phân tán như Internet/Intranet, thì đòi hỏi phải tiếp tục nghiên cứu
hoàn thiện các giải pháp hiện hành.Vấn đề tự hóa và vấn đề gắn bó dữ liệu trong hệ tin học
phân tán, đã trở thành một lĩnh vực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý
thuyết lẫn các nhà sản xuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn
bó thông tin trong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn. Song để
khai thác có hiệu quả toàn hệ, vấn đề quan trọng là chiến lược khai thác và sử dụng các tài
nguyên dùng chung như thế nào? 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án vớ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.

SVTH:Nguyễn Văn Định Trang 3
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Trong phạm vi tiểu luận của mình, tôi trình bày được những vấn đề sau:
Mục lục
Chương 1:
Các khái niệm cơ bản hệ tin học phân tán.
Chương 2:
Vai trò của trật tự hóa và vấn đề gắn bó dữ liệu trong hệ tin học phân tán.
Chương 3:( Bài tập)
Ta hãy xét một hệ đa xử lý với bộ nhớ chung, trong đó mỗi một bộ xử lý được trang bị một
bộ nhớ cục bộ hoạt động theo nguyên tắc của bộ nhớ cache. Hệ này quản lý ba đối tượng là
:
1. Các biến toàn cục, được truy cập bởi nhiều tiến trình.
2. Các biến cục bộ chỉ được phép truy cập bởi một tiến trình có nhu cầu.
3. Các hằng chia xẻ được.
Mỗi ngăn nhớ của bộ nhớ chung hay cục bộ đều bao gồm một ký hiệu cho phép nhận dạng
kiểu của đối tượng chứa trong đó. Một đối tượng không thể thay đổi kiểu. Ta có cơ chế đảm
bảo việc loại trừ tương hổ cho các truy cập vào bộ nhớ chung.
Hãy cho biết nguyên lý được mô tả bởi thuật toán truy cập vào các loại đối tượng khác
nhau đó với điều kiện duy trì sự gắn bó bằng cách sử dụng ghi tức thời.
Kết luận
Tài liệu tham khảo
Xin chân thành cảm ơn !"#$%&'& đã giảng dạy, định hướng nghiên
cứu và cung cấp nhiều tài liệu để tôi có thể hoàn thành tiểu luận này. Với kiến thức có hạn
nên tiểu luận này không tránh khỏi những sai sót. Rất mong nhận được sự góp ý của thầy và
các bạn.
Một lần nữa xin trân trọng cảm ơn thầy $%&'&!
SVTH:Nguyễn Văn Định Trang 4
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
()

*+*, ,/*
 0&!&1!23!4 5&!678!9& :&
Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ xử lý
nằm ở xa ở các vị trí khác nhau và được liên kết với nhau thông qua phương tiện viễn thông
dưới sự điều khiển thống nhất của hệ điều hành.
Hệ phân tán 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ồ độ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ồ. Trong hệ tin học phân tán, các tính toán có thể được tính trên nhiều bộ xử lý hay
trên vi xử lý của hệ thống đa bộ xử lý. Như vậy hệ thống hệ tin học phân tán đòi hỏi hệ
thống của mình phải trang bị bộ nhớ cục bộ. Các bộ xử lý trao đổi thông tin qua các hệ
thống đường truyền khác nhau như là cáp chuyên dụng, bus trao đổi, đường điện thoại, cáp
quang, . . . vv.
Khác với hệ thống máy đơn, mạng máy tính là tập hợp các thiết bị đầu cuối được kết
nối với nhau thông qua hệ thống đường truyền. Các thiết bị đầu cuối của máy tính rất đa
dạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết bị truyền tin, các
thiết bị tiếp nhận và hiển thị thông tin. Hệ thống mạng máy tính được điều khiển bằng hệ
điều hành mạng. Hệ thống tin học này có thể là hệ tập trung hoặc hệ phân tán.
Căn cứ vào các thành phần của hệ tin học, ta nhận thấy hệ tin học có thể bao gồm
bốn thực thể sau:
SVTH:Nguyễn Văn Định Trang 5
:7
!4 !;&1
8!"&<=<
4 !;&1
>?@54A
B8!C8
8!"&7D&1
4 !;&1
EA#=&
!F&1

G&!H :7 !I7 !J7K3!4 5&!678!9& :&
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Trong hệ tin học phân tán, cấu hình phần cứng của mạng có thể bao gồm các bộ xử
lý có cấu tạo hoàn toàn khác nhau về khả năng, tốc độ và được thiết kế cho các chức năng
khác nhau. Chúng có thể là các bộ xử lý, các trạm làm làm việc, các máy tính tập trung và
các máy tính điện tử vạn năng lớn. Chúng được gọi bằng các tên khác nhau như trạm, node .
. . căn cứ vào ngữ cảnh mà ở đó nó được nêu ra.
Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyền
thông được mô tả như ở trên. Song điều cơ bản để phân biệt hệ tin học phân tán với mạng
máy tính là và hệ điều hành mạng chính là nguyên tắc xây dựng hệ.
II. :7 !L&!8!"&7K3!4 5&!678!9& :&
Các thành phần của hệ tin học phân tác có thể phản ánh trong bảng sau:
 !L&!8!"&
1 Bộ xử lý dùng cho các máy tính lớn hoặc máy trung
2 Bộ vi xử lý
3 Bộ xử lý hay vi xử lý với các bộ nhớ chính
4
Bộ xử lý hay vi xử lý với các bộ nhớ chính và kèm theo một vài bộ nhớ truy
cập nhanh
5
Máy lớn, trung hay vi tính hoàn chỉnh với điều kiện không sử dụng đồng hồ
chung
6 Trạm làm việc của mạng máy tính
7 Thiết bị đầu cuối của mạng
8 Các hệ thống tin học đóng vai trò nút trung chuyển
9 Các mạng cục bộ hoạt động độc lập trong mạng lớn
(AM5J<NL!O&7!P7K3!4 !;&18!9& :&
H Ưu điểm
 Chia xẻ tài nguyên: Chia xẻ tài nguyên trong hệ thống phân tán cung cấp một cơ chế
để chia xẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn

tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện các thao tác…
 Tăng tốc độ tính toán: Hệ thống phân tán cho phép phân chia việc tính toán trên
nhiều vị trí khác nhau để tính toán song song.
 An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn tiếp tục
SVTH:Nguyễn Văn Định Trang 6
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
làm việc mà không ảnh hưởng đến toàn bộ hệ thống.
 Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi dữ liệu từ vị
trí này sang vị trí khác. Khi các vị trí được nối kết với nhau trong một hệ thống
mạng, việc trao đổi dữ liệu diễn ra rất dễ.
) Hạn chế
 Giá phát triển phần mềm cao: 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.
 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ập trung.
IV. 1A#$& Q7R9#>I&1!48!9& :&
 Chia sẻ tài nguyên: Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần
phải dùng chung tài nguyên. Một tiến trình trên một trạm nào đó có thể cung cấp tài
nguyên dùng chung ở một trạm khác.
 Liên lạc: Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể
trao đổi thông tin với nhau.
 Tin cậy: Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược lại,
công việc đó được phân cho các trạm khác đảm nhận. Ngoài ra, trạm bị sự cố có thể
tự động phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng thái ban đầu của
nó.
 Tăng tốc: Đây là khái niệm mới về phân tán tải. Một tính toán lớn nào đó, nếu chỉ sử
dụng một trạm thì thời gian cho kết quả lâu. Tính toán này được chia nhỏ và thực
hiện song song trên các trạm. Điều này cần thiết đối với các trạm quá tải.

 5=AS54&7K3!48!9& :&
Để đảm bảo hoạt động thì các hệ thống kết nối với nhau phải thỏa mãn hai điều kiện cơ
bản sau đây :
SVTH:Nguyễn Văn Định Trang 7
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
 Bất kỳ một hệ thống thành phần nào (hệ cục bộ) đều có thể liên lạc thông suốt với
các hệ thống thành phần khác.
 Mỗi một hệ thống cục bộ được đặc trưng bằng một tên duy nhất và tên này có thể
được nhận biết bởi các hệ thống viễn thông.
 IS!:7&!3A15?3!4 5&!678!9& :&NL!4 5&!67
Sự khác nhau cơ bản của hệ tin học phân tán và hệ tin học đó là “hệ thống truyền
thông
Các máy tính đơn được nối vào lại với nhau thành một hệ thống mạng thì hệ thông đó
gọi là hệ tin học phân tán
()
TUV WTUXY
T Z[-
\, U],
/ *
 35 E^7K3 EB I>?@54A
H Trật tự từng phần
Trong các hệ thống tin học tập trung, vấn đề đồng bộ hóa được giải quyết thông qua cơ
chế loại trừ tương hỗ. Cơ chế này cho phép sắp đặt (xác lập trật tự) hoàn toàn các sự kiện.
Trong thực tiễn, có một số hệ thống vấn đề về đồng bộ hóa chỉ đòi hỏi trật tự từng phần.
SVTH:Nguyễn Văn Định Trang 8
:7
!4 !;&1
8!"&<=<
4 !;&1
>?@54A

B8!C8
8!"&7D&1
4 !;&1
EA#=&
!F&1
Hình 2: :7 !I7 !J7K3!4 5&!678!9& :&
G&!_:7 !I7 !J7K3!4 5&!67
G&!`4 5&!678!9& :&
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Chính vì vậy trật tự hóa từng phần giữa các sự kiện mà các tiến trình của nó cần phải đồng
bộ là vấn đề cần phải quan tâm giải quyết.
Trong hệ thống phân tán, việc đồng bộ hóa chỉ đặt ra duy nhất vấn đề thiết lập một trật
tự giữa các sự kiện. Giữa các trạm khác nhau, trật tự đó chỉ có thể thể hiện được thông qua
việc trao đổi các thông điệp với nhau.
Giả sử rằng ta có thể xác định một trật tự giữa các sự kiện của hệ phân tán nhờ vào quan
hệ được kí hiệu là  và gọi là “có trước” hay “ở ngay trước”.
Quan hệ này tối thiểu phải thỏa mãn được các ràng buộc thể hiện trong bảng sau đây:
SVTH:Nguyễn Văn Định Trang 9
C1: Nếu A và B là hai sự kiện của cùng một trạm và nếu A được thực
hiện trước B thì theo trật tự của trạm ta có: AB.
C2: Nếu A là phát thông điệp bởi một trạm nào đó và nếu B là thu
của thông điệp này thì ta có: AB.
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Ví dụ 1:
Hình 1: Mô tả trật tự từng phần
Theo hình vẽ ta có thể biểu diễn trật tự như sau:
Trật tự từng phần của các sự kiện
A1A2A3A4A5
B1B2B3B4
Trao đổi thông điệp

A1B2 và B3A4
Chuyển qua
A1A2B2B3B4
B1B2B3A4A5
A1A2B2B3A4A5
SVTH:Nguyễn Văn Định Trang 10
A1
A2
A3
A4
A5
B1
B2
B3
B4
B5
t
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
) Trật tự hóa các tác động
Cho một tập các giao dịch M = (T1, T2, ,Tn) 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ó dữ liệu 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 giao dịch. Do vậy, nó cũng
đảm bảo trong chế độ thực hiện tuần tự của M.

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 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
các tác động như vậy được gọi là trật tự hóa của tập hợp các giao dịch M.
Ví dụ 2:
Cho T
1
= (a
11
, a
12
, a
13
, a
14
) và T
2
= (a
21
, a
22
, a
23
, a
24
). Một trật tự hóa M = {T1, T2}
được thể hiện theo một trong nhiều cách sau:
S1 = a
11
, a
21

, a
12
, a
22
, a
23
, a
13
, a
14
, a
24
S2 = a
21
, a
11
, a
22
, a
12
, a
23
, a
13
, a
14
, a
24

Trong số các trật tự hóa của một tập hợp các giao dịch, điều quan trọng là phải tách

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ự hóa gắn
bó.
Như vậy, trật tự hóa tuần tự là các trật tự hóa tương ứng với việc thực hiện tuần.
p hợp các giao dịch. Đây là điều kiện đủ của sự gắn bó.
Ví dụ 3:
Quản lý các tài khoản tại một ngân hàng. Mỗi một người mở tài khoản tại ngân hàng
sẽ được lưu trữ trong một bản ghi của CSDL. Trong tài khoản của người sử dụng không bao
giờ có giá trị bằng 0 hay giá trị âm.
Ta cần giả định một số quy tắc sau:
SVTH:Nguyễn Văn Định Trang 11
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
 aA# Q7
1 Chỉ có một loại phép toán (hay giao dịch) duy nhất là chuyển khoản từ tài khoản
này sang tài khoản khác
2 Hệ có số lượng tài khoản cố định
3 Không có trao đổi nào khác diễn ra ngoài ngân hàng
4 Ngân hàng không được phép tiết lộ bí mật về số dư của khách.
Phép toán chuyển khoản thể hiện bằng cách trừ đi một giá trị P nào đó ở một tài
khoản và cộng chính giá trị đó vào tài khoản khác.
Kí hiệu: A là số dư tài khoản bị trừ đi và B là số dư tài khoản được cộng vào.
U – giao dịch mới
T- các giao dịch chuyển khoản
Ba trật tự hóa có thể là S1, S2, và S3

Hình 2: Trật tự hóa S1
SVTH:Nguyễn Văn Định Trang 12
Giao dịch loại T
A:=A-P
A:=(1+t)xA
B:=(1+t)*B

B:=B+P
Giao dịch loại U
Giao dịch loại T
A:=A-P
A:=(1+t)xA
B:=(1+t)*B
B:=B+P
Giao dịch loại U
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Hình 5: Trật tự hóa S2
Hình 6: Trật tự hóa S3
Ta nhận thấy dễ dàng là trật tự hóa S2 có tác dụng tương đương với trật tự hóa tuần
tự S3, trong khi đó trật tự hóa S1 lại khác. Trong trật tự hóa S2 và S3, các tác động cập nhật
lần lượt của tài khoản A và B đều được thực hiện theo cùng một tuần tự, còn trong trật tự
hóa S1 thì trật tự tác động cập nhật tài khoản B bị đảo ngược.
Ví dụ này cho ta thấy sự quan trọng của việc đảm bảo trật tự khi cập nhật thông tin.
 I1Q&bc !F&1 5&
H Điều kiện giả định và thực tế
Ta có một tập hợp thông tin nào đó có thể được truy cập bởi một tập hợp các tiến trình.
Số lượng đối tượng thông tin có thể truy cập và số lượng tiến trình có nhu cầu thông tin là
cố định. Hệ này phát triển rời rạc theo thời gian, giữa các điểm xác định, ta có thể nhận biết
được trạng thái thực của chúng, nghĩa là các giá trị của đối tượng và ngữ cảnh thực hiện của
các tiến trình. Hệ như vậy hoạt động với độ ổn định tuyệt vời
Các điều kiện giả định trên so với hệ thực tế có những điểm khác nhau căn bản là :
- Các đối tượng và các tiến trình có thể được tạo lập và huỷ bỏ có tính chất động trong
suốt quá trình tồn tại của hệ
- Các đối tượng và các tiến trình có thể được phân tán trên các trạm khác nhau liên hệ
với nhau qua hệ thống viễn thông.
- Hệ thống viễn thông và các tiến trình là các đối tượng có thể xảy ra sự cố kỹ thuật
SVTH:Nguyễn Văn Định Trang 13

Giao dịch loại T
A:=A-P
A:=(1+t)xA
B:=(1+t)*B
B:=B+P
Giao dịch loại U
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
) :7Md&1NL153e>07!
Các đối tượng khác nhau của hệ không phải là các đối tượng độc lập nhau, chúng quan
hệ với nhau bởi tập hợp các quan hệ gọi là các ràng buộc toàn vẹn. Các ràng buộc này thể
hiện sâu sắc các đặc tính riêng biệt của hệ.
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ì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:
 D7 5f5 !g7!
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.
) Hệ thống - Mỗi giao dịch được cấu tạo từ mộ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)
Ví dụ 4:
Trong hệ thống quản lý tài khoản ngân hàng, mỗi số dư tài khoản được thể hiện bằng
một bản ghi. Ta cần lưu rằng:
- Phép chuyển giá trị từ tài khoản này sang tài khoản khác được xem như là 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 của chúng.
SVTH:Nguyễn Văn Định Trang 14
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
E5J&S!35153e>07! F& E6&1hI1Q&bc
Cho một tập hợp giao dịch M={T1,T2…,Tn}. 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ệc thu đượ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ộc trê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 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.
Để đả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 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.
o Then cài loại trừ tương hỗ.
o Then cài lựa chọn đối tượng.
o Giao dịch hai pha.
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á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ế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ác trạ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ế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:
 '7!P
1 - Cơ chế cho phép sắp xếp một cách tổng quát các tác động của cùng một giao
dịch, ngay cả khi các tác động này diễn ra trên các trạ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 đối tượng đảm bảo
tôn trọng tính toàn vẹn của các đối tượng truy cập cụ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ố.

SVTH:Nguyễn Văn Định Trang 15
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Cơ chế xử lý sự cố
 !f5 !I7!54&
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:
 !f5 !I7!54&
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, trạng thái của
hệ là gắn bó.
3 - Nếu một tiến trình bị sự cố giữa các thay đổi của T, trạng thái của hệ là không
gắn bó.
Nếu dữ liệu được phân tán trên nhiều server, để bảo đảm dữ liệu sẽ được ghi lên
đúng đắn lên mọi cơ sở dữ liệu, đòi hỏi phải có các cơ chế bảo vệ dữ liệu. Ví dụ như việc
cập nhật bảng cân đối tài khoản khách hàng ở ba cơ sở dữ liệu khác nhau. Nếu 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ố.
 aAf&@i1Q&bc7:7153e>07!
Bây giờ ta hãy xem xét một hệ, trong đó các đối tượng được phân tán trên nhiề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ột giao dịch T
j
có thể
tham chiếu đến các đối tượng nằm trên các trạm khác nhau và do vậ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ên một trạm S
i
một tiến trình P

ji
với
nhiệm vụ thực hiện các tác động giao dịch T
j
trên S
i
, 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ểu song song.
SVTH:Nguyễn Văn Định Trang 16
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
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 ra bằ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.
 :7 !AB  e:&Mf<bfehI1Q&bc !F&1 5& Ee&18!9& :&
 Thuật toán duy trì sự gắn bó tránh bế tắc và thiếu thốn.
Nguyên lý:
+ Then cài ngầm định
+ Phát hiện các xung đột.
+ Khẳng định
 Thuật toán quản lý nhiều bản sao.
+ Thuật toán đảm bảo sự gắn bó yếu nhờ dấu.
+ Thuật toán đảm bảo sự gắn bó yếu nhờ bộ tuần tự tuần hoàn.
+ Thuật toán đảm bảo sự gắn bó mạnh.
SVTH:Nguyễn Văn Định Trang 17
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
(_
-X
Ta hãy xét một hệ đa xử lý với bộ nhớ chung, trong đó mỗi một bộ xử lý được trang bị
một bộ nhớ cục bộ hoạt động theo nguyên tắc của bộ nhớ cache. Hệ này quản lý ba đối
tượng là :

1. Các biến toàn cục, được truy cập bởi nhiều tiến trình.
2. Các biến cục bộ chỉ được phép truy cập bởi một tiến trình có nhu cầu.
3. Các hằng chia xẻ được.
Mỗi ngăn nhớ của bộ nhớ chung hay cục bộ đều bao gồm một ký hiệu cho phép nhận
dạng kiểu của đối tượng chứa trong đó. Một đối tượng không thể thay đổi kiểu. Ta có cơ
chế đảm bảo việc loại trừ tương hổ cho các truy cập vào bộ nhớ chung.
Hãy cho biết nguyên lý được mô tả bởi thuật toán truy cập vào các loại đối tượng
khác nhau đó với điều kiện duy trì sự gắn bó bằng cách sử dụng ghi tức thời.
Một trong những giải pháp để đạt được trật tự hóa gắn bó chỉ có thể thành công khi
áp dụng các ràng buộc trê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 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). Để giải
quyết vấn đề này ta áp dụng thuật toán >A# EGhI1Q&bc E:&!bP Q7NL !5PA !;&
Các phép toán then cài và mở then không được chỉ ra trong các giao dịch. Một bộ
điều khiển cục bộ trong từng trạm phân tích tất cả các truy cập vào đối tượng và thực hiện
tự động các phép toán này khi cần thiết theo nguyên lý hai pha. Các đối tượng xử lý bởi các
giao dịch không cần phải biết từ trước.
SVTH:Nguyễn Văn Định Trang 18
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
I. 5f5 !AB >A# EGhI1Q&bc !F&1 5&
Giải thuật duy trì sự gắn bó thông tin đối với hệ trên theo phương pháp tránh bế tắc
và thiếu thốn dựa trên nguyên lý sau.
Bước 1: Then cài ngầm định.
Bộ điều khiển cục bộ trên mỗi trạm S
i
áp đặt cho các tác động khác nhau trên trạm và
diễn biến theo một trật tự hoá hợp thức. Để làm được việc đó cần phải ngăn chặn giao dịch
T
j
hay nói cách khác là tiến trình P

ji
mà tiến trình này đang thực hiện trên S
i
. Một giao dịch
làm 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ì tiến hành việc truy cập theo kiểu tương tranh.Tất cả diễn ra trên một đối tượng
được cài then bởi một giao dịch sử dụng theo kiểu chia sẻ trước khi đọc, theo kiểu loại trừ
trước khi ghi. Tất cả các mở then chỉ diễn ra sau khi xong một giao dịch.
 $&!L< !A#P <5&!
1 then_chiase(e) Then cài này được sử dụng khi muốn có được quyền đọc e
theo kiểu chia sẻ
2 then_loaitru(e) Sử dụng then cài này khi muốn có được quyền đọc và ghi
vào e theo kiểu loại trừ.
3 mo_then(e) Tiến hành mở then cài trên đối tượng e, khi kết thúc giao
dịch và trước đó có sử dụng việc cài then trên e.
Vấn đề đặt ra cho chúng ta là phải đảm bảo tính nhất quán của việc cài then và mở then.
Muốn như vậy ta phải thực hiện được các vấn đề sau:
Một phép toán được thực hiện trên một đối tượng khi và chỉ khi đối tượng ấy đã
được cài then gởi giao dịch theo kiểu tương thích với phép toán đó.
Không có giao dịch nào cài then được trên đối tượng mà trước đó đã bị cài then
(chưa mở then cho đối tượng đó) bởi chính giao dịch đó trừ trường hợp muốn cài then theo
kiểu loại trừ mà trước đó đã sử dụng then cài theo kiểu chia sẻ. Tuy nhiên một đối tượng đã
bị then cài chia sẻ của giao dịch này thì bất kỳ giao dịch nào khác không được phép cài then
kiểu loại trừ trên đối tượng đó. Và tất nhiên một đối tượng đã bị cài then loại trừ thì sẽ
không bị bất kỳ 1 then cài nào mới nữa trước khi nó được mở then.
Sau khi chấm dứt một giao dịch thì không một đối tượng nào còn bị cài then.
Bước 2: Xác định động các xung đột.
Hành vi xung đột truy cập vào đối tượng khi có hai giao dịch cố gắng thực hiện các
tác động không tương thích vào một đối tượng này. Một xung đột được xác định khi có ý
định truy cập bởi một giao dịch T

2
vào một đối tượng đã khoá ngầm định bởi giao dịch T
1
SVTH:Nguyễn Văn Định Trang 19
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
theo kiểu không tương thích. Không nên để T
2
chờ cho đến khi T
1
kết thúc mà phải huỷ bỏ
một trong hai giao dịch này.
Bước 3: Khẳng định.
Như đã trình bày như trên, toàn bộ giao dịch theo hệ số ưu tiên có thể bị huỷ bỏ, nên
cần phải áp dụng có hệ thống một kỹ thuật khẳng định. Mỗi khi giao dịch được huỷ bỏ thì
tất cả các đối tượng mà nó đã được cài then thì được mở then, và tất cả các giá trị phải được
thay đổi khôi phục trở lại như cũ. Trong trường hợp này chỉ có các phép ghi được thực hiện
trên các bản sao đối tượng. Nếu giao dịch bị huỷ thì một thông điệp được gửi đi cho tất cả
các trạm chứa các đối tượng thay đổi và các bản sao bị huỷ bỏ. Trường hợp ngược lại, giao
dịch kết thúc bình thường thì một thông điệp khẳng định được gửi cho tất cả các trạm và lúc
này các bản sao đối tượng được phép thay thế các bản gốc.
 K#bjbP Q7NL !5PA !;&NF!O&
Ngay khi chặn các giao dịch tác nghiệp trên các đối tượng chung hoặc bằng then cài
ngầm định, ta có thể làm phát sinh các rủi ro và bế tắc.
Một bế tắc được loại bằng cách hủy bỏ hoàn toàn một trong các giao dịch gây nên
xung đột, nhưng nếu ta chọn theo kiểu ngẫu nhiên để hủy bỏ thì ta lại gặp phải một trường
hợp rắc rối về kỹ thuật khác là một hay một số giao dịch nào đó sẽ rơi vào trạng thái chờ vô
hạn.
Trong thiết kế hệ thống phân tán, người ta thường sử dụng hai chiến lược chọn lựa
giao dịch. Một trong các phương pháp ấy gọi là phương pháp wait-die system.
Giả sử rằng T

1
và T
2
là hai giao dịch đang ở trạng thái xung đột để truy cập vào một
đối tượng chung e. T
1
đã thực hiện động tác đầu tiên trên e. Ta gọi các N(T
1
) và N(T
2
) là các
dấu kết hợp lần lượt với từng giao dịch khi khởi sự.
Khi diễn ra xung đột, việc lựa chọn được thực hiện bằng bộ điều khiển của trạm e
được tiến hành như sau:

Nếu N(T
2
)<N(T
1
) thì <T
2
bị chặn>
Nếu không <T
2
bị hủy rồi được khởi sự lại>
Chấm dứt nếu
SVTH:Nguyễn Văn Định Trang 20
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Nói cách khác, nếu giao dịch T
2

là trước hơn thì nó vẫn trong tình trạng bị chặn cho
đến khi T
1
kết thúc bình thường hay đến lượt bị hủy bỏ. Nếu giao dịch T
2
là mới nhất thì nó
bị hủy và khởi động lại bắt đầu từ trạm sinh ra nó.
Thuật toán điều khiển đồng thời bằng khóa chốt:
Chúng ta dùng hai loại khóa chốt đó là khóa đọc (read lock) và khóa ghi (write lock). Một
giao dịch Ti đang muốn đọc một mục dữ liệu được chứa trong đơn vị khóa x sẽ nhận được
một khóa đọc trên x [ký hiệu là rli(x)] và tương tự với thao tác ghi là wli(x). Nếu chúng
tương thíc là truy cập đến cùng một mục dữ liệu có thể nhận được khóa trên mục dữ liệu đó
cùng lúc. Ma trận tương thích cúa các thể thức khoá được thể hiện như hình dưới đây:
E@kRl m@5kRl
rlI(x) Tương thích Không tương thích
wli(x) Không tương thích Không tương thích
Ta nhận thấy rằng các khoá đọc là tương thích với nhau, còn các khoá đọc-ghi hoặc ghi-ghi
thì không tương thích. Vì vậy hai giao dịch có thể đọc đồng thời một mục. Trong các hoạt
động dùng khóa chốt, bộ xếp lịch chính là bộ quản lý khóa. Bộ quản lý giao dịch sẽ chuyển
cho bộ quản lý khóa các thao tác Cơ sở dữ liệu (đọc hoặc ghi) và các thông tin kèm theo
(như dữ liệu cần truy xuất, định danh của giao dịch đưa ra yêu cầu). Sau đó bộ quản lý khóa
sẽ kiểm tra xem đơn vị khóa có chứa mục dữ liệu đó đã bị khóa hay chưa, nếu đã khóa và
thể thức khóa đó không tương thích với thể thức của giao dịch đang yêu cầu, thao tác sẽ bị
hoãn lại. Ngược lại, khóa sẽ đặt đúng với thể thức mong muốn và thao tác này sẽ được
chuyển bộ xử lý dữ liệu để truy xuất cơ sở dữ liệu thực sự. Sau đó bộ quản lý giao dịch sẽ
thông tin về các kết quả thực hiện. Việc kết thúc giao dịch sẽ giải phóng các khóa của nó và
làm khởi hoạt một giao dịch khác đang đợi truy xuất dữ liệu này.
Quy tắc khóa hai pha chỉ đơn giản khẳng đinhj rằng không có giao dịch nào yêu cầu khóa
sau khi nó đã giải phóng một trong các khóa của nó. Nó không giải phóng khóa cho đến khi
nó bảo đảm rằng không yêu cầu thêm khóa nữa. Thuật toán 2PL thực hiện các giao dịch hai

pha mỗi giao dịch có một pha tăng trưởng trong pha này nó nhận khóa và truy xuất các mục
dữ liệu và có một pha thu hồi là gia đoạn giải phóng các khóa.
SVTH:Nguyễn Văn Định Trang 21
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
Điểm khóa là thời điểm giao dịch đã nhận được tất cả các khóa nhưng chưa băt đầu giải
phóng bất kỳ khóa nào. Vì thế điểm khóa xác định cuối pha tăng trưởng và khởi điểm pha
thu hồi của một giao dịch. Hình trên chỉ ra việc hoàn tất khóa sau khi hoàn tất việc truy
xuất. Điều này cho phép các giao dịch chưa nhận khóa tiếp tục tiến hành nhận khóa dẫn đến
làm tăng hoạt động đồng thời. Nhưng việc cài đặt gặp khó khăn vì bộ quản lý khóa phải biết
rằng giao dịch đã nhận đủ tất cả mọi khóa và sẽ không còn cần một khóa mục nào nữa. Bộ
quản lý khóa cũng cần phải biết giao dịch không cần truy xuất dữ liệu nữa dẫn đến khóa có
thể được giải phóng.
5f5 !AB 
Định nghĩa dùng trong giải thuật:
#>?@AB>CDEF>
4F>BAGHI;JDDBHIKILMIKDLAHDN?/>KOIPBAIQA?GHIR+>ASRTBOD>RUHBDRLHV?
HWWOD
#ADAD>WWJDXLHYIWZ?SM@O[\DBHIK(#.FL]IDNI
BAIQA?GHIS;JDKONDB^S\EIL_D`ab?KNI?LHWcOKOAHS^?L
#ADAA@;WdDKONDB^?eXOf\SM@O[\?gUYIhOID>K>BRB>A@Ri
(OD>S;`^ILSAILS\EIL_D?LHj^DBk
#UHF lWJDFLmFDHNIDBnI(#.?oApIKSZIKq
4FI;4F>BAGHI
#ADA;#ADAD>W
SVTH:Nguyễn Văn Định Trang 22
Bắt đầu Điểm khóa Kết thúc Thời gian giao dịch
Nhận khóa
Giải phóng khóa
Số khoá
G&!n-5JAMoS!c3)

Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
OS;DBAIQA?GHIS
#UWQK rWJDDLsIKUNHjtUJuv@wSM@O[\x
4FI;4F>BAGHI
OS;DBAIQA?GHIS
+>Q\@D;#ADAA@
(?WQK lWJDDLsIKUNHDyUJuzF@^?Lq
4FI;4F>BAGHI
OS;DBAIQA?GHIS
+>Q\@D;#ADAA@
BAIQA?GHI{CWJDUJLAOK|W
OS;DBAIQA?GHIS
/HSE;DL]IKOAHS^?L
>QQAK>{CWJD?L\cOXwD}?~I`ab?DB\EtI`O
4F(>D;WJDD•F?N?#UHF
(OD>(>D;WJDD•F?N?(OD>S
ThWQK;>QQAK>i
/>KOI
l`bO?LH`zIXLO?eWJDDLsIKUNH`zIq
€IS
OYODL\•D;
#>?@AB>CjAB
WQK;W>QQAK>
4F;4F>BAGHI
u;#ADAD>W
;BAIQA?GHI
4;#UHF
QW;(?WQK
B>Q;#ADAA@
(4;4F(>D

SVTH:Nguyễn Văn Định Trang 23
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
/>KOI
+>F>AD
ThWQKi
AQ>H•WQK
#UHF;
/>KOI
‚O4`zI.
€IS
(?WQK;
/>KOI
4F{CQWHFI
+>Q{CQWB>Q\@D
{CQWGS
AQ>H•4F
+>AS;
U>KOI
DBYB>Qjt?LHpIKSZIK?oAIKaƒOQvSZIKhIKL„A@…KOAHS^?Li
>IS
TBOD>;
/>KOI
LsIKGI?LHpIKSZIKjtjO[?LH…ID_DL…IL`JIKKLODBYB>Qjt?LHpIKSZIK
€IS
HWWOD;
U>KOI
L\†j‡IK@…WjO[??oA
DLsIKGI?LHpIKSZIKUOzDjtjO[?LH…ID_D?sIKKOAHS^?L
>IS
UHBD;

U>KOI
SVTH:Nguyễn Văn Định Trang 24
Tiểu Luận Hệ Phân Tán (đề 03) GVHD: PGS.TS. Lê Văn Sơn
DLsIKGI?LHpIKSZIKUOzDjtjO[?LH…ID_DL\†UˆKOAHS^?L
€IS
>IS?AQ>
€IS‰
€IS?AQ>
IG@•HB>j>B
€ISl<.Cq
Ví dụ: ta áp dụng thuật toán 2PL-TM cho lịch thao tác của hai giao dịch nhập hàng và bán
hàng. Dưới đây là một lịch biểu hợp lệ được bộ quản lý tạo ra khi sử dụng giải thuật trên
S = {wl1(x), R1(x), W1(x), lr1(x) , wl1(y), R1(y), W1(y), lr1(y), C1, wl2(x), R2(x), W2(x),
lr2(x), wl2(y), R2(y), W2(y), lr2(y), C2 }
.
SVTH:Nguyễn Văn Định Trang 25

×