SlideShare a Scribd company logo
Sviluppo del sistema di backoffice
e data analysis di una piattaforma
di didattica collaborativa
Relatore: Prof. Carlo BELLETTINI
Correlatore: Dott. Angelo GIUFFREDI
Laureando:
Giorgio AUDINO
Matricola 794777
Dipartimento di Informatica
WeSchool è una piattaforma di didattica collaborativa il cui
scopo è rivoluzionare la didattica fornendo ai docenti uno
strumento per aggregare le informazioni da internet con uno
spirito di collaborazione insieme agli studenti.
Lo scopo principale della collaborazione è stato:
• Fornire un accesso di alto livello e controllato ai dati di
WeSchool per consentire lettura e modifica senza
accedere direttamente alla base di dati.
• Implementare un sistema di tracciamento delle attività
effettuate all’interno della piattaforma e fornire un accesso
ai dati così salvati.
• Implementare un sistema di analisi degli eventi.
Dipartimento di Informatica
Il flusso dei TrackEvent
1. Generazione di un evento
3. Processo degli eventi sulla
coda remota
4. Salvataggio definitivo degli
eventi
2. Salvataggio in una coda
remota persistente
SERVER API WESCHOOL
CODA REMOTA (E.G. SQS/MONGODB)
SERVER BACKOFFICE WESCHOOL
COLLECTION MONGODB
SALVATAGGIO NELLA CODA REMOTA
Dipartimento di Informatica
Generazione di un evento e invio
alla coda remota
Creazione di un’istanza
della classe
Salvataggio nel buffer
interno
Flush del buffer verso la
coda remota
$event = new PostCreatedTrackEvent($post);
$eventDispatcher->dispatch($event->getName(),
$event);
$this->eventTrackCollector->push($event);
$this->eventTrackCollector->flush();
CONTROLLER
TRACKEVENTLISTENER
GENERAZIONE DI UN EVENTO
Dispaccio dell’evento
KERNELTERMINATELISTENER
Dipartimento di Informatica
Persistenza degli eventi
Prelievo degli eventi
dalla coda remota
Persistenza dell’evento
Rimozione dell’evento
dalla coda
Utilizzo di un database
NoSQL a causa di:
• Eterogeneità degli eventi
• Motore di query molto
ricco e semplice
• Velocità
Dipartimento di Informatica
Analisi degli eventi
Scopo dell’analisi:
• Fornire un sistema di aggregazione delle azioni
effettuate
• Creare una leaderboard dei docenti che utilizzano la
piattaforma per identificare gli utenti chiave
Introduzione di una nuova entità: il metagruppo.
Un metagruppo è l’insieme dei gruppi creati da un
docente
Dipartimento di Informatica
Analisi degli eventi dei metagruppi
Ogni giorno e per ciascun metagruppo calcolo di tre misure:
• Score pesato degli eventi
• Intensità del metagruppo nel dato giorno
• Potenziale del metagruppo
Pipeline di aggregazione di
MongoDB
Stage $match
Stage $group
Dipartimento di Informatica
PHP e Symfony da linea di comando
Scopo del comando: allineare la base di dati salvando
per ciascuna tupla relativa all’esecuzione di un esercizio
il voto ottenuto dall’utente calcolato on the fly fino a
questo momento.
Problema:
contenere l’utilizzo di memoria per un processo che deve
analizzare circa 10.000 tuple entro i 64MB a
disposizione, considerando che Symfony ne occupa
circa 40 per inizializzare il framework
Dipartimento di Informatica
La gestione della memoria
Limite memoria: 64MB
Memoria occupata da
Symfony: ~40MB
4 principali accorgimenti per
controllare l’utilizzo della
memoria:
Implementazione di un
sistema di paginazione
Invocazione forzata del
garbage collector di PHP
Eliminazione dei riferimenti
dell’entity manager
Disabilitazione del logger SQL $entityManager->getConnection()-
>getConfiguration()->setSQLLogger(null);
$entityManager->clear();
gc_enable();
[…]
gc_collect_cycles();
Dipartimento di Informatica
Conclusioni
Eventi di tracciamento:
• In produzione dal 15 ottobre
• 55 eventi differenti (a partire dai 42 eventi della prima
implementazione ad ottobre)
• Circa 175.000 documenti MongoDB salvati fino a oggi
Analisi degli eventi
• In produzione dal 15 maggio
• Contiene più di 17.000 documenti MongoDB per oltre 350
metagruppi diversi
Grazie per l’attenzione

More Related Content

What's hot

Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentation
MrsShwetaBanait1
 
Facial Image Analysis for age and gender and
Facial Image Analysis for age and gender andFacial Image Analysis for age and gender and
Facial Image Analysis for age and gender andYuheng Wang
 
Applications of various latest coprocessors
Applications of various latest coprocessorsApplications of various latest coprocessors
Applications of various latest coprocessors
Sejal Anand
 
How to prepare a Machine Learning Interview by Elena Smirnova
How to prepare a Machine Learning Interview by Elena SmirnovaHow to prepare a Machine Learning Interview by Elena Smirnova
How to prepare a Machine Learning Interview by Elena Smirnova
Paris Women in Machine Learning and Data Science
 
Object classification using CNN & VGG16 Model (Keras and Tensorflow)
Object classification using CNN & VGG16 Model (Keras and Tensorflow) Object classification using CNN & VGG16 Model (Keras and Tensorflow)
Object classification using CNN & VGG16 Model (Keras and Tensorflow)
Lalit Jain
 
Object Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning FrameworkObject Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning Framework
Nader Karimi
 
openCV with python
openCV with pythonopenCV with python
openCV with python
Wei-Wen Hsu
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
台灣資料科學年會
 
Introduction to Visual transformers
Introduction to Visual transformers Introduction to Visual transformers
Introduction to Visual transformers
leopauly
 
Recsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem RevisitedRecsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem Revisited
Xavier Amatriain
 
computer vision
computer vision computer vision
computer vision
RITAFARIARICHI221155
 
A thesis presentation on pothole detection
A thesis presentation on pothole detectionA thesis presentation on pothole detection
A thesis presentation on pothole detection
PrimeAsia University
 
Machine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesMachine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesRui Pedro Paiva
 
Face recognition technology
Face recognition technologyFace recognition technology
Face recognition technology
ranjit banshpal
 
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
Seonghyun Kim
 
lecun-01.ppt
lecun-01.pptlecun-01.ppt
lecun-01.ppt
VenkyChinna8
 
Multiple object detection
Multiple object detectionMultiple object detection
Multiple object detection
SAURABH KUMAR
 
Deep learning ppt
Deep learning pptDeep learning ppt
Deep learning ppt
BalneSridevi
 
Human activity recognition
Human activity recognition Human activity recognition
Human activity recognition srikanthgadam
 
Presentazione Tesi Laurea Triennale in Informatica
Presentazione Tesi Laurea Triennale in InformaticaPresentazione Tesi Laurea Triennale in Informatica
Presentazione Tesi Laurea Triennale in Informatica
Luca Marignati
 

What's hot (20)

Object tracking presentation
Object tracking  presentationObject tracking  presentation
Object tracking presentation
 
Facial Image Analysis for age and gender and
Facial Image Analysis for age and gender andFacial Image Analysis for age and gender and
Facial Image Analysis for age and gender and
 
Applications of various latest coprocessors
Applications of various latest coprocessorsApplications of various latest coprocessors
Applications of various latest coprocessors
 
How to prepare a Machine Learning Interview by Elena Smirnova
How to prepare a Machine Learning Interview by Elena SmirnovaHow to prepare a Machine Learning Interview by Elena Smirnova
How to prepare a Machine Learning Interview by Elena Smirnova
 
Object classification using CNN & VGG16 Model (Keras and Tensorflow)
Object classification using CNN & VGG16 Model (Keras and Tensorflow) Object classification using CNN & VGG16 Model (Keras and Tensorflow)
Object classification using CNN & VGG16 Model (Keras and Tensorflow)
 
Object Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning FrameworkObject Detection Using R-CNN Deep Learning Framework
Object Detection Using R-CNN Deep Learning Framework
 
openCV with python
openCV with pythonopenCV with python
openCV with python
 
Computer Vision Crash Course
Computer Vision Crash CourseComputer Vision Crash Course
Computer Vision Crash Course
 
Introduction to Visual transformers
Introduction to Visual transformers Introduction to Visual transformers
Introduction to Visual transformers
 
Recsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem RevisitedRecsys 2014 Tutorial - The Recommender Problem Revisited
Recsys 2014 Tutorial - The Recommender Problem Revisited
 
computer vision
computer vision computer vision
computer vision
 
A thesis presentation on pothole detection
A thesis presentation on pothole detectionA thesis presentation on pothole detection
A thesis presentation on pothole detection
 
Machine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and TechniquesMachine Learning: Applications, Process and Techniques
Machine Learning: Applications, Process and Techniques
 
Face recognition technology
Face recognition technologyFace recognition technology
Face recognition technology
 
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
파이콘 한국 2020) 파이썬으로 구현하는 신경세포 기반의 인공 뇌 시뮬레이터
 
lecun-01.ppt
lecun-01.pptlecun-01.ppt
lecun-01.ppt
 
Multiple object detection
Multiple object detectionMultiple object detection
Multiple object detection
 
Deep learning ppt
Deep learning pptDeep learning ppt
Deep learning ppt
 
Human activity recognition
Human activity recognition Human activity recognition
Human activity recognition
 
Presentazione Tesi Laurea Triennale in Informatica
Presentazione Tesi Laurea Triennale in InformaticaPresentazione Tesi Laurea Triennale in Informatica
Presentazione Tesi Laurea Triennale in Informatica
 

Similar to Slide discussione tesi di laurea triennale

Elearnin e cnap
Elearnin e cnap Elearnin e cnap
Elearnin e cnap
Gianluigi Cogo
 
Big Data e la forza degli eventi - Intervento di Dominoni
Big Data e la forza degli eventi - Intervento di DominoniBig Data e la forza degli eventi - Intervento di Dominoni
Big Data e la forza degli eventi - Intervento di Dominoni
comunicareonline
 
Presentazione sce
Presentazione scePresentazione sce
Presentazione sce
Pina Civitella
 
6 - Il browser - 16/17
6 - Il browser - 16/176 - Il browser - 16/17
6 - Il browser - 16/17
Giuseppe Vizzari
 
Plone all'Università di Ferrara: Integrazione e Interoperabilità
Plone all'Università di Ferrara: Integrazione e InteroperabilitàPlone all'Università di Ferrara: Integrazione e Interoperabilità
Plone all'Università di Ferrara: Integrazione e Interoperabilità
Plone for Research and University
 
Elearning e CNAP
Elearning e CNAPElearning e CNAP
Elearning e CNAP
Gianluigi Cogo
 
1 eLearning e LO
1 eLearning  e LO1 eLearning  e LO
1 eLearning e LO
Pierfranco Ravotto
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Il nuovo catalogo della rete URBS - La migrazione akoha
Il nuovo catalogo della rete URBS - La migrazione akohaIl nuovo catalogo della rete URBS - La migrazione akoha
Il nuovo catalogo della rete URBS - La migrazione akoha
Andrea Marchitelli
 
Slide Tesi informatica
Slide Tesi informaticaSlide Tesi informatica
Slide Tesi informatica
jonathan2it
 
scorm
scormscorm
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
Andrea De Pirro
 
Progetto tutorial per il nuovo soggettario
Progetto tutorial per il nuovo soggettarioProgetto tutorial per il nuovo soggettario
Progetto tutorial per il nuovo soggettarioLucia Bertini
 
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
EduardCapanu
 
Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...
LEN Learning Education Network
 
Riunione aperta UniversiBO 08/05/2012
Riunione aperta UniversiBO 08/05/2012Riunione aperta UniversiBO 08/05/2012
Riunione aperta UniversiBO 08/05/2012
Davide Bellettini
 
Piattaforma e learning
Piattaforma e learningPiattaforma e learning
Piattaforma e learning
Pellegrino Albanese
 
Elearning E Lms
Elearning E LmsElearning E Lms
Elearning E Lms
FormaLms
 

Similar to Slide discussione tesi di laurea triennale (20)

Elearnin e cnap
Elearnin e cnap Elearnin e cnap
Elearnin e cnap
 
Big Data e la forza degli eventi - Intervento di Dominoni
Big Data e la forza degli eventi - Intervento di DominoniBig Data e la forza degli eventi - Intervento di Dominoni
Big Data e la forza degli eventi - Intervento di Dominoni
 
Presentazione sce
Presentazione scePresentazione sce
Presentazione sce
 
6 - Il browser - 16/17
6 - Il browser - 16/176 - Il browser - 16/17
6 - Il browser - 16/17
 
Plone all'Università di Ferrara: Integrazione e Interoperabilità
Plone all'Università di Ferrara: Integrazione e InteroperabilitàPlone all'Università di Ferrara: Integrazione e Interoperabilità
Plone all'Università di Ferrara: Integrazione e Interoperabilità
 
Elearning e CNAP
Elearning e CNAPElearning e CNAP
Elearning e CNAP
 
Bachelor Thesis presentation
Bachelor Thesis presentationBachelor Thesis presentation
Bachelor Thesis presentation
 
1 eLearning e LO
1 eLearning  e LO1 eLearning  e LO
1 eLearning e LO
 
Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Con la testa tra le nuvole
Con la testa tra le nuvole  Con la testa tra le nuvole
Con la testa tra le nuvole
 
Il nuovo catalogo della rete URBS - La migrazione akoha
Il nuovo catalogo della rete URBS - La migrazione akohaIl nuovo catalogo della rete URBS - La migrazione akoha
Il nuovo catalogo della rete URBS - La migrazione akoha
 
Slide Tesi informatica
Slide Tesi informaticaSlide Tesi informatica
Slide Tesi informatica
 
scorm
scormscorm
scorm
 
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
Development of a Metadata Based Image Bank for an Enterprise-Class Content Ma...
 
Progetto tutorial per il nuovo soggettario
Progetto tutorial per il nuovo soggettarioProgetto tutorial per il nuovo soggettario
Progetto tutorial per il nuovo soggettario
 
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
Beyond the Cache sfruttare appieno le potenzialità dei Service Worker (Eduar...
 
Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...
 
Riunione aperta UniversiBO 08/05/2012
Riunione aperta UniversiBO 08/05/2012Riunione aperta UniversiBO 08/05/2012
Riunione aperta UniversiBO 08/05/2012
 
Piattaforma e learning
Piattaforma e learningPiattaforma e learning
Piattaforma e learning
 
Elearning E Lms
Elearning E LmsElearning E Lms
Elearning E Lms
 

Recently uploaded

Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Servizi a rete
 
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
Servizi a rete
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
Nicola Furcolo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Servizi a rete
 

Recently uploaded (11)

Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
 
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simoneonvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
onvegno SPEKTRA da A2A - 28 maggio 2024 | COLLA Simone
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
 

Slide discussione tesi di laurea triennale

  • 1. Sviluppo del sistema di backoffice e data analysis di una piattaforma di didattica collaborativa Relatore: Prof. Carlo BELLETTINI Correlatore: Dott. Angelo GIUFFREDI Laureando: Giorgio AUDINO Matricola 794777
  • 2. Dipartimento di Informatica WeSchool è una piattaforma di didattica collaborativa il cui scopo è rivoluzionare la didattica fornendo ai docenti uno strumento per aggregare le informazioni da internet con uno spirito di collaborazione insieme agli studenti. Lo scopo principale della collaborazione è stato: • Fornire un accesso di alto livello e controllato ai dati di WeSchool per consentire lettura e modifica senza accedere direttamente alla base di dati. • Implementare un sistema di tracciamento delle attività effettuate all’interno della piattaforma e fornire un accesso ai dati così salvati. • Implementare un sistema di analisi degli eventi.
  • 3. Dipartimento di Informatica Il flusso dei TrackEvent 1. Generazione di un evento 3. Processo degli eventi sulla coda remota 4. Salvataggio definitivo degli eventi 2. Salvataggio in una coda remota persistente SERVER API WESCHOOL CODA REMOTA (E.G. SQS/MONGODB) SERVER BACKOFFICE WESCHOOL COLLECTION MONGODB
  • 4. SALVATAGGIO NELLA CODA REMOTA Dipartimento di Informatica Generazione di un evento e invio alla coda remota Creazione di un’istanza della classe Salvataggio nel buffer interno Flush del buffer verso la coda remota $event = new PostCreatedTrackEvent($post); $eventDispatcher->dispatch($event->getName(), $event); $this->eventTrackCollector->push($event); $this->eventTrackCollector->flush(); CONTROLLER TRACKEVENTLISTENER GENERAZIONE DI UN EVENTO Dispaccio dell’evento KERNELTERMINATELISTENER
  • 5. Dipartimento di Informatica Persistenza degli eventi Prelievo degli eventi dalla coda remota Persistenza dell’evento Rimozione dell’evento dalla coda Utilizzo di un database NoSQL a causa di: • Eterogeneità degli eventi • Motore di query molto ricco e semplice • Velocità
  • 6. Dipartimento di Informatica Analisi degli eventi Scopo dell’analisi: • Fornire un sistema di aggregazione delle azioni effettuate • Creare una leaderboard dei docenti che utilizzano la piattaforma per identificare gli utenti chiave Introduzione di una nuova entità: il metagruppo. Un metagruppo è l’insieme dei gruppi creati da un docente
  • 7. Dipartimento di Informatica Analisi degli eventi dei metagruppi Ogni giorno e per ciascun metagruppo calcolo di tre misure: • Score pesato degli eventi • Intensità del metagruppo nel dato giorno • Potenziale del metagruppo Pipeline di aggregazione di MongoDB Stage $match Stage $group
  • 8. Dipartimento di Informatica PHP e Symfony da linea di comando Scopo del comando: allineare la base di dati salvando per ciascuna tupla relativa all’esecuzione di un esercizio il voto ottenuto dall’utente calcolato on the fly fino a questo momento. Problema: contenere l’utilizzo di memoria per un processo che deve analizzare circa 10.000 tuple entro i 64MB a disposizione, considerando che Symfony ne occupa circa 40 per inizializzare il framework
  • 9. Dipartimento di Informatica La gestione della memoria Limite memoria: 64MB Memoria occupata da Symfony: ~40MB 4 principali accorgimenti per controllare l’utilizzo della memoria: Implementazione di un sistema di paginazione Invocazione forzata del garbage collector di PHP Eliminazione dei riferimenti dell’entity manager Disabilitazione del logger SQL $entityManager->getConnection()- >getConfiguration()->setSQLLogger(null); $entityManager->clear(); gc_enable(); […] gc_collect_cycles();
  • 10. Dipartimento di Informatica Conclusioni Eventi di tracciamento: • In produzione dal 15 ottobre • 55 eventi differenti (a partire dai 42 eventi della prima implementazione ad ottobre) • Circa 175.000 documenti MongoDB salvati fino a oggi Analisi degli eventi • In produzione dal 15 maggio • Contiene più di 17.000 documenti MongoDB per oltre 350 metagruppi diversi