6 – Amaliy mashg’ulot. Taqsimlangan tizimlarda ishonchlilik masalasi. Replikatsiya reja



Download 411,5 Kb.
bet15/19
Sana13.04.2022
Hajmi411,5 Kb.
#548424
1   ...   11   12   13   14   15   16   17   18   19
Bog'liq
6-10-amaliy mashgulotlari Ashuraliyev Xondamir

Nazorat savollari
1.Taqsimlangan tizim arxitekturasi
2.RPS nima
3.IDL tili xaqida ma’lumot bering
14 – Amaliy mashg’ulot. TAQSIMLANGAN TIZIMLARDA BULUTLI TEXNOLOGIYALAR
Reja

  1. RPC modeli

  2. Xabar navbati modeli

  3. RMI modeli

RPC modeli bu asosiy modellardan biri, sistemali qo‘llashni programmali ta’minlovchi sifatida qo‘llaniladi. Birinchi bo‘lib u ikki qavatli “klient/server” turidagi sistemada qo‘llanilgan: klient serverda ishlovchi protsedurani chaqiradi. Ahamiyatliligi shundaki, klient uchun bu chaqiruv lokalli protseduralarini chaqiruvida tafovutga ega emas. RPC modeli klientni (chaqiruv programmasi) va (chaqiruv protsedurasini yo‘q qilishni amalga oshiruvchi programmasi) serverlarini tushunib etishiga olib keldi. SHuningdek, modelda boshqa konsepsiyalar ham taqdim qilingan, quyidagilar xozirgacha keng qo‘llanilmoqda: interfeys tilini ta’rifi, nom va katalogni olib borish xazmati, dinamikli bog‘lanish, interfeys xizmati va boshqalar.
RPC modelini sinxronizatsiyasini qo‘llashda, aloqani tiklash, parametrlarni uzatish va natijalarni hammasi klientdan sir saqlagan holda bajariladi. Bu birinchi model musaffolik va xalqarotilni interoperabellikga erishishiga yo‘l qo‘yib beradi, past bosqichli protokol yordamida xabarlarni almashtirishni rad etadi.
Taqsimlangan sistemalarni klientli va serverli qismi yo‘q qilingan chaqiruv protsedurasi yordamida o‘zaro ta’sirga ega bo‘ladi, bir-biriga mustaqil realizatsiyani amalga oshiradi, bu tilni programmalashtirish realizatsiyasidan qisman foydalaniladi. An’anaviy sistemada murojaat etishda programmalar bir tilda yozilgan, protseduraga esa boshqa tilda yozilgan, bunday murojaatni ko‘p texnik detalini bilish kerak: har xil tildagi turli ma’lumot tavsilotlarini taqdim etish (har xil kompilyatordan foydalanishda), elementlarni solishtirish choralari va murakkab strukturada bo‘shliqlarni to‘ldirish, oynali mexanizm detali. Ko‘p karrali murakkabliklar o‘sgan bo‘lar edi, agarda programmalarni o‘zaro ta’siri shunday tashkillashtirilgan bo‘lganda, faqatgina har xil tilda yozilganlarini emas, shuningdek, har xil hisoblovchi mashinalarda ishlovchilarni ham. Bularning hammasidan yo‘q qilingan chaqiruv protseduralarining modeli xalos bo‘lishga yo‘l qilib beradi. Programmistlar tillarni va programmali paradigmni o‘zgartirmasdan taqsimlangan taklifni qurish imkoniyatlarini olishdi.
RPC modeli taqsimlangan sistemada ko‘pchilik yadrolar namoyon bo‘ladi. Bu modelda ko‘p kech kolgan modellarni bir qismini paydo bo‘lishi uchun asosdir, (Remote Method Invocation, RMI) yo‘q qilingan chaqiruv metodini modeli va (stored procedures) protseduralarni saqlash baza ma’lumotlari. Ko‘pincha RPC modeli murakkab formali o‘zaro ta’sir realizatsiyasi uchun past bosqichda foydalaniladi.
Yo‘q qilingan chaqiruv protsessi quyidagi obrazlarda namoyon bo‘ladi:

  • Klient mashinasidagi protsess server mashinasiga protsedurani chaqiradi.

  • Klient protsessi olidndan to‘xtatiladi.

  • Server mashinasida chaqirilgan protseduralarni bajarish protsessini qo‘yib yuboradi.

  • Natijalar klient mashinasiga berib yuboriladi.

  • Klient protsessi yangilanadi.

Tavsiflangan mexanizmda ko‘p murakkabliklar: har xil adresli klient va server, parametrlar va natijalarni uzatish zaruriyati, qurilmalarni rad etish va qayta ishlash zaruriyati. Qo‘shimcha murakkabliklar shunga olib keladiki, dasturlash tilidagi protseduralar dasturlari parametrlarining bir qismi qiymatlari bo‘yicha, qolgan qismi sifat parametrlari sifatida uzatiladigan qiymatlariga havola bilan uzatilishi mumkin.
RPC modelini realizatsiya qilishda barcha qiyinchiliklarni engib o‘tishi kerak, shuning uchun oldindan, yo‘q qilingan protsedurani bajarishdan ko‘ra, oldindan tayyorgarlikni o‘tkazish kerak.
Birinchi qadam protseduralarni interfeysini ta’riflash bo‘lish kerak, (IDL) interfeys tili yordamida nima qilinadi. Bu ta’riflash protseduralar parametri xaqida qisqacha tavsif beradi, ishdan keyin ular bajarish va qaytaruvchilarga beriladi. IDL tilidagi protseduralarni ta’riflashda xuddi servis spetsifikatsiyasidek ko‘rib chiqish mumkin.
Ikkinchi qadamda esa yaratilgan translyasiya tavsifi amalga oshiriladi. RPC mexanizmidagi barcha realizatsiyalar, xoxlagan integratsion platforma, RPC dan foydalanishda yoki konsepsiyada maxsus interfeysli translyatorni saqlaydi. Translyasiya natijasida quyidagilar yaratiladi:
Klientli perexodnik: har bir protseduralar sarlavhasi IDL faylida berilgan protseduralar uchun (stub) alohida klientli perexodnikni yaratishga olib keladi. Perexodnik - bu translyasiyadan keyin klient programmasiga birlashadigan programmadir. Klientli perexodnik tarkibidan serverni qidirish programmalari kelib chiqadi, ma’lumotlarni formatlash, server bilan o‘zaro ta’siri, protseduralarni chaqirilgan klienti parametrlarni qaytish ko‘rinishida javoblarni qabul qilishi va javobni uzatishi. Klient bilan ma’lumotlarni formatlash ikki protsessdan tashkil topgan: marshalinga va serilizatsiya. Marshaling kodirovkalashda va qabul qilingan xabar formatini aniq sistemada ma’lumotlarni qadoqlashdir. Serializatsiya baytlarni ketma – ketligini xabarlarda o‘zgartirishdan tashkil topgan.
Serverli perexodnik: klientliga o‘xshash bo‘lib, ammo chaqiruvni serverli qismini amalga oshiradi. U quyidagi programmalardan tashkil topgan, klientdan olgan so‘rovni amalga oshiradi, (oynali o‘zgartirish, ya’ni, deserializatsiya va demarshalinga) ma’lumotlarini formatlash, serverda realizatsiyalangan real protseduralar chaqiruvi, shuningdek, natijalarni klientga qaytarish. Serverli perexodnik translyasiyasidan keyin klientli prexodnikka o‘xshab server programmasiga birlashadi. Barcha serverli programmalardan, protseduralar realizatsiyasini qo‘shgan holda, yo‘q qilingan klientni chaqiruvida, klientni realizatsiya qilishda foydalanilgan til har bir tilda bo‘lishi talab qilinmaydi, xalqaro tilni interoperabelligiga yuqori darajada muhim ahamiyatga egaligiga erishiladi, ya’ni, programmalarni o‘zaro ta’sirini imkoniyatlarini amalga oshiradi, turli xilda yozilgan tillarni programmalashtiradi.
Programmali dalil va shablonlar: IDL tili va translyator undan protseduralarni qayta ishlashni olib borishga yordam beradi, yordam beruvchi fayllarni yaratadi. Masalan, RPC sistemasini birinchi versiyasi Si tilida yaratilgan, shuning uchun klientli va serverli perexodnikka qo‘shimcha IDL translyatori (*.h.) matn-fayllarini yaratdi. Ko‘p zamonaviy translyatorlar server uchun programma shablonlarini yuzaga keltiradi, masalan, protsedura matnini programmalarini tarkibini, undan keyin qayta ishlovchini o‘zi bu protseduralarni ralizatsiyasini yaratishi kerak.
Qachonki klient yo‘q qilingan protsedurani chaqirganda, haqiqatdan protseduralarni lokal chaqiruvini bajaradi, perexodnikni bir qismi bo‘lib namoyon bo‘ladi. Klientli perexodnikni chaqiruv parametrlari standart ko‘rinishda qabul qiladi, lekin real protsedurani ta’siri bajarilmaydi. Buni o‘rniga perexodnik serverni qidiradi va kerakli ma’lumotlarni formatlaydi. Kommunikatsiyali kanalga xabrni jo‘natishdan oldin marshaling va serializatsiya bajariladi, qalub qiluvchi xabarni tushunish uchun nima qiladi. Undan keyin server bilan bog‘lanish o‘rnatiladi, klient blokirovka qilinadi va natijani kutadi.
Serverda kutish holatida bo‘lgan server perexodnigi ishga tushiriladi, xabar lokal protsedura parmetrida o‘zgartiradi. Server chaqiriqni uning parmetrli lokal protsedurasiga to‘g‘ridan – to‘g‘ri murojaat sifatida amalga oshiriladi. Protsedura ishining natijalari mijoz uchun uztailadigan xabarga server perexodnigi tomonidan joylashtiriladi. Mijoz tomonida xabar mijozga uning chaqiruviga javob sifatida yo‘naltirilganligi ma’lum bo‘ladi (operatsion tizim mijoz va uning perexodnigini ajratmaydi), xabar buferga tushadi, mijoz bo‘lsa, kutish xolatidan chiqadi. Uning perexodnigi natijalarni mijoz xotirasiga yozadi va asosiy dastur boshqaruviga uzatadi.
RPS modelining asosiy afzalligi shundan iboratki, mijoz ham, server ham chaqiriqning uzoqlashtirilganligi haqida bilmaydi.
Uzoqlashtirilgan protsedura lokalizatsiya qilingan server bilan aloqa o‘rnatish mijoz ushbu server bilan uzoqlashtirilgan protseduraga murojaat maqsadida lokal bog‘lanishni yaratish vositasidagi jarayon. Bog‘lanish statik yoki dinamik bo‘lishi mumkin. Statik bog‘lanishda protsedura joylashtrilgan server haqidagi axborot to‘hridan – to‘g‘ri mijoz dasturida kodlanadi. Bular IP manzil va port nomeri, Ethernet manzili, X.500 manzili va boshqalar bo‘lishi mumkin. Statik bog‘lanishning afzalligi soddaligi va samaradorligida. Statik bog‘lanishning kamchiligi mijoz va serverning o‘ta tiqilinch aloqasi bilan ifodalanadi. Kamchilik agar server ishlamasa, mijoz ham ishga yaroqli holatda bo‘lmasa yuzaga keladi. Agar server manzilni o‘zgartirsa, mijoz yangi to‘g‘ri manzil ko‘rsatilgan yangi perexodnik bilan qayta kompilyasiya qilinishi kerak. Nihoyat, samaradorlikni oshirish uchun qo‘shimcha serverlardan foydalanish mumkin emas. Tarmoqda yuklamani muvozanatlashtirish mojoz qismini ishlab chiqish bosqichida o‘tkazilishi kerak.
Dinamikli bog‘lanishda maxsuslashtirilgan lokalizatsiya serveriga javobgarlik xizmat yaratiladi. Dinamikli bog‘lanish yangi programmali qatlamni bilvositani ko‘chirish va ishlab chiqarish hisobiga egiluvchanlikni oshirish uchun yaratadi. Bu yangi qatlam katalog va server nomi bilan nomalanadi, u protsedurani chaqiruvi deb nomlangan server manzilini qidirish uchun tayinlangan. Bu variantda klientli perexodnikni chaqiruvidan oldin katalog serverini so‘raydi va faqat shundan keyin ko‘rsatilgan serverga murojaat qiladi.
Dinamikli bog‘lanish RPS modeliga ko‘p yangi imkoniyatlarni qo‘shdi. Serverga murojaatni amalga oshirib, ulardagi yuklamani muvozanatlashtirish mumkin. Agar server o‘zining manzilini o‘zgartirsa, unga bo‘lgan murojaatlar o‘zining marshrutlarini o‘zgartirishi mumkin, bu esa sistemalar ekspluatatsiya va egiluvchanlikni qo‘shgan holda klientlar va serverlarni echib yuboradi. Ushbu egiluvchanlik qo‘shimcha infrastruktura bo‘lib, katalog serveri ko‘rinishida bo‘ladi, u bilan protokolni o‘zaro ta’siri va sodda protsedurani serverga registratsiyasi. Bog‘lanishni statistik yoki dinamik o‘tkazilayotganligini klient bilmasligi kerak.
RMI modelida parametrlarni uzatish
RMI modeli RPC modeliga qaraganda parametrlarni uzatishni tashkil etish bo‘yicha katta imkoniyatlarga ega, chunki ob’ektlarga tizimli havolalarni qo‘llaydi. Agar murojaat qilinishi kerak bo‘lgan barcha ob’ektlar taqsimlangan hisoblansa, ya’ni uzoqlashgan mashinadan kirish mumkin bo‘lsa, ularning metodlariga murojaat qilishda parametr sifatida doim ob’ektga havolalardan foydalaniladi. Havolalar qiymatlari bo‘yicha uzatiladi va bir mashinadan ikkinchisiga nushalanadi. Metodga murojaat qilish natijasi sifatida ob’ektga havola olinganda ob’ektga bog‘lanishni osongina amalga oshirish mumkin.
Murojaatning faqatgina taqsimlangan sxemalaridan foydalanilganda samaradorlikning yo‘qolishiga olib kelishi mumkin, ayniqsa, ob’ektlar oddiy bo‘lganda. (butun sonlar, logik qiymatlar). Agar mijoz ob’ekt joylashgan serverda bo‘lmasa, uning har bir murojaati turli manzil kengliklari orasida, balki, turli mashinalar orasida so‘rovlarni yuzaga keltiradi. SHuning uchun uzoqlashtirilgan va lokal ob’ektlarda havolalar bilan ishlash turlicha bo‘ladi.
Ob’ektni uzatishda havolani parametr sifatida nushalash faqatgina u uzoqlashtirilgan ob’ektga tegishli bo‘lgandagina amalga oshiriladi. Agar havola lokal ob’ektga tegishli bo‘lsa, ya’ni mijoz manzil kengligidagi ob’ektga tegishli bo‘lsa, mijozga ob’ektning o‘zi uzatiladi.
Xabar navbatlari modeli
Modelni tavsiflashda ko‘pincha “mijoz” va “server” atamalaridan foydalaniladi, ammo xabarlar almashinuvida bu farq xech bo‘lmaganda tizimli platformalar nuqtai nazaridan yo‘qoladi. “Mijoz” va “server” (“xizmatni etkazib beruvchi”) orasidagi farq amaliy xarakterga ega. Bu yuqorida keltirilgan, ob’ektlar mijozlar sifatida faoliyat yuritadigan, server sifatida faoliyat yuritadigan boshqa ob’ektlar taqdim etadigan metodlarga murojaat qiladigan o‘zaro ishlash shakli bilan kontrastiruet.
Xabar navbati modeli ko‘pgina foydali konsepsiyalar va xususiyatlar ishlab chiqiladigan asosni shakllantiradi, bir-biri bilan o‘zaro ishlashga qodir ilovalarni ishlab chiqishni soddalashtiradi va xatoli holatlar va tizim ishdan chiqishini boshqarish uchun qo‘llab quvvatlashni taqdim etadi. Bunday konsepsiyalar orasida nisbatan muhim abstraksiyalardan biri “xabar navbati” abstraksiyasi hisoblanadi.
Xabar navbati tizimi asosida yotuvchi asosiy g‘oya shundan iboratki, ilovalar bir-birlari bilan xabarlarni maxsus navbatlarga joylashtirish yo‘li bilan aloqada bo‘ladilar. Odatda navbatlar nomlari bo‘yicha identifikatsiya qilinadi, odatda ular ma’lum qabul qiluvchi bilan bog‘langan. Bu xabarlar kommunikatsion serverlar zanjiri bo‘ylab uzatiladi, va oxir oqibat xatto qabul qiluvchi uzatish vaqtida faol bo‘lmagan holatda ham belgilangan joyga etkaziladi. Qabul qiluvchi yangi xabarni qayta ishlash uchun bo‘shagan vaqtda MOM tizimlari kerakli funksiyasiga murojaat qiladi va navbatdan birinchi xabarni oladi (2.16-rasm). Navbat faqatgina u bog‘langan ilova tomonidan o‘qilishi mumkin, bunda bir necha ilovalar bitta navbatda birgalikda foydalanishlari mumkin.
Xabar nabvati tizimlarida muhim narsa shuki, uzatuvchi odatda xabarni faqatgina qabul qiluvchining navbatiga tushishini kafolatlaydi, uning tushish vaqtini kafolatlamaydi. Xabar qabul qiluvchi tomonidan o‘qilishi va qayta ishlanishi haqida ham biron kafolat berilmaydi, bu qabul qiluvchining o‘ziga bog‘liq bo‘ladi. Xabar navbatga tushgandan so‘ng uning uzatuvchisi faol yoki nofaolligidan qat’iy nazar nabvatda o‘chirilgunga qadar qoladi.
Xabarlar to‘g‘ri manzillangan bo‘lishi shart va ixtiyoriy ma’lumotlarni o‘z ichiga oladi. Odatda manzillash xabar jo‘natilgan navbatning unikal tizimli nomini ko‘rsatish yo‘li bilan amalga oshiriladi. Ba’zi holatlarda xabar o‘lchami cheklangan bo‘lishi mumkin, ammo bazaviy tizim katta xabarlarni kichik qismlarga bo‘lishi va bo‘lingan qismlarni bitta butun qilib qayta yig‘ishni ilova uchun mutlaqo shaffof tarzda amalga oshirishi mumkin.
Ko‘pgina xabar navbati tizimlari teskari aloqa funksiyasi deskriptorini qo‘yish jarayonini qo‘llaydi, bu xabar navbatga tushgan holda avtomatik amalga oshiriladi. Teskari aloqa (server mijozni chaqiradi) agar dastlab bu jarayon amalga oshirilmagan bo‘lsa, xabarlarni navbatdan olish jarayonini avtomatik ishga tushirish uchun foydalaniladi.
Xabar uzatuvchisi va qabul qiluvchisining zaif aloqasi ko‘pgina afzalliklarga ega. Qabul qiluvchilar xabarni qayta ishlash momentini tanlashda to‘liq erkinlikka egalar. Xabarni navbatdan olish qabul qiluvchi ularni qayta ishlashi kerak bo‘lgan vaqtda amalga oshiriladi. Buning natijasida navbat tizimlari tizimning ishdan chiqishida barqaror bo‘ladi, chunki, ulardan xabarni uzatish vaqtida ishga yaroqlilikni qo‘llab quvvatlash talab etilmaydi. Agar ilova o‘chirilgan bo‘lsa yoki xabarni qabul qilish imkoniyatiga ega bo‘lmasa, xabarlar navbatda yig‘ilib boradi, ilova ishga tushgandan so‘ng xabarlar manzillari bo‘yicha etkaziladi.

Download 411,5 Kb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish