comdata - dis.org.rs

30
ComData Software Solution Provider Jakša Okiljević Osnovani 1992 www.comdata.rs

Upload: others

Post on 03-Oct-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ComData - dis.org.rs

ComDataSoftware Solution Provider

Jakša Okiljević

Osnovani 1992

www.comdata.rs

Page 2: ComData - dis.org.rs

PredictIT – PREDICTIVE MAINTENANCE SYSTEM

By ComData

❖PredictIT je sistem za predikciju kvara elektromotora

❖Uključuje IoT, Kriptovalute, BigData, AI i mobilne tehnologije

Page 3: ComData - dis.org.rs

Kako se Predictive maintenence sistem uklapa u

pametne gradove?

❖Arhitektura, infrastruktura i spektar tehnologija

❖ Široka moućnost primene u servisiranju uređaja pametnog grada (liftovi, parking rampe, sigurnosna vrata itd.)

❖Ovim se postiže smanjenje troškova i downtime-a, povećanje bezbednosti

Page 4: ComData - dis.org.rs

Arhitektura sistema❖ Elementi sistema:❖ Uređaji šalju podatke na IOTA-u

❖ IoT Hub prihvata podatke sa IOTA-e

❖ Pomoću Kafke se podaci distribuiraju ostatku sistema

❖ Hadoop se koristi za distribuirano skladištenje

❖ Spark se koristi za distribuirano procesiranje

❖ AI se koristi za davanje predikcija o kvarovima

❖ .Net Core REST API

❖ Mobilnu aplikaciju za prikaz

Page 5: ComData - dis.org.rs

IoT Input

❖Predictive maintenance može da se radi za bilo koji uređaj za koji mogu da se dobiju podaci sa kojima može da se obuči veštakčka inteligencija (npr. vrednosti podešenja i merenih signala)

❖Potrebno je da uređaj periodično (u ciklusima) šalje informacije o svom radu

❖Na osnovu vremenske sekvence primljenih informacija radi se predikcija

Page 6: ComData - dis.org.rs

Komunikacija sa uređajima

❖Za slanje informacija uređaji koriste IOTA kriptovalutu

Page 7: ComData - dis.org.rs

IOTA

❖ IOTA je kriptovaluta nastala za potrebe IoT-a

❖Pomoću IOTA-e uređaji mogu da razmenjuju informacije i da vrše plaćanje

❖ IOTA za cilj ima rešavanje nedostataka Blokchain-a:

❖Skalabilnost

❖Potrebu za majnerima

❖Transakcije su besplatne

Page 8: ComData - dis.org.rs

IOTA vs Blockchain

❖Blockchain predstavlja niz blokova gde svaki blok predstavlja pojedinačnu transakciju i gde svaki blok ima jednog prethodnika i jednog sledbenika

Page 9: ComData - dis.org.rs

IOTA vs Blockchain

❖Blokchain se procesira od strane nodova koji pripadaju datoj Peer2Peer mreži

Page 10: ComData - dis.org.rs

IOTA vs Blockchain

❖Da bi se blok kreirao potrebno je odraditi Proof-of-work koji dugo traje (~10 minuta za BTC)

❖Da bi se blok ubacio u lanac potrebno je imati kopiju kopletnog Blockchain-a

❖Da bi blok bio prihvaćen potreno ga je distribuirati ostaliim članovima P2P mreže koji zatim rade konfirmaciju validnosti bloka

Page 11: ComData - dis.org.rs

IOTA vs Blockchain

❖Zbog kompleksnosti ovog procesa za obradu blokova se koriste specijalizovani računari koji za usluge procesiranja dobijaju procenat vrednosti transakcije

Page 12: ComData - dis.org.rs

IOTA

❖Umesto Blokchain-a IOTA koristi Tangle(Directed Acyclic Graph)

❖Tangle čine blokovi koji predstavljaju transakcije i gde je svaki blok povezan sa dva druga bloka na takav način da ne postoje cirkularne veze

❖ Svaka veza ka bloku predstavlja potvrdu tog bloka

Page 13: ComData - dis.org.rs

IOTA - Prednosti

❖Pošto svaka transakcija potvrđuje dve druge transakcije što ima više novih transakcija to se postojeće transakcije brže verifikuju

❖Proof-of-work je brži nego kod Blockchain-a

❖Za dodavanje bloka u Tangle nije potrebna kopija celog bloka nego samo dela gde se blok dodaje

❖Zahvaljujući tome nisu neophodni specijalizovani računari pa su IOTA transakcije besplatne

Page 14: ComData - dis.org.rs

Apache Kafka

❖Sa IOTA IoT haba, informacije se prosleđuju Kafki

❖Apache Kafka je distribuirani, pub-sub sistem za razmenu poruka

❖Odlikuju ga visoka skalabilnost i otpornost na gresške

❖Podaci se particionišu i repliciraju između nodova

❖Omogućava procesiranje ogromnih količina podataka velikog broja IoT oređaja

❖Kafka radi kao klaster na jednom ili više servera

❖Podaci se obrađuju u kategorijama koje se nazivaju topici

Page 15: ComData - dis.org.rs

Kafka Klaster

❖Kafka arhitektura sadrži:

❖Producer-e – rade slanje poruka

❖Consumere – rade primanje poruka

❖Kafka brokere: zaduženi za particionisanje i distribuciju poruka

❖Zookeper – zadužen za upravljanje klasterom

Page 16: ComData - dis.org.rs

Hadoop

❖Sa Kafke podaci se prihvataju i skladište u Hadoop

❖Apache Hadoop je sistem za distribuirano skladištenje velikih količina podataka u obliku fajlova

❖Fajlovi se dele i distribuiraju u okviru klastera

Page 17: ComData - dis.org.rs

Hadoop

❖Hadoop klaster se sastoji od:

❖ NameNoda: master noda koji vodi računa o tome kako su podaci distribuirani

❖DataNoda: slave node koji skladišti podatke

❖Secondary NameNoda: zadužen za backup podataka NameNoda

Page 18: ComData - dis.org.rs

Parquet fajlovi

❖Podaci koje uređaji šalju se čuvaju na Hadoopu u obliku Parquet fajlova

❖Apache Parquet fajlovi su mehanizam za skladištenje podataka organizovanih u kolone.

❖Ovaj format omogućava kreiranje šema podataka sličnih SQL tabelama i čuvanje podataka u tako definisanom obliku

❖Podaci u Parquet fajlovima se ne čuvaju u jednom fajlu nego su podeljeni u više fajlova i tako distribuirani u okviru Hadoop fajl sistema

❖Na ovaj način Parquet fajlovi omogućuju skladištenje i upite nad velikim količinama distribuiranih podataka

Page 19: ComData - dis.org.rs

MapReduce

❖MapReduce je famework koji Hadoop koristi za distribuirano procesiranje podataka

❖Princip je da se podaci podele, da se operacija izvrši nad svakim delom podataka u paraleli i da se dobije kumulativni rezultat

❖Nedostatak MapRaduce-a je što se svi podaci čuvaju na HDD-u i svi međurezultati se takođe skladište na disk

❖Zbog ovoga MapRaduce i Hadoop nisu pogodni za Real-Time procesiranje i veštačku inteligenciju

Page 20: ComData - dis.org.rs

Spark

❖Za procesiranje podataka unutar Hadoopa koristimo Spark

❖Apache Spark je famework za distribuirano procesiranje podataka nastao kao odgovor na nedostatke MapReduce-a

❖Omogućava paralelno procesiranje nad celim klasterom obezbeđujući otpornost na greške

❖Osnova Sparka su Resilient Distributed Datasets (RDD)

❖RDD-evi predstavljaju read-only multiset podataka distribuiranih i repliciranih unutar klastera

❖Spark svo procesiranje obavlja in-memory pa je pogodan za Real-Time sisteme i AI

Page 21: ComData - dis.org.rs

YARN

❖Pored toga što zahteva distribuirani fajl sistem, Sparku je potreban cluster/resource manager

❖Hadoop YARN (Yet Another Resource Negotiator) je platforma zadužena za upravljanje računarskim resursima klastera

Page 22: ComData - dis.org.rs

YARN - Komponente

❖ Klijent – Spark ili druga aplikacija koja zahteva procesiranje

❖ Resource manager - Vodi računa o resursima u klasteru i organizuje njihovu dodelu klijentskim aplikacijama

❖ Containeri – resursi dodeljeni aplikaciji

❖ Node manager – nadgleda rad kontejnera

❖ Application master – pregovara sa Resource Manager-om i izvršava klijentske procese

Page 23: ComData - dis.org.rs

Machine Learning

❖Machine learning se koristi za analizu podataka koji stižu sa uređaja

❖Python i PySpark smo iskoritili za implementaciju algoritma za predikciju

❖Procesiranje se vrši unutar Spark konteksta nad Hadoop fajl sistemom

Page 24: ComData - dis.org.rs

Algoritam za predikciju

❖Algoritam za predikciju koristi Long short-term memory (LSTM) mrežu

❖ LSTM mreže predstavljaju rekurentne veštačke neuronske mreže

❖Za razliku od standardnih feedforward mreža, LSTM mreže imaju povratne veze između neurona

❖Na ovaj način LSTM mreže mogu da obrađuju sekvence podataka i pogodne su za procesiranje vremenskih podataka

Page 25: ComData - dis.org.rs

Rezultati treninga

❖Dobijena preciznost mreže se izražava pomoću Mean Absolute Error (MAE).

❖Dobijena MAE je ~12.

❖Pošto neuronska mreža predviđa za koliko će ciklusa dati elektromotor da se pokvari očekivana greška predviđanja je +-12 ciklusa

Page 26: ComData - dis.org.rs

API

❖Za potrebe serviranja podataka o uređajima implementiran je .Net Core C# Web servis

❖Ovaj servis takođe koristi Kafku i Spark i preko Sparka može da pristupi podacima na Hadoopu

❖Klijentske aplikacije mogu da dobiju podatke na zahtev putem REST API-a ili asinhrono pretplatom na SignalR hub

❖Security i autentifikacija su obezbeđeni pomoću IdentityServer-a

Page 27: ComData - dis.org.rs

Mobilna aplikacija

❖Za potrebe prikaza podataka implementirana je iOS i Android mobilna aplikacija

❖Ona omogućava korisniku da se loginuje, pregleda i uređuje listu elektromotora, pregleda detalje o pojedinačnim motorima i prati njihovu telemetriju i predikcije

Page 28: ComData - dis.org.rs

Mobilna aplikacija

Page 29: ComData - dis.org.rs

Mobilna aplikacija

Page 30: ComData - dis.org.rs

• ComData - 27 godina iskustva u razvoju i projektovanju složenih informacionih sistema

HVALA!