Aikasarjadatan käsittely reunalaskennan avulla
Koivulahti, Petri (2023)
Koivulahti, Petri
2023
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023051210479
https://urn.fi/URN:NBN:fi:amk-2023051210479
Tiivistelmä
Tämä työ on kehittämistyö, jonka tavoitteena on teollisen internetin järjestelmän suunnittelu. Järjestelmän tehtävä on kerätä paikallisesti aikasarjamuotoista tietoa eri lähteistä ja käsitellä kerättyä tietoa käyttäen reunalaskentaa. Työn taustalla on tarve tuottaa järjestelmätoteutus liikkuvien ajoneuvojen IoT-reunalaskentaan. Tässä käyttökohteessa laitteet toimivat useasti vaihtuvien verkkoyhteyksien alueella ja tiedonsiirtokaista ja saatavuus on ajoittain rajoittunut. Käsitelty data lähetetään laitteelta telemetriana pilvipalvelun käyttöön.
Reunalaskennan toteutusvaihtoehdoista tutkittiin stream processing -mallia ja aikasarjatiedon käsittelyn periaatteita. Kirjallisten lähteiden pohjalta tutustuttiin seuraavien työkalujen käyttämiseen reunalaskennassa: Microsoft Stream Processing for Edge, InfluxDB, Redis TimeSeries ja eKuiper.
Rajoitetun tiedonsiirtokaistan asettamat vaatimukset on huomioitu vertailemalla erilaisten tietomuotojen ja pakkaustyökalujen tehokkuutta. Vertailussa pyrittiin selvittämään, millaisessa muodossa aikasarjadata kannattaa tallentaa ja millaista työkalua käyttää tiedon pakkaamiseen. Pakkaustyökaluista haettiin kompromissia pakkaustehokkuuden ja pakkausnopeuden välillä.
Vertailu suoritettiin käyttämällä avointa liikkuvasta ajoneuvosta kerättyä tietoa. Lähdetieto sisälsi sijaintitiedon, kiihtyvyystiedot (lineaarikiihtyvyys ja kiertonopeus), sekä erilaisia OBD-mittausarvoja. Sijainti- ja kiihtyvyystietojen näytteenottotaajuus on 10-kertainen OBD-mittauksiin nähden. Lähdetieto muutettiin binääri-, BSON-, CBOR-, CSV-, JSON-, SQLite- ja XML-muotoiseksi telemetriamuodoksi. Lisäksi tutkittiin Apache Avro -tietomuodon käyttämistä. Tietomuodot pakattiin GZip-, BZip2-, Zstandard-, XZ-, LZ4- ja Brotli-työkaluilla käyttäen kahta esiasetusta: nopea pakkaus ja tehokas pakkaus. Pakatuista tietomuodoista mitattiin pakatun tiedoston koko ja pakkausnopeus. Mittaukset suoritettiin reunalaskentalaitteen referenssialustalla, joka oli Raspberry Pi 3B+.
Tutkimuksen lopputuloksena telemetriatieto kannattaa kirjoittaa Apache Avro -tietomuotoon tiedoston koon näkökulmasta. Pakkaustyökaluista paras kompromissi pakkaustehokkuuden ja nopeuden välillä on käyttää joko Gzip-, Zstd- tai Brotli-työkalua telemetrian pakkaukseen.
Reunalaskennan toteutusvaihtoehdoista tutkittiin stream processing -mallia ja aikasarjatiedon käsittelyn periaatteita. Kirjallisten lähteiden pohjalta tutustuttiin seuraavien työkalujen käyttämiseen reunalaskennassa: Microsoft Stream Processing for Edge, InfluxDB, Redis TimeSeries ja eKuiper.
Rajoitetun tiedonsiirtokaistan asettamat vaatimukset on huomioitu vertailemalla erilaisten tietomuotojen ja pakkaustyökalujen tehokkuutta. Vertailussa pyrittiin selvittämään, millaisessa muodossa aikasarjadata kannattaa tallentaa ja millaista työkalua käyttää tiedon pakkaamiseen. Pakkaustyökaluista haettiin kompromissia pakkaustehokkuuden ja pakkausnopeuden välillä.
Vertailu suoritettiin käyttämällä avointa liikkuvasta ajoneuvosta kerättyä tietoa. Lähdetieto sisälsi sijaintitiedon, kiihtyvyystiedot (lineaarikiihtyvyys ja kiertonopeus), sekä erilaisia OBD-mittausarvoja. Sijainti- ja kiihtyvyystietojen näytteenottotaajuus on 10-kertainen OBD-mittauksiin nähden. Lähdetieto muutettiin binääri-, BSON-, CBOR-, CSV-, JSON-, SQLite- ja XML-muotoiseksi telemetriamuodoksi. Lisäksi tutkittiin Apache Avro -tietomuodon käyttämistä. Tietomuodot pakattiin GZip-, BZip2-, Zstandard-, XZ-, LZ4- ja Brotli-työkaluilla käyttäen kahta esiasetusta: nopea pakkaus ja tehokas pakkaus. Pakatuista tietomuodoista mitattiin pakatun tiedoston koko ja pakkausnopeus. Mittaukset suoritettiin reunalaskentalaitteen referenssialustalla, joka oli Raspberry Pi 3B+.
Tutkimuksen lopputuloksena telemetriatieto kannattaa kirjoittaa Apache Avro -tietomuotoon tiedoston koon näkökulmasta. Pakkaustyökaluista paras kompromissi pakkaustehokkuuden ja nopeuden välillä on käyttää joko Gzip-, Zstd- tai Brotli-työkalua telemetrian pakkaukseen.