Tải bản đầy đủ (.doc) (43 trang)

Đề 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 THUẬT TOÁN gắn bó dữ LIỆU

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (945.68 KB, 43 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>LỜI NÓI ĐẦU</b>

<i>------Hiện nay, một xu hướng kỹ thuật mới được hình thành, xu hướng phân táncác thành phần tạo nên hệ tin học theo hướng tiếp cận nơi sử dụng và sản xuấtthông tin trên cơ sở mạng máy tính. Nhằm khai thác có hiệu quả tồn hệ, vấn đềquan trọng hàng đầu cần tính đến là các tài nguyên và chiến lược khai thác, sửdụng chúng một cách có hiệu quả nhất.</i>

<i>Vấn đề gắn bó dữ liệu trong các hệ thống phân tán nói chung và các hệthống thông tin đăng ký trên mạng nói riêng như việc đăng ký các tua du lịch, muabán trong các giao dịch thương mại điện tử, đăng ký giữ chỗ trong giao thông vậntải, đăng ký dự thi trong các hệ thống thông tin đào tạo,... đã trở thành một lĩnhvực thu hút nhiều sự quan tâm của các nhà nghiên cứu lý thuyết lẫn các nhà sảnxuất phần mềm nhằm tìm ra các giải pháp hữu hiệu đảm bảo tính gắn bó thơng tintrong các cơ sở dữ liệu truy cập ngẫu nhiên với số lượng truy cập lớn </i>

<i>Việc nghiên cứu, phát triển các phương pháp đảm bảo gắn bó dữ liệu trongmơi trường phân tán đến nay đã có một số thành cơng đáng kể. Trước hết, phải</i>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<i>nói đến sự tích hợp hàng loạt các hàm vào các hệ điều hành, hệ quản trị cơ sở dữliệu, ngôn ngữ lập trình với phương thức riêng rẽ của từng hệ cho phép đảm bảophần cơ bản của việc gắn bó thơng tin nói chung trong q trình đa truy cậpthơng qua hệ thống viễn thông. Việc triển khai phương pháp cho phép gắn bó dữliệu trong mơi trường phân tán trong điều kiện lý tưởng (khơng có bất kỳ sự cốnào) đã được áp dụng và mang lại những hiệu quả nhất định cho các hệ thốngđăng ký từ xa. Tuy nhiên, trong quá trình triển khai lập trình và vận hành các hệthống đăng ký, vấn đề gắn bó dữ liệu trong các cơ sở dữ liệu khi hệ thống bị sự cốđang đặt ra như là vấn đề quan trọng và có ý nghĩa sống cịn trong việc phát triểntồn hệ nói chung. Nói tóm lại, sự cố trong các hệ thống nói chung, hệ thống đăngký từ xa nói riêng có thể xảy ra và là nguyên nhân dẫn đến hệ thống cơ sở dữ liệukhông thể đảm bảo tính gắn bó được nữa.</i>

<i> Trong phạm vi báo cáo này sẽ trình bày về vấn đề đảm bảo gắn bó dữ liệucho website đăng ký từ xa các chuyến bay được viết bằng ngôn ngữ ASP.</i>

<i>Được sự giúp đỡ tận tình của PGS.TS Lê Văn Sơn và các bạn tơi đã hồnthành được bản báo cáo. Tuy nhiên thời gian và kiến thức có hạn nên bản báo cáonày chắc chắn cịn nhiều khuyết điểm, tơi rất mong nhận được sự góp ý của Thầy</i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<i>giáo và các bạn. Cho phép tôi được bày tỏ lòng biết ơn đối với PGS.TS Lê VănSơn và các bạn đã ủng hộ, giúp đỡ tơi hồn thành bản báo cáo này.</i>

<i>Trân trọng cảm ơn !</i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN</b>

<i><b>I.1 Định nghĩa hệ tin học phân tán </b></i>

Hệ tin học phân tán là hệ thống xử lý thông tin bao gồmnhiều bộ xử lý hoặc các bộ xử lý nằm ở xa ở các vị trí khác nhauvà được liên kết với nhau thông qua phương tiện viễn thông dướisự điều khiển thống nhất của hệ điều hành.

Hệ phân tán là một tập hợp bao gồm các bộ xử lý hoặc bộ vi xử lý với bộ nhớvà đồng hồ độc lập. Điều này đồng nghĩa với việc các bộ xử lý không sử dụngchung bộ nhớ và đồng hồ. Trong hệ tin học phân tán, các tính tốn có thể đượctính trên nhiều bộ xử lý hay trên vi xử lý của hệ thống đa bộ xử lý. Như vậy hệ

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

thống hệ tin học phân tán địi hỏi hệ thống của mình phải trang bị bộ nhớ cục bộ.Các bộ xử lý trao đổi thông tin qua các hệ thống đường truyền khác nhau như làcáp chuyên dụng, bus trao đổi, đường điện thoại, cáp quang, . . . vv.

Khác với hệ thống máy đơn, mạng máy tính là tập hợp các thiết bị đầu cuốiđược kết nối với nhau thông qua hệ thống đường truyền. Các thiết bị đầu cuối củamáy tính rất đa dạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, cácthiết bị truyền tin, các thiết bị tiếp nhận và hiển thị thông tin. Hệ thống mạng máytính được điều khiển bằng hệ điều hành mạng. Hệ thống tin học này có thể là hệtập trung hoặc hệ phân tán.

Căn cứ vào các thành phần của hệ tin học, ta nhận thấy hệ tin học có thể baogồm bốn thực thể sau:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small>Các hệ thống phần mềm</small>

<small>Hệ thống Truyền </small>

<small>Tập hợp Phần cứng</small>

<small>Hệ thốngdữ liệu</small>

<small>Hình I.1. Bốn thực thể của hệ tin học phân tán</small>

Trong hệ tin học phân tán, cấu hình phần cứng của mạng có thể bao gồm cácbộ xử lý có cấu tạo hoàn toàn khác nhau về khả năng, tốc độ và được thiết kế chocác chức năng khác nhau. Chúng có thể là các bộ xử lý, các trạm làm việc, cácmáy tính tập trung và các máy tính điện tử vạn năng lớn. Chúng được gọi bằng cáctên khác nhau như trạm, node . . . căn cứ vào ngữ cảnh mà ở đó nó được nêu ra.

Ngồi hệ thống phần cứng, phần mềm, dữ liệu thì hệ phântán cịn có hệ thống truyền thơng được mơ tả như ở trên. Songđiều cơ bản để phân biệt hệ tin học phân tán với mạng máy tínhlà và hệ điều hành mạng chính là nguyên tắc xây dựng hệ.

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<i><b>I.2.1 Ưu điểm</b></i>

 <i>Chia xẻ tài nguyên: Chia xẻ tài nguyên trong hệ thống phân tán cung</i>

cấp một cơ chế để chia xẻ tập tin ở vị trí xa, xử lý thơng tin trong một cơ sở dữliệu phân tán, in ấn tại một vị trí xa, sử dụng những thiết bị ở xa để thực hiện cácthao tác…

 <i>Tăng tốc độ tính tốn: Hệ thống phân tán cho phép phân chia việc tính</i>

tốn trên nhiều vị trí khác nhau để tính tốn song song.

 <i>An tồn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác</i>

vẫn tiếp tục làm việc mà khơng ảnh hưởng đến tồn bộ hệ thống.

 <i>Thơng tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi</i>

dữ liệu từ vị trí này sang vị trí khác. Khi các vị trí được nối kết với nhau trongmột hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ.

<i><b>I.2.2 Hạn chế </b></i>

 <i>Giá phát triển phần mềm cao: Do các khó khăn khi cài đặt một hệ</i>

thống phân tán, giá thành sẽ tăng lên.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

 <i>Dễ mắc lỗi hơn: Vì các trạm trong hệ phân tán làm việc song song, khó</i>

có thể đảm bảo thuật tốn được thực hiện đúng trên tất cả các trạm. Do vậy mà sốlỗi sẽ tăng lên.

 <i>Khối lượng các xử lý tăng: Hệ thống phân tán cần truyền nhiều thơng</i>

báo, nhiều tính tốn phụ. Do vậy khối lượng xử lý tăng lên so với hệ thống tậptrung.

<i><b>I.3 Nguyên tắc xây dựng hệ phân tán</b></i>

 <i>Chia sẻ tài nguyên: Thực tế phát triển mạng máy tính đặt</i>

ra một vấn đề lớn là cần phải dùng chung tài nguyên. Một tiếntrình trên một trạm nào đó có thể cung cấp tài nguyên dùngchung ở một trạm khác.

 <i>Liên lạc: Khi các hệ thống đã được mắc nối với nhau, các</i>

thực thể trong hệ có thể trao đổi thông tin với nhau.

 <i>Tin cậy: Một trạm trong hệ bị sự cố khơng làm cho tồn</i>

hệ ảnh hưởng, mà ngược lại, cơng việc đó được phân cho cáctrạm khác đảm nhận. Ngoài ra, trạm bị sự cố có thể tự động

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

phục hồi lại trạng thái ban đầu trước khi có sự cố hay trạng tháiban đầu của nó.

 <i>Tăng tốc: Đây là khái niệm mới về phân tán tải. Một tính</i>

tốn lớn nào đó, nếu chỉ sử dụng một trạm thì thời gian cho kếtquả lâu. Tính tốn này được chia nhỏ và thực hiện song songtrên các trạm. Điều này cũng cần thiết đối với các trạm quá tải.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<i><b>I.4 Điều kiện của hệ phân tán</b></i>

Để đảm bảo hoạt động thì các hệ thống kết nối với nhau phải thỏa mãn haiđiều kiện cơ bản sau đây :

 Bất kỳ một hệ thống thành phần nào (hệ cục bộ) đều có thể liên lạcthơng suốt với các hệ thống thành phần khác.

 Mỗi một hệ thống cục bộ được đặc trưng bằng một tên duy nhất và tênnày có thể được nhận biết bởi các hệ thống viễn thơng.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>CHƯƠNG II</b>

<b>SỰ GẮN BĨ THƠNG TIN TRONG CƠ SỞ DỮ LIỆU </b>

<i><b>II.1 Các điều kiện giả định và thực tế</b></i>

Ta có một tập hợp các thơng tin nào đó có thể được truy cập bởi một tập cáctiến trình. Số lượng các thơng tin có thể truy cập được và các tiến trình có nhu cầuthơng tin là con số cố định. Hệ này phát triển rời rạc theo thời gian giữa các điểmquan sát, ta có thể nhận biết được trạng thái thực của chúng, có nghĩa là các đốitượng và các ngữ cảnh thực hiện tiến trình, hệ kiểu như vậy hoạt động với độ ổnđịnh cao.

Các điều kiện giả định này so với thực tế có các điểm khác biệt cơ bảnnhư sau:

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

trạm và tính khơng tương thích giữa các điểm quan sát trong trạm đó.

<b>3</b> Hệ thống viễn thơng và các tiến trình là các đối tượng có thể xảy racác sự cố về kỹ thuật.

<i><b>II.2 Tác động và giao dịch</b></i>

Các đối tượng khác nhau của hệ không phải là các đối tượng độc lập vớinhau, chúng quan hệ với nhau bởi tậ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áigắn bó.

Các nhà thiết kế và vận hành hệ mong muốn rằng việc thực hiện các tiếntrình phải duy trì cho được hệ trong trạng thái gắn bó. Để chính xác hóa đặc tínhnà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 chotrước.

Ta quan tâm đến hai mức quan sát sau:

<b>1</b> 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

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

bó dẫn hệ đến một trạng thái gắn bó khác.

<b>2</b> 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ịchkhác nhau được thực hiện bởi hai tiến trình thì hiệu ứng tổngquát của chúng sẽ là hiệu ứng của dãy (A,B) hoặc là (B,A).Nếu một tập hợp các giao dịch M được thực hiện bởi các tiến trình độc lập vàđược thực hiện một cách tuần tự, điều này có nghĩa là các giao dịch này thực hiệnxong thì giao dịch khác mới thực hiện và tuân thủ theo một trật tự nào đó. Sự gắnbó của hệ được bảo tồn.

Ở mức hệ thống ta có thể nói rằng tác động là phần tử nhỏ nhất của hệ thốngmà ta không thể chia cắt được nữa. Nhưng vì lý do hiệu quả nên các giao dịchđược xử lý song song nên việc gắn bó dữ liệu khơng còn được đảm bảo. Một yếutố quan trọng khác là trong q trình thực hiện các giao dịch khơng được thực hiệnmột cách ngắt quãng mà phải liên tục cho đến khi giao dịch kết thúc nhằm đảmbáo tính gắn bó dữ liệu.

<i><b>II.3 Tác động của sự cố đối với việc gắn bó dữ liệu</b></i>

Phương pháp đảm bảo gắn bó dữ liệu một cách khả thi trong điều kiện có sựcố cho các hệ thống thông tin, bản chất của vấn đề gắn bó dữ liệu cũng như

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

nguyên nhân dẫn đến sự cố làm cho dữ liệu khơng cịn gắn bó được chỉ ra và nhómghép trong q trình phân tích và thiết kế hệ thống.

Một cơ sở dữ liệu được xem là gắn bó nếu nó thỏa mãn các ràng buộc vềtồn vẹn ngữ nghĩa. Để đảm bảo tính gắn bó dữ liệu nhiều cơ chế cũng như kiểmsốt tính tồn vẹn về mặt ngữ nghĩa.... được sử dụng.

Việc kiểm sốt tính tồn vẹn ngữ nghĩa tốt sẽ đảm bảo được tính gắn bó 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 sau:

 Loại bỏ các chương trình/ thủ tục cập nhật có thể dẫn đến trạng tháikhơng gắn bó dữ liệu trong các cơ sở dữ liệu.

 Triệu gọi các chương trình/ thủ tục đặc biệt đã được cài đặt sẵn 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ó thể khôi phục lại dữ liệu và trạng thái gắn bó thơng tin của tồn hệthống khi có sự cố xảy ra, một trong những vấn đề hàng đầu là xác định được loại,bản chất và vị trí diễn ra sự cố mà tự đó nhận biết một cách tự động và chuyển đếnphương án giải quyết nào cho phù hợp.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Tổng quan, sự cố có thể chia làm hai loại chính là sự cố xảy ra do các trạmtrên hệ phân tán và sự cố do hệ thống viễn thơng gây ra.

Để tiện lập trình giảipháp, người ta cụ thể hóa thành bốn mức và các nguyên nhân thể hiện trongbảng sau:

<b>1</b> Sự cố giao dịch Do một lỗi nào đó trong bản thân giao dịch gây nên.

<b>2</b> Sự cố vị trí

Do một lỗi phát sinh trong q trình vận hành hệthống. Lỗi này có thể xuất phát từ các thiết bị phầncứng. Khi bị sự cố hệ thống lập tức ngừng hoạtđộng. Hệ thống chương trình, đặc biệt là các chươngtrình điều khiển cũng có thể sinh ra lỗi. Đó là các lỗido thuật toán hoặc do viết lệnh sai, do 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.

<b>3</b> 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ưucơ sở dữ liệu. Khi có sự cố này thì một phần hoặc tấtcả cơ sở dữ liệu trên thiết bị đó được xem như bị

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

hủy hoại hoặc không thể truy cập một cách bìnhthường được.

<b>4</b> <sup>Sự cố đường</sup>

Do lỗi trong các thông điệp, các thông điệp vô trậttự, thông điệp bị thất lạc hoặc không phân phốithông điệp và các sự cố khác liên quan đến đườngtruyền.

Phương pháp tổng quan cho việc khắc phục bốn loại sự cố trên đượctrình bày trong bảng sau:

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>4</b> Sự cố đường truyền

Sử dụng bộ đếm thời gian và cơ chế quá hạn theodõi xem đã qua bao lâu kể từ khi vị trí gởi khơngnhận được thơng điệp trả lời của vị trí đến.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<i><b>II.4 Xử lý các sự cố</b></i>

Ta giả sử rằng các bộ xử lý và bộ nhớ tạo nên các trạm là ngun nhân chínhcủa sự cố ngắt qng q trình thực hiện các tiến trình. Các hệ thống viễn thơngcũng có thể là nơi diễn ra các sự cố làm mất hẳn hoặc chồng chéo các thông điệp.

Ta xét sự gắn bó thơng tin khơng chỉ trong các điều kiện thuận lợi như đã nêutrước đây mà cịn tính đến các yếu tố mới và cũng xét đến các công cụ cho phépđảm bảo cho sự gắn bó này.

Nếu một tiến trình nào đó bị sự cố trong khi thực hiện giao dịch thì trạng tháicủa hệ xuất phát từ việc thực hiện từng phần đó chắc chắn sẽ khơng cịn đảm bảosự gắn bó.

Một cơ chế cho phép duy trì sự gắn bó trong mơi trường phân tán có sựcố phải được thực hiện như sau:

<b>1</b> Một giao dịch bắt buộc phải thực hiện một cách trọn vẹn.

<b>2</b> Nếu có sự cố xảy ra thì bắt buộc giao dịch phải quay về điệm xuất phát.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Muốn thực hiện những điều vừa nêu trong bảng trên, người ta địi hỏiphải có các đặc tính tồn vẹn như sau:

Các đặc tính trên có thể được mơ tả bằng hình vẽ sau:

Trước khi cập nhật (thay đổi)

Sau khi cập nhật (thay đổi)Khơng gắn bó

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

Tình huống này ta có hai giải pháp cụ thể là:

<b>1</b> Phục hồi trạng thái của hệ như trước khi diễn ra giao dịch T

<b>2</b> Cố gắng thực hiện giao dịch T cho đến khi kết thúc

Không phải lúc nào ta cũng áp dụng được giải pháp 1 vì một số tác độngkhơng thể quay trở lại được. Như thế ta phải xác định cho được điểm không quaytrở lại được của từng giao dịch. Căn cứ vào điểm này, nếu vượt qua nó, khơng cóhành động quay trở lại nào được thực hiện và trạng thái trước đó của giao dịch sẽđược thực hiện bởi phép lặp lại (rollback).

Trong hệ tin học tập trung, việc triển khai một kỹ thuật khẳng định (điểmkhơng quay trở lại) khơng có gì khó khăn. Ta thực hiện việc cập nhật có tính chấtquyết định vào trạng thái bằng phép ghi duy nhất.

Trong hệ phân tán, vấn đề triển khai có nhiều tinh tế hơn vì khi một trạm bắtđầu cập nhật, nó phải gởi cho tất cả các trạm khác và sự cố có thể xảy ra vào thờiđiểm đó.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

Có thể được mơ tả như hình sau:

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<i>Hình-III.1: Mơ hình về hệ thống website đặt vé máy bay từ xa</i>

Hệ thống với những đặc điểm như vậy đòi hỏi phải gắn bó dữ liệu bằng giảipháp đáng tin cậy.

1 Thông tin đăng ký tại các database server phải nhất quán.

2 <sup>Việc truy xuất các cơ sở dữ liệu được thực hiện bởi ứng dụng đang</sup>chạy trên cùng server với cơ sở dữ liệu.

3 <sup>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</sup>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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

database server.

5 Cho phép nhiều người dùng đăng ký tại một thời điểm.

<i><b>III.2 Kỹ thuật đảm bảo gắn bó dữ liệu</b></i>

Kỹ thuật đảm bảo gắn bó dữ liệu được xây dựng trên mơ hình MAONT đượctrì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 bó dữ liệu trong hệthống đăng ký 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ộtgiao 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 hồn tất sẽ chuyểnkhố 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ịchcon đã ủ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 đượcgiao 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

</div>

×