1. Trang chủ
  2. » Công Nghệ Thông Tin

Tiểu luận Trình bày thuật toán gắn bó trên cơ sở dấu

27 180 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 27
Dung lượng 2,18 MB

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

Nội dung

Các ư u đ iểm của tài nguyên dùng chung trong hệ phân tánHệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp,nhưng chức năng cơ bản nhất là đảm bảo cung cấp cho người sử dụngk

Trang 1

LỜI MỞ ĐẦU

Trong công nghệ thông, hệ tin học phân tán là lĩnh vực còn khá mới

mẽ, nhưng những ứng dụng của nó ngày càng rộng rãi, giải quyết hiệuquả nhiều bài toán mà hệ tin học tập trung không đáp ứng được hoặc chỉđáp ứng được một phần

Hiện tại, các nội dung mang tính lý thuyết nguyên lý của hệ tin họcphân tán còn nhiều vấn đề chưa được giải quyết triệt để và đang là mụctiêu khám phá của nhiều nhà nghiên cứu về công nghệ thông tin

Với mong muốn tìm hiểu nắm vững các nội dung nguyên lý của hệtin học phân tán để có thể triển khai được các ứng dụng phân tán trongthực tế, bài tiểu luận môn học "Hệ tin học phân tán" là cơ hội tốt để chochúng tôi tìm hiểu về lĩnh vực này

Với nội dung tìm hiểu của đề tài là "Trình bày thuật toán gắn bótrên cơ sở dấu", chúng tôi đã tập trung tìm hiểu vấn đề gắn bó thông tintrong hệ tin học phân tán Trên cơ sở đó chúng tôi đã nghiên cứu thuậttoán gắn bó trên cơ sở dấu Đó là nội dung cốt lõi của đề tài này

Phần bài tập của tiểu luận tập trung vào giải quyết vấn đề: duy trì sựgắn bó mạnh giữa các bản sao của một đối tượng được định vị trên cáctrạm khác nhau Qua đó củng cố hơn phần lý thuyết đã nghiên cứu ởtrên

Mặc dù rất cố gắng tìm hiểu và nghiên cứu, nhưng do thời gian vàkhả năng có hạn nên các nội dung trình bày trong bài tiểu luận chắc chắncòn rất nhiều hạn chế, rất mong nhận được những ý kiến đóng góp củaquý thầy và các bạn đồng nghiệp

Cuối cùng chúng tôi xin chân thành cảm ơn thầy PGS TS Lê VănSơn đã cung cấp những kiến thức quý báo và tài liệu để chúng tôi có thểhoàn thành tiểu luận này

Các tác giả

Thanh Cẩm – Thuý Phượng

Trang 2

Chương 1 GIỚI THIỆU THUẬT TOÁN GẮN BÓ TRÊN CƠ SỞ

b Các thực thể trong hệ phân

Hệ phân tán gồm 4 thực thể :

Hình 1.1 Bốn thực thể của hệ tin học phân tán

c Đ ặc đ iểm của hệ phận tán

Đặc điểm cần nhấn mạnh của hệ là các hệ xử lý thông tin thành phần :

 Không dùng chung hoặc chia sẻ bộ nhớ

 Không sử dụng chung đồng hồ xung nhịp

 Chúng liên lạc với nhau thông qua mạng truyền thông

 Mỗi hệ xử lý có bộ xử lý, bộ nhớ và hệ điều hành riêng của nó

Các hệ thống phần mềm

Tập hợp phần cứng

Hệ thống truyền thông

Hệ thống

dữ liệu

Trang 3

d Các ư u đ iểm của tài nguyên dùng chung trong hệ phân tán

Hệ tin học phân tán thực hiện hàng loạt các chức năng phức tạp,nhưng chức năng cơ bản nhất là đảm bảo cung cấp cho người sử dụngkhả năng truy cập có kết quả đến các tài nguyên vốn có và rất đa dạngcủa hệ thống như tài nguyên dùng chung

Việc định nghĩa các tài nguyên của hệ như tài nguyên dùng chung

sẽ mang đến cho hệ những hiệu năng tốt trong khai thác ứng dụng

- Tăng tốc độ bình quân trong tính toán xử lý

- Cải thiện tình trạng luôn sẵn sàng của các loại tài nguyên

- Tăng độ an toàn cho dữ liệu

- Đa dạng hóa các loại hình dịch vụ tin học

- Bảo đảm tính toàn vẹn của thông tin

Tuy nhiên nó cũng dẫn đến hàng loạt các vấn đề khó khăn trongviệc thiết lập hệ, liên quan việc cấp phát tài nguyên dùng chung cho cáctiến trình

Điều quan trọng đặt ra, là làm thế nào để hệ luôn đảm bảo sự gắn bóthông tin, đặc biệt là thông tin dùng chung Hệ tin học phân tán cần phải

có các cơ chế kỹ thuật đủ mạnh nhằm duy trì sự gắn bó thông tin trongquá trình hoạt động của các tiến trình và sự trao đổi thông tin với nhausao cho hệ thống tránh được các trường hợp có thể dẫn đến hệ thốngkhông gắn bó

e Các thao tác chuẩn của hệ phân tán

- Tiếp nhận và ghi yêu cầu chỉ dẫn

- Dịch yêu cầu để có các thông tin cần thiết Thực hiện một sốcông việc của hệ thống cục bộ như kiểm tra quyền truy cập thông tin, lậphóa đơn dịch vụ

- Gửi kết quả cho hệ thống đã phát yêu cầu

Trang 4

1.1.2 Vấn đề truy cập và xử lý thông tin trong hệ tin học phân tán

Trong hệ tin học phân tán, vấn đề truy cập và xử lýthông tin trong hệ là một những vấn đề phức tạp Để đơn giản,chúng ta sẽ nghiên cứu một ví dụ cụ thể về việc quản lý các tài khoảncủa một ngân hàng Mỗi một người mở tài khoản tại ngân hàng sẽ đượclưu trữ trong một bản ghi của cơ sở dữ liệu (CSDL) Các trường của bảnghi này bao gồm họ và tên, địa chỉ, điện thoại và một khoá duy nhất (mãsố) cho người đó Mã số đóng vai trò con trỏ đến CSDL khác chứa cáclần thu tiền vào và rút tiền ra từ tài khoản Cuối cùng ta phải có CSDLchứa số dư Số dư là số tiền có trong tài khoản ở thời điểm xem xét củatừng người gửi tiền Trạng thái của số dư trong tài khoản được khốngchế ở mức xác định ví dụ như số dư không được <= N cho trước Điều

đó cũng đồng nghĩa với việc đảm bảo trong tài khoản của người sử dụngkhông bao giờ có giá trị bằng 0 hay giá trị âm

Do vậy, để nghiên cứu ta cần giả định một số quy tắc nhất định choviệc hoạt động của hệ Các quy tắc này thể hiện trong bảng sau đây:

1 Chỉ có một loại phép toán (hay giao dịch) duy nhất là chuyểnkhoả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

Xét các quy tắc có tính chất điều kiện như trên, sau khi thực hiệnxong hoàn toàn một giao dịch nào đó, hệ quản lý giao dịch cần phải đảmbảo hai đặc tính sau đây:

STT Ký hiệu Đặc tính

1 P1 Tổng tất cả các số dư phải là một hằng số

2 P2 Số dư cho một tài khoản là đại lượng >= 0

Hai đặc tính này gọi là đặc tính trạng thái tổng quát của CSDL (hay

là các ràng buộc toàn vẹn của hệ) Ta nói rằng trạng thái hệ được gắn bó,nếu hệ mang hai đặc tính vừa nên trên

Trang 5

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 Nếu ta

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ộngvào, thì chương trình thể hiện giao dịch này có thể viết như sau:

2 Giả sử rằng bộ xử lý thực hiện giao dịch bị rơi vào trạng tháikhông làm việc được tại thời điểm giữa a và b Tài khoản A đã được trừtrong khi B còn chưa được cộng Nói cách khác đặc tính P1 không thểđảm bảo gì hơn nếu dừng lại ở đây Ta cần phải bổ sung thêm cho hệmột đặc tính nữa nhằm vào điều vừa nêu Đó là sau khi thực hiện mộtgiao dịch hoặc là tất cả các cập nhật đều được tiến hành hoặc là trạngthái các tài khoản không thay đổi

Như vậy, lưu ý thứ 2 cho phép ta đảm bảo được phép gắn bó dữ liệutrong điều kiện có sự cố Đó chính là đòi hỏi quan trọng đối với toàn hệtrong việc truy cập thông tin

Bây giờ, ta giới thiệu một loại giao dich mới Đó là giao dịch kèmtheo tỷ lệ lợi nhuận tiền gửi t có nghĩa là sau một khoảng thời gian nào

Trang 6

đó số dư này được tính tăng lên bằng cách cộng số dư với lợi nhuận ngânhàng.

Ta ký hiệu U - giao dịch mới

T - các giao dịch chuyển khoản

và bây giờ các ràng buộc toàn vẹn của hệ là:

1 P’1 Thực hiện một lượng giao dịch T nào đó không làm thay

đổi tổng của các tài khoản

2 P’2 Trong một tài khoản, số dư bao giờ cũng >= 0

3 P’3 Thực hiện n giao dịch loại U nâng tổng của các tài khoản

bằng (1+t)n

Cần lưu ý rằng nếu ta cho phép các giao dịch loại U và T hoạt độngsong song thì có nguy cơ phá vở đặc tính P’ 3.

Ví dụ: Hãy xem xét một hệ bao gồm 2 tài khoản A và B, trong đó

có 2 giao dịch được thực hiện theo kiểu tương tranh nhau:

và giả sử rằng đầu tiên ta phải kiểm tra điều kiện A >= P

Nếu trình tự thực hiện của tác động sơ đẳng của 2 giao dịch như

Bây giờ, ta sẽ thực hiện bằng những giá trị số cụ thể Nếu trước khithực hiện 2 giao dịch A = 1000, B = 2000 và nếu t = 0.01 và P = 500 thì

Trang 7

sau khi thực hiện ta có A + B = 3030, trong khi đó ta lại có A+ B = 3025.

Ta đã làm sai giá trị vốn cần có của chúng

Ví dụ trên cho ta thấy một điều quan trọng khi thực hiện nhiều giaodịch song song có thể dẫn hệ thống đến trạng thái không gắn bó Do vậy,cần phải có các giải pháp khắc phục tình hình đó, và đây chính là nộidung cốt lõi mà ta sẽ nghiên cứu

1.2 GIẢI QUYẾT VẤN ĐỀ

1.2.1 Sự gắn bó thông tin

Việc truy cập thông tin trong hệ tin học phân tán không thể tiếnhành theo một trình tự ngẫu nhiên được Nguyên do cơ bản của vấn đềtrên chính là vấn đề bế tắc và gắn bó dữ liệu

 Hai hiện tượng trên có thể diễn ra bất cứ lúc nào và bất cứ ở đâutrong hệ và gây nên những hậu quả có tính chất kỹ thuật không thểlường trước được

 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ó

 Xảy ra sự cố kỹ thuật bất kỳ lúc nào

Trang 8

Tác động và giao dịch

 Các đối tượng khác nhau của hệ quan hệ với nhau bởi tập hợp cácquan hệ gọi là các ràng buộc toàn vẹn Các ràng buộc này thể hiệnsâu sắc các đặc tính riêng biệt của hệ

 Mong muốn thực hiện các tiến trình phải duy trì cho được hệ trongtrạ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

Trạng thái của hệ được xác định ở hai mức quan sát :

+ Người sử dụng: Tiến trình là thực hiện một dãy 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ạngthá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 hai tác động A và B thuộc hai giao dịchkhác nhau được thực hiện bởi hai tiến trình thì hiệu ứng tổng quátcủa chúng sẽ là hoặc 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 Trong quá trình thực hiện hệphải đảm bảo cho các tác động không bị ngắt quãng

- Cho một tập hợp giao dịch M = {T1, T2…, Tn} lần lượt đượcthực hiện bởi các tiến trình độc lập p1, p2, …, pn việc thực hiệntuần tự có nghĩa là thực hiện tất cả các giao dịch của M theo kiểunố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

- Nếu vì lý do hiệu quả, nhiều giao dịch được thực hiện songsong thì sự gắn bó không còn đảm bảo được nữa

Trật tự hoá các tác động

Cho một tập hợp giao dịch M = {T1, T2…, Tn}

 Toàn bộ việc thực hiện 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

Chẳng hạn: S = (a1, a2 , an)

Trang 9

 Tuân thủ trật tự nội tại từng giao dịch.

 Gồm tất cả các tác động 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

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 trên cơ sở dữ liệu phân tán:

Cơ chế then cài

 Then cài loại trừ tương hỗ

 Toàn bộ giao dịch được đạt trong cặp hàm nguyên thuỷ:mo_giaodich và dong_giaodich

 Then cài lựa chọn đối tượng

 Một giao dịch thay đổi các 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 truycập được tiến hành theo kiểu tương tranh

 Giao dịch hai pha: kiểm tra giao dịch theo 2 điều kiện

 Toàn bộ đối tượng bị cài then cho đến cuối giao dịch

 Không có một then cài nào có thể diễn ra tiếp theo một thencài khác trong cùng một giao dịch

Xử lý các sự cố:

Từ việc xác định các đối tượng dữ liệu phân bổ trên nhiều trạm khácnhau ở trên, để duy trì sự gắn bó trong môi trường phân tán phải thựchiện:

Trang 10

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

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

Và đòi hỏi giao dịch phải có các đặc tính toàn vẹn:

 Nếu một tiến trình bị sự cố trước khi kết thúc T nhưnglạ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 của T,trạng thái của hệ là không gắn bó

Þ Đưa ra các phương pháp để quản lý gắn bó các giao dịch:

 Phương pháp dự phòng (đòi hỏi phải có kiến thức cần thiết vềcác đối tượng xử lý)

 Phương pháp phát hiện động (hoàn hảo nếu khả năng xung độtthấp)

Có nhiều thuật toán duy trì sự gắn bó thông tin trong hệ tin phântán Sau đây ta sẽ nghiên cứu một thuật toán để giải quyết vấn đề trên đó

là thuật toán gắn bó trên cơ sở dấu

1.2.2 Thuật toán gắn bó trên cơ sở dấu

a Nội dung kỹ thuật đóng dấu

Kỹ thuật đóng dấu thời gian (timestamp – mà sau đâychúng ta gọi tắt là đóng dấu) được sử dụng để sắp xếpthứ tự các tác động nhằm mục đích điều khiển sự thực

Trang 11

hiện đồng thời của các giao dịch Các nội dung chính của

kỹ thuật dấu thời gian là:

 Mỗi giao dịch được gán một số id duy nhất dựatrên thời gian mà giao dịch được đưa vào hệ thống

Nếu pi[e] và qj[e] là hai tác động phụ thuộc thì pi[e]

được thực hiện trước qj[e] ký hiệu là pi[e] < qj[e]) nếu

ts(Ti) < ts(Tj)

b Giải thuật tứ tự dấu

Mỗi một đối tượng được gán hai loại dấu : dấu thời

gian đọc và dấu thời gian ghi :

 Thời gian đọc của đối tượng e, ký hiệu là tg_doc(e),

là số dấu lớn nhất của giao dịch đã thực hiện tácđộng đọc đối tượng

 Thời gian ghi của đối tượng e, ký hiệu là tg_viet(e),

là số dấu lớn nhất của giao dịch đã thực hiện tácđộng ghi đối tượng

Trang 12

Khi giao dịch T đọc đối tượng e :

Nếu tg(T) >= tg_doc(e) thì (1) thực hiện tác động đọc (2) tg(T) = max

{tg_doc(e),tg(T)}

Ngược lại, huỷ

Khi giao dịch T ghi đối tượng e:

Nếu tg(T) >= tg_viet(e)

thì (1) thực hiện tác động ghi (2) tg(T) = max

Điều này mâu thuẩn

3 Vậy P(S) là đồ thị phụ thuộc không lặp, do đó ta có S là

trật tự hoá gắn bó

(Điều phải chứng minh)

Trang 13

1.3 KẾT LUẬN

Trên đây chúng ta đã tìm hiểu kỹ thuật được sử dụng rộng rãi nhất nhằm đảm bảo đặc tính gắn bó dữ liệu trong

hệ tin học phân tán là kỹ thuật gắn bó trên cơ sở dấu

Kỹ thuật gắn bó trên cơ sở dấu nhằm đảm bảo tínhgắn bó dữ liệu của một trật tự hoá hợp thức các giao dịchtrên các trạm xa nhau trong hệ tin học phân tán Tuynhiên, phạm vi mà chúng ta nghiên cứu là trật tự hoá cáctác động trên cơ sở dấu của hệ thống tin học phân tán, ở

đó các giao dịch được thực hiện trên các trạm khác nhau

và ở xa nhau, do vậy cần phải có một trật tự thực hiệncác tác động trên các trạm Song, kỹ thuật trên vẫn tồntại nhược điểm nhất định đó là khả năng huỷ bỏ thực hiệngiao dịch

Trang 14

Chương 2 DUY TRÌ SỰ GẮN BÓ MẠNH GIỮA CÁC BẢN SAO

CỦA MỘT ĐỐI TƯỢNG

2.1 ĐẶT VẤN ĐỀ

2.1.1 Giới thiệu bài toán

Trong một hệ thống phân tán giả định có độ ổn địnhtuyệt vời, ta muốn duy trì một sự gắn bó mạnh giữa cácbản sao của một đối tượng được định vị trên các trạmkhác nhau

Thuật toán dựa trên các nguyên lý sau đây:

 Trước khi thực hiện cập nhật, một trạm nào đó cầnphải yêu cầu và thống nhất với các trạm khác

 Khi đã có được sự thống nhất, thì trạm này tiến hànhcông việc cập nhật; điều này phải tiến hành trên tất

cả các bản sao; đối tượng không thể truy cập chừngnào các bản sao còn chưa cập nhật hết

 Các xung đột giữa các trạm được giải quyết bằngmột trật tự có hệ số ưu tiên giữa các trạm, được cốđịnh một lần lúc khởi sự cho toàn bộ

1 Hỏi có bao nhiêu trạng thái khác nhau cần xem xétcho mỗi bản sao

2 Hãy trình bày sơ đồ hoạt động của thuật toán (đồ thịphát triển)

3 Hãy đánh giá bằng hàm của số lượng bản sao,sốlượng các thông điệp cần thiết để thực hiện một thôngđiệp

4 Ta phải sửa đổi thuật toán như thế nào để chịu đựngđược sự cố trên một trạm (giả sử hệ viễn thông hoạtđộng tốt)

Ngày đăng: 08/12/2017, 10:10

TỪ KHÓA LIÊN QUAN

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

w