Cùng với đó là một xu hướng kỹ thuật mới được hình thành đó là xu hướng phân tán cá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ất thông tin trên cơ sở mạng m
Trang 1GVHD: PGS.TS Lê Văn Sơn Thực hiện: Đặng Quý Linh
Lớp: Cao học KHMT K24 Khóa: 2011-2013
Trang 3- -Hiện nay các hệ thống thông tin trên mạng rất phổ biến như các website mua bán máy tính, đăng ký thi và thi qua mạng, các website thương mại điện tử, đang phát triển rất mạnh mẽ và ngày càng chuyên nghiệp hơn Cùng với đó là một xu hướng kỹ thuật mới được hình thành đó là xu hướng phân tán cá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ất thông tin trên cơ sở mạng máy tính nhằm khai thác có hiệu quả toàn hệ, nhất là vấn đề việc khai thác và sử dụng các tài nguyên một cách có hiệu quả nhất.
Đó cũng chính là nội dung của học phần Hệ phân tán mà tôi đã được học, 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ệu cho các website khi cập nhật dữ liệu bằng ngôn ngữ ASP.
Trong thời gian làm bài tiểu luận này, tôi đã nhận được rất nhiều sự hỗ trợ của các quý thầy và các bạn học cùng lớp, đặc biệt xin gửi lời cảm ơn chân thành nhất đến thầy Lê Văn Sơn đã giúp đỡ tôi hoàn thiện bài tiểu luận này.
Trân trọng cảm ơn !
Trang 4CHƯƠNG I
CÁC KHÁI NIỆM VỀ HỆ TIN HỌC PHÂN TÁN
I.1 Định nghĩa hệ tin học phân tán
Hệ tin học phân tán là hệ thống xử lý thông tin bao gồm nhiều bộ xử lý hoặc các bộ
xử lý nằm ở xa ở các vị trí khác nhau và được liên kết với nhau thông qua phương tiệnviễn thông dưới sự đ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ụng chung bộnhớ và đồng hồ Trong hệ tin học phân tán, các tính toán có thể được tí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ệ 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 tinqua 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,
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ếtnối với nhau thông qua hệ thống đường truyền Các thiết bị đầu cuối của máy tính rất đadạng, bao gồm tập hợp các máy tính, các thiết bị chuyên dụng, các thiết bị truyền tin, cácthiết bị tiếp nhận và hiển thị thông tin Hệ thống mạng máy tí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ể bao gồmbốn thực thể sau:
Các
hệ thống phần mềm
Hệ thống
dữ liệu
Tập hợp phần cứng
Hệ thống truyền thông
Trang 5Trong 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ác bộ 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ế cho các chức năngkhác nhau Chúng có thể là các bộ xử lý, các trạm làm làm việc, các má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ác tên khác nhau như trạm,node căn cứ vào ngữ cảnh mà ở đó nó được nêu ra
Ngoài hệ thống phần cứng, phần mềm, dữ liệu thì hệ phân tán còn có hệ thống truyềnthô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ớimạng máy tính là và hệ điều hành mạng chính là nguyên tắc xây dựng hệ
I.2 Ưu điểm và hạn chế của hệ thống phân tán
I.2.1 Ưu điểm
Chia sẻ tài nguyên: Chia sẻ tài nguyên trong hệ thống phân tán cung cấp một cơ
chế để chia sẻ 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ác thao tác…
Tăng tốc độ tính toán: Hệ thống phân tán cho phép phân chia việc tính toán trên
nhiều vị trí khác nhau để tính toán song song
An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khác vẫn tiếp
tục làm việc mà không ảnh hưởng đến toàn bộ hệ thống
Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổ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 trong một hệ thốngmạng, việc trao đổi dữ liệu diễn ra rất dễ dàng
I.2.2 Hạn chế
Giá phát triển phần mềm cao: Do các khó khăn khi cài đặt một hệ thống phân tán,
giá thành sẽ tăng lên
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ó có thể
đảm bảo thuật toá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
Trang 6 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 báo, nhiều
tính toán phụ Do vậy khối lượng xử lý tăng lên so với hệ thống tập trung
I.3 Nguyên tắc xây dựng hệ phân tán
Chia sẻ tài nguyên: Thực tế phát triển mạng máy tính đặt ra một vấn đề lớn là cần
phải dùng chung tài nguyên Một tiến trình trên một trạm nào đó có thể cung cấptài nguyên dùng chung ở một trạm khác
Liên lạc: Khi các hệ thống đã được mắc nối với nhau, các thực thể trong hệ có thể
trao đổi thông tin với nhau
Tin cậy: Một trạm trong hệ bị sự cố không làm cho toàn hệ ảnh hưởng, mà ngược
lại, công việc đó được phân cho các trạm khác đảm nhận Ngoài ra, trạm bị sự cố
có thể tự động 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ó
Tăng tốc: Đây là khái niệm mới về phân tán tải Một tính toán lớn nào đó, nếu chỉ
sử dụng một trạm thì thời gian cho kết quả lâu Tính toán này được chia nhỏ vàthực hiện song song trê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
I.4 Điều kiện của hệ phân tán
Để đả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ạc thông suốt vớicá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ên này có thểđược nhận biết bởi các hệ thống viễn thông
Trang 7Cá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ản như sau:
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 các sự cố
về kỹ thuật
II.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 với nhau, chúngquan 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àythể 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ó
Trang 8Cá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ến trình phảiduy trì cho được hệ trong 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
Ta quan tâm đến hai mức quan sát sau:
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ácnhau được thực hiện bởi hai tiến trình thì hiệu ứng tổng quát củachú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à đượcthự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ện xong 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ắn bó của hệ đượcbảo toà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ống mà takhô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ý songsong nên việc gắn bó dữ liệu không còn được đảm bảo Một yếu tố quan trọng khác làtrong quá trình thực hiện các giao dịch không được thực hiện mộ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 đảm báo tính gắn bó dữ liệu
II.3 Tác động của sự cố đối với việc gắn bó dữ liệu
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ố chocác hệ thống thông tin, bản chất của vấn đề gắn bó dữ liệu cũng như nguyên nhân dẫn
Trang 9đến sự cố làm cho dữ liệu không còn gắn bó được chỉ ra và nhóm ghép trong quá trìnhphâ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ề toàn vẹnngữ nghĩa Để đảm bảo tính gắn bó dữ liệu nhiều cơ chế cũng như kiểm soát tính toànvẹn về mặt 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 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ái khô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ốngnhằ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 toà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 đến phương án giảiquyết nào cho phù hợp
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ạm trê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ải pháp, người ta cụthể hóa thành bốn mức và các nguyên nhân thể hiện trong bảng sau:
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
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ể xuất phát từ các thiết bị phần cứng Khi
bị sự cố hệ thống lập tức ngừng hoạt động Hệ thốngchương trình, đặc biệt là các chương trình điều khiển
Trang 10cũng có thể sinh ra lỗi Đó là các lỗi do 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
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ạihoặ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à các sự cố khác liên quan đến đường truyền
Bảng 1: Các loại sự cố và nguyên nhân gây nên sự cố
Phương pháp tổng quan cho việc khắc phục bốn loại sự cố trên được trình bày trongbảng sau:
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ốngphân tán
4 Sự cố đường truyền Sử dụng bộ đếm thời gian và cơ chế quá hạn và 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 11II.4 Xử lý các sự cố
Ta giả sử rằng các bộ xử lý và bộ nhớ tạo nên các trạm là nguyên nhân chính của sự
cố ngắt quãng quá trình thực hiện các tiến trình Các hệ thống viễn thông cũ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êu trướ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ái củ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ảo sự 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:
1 Một giao dịch bắt buộc phải thực hiện một cách trọn vẹn
2 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
Muốn thực hiện những điều vừa nêu trong bảng trên, người ta đòi hỏi phải có các đặctính toàn vẹn như sau:
Trang 12ra trong quá trình đang thực hiện các thay đổi của T thì hệ là không gắn bó.Các đặc tính trên có thể được mô tả bằng hình vẽ sau:
Tình huống này ta có hai giải pháp cụ thể là:
1 Phục hồi trạng thái của hệ như trước khi diễn ra giao dịch T
2 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 động không thểquay trở lại được Như thế ta phải xác định cho được điểm không quay trở lại được củatừ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ạinà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ặplại (rollback)
Trong hệ tin học tập trung, việc triển khai một kỹ thuật khẳng định (điểm không quaytrở lại) không có gì khó khăn Ta thực hiện việc cập nhật có tính chất quyết định vàotrạ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ậpnhậ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 đó
2
3
Trước khi cập nhật (thay đổi)
Sau khi cập nhật (thay đổi) Không gắn bó
Trang 14KẾT LUẬN
Trong bản báo cáo này đã trình bày các vấn đề về gắn bó dữ liệu trong hệ phân tánnhư sau:
Định nghĩa hệ tin học phân tán
Các ưu điểm và hạn chế của hệ tin học phân tán
Nguyên tắc xây dựng hệ phân tán, điều kiện hệ phân tán
Giúp cho người đọc hiểu được phần nào về tác động và giao dịch
Tác động của sự cố đối với vấn đề gắn bó dữ liệu trong hệ phân tán: đề cậpđến các loại sự cố, nguyên nhân gây ra các loại sự cố đó cũng như cách khắcphục chúng như thế nào
Đề ra giải pháp nhằm xử lý các sự cố, hiểu được nếu xảy ra sự cố thì hệ thống
có còn đảm bảo việc gắn bó dữ liệu hay không
Trang 15Mô hình tổng quan về một hệ thống website có thể được mô tả trong hình vẽ sau:
Hình-1: Mô hình tổng quan về hệ thống website
Các hệ thống thông tin trên Internet với các truy cập đồng thời bao gồm cả việc đọc
và ghi dữ liệu đan xen nhau phải được nâng cấp để đáp ứng yêu cầu nhất quán cho người
sử dụng thông qua trình duyệt Chính vì thế, việc nghiên cứu hoàn thiện hệ bằng các giảipháp kỹ thuật ngay trong giai đoạn thiết kế nhằm đảm bảo dữ liệu đạt kết quả mạnh làhết sức cần thiết
Để đảm bảo duy trì sự gắn bó mạnh, người ta đã đề xuất các giải pháp kỹ thuật khácnhau và đã được công bố Trong phạm vi báo cáo này chỉ trình bày phương pháp đảm
Trang 16bảo gắn bó mạnh trên cơ sở thuật toán luân phiên cho các cập nhật của hệ phân tán triển
khai cho các hệ thống website
Mục tiêu của giải pháp nghiên cứu phải thỏa mãn yêu cầu cơ bản là với đối tượng cần đặc trưng, thì thông tin biểu hiện về nó là duy nhất đúng ở thời điểm được phép truy cập bằng các trình duyệt có xét đến độ trễ và sự cố có thể của hệ thống viễn thông.
III.2 Cơ sở kỹ thuật của hệ thống thông tin trên Internet
Việc truy cập vào thông tin của các hệ thống website trên Internet có thể được khái
quát hóa bằng hình vẽ 2 Đây là hệ thống truy cập từ trình duyệt thể hiện kiến trúc n-bên
với các chương trình ứng dụng đã được công bố trong nhiều tài liệu tin học khác nhau
Hình – 2: Truy cập thông tin từ trình duyệt
Các hệ thống được xây dựng trên mạng Internet bao gồm các máy chủ kết nối vớinhau qua mạng viễn thông, ví như mạng điện thoại công cộng
Khi thiết kế người ta thường dựa vào các hệ quản trị cơ sở dữ liệu có sẵn với ngônngữ SQL được sử dụng để kiểm nghiệm tính tương tác trên cả hai đối tượng server vàclient
Mối quan hệ giữa hệ quản trị cơ sở dữ liệu và công cụ tạo web có thể được mô tảtrong hình 3
Hình – 3: Mô hình quan hệ giữa công cụ và hệ quản trị cơ sở dữ liệu
Việc kết nối cơ sở dữ liệu có thể thực hiện theo hai cách:
1 Theo sự kiện Application_OnStart.
2 Trên từng trang web động khi có yêu cầu sử dụng.
Gọi truy vấn HTML HTML
Các giao diện với thông tin (CSDL)
Nơi chứa thông tin (các files)
DBMS (SQL Server, Oracle, MySQL )