Šio magistrinio darbo tikslas yra teoriškai ir praktiškai išnagrinėti kaip ir kokius žinomus užklausų srautų aptarnavimo sprendimo būdus galima realizuoti JAVA programavimo kalbos priemonėmis. Darbo metu iškeltus uždavinius sudaro konkurentiškumą valdančių modelių išnagrinėjimas, jų realizavimo JAVA programavimo kalbos priemonėmis analizė, realiai veikiančių komponentų sumodeliavimas ir sukūrimas, sukurtų konkurentiškumą valdančių komponentų tyrimas, išvadų bei rekomendacijų pateikimas siekiant perteikti darbo metu įgytas žinias kaip galima parametrizuoti užklausų srautų aptarnavimo komponentą užtikrinant optimalų išteklių panaudojimo, pralaidumo bei uždelsimo balansą. Darbo metu buvo nagrinėjami dviejų tipų konkurentiškumą valdantys modeliai, t.y. gijos pagrindu bei du įvykių išskyrimo ir reagavimo pagrindu realizuoti modeliai, kur pastarieji du buvo suprojektuoti atsižvelgiant į Douglas Schmidto siūlomas reaktoriaus ir proaktoriaus projektavimo schemas. Išanalizavus JAVA programavimo kalbos galimybes, paaiškėjo, kad visus modelius galima kuo puikiausiai sumodeliuoti ir realizuoti panaudojant sinchroninį besiblokuojantį įvedimo ir išvedimo posistemį, sinchroninį nesiblokuojantį įvedimo ir išvedimo posistemį (NIO) ir asinchroninį įvedimo ir išvedimo posistemį (AIO4J). Minėtas aukščiau konkurentiškumą valdantis komponentas buvo realiai panaudotas ir išbandytas sukurtame supaprastintame HTTP serveryje, kaip komponentas atsakingas už ryšio užmezgimą bei užklausų apdorojimą... [toliau žr. visą tekstą] / The purpose of this master thesis is to analyze how many of known solutions for request stream handling can be implemented in JAVA programming language. Also, in addition to it, this master thesis analyzes the way those solutions can be implemented using JAVA programming language. There are defined tasks to investigate in the scope of this thesis, which include following: exploration of well known concurrency managing models; analysis of their implementation possibilities in JAVA by designing and creating real working components; their implementation workflow research under various stress loaded conditions and, finally, supply recommendations for optimal parameterization for mentioned component to gain the best possible balance of resource utilization, throughput and latency. There were analyzed basically two types of concurrency managing models in this work, i.e. thread based and two models based on event notification principle, designed using Douglas Schmidt reactor and proactor design patterns. During exploration of JAVA programming language possibilities to implement above mentioned models a special attention was paid to the new input/output system (NIO) which provides synchronous non-blocking input/output operations, whereas to process operations asynchronously there was explored asynchronous execution of input/output operations by using JAVA non-native external AIO4J library created by IBM corporation. In order to perform stress and performance benchmarks for created... [to full text]
Identifer | oai:union.ndltd.org:LABT_ETD/oai:elaba.lt:LT-eLABa-0001:E.02~2006~D_20140702_194712-55557 |
Date | 02 July 2014 |
Creators | Blaževič, Pavel |
Contributors | Plukas, Mindaugas, Vilnius University |
Publisher | Lithuanian Academic Libraries Network (LABT), Vilnius University |
Source Sets | Lithuanian ETD submission system |
Language | Lithuanian |
Detected Language | English |
Type | Master thesis |
Format | application/pdf |
Source | http://vddb.library.lt/obj/LT-eLABa-0001:E.02~2006~D_20140702_194712-55557 |
Rights | Unrestricted |
Page generated in 0.0018 seconds