Дипломна работа

Софтуерно Решение за Визуален Анализ на Големи Данни за качеството на Въздуха | Защитена на: 01/01/1900

“Софтуерно Решение за Визуален Анализ на Големи Данни за качеството на Въздуха”

 

Магистърска Теза



Абстракт

Стефан Стефанов Байчев

Ф.№: M24170



Софтуерно Решение за Визуален Анализ на Големи Данни за качеството на Въздуха

 

Ключови думи: качество на въздуха, ФПЧ, големи данни, визуализация, визуален анализ, аналитичност, данни, технологии, софтуерно решение, среда, предметна област.

Онлайн Достъп до файла: https://drive.google.com/file/d/0ByhU_-W9z_eSdlVHdEtoUjNtSGdkYlc0NFZQNGIzX01qbGdR/view?usp=sharing

Целта на тази магистърска дипломна работа “Софтуерно Решение за Визуален Анализ на  Големи Данни за качеството на Въздуха”, е да се разработи многократно използваемо софтуерно решение с оптимална архитектура, което да има положителна добавена полезна стойност за предметната област на Качеството на въздуха посредством използването на Визуално Аналитични Големи Данни.

Дипломната работа се състои от седем глави, всяка от които отразява различни аспекти от реализацията на приложението. В случая, обосноваване на основни познания в научната област, в последствие задълбочаване в разбиранията относно техническата теоретична и конкретна такава специфика, а накрая представяне и разясняване на програмното осъществяване със съответния визуален анализ.

 

Глава 1. Увод

Глава Първа, сa представени факти и познания качеството на въздуха посредством разглеждане на известни и общо-достъпни научни/ държавни и други информационни източници на познание за предметната област.

 

Глава 2. Преглед на домейна за качество на въздуха и технически спецификации.

Overview of the Air Quality Domain and Technical Specifications.

Глава Втора е предоставена, задълбочена аналитична част на съществуващи вече решения в предметната област, които са общо-достъпни софтуерни аналитични решения за качеството на въздуха. Разгледани са, наличните общо-достъпни софтуерни решения са:     1) Airtube, https://airtube.info и неговата версия за България AirBg, https://airbg.info ; 2) Европейската Агенция по Околната Среда, която предоставя набор от текстови и визуални инструменти за достъп до данни, http://www.discomap.eea.europa.eu ;                               3) Българската Агенция по Околната Среда и Водите, http://eea.government.bg/airq/ .

В допълнение са представени факторите и физични количествени/ качествени субстанции, дефиниращи качеството на въздуха, като набор от такива които са основен тип данни събирани и анализирани за целта на магистърската теза спрямо предметната област. Това са Фини Прахови Частици с размер 2.5 и 10 микрометъра (ФПЧ10 - Средно Дневна Норма - 50 мкг/м3, да не бъде превишавана повече от 35 пъти годишно; - Средно Годишна Норма - 40 мкг/м3; ФПЧ 2.5 Средно Годишна Норма - 25 мкг/м3), температура и атмосферно налягане.

Положени са основите на технологичната обосновка и анализ относно използваните абстракции като Големи Данни, Визуален Анализ, и други свързани концепции и общия им характер спрямо конкретиката в предметната област.

Зададена е и структурата на цялостната теза и са поставени основите за по-нататъшното разбиране на софтуерното решение като такова в неговата цялост като технологично решение с етапи на разработка и други дадености специфични за крайното осъществяване. 

 

Глава 3. Имплементационни технологии и други методологии за ноу-хау.

Implementation Technologies Used and Other Know-How Methodologies.

Глава Трета, има основна цел да анализира и изследва начините и способите в предметната област, относно анализа на различните възможни типове данни, техният смисъл и приложение, методологии за визуално аналитично приложение и техническата специфика за избор на софтуерно осъществяване. Зададени са качествените/ количествени критерии при избор на горе-споменатите. Съответно се обосновават функционалните и нефункционални характеристики и причините за тяхното избиране. Конкретно, се задават примери и задълбочени анализи на различните възможни за избор методологии за анализ на големи данни спрямо типът, задават се визуално-аналитични съпоставки с примери, а и такива за различните технологии за избор спрямо посочените вече нужди. В последствие се прави подбор на изброените, като се задава конкретна добре обоснована причина за направеният избор. 

За методология на анализ се избира Статистически способ, за интерпретация на предметната област се избира тази предоставена от “Българската Агенция по Околна Среда и Водите”, а избраните набор от технологии са характеризирани (пълен списък е предоставен на последната страница на този документ).

 Основният фокус е върху практическото в дългосрочен план приложение на софтуерното решение спрямо нуждите за визуално аналитични способи за анализ на големи данни за качеството на въздуха. 

Глава 4. Анализ.

Глава Четвърта разяснява основните съпоставки и разбирания относно софтуерното решение като модел и начин на работа. Предоставя описание на начина по който функционалните и не-функционални критерии биват осъществени в зададените им дефиниции, спрямо основно нужната цялост да подкрепят едни други дефинираните си операционни нужди. Тези разяснения имат за цел да предоставят допълнителна информация за това как всеки един от компонентите е осъществен от гледна точка на своята работа като набор от изпълними операции спрямо цялостните информационен модел от който принадлежи. Зададени са в разширен формат, начина на работа на софтуерното решение и неговите компоненти, с оглед на очакваният начин за работа и основен такъв работен процес в предметната област.

Глава 5. Дизайн.

Глава Пета, съдържа както по-детайлно, така и в даден аспект по-абстрактно представяне на софтуерното решение като функционална работна единица. Предоставени са визуални-графични и текстови анализи на архитектурата и дизайна на програмно-осъществените компоненти. Дискутира се начина по които данните се моделират и комуникират като информационни потоци, а също и защо дадени софтуерни/ системни решения са взети/ направени. Биват разглеждани, слой по слой програмните единици, като се задават в подробен фактологичен постъпков вид тяхното осъществяване и практично онагледяване с цел крайно потребителско разбиране. Основната цел е бъде показано от различен и детайлно подробен вид софтуерното решение вземайки предвид практическата насоченост като употреба с възможност за лесен способ за ползване. 

 

Глава 6. Имплементиране на решения и дефиниране на случаи на употреба.

Solution Implementation and Use Cases Definition.

Глава Шеста, разглежда начина, по който досега предоставените абстракции и информационни потоци по слоеве, са осъществени в разпределена среда за изпълнение. Разглеждат се по какъв начин всеки един от софтуерните компоненти имайки своят способ на работа, осъществява изпълнението на задачите си от гледна точка на предметната област и приложната тематика - Визуален Анализ на Големи Данни за Качеството на Въздуха. Описван е технологично начина, по който информационният поток е функционално изпълнен. Това описание включва визуални извадки на програмен код и конфигурации, които в детайли са описани спрямо нуждите и спецификите на предметната област, а и системната комплектованост на всеки компонент като цялостно крайно софтуерно решение. Предоставени са хардуерни и софтуерни предпоставки нужни за системната интеграция. Осъществено е цялостно разяснение на основните начини за употреба и поддръжка на всеки един от компонентите с идея за приложно и функционално разбиране на реализираното решение. Относно Визуално Аналитичната част, са показани, подробно обяснени и анализирани в детайли примерни Статистически обосновани Визуални модели за Анализ на Големи Данни за Качеството на въздуха. В тази глава се показват осъществени дефинираните и избрани в глава Трета, критерии за Визуално-Аналитично приложение на данните от предметната област.  

 

Глава 7. Обобщение.

Глава Седма, обобщава резултатите от дипломната работа. Посочени са смисловите нужди на предметната област по отношение на събирането на данни за замърсители на въздуха и тяхната релация в модел за визуално аналитичен способ за намиране на връзки/ отношение в потока от големи данни. Направена е детайлна обосновка показваща изначално дефинираните цели на тезата, спрямо осъществените такива и цялостната взаимовръзка на всеки един аналитично дефиниран елемент за осъществяване на софтуерното решение в полза на предметната област. Като логичен завършек на практичната насоченост, дискутирано бъдещето развитие/ поддръжка на софтуерното решение. Посочват се конкретни примери и насоки за развитие имайки предвид визуално аналитичния характер, спецификите на големите данни и други технологически решения имащи идея да подобрят работата на решението и неговата използваемост като инструмент за Визуална Аналитичност на Качеството на Въздуха. 

 

Използван Набор от Технологии: Apache Spark, Docker, Elastic Search, Kibana/ Grafana, Apache Maven, Git, Java 8 | Scala SDK, curl, scripting, IntelliJ Idea CE IDE.

 

  • Apache Spark - Основното предназначение зададено от разработчиците на тази технология е като платформа за дистрибутирана и резистентна обработка на големи данни в оперативната памет. Използва се за консумация/ индексиране в паметта на големите данни, конкретно .csv файла, с данни за една година за качеството на въздуха от станции предаващи поне един път на ден и намиращи се в България. Данните биват първоначално взети в суров вид, ред по ред от файл, и само тези коректно отговарящи на тип по файловото поле се запаметяват. Впоследствие, последните се използват за обработка на индексираните данни, които се агрегират само за региона на София-град. Премахват се също не принадлежащите на дадения очакван тип данни по поле спрямо модел от предметната област - изпратен единичен запис от една станция - неотговарящите данни се отказват на ниво запис в паметта. Обработените коректно данни по съответните критерии биват комуникирани с Data Store, ElasticSearch.
  • Docker - Контейнер базирано софтуерно решение, позволяващо разнородни софтуерни приложения да бъдат конфигурирани за работа и изпълнявани без значение на Операционната Система. Използва се за осигуряване еднородна операционна среда за изпълнение/ достъп до ElasticSearch и Kibana, с възможност и да предостави такава за Spark. Осигурява изпълнение на упоменатите два софтуера, тяхната дистрибутираност, преносимост и лесен конфигурационен достъп. 
  • ElasticSearch - Не-релационна база данни, Data Store, които използва search engine за допълнителна обработка и анализ на големи данни. В случая, данните изпратени от Spark, биват записани както в оперативната памет, така и на постоянната памет. Те са дистрибутирани и репликирани според настройки, които са предварително зададени. Има много лесна допълнителна настройка за организиране на достъп в клъстър за тези големи данни, според съответните нужди. 
  • Kibana/ Grafana - Използва се за визуализация и визуално аналитични дейности в предметната област за качеството на въздуха. Информацията на големи данни бива захранвана от интерфейс с ElasticSearch. Притежава богат набор от визуално аналитични способи на базата на статистически и друг анализ на данни, които биват визуализирани чрез различни видове графични координатни и геолокационни/ географски карти и други.
  • Java 8 | Scala SDK - Много-целеви, обектно ориентиран език от високо ниво. Използва се за програмно осигуряване на Spark дефинирания програмен компонент, който индексира суровите големи данни, а в последствие допълнително обработва и комуникира тези данни.
  • Scripting and Curl - Помощни средства за мрежово комуникиране на информационни потоци дефиниращи се от набор от command line команди, които биват изпълнени/ интерпретирани от curl или други интерпретатори. В случая част от скрипт файловете изпълняват curl команди за комуникация - дефиниране на ElasticSearch, а други за достъп и реализиране на Docker специфични употреби за изпълнение. 
  • Apache Maven - е софтуерно решение за разрешаване на проблеми с разнородни по тип софтуерни решения и окомплектоване им в целостта си на едно пълно еднородно софтуерно решение. Осигурява компонентната зависимост и дефиниции на отделните части да бъдат събрани в един конфигурационен файл, който да задава начина за крайна използваемост като цяло на отделните софтуерни компоненти. Това е едно добро, широко използвано и доказало се вече, с добра поддръжка софтуерно решение, което всъщност е индустриален стандарт за работа.
  • Git – е дистрибутирана файлово/ кодово база осигуряваща контрол на работните версии система. Използва се в магистърската теза за локална и отдалечена/ сървърна проследяемост на програмния работен процес. В целостта си, се използва Git базираната система за съхранение и менажиране на кодовата база, наречена GitHub. Целта е да има дългосрочна проследяемост на версиите и развитието на програмното осигуряване за софтуерното решение на магистърската теза
  • InteliJ IDEA CE IDE – е общо-достъпната и безплатна версия на интегрирана работна среда за разработка на софтуер. Използва се за създаването и развитието на програмните компоненти на софтуерното решение в магистърската теза. Предлага лесен и практичен начин за изграждането на широк набор от софтуерни компоненти посредством много-образни инструменти улесняващи работния процес.

 

Използвани Големи Данни за Софтуерното Решение: https://data.airtube.info/BG/

Scroll to Top