comdata - dis.org.rs
TRANSCRIPT
![Page 1: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/1.jpg)
ComDataSoftware Solution Provider
Jakša Okiljević
Osnovani 1992
www.comdata.rs
![Page 2: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/6.jpg)
Komunikacija sa uređajima
❖Za slanje informacija uređaji koriste IOTA kriptovalutu
![Page 7: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/9.jpg)
IOTA vs Blockchain
❖Blokchain se procesira od strane nodova koji pripadaju datoj Peer2Peer mreži
![Page 10: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/28.jpg)
Mobilna aplikacija
![Page 29: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/29.jpg)
Mobilna aplikacija
![Page 30: ComData - dis.org.rs](https://reader031.vdocuments.mx/reader031/viewer/2022012014/6159128aab41aa7f2525d512/html5/thumbnails/30.jpg)
• ComData - 27 godina iskustva u razvoju i projektovanju složenih informacionih sistema
HVALA!