Suite au précédent article présentant l’aspect technique de la mesure de l’affluence en temps réel, nous vous proposons de nous intéresser à la deuxième brique de la solution Affluences : l’analyse des données en temps réel.
Nos milliers de capteurs installés un peu partout en France et en Europe vont remonter leurs données vers nos serveurs. Sans traitement, ces données n’ont que peu de valeur puisqu’elles sont difficiles à exploiter. En effet, chaque capteur remonte ses données de manière indépendante et avec un format différent en fonction de son type.
Uniformiser les données
On va donc, dans un premier temps, uniformiser les différentes sources de données pour pouvoir les exploiter. Pour cela, nous avons développé un connecteur pour chaque type de capteur afin d’obtenir un format uniforme.
Une fois les données standardisées, nous les rattachons à un établissement pour connaître, par exemple, les entrées et sorties depuis le début de la journée sur l’ensemble des accès.
Contextualiser les données
A partir de ces données agrégées, nous allons calculer l’affluence en temps réel de chaque établissement en croisant la donnée avec des informations contextuelles.
Par exemple on croise les données avec les horaires d’ouverture pour décompter le personnel déjà présent avant l’ouverture.
Ces opérations nous permettent d’enrichir la donnée brute. Ainsi le calcul du temps d’attente ou d’un taux d’occupation en temps réel est plus fiable. Il permettra d’alimenter l’application mobile ou le site web Affluences mais également nos algorithmes d’analyse prédictive.
La technologie sous la surface
Nous utilisons plusieurs technologies complémentaires pour ce processus comme par exemple du Python et du Node.Js pour la partie traitement et RabbitMQ pour la communication asynchrone inter-process.
La charge est quant à elle distribuée sur plusieurs workers qui travaillent en parallèle pour nous permettre de traiter les données de toujours plus de capteurs !