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
Trang 1GIỚI THIỆU
Quản lý nhiều bản sao của cùng một đối tượng thông tin hiện nay đang được các nhà chuyên môn tin học quan tâm nghiên cứu ngay trong giai đoạn phân tích, thiết kế và xây dựng hệ
Quản lý nhiều bản sao là giải pháp kỹ thuật bao gồm tập hợp các thông tin được nhân bản từ một đối tượng thông tin và các chương trình quản lý chúng trong môi trường phân tán
Các giải thuật này là cơ sở chủ yếu cho các giải pháp đảm bảo sự gắn bó tất yếu nhờ dấu, nhờ bộ tuần tự tuần hoàn và đảm bảo sự gắn bó mạnh cho các hệ thống đồng nhất
Nội dung quản lý nhiều bản sao là các giải pháp cho phép tự động hóa các công việc:
Kiểm tra tính hợp thức của truy cập thông tin
Khôi phục thông tin
Cập nhật thông tin
An toàn cho các bản sao
Sử dụng cho các bộ nhớ, đĩa
Chuyển các bản loại bỏ vào vùng có thể khôi phục
Tiểu luận này sẽ tập trung giới thiệu hệ thống nhiều bản sao và các thao tác đọc ghi
Trang 2CHƯƠNG I
VẤN ĐỀ NHIỀU BẢN SAO TRONG ĐIỀU KIỆN TRUY CẬP LỚN
I 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à nhân 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:
Hình I.1 Đ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ế (replace) đảm nhận nhiệm
vụ làm mới các bộ nhớ cục bộ
L
B cb
B cb
B ch
Bộ nhớ cục bộ (e)
Bộ nhớ chung (e)
Trang 3Trườ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 ( tiếp theo) thể hiện một máy server duy nhất
Hình I.2 Hệ truy cập từ xa thông qua máy Server 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
* Các trường hợp thể hiện trong hình I.1 và hình I.2 xét theo chức năng là giống nhau Đó là trường hợp một bản duy nhất của đối tượng là một đặc quyền
L
B cb
B cb
Bộ nhớ cục bộ (e) Máy client
B ch
Bộ nhớ chung (e) L
HỆ THỐNG VIỄN THÔNG
Máy Server
Trang 4Trường hợp 2: Thể hiện 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
Hình I.3 Hệ thống đối xứng 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 để ghi 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 cũng đặ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 ghi thông tin hay nói một cách tổng quát là cập nhật các bản sao Xuất phát từ đó, ta rút ra các đặc điểm quan trọng sau đây:
- 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ộ đó
- 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ứ 2 làm phát sinh 2 yêu cầu mới:
L L
… …
HỆ THỐNG VIỄN THÔNG
L
e
e
… … L
Trang 5- 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
- Việc cập nhật tức thì của tất cả các bản sao là không cần thiết
Căn cứ theo yêu cầu thứ nhất, 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ảo sao hoàn toàn giống nhau
Đối với yêu cầu thứ hai, việc cập nhật tức thời là không quan trọng, nhưng
ta lại đặt ra rằng tất cả các bản sao của đối tượng bị thay đổi trở thành giống nhau sau một khoảng thời gian xác định
Trong tất cả các trường hợp, một giao dịch tham chiếu trạng thái một đối tượng, thực hiện xuất phát từ một trạm trên bản cục bộ, cần phải cung cấp:
- Hoặc là một giá trị cập nhật của tất cả các thay đổi diễn ra trước tham chiếu
- Hoặc là một giá trị đã cũ, nhưng lại là giá trị được cập nhật ở thời điểm trước đó
Sự tham chiếu không bao giờ phải cung cấp một giá trị xuất phát từ việc thực hiện từng phần của một giao dịch
II MỘT SỐ THUẬT TOÁN QUẢN LÝ NHIỀU BẢN SAO TRONG ĐIỀU KIỆN SỐ LƯỢNG TRUY CẬP LỚN
II.1 KHÁI QUÁT VẤN ĐỀ:
Trong môi trường phân tán, sơ đồ vị trí của các bản sao và việc cập nhật chúng có thể mô tả trong hình vẽ I.4 sau đây
bij: i =1 n, j=1 m,
t1
2
q
tq
b1m
b1m
b12
b12
…
b11
b11
S1
S1
b21
22
2m
b2m
S2
S2
bn1
bn1
bn2
bn2
…
bnm
bnm
Sn
Sn Heä thoáng vieãn thoâng
Hình I.4 Sơ đồ hệ thống nhiều bản sao
Trang 6trong đó : 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 và q là số trạm được mắc nối
Các ràng buộc trên các bản sao :
Trên bản sao của 1 đối tượng
e1 = e2 = e3 = = en
Trên các bản sao của toàn bộ các đối tượng
e11 = e21 = = en1
e12 = e22 = = en2
e1m = e2m = = enm
Giả sử với trường hợp có n bản sao b1, b2, …, bn của đối tượng e, để tham chiếu đến e, cần phải thực hiện giao dịch:
Để 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ừ
* 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 THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ YẾU NHỜ DẤU:
II.2.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
Để cho i:=1 đến n thực hiện việc v_viet(ei)
<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(ei)
Trang 7trạ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.2 KHAI TRIỂN 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
Khi trạm i truyền các thông điệp cho trạm j, Trật tự nhận các thông điệp tại j là hoàn toàn giống với trật tự của các thông điệp phát đi Giả thiết này được kiểm tra trong các mạng thông thường Việc xác định các yêu cầu cần xử lý trên một trạm là hoàn toàn có thể
Có 2 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
II.2.3 CÁC HÀNH VI NGOÀI CHẾ ĐỘ BÌNH THƯỜNG:
Hai vấn đề mở rộng hơn đối với thuật toán này cho phép rút ra hay chen vào tùy ý một trạm nào đó Ngược lại, thuật toán chỉ sống trong trường hợp có sự
cố, nếu các điều kiện sau đây được tôn trọng:
1 Việc đột nhiên biến mất đi một trạm nào đó phải được các trạm khác nhận biết tự động
2 Việc phát một thông điệp là một phép toán không chia cắt được nữa Đó là một thông điệp hoặc là tất cả đều phải nhận được hoặc
là không trạm nào nhận được cả
Vì vậy, việc tuân thủ hai điều kiện trên đặt ra cho chúng ta tình hình là nếu điều kiện đầu tiên có thể được khống chế, thì điều kiện thứ hai rất khó đảm
bảo
Trang 8II.3 SƠ LƯỢT THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ YẾU NHỜ BỘ TUẦN TỰ TUẦN HOÀN
II.3.1 NGUYÊN LÝ:
Trước khi phát một yêu cầu, một trạm nào đó cần phải kết hợp với nó một
số thứ tự được cấp từ bộ tuần tự tuần hoàn Các yêu cầu được tiếp nhận tại mỗi trạm theo cùng một trật tự thống nhất Điều đó giúp ta có được một sự gắn bó yếu Cần quan tâm rằng cơ chế phân phối các số dựa trên nền tảng tổ chức các trạm theo kiểu vòng tròn ảo
II.3.2 TRIỂN KHAI HỆ ỔN ĐỊNH:
Bộ tuần hoàn tự cung cấp cho mỗi một yêu cầu số sắp tới còn chưa dùng, giả sử đó là T Khi đến phiên của trạm nhận bộ tuần tự, nó yêu cầu một số lượng
n số đúng bằng số lượng các yêu cầu cập nhật đang chờ trên trạm này Các số này là:
T, T + l , … , T + n - 1
Nó tiếp tục chuyển bộ tuần tự cho trạm kề liền sau nó và số sắp tới chưa dùng đến là T+n
Khi một trạm đã có số, nó phát yêu cầu cập nhật cùng với số này Trên mỗi trạm, các cập nhật được thực hiện bằng cách tiếp nhận các yêu cầu cùng các
số liên tiếp nhau Để xác định yêu cầu sắp đến cần phải xử lý, mỗi trạm một duy trì một biến chứa số V được phối hợp với yêu cầu xử lý cuối cùng Các yêu cầu mang số lớn hơn V + 1 được lưu trữ trong khi chờ xử lý yêu cầu V+1
Chú ý 1:
Việc phát đi các yêu cầu có thể sử dụng trong vòng tròn, nhưng điều đó không phải là bắt buộc
Chú ý 2:
Một trạm khi đã rút một lượng số cần phải được sử dụng hết khi nó đến lượt tiếp theo tiếp nhận bộ tuần tự, nếu không các trạm khác sẽ phải chờ
III.3.3 CÁC HÀNH VI NGOÀI CHẾ ĐỘ BÌNH THƯỜNG:
Hiện tại, người ta đã chế tạo thành công và đưa vào sử dụng một cách ổn định trong mạng một số giao thức cho phép tái sinh bộ tuần tự khi bộ này bị mất
và đặt cấu hình vòng tròn ảo trở lại theo kiểu tự động
Các giao thức này hoạt động trong điều kiện giả định là mạng viễn thông cho phép phát hiện các sự cố của một trạm và cần phải được bổ khuyết đầy đủ nhằm duy trì trật tự toàn phần cần thiết cho việc gắn bó:
1 Việc tái sinh bộ tuần tự cần phải tiến hành song song với việc tính toán
số sắp đến có sẵn để dùng
2 Khi ta phát hiện có một trạm bị sự cố, ta cần phải xác định các số mà trạm này đã lấy và các số còn chưa sử dụng, rồi gửi các yêu cầu có mang các số này
Trang 93 Việc cho hội nhập một trạm vào lại trong vòng tròn cần phải tiến hành song song với việc cập nhật lại bản sao của nó
Sử dụng các số liên tục cho phép tránh được hiện tượng một vài cập nhật
bị mất và các lần mất mà không được phát hiện Việc triển khai một bộ tuần tự tuần hoàn cũng làm cho ta gặp phải một số khó khăn của nó Trên thực tế, các trạm bị sự cố không thể nào phục vụ số được, bộ cung cấp cần phải tìm lại số lượng và giá trị của các số đó Để thực hiện được điều đó, cần phải hội thoại với các trạm khác
II.4 THUẬT TOÁN ĐẢM BẢO SỰ GẮN BÓ MẠNH
II.4.1 NGUYÊN LÝ:
Tập hợp bao gồm các trạm được tổ chức theo kiểu vòng tròn ảo Các cập nhật được thực hiện theo hai thì:
1 Thống nhất giữa các trạm
2 Thực hiện cập nhật
Do vây, thuật toán này đảm bảo một sự gắn bó mạnh Nếu có nhiều yêu cầu cập nhật diễn ra đồng thời thì ta phải có quy tắc để có thể quyết định yêu cầu nào được tiếp nhận và thỏa mãn Nhằm phục vụ cho ý tưởng đó, ta thường hay sử dụng dấu phối hợp cho mỗi cập nhật và ta xử lý yêu cầu có thời gian dấu lâu nhất
II.4.2 KHAI TRIỂN HỆ ỔN ĐỊNH:
Trạng thái có thể của mỗi trạm là:
1 Nghỉ ngơi Trạm không thực hiện cập nhật nào cả
2 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
3 Thụ động Trạm đã đồng ý cho một cập nhật và chờ trậttự tương ứng.
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 sanhg hoạt động
Trang 10Nế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
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ưư trữ
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ưư trữ chúng hoàn thành việc cập nhật riêng của mình
II.4.3 CÁC HÀNH VI NGOẠI CHẾ ĐỘ BÌNH THƯỜNG:
Các giao thức đặt lại cấu hình vòng tròn theo kiểu tự động được sử dụng nhằm rút ra hay cho vào tùy ý một số trạm nhất định
Các sự cố kỹ thuật là rất khó khăn phát hiện trong các chiến lược mà ở đó các yêu cầu không được ghi lại khắp nơi trong mạng
III KẾT LUẬN:
Khái niệm sự gắn bó yếu cho phép giải phóng các ràng buộc đồng nhất chặt chẽ của các bản sao; bằng cách cho phép truy cập đến các thông tin quá hạn,
ta có được một hiệu quả rất lớn
Các nguyên lý có tính chất thuật toán được sử dụng trong việc quản lý các bản sao được xây dựng cho hệ thống ổn định Chúng không thích hợp cho các loại hệ hay sự cố, đặc biệt cho trường hợp phân tán hệ ra thành hai hay nhiều mạng con độc lập; mỗi mạng tiếp tục hoạt động như là hệ cục bộ Dẫu rằng các bản sao tạo nên mạng con vẫn duy trì trạng thái gắn bó, sự hợp nhất lại chúng lại
là vấn đề khá nan giải Ta chỉ có thể tránh được hiện tượng này bằng cách để số lượng các trạm nhỏ hơn hay bằng đa số tuyệt đối của hệ khởi sự
Trang 11CHƯƠNG II:
THUẬT TOÁN XỬ LÝ CÁC THAO TÁC ĐỌC
CÁC THAO TÁC ĐỌC – GHI
I GIẢI THUẬT QUẢN LÝ NHIỀU BẢN SAO - THUẬT TOÁN XỬ LÝ CÁC THAO TÁC ĐỌC, CÁC THAO TÁC ĐỌC - GHI.
Việc xử lý trạng thái điều khiển do trạm nhận tiến hành trên cơ sở tham chiếu thông tin trong bản điều khiển và theo yêu cầu thể hiện trong hình II.1
Hình II.1 Trình tự thực hiện cập nhật bản điều khiển Sau khi hoàn thành trọn vẹn công việc, trạm nhận tiến hành phát thông điệp đến toàn bộ các trạm của hệ thống để cập nhật vào bản điều khiển, đồng thời
tự động cập nhật vào bản cục bộ của mình
Hình II.2 Sơ đồ tổng quát xử lý nhiều bản sao
Thùc hiÖn viÖc cËp nhËt th«ng tin trªn b¶n ®iÒu khiÓn B
Më khãa b¶n ®iÒu khiÓn giaiphong(B)
Capnhat(B)
B¾t ®Çu
XỬ LÝ THÔNG ĐIỆP
XỬ LÝ THÔNG ĐIỆP
XỬ LÝ TRẠNG THÁI ĐIỀU KHIỂN
XỬ LÝ TRẠNG THÁI ĐIỀU KHIỂN
LỖI
LỖI
TỰ ĐỘNG SỬA LỖI
TỰ ĐỘNG SỬA LỖI
OK
OK
XỬ LÝ VÀ CHỌN GT THÍCH HỢP
XỬ LÝ VÀ CHỌN GT THÍCH HỢP
PHÁT THÔNG ĐIỆP
PHÁT THÔNG ĐIỆP
LẶP LẠI
LẶP LẠI
K ẾT THÚC
THỰC HIỆN GIẢI THUẬT GTi
THỰC HIỆN GIẢI THUẬT GTi XONGXONG
S Đ
S Đ
S Đ
S Đ