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

Yêu cầu và đăng ký từ xa trong hệ phân tán

28 1,1K 4

Đ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 28
Dung lượng 197,5 KB

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

Nội dung

Bài tập : Thuật toán cập nhật thông tin vào cơ sở dữ liệu trong mô hình Client/Server... Thuật toán về quá trình cập nhật thông tin vào csdl trong mô hình client/server I

Trang 1

Bài tập : Thuật toán cập nhật thông tin vào cơ sở dữ

liệu trong mô hình Client/Server

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

Học viên thực hiện : Nguyễn Công Kha

TIỂU LUẬN MÔN HỌC

HỆ TIN HỌC PHÂN TÁN

ĐẠI HỌC ĐÀ NẴNG

Lý thuyết: Yêu cầu và đăng ký từ xa trong hệ phân tán

Đề tài

Trang 2

Nội dung

Chương I Yêu cầu và đăng ký từ xa trong hệ phân tán

I Yêu cầu từ xa

II Đăng ký từ xa

Chương II Thuật toán về quá trình cập nhật thông tin vào csdl trong mô hình client/server

I Cơ sở dữ liệu phân tán trong mô hình client/server

II Giao tác

III Giới thiệu vấn đề

VI Giải thuật cập nhật dữ liệu

V Kết luận

Trang 3

Yêu cầu và đăng ký từ xa trong hệ phân tán

Giả sử có một khách hàng ở thành phố A muốn biết thông tin về giá cả của một mặt hàng tại thành phố B ở

xa và thể hiện một yêu cầu nào đó qua một truy vấn.

Để đáp ứng được yêu cầu này, hệ thống phải có khả năng thực hiện hàng loạt các thao tác xác định.

1 Trước hết, hệ phải có khả năng nhận biết thông tin cần thiết.

I Yêu cầu từ xa

I.1 Khái quát vấn đề

Trang 4

Yêu cầu và đăng ký từ xa trong hệ phân tán

2 Sau khi đã trỏ đúng vào địa chỉ chứa thông tin, hệ

phải có khả năng tiếp nhận và ghi lại các yêu cầu chỉ

Trang 5

Yêu cầu và đăng ký từ xa trong hệ phân tán

I.2 Giải thuật tổng quát

Hệ thống A

phatyeucau(B,yc)

nhanlai(ketqua)

Hệ thống BLặp lại

Nhanyeucau(s,nh) Nếu (hợp thức) thì

Bắt đầu tracuucsdl

phatketqua(s,kq) Kết thúc

Nếu không guitbao(s,thong bao)Cho đến khi đúng

Trang 6

Yêu cầu và đăng ký từ xa trong hệ phân tán

Giả sử có khách hàng từ A muốn hợp đồng mua hàng hoá H tại B và đăng ký phương tiện để chuyên chở đến

C theo yêu cầu càng sớm càng tốt và thực hiện trong

một khoảng thời gian xác định

II Đăng ký từ xa

II.1 Khái quát vấn đề

Trang 7

Yêu cầu và đăng ký từ xa trong hệ phân tán

Hình I.1 Đăng ký từ xa

C

Chứa bảng phương tiện vận chuyển

CSDL

CSDL CSDL A

B

Trang 8

Yêu cầu và đăng ký từ xa trong hệ phân tán

II.2 Giải thuật tổng quát

Dang_ky_hang_hoa(AB,t) {Đăng ký sơ bộ}

Nếu (thanh_cong) thì

Trang 9

Yêu cầu và đăng ký từ xa trong hệ phân tán

Đoạn chương trình trên cho thấy rằng sau khi nhận được thông tin về trạng thái hàng hoá tại A và phương tiện vận tải tại C chương trình sẽ lần lượt thực hiện các lệnh sau:

1 Đăng ký sơ bộ mua hàng tại A trong ngày t.

2 Nếu việc đăng ký đó thành công thì đăng ký tiếp phương tiện vận tải tại C.

3 Lặp lại cho đến khi hết thời hạn cho phép.

II.2 Giải thuật tổng quát

Trang 10

Yêu cầu và đăng ký từ xa trong hệ phân tán

II.2 Giải thuật cải tiến

de_nghi(B,DS(hh,t),danhsach(pt,t)) {B cung cấp hàng hoá và các

phương tiện cho phép}

tra_loi(bang(hh1,pt1,t)) t:=ngay_dau_tien

Ok:=False Chừng nào (t<=Ngay_cuoi_cung) và (Not Ok) thực hiện Bắt dầu

Dang_ky_hang_hoa(AB,hh1,t) Nếu (thanh_cong) thì

Bắt đầu Dang_ky_cho_hang(C,hh,t) {Đăng ký chuyên chở}

Ok:=True Kết thúc

Nếu không huy_dang_ky(AB,hh1,t) t:=sau(t)

Kết thúc

Trang 11

Yêu cầu và đăng ký từ xa trong hệ phân tán

Cơ chế then cài

Trang 12

Yêu cầu và đăng ký từ xa trong hệ phân tán

II.2 Giải thuật cải tiến

Tại A then_cai(hh, B) và mo_then_cai(hh, B) Tại B

then_cai(hd, A) Bắt đầu dang_ky_hang_hoa(AB, hh1, t) Nếu (Thanh_cong) thì

Bắt đầu dang_ky_cho_hang(C, hh, t) {Đăng ký chuyên chở}

Ok:=true Kết thúc

Nếu không t:=sau(t) Kết thúc

mo_then_cai(hd, A)

Trang 13

Yêu cầu và đăng ký từ xa trong hệ phân tán

Điểm chung nhất của các giải pháp này là:

1 Phát hiện xung đột trong hệ.

2 Loại bỏ ra khỏi quá trình thực hiện các chương

trình phát sinh xung đột.

3 Cho phép tái lập lại việc thực hiện các chương

trình bị loại bỏ do xung đột.

4 Đề phòng trường hợp một yêu cầu nào đó phải chờ

vô thời hạn mà không được đáp ứng

II.3 Kết luận

Trang 14

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Cơ sở dữ liệu phân tán là một hệ thống gồm các trạm, mỗi trạm bảo trì một hệ thống cơ sở dữ liệu cục bộ

Mỗi trạm có thể xử lý các giao tác cục bộ, truy nhập

các dữ liệu trên trạm ấy.

Hơn nữa, trạm có thể khai thác các giao tác tổng thể,

truy nhập dữ liệu trên vài trạm

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

Trang 15

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Cơ sở dữ liệu phân tán trong mô hình Client/Server là một hệ thống bao gồm các server và các client

Database Server là hệ quản trị cơ sở dữ liệu phân tán, lưu trữ dữ liệu và xử lý yêu cầu từ client

Client là những chương trình ứng dụng yêu cầu truy xuất thông tin từ server

I.2 Cơ sở dữ liệu trong mô hình Client/Server

Trang 16

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Giao tác là một đơn vị nguyên tử của sự truy xuất CSDL bao gồm một tập các thao tác đọc, ghi cùng với các bước tính toán trên CSDL, giao tác hoặc là thực

hiện đầy đủ tất cả thao tác của nó hoặc không thực hiện gì cả.

Giao tác luôn chuyển CSDL từ trạng thái tương

thích này đến trạng thái tương thích khác

II Giao tác

II.1 Khái niệm về giao tác

Trang 17

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Tính nguyên tử

Tính bền vững

Tính tuần tự

Tính tách biệt

II.2 Một số tính chất của giao tác

Trang 18

VI.1 Sơ đồ giải thuật cập nhật dữ liệu

Hình II.2 Sơ đồ thuật toán cập nhật dữ liệu

S

S

Trang 19

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Mục tiêu của các phương pháp đánh nhãn thời gian là các giao tác được sắp xếp theo một thứ tự tổng thể

theo thời gian

Trong việc thiết lập thứ tự này, bộ quản lý các giao

tác gán cho mỗi giao tác Ti một nhãn thời gian TS(Ti)

duy nhất tại thời điểm nó khởi tạo

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Trang 20

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Một nhãn thời gian có các thuộc tính:

1 TS(Ti) là định danh duy nhất của Ti

2 Với 2 giao tác A và B bất kỳ, nếu A xảy ra trước B thì TS(A)<TS(B)

Một trong số các phương pháp đánh nhãn thời gian là sử dụng một bộ đếm đơn điệu tổng thể

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Trang 21

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Tại một trạm đơn Quan hệ xảy ra trước ký hiệu -> có thể được tổng quát hóa trong môi trường phân tán

với các luật như sau:

1 Nếu A và B là 2 giao tác ở cùng một trạm và A

xảy ra trước B thì A->B

2 Nếu giao tác A có gửi 1 thông điệp và giao tác B có nhận cùng thông điệp thì A ->B.

3 Nếu A ->B và B -> C thì A -> C

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Trang 22

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

Cơ chế nhãn thời gian cơ bản:

1 Mỗi giao tác sẽ nhận được một nhãn thời gian khi nó được khởi động ở trạm ban đầu của nó

2 Mỗi thao tác đọc hoặc ghi của một giao tác yêu

cầu sẽ có nhãn thời gian của giao tác đó.

3 Với phần tử dữ liệu x, giá trị nhãn thời gian lớn

nhất của thao tác đọc và nhãn thời gian lớn nhất của

thao tác ghi sẽ được ghi lại Chúng được ký hiệu là

RTM(x) và WTM(x)

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Trang 23

Thuật toán cập nhật thông tin vào

cơ sở dữ liệu

4 Gọi TS là nhãn thời gian của thao tác đọc trên

phần tử dữ liệu x, nếu TS<RTM(x), thao tác đọc sẽ hủy bỏ và giao tác tương ứng sẽ được khởi động lại với giá

trị nhãn thời gian mới, ngược lại thao tác đọc sẽ được

thực hiện và RTM(x) sẽ được gán max(RTM(x),TS).

5 Gọi TS là nhãn thời gian của thao tác ghi trên

phần tử dữ liệu x, nếu TS<WTM(x) hoặc TS<RTM(x)

thì thao tác ghi sẽ bị hủy bỏ và giao tác tương ứng sẽ

được khởi động lại, ngược lại thao tác ghi sẽ được thực hiện và WTM(x) sẽ được gán TS

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Trang 24

Với cơ chế nhãn thời gian, thay vì dùng khóa loại

trừ nhau người ta dùng thao tác pre_write

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Thao tác pre_write

begin

Ti cố gắng pre_write lên khoản mục dữ liệu x

If x đã được đọc và ghi bởi giao tác mới hơn có nghĩa là

Trang 25

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

begin

Ti cố gắng cập nhật (ghi) lên khoản mục dữ liệu x

If có một cập nhật chưa được giải quyết trên x bởi giao tác cũ

hơn Ti có nghĩa là TS(Tj)<TS(Ti)

Then

Ti đợi cho đến khi Tj chuyển giao hay khởi động lại

else Ti chuyển giao cập nhật và thiết lập TS(write(x)) = TS(Ti)

end if

end

Thao tác ghi dựa trên cơ sở nhãn thời gian.

Trang 26

IV.2 Giải thuật cập nhật dữ liệu đánh dấu nhãn thời gian

Thao tác đọc dựa trên cơ sở nhãn thời gian.

Begin

Ti cố gắng thực hiện đọc trên khoản mục dữ liệu x

If x đã được cập nhật bởi 1 giao tác mới hơn có nghĩa là

TS(Ti) < TS(write(x)) then

bỏ qua thao tác đọc hay khởi động lại Ti

else

If có 1 cập nhật chưa được giải quyết trên x bởi 1 giao tác

cũ hơn Ti có nghĩa là TS(Tj) < TS(Ti)

then Ti đợi cho đến khi Tj chuyển giao hay khởi động lại

else thừa nhận thao tác đọc và thiết lập

TS(read(x)) = max(TS(read(x)),TS(Ti))

end if

end if

end

Trang 27

Kết luận

Có 2 cách cơ bản để tránh việc thực thi không tuần tự: WAITING (đợi) và hoặc RESTARTING (khởi động lại) các giao tác

Có thể xác định các tranh chấp của một giao tác

này với giao tác khác bằng 2 cách khác nhau: một – một hoặc là tổng thể khi đã biết tất cả các thao tác của một giao tác Phương pháp đánh nhãn thời gian phát hiện tranh chấp một – một.

Thứ tự nối tiếp của các giao tác được xác định

bằng 2 cách khác nhau: bằng thứ tự truy xuất phần tử dữ liệu hoặc bằng cách gán nhãn thời gian cho giao tác.

Trang 28

Báo cáo kết thúc

Cảm ơn thầy và mọi người

đã lắng nghe!

Ngày đăng: 23/03/2015, 18:27

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