Bài tiểu luận môn: Ứng dụng phân tán Đề tài: Timey: time based concurrency control Giảng viên : Nguyễn Thành Trung Thành viên



tải về 0.66 Mb.
Chế độ xem pdf
trang2/4
Chuyển đổi dữ liệu16.11.2022
Kích0.66 Mb.
#53782
1   2   3   4
Ứng dụng phân tán

2. Kiến trúc
Entry
Entry sẽ đi vào một vòng lặp và chờ yêu cầu từ bất kỳ 
trình xử lý giao dịch nào. Yêu cầu từ trình xử lý giao 
dịch sẽ được gắn thẻ với các tham chiếu duy nhất để 
trình xử lý có thể xác định chính xác câu trả lời từ mục 
nhập. Trình xử lý sẽ hoạt động không đồng bộ và có 
thể có một số yêu cầu chưa xử lý.
Tiến trình sẽ có một trạng thái bao gồm: 
+ Giá trị hiện tại (Value)
+ Thời gian ghi của nó (Write)
+ Lần cuối cùng nó được đọc (Read)
+ Danh sách các hoạt động bị tạm dừng (Susp). 


Read request: Khi một mục nhập nhận được read request , nó sẽ kiểm tra xem thời gian của request 
có muộn hơn giá trị hiện tại được xác định hay không. Nếu không, điều đó có nghĩa là thao tác đọc 
đã đến quá muộn và một phản hồi hủy bỏ được gửi đến trình xử lý.
Thông báo đầu tiên cần xử lý là một yêu cầu đọc(read request). Yêu cầu chứa một tham chiếu duy 
nhất(ref), dấu thời gian (time stamp) của yêu cầu(time) và số nhận dạng quy trình của trình xử 
lý(handler) để chúng tôi có thể trả lời.
2. Kiến trúc


Write request: Đầu tiên chúng ta phải kiểm tra thời gian đọc của giá trị hiện tại. Nếu thời gian đọc muộn hơn thời 
gian thực hiện thao tác ghi, ta phải hủy bỏ. Giả sử rằng đây không phải là trường hợp đó; kiểm tra thời gian ghi giá 
trị hiện tại. Nếu thao tác ghi muộn hơn thời gian ghi giá trị hiện tại, ta phải tạm dừng hoạt động như một hoạt động 
ghi dự kiến, sau đó thao tác ghi được chèn vào danh sách chờ. Trình xử lý sẽ được thông báo rằng hoạt động đã 
được xử lý chính xác.
Nếu thời gian ghi giá trị muộn hơn thời gian của thao tác ghi hiện tại
=> Trình xử lý báo hoạt động đã được thực hiện
2. Kiến trúc


Commit request: Nếu một thao tác ghi được commit là thao tác đầu tiên trong danh chờ, xóa nó khỏi danh 
sách và chuyển giá trị dự kiến thành giá trị hiện tại đang xét.
Nếu thao tác đầu tiên trong danh sách là một thao tác ghi khác và thao tác sẽ được commit nằm ở trong danh 
sách. 
=> Chuyển đổi giá trị hiện tại trở thành giá trị đã được commit nhưng thao tác vẫn nằm trong danh sách chờ. 
Từ đó, danh sách hiện tại sẽ chứa các thao tác ghi dự kiến, ghi đã xác định và các thao tác đọc bị tạm dừng.

tải về 0.66 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2022
được sử dụng cho việc quản lý

    Quê hương