Архитектура распределенных систем программного обеспечения Tarqalgan dasturiy ta'minot tizimlari arxitekturasi


Download 0.84 Mb.
bet15/27
Sana25.06.2023
Hajmi0.84 Mb.
#1654891
1   ...   11   12   13   14   15   16   17   18   ...   27
Bog'liq
79 uz

Yassi tranzaktsiyalar to'liq ACID xususiyatlariga ega. Bu eng oddiy va eng ko'p ishlatiladigan tranzaktsiya turi. Biroq, yassi tranzaktsiyalar cheklovlarga ega, xususan, ular tugallangan yoki bekor qilingan taqdirda qisman natijaga ega bo'lolmaydi.
Murakkab (kompozit) va ichki o'rnatilgan tranzaksiyalar yordamida yuqori darajadagi murakkab operatsiyalarni ierarxik ravishda joylashtirilgan parallel operatsiyalar qatoriga bo'lish mumkin. Bu parallelizm juda real bo'lishi mumkin: ichki o'rnatilgan tranzaktsiyalar boshqa mashinalarda ham bajarilishi mumkin, lekin u virtual bo'lishi ham mumkin, ya'ni dasturlashni tezlashtirish yoki soddalashtirish uchun amalga oshiriladi. Ichki o'rnatilgan operatsiyalarning har biri xuddi shunday tarzda tranzaktsiyalarga bo'linishi mumkin.
Kompozit tranzakisyalar to'liq ACID xususiyatlariga ega emas. Masalan, chidamlilik xususiyati faqat yuqori darajadagi tranzaksiyalarga taalluqlidir (agar boshqa ichki oʻrnatilgan tranzaksiyalardan birini bajarib boʻlmasa, ichki oʻrnatilgan tranzaktsiyalar natijalari orqaga qaytarilishi mumkin). Ichki operatsiyalar ma'muriyatga jiddiy yondashishni talab qiladi. Bunday ma'muriyatning semantikasi quyidagicha: har qanday operatsiya boshida butun tizim ma'lumotlarining nusxasi yaratiladi. Agar tranzaksiya to'xtatilsa, nusxa oddiygina yo'q qilinadi, agar u muvaffaqiyatli bo'lsa, uning ichki nusxasi tashqi nusxani almashtiradi va hokazo.


Rasm. 2.9. Murakkab va ichki operatsiyalar (a) va taqsimlangan tranzaksiyalar (b).
Ichki tranzaktsiyalar dastlabki tranzaksiyani mantiqiy jihatdan ajratadi va tranzaktsiyalarning mantiqiy bo'linishi har doim ham taqsimlashni anglatmaydi. Taqsimlangan tranzaktsiyalar - taqsimlangan ma'lumotlar asosida ishlaydigan tekis, bo'linmaydigan operatsiyalar (2.9-rasm).
2.3.2. Tranzaksiyani tasdiqlash protokollari
Tarqalgan tranzaktsiyalarni amalga oshirish ularni bajarish imkoniyatini tasdiqlash uchun ishonchli algoritmlarni amalga oshirishni talab qiladi, bu jarayonning barcha ishtirokchilari (yoki ularning hech biri) tomonidan olinishi kerak. Taqsimlangan tasdiqlash ko'pincha koordinatorlar yordamida amalga oshiriladi. Eng oddiy sxemada koordinator tranzaktsiyada ishtirok etayotgan barcha boshqa jarayonlarga ular so'ralgan operatsiyani bajarishga qodir yoki yo'qligini aytadi. Ushbu sxema bir fazali tasdiqlash (1PC) sifatida tanilgan. 1PC protokolining jiddiy kamchiligi bor: agar ishtirokchilardan biri amalda operatsiyani amalga oshira olmasa, u bu haqda koordinatorga xabar bera olmaydi.


Rasm. 2.10. Ikki bosqichli tasdiqlash protokoli: (a) xabar almashish.
(b) koordinatorning davlat mashinasi, (c) ishtirokchining davlat mashinasi (bloklash holatlari ajratilgan).
Ikki fazali tasdiqlash protokoli (2PC) har biri ikki bosqichni o'z ichiga olgan ikki bosqichdan iborat. Birinchi bosqich ovoz berish bosqichi deb ataladi va 1 va 2 bosqichlardan iborat, ikkinchi bosqich (qaror qabul qilish bosqichi) 3 va 4 bosqichlardan iborat (2.10-rasm):
1. Koordinator ovoz berish so'rovini ishtirokchilarga yuboradi.
2. Ishtirokchi so'rovni olgandan so'ng, koordinatorga bitimning o'z qismini tasdiqlashga ("ma'qul" ovoz berish) yoki bunday tasdiqlashni rad etishga ("qarshi" ovoz berish) tayyorligi haqida ovoz beradi.
3. Koordinator barcha ishtirokchilarning javoblarini to'playdi. Agar barcha ishtirokchilar bitimni tasdiqlagan bo'lsa, koordinator tegishli harakatlarni bajarishga kirishadi va o'z qarorini barcha ishtirokchilarga yuboradi - bitimni tasdiqlash. Biroq, agar kamida bitta ishtirokchi bitimning o'z qismini tasdiqlashdan bosh tortgan bo'lsa, koordinator barchaga bitimni bekor qilish to'g'risida ko'rsatma yuboradi.
4. Tasdiqlash uchun ovoz bergan ishtirokchi koordinatordan tasdiqnoma olsa, u bitimni tasdiqlaydi (uni bajarish uchun ichki harakatlarini bajaradi). Agar bekor qilish buyrug'i olinsa, tranzaktsiya to'xtatiladi.
Tizim ikki fazali tasdiqlashdan foydalanganda xatolarga duch kelsa, muammolar paydo bo'ladi. Koordinator va boshqa ishtirokchilar blokirovka qiladigan va tashqaridan xabarlarni kutadigan davlatlarga ega. Agar koordinatorning ishida xatolik yuzaga kelsa, protokol buziladi, chunki boshqa jarayonlar xabarlarni cheksiz kutishadi. Vaziyatni to'g'irlash uchun vaqt tugashi mexanizmi joriy etiladi. Agar bir muncha vaqt davomida koordinatordan umumiy ovoz berish natijalari to'g'risidagi xabarlar boshqa ishtirokchilar tomonidan olmagan bo'lsa, ular o'z ishlarini to'xtatish va muvofiqlashtiruvchiga tasdiqlashni rad etish to'g'risida xabar yuborish kerak degan xulosaga kelishadi ("qarshi" ovoz berish).
Koordinatorning o'zi ishidagi nosozliklar tufayli 2PC protokoli ushbu koordinatorning sog'lig'i tiklanmaguncha ishtirokchi blokirovka qilishi kerak bo'lgan vaziyatning mavjudligi bilan tavsiflanadi. Bu holat barcha ishtirokchilar ovoz berish so'rovini olishga muvaffaq bo'lganda yuzaga keladi, ammo shundan so'ng koordinator tizimni tark etadi. Bunday holda, ishtirokchilar birgalikda qanday davom etishni birgalikda hal qila olmaydilar. Shu sababli, 2PC protokoli blokirovkani tasdiqlash protokoli deb ataladi. Bunday hollarda qulfni ochish to'g'risidagi qaror tizim ma'muriga beriladi, u tranzaktsiyani tasdiqlaydi yoki rad etadi va koordinator tiklanganidan keyin tizimning holati to'g'risida kelishib oladi.

Download 0.84 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   27




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling