Lumotlarga taqsimlangan holdagi ishlov berish texnologiyalari

MA’LUMOTLARGA TAQSIMLANGAN HOLDAGI ISHLOV BERISH
TEXNOLOGIYALARI
Xaydarov Ibroximjon Usmonalievich
Farg’ona davlat universiteti f.m.f.n
Dadajonov Xislatjon Farxodjon o’g’li
TATU Farg’ona filiali magistranti
Mirzaximov Mirzaraxim Aminjon o’g’li
Farg’ona davlat universiteti o’qituvchisi
Annotatsiya:
Ushbu maqola taqsimlangan ma'lumotlarga ishlov berish va
qayta ishlashda qo’llaniladigan texnologiyalar yaratish va ularni takomillashtirish
borasidagi olib borilayotgan tadqiqotlar tahliliga bag’ishlangan. Maqolada
ma’lumotlarga taqsimlangan holdagi ishlov berish texnologiyalari keltirilgan.
Kalit so’zlar
:
interfeys, texnologiya, server, mijoz,framework, soket
Maʼlumotlarga taqsimlangan holda ishlov berish ommalashib borishi qatorida
ushbu turdagi ishlov berishni tashkil qilishni tez va samarali amalga oshirish uchun
bir qancha texnologiyalardan foydalaniladi. Misol uchun arxitekturadan kelib chiqib
server tomonga biror dasturlash tili yordamida dasturiy taʼminot yoziladi.
Maʼlumotlarni boshqarish tizimi tanlanadi va oʻrnatiladi. Klient tomon qurilmasi 24
imkoniyatlaridan kelib chiqqan holda unga mos tilda ilova yaratiladi va ushbu ikki
tomonni oʻzaro bogʻlashda va ularni orasidagi soʻrovlarni havfsiz amalga oshirilishi
uchun ham qoʻshimcha dasrturlardan foydalaniladi. Bularni hozirda eng aktual va
koʻp tizimlarda qoʻllanilayotganlarini koʻrib chiqsak:
Dasturni server qismini yozishda Java, Node JS, Php, Ruby,Python va
boshqa server side programming language lardan birini ishlatiladi. Dastlabki
davrlarda dasturlash tilida 0dan dastur skripti yozilgan boʻlsa hozirda tayyor
Framework y
aʼni tayyor shablon va bibliotekalar yegʻindisidan foydalaniladi.
Ayniqsa u veb dasturlash sohasida keng tus olgan. Bunday yoʻl tutilishini sababi
ishlab chiqish jarayonini tezlashtirishdan iborat. Odatda koʻp Frameworklar MVC
konsepsiyasi asosida qurilgan (MVC
—Model-View-Controller). Model —
Frameworkning bu qismi MB (ma’lumotlar bazasi) ni ulash, ular bilan ishlashga
moʻljallangan. View — saytning bizga koʻrinib turadigan qismidir. Controller —
Frameworkni nazorat qiladi va chaqirilgan yoʻl boʻyicha ruxsat oladi (View, Model
va boshqa), fayllarni ulash uchun xizmat qiladi. Yaʻni buni yana ham soddaroq qilib
tushuntirilsa foydalanuvchi bergan soʻrovlari Controllerga boradi Controller u
buyruqlarni Model orqali qayta ishlab natijani foydalanuvchiga koʻrinadigan qismga
View orqali chop etadi.
Qurilmalar turli xil va ularni boshqaruvchi operatsion tizimi ham turlicha.
Dastlabki qurilmalarda asosan java dasturlash tilidan foydalanilgani sabab J2ME
texnologiyasiga mos qilib java dasturlash tilida turli ilovalar yaratilgan. Keyinchalik
Symbian, Windows Mobile, Android, iOS kabi yangi OTlar yaratilishi mijoz
qurilmalarida ishlaydigan dasturlarni ushbu OTlar qoʻllaydigan tillarda yaratishga
majbur etdi. Server hamda mjoz tomonni oʻzaro bogʻlashda ishlatiladigan bir
nechta texnologiyalar mavjud. Misol uchun soket. Soket - bu masofaviy xostlar
(ma'lum bir tarmoq muhiti orqali) yoki mahalliy jarayonlar, masalan, IPC (Inter-
Process Communication, protsesslararo aloqa) oʻrtasida ma'lumotlarni yuborish va
qabul qilish imkonini beradigan dasturiy ob'ekt. Soket (inglizcha socket - ulagich) -
jarayonlar oʻrtasida ma'lumot almashish uchun dasturiy interfeys nomi. Bunday 25
almashish jarayonida jarayonlar bitta kompyuterda ham, tarmoqqa ulangan har xil
kompyuterlarda ham amalga oshirilishi mumkin . Soket -
bu ulanishning soʻnggi
nuqtasini koʻrsatadigan mavhum ob'ekt . Soket server va mijoz uchun alohida
boʻladi. Soketlarni qoʻllanilish texnologiyasi serverga doimiy nagruzkani
kamaytiradi yani mijozdan soʻrov yuborilish paytidagini server uning soʻrovlarini
kutib turadi va tinglaydi va seans yakunlanganda soket aloqani uzadi bu esa
kanalni band boʻlib qolmasligiga yordam beradi Har bir jarayon tinglash soketini
(server soketini) yaratishi va uni operatsion tizimning ba'zi portlariga ulashi mumkin
(UNIX-da, taqsimlanmagan jarayonlar 1024 dan kam portlardan foydalana
olmaydi). Tinglash jarayoni odatda kutish davrasida boʻladi, ya'ni yangi ulanish
paydo boʻlganda u uyg'onadi. Shu bilan birga, mavjud ulanishlarni tekshirish,
operatsiya vaqtini belgilashi mumkin. Odatda, mijoz tinglovchiga aniq ulanadi,
shundan soʻng har qanday oʻqish yoki yozishni fayl tavsifi orqali u va server
oʻrtasida ma'lumotlarni uzatadi. API (Application Programming Interface) - bu
dasturlash interfeysi, dastur yaratish interfeysi. Tushunarli tilda gapiradigan
boʻlsak, API bu dasturchining hayotini soddalashtirish uchun tayyor koddir. API
dasturchi haqiqatan ham tayyor kod (masalan, funktsiyalar) yordamida dastur
yozish vazifasini osonlashtirishi uchun yaratilgan.
API butunlay maxsus boʻlishi
mumkin, komponentga xos, yoki u birgalikda ishlashni ta'minlash uchun sanoat
standarti asosida ishlab chiqilishi mumkin. Ular qoʻllab-quvvatlanadigan
funksiyalarini aniqlash uchun "soʻroq" mumkin, shunday qilib, ba'zi API, boshqalar
moʻljallangan, hujjatlashtirilgan boʻlishi kerak. Boshqa komponentlar/tizimlar faqat
API-ga tayanganligi sababli, API-ni taqdim etuvchi tizim foydalanuvchilarga ta'sir
qilmasdan ichki tafsilotlarini "orqada" oʻzgartirishi mumkin Masofaviy API-lar ishlab
chiquvchilarga masofaviy manbalarni protokollar , turli xil texnologiyalarning tili
yoki platformasidan qat'i nazar birgalikda ishlashga imkon beradigan aloqa
vositalari bilan ishlashga imkon beradi Web API -
bu aniqlangan interfeyslar boʻlib,
ular or
qali korxona va uning aktivlaridan foydalanadigan ilovalar oʻrtasida oʻzaro
bog'liqliklar boʻlib, u ham 26 xizmat koʻrsatuvchi provayderni belgilash va API
foydalanuvchilari uchun xizmat yoʻlini yoki URL-manzilini ochish uchun xizmat
koʻrsatish darajasi toʻg'risidagi shartnoma (SLA) hisoblanadi. API yondoshuvi - bu
turli xil iste'molchilarga xizmat koʻrsatadigan turli xil dasturlarga xizmatlarning
toʻplamiga dasturiy interfeysni taqdim etishda aylanadigan arxitektura
yondashuvidir.
Veb dasturlash kontekstida foydalanilganda, API odatda spetsifikatsiyalar
toʻplami sifatida aniqlanadi, masalan, Hypertext Transfer Protocol (HTTP) soʻrov
xabarlari va javob xabarlarining tuzilishini, odatda kengayadigan markalash tilida (
XML) ) yoki JavaScript Object Notation ( JSON ) formatida. Bunga misol qilib, yuk
tashish xizmatlariga buyurtma berishni osonlashtiradigan va mavjud etkazib berish
narxlarini avtomatik ravishda oʻz ichiga oladigan elektron tijoratga yoʻnaltirilgan
veb-
saytga qoʻshilishi mumkin boʻlgan yuk tashish kompaniyasining API-si boʻlishi
mumkin. Tarixan "web API" veb-
xizmat bilan deyarli sinonim boʻlib kelgan boʻlsada
, soʻnggi tendentsiya ( Web 2.0 deb nomlanuvchi)) oddiy ob'ektlarga kirish protokoli
( SOAP ) asosidagi veb-
xizmatlardan va xizmatga yoʻnaltirilgan arxitekturadan
(SOA) yanada toʻg'ridan-toʻg'ri vakillik holatiga oʻtish (REST) uslubidagi veb-
manbalar va manbalarga yoʻnaltirilgan arxitektura (ROA) tomon ketmoqda. Ushbu
tendentsiyaning bir qismi Internetga asoslangan ontologiya muhandislik
texnologiyalarini ilgari surish uchun kontseptsiyaga asoslangan Resurslarni
tavsiflash asoslariga yoʻnaltirilgan Semantik Internet harakati bilan bog'liq . Web
API-lar bir nechta API-larni mashuplar deb nomlanuvchi yangi dasturlarga
birlashtirishga imkon beradi . Ijtimoiy media makonida veb-API-lar veb-jamoalarga
jamoalar va ilovalar oʻrtasida tarkib va ma'lumot almashishni osonlashtirishga
imkon berdi. Shu tarzda, bir joyda dinamik ravishda yaratilgan tarkibni Internetdagi
koʻplab joylarga joylashtirish va yangilash mumkin. ] Masalan, Twitter’ning REST
API ishlab chiquvchilariga Twitter’ning asosiy ma'lumotlariga kirishga imkon beradi
va Search API esa dasturchilarga Twitter Search va tendentsiyalar ma'lumotlari
bilan oʻzaro ishlash usullarini ta'minlaydi.
REST
(ingliz tilidan. Representatsion State Transfer - "taqdimot holatini
uzatish") -
bu tarmoqdagi taqsimlangan ilova komponentlarining oʻzaro ta'sirining
27 me'moriy uslubi. REST - bu taqsimlangan gipermedia tizimini loyihalashda
hisobga olinadigan izchil chek
lovlar toʻplami. Ba'zi hollarda (onlayn - doʻkonlar,
qidiruv tizimlari, ma'lumotlarga asoslangan boshqa tizimlar) bu samaradorlikning
oshishiga va soddalashtirilgan arxitekturaga olib keladi. REST tizimlariga qoʻyilgan
cheklovlarga bog'liq boʻlgan arxitektura xususiyatlari: • Ishlash - tizim
komponentlarining oʻzaro ta'siri tarmoq ishlashi va foydalanuvchi nuqtai nazaridan
samaralilikning asosiy omili boʻlishi mumkin; • Koʻp sonli komponentlar va
komponentlarning oʻzaro ta'sirini ta'minlash uchun miqyoslilik. Roy Filding, HTTP
protokoli spetsifikatsiyasining asosiy mualliflaridan biri, REST arxitekturasining
kengayish darajasiga ta'sirini quyidagicha ta'riflaydi: • Birlashtirilgan interfeysning
soddaligi; • Oʻzgaruvchan ehtiyojlarni qondirish uchun tarkibiy qismlarning mumkin
boʻlgan oʻzgarishlarga ochiqligi (dastur ishlayotgan boʻlsa ham); • Xizmat
koʻrsatuvchi provayderlar uchun tizim tarkibiy qismlari orasidagi ulanishlarning
shaffofligi; • Dastur kodini kodni ma'lumotlar bilan birga koʻchirish orqali tizim
tarkibiy qismlarining imkoniyatlari; • Alohida komponentlar, ulanishlar yoki
ma'lumotlarning ishlamay qolishi holatlarida tizim darajasida xatolarga chidamlilik
bilan ifoda etilgan ishonchlilik.
Redis
(dan . Eng Masofadan lug'at server -) xotira-rezident bazasi boshqaruv
tizimi sinf NoSQL bilan ochiq manba , kabi ma'lumotlar tuzilmalari bilan ishlaydi "
tugmasi - qiymati ". U ma'lumotlar bazalari uchun ham, keshlar, xabarlar brokerlari
uchun ham qoʻllaniladi. Bu maksimal ishlash erishish qaratilgan atom
o
peratsiyalari (ming 100 haqida SET va Get soniyada soʻrovlar qilingan bir eshik-
darajali haqida da'vo Linux server [6]). C tilida yozilgan, kirish interfeyslari koʻplab
yirik dasturlash tillari uchun moʻljallangan. U ma'lumotlar bazasini tezkor xotirada
saqlaydi va doimiy saqlashni 28 (disklarda, qattiq disklarda) ta'minlash uchun
suratga olish va qayd etish mexanizmlari bilan jihozlangan. Shuningdek, u
nashriyot-
obunachi shablonida xabarchilar mexanizmini joriy etish boʻyicha
operatsiyalarni amalga oshiradi: uning yordami bilan dasturlar kanallar yaratishi,
ularga obuna boʻlishi va barcha abonentlar qabul qiladigan kanallarga xabarlarni
joylashtirishi mumkin (masalan, IRC chat). U asosiy tugunlardan bir nechta quyi
boʻg'inlarga ma'lumotni koʻpaytirishni qoʻllab-quvvatlaydi (inglizcha master - qul
replikatsiyasi). Shuningdek, u tranzaktsiyalarni va buyruqlarni paketli qayta
ishlashni (buyruqlar toʻplamini bajarish, natijalar toʻplamini olish) qoʻllab-
quvvatlaydi. Redis barcha ma'lumotlarni lug'at shaklida saqlaydi, unda kalitlar
ularning qiymatlari bilan bog'liq. Redis va boshqa ma'lumotlar omborlari oʻrtasidagi
asosiy farqlardan biri shundaki, ushbu kalitlarning qiymatlari satrlar bilan
chegaralanmaydi. Quyidagi mavhum ma'lumotlar turlari qoʻllab-quvvatlanadi:
satrlar, roʻyxatlar, toʻplamlar, xesh jadvallar, buyurtma qilingan toʻplamlar. Qiymat
ma'lumotlari turi qaysi operatsiyalar (buyruqlar) mavjudligini aniqlaydi; Birlashtirish
va farqlar toʻplami, saralash toʻplamlari kabi yuqori darajadagi operatsiyalar
q
oʻllab-quvvatlanadi. SOAP (ingliz tilidan. Simple Object Access Protocol -
ob'ektlarga kirish uchun oddiy protokol) - taqsimlangan hisoblash muhitida tuzilgan
xabarlarni almashish uchun protokol. Dastlab SOAP asosan masofaviy protsedura
qoʻng'irog'ini (RPC) amalga oshirish uchun moʻljallangan edi. Endi protokol faqat
oʻzboshimchalik bilan xabarlarni XML formatida almashish uchun ishlatiladi, va
nafaqat qoʻng'iroq qilish protseduralari uchun. Protokolning soʻnggi 1.2
versiyasining rasmiy tavsifi SOAP nomini ochmaydi. SOAP - XML-RPC
protokolining kengaytmasi. SOAP har qanday dastur sathi protokoli bilan
ishlatilishi mumkin: SMTP, FTP, HTTP, HTTPS va boshqalar. Ammo ushbu
protokollarning har biri bilan oʻzaro aloqasi alohida belgilab olinishi kerak boʻlgan
oʻziga xos xususiyatlarga ega. Koʻpincha SOAP HTTP orqali qoʻllaniladi.
|