1 Cơ chế cho phép sắp xếp một cách tổng quát các tác động của cùng một giao dịch, ngay cả khi các tác động này diễn ra trên các trạm khác nhau.. Giao dịch đó là chương trình duy nhất đượ
Trang 1ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI ĐẠI HỌC HỌC BÁCH BÁCH KHOA KHOA
TiÓu luËn kÕt thóc m«n häc
hÖ tin häc ph©n t¸n
§Ò tµi :
Hoàn thiện kỹ thuật đảm bảo gắn bó dữ liệu trong Website đăng ký từ xa các chuyến bay bằng ngôn ngữ ASP trên mạng INTERNET
Giảng viên hướng dẫn : TS Lê Văn Sơn
Học viên thực hiện :
Hồ Trúc Lâm Lớp Cao học :
Khóa 16 (2011 – 2013)
Trang 2PHẦN I: LÝ THUYẾT
HOÀN THIỆN KỸ THUẬT ĐẢM BẢO GẮN BÓ DỮ LIỆU
TRONG WEBSITE ĐĂNG KÝ TỪ XA CÁC CHUYẾN BAY
BẰNG NGÔN NGỮ ASP TRÊN MẠNG INTERNET
CHƯƠNG 1: SỰ GẮN BÓ THÔNG TIN
1 Các điều kiện thực tế của hệ phân tán
1 Các đối tượng và các tiến trình có thể được tạo lập và hủy bỏ có
tính chất động trong suốt quá trình tồn tại của hệ
2 Các đối tượng và các tiến trình có thể được phân tán trên các trạm
khác nhau liên hệ với nhau qua hệ thống viễn thông Do vậy,
ta không thể xác định trạng thái thời điểm của hệ vì lý do độ trễ đường truyền giữa các trạm và tính không tương thích giữa các điểm quan sát trong các trạm đó
3 Hệ thống viễn thông và các tiến trình là các đối tượng có thể xảy
ra sự cố kỹ thuật
Trang 3
1 Cơ chế cho phép sắp xếp một cách tổng quát các tác động của
cùng một giao dịch, ngay cả khi các tác động này diễn ra trên các trạm khác nhau
2 Cơ chế điều khiển các tranh chấp truy cập cục bộ vào các đối
tượng và đảm bảo tôn trọng tính toàn vẹn của các đối tượng cục
bộ này
3 Cơ chế có khả năng xử lý các bế tắc và thiếu thốn vô hạn, hậu
quả của việc hủy bỏ các giao dịch
4 Cơ chế phục hồi các giao dịch đã bị hủy bỏ hay xử lý các sự cố
Trang 42 Tác động và giao dịch
1 Người sử
dụng Tiến trình là một dãy thực hiện 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ạng thái gắn bó dẫn hệ đến một trạng thái gắn bó khác
2 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ịch khác nhau được thực hiện bởi hai tiến trình thì hiệu ứng tổng quát của chúng sẽ
là hoặc hiệu ứng của dãy (A; B) hoặc là (B; A)
Các đối tượng khác nhau của hệ không phải là các đối tượng độc lập nhau, chúng liên hệ với nhau bởi tập hợp các quan hệ gọi là các ràng buộc toàn vẹn Các ràng buộc này thể hiện sâu sắc các đặc tính riêng biệt của hệ
Trạng thái của hệ thỏa 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ó Để chính xác hóa đặ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
Trang 53 Triển khai giao dịch tôn trọng sự gắn bó
Cho một tập hợp giao dịch M = {T1, T2, , Tn} Một trật tự hóa của tập
hợp các tác động thành phần sẽ tương ứng với việc thực hiện hoàn toàn các giao dịch Việc thu được một trật tự hóa gắn bó chỉ có thể thành công khi áp dụng các ràng buộc trên trật tự thực hiện các tác động 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.
4 Tác động của các sự cố đối với gắn bó dữ liệu
a Loại bỏ các chương trình/thủ tục cập nhật có thể dẫn đến trạng thái
không gắn bó dữ liệu trong các cơ sở dữ liệu.
b Triệu gọi các chương trình/thủ tục đặc biệt đã được cài đặt trên hệ
thống nhằm khôi phục trạng thái ban đầu trước khi cập nhật.
Các ràng buộc toàn vẹn được phân làm hai loại chủ yếu:
a Ràng buộc cấu trúc (Structural Constraint) diễn tả những đặc tính ngữ
nghĩa cơ bản vốn có trong mô hình Ví dụ như ràng buộc thể hiện
bằng khóa duy nhất trong mô hình quan hệ hoặc các liên kết theo
kiểu 1 – n, (n > 1) giữa các đối tượng trong mô hình mạng.
b Ràng buộc hành vi (Behavioral Constraint) nhằm điều hòa các hoạt
động của các ứng dụng.
Trang 65 Các loại sự cố và nguyên nhân gây ra sự cố
giao dịch Do một lỗi nào đó trong bản thân giao dịch gây nên Ví dụ như dữ liệu nhập không đúng hoặc do phát hiện ra
một khóa gài tiềm tàng hoặc hiện hữu.
2
Sự cố
vị trí
Do một lỗi phát sinh trong quá trình vận hành hệ thống Lỗi này có thể bắt nguồn từ phần thiết bị như bộ
xử lý/bộ vi xử lý, bộ nhớ, các thiết bị ngoại vi, bị sự
cố Khi bị sự cố, hệ thống lập tức bị ngừng hoạt động
Hệ thống chương trình, đặc biệt là các chương trình điều khiển cũng có thể sinh lỗi Đó là các lỗi do thuật toán, do lệnh viết sai, do phần lưu trữ chương trình hay
do virus Các lỗi này thường là ở các chương trình và
cơ sở dữ liệu 3
Sự cố
phương tiện
Do sự cố của các thiết bị lưu trữ thứ cấp dùng để lưu
cơ sở dữ liệu Khi có sự cố này thì một phần hoặc tất
cả cơ sở dữ liệu trên thiết bị đó được xem như bị hủy hoại hoặc không thể truy cập một cách bình thường được
4
Sự cố
đường truyền
Do lỗi trong các thông điệp, các thông điệp vô trật tự, thông điệp bị thất lạc hoặc không phân phối thông điệp
và sự cố khác liên quan đến đường truyền.
Trang 76 Phương pháp tổng quát trong việc khắc phục sự cố
1 Sự cố giao dịch
Hủy bỏ giao dịch, sau đó đặt lại cơ sở dữ liệu về trạng thái của nó trước khi khởi động giao dịch này
2 Sự cố vị trí Thiết kế nghi thức ủy thác nguyên tử không bị
phong tỏa
3 Sự cố phương tiện
Được xem như những vấn đề cục bộ của một vị trí, vì vậy không xem xét trong trường hợp các
hệ thống phân tán
4
Sự cố đường
truyền
Sử dụng bộ đếm thời gian và cơ chế quá hạn để theo dõi xem đã qua bao lâu kể từ khi vị trí gửi không nhận được thông điệp trả lời của vị trí đến
Trang 8CHƯƠNG 2
HOÀN THIỆN KỸ THUẬT ĐẢM BẢO GẮN BÓ DỮ LIỆU
TRONG WEBSITE ĐĂNG KÝ TỪ XA CÁC CHUYẾN BAY
1 Đặt vấn đề
2 Việc truy xuất các cơ sở dữ liệu được thực hiện bởi ứng dụng đang chạy trên cùng server với cơ sở dữ liệu.
3 Thao tác đăng ký thành công nếu các thao tác truy vấn cơ sở dữ liệu tại các server đều thành công và ngược lại.
4 Một yêu cầu đăng ký được xử lý phân tán tại các server đang
chạy database server
Trang 92 Kỹ thuật đảm bảo gắn bó dữ liệu
Qui tắc thực hiện như sau:
a Mỗi giao dịch con thực thi như một giao dịch và khi hoàn tất sẽ chuyển khoá của nó cho giao dịch cha
b Một giao dịch cha kế thừa các khóa và các cập nhật của những giao dịch con đã ủy thác của nó
c Trạng thái kế thừa chỉ xảy ra khi các giao dịch cha kế thừa là thấy được giao dịch con đã uỷ thác Tuy nhiên muốn truy xuất trạng thái này, một giao dịch cha kế thừa phải nhận được các khóa thích hợp Tương tranh khóa được xác định
giống như trong giao dịch phẳng, ngoại trừ sẽ bỏ qua các khóa
kế thừa còn được giữ lại bởi một tổ tiên của một giao dịch con đang yêu cầu
d Nếu một giao dịch con bị hủy bỏ thì tất cả các khóa
và cập nhật mà giao dịch con đó và các giao dịch cha kế thừa của nó có đều bỏ đi Cha của giao dịch con bị hủy bỏ không
nhất thiết phải hủy bỏ
Trang 103 Áp dụng kỹ thuật đảm bảo gắn bó dữ liệu
Hệ thống xây dựng trên cơ sở nhiều server nối với nhau thông qua đường truyền internet, trên mỗi server được cài đặt cơ sở dữ liệu của
hệ thống, hệ thống có thể được mô tả như sau:
Mạng internet
Data Data
Web Server Server
Data
Server
Client 1
Client 2
Client n
Trang 114 Phát triển giải pháp bằng ngôn ngữ ASP
Các bước thực hiện thuật toán gồm:
Khởi động các web server trong hệ thống, cho phép NSD truy cập Web trên nằm tại Server1 để tiến hành đăng ký chuyến bay.
Web server xử lý yêu cầu của NSD, tùy theo yêu cầu mà web service
thành lập danh sách di chuyển.
Chuyển danh sách di chuyển đến web service đầu tiên trong danh sách
di chuyển.
Web service nhận được danh sách di chuyển, mở ra một giao dịch
(transaction) thực thi các câu lệnh SQL trên CSDL cục bộ của mình Sau khi kết thúc truy vấn, web service gửi danh sách di chuyển đến Web
service kế tiếp trong danh sách di chuyển.
Nếu web service ở server cuối cùng trong danh sách di chuyển - nếu việc thực thi các câu lệnh truy vấn trên CSDL cục bộ thành công thì
chuyển sang trạng thái uỷ thác (CommitTransaction) và trả danh sách kết quả khác null về cho Web service liền trước nó Ngược lại trả về null
và chuyển sang trạng thái khôi phục (RollbackTransaction).
Web service nhận được danh sách kết quả từ server sau nó trong danh sách di chuyển - nếu kết quả khác null thì chuyển sang trạng thái uỷ thác (CommitTransaction) và gán kết quả truy vấn cục bộ vào danh sách kết quả và trả về Server liền trước nó Ngược lại, chuyển sang trạng thái khôi phục (Rollback transaction) trả kết quả về null cho server liền trước.
Khi web service đầu tiên nhận được danh sách kết quả - nếu danh sách kết quả khác null thì chuyển sang trạng thái uỷ thác
(CommitTransaction) và trả danh sách kết quả cho web server Ngược lại, chuyển sang trạng thái khôi phục (Rollback transaction) và trả kết quả về null cho web server.
Web server nhận được danh sách kết quả và xử lý dựa trên danh sách kết quả.
Trang 125 Cài đặt mô hình ứng dụng
Web server
ServiceReference.Ser ver[]
BuildServerList(string DiemDi, string
DiemDen, DateTime NgayGio, bool
KhuHoi)
- Xác định danh sách các server tham gia vào truy vấn dữ liệu
- Thành lập danh sách các câu lệnh truy vấn tại mỗi server.
- Tạo danh sách di chuyển, mỗi mục trong danh sách di chuyển bao gồm địa chỉ server tham gia truy vấn và danh sách các câu lệnh truy vấn tại server.
2 private bool
BeginRegistry(string DiemDi, string
DiemDen, DateTime NgayGio, bool
KhuHoi)
Chuyển danh sách di chuyển cho server đầu tiên trong danh sách thông qua lời gọi từ
xa web service.
3 private void
ShowResult(bool Result)
- Nhận kết quả trả về, kết thúc giao dịch.
- Ghi kết quả xử lý vào đối tượng request, redirect sang trang ASP để hiển thị kết quả trong đối tượng request.
Trang 13Web service
ST
1 public bool
Registry(ServiceRefe rence.Server[]
servers, int Index)
Hàm được gọi từ xa, web service liền trước gọi web service sau thông qua hàm này
2 private bool
ExecuteQueries(Syst em.Collections.Gener ic.List<string>
Queries)
Thực thi các truy vấn cơ sở dữ liệu cục bộ
Trang 146 Sơ đồ triển khai
CSDL
Server 1
Server 1
Server 2
Server 2
`
`
Web server
`
`
`
`
Server n
Server n
C1
C2
CN
CSDL CSDL
7 Kết luận
a Phân tích bài toán đảm bảo gắn bó dữ liệu trên các hệ thống phân tán, làm cơ sở cho lớp các bài toán đăng ký thông tin từ xa trên mạng Internet
b Tìm hiểu giải pháp đảm bảo gắn bó bằng giải pháp danh sách di chuyển
c Tìm hiểu ASP ứng dụng trong hệ thống phân tán, sử dụng phương thức gọi từ xa bằng web service
Trang 15Bắt đầu
Nhận yêu cầu đăng
ký chuyến bay
Web server thành lập
danh sách truy vấn
Gọi web service 1
trong danh sách
Bắt đầu transaction
Server cuối
cùng
Tất cả các giao
dịch con thành
công
Commit
transaction transactionRollback
Kết thúc transaction
Trả kết quả về web
server và client
Kết thúc
Đúng
Sai Đúng
Sai
Gọi giao dịch của web service trên server tiếp theo
Truy cập CSDL cục
bộ
Gọi web service 2 trong danh sách
Bắt đầu transaction
Server cuối cùng
Tất cả các giao dịch con thành công Commit
transaction transactionRollback
Kết thúc transaction
Trả kết quả về web server 1
Đúng
Sai Đúng
Sai
Gọi giao dịch của web service trên server tiếp theo
Truy cập CSDL cục bộ
Gọi web service n trong danh sách
Bắt đầu transaction
Tất cả các giao dịch con thành công Commit
transaction transactionRollback
Kết thúc transaction
Trả kết quả về web server n-1
Sai Đúng
Truy cập CSDL cục bộ
PHẦN II: BÀI TẬP TRÌNH BÀY THUẬT TOÁN DƯỚI
DẠNG SƠ ĐỒ KHỐI
Trang 16XIN CHÂN THÀNH CẢM ƠN