Klusterlagring samt visualisering av data från IoT-objekt

Detta är en Kandidat-uppsats från Linköpings universitet/Institutionen för datavetenskap

Sammanfattning: Följande rapport beskriver hur ett system för klusterlagring samt visualisering av geografisk data utvecklades för kursen TDDD96 - Kandidatprojekt i mjukvaruutveckling. Produkten utvecklades på begäran av kunden Ubiquitous Computing and Analytics Group vid Institutionen för datavetenskap på LiU. Produkten som skapades består i stora drag av tre huvudsystem: dataflödet som tar emot data och transporterar till de andra två systemen, en distribuerad datalagring och en visualisering som presenterar mottagen data på ett behändigt sätt. I teorin beskriver rapporten främst de ingående teknologier som användes för att bygga produkten och hur dessa fungerar. Detta täcker bland annat Apache NiFi och Apache Kafka för dataflöde, Apache Ignite för distribuerad datalagring samt CesiumJS för visualisering. Där beskrivs också de ramverk som användes för samarbete i gruppen, Kanban och Scrum. Metoden täcker hur arbetet organiserats; hur kommunikation med externa parter skett, vilka dokument som skulle produceras samt deras syfte och även hur ansvar och uppgifter fördelats i gruppen. Det täcker också en mer teknisk del av arbetet: hur testning skulle utföras samt hur gruppen skulle använda sig av Git för versionshantering. Tre stora slutsatser nås. Först kommer rapporten presentera hur produkten skapar värde för kunden genom att beskriva de egenskaper kunden önskade att systemet skulle ha och hur dessa uppfylls. Sedan presenteras de lärdomar som kunde dras från projektet med stort fokus på komplexiteten att arbeta mot en extern kund och vad gruppen har lärt sig om det. Slutligen besvaras hur passande klusterlagring är för lagring och processering av stora mängder data. Slutsatsen blev att det passar väldigt bra på grund av dess kapacitet till parallella beräkningar. Till sist följer sju individuella delar där varje gruppmedlem har tagit en viss del av projektet som gruppmedlemmarna forskat vidare på. Agaton Sjöberg undersökte hur begreppet big data relaterar till den produkt som skapats i projektet samt dess applikationer. Erik Matti skapade en överblick på Apache NiFi och Apache Kafka som datakommunikationssystem. Joakim Elgh undersökte möjliga attackytor i projektgruppens distribuerade lagring och hur de kan åtgärdas. Joakim Forsberg jämförde Node.js med python som grund för en backend i en server. Oliver Johns undersökte skillnaderna mellan Apache Ignite och MySQL och för vilka användningsområden de passar. Rasmus Karlbäck jämförde Apache Hadoop och Apache Kafka som ramverk för distribuerad lagring. Viktor Palm undersökte CesiumJS, Leaflet och D3js som ramverk för geografisk visualisering.

  HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)