Σύστημα επεξεργασίας περιβαλλοντικών ροών δεδομένων για το Διαδίκτυο των Πραγμάτων

Το τεκμήριο παρέχεται από τον φορέα :
Δημοκρίτειο Πανεπιστήμιο Θράκης   

Αποθετήριο :
Αποθετήριο Δημοκρίτειου Πανεπιστημίου   

δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*



Σύστημα επεξεργασίας περιβαλλοντικών ροών δεδομένων για το Διαδίκτυο των Πραγμάτων

Roidos, Ioannis
Ρόιδος, Ιωάννης

Τσαουσίδης, Βασίλειος
Katsiri, Elli
Tsaoussidis, Vassilis
Αραμπατζής, Αυγερινός
Κατσίρη, Ελευθερία
Arampatzis, Avi

masterThesis

2018-11-05
2023-10-16T06:43:48Z


Εργαστήριο Προγραμματισμού και Επεξεργασίας Πληροφοριών
94 σ.
Στην παρούσα εργασία παρουσιάζεται ένας τρόπος εξαγωγής δεδομένων (data extraction) ακατέργαστης (raw) μορφής από μία ροή δεδομένων (data stream) με σκοπό την επεξεργασία, μορφοποίηση και ανάλυσή τους ώστε να μπορέσει η πληροφορία που προκύπτει να γίνει εύκολα διαχειρίσιμη σε μετέπειτα εφαρμογές, όπως το διαδίκτυο των πραγμάτων (Internet of Things, IoT). Συγκεκριμένα επιλέχθηκε το SensorBee ως το πακέτο λογισμικού ανάλυσης δεδομένων και το Twitter ως η πηγή δεδομένων. Το SensorBee αποτελεί μία ανοιχτού κώδικα (open source) μηχανή επεξεργασίας ροών δεδομένων για το διαδίκτυο των πραγμάτων η οποία διατηρεί αρχείο των αλληλεπιδράσεων (stateful application) και χαρακτηρίζεται από χαμηλές απαιτήσεις σε υπολογιστικούς πόρους. Το SensorBee είναι σχεδιασμένο για χρήση σε ETL ροές (Extract/Transform/Load streaming) στο άκρο του δικτύου και συνηθέστερα τοπικά στη διάταξη, για την επίτευξη καλύτερης απόδοσης και απόκρισης των αποτελεσμάτων της επεξεργασίας δεδομένων. Στις ETL λειτουργίες, το SensorBee επικεντρώνεται κυρίως στη μετατροπή και στον εμπλουτισμό των δεδομένων, ιδιαίτερα με χρήση τεχνικών μηχανικής μάθησης (machine learning). Το SensorBee απαιτεί ελάχιστο όγκο σε μνήμη για τη λειτουργία του και μπορεί να τρέξει σε μικρούς υπολογιστές όπως το Raspberry Pi. Για την εξοικείωση με τις εντολές και τον τρόπο διαχείρισης του SensorBee ακολουθήσαμε τα βήματα που περιγράφονται στον οδηγό (tutorial) που συμπεριλαμβάνεται στο αντίστοιχο εγχειρίδιο (documentation) του λογισμικού. Όπως διαπιστώθηκε στην πορεία, η διαδικασία εγκατάστασης του SensorBee είναι ιδιαίτερα περίπλοκη και χρονοβόρα, καθώς στηρίζεται σε πολλά άλλα λογισμικά και γλώσσες προγραμματισμού (dependences), τα οποία θα πρέπει να εγκατασταθούν με τον κατάλληλο τρόπο για να επιτευχθεί με ορθή η λειτουργία του τελικού πακέτου. Καθώς ο οδηγός που παρέχεται στο εγχειρίδιο δεν περιγράφει τις διαδικασίες εγκατάστασης με αναλυτικό και σαφή τρόπο, θεωρήθηκε ότι θα ήταν χρήσιμο και για μελλοντικές εξελίξεις της παρούσας εργασίας, να παρέχουμε ένα κεφάλαιο όπου παρουσιάζεται αναλυτικά και με ξεκάθαρο τρόπο όλη η διαδικασία εγκατάστασης των προαπαιτούμενων λογισμικών. Έπειτα συνεχίσαμε με την υλοποίηση ενός παραδείγματος το οποίο διαχειρίζεται δημοσιεύσεις από μία τεχνητή ροή δεδομένων και εκτελεί μετρήσεις σχετικά με το 2 ρυθμό εμφάνισης μεμονωμένων λέξεων. Το παράδειγμά αυτό αναγράφεται ως “Word Count” στον οδηγό και παρέχει ουσιαστικά μία πρώτη επαφή με τις εντολές λειτουργίας του SensorBee και τη γλώσσα BQL, η οποία αποτελεί μία αντιστοιχία της SQL που χρησιμοποιείται σε βάσεις δεδομένων, αλλά με εφαρμογή σε ροές δεδομένων. Το Word Count παράδειγμα, πέραν της μέτρησης του ρυθμού εμφάνισης της εκάστοτε λέξης της ροής, έχει τη δυνατότητα παροχής και άλλων χρήσιμων μετρικών και υπολογισμών για ανάλυση των αποτελεσμάτων των queries, χρήση των οποίων γίνεται στη συνέχεια της εργασίας όταν συμπεριλαμβάνεται και το Twitter API. Επίσης, το συγκεκριμένο παράδειγμα μας εισάγει στην έννοια των User-Defined Streamgenerating Functions (UDSF), οι οποίες γράφονται στη γλώσσα προγραμματισμού Go και απαιτείται να αναπτύξουμε σε μετέπειτα στάδιο της εργασίας μας για την καλύτερη διαχείριση των tweets. Στη συνέχεια παρουσιάζεται ένα παράδειγμα χρήσης τεχνικών μηχανικής μάθησης (machine learning) στο SensorBee. Το SensorBee ανακτά tweets γραμμένα στα αγγλικά από την ελεύθερης πρόσβασης ροή (public stream) του Twitter χρησιμοποιώντας το Sample API του Twitter. Έπειτα προσθέτουμε δύο πεδία σε κάθε tweet: την ηλικία και το φύλο. Έτσι τα tweets περνούν μία διαδικασία επεξεργασίας μέσω μηχανικής μάθησης για να ταξινομηθούν κατάλληλα. Επίσης χρησιμοποιείται και το λογισμικό Kibana, το οποίο βασίζεται στο Elasticsearch, διαμέσου φυλλομετρητή (browser), για τη γραφική απεικόνιση στατιστικών αποτελεσμάτων. Τέλος, έχοντας πια εγκαταστήσει όλα τα απαραίτητα πακέτα λογισμικών και έχοντας συνδέσει το SensorBee με το Twitter, είμαστε σε θέση να εκτελέσουμε ανάλυση δεδομένων για να εξορύξουμε πληροφορίες περιβαλλοντικού περιεχομένου από Tweets. Έχοντας αναπτύξει τον κατάλληλο κώδικα, ο οποίος ουσιαστικά αποτελεί συνδυασμό των τεχνικών των δύο προαναφερθέντων παραδειγμάτων, εκτελέσαμε κατάλληλες διαδικασίες μετρήσεων και φιλτραρίσματος της ροής δεδομένων για να εξάγουμε πληροφορίες περιβαλλοντικού περιεχομένου, στοχεύοντας στην εύρεση συγκεκριμένων λέξεων κλειδιών που θεωρήσαμε ότι θα δώσουν τα καλύτερα και ευστοχότερα αποτελέσματα.


Επεξεργασία δεδομένων
SensorBee Open Source Stream Processing Engine
Data processing
Twitter
Εξαγωγή δεδομένων
SensorBee Mηχανή Επεξεργασίας Ροής Ανοιχτού Κώδικα
Internet of Things
Data extraction

Ελληνική γλώσσα

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Λογισμικού και Ανάπτυξης Εφαρμογών
duth


http://creativecommons.org/licenses/by-nc-nd/3.0/us/
Attribution-NonCommercial-NoDerivs 3.0 United States
free




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.