1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mô hình hóa và phân tích dữ liệu vị trí địa lý trong nhà và dữ liệu đo lường cộng tác luận văn ths truyền dữ liệu và mạng máy tính (chương trình đào tạo thí điểm)

72 68 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 72
Dung lượng 2,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dans ce mémoire, nous proposons une solution complète et efficace visant àconstruire un système d'information pour la géolocalisation en intérieur au moyen deGISGeographic Information Sy

Trang 1

UNIVERSITE NATIONALE DU VIETNAM, HANOI

INSTITUT FRANCOPHONE INTERNATIONAL

PHÚ BÁ D ƯƠ NG

MODÉLISATION ET ANALYSE DE DONNÉES DE

GÉOLOCALISATION EN INTÉRIEUR ET DE MESURES

PARTICIPATIVES

MÔ HÌNH HÓA VÀ PHÂN TÍCH D LI U Ữ Ệ

V TRÍ Đ A LÝ TRONG NHÀ VÀ D LI U ĐO L Ị Ị Ữ Ệ ƯỜ NG

C NG TÁC Ộ

MEMOIRE DE FIN D'ETUDES DU MASTER INFORMATIQUE

HANOI-2016

Trang 2

UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL

PHÚ BÁ D ƯƠ NG

MODÉLISATION ET ANALYSE DE DONNÉES DE

GÉOLOCALISATION EN INTÉRIEUR ET DE MESURES

PARTICIPATIVES

MÔ HÌNH HÓA VÀ PHÂN TÍCH D LI U Ữ Ệ

V TRÍ Đ A LÝ TRONG NHÀ VÀ D LI U ĐO L Ị Ị Ữ Ệ ƯỜ NG

C NG TÁC Ộ

Spécialité: Réseaux et Systèmes Communicants Code: Programme pilote

MEMOIRE DE FIN D'ETUDES DU MASTER INFORMATIQUE

Sous la direction de:

Dr Besma ZEDDINI , Dr Julien MERCADAL Chercher et enseignants à l'École Internationale des Sciences du

Traitement de l'Information(EISTI)

HANOI-2016

Trang 3

ATTESTATION SUR L’HONNEUR

J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que lesdonnées et les résultats qui y sont présentés sont exacts et n’ont jamais été publié

L I CAM ĐOAN Ờ

Tôi cam đoan đây là công trình nghiên c u c a riêng tôi Các s li u, k t quứ ủ ố ệ ế ảnêu trong Lu n văn là trung th c và ch a t ng đậ ự ư ừ ược ai công b trong b t kỳ côngố ấtrình nào khác Các thông tin trích d n trong Lu n văn đã đẫ ậ ược ch rõ ngu n g c.ỉ ồ ố

Signature de l’étudiant

PHU Ba Duong

Trang 4

Table de matières

Remerciements 5

Résumé 6

Les acronymes 9

Chapitre 1 Analyse du sujet 10

1.1 Introduction 10

1.2 Énonce et analyse du problème de recherche 10

1.3 Plan de travail 12

Chapitre 2 Recherche Bibliographie 13

2.1 Analyse les besoins du système, concevoir le modèle du système 13

2.2 Études bibliographiques 13

2.2.1 Les capteurs et les différents types des capteurs 13

2.2.2 Crowdsensing 14

2.2.3 Géolocalisation en intérieur 14

2.2.3.1 Les signaux utilisés pour géolocalisation en intérieur 15

2.2.3.2 Données de capteurs 16

2.2.3.3 Algorithmes de la position intérieur 17

2.2.3.4 Carte en intérieur 18

2.2.3.5 Le fonctionnement du système 24

2.4 La choix de la base des données 24

2.5 Le stockage des données massives en utilisant Mongodb 31

2.6 Analyse les données massives 34

Chapitre 3 Les solutions expérimentales et les résultats 38

3.1 Les technologies, les outils et les matériels utilisés dans ces travaux 38

3.2 La conception du systèmes 38

3.3 Conception de la base de données 39

3.4 Le processus de la construction des la carte en intérieur 47

Construction d'une carte de l'EISTI 47

3.5 Développement des Web services 51

3.5.1 Calcul le nombre des personnes dans chaque salle de l'EISTI 51

3.5.2 Le problème de la recherche les chemins 53

57

3.5.3 Surveillance des gens 57

3.5.4 Exportation des données historiques 58

3.5.5 La construction du systèmes de recommandation 58

Chapitre 4 Conclusions et perspectives 66

4.1 Conclusions 66

4.2 Perspectives 66

Appendices 70

Trang 5

Les plus grandes leçons ne sont pas tirées des livres mais des professeurs telsque vous, tous les professeurs de l’Institut Francophone International (IFI) Je souhaiteexprimer ma sincère gratitude à vous qui avez pris le temps de m’aider au cours de cestrois années et de m’avoir accompagné dans la maîtrise de mes connaissances

Je tiens à exprimer toute ma reconnaissance à mes directeurs de mémoireMadame Besma ZEDDINI et Monsieur Julien MERCADAL Je les remercie dem’avoir encadré, orienté, aidé et conseillé

J’adresse mes sincères remerciements à Madame Fatima BERRICHE et à toutesles personnes qui par leurs paroles, leurs écrits, leurs conseils et leurs critiques ontguidé mes réflexions et ont accepté à me rencontrer et répondre à mes questions durantmes recherches

Je remercie mes très chers parents, qui ont toujours été là pour moi, «Vous aveztout sacrifié pour vos enfants n’épargnant ni santé ni efforts Vous m’avez donné unmagnifique modèle de labeur et de persévérance Je suis redevable d’une éducationdont je suis fier»

Je remercie Monsieur Guy pour ses aides et encouragement durant mon stage

Je remercie très spécialement Madame Marie-Josée Lamerre, Madame SylviePetiot, Madame Audrey Jama qui ont toujours été là pour moi et m'ont aidé beaucoup

Je tiens à les remercier pour leurs amitiés, leurs soutiens inconditionnel et leursencouragements

Enfin, je remercie mon ami Khai NGUYEN pour son sincère amitié etconfiance, et à qui je dois ma reconnaissance et mon attachement À tous cesintervenants, je présente mes remerciements, mon respect et ma gratitude

Trang 6

Les services de localisation dans les bâtiments représentent un grand avantage.Ils permettent aux gens de chercher des lieux, des produits ou des personnes dans unbâtiment Smart Engineering School est un projet qui applique la technologie degéolocalisation en intérieur pour fabriquer des applications à forte valeur ajoutée surdes réseaux d'objets communicants équipant l'EISTI, afin d'automatiser ou desimplifier diverses tâches pour ses occupants Et la modélisation d'une carte intérieur,l'analyse de données de géolocalisation en intérieur et les mesures participatives fontles parties très importantes afin de pouvoir construire une application degéolocalisation en intérieur intelligent

Dans ce mémoire, nous proposons une solution complète et efficace visant àconstruire un système d'information pour la géolocalisation en intérieur au moyen deGIS(Geographic Information Systems), des technologies de géolocalisation enintérieur, NoSQL, de réseau de capteurs (iBeacons) et des techniques d'analyse dedonnées massives

La solution de système d'information d'abord, est développée pour utiliser dans

le projet Smart Engineering School à l'EISTI Ensuite, nous allons continuer àaméliorer cette approche afin de l'appliquer dans plusieurs contextes différents telsque les hơpitaux, les muséums, les restaurants

Cette approche dans ce mémoire est totalement basée sur les technologiesd'open-source afin d'économiser le cỏt de développement

Mots clés : OpenStreetMap(OSM), Indoor Map, Indoor Positionning System,

Hadoop Map-Reduce, Système de recommandation, BFS, NoSQL, MongoDB

Trang 7

The services of localization in buildings representing a great advantage Theseallow people to look for places, things or people in a building, closed region SmartEngineering School is a project that apply the indoor positioning technologies to buildapplications with high added values on a network of connected objects installed atEISTI in order to automate or simplify various tasks for its occupants And modeling

an indoor map, analyzing indoor geo-localization data and participatory measuresmake the very important part in order to be able to build an intelligent indoorpositioning application

In this thesis, we propose a complete and efficient solution for building aninformation system for indoor positioning using Geographic Information System(GIS),indoor positioning, NoSQL, Sensor network and some techniques for analyzing BigData

Firstly, the information system solution is developed to use in the SmartEngineering School project at EISTI Then, we will continue to improve this approach

in order to apply it to different contexts such as hospitals, museums, restaurant

This approach in this thesis is totally based on the open source technologies tosave the development cost

Keywords : OpenStreetMap(OSM), Indoor Map, Indoor Positionning System,

Hadoop Map-Reduce, Système de recommandation, BFS, NoSQL, MongoDB

Trang 8

Table des figures

Figure 1 La carte du premier étage du bâtiment CAUCHY de l'EISTI 16

Figure 2: La structure de paquet des données bluetooth 17

Figure 3: Logiciel JOSM et la représentation de la carte de l'EISTI récupéré de l'OSM 19

Figure 4: Architecture du système 24

Figure 5: La manière de stockage des RDBMS et orientée colonnes 27

Figure 6: La structure des Graphe databases 27

Figure 7: Une instance de la base des données de Graphe 28

Figure 8: Description des données divisées dans Sharding[15] 32

Figure 9: Interaction des composants dans un cluster shardé 33

Figure 10: Flux écrire/lire données dans Sharding[16] 34

Figure 11: Le paradigme de MapReduce 35

Figure 12: La combinaison de Hadoop et MongoDB 37

Figure 13: Modélisation du système 38

Figure 14: Le document de bâtiment 39

Figure 15: Le document de iBeacons 40

Figure 16: Le document d'utilisateur 40

Figure 17: Le document d'événement 41

Figure 18: Le document d'évaluation 42

Figure 19: Le document de EistiMap 43

Figure 20: Le document des points d'intérêt 44

Figure 21: Le document des routes 45

Figure 22: Le document des salles 46

Figure 23: L'outil JOSM initialisé 47

Figure 24: Téléchargement des données géographiques 47

Figure 25: L'affichage de la carte 48

Figure 26: Utilisation de Picture layer 49

Figure 27: Ajustement de la bordure du bâtiment et l'image de la carte 49

Figure 28: Cartes obtenue après avoir dessinée 50

Figure 29: Les résultats sont affichés sur l'application mobiles 52

Figure 30: Un système des routes en intérieur 53

Figure 31: Le graphe utilisé dans l'algorithme 54

Figure 32: La représentation d'un chemin multi-étages 54

Figure 33: Un résultat de recherche la chemin sur multi-étages 55

Figure 34 : Un chemin est calculé, retourné et représenté au côte client 57

Figure 35: Les données historiques exportées 58

Figure 36: Le système de recommandation est représenté au côté client 62

Trang 9

Les acronymes

1 Bluetooth Low Energy : BLE

2 École Internationale des Sciences du Traitement de l'Information : EISTI

3 Global Positioning System : GPS

4 Indoor Positioning System : IPS

5 Internet of Things : IoT

6 Java OpenStreetMap (editor) : JOSM

7 La base des données : DBMS

8 Mobile Crowd Sensing : MCS

9 Open Street Map : OSM

10 Radio Frequency Identification : RFID

11 Rational Database Management System : RDBMS

Trang 10

Chapitre 1 Analyse du sujet 1.1 Introduction

L'Internet of Things (IoT) est devenu une partie intégrante de notre viequotidienne Au début des années 2000s, Kevin Ashton est un des pionniers quiconcevait cette notion quand il a fait la recherche sur les liaisons entre RadioFrequency Identification(RFID) et l'Internet visant à améliorer la performance de lestaches de business

Nous avons pris une citation dans un article pour montrer la notion de IoT :

«If we had computers that knew everything there was to know about things— using data they gathered without any help from us we would be able to track and count everything, and greatly reduce waste, loss and cost We would know when things needed replacing, repairing or recalling, and whether they were fresh or past their best We need to empower computers with their own means of gathering information,

so they can see, hear and smell the world for themselves, in all its random glory RFID and sensor technology enable computers to observe, identify and understand the world

—without the limitations of human-entered data.» [1]

IoT signifie que tous les objets dans le monde sont équipés de capteurs,identités et d’une connexion sans fils Ces objets peuvent communiquer entre eux Eneffet, IoT représente un concept général pour la capacité des réseaux des objets quirécupère et collecte les données du monde autour de nous, et puis envoie ces données

à travers l'Internet ó elles peuvent être analysées et utilisées pour les différentsobjectifs

Les applications que IoT peut apporter à notre vie sont très larges :

- Surveiller et détecter les changement physique dans nos corps

- Self-parking automobiles

- La commande automatique de épicerie et des autres fournitures

- Traquer automatiquement les activités personnelle

- Traquer location pour les pièces individuels d'inventaire de fabrication

- Économiser l'énergie dans les modèles environnemental intelligent

- Renouveler et améliorer des contrơles de sécurité pour les personnes travaillant dans des environnements dangereux [2]

1.2 Énonce et analyse du problème de recherche

Le projet «Smart Engineering School» est un projet encadré par Mme Besma

ZEDDINI et M Julien MERCADAL enseignant - chercheur à l'École Internationaledes Sciences du Traitement de l'Information(EISTI) C'est un projet dont son but est deréaliser un réseau des capteurs dans les bâtiments de l'EISTI et combiner avec ledéveloppement d'une application mobile qui permettent de surveiller les gens(personnelles, professeurs, étudiants, chercheurs, étrangers) circulant dans cette école.Simultanément, le système est responsable d'effectuer les communications entre lesgens et l'EISTI Par exemple, vérifier l'absence d'une personne, réserver une salle

Trang 11

disponible pour la réunion, diffuser un événement à un groupe des personnes Enfin,les données d'utilisateurs seront récupérées et mis dans la base de données afind'analyser et de créer les informations valables.

Ce projet se situe dans le domaine de IoT, et plus exactement, dans celui quiconcerne les réseaux des capteurs, Big Data et géolocalisation en intérieur

En se basant sur les caractéristiques, ce projet est décomposé en deuxproblèmes à réaliser

1 Développement d'applications mobiles utilisant la géolocalisation en intérieur

2 Modélisation et analyse de données de géolocalisation en intérieur et de mesures participatives

En effet, ce sont les deux sujets individuels, mais ils ont une partie dedéveloppement commune ont besoin d'être développés ensemble Dans ce mémoire,nous allons présenter une approche qui concerne la résolution du deuxième problème

Profondément, la structure de mémoire se compose 4 chapitres, le chapitre 1 vaintroduire le sujet de stage et des notions concernées qui ont besoin d'être étudiées Lechapitre 2 est la partie de la recherche bibliographie la ó les conceptions sont creuséesprofondément, et les travaux concernés qui sont précédemment étudiés ont besoind'être mentionnés Le chapitre 3 propose une solution et l'implémente en se basant surles recherches bibliographies et en fin, montre les résultats obtenus Le dernier chapitreest la conclusion et perspective du sujet

Allons en détaille chapitre 1, tout d'abord, nous allons présenter les définitions,les mots clés liés au sujet

Crowdsensing : est un nouveau modèle métier, permettant aux téléphones non

seulement d'être utilisés pour échanger les information mais aussi pour les activités quipeuvent avoir un impact social énorme Le terme «Crowdsensing» se réfère à partagerles données collectées par des capteurs embarqués avec le but de mesurer lesphénomènes physiques Les capteurs sont embarqués dans les smartphones, lecteurs demusique même dans les véhicules [3]

Géolocalisation en intérieur : en Anglais Indoor Positioning System(IPS), est

un système qui permet de localiser les objets, les gens dans un bâtiment en utilisant lesondes, les signaux acoustiques… Fondamentalement, les IPS fonctionnent comme lesystème de GPS

Données massives (Big Data) : signifie un grand nombre de données qui

peuvent être analysées informatiquement pour révéler les modèles, les tendances et lesassociations concernant les comportements et les interactions d'humain

Les problèmes à résoudre sont :

1 Modéliser les données, développer le cơté serveur qui peux communiquer avec les clients (l'applications mobile) au moyen des réseaux des objets communicants équipant l'EISTI, afin d’automatiser ou de simplifier diverses tâches pour ses utilisateurs Plus précisément, cette application permet de suivre les déplacements des personnes à l'EISTI au moyen des capteurs installées à un certains points d'intérêt et les smartphones, tablettes ou encore les smart-watches possédés par les utilisateurs.

Trang 12

2 Ensuite, les données échangées entre les objets connectés seront collectées

et sauvegardées dans la base des données Les techniques d'analyses des données massives seront utilisées afin d'analyser et d'extraire les informations précieuses à partir de ces données immenses.

Le problématique du sujet nécessite l'utilisation des iBeacons, c'est un type decapteur qui ne diffuse que les signaux Bluetooth 4.0 LBE périodiquement sanseffectuer d'autre opération Ces signaux seront utilisés par l'application afin d'avoir uneapplication intelligente

Des exemples du fonctionnement essentiel de l'application sont données :l'application pourrait être utilisée par les nouveaux arrivants à l'EISTI afin de lesguider vers leurs prochaine salle de cours Dans ce cas, il faut utiliser des informationsrécupérées de AREL Un autre exemple, dans les jours de JPO(Journées portesouvertes), les parents et leurs enfants pourraient suivre un parcours prédéfiniagrémenté des commentaires afin de découvrir l'école De plus, les associations del'école pourraient utiliser l'application pour diffuser des événements qu'ellesorganisent Enfin, les utilisateur.s pourraient partager leur degré de satisfaction depoint d'intérêt ó ils se trouvent

1.3 Plan de travail

Travaux théoriques :

- Étudier les points principaux liés à ce sujet

+ Internet of Things + Déterminer les besoins du système, concevoir le modèle du système + Les différents type du capteurs, iBeacons

+ Les technologies de géolocalisation en intérieur+ Crowdsensing

+ Les données des capteurs+ La carte en intérieur (indoor mapping)+ La base de données compatibles avec le projet (NoSQL, Base de données rationnelle)

- Étudier les techniques de l'analyse les données massives

+ Données massives, les données d'iBeacon+ Les algorithmes de data mining, d'apprentissage automatique, Hadoop,Map-reduce paradigme

Travaux pratique :

- Modéliser les données en intérieur, la carte intérieur (indoor map)

- Choisir la base de données la plus compatible pour ce projet

- Conception de la base des données basé sur le DBMS choisie

- Développement des Web Services

- Chercher à comprendre Hadoop, Map-Reduce et les appliquer avec

MongoDB dans l'application

Trang 13

Chapitre 2 Recherche Bibliographie

Dans cette chapitre, nous allons vous présenter un état de l'art des notions liés

au sujet et déterminer les approches possibles afin d'implémenter ce projet

2.1 Analyse les besoins du système, concevoir le modèle du système

Comme décrit dans la partie de l'introduction, ce projet se situe dans lesdomaines d'application des réseaux des capteurs, les technologies de géolocalisation enintérieur, et l'analyse des massives données Le projet sera développés au moyen deréseaux de capteurs L'objectif principal est de construire un système qui fournie desressources nécessaires à l’application mobile qui sera utilisé par les professeurs, lesétudiants, les professionnelles de l'EISTI

Cette application permet de :

- Guider les chemins afin de visiter l'EISTI

- Chercher un point d'intérêt (salle de cours, salle de réunion…)

- Chercher les chemins

- Faire une évaluation sur un point d'intérêt

- Diffuser les événements

- Chercher la position d'une personne à l'EISTI

- Vérifier la présent/l'absente d'une personne

- Savoir quantité de personnes dans un coin

- Évaluer la satisfaction

- Analyser et donner des suggestions, prédictions en basant les comportements d'utilisateurs, et les données historiques

2.2 Études bibliographiques

2.2.1 Les capteurs et les différents types des capteurs

Le capteur est un appareil physique qui mesure les quantités, les phénomènesphysiques

A Les différents types de capteurs en terme de l'objet capturés :

1 Accéléromètre 2 Capteur de mouvement

3 Capteur chimique 4 Capteur d'humidité

5 Capteur de débit/débitmètres 6 Capteur de force

7 Capteur magnétique 8 Capteur de pression

9 Capteur de proximité 10 Capteur de son

11 Capteur de température 12 Capteur de vitesse

B Les types de capteur en terme de fonctionnement

En se basant sur le critère d'émission d'énergie:

1 Capteur passif : les capteurs diffuseront les signaux quand un événement se produit

2 Capteur actif : les capteurs diffuseront les signaux périodiquement

En se basant sur le critère de source de données :

Trang 14

- Proprioceptif : Capturer les données de l’intérieur

- Extéroceptif : Capturer les données de l'extérieur

C Les types de capteur en terme de signaux envoyés

Mobile crowdsensing est un nouveau paradigme qui permet aux habitants decommuniquer les données récupérées par leurs capteurs Ensuite, ces données sonttraitées et analysées afin d'extraire les connaissances

Les topologies de crowdsensing

Critère Participation des utilisateurs

dans processus de crowdsensing

Les phénomènes sont mesurés

Table 1 Les types de crowdsensing

Essentiellement, les données sont générées par deux modes :

- Mobile sensing : les données sont créées automatiquement sans avoir besoin

d’interagir avec la personne

- Users : les données sont créées en se basant sur les comportements

d'utilisateurs

2.2.3 Géolocalisation en intérieur

Comme défini dans la partie précédente, la technique de géolocalisation est unepartie essentielle dans ce projet, la localisation se réfère au problème de la calcul ou del'estimation de la position d'utilisateurs dans une région spécifique qui est modélisé parune carte La géolocalisation en intérieur vise à résoudre ce problème dans un bâtimentspécifique ou un ensemble de bâtiments ó les signaux GPS fonctionnent tropfaiblement à cause des obstacles Par conséquent, l'approche actuelle est d'utiliser uninfrastructure des expéditeurs dans un bâtiment

La mission de géolocalisation en intérieur est de calculer la position derécepteur(smartphone, tablette, smartwatch…) en se basant sur les signaux desexpéditeurs bien connus et une carte intérieure

Trang 15

Il y aura donc des questions à remplir pour la partie de recherche :

- Quels sont les expéditeurs, les signaux (Bluetooth, Wifi ) qui seront utilisés dans ce projet?

- Comment calculer et préciser la position intérieure au moyen des signaux?

- Comment construire une carte en intérieur?

- Comment sont les fonctionnements du système?

2.2.3.1 Les signaux utilisés pour géolocalisation en intérieur

La plupart des approches courantes dans la littérature et dans les systèmescommercialisés utilise radio-fréquence (Wifi, bluetooth, VLC …) Le table suivantfourni une comparaison entre les techniques qui permettent d'effectuer les mesures enintérieur

Table 2 Comparaison entre les signaux utilisés pour géolocalisation en intérieur [5]

Dans ce projet, nous avons décidé de choisir l'approche d'utilisationd'expéditeurs Bluetooth En fait, Apple a introduit une norme intitulé iBeacon basé sur

la spécification Bluetooth 4.0 Low Energy(BLE) C'est une nouvelle méthode decommunication appelé ATT(Attribute Protocol) qui optimise la taille de packageutilisé En utilisant les BLE, les iBeacons peuvent fonctionner pour une longue durée

La choix d'expéditeurs Bluetooth en raisons du fait que l'EISTI est une écolemulti-étages, donc les GPS ne fonctionne plus dans les bâtiments Chaque étagecompose à plusieurs salles L'utilisation de Wifi pour la localisation n'est plus précise,puisque la puissance de signal Wifi devient faible quand elle passe les murs entre lessalles L'image qui suite est la carte d'un bâtiment de l'EISTI

Trang 16

De plus, avoir beaucoup d'expéditeurs de Wifi dans toutes les salles n'est pasvraiment nécessaires et complexes à déployer Par contre, les iBeacons peuventfonctionner pour une longue durée sans avoir besoin de recharger l'énergie et facile àdéployer En outre, selon la spécification et la situation du contexte, nous avons besoind'une approche la plus précise Car, l'EISTI est une petite école Les salles ne sont pastrès grandes et l'espace de couloirs sont de 2 à 2.5 mètres L'utilisation la technologieBluetooth est un meilleur choix dans ce cas.

Les appareils utilisés sont les iBeacons, fondamentalement, les iBeacons nediffusent que les signaux Bluetooth Les Smartphones doivent être activés lefonctionnement de Bluetooth afin de détecter ces signaux et déterminer les distancesentre lui et les iBeacons, et aussi les autres mesures tel que RSSIs

2.2.3.2 Données de capteurs

Profondément, les iBeacons diffusent les paquets dans un intervalle spécifiqueLes iBeacons ont défini une structure des données spécifique pour les paquets diffusés.[6]

Figure 1 La carte du premier étage du bâtiment CAUCHY de l'EISTI

Trang 17

La plupart de champs n'est pas utile Il n'y a que quatre champs les plusimportants pour calculer la position qui sont UUID, major, minor, Tx power LesUUID, major, minor permettent d’identifier uniquement l'iBeacon Ces attributspeuvent être configurées manuellement afin de grouper les expéditeurs en groupe Et leTx-Power est la puissance de RSSI en mettre En effet, Apple a développé un APItravaillant avec les iBeacons, qui nous permet de prendre des valeurs d'attributsfacilement telles que la distance, les valeurs de RSSI

2.2.3.3 Algorithmes de la position intérieur

Le problème qui se pose est de localiser la position à partir des informationstelles que distances, valeurs de RSSIs récupérés des iBeacons Il y a plusieursalgorithmes qui ont été proposés dans les littératures et les articles scientifiques afin depouvoir localiser la position en intérieur Ci-après quatre approches principales quisont mentionnées dans la plupart des documents

Trilateration : besoin de trois expéditeurs (iBeacon) Les beacons ont une

portée spécifique qui est déterminée par un rayon comme sphère de 3D La positioncourant est la ó les trois cercles se chevauchent Par conséquent, la position estdéterminée par les mesures de distances

Triangulation : ressemble à Trilateration La différence est que le

Triangulation concerne la mesure des angles basé sur la direction du signal au lieu de

la mesure des distances Cette méthode ne peut pas être utilisé avec les iBeacons Car,l'API de Apple ne permet pas de récupérer les valeurs d'angles

Fingerprinting : L'idée principale de fingerprinting est de créer une map de

vecteurs qui mesure à chaque position spécifique à la première étape Les vecteurs etles locations seront stockés dans la base des données Deuxième étape, localiser laposition, les appareils retournent un vecteur de mesure, ce vecteur sera comparée avecles vecteurs sauvegardés dans la première étape afin de trouver le vecteur le plusproche et retourner la position respective Fingeprinting peux donner les résultats trèsprécises Mais, il faut créer une large map entre la position et les vecteurs de mesure.Cette mission sera impossible dans un grand espace

Time of Flight : calculer la distance entre le expéditeur et le récepteur en se

basant le temps que les signaux a pris pour la transmission [6]

Ceci dépend du contexte, plusieurs approches serons combinées au même temps

Figure 2: La structure de paquet des données bluetooth

Trang 18

pour donner le résultat le plus précis Des fois, la solution aura besoin de lacoopération cơté serveur et client Toutefois, dans cette implémentation et pour faute et

le manque de matériel, nous avons décidé d'implémenter les algorithmes delocalisation cơté client (l'application)

2.2.3.4 Carte en intérieur

Les données de géolocalisation sont modélisées par une carte La construction

de la carte est une étape important avant de localiser les positions Le problème degéolocalisation en intérieur a besoin des informations géographiques en détaillé pourtous les objets intérieurs telles que salles, positions installées de iBeacons Pourtant, lesdonnées géographiques récupérées en ligne comme Open Street Map, Google Map nesont pas suffisant pour localiser la position en intérieur Actuellement, les donnéesgéographiques disponibles sont les données en extérieur telles que les chemins, lesroutes, les bordures des bâtiments, les rivières, les océans, les points d'intérêt Laconstruction de la carte dans un bâtiment plusieurs étages, un ắroport ou une région

ó on n'a pas des données géographiques détaillées afin d'implémenter lescaractéristiques en intérieur est très nécessaires

Pour implémenter une systèmes de géolocalisation en intérieur, la carte enintérieur (indoor map) est un composant très important Dans cette section, nous allonsprésenter un processus de construction d'une carte en intérieur Ce travail présente lesrecherches au problème de la création d'un systèmes d'information en utilisant lesinformation et géolocalisation en intérieur Fondamentalement, la carte en intérieurressemble à la carte en extérieur, nous aurons besoin de représenter les chemins, lespoints d'intérêt…

Ces années dernières, quelques solutions ont été proposées pour construire unecarte en intérieur Google, probablement est le plus grand fournisseur de la carte enintérieur «Google Map Indoor» projet Il compose des composants, un web servicepermet de télécharger la carte intérieure, la technologie visualise la carte et uneapplication de mobile est pour localiser la position Pourtant, leur usage est limité auxbâtiments public et leur carte n'est pas mise à jour automatiquement Une autresolution ESRI est aussi considéré un des pionniers des sociétés livrant informationgéographique Leur projet est un paquet complète pour la carte en intérieur, 2D, 3D etvisualisation et routage Et finalement, il faut mentionner Bing Venue Map deMicrosoft Indoor Map service [8]

En effet, tous les solutions sont encore sous le développement Et elles sont tousnon-open source Dans mon stage, j'ai décidé de choisir l'approche open-source pourcréer les cartes en l'intérieur Nous avons donc étudié Open Street Map(OSM) andl'outil JOSM et les données d'OSM

Open Street Map(OSM) est un projet collaborative pour créer une carteéditable librement du monde Les données récupérées de OSM(http://www.openstreetmap.org/) sont mises sous forme de XML dans un fichier

*.osm Visuellement, ce sont les bordures des bâtiments, les chemins, et les pointsd'intérêts Les données en intérieur dans les bâtiments tels que salles, couloirs,

Trang 19

ascenseurs, ne sont pas représentés dans OSM La description des objets intérieurs seracréée manuellement.

L’outil JOSM est un éditeur de cross-platform pour l'OSM écrit en Java En

installant des plu-gins tels que Picture Layer, Indoor Mapping Helper Ce sont les

extensions de JOSM qui nous permettent de créer les données, de décrire lescomposants intérieurs en dessinant et définissant des attributs ou des propriétés

intitulés tags dans les fichiers *.osm L'image ci-dessus est un exemple d’une région

géographique représenté par JOSM

En regardant la moitié à droit de l'image, le Tags/Memberships est l'endroit ó

nous définissons les attributs et les propriétés Les manipulations sur ce logiciel seradécrit en détaillé au chapitre 3 La suite donnera les attributs intérieurs à définir dansles données d'OSM Supposons que nous avons une carte d'un bâtiment de l'EISTIdécrite dans un fichier *.osm Ce que nous devons fabriquer maintenant est de décrireles objets géographiques en intérieurs dans le bâtiments à travers les attribues et lespropriétés bien prédéterminés

Tous d'abord, on a besoin de connaỵtre le nombre d'étages du bâtiment Enutilisant Indoor Mapping Helper (Indoor Mapping Helper est représenté sur la figure 3

au fond à droit), nous pouvons définir les deux attributs suivants:

Highest level : y ème étage (étage maximal de bâtiment) Figure 3: Logiciel JOSM et la représentation de la carte de l'EISTI récupéré de

l'OSM

Trang 20

Lowest level : x ème étage (étage minimal de bâtiment)

Après avoir défini ces attributs, le fichier *.osm est mis à jour Maintenant, nouspouvons choisir l'étage que nous voulons décrire les composants géographiques Et,

plusieurs autres composants et leurs attribues seront définies comme les tags dans le

fichier *.osm La liste qui suite présente les composants ayant besoin d'être décritsdans un bâtiments

Rooms : la salle(salle de cours, salle de réunion) Couloir : le couloir

Elevator : l'ascenseur Stair : l'escalier Door : la porte Entrance/Exit : l'entrée/sortie Toilet : le toilette

Beacons : le capteur iBeacon Level : l'étage

Plug-in Helper Indoor Mapping nous fournis un ensemble des attributs

prédéfinis ou des tags pour que nous puissions représenter les composants intérieurs.

Les objets intérieurs proposés par Helper Indoor Mapper sont présentés en cliquant sur

son menu Object :

SHELL : la bordure CONCRETE_WALL : le mur en béton GLASS_WALL : mur de vitre

TOILET_MALE : toilette pour les hommes TOILET_FEMALE : toilette pour les femmes ELEVATORS : ascenseur

STAIRWAY : escalier STEPS : chemin d'escalier DOOR : porte

ENTRANCE : entrée

Pourtant, il y a des limités si on n'utilise que ce plu-gin,

- Non-connexion entre les différentes étages

- C'est juste une représentation graphique

- Ne pas adapter à routage

- Ces définitions des objet dans ce plug-in n'ont pas suivi une norme [7]

À mon avis, ces attributs fournis par ce plu-gin ne sont pas suffisants afin depouvoir décrire les composants intérieurs et les utiliser dans la venir Par conséquent,nous aurons besoin de déterminer d'autres représentations communes ou un ensembled'attributs assez complet pour définir les objets, les chemins en intérieur afin derépondre les besoins du système C'est pourquoi la suite, nous avons essayé d'améliorerles propositions et les concepts qui ont été proposé dans des articles scientifiques et lalittérature pour la description des objets intérieurs.[8]

Trang 21

highway = foodway building = nom de bâtiments

Stairs :

building:part = stairs indoor:level = x to y highway = steps building = nom de bâtiments

Porte :

addr:flats = (numéro de salle) la salle que on peux entrée en passant cette porte

entrance = yes ref = (nom de salle) indoor:level = * building = nom de bâtiments

Entrée :

access = yes building = nom de bâtiment foot = yes

indoor:level maxwidth =

Sorti :

entrance = exit access = yes indoor:level = * foot = yes building = nom de bâtiments

Beacons

Id = UUID + minor + major de iBeacon indoor:level = *

man-made = beacon name = nom de beacon building = nom de bâtiments

Les iBeacons ont besoin d'être représentés dans la carte Car, les informationsdes iBeacon (l'identité, la position) seront nécessaires pour l'algorithme de localisation

de la position intérieure

Trang 22

building = nom de bâtiment building:part = elevator

Il y a un composant qui sera défini comme un point intermédiaire Ces points

sont définis à la place d'ascenseurs et d'escaliers Ce point est appelé Switching-Point

qui aura les attribues:

En effet, il y avait des articles scientifiques qui contribuait au le problème de la

construction de la carte en intérieur Un des eux, l'article le plus récent est «Using Open Street Maps data and tools for indoor mapping in a Smart City scenario».

Dans cet article, les auteurs ont essayé de donner un ensemble d'attributs afin dedéfinir les composant en intérieur Fondamentalement, mon approche est basé surl'approche de cet article Mais, j'ai décidé de changer l'ensemble d’attributs afind'adapter les besoins du contexte dans le projet

Nous allons voir une comparaison entre deux approches :

Mon approche Approche de l'article Room

Trang 23

- buildingpart:verticalpassage :floorrange

Table 3 Une comparaison entre mon approche et l'approche existante

En regardant le table 3, nous pouvons voir que dans mon approche plusieursattributs et composants différent qui ont besoin être définis et sauvegardés afin defaciliter les taches du projet

Les résultats obtenus après avoir utilisé JOSM pour créer une carte intérieursest mis à jours dans le fichier *.osm Avant d'utiliser les données géographiques pourimplémenter les fonctions du système, nous aurons besoin de transformer *.osm à laformate de *.GeoJSON et normaliser les données GeoJOSN obtenues Les raisonsseront expliquées dans la chapitre 3 Fondamentalement, GeoJSON est un format pourencoder une variété des structures de données géographiques sous forme de JSON.Autrement dit, nous allons travailler sur les données JSON au lieu des données XML

Trang 24

2.2.3.5 Le fonctionnement du système

2.4 La choix de la base des données

Les données capturées ont besoin d'être sauvegardées dans la base de donnéescomme les ressources pour le développement de l'application Le choix d'une base dedonnées est très flexible En effet, les données dans le monde sont divisées en troistypes : données structurées, données semi-structurées, donnée non-structurées

- Données structurées : les données rationnelles

- Données semi-structurées : les données de XML, JSON

- Données non-structurées : les images, pdf , media… [9]

Les données collectées par les capteurs sont les données semi-structurées etnon-structurées même les données polymorphes Car, dans le contexte du projet,imaginons que aux différents positions dans les bâtiments, aux différents moments, lesappareils d'utilisateurs(smartphones, tablettes) peuvent détecter, récupérer lesdifférents ensembles de signaux de Bluetooth Par conséquent, les données récupéréespar chaque utilisateur n'ont pas la même structure

En plus, les données historiques est une partie très importante de données à

Figure 4: Architecture du système

Trang 25

stocker Chaque utilisateur possède ses données personnelles individuelles qui estdifférente d'autres L'enregistrement des données dans la base de donnéesrelationnelles n'est pas logique Premièrement, les données seront redondantes.Deuxièmement, quand les données deviennent très massives, l'accès aux donnéesprennent beaucoup de temps et ces données ne peuvent pas être sauvegardées sur unemachine.

En outre, le stockage de données géographiques est une partie indispensabledans ce projet afin d'envoyer la carte au côté d’application Tandis que, les donnéesgéographiques sont présentées sous forme XML, GeoJSON (données semi-structurées)

C'est la raison pour la quelle nous avons choisi une approche de NoSQL(NotOnly SQL Database) NoSQL soutient le stockage de données semi-structurées et non-structurées tandis que, la base de données rationnelles est conçue pour sauvegarder lesdonnées structurées NoSQL est aussi une approche de gestion de données très utilepour le stockage d'une très grande quantité de données en mode distribué

Essentiellement, NoSQL est divisé en quatre types :

- Key-value Stores : L'idée principale est fondamentalement d'utiliser une table

de hachage dans la quelle il existe une clé unique et un pointeur vers un élémentparticulier de données Un seau est un groupe logique des clés - mais ils ne regroupentpas physiquement les données Il peut y avoir des clés identiques dans des différentsseaux La performance est grandement améliorée en raison des mécanismes de cachequi accompagnent les mappages Pour la lecture d'une valeur, vous devez connaître à

la fois la clé et le seau, car la clé réelle est un hachage (seau + clé)

Un exemple : Considérez le sous-ensemble de données représenté dans letableau suivant Ici, la clé est le nom de pays de l'entreprise 3Pillar, tandis que la valeurest une liste d'adresses des centres de 3Pillar dans ce pays [10]

“India” {“B-25, Sector-58, Noida, India – 201301”

“Romania” {“IMPS Moara Business Center, Buftea No 1, Cluj-Napoca,

400606″,City Business Center, Coriolan Brediceanu No 10, Building

B, Timisoara, 300011”}

“US” {“3975 Fair Ridge Drive Suite 200 South, Fairfax, VA 22033”}

Table 4 Un exemple Key-value Stores

La clé peut être synthétique ou générée automatiquement et la valeur peut êtreString, JSON, BLOB (objet de base) etc

Alors que la base de données clé/valeur semble utile dans certains cas, mais il aquelques faiblesses ainsi D'une part, le modèle n'offrira aucun type de capacités de

Trang 26

base de données traditionnelles telle que l'atomicité des transactions ou la cohérencelorsque plusieurs transactions sont exécutées simultanément Cette capacité doit êtrefournie par l'application elle-même De plus, quand la quantité de données augmente,

le maintien de valeurs uniques en tant que clés peut devenir plus difficile, résoudre ceproblème nécessite l'introduction d'une certaine complexité dans le processus de lagénération de chaînes de caractères qui restera unique parmi un très grand ensemble declés

- Document Store NoSQL Database : Les données qui sont une collection de

paires de clé-valeur sont compressées comme un document Le stockage ressemble au

Key-Values Store, mais il y a des différences, la première est que les données mémorisées (appelées "documents") fournissent des structures et des encodages pour

les données gérées XML, JSON, BSON (un encodage binaire d'objets JSON) sontquelques encodages standards courants

L'exemple suivant montre les valeurs des données collectées en tant que

«document» représentant les noms des magasins spécifiques.

{

officeName:”3Pillar Noida”, {

Street: “B-25, City:”Noida”, State:”UP”, Pincode:”201301”}

}

{

officeName:”3Pillar Timisoara”,{

Boulevard:”Coriolan Brediceanu No 10”, Block:”B, Ist Floor”,

City: “Timisoara”, Pincode: 300011”}

}

La deuxième différence entre la Key-Value Store et Document Database est que le Document Database intègre des métadonnées d'attribut associées à un contenu

stocké ce qui fournit essentiellement un moyen d'interrogation des données en fonction

du contenu Par exemple, dans l'exemple ci-dessus, on pourrait rechercher tous lesdocuments dans lesquels «City» est «Noida» qui fournirait un ensemble de résultatscontenant tous les documents associés à tous offices de «3Pillar» qui se trouve danscette ville particulière MongoDB est la base des données la plus populaire pour cemodèle

- Wide-column stores : La base de données NoSQL orientée colonne Au lieu

de stocker les données en ordre d'enregistrements, ce type de bases de données est

Trang 27

conçu pour le stockage des tables de données en tant que sections des colonnes Cettesimple description ressemble à l'inverse d'une base de données standard.

En comparaison, la plupart de la bases de données relationnelles stocke lesdonnées ligne à ligne Les différents enregistrements de cette base des données

devraient être sauvegardées sur les différents espaces des disque dur Par contre, column stores regroupe les colonnes similaires ensemble Une interrogation peut

Wide-récupérer des données associées en une seule opération, car les seules colonnesassociées à la requête sont récupérées Par contre, dans un RDBMS, les lignes desdonnées seraient dans les endroits différents sur le disque dur, nécessitant plusieurs

opérations de disque dur pour la récupération C'est pourquoi, Wide-column stores

offrent des performances très élevées et une architecture hautement évolutive [10].L'image qui suite, décrit les données de transactions dans un magasin sauvegardéesdans deux types de la base des données

- Graph databases : est utilisé pour sauvegarder les informations des réseaux

telles que connexions sociales Neo4J et HyperGraphDB sont les instances de cemodèle

- La structure du graphe se compose les arêtes, les nœuds et les propriétés pour

la représentation des données

Figure 5: La manière de stockage des RDBMS et orientée colonnes

Figure 6: La structure des Graphe

databases

Trang 28

Ces nœuds sont organisés par quelques relations avec les autres qui est représentés parles arêtes entre les nœuds Tous les deux nœuds et les relations entre eux ont despropriétés définies [10]

- MongoDB soutient le stockage et l’interrogation de données géographiques

- MongoDB est modèle flexible, permet de représenter embedded document et reference document qui adaptent au stockage les données historiques.

MongoDB est le type de Document database, les données sont gardées sous forme de collections et documents Le table suivant est une comparaison entre la base

des données rationnelles(MySQL) et NoSQL(MongoDB)

Table 5 Comparaison entre MySQL et NoSQL [11]

MongoDB sauvegarde les données sous forme BJSON(Binary Javascript ObjectNotation) De plus, MongoDB soutient le stockage d'objets GeoJSON Naturellement,

Figure 7: Une instance de la base des données de Graphe

Trang 29

GeoJSON a la structure de JSON, mais on ajoute des attributs critères pour décrire lescaractéristiques des données géographiques Nous allons voir en détails les donnéesgéographiques modélisées sous forme de GeoJSON

Un objet GeoJSON peux représenter un géométrie, un caractéristique ou unecollection des caractéristiques GeoJSON soutient les types de géométrie suivants :Point, LineString, Polygon, Multipoint, MultiLineString, MultiPolygon etGeometryCollection Les caractéristiques à l'intérieur d'objet GeoJSON contient unobjet géométrique et des propriétés additionnelles Essentiellement, un objet GeoJSON

se compose une collection des paires de nom/valeur – appelé les membres [12]

Un exemple d'objet GeoJSON est le type de Feature Collection

{ "type":"FeatureCollection",

"features": [

{ "type": "Feature",

"geometry": {"type": "Point", "coordinates": [102.0, 0.5]},

"properties": {"prop0": "value0"}

Trang 30

Dans l'exemple, nous avons regardé les deux attributs type et coordinates Type est de décrire le nom de géométries(Point, Polygone, LineString ) Le coordinates se compose un position, un tableau des positions, un tableau des tableaux

des positions ou un tableau multidimensionnelle des positions

La suite sont les représentations des tous les géométries dans GeoJSON :

Point , le coordinates doit être une seul position

{

"type":"Point",

"coordinates": [100.0, 0.0] }

LineString, le coordinates doit être un tableau de positions

{

"type":"LineString", "coordinates": [ [100.0, 0,0], [101.0, 1.0] ]

}

Polygon, le coordinates doit être un tableau de positions, mais c'est une région

fermée, le premier point est aussi le dernier point

{

"type":"Polygon", "coordinates": [

[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]]}

Multipoint le coordinates doit être un tableau de positions

{

"type":"MultiPoint", "coordinates": [ [100.0, 0.0], [101.0, 1.0] ]

}

MultiLineString le coordinates est un tableau de coordinates de LineString

{

"type":"MultiLineString", "coordinates": [

[ [100.0, 0.0], [101.0, 1.0] ],

[ [102.0, 2.0], [103.0, 3.0] ]

]}

MultiPolygon le coordinates est un tableau de coordinates de Polygon

{

Trang 31

"type":"MultiPolygon", "coordinates": [

[[[102.0, 2.0], [103.0, 2.0], [103.0, 3.0], [102.0, 3.0], [102.0,

2.0]]],[[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]], [[100.2, 0.2], [100.8, 0.2], [100.8, 0.8], [100.2, 0.8], [100.2, 0.2]]] ]

"type": "Point", "coordinates": [100.0, 0.0]

},

{

"type": "LineString", "coordinates": [ [101.0, 0.0], [102.0, 1.0] ]

2.5 Le stockage des données massives en utilisant Mongodb

Littéralement, Big Data est méga-données, grosses données ou encore donnéesmassives Il s'agit d'un ensemble très volumineux des données Essentiellement, BigData est non seulement un ensemble des données très large mais aussi très complexe

Il n'est pas pratique pour gérer Big Data en utilisant les outils traditionnels.Spécialement, Big Data concerne la création, le stockage, la récupération et l'analysedes données qui est remarquable en terme de volume, vélocité et variété

Volume est la taille des données Aujourd'hui, les données générées chaque joursont très grandes venant de plusieurs sources différents telles que Facebook, capteurs,smarphones En effet, des milles TBs de données sont créés chaque jour

Vélocité s'agit de la vitesse d'augmentation de données Cela dépend beaucoupdes interactions et les échanges entre les utilisateurs et les systèmes ou entre lessystèmes

Variété est en terme de type des données Les données actuelles ne sont passeulement les numéros, les dates et les chaîne des lettres, mais aussi les donnéesgéographiques, données trois dimensions, audio, vidéo, texte, médias sociales [14]

Trang 32

Revenons le projet, les données sauvegardées dans ce projet sont les donnéesdes capteurs et les données historiques Les données des capteurs grandissent de temps

en temps Alors que, les données historiques des utilisateurs sont augmentérapidement Un jour, ces données peuvent atteindre à des TBs Une approche dustockage des données massives est très nécessaire

Sharding est une méthode implémentée dans MongoDB permettant de distribuer les données sur multi-machines MongoDB a utilisé Sharding afin de

déployer les données massives distribuées avec opérations à haut débit

Car, les données massives et les opérations à haut débit peut être un défi pour lacapacité d'une seul machine Par exemple, l'interrogation d'informations dans une base

de données compliquée peut épuiser la capacité de CPU du serveur Et, letéléchargement de données massives est une question pour la taille de RAM et dedisque dur

En fait, il existe deux méthodes adressées au croissance du systèmes :l'extensibilité verticale (Vertical Scaling) et l'extensibilité horizontale (HorizontalScaling)

L'extensibilité verticale : augmente la capacité d'un seul serveur, par exemple,

l'utilisation un CPU plus puissant, ajouter des RAM, grandir la capacité de stockage.Pourtant, cette approche est limité par la technique actuelle Par conséquent, il y a uneseuil pour cette approche

L'extensibilité horizontale : concernant la division les données du système et

le téléchargement en plusieurs machines L'ajoute des machines additionnels réponde à

la demande Lorsque, la vitesse d’exécution et la capacité du mémoire d'une seulemachine n'est pas fortes, chaque machine traite un sous-ensemble de la charge detravail total

En effet, Sharding dans MongoDB est une approche de l'extensibilité horizontale Sharding divise l'ensemble des données et les distribue aux multi- machines(appelées les shards) Chaque shard est une base de données indépendante

et collective, les shards construit une seule base des données logiques.

Figure 8: Description des données divisées dans

Sharding[15]

Trang 33

- Sharding réduit le numéro d'opérations que un shard doit traiter en augmentant la quantité de shards Un exemple, pour insérer un enregistrement, l'application a besoin de connaître seulement shard qui est responsable pour cet

enregistrement

- Shading réduit la quantité de données que chaque shard a besoin de

sauvegarder

L'architecture du Sharding dans MongoDB [16]

Un mongod sharded cluster se compose les composants suivants :

- Shard : chaque shard contiens un sous-ensemble de données divisé Un shard peut être déployé comme un ensemble replica (replica est une technique qui

permet d'implémenter backups pour les données) [15]

- Router ou Mongos : fourni un interface entre l'application de client et les opérations aux shards appropriés Ce composant traitera et transmettra les opérations aux shards appropriés [24]

- Config servers : le serveur des configurations sauvegarde méta-data et les configurations pour un cluster de shards Le mongos utilise meta-données afin de transmettre les opérations aux shards approprié.

Figure 9: Interaction des composants dans un

cluster shardé

Trang 34

2.6 Analyse les données massives

Cette partie décrit les techniques utilisées pour l'analyse des données massivessauvegardées dans MongoDB au moyen de Hadoop et Map-Reduce

D'abord, nous allons voir une approche de l'exploitation des données en utilisantWeka, un logiciel open source sous le GNU General Public License Weka est unecollection d'algorithmes de l’apprentissage automatique pour les tâches del'exploitation de données et est écrite en Java Ce logiciel contient les outils qui nouspermet de réaliser le pré-traitement, la classification, le clustering, la règled'association et la visualisation Toutefois, Weka exige toutes les données mises dans lemémoire vive avant le traitement C'est une limitation quand nous faisons face auxdonnées massives Normalement, Weka fonctionne bien avec les échantillons petits oumoyens de données D'autre part, Weka aussi nous permet d'implémenter un schéma del’entraînement actualisable Dans ce cas, les données seront mis dans la mémoire vivepeu à peu Certainement, cette approche provoque des problèmes de la performance dusystème

L'utilisation de Weka avec Big Data: Le version récente Weka 3.7 fourni desnouveaux paquets permettant d'exploiter les données distribuées et fonctionne avecHadoop, Map-Reduce Pourtant, la connexion entre Weka et MongoDB rencontre desdifficultés, les données dans MongoDB ne peuvent pas être chargées dans lesprogrammes de Weka directement Autrement dit, Weka ne peux pas traiterdirectement le format de données dans MongoDB Pour utiliser Weka avec MongoDB,tout d'abord, les données doivent être normalisées et mises dans un fichier texte Cefichier est sous un des formats soutenu par Weka tels que *.arff, *.csv, *.weka *.jsonafin de pouvoir appliquer les algorithmes dans Weka En fin, le résultat ou le modèleobtenu sera gardé dans un endroit afin d’utiliser pour la prévision de l'individu non-étiquette Honnêtement, cette chaîne de travail n'est pas compatible avec uneapplication temps-réel La lecture et écriture prendront beaucoup de temps une fois queles données devient très grandes [17]

Figure 10: Flux écrire/lire données dans Sharding[16]

Trang 35

Alors que, une approche sont utilisée très largement ces années dernières C'estHadoop, Map-Reduce Hadoop soutient très fortement MongoDB Hadoop est unframework pour le traitement de Big Data Il fourni une méthode permettant d'accéderles données qui sont distribuées sur plusieurs machines Hadoop traitera les données,gérera les ressources à travers des computations et des ressources de réseaux Hadoop,généralement, se réfère à un cœur de technologie qui compose 4 composantsprincipales.

Hadoop YARN : est un plate-forme de gestion des ressources qui prends en

charge de gérer les ressources de calcul et l'utiliser pour la planification desapplications des utilisateurs

Hadoop Map-Reduce : est un modèle de programmation pour le traitement des

données massives Nous allons le voir immédiatement dans la suite

Hadoop Common : est un utilité commune qui soutient les autres modules de

l'Hadoop

Hadoop Distributed File System (HDFS): Un système de fichiers distribués

fournit l'accès de haut-débit aux données d'application

Map-Reduce est un paradigme important pour ce projet qui a besoin d'êtreétudié En général, Hadoop Map-Reduce est un framework en l'utilisant nous pouvonsfabriquer les applications pour traiter les données massives en parallèles sur les grandsclusters Map-Reduce est une technique du traitement et un modèle de programmationpour les calculs distribuées L'algorithme de Map-Reduce contient deux tâches

principaux institué Map et Reduce.

Map prend un ensemble des données et le convertit en autre ensemble des

données ó les éléments individuels sont décomposés en couple(paires des clé/valeur)

Reduce prend le résultat du Map comme une entrée et résume ces données dans

un ensemble des données avec la taille plus petit

Les tâches de Reduce sont toujours fonctionné après les tâches de Map L'imagequi suite décrit en détail le paradigme de Map-Reduce

Trang 36

Input phrase : est une étape de préparation des données pour Map Ici, nous

avons un Record Reader qui traduit chaque individu dans un fichier d'entrée et envoie

les données analysées au Map sous la forme de paires (clé/valeur).

Map: est une fonction définie par l'utilisateur, qui prend une série de paires

clé-valeur et traite chacune d'entre elles pour générer zéro ou plusieurs paires (clé/clé-valeur)

Intermediate Keys : les paires(clé/valeur) générées par le Map sont appelées

clés intermédiaires

Combiner: est un type de Reduce local qui regroupe des données similaires de

la phase de Map en ensembles identifiables Il prend les clés intermédiaires du Mapcomme une entrée et applique un code défini par l'utilisateur pour agréger les valeursdans un petit espace d'un Map Il ne fait pas partie de l'algorithme principalMapReduce, il est optionnel

Shuffle & Sort La tâche Réducteur commence par l'étape Shuffle et Sort Il télécharge les paires(clé/valeur) groupées sur la machine locale, ó le Reduce est en

cours d'exécution Les paires(clé/valeur) individuelles sont triées par clé dans une liste

de données plus grande La liste de données regroupe les clés équivalentes ensemble

afin que leurs valeurs puissent être itérées facilement dans la tâche Reduce.

Reducer phrase prend les paires(clé/valeur) groupées comme l’entrée, et lance

la fonction Reduce Ici, les données peuvent être regroupées, filtrées et combinées dans

un certain nombre de façons Une fois que l'exécution est terminée, elle donne zéro ouplusieurs paires(clé/valeur) à l'étape finale

Output phrase dans cette phase de sortie, nous avons un formateur de sortie

qui traduit les paires(clé/valeur) finales de la fonction Reducer et les écrit sur un

fichier ou la base de données en utilisant Record Reader.

Pendant Map-Reduce Job, Hadoop envoie les Map tâches et les Reduce tâchesaux serveurs appropriés dans un cluster Après avoir regardé en détail Map-Reduceparadigme, nous avons vu que Map-Reduce a toujours besoin d'un endroit qui fourniles entrées pour Map et un endroit afin de sauvegarder les sortis de Reducer [18]

Maintenant, nous allons voir comment combiner Hadoop MapReduce etMongoDB Mais, avant de parler la combinaison Hadoop – MapReduce et MongoDB.Concernant Map-Reduce, nous ne pouvons pas empêcher de parler de Map-Reducenatif dans MongoDB En effet, MongoDB permet d'utiliser Map-Reduce écrit enJavascript pour traiter les données Pourtant, nous avons besoin d'une vue pour lacomparaison entre MapReduce d'Hadoop et MapReduce natif dans MongoDB Lasuite sont les différences essentielles entre Hadoop Map-Reduce and MongoDB Map-Reduce

1 Hadoop Map-Reduce est écrit en Java, tandis que Map-Reduce natif est enJavaScript Javascript n'est pas une meilleur langage pour le traitement de Big Data àcause de la performance base Et l'utilisation de Javascript est limité quand nous avonsbesoin d'autre bibliothèques pour le développement comme Pig, Spark, Mahout,

Ngày đăng: 28/09/2020, 23:53

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w