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

báo cáo tiểu luận môn lập trình mạng lập trình cho phép hệ đa server gắn bó dữ liệu bằng phương pháp trật tự hóa

15 584 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 15
Dung lượng 135,5 KB

Nội dung

1 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA ========== LẬP TRÌNH CHO PHÉP HỆ ĐA SERVER GẮN BÓ DỮ LIỆU BẰNG PHƯƠNG PHÁP TRẬT TỰ HÓA BÁO CÁO TIỂU LUẬN BÁO CÁO TIỂU LUẬN LẬP TRÌNH MẠNG LẬP TRÌNH MẠNG ĐỀ TÀI : Giáo viên hướng dẫn : PGS. TS. Lê Văn Sơn Học viên thực hiện : Phùng Thị Ngọc Dung 2 YÊU CẦU CỦA TIỂU LUẬN  Lập trình cho phép hệ đa Server gắn bó dữ liệu bằng phương pháp trật tự hóa.  Bài toán gồm có 3 phần :  Xây dựng hệ đa Server theo kiểu ngang hàng có khả năng phát và nhận thông điệp.  Xây dựng cấu trúc các loại thông điệp trao đổi giữa các Server.  Xây dựng đọan chương trình sắp xếp các thông điệp đến căn cứ vào giá trị đồng hồ logic Lamport. 3 TRẬT TỰ HÓA CÁC TÁC ĐỘNG  Với tập hợp giao dịch M = {T 1 , T 2 …, T n }  Mỗi giao dịch được cấu tạo từ một dãy các tác động. Bằng các tác động không chia sẻ được này, toàn bộ sự việc thực hiện của tập hợp 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, như S = (a 1 , a 2 , , a n ) chẳng hạn.  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 các giao dịch M; mỗi tác động chỉ xuất hiện một và chỉ một lần. Một dãy như vậy gọi là trật tự hóa của tập các giao dịch M. 4 TRẬT TỰ HÓA CÁC TÁC ĐỘNG  Ví dụ: Cho T 1 = (a 11 , a 12 , a 13 , a 14 ) và T 2 = (a 21 , a 22 , a 23 ). Một trật tự hóa (T 1 , T 2 ) được thể hiện như sau: S = a 21 , a 11 , a 12 , a 22 , a 13 , a 23 , a 14  Trong số các trật tự hóa của một tập hợp các giao dịch, điều rất quan trọng là phải tách ra 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, đặc tính quan trọng của trật tự hóa là: các trật tự hóa tương ứng với việc thực hiện tuần tự của tập hợp các giao dịch hay còn gọi ngắn gọn là trật tự hóa tuần tự.  Điều kiện đủ cho sự gắn bó của một trật tự hóa có thể được phát biểu như sau: Một trật tự hóa là gắn bó, nếu nó có cùng quan hệ phụ thuộc với một trật tự tuần hoàn. 5 TRẬT TỰ HÓA TRONG HỆ PHÂN TÁN  Trong các 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ó trước được ký hiệu là  ; quan hệ này tối thiểu phải thỏa mãn được các ràng buộc sau:  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ục bộ của trạm ta có: A  B.  Nếu A là sự kiện phát thông điệp bởi một trạm nào đó và nếu B là sự kiện thu của thông điệp này, thì ta có A  B. 6 ĐỒNG HỒ LOGIC LAMPORT:  Đồng hồ logic Lamport dựa trên hai vấn đề sau:  Các sự kiện xảy ra trong cùng một bộ xử lý thì chúng luôn ở trong trạng thái trật tự gắn bó bằng cách sử dụng đồng hồ hệ thống (thời gian thực) vì giá trị của đồng hồ hệ thống luôn được tăng đều.  Các sự kiện xảy ra trong các bộ xử lý khác nhau thì sẽ gây ra tình trạng không gắn bó trong thời gian truyền thông điệp, nhưng không lâu sau chúng cũng gắn bó vì nếu bộ xử lý P j gửi thông điệp cho bộ xử lý P k vào thời gian T thì P k không thể nhận thông điệp đó vào thời gian T hoặc trước đó. 7 THUẬT TOÁN LAMPORT DỰA TRÊN ĐỒNG HỒ LOGIC  Đặt T là giá trị đồng hồ thực và C j (T) là giá trị của đồng hồ logic trong bộ xử lý J tại thời gian T, đồng hồ logic hoạt động theo nguyên tắc sau:  Đánh dấu mỗi sự kiện bằng giá trị đồng hồ logic của bộ xử lý đó. (với C j : Đồng hồ logic của P j , được khởi tạo từ 0).  Nếu có một sự kiện cục bộ xảy ra, thì ta tăng giá trị đồng hồ logic lên 1.  Khi một thông điệp được gửi bởi bộ xử lý K, đánh dấu nó bởi C k (T).  Khi bộ xử lý K nhận một thông điệp có dấu thời gian là C’ thì ta đặt lại đồng hồ logic của bộ xử lý K là: max(C’, C k (T)) + 1. 8 THUẬT TOÁN LAMPORT DỰA TRÊN ĐỒNG HỒ LOGIC (tt)  Đề tài chỉ quan tâm đến truyền và nhận các thông điệp, nên nếu nhận các thông điệp cùng một thời gian thì căn cứ vào giá trị đồng hồ logic của các thông điệp để thực hiện việc sắp xếp: a thực hiện trước b nếu - C i (a) < C j (b) hoặc - C i (a) = C j (b) và i < j 9 THUẬT TOÁN LAMPORT DỰA TRÊN ĐỒNG HỒ LOGIC (tt)  Như vậy trong thông điệp ta phải truyền thêm ID của bộ xử lý (nếu là sắp xếp trong các tiến trình ta phải dùng thêm ID của tiến trình).  Tổng quát cấu trúc thông điệp như sau: (METHOD, PARAs, C i , i)  Với:  METHOD: là phương thức muốn gọi.  PARAs: là các tham số cần truyền cho phương thức.  C i : giá trị đồng hồ logic của bộ xử lý i.  i: là ID của bộ xử lý (như Server1, Server2…). 10 THUẬT TOÁN SẮP XẾP CÁC THÔNG ĐIỆP ĐẾN CĂN CỨ VÀO GIÁ TRị CỦA ĐỒNG HỒ LOGIC LAMPORT Thuật toán được mô tả theo sơ đồ sau :  Khởi tạo hàng đợi, mỗi máy tự phát thông điệp M i = (REL, H init , i)  Khi trạm đang yêu cầu tài nguyên:  Để truy cập vào tài nguyên một trạm nào đó sẽ phát một thông điệp yêu cầu M i (T,H i ,i) đến tất cả các trạm khác và đưa yêu cầu vào hàng đợi yêu cầu của trạm này.  Khi trạm j nhận thông điệp yêu cầu từ i, nó sẽ gởi ngược lại thông điệp (có chứa đồng hồ logic H j ) cho S j và đưa yêu cầu này vào trong hàng đợi yêu cầu của nó. [...]... đến các trạm Những trạm khác cũng sẽ xoá yêu cầu của nó trong 12 hàng đợi của mình XÂY DỰNG CHƯƠNG TRÌNH:  Giả lập hai Server trên một máy đơn giống như hai Server đang chạy trên Internet thực sự Hai Server này có chức năng:     Chứa cơ sở dữ liệu là một tài khoản ngân hàng Khi nhận thông điệp:  Server sẽ cập nhật giá trị đồng hồ logic của chính  Lưu thông điệp vào hàng đợi  Sắp xếp lại hàng... ra khỏi hàng đợi và thực hiện nó Sau khi thực hiện 1 thông điệp, Server sẽ tự động trả về kết quả Giả lập Client trên một cửa sổ khác:    Kết nối với 2 Server Gửi thông điệp để thay đổi số tiền có trong tài khoản (thêm tiền và tính lãi suất) Nhận thông điệp trả về từ các Server cho biết số tiền hiện có trong tài khoản 13 Demo Chương trình 14 Trân trọng cảm ơn Thầy và các bạn 15 ... M(T,Hj,j) đến trạm i INSERT(Mi,hàngđợi) End 11 THUẬT TOÁN SẮP XẾP CÁC THÔNG ĐIỆP ĐẾN CĂN CỨ VÀO GIÁ TRị CỦA ĐỒNG HỒ LOGIC LAMPORT  Khi trạm đang vào đoạn găng: Trạm i nhận một thông điệp với đồng hồ logic lớn hơn đồng hồ ở thời điểm hiện tại của trạm i và yêu cầu của trạm i đang ở vị trí của hàng đợi yêu cầu của nó If (H>Hi ) and (Vị trí M state=namgiu  ở đầu của hàng đợi) then Khi trạm không thực hiện gì . HỌC BÁCH KHOA ========== LẬP TRÌNH CHO PHÉP HỆ ĐA SERVER GẮN BÓ DỮ LIỆU BẰNG PHƯƠNG PHÁP TRẬT TỰ HÓA BÁO CÁO TIỂU LUẬN BÁO CÁO TIỂU LUẬN LẬP TRÌNH MẠNG LẬP TRÌNH MẠNG ĐỀ TÀI : Giáo viên hướng. Thị Ngọc Dung 2 YÊU CẦU CỦA TIỂU LUẬN  Lập trình cho phép hệ đa Server gắn bó dữ liệu bằng phương pháp trật tự hóa.  Bài toán gồm có 3 phần :  Xây dựng hệ đa Server theo kiểu ngang hàng. của trật tự hóa là: các trật tự hóa tương ứng với việc thực hiện tuần tự của tập hợp các giao dịch hay còn gọi ngắn gọn là trật tự hóa tuần tự.  Điều kiện đủ cho sự gắn bó của một trật tự hóa

Ngày đăng: 31/01/2015, 23:02

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w