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 (1)

15 373 0
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 (1)

Đ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

LỜI MỞ ĐẦU Một trong các ứng dụng thực tiễn của hệ phân tán là hệ thống đăng từ xa qua mạng internet thu hút được sự quan tâm của các nhà nghiên cứu cũng như các nhà sản xuất phần mềm. Yêu cầu đặt ra phải đảm bảo gắn dữ liệu trong môi trường phân tán như internet và có khả năng ứng dụng thực tiễn cao. Nội dung của bản báo cáo sẽ trình bày: Phần lí thuyết: Hoàn thiện kỹ thuật đảm bảo gắn dữ liệu trong Website đăng từ xa các chuyến bay bằng ngôn ngữ ASP trên mạng INTERNET Phần bài tập: Trình bày thuật toán dưới dạng sơ đồ khối. Trên cơ sở tham khảo giáo trình “Hệ tin học phân tán” của PGS. TS. Lê Văn Sơn và sự giúp đỡ của các bạn, tôi đã hoàn thành được những nhiệm vụ cơ bản đề ra. Tuy nhiên, với thời gian và kiến thức có hạn, bản tiểu luận này chắc chắn còn nhiều khuyết điểm, tôi rất mong nhận được góp ý chân thành của Thầy giáo và các bạn. Nhân dịp này cho phép tôi xin được bày tỏ lòng biết ơn đối với Thầy giáo Lê Văn Sơn và các bạn đã giúp tôi hoàn thành nội dung bản báo cáo Trân trọng cảm ơn! Đà Nẵng, ngày 10 tháng 04 năm 2012 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 PHẦN I: LÝ THUYẾT HOÀN THIỆN KỸ THUẬT ĐẢM BẢO GẮN DỮ LIỆU TRONG WEBSITE ĐĂNG TỪ XA CÁC CHUYẾN BAY BẰNG NGÔN NGỮ ASP TRÊN MẠNG INTERNET HVTH: Hồ Trúc Lâm 2 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 CHƯƠNG 1: SỰ GẮN THÔNG TIN 1. Các điều kiện thực tế của hệ phân tán Ta có một tập hợp thông tin nào đó có thể được truy cập bởi một tập hợp các tiến trình. Trong hệ phân tán thực tế, có những đặc điểm căn bản sau: STT Đặc điểm 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. Ta xét đến trong bài toán đăng từ xa các chuyến bay, thông tin chuyến bay có thể quản lý ở nhiều trạm và được sử dụng trong quá trình thực hiện cùng một giao dịch. Ngoài ra thông tin về chuyến bay có thể được đăng ngẫu nhiên đồng thời bởi nhiều giao dịch. Vấn đề đặt ra là: STT Cơ chế 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ố. HVTH: Hồ Trúc Lâm 3 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 2. Tác động và giao dịch 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. STT Mức Giải thí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 dẫn hệ đến một trạng thái gắn 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). Ở 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 hệ thống đăng chuyến bay, mỗi chỗ trên chuyến bay được thể hiện bằng một bản ghi. Ta cần lưu ý rằng: - Phép đặt trạng thái chỗ đã được đăng được xem là một tác động. - Đọc và ghi một bản ghi là các tác động, nếu hệ quản lý các tập tin đảm bảo tính không chia cắt được của chúng. Cho một tập hợp giao dịch M = {T1, T2, ., T n } lần lượt được thực hiện bởi các tiến trình độc lập p 1 , p 2 , ., p n . Việc thực hiện tuần tự có nghĩa là thực hiện tất cả các giao dịch của M theo kiểu nối đuôi nhau và tuân thủ một trật tự nào đó. Sự gắn của hệ được bảo toàn, theo định nghĩa, bằng việc thực hiện riêng biệt từng giao dịch. Do vậy, nó cũng được bảo toàn trong chế độ thực hiện tuần tự của M. 3. Triển khai giao dịch tôn trọng sự gắn Cho một tập hợp giao dịch M = {T1, T2, ., T n }. 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 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 HVTH: Hồ Trúc Lâm 4 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 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 của trật tự hóa. 4. Tác động của các sự cố đối với gắn dữ liệu Khi phát triển, phân tích thiết kế, xây dựng đăng từ xa nói riêng, các hệ tin học phân tán nói chung, cần chỉ ra được vấn đề gắn dữ liệu cũng như những nguyên nhân dẫn đến sự cố làm cho dữ liệu không còn gắn bó. Một cơ sở dữ liệu nào đó được gọi là gắn bó, nếu nó thỏa mãn một tập các ràng buộc về toàn vẹn ngữ nghĩa. Để đảm bảo tính gắn dữ liệu nhiều cơ chế khác nhau như điều khiển hoạt động đồng thời, kiểm soát tính toàn vẹn ngữ nghĩa, …được sử dụng. Việc kiểm soát tính toàn vẹn ngữ nghĩa tốt sẽ đảm bảo được tính gắn dữ liệu của hệ thống thông tin. Hiện nay, người ta đang áp dụng hai phương pháp chủ yế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 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. 5. Các loại sự cố và nguyên nhân gây ra sự cố TT Loại sự cố Nguyên nhân 1 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, HVTH: Hồ Trúc Lâm 5 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 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. 6. Phương pháp tổng quát trong việc khắc phục sự cố TT Loại sự cố Cách khắc phụ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. HVTH: Hồ Trúc Lâm 6 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 CHƯƠNG 2 HOÀN THIỆN KỸ THUẬT ĐẢM BẢO GẮN DỮ LIỆU TRONG WEBSITE ĐĂNG TỪ XA CÁC CHUYẾN BAY 1. Đặt vấn đề Website đăng từ xa chuyến bay đòi hỏi độ tính chính xác, ổn định cao, ngoài ra hệ thống phải hoạt động liên tục. Hệ thống này cho phép truy cập đồng thời bởi nhiều người sử dụng, các thao tác đọc, ghi dữ liệu đan xen nhau và mang tính ngẫu nhiên. Để đảm bảo tính kịp thời, hệ thống được phân tán trên nhiều server khác nhau, mỗi server lưu giữ dữ liệu bao gồm thông tin về chuyến bay, thông tin hành khách. Dữ liệu lưu giữ tại mỗi server là một tập con của toàn bộ hệ thống và không có bản sao của dữ liệu đó trên các server khác. Hệ thống với những đặc điểm như vậy đòi hỏi phải gắn dữ liệu bằng giải pháp đáng tin cậy. TT Yêu cầu 1 Thông tin đăng tại các database server phải nhất quá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 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 được xử lý phân tán tại các server đang chạy database server. 5 Cho phép nhiều người dùng đăng tại một thời điểm. 2. Kỹ thuật đảm bảo gắn dữ liệu Kỹ thuật đảm bảo gắn dữ liệu được xây dựng trên mô hình MAONT được trình bày trong tài liệu tại tạp chí Khoa học & Công nghệ các trường Đại học Kỹ thuật Việt Nam (Tr 27, số 46+47/2004), cho phép đảm bảo gắn dữ liệu trong hệ thống đăng từ xa qua mạng internet. Ý tưởng cơ bản của kỹ thuật này là cho phép một giao dịch có thể chứa một giao dịch con khác, kết hợp sử dụng khóa chốt trong quá trình giao dịch. 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. HVTH: Hồ Trúc Lâm 7 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 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ỏ. Giao dịch là tập hợp của hàng loạt các sự kiện mà tất cả đều phải được hoàn tất đến cùng hoặc không có bất cứ sự kiện nào được thực hiện. Và thông thường, khi triển khai thiết kế trên các công cụ tạo web động, người ta có thể phân ra 2 loại giao dịch: - Giao dịch CSDL (database transactions) được thiết kế ngay trong giai đoạn xây dựng hệ quản trị các CSDL và thủ tục này có chức năng điều khiển giao dịch. - Giao dịch cơ sở kết nối (connection-based transactions) cho phép xác định từ bên ngoài CSDL, thường là chức năng của một đối tượng nào đó, ví dụ như đối tượng connection. 3. Áp dụng kỹ thuật đảm bảo gắn 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: Theo mô hình: - C 1 , C 2 , …, C n là các Client truy cập Web server bằng trình duyệt web. HVTH: Hồ Trúc Lâm 8 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 - Mỗi server bao gồm một cơ sở dữ liệu về chuyến bay và khách hàng. - Mỗi server cài đặt web service cho phép server khác chuyển danh sách di chuyển đến, thực hiện giao dịch(truy cập cơ sở dữ liệu) và chuyển danh sách di chuyển đến server tiếp theo. Mô tả hoạt động Các C 1 , C 2 , , C n là các Client truy cập vào Web Server bằng trình duyệt Web. Các yêu cầu này đòi hỏi việc xử lý phải truy vấn đến các cơ sở dữ liệu phân tán. Do đó việc xử lý thành công hay không phụ thuộc vào kết quả của tất cả các truy vấn này. Điều đó có nghĩa là, xử lý sẽ thành công nếu tất cả các truy vấn đều thành công, ngược lại, xử lý sẽ không thành công nếu có bất kỳ một truy vấn nào bị lỗi hoặc không thực hiện được. Khi nhận được một yêu cầu từ các C i , i=1,n, các web server sẽ dựa vào yêu cầu này để thành lập nên một danh sách các Database Server sẽ truy vấn và các câu lệnh SQL tương ứng được thực hiện tại mỗi Server. Việc thành lập danh sách các câu lệnh SQL truy vấn tại mỗi Database Server được dựa theo thứ tự ưu tiên SELECT, DELETE, UPDATE, INSERT. Sau khi thành lập danh sách di chuyển, web server chuyển danh sách di chuyển này cho web service đầu tiên trong danh sách di chuyển thông qua phương thức gọi từ xa. Mỗi Web service cài đặt một giao diện cung cấp phương thức xử lý với tham số là danh sách di chuyển, chỉ mục hiện tại của danh sách và trả về kết quả là danh sách kết quả truy vấn của chính nó và các Server đứng phía sau nó trong danh sách di chuyển. Nếu quá trình xử lý tại bất kỳ một web service nào bị lỗi thì kết quả trả về là null. Dựa vào kết quả trả về này, các web service commit hoặc rollback transaction đang quản lý. Như vậy, khi web service đầu tiên nhận được danh sách di chuyển, web service bắt đầu một transaction để thực hiện các câu lệnh SQL truy vấn CSDL cục bộ tại server đó.Tiếp theo, web service tăng chỉ mục hiện tại của danh sách di chuyển lên 1 và chuyển danh sách di chuyển này đến web service kế tiếp. Quá trình này được lặp lại cho đến khi kết thúc danh sách di chuyển. Tại server cuối cùng trong danh sách di chuyển, nếu việc truy vấn CSDL cục bộ thành công, web service commit transaction và trả về kết quả là khác null. Dựa vào kết quả trả về này, server đứng trước trong danh sách di chuyển sẽ commit hoặc rollback transaction cục bộ và trả về kết quả cho server liền trước. Khi web server nhận được kết quả là null có nghĩa là xử lý không thành công. Ngược lại, web server sẽ tiếp tục xử lý kết quả nhận được để trả về cho Client. 4. Phát triển giải pháp bằng ngôn ngữ ASP Một trong những công nghệ chính được sử dụng trong đề tài nghiên cứu là web server sử dụng ASP. Một web server là một chương trình phía server phục vụ HVTH: Hồ Trúc Lâm 9 Tiểu luận Hệ phân tán Lớp Cao học Khoa học máy tính khóa 16 các yêu cầu HTTP và trả về kết quả là một hồi đáp HTTP. Khi người dùng giữ một yêu cầu HTTP cho một web server, server chỉ đơn giản sử dụng một tiến trình để xử lý yêu cầu. Active Server Pages (ASP), chứa HTML, mã javacript hoặc vbscript, các thành phần ADO. ASP cung cấp cách nhúng các thành phần vào một tập tin để phát sinh nội dung web. Khi người dùng yêu cầu một trang ASP, đầu tiên, web server thực thi mã trong tập tin ASP và trả về nội dung kết quả cho trình duyệt web. ASP cho phép gọi các dịch vụ web(web service), web server không truy cập trực tiếp cơ sở dữ liệu mà thông qua gọi thủ tục của web service. Sử dụng kỹ thuật SOAP(Simple Object Access Protocol) để xây dựng các thủ tục và cho phép các web service gọi lẫn nhau trong quá trình đăng chuyến bay. Các bước thực hiện thuật toán gồm: 1. 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 chuyến bay. 2. 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. 3. Chuyển danh sách di chuyển đến web service đầu tiên trong danh sách di chuyển. 4. Web service nhận được danh sách di chuyển, mở ra một giao dịch (transac- tion) 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. 5. 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). 6. 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 (Com- mitTransaction) 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 (Roll- back transaction) trả kết quả về null cho server liền trước. 7. 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. HVTH: Hồ Trúc Lâm 10

Ngày đăng: 30/12/2013, 16:13

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan