La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Projet Système Gestion de bases de données réparties LALUQUE Florian PERS Cyril ROSE Aurélien SAUJOT Steeven.

Présentations similaires


Présentation au sujet: "Projet Système Gestion de bases de données réparties LALUQUE Florian PERS Cyril ROSE Aurélien SAUJOT Steeven."— Transcription de la présentation:

1 Projet Système Gestion de bases de données réparties LALUQUE Florian PERS Cyril ROSE Aurélien SAUJOT Steeven

2 Plan Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo

3 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Sujet Base de données répartie tolérante aux pannes

4 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Choix techniques Utilisation des sockets Utilisation des sémaphores Election d’un serveur-maitre XMLHTTPRequest pour requêtes client et superviseur Utilisation de JSON pour les messages

5 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Donnée

6 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Les messages Une classe message contenant une map de string, object Une méthode statique pour envoyer les messages

7 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Format des messages Envoie du message connect d’un serveurs à un autre: Emission: Message nouveau_message=new Message(new HashMap (){{ put("connect",port);}}); Message message = null; message=(Message)getP().jsonToJava(input); Reception: Message.envoyer_message(outcli, nouveau_message); String input = in.nextLine();

8 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Connexion des serveurs Utilisation d’un serveurs.properties pour qu’un nouveau serveur est connaissance des serveurs potentiels du réseau S3 : Serveur S3 : Client S2 : Serveur S2 : Client S1 : Serveur S1 : Client Serveur hors- ligne {‘’Connect’’ :S3} {‘’Jesuis’’: S1} Un serveur possède : Un thread principal Autant de threads ( ServeurAction ) qu’il y’a d’autres serveurs sur le réseau

9 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Evènements déclencheurs Etapes de la répartition

10 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Evènements déclencheurs : Ajout d’une donnée Nouveau serveur sur le réseau Crash d’un serveur

11 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Election d’un serveur-maitre Serveur 1 BD.size()=15 Serveur 2 BD.size()=16 Serveur 3 BD.size()=4

12 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Election d’un serveur-maitre Serveur 1 BD.size()=15 Serveur 2 BD.size()=16 Serveur 3 BD.size()=4

13 Sujet Choix techniques* Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Envoi de la table d’ID Serveur 2 Serveur 3 ArrayList

14 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Création d’une table d’occurrence IDServeur possédant la donnée 1S1,S2,S3 2S1 3S2,S3

15 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Lecture de la table et envoi des instructions TableEnvoi Serveur 1Serveur 2Serveur 3 IDRecept 1Serveur 2 3Serveur 3 IDRecept 2Serveur 1 IDRecept 1Serveur 1 2

16 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Répartition Echange des données Serveur 1 Serveur 2 Serveur 3

17 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Client Les actions du clients : Ajouter une donnée Sélectionner une donnée Supprimer une donnée

18 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Client Ajouter une donnée : JavaScript Serveur.java ClientWebAction.java xhr.open(url) url.contains(HTTP) serv.AjouterDonnee() JavaScript responText url.contains(SELECT)

19 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Client Sélectionner une donnée : JavaScript Serveur.java ClientWebAction.java xhr.open(url) url.contains(HTTP) serv.GetDonnee(id) JavaScript responText url.contains(SELECT)

20 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Client Supprimer une donnée : JavaScript Serveur.java ClientWebAction.java xhr.open(url) url.contains(HTTP) serv.SupDonnee(id) JavaScript responText url.contains(SELECT)

21 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Superviseur Connecter aux autres serveurs uniquement lorsqu’il y’a une requête Connaitre l’état des serveurs Voir la répartition sur les serveurs

22 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Superviseur SUPERVISEUR RECEPTION S2 INTERFACE SERVEUR S1 (donnée : id = 1) ClientAction SERVEUR S2 (donnée : id = 2) ClientAction {rep_getID: donnée: id=1} {rep_getID: not_exist} {getIDFromSupervisor :1} Recherche de la donnée 1 RECEPTION S1 Recherche de la donnée contenant l’id 1

23 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Superviseur Web Connaitre l’état des serveurs JavaScript xhr.open(url, true) Pour tous les serveurs Si xhr.status = 200 Serveur OK Sinon Serveur Hors-ligne =asynchrone

24 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Superviseur Web Voir la répartition sur les serveurs Pour tous les serveurs xhr.open(url, true) Serveur.java SuperviseurWebAction.java url.contains(HTTP) serv.getBaseDonnee(id) url.contains(LISTE) JavaScript responText

25 Sujet Choix techniques Connexion des serveurs Répartition Client Superviseur Conclusion Démo Superviseur Web Voir la répartition sur les serveurs Pour tous les serveurs xhr.open(url, true) Serveur.java SuperviseurWebAction.java url.contains(HTTP) serv.getBaseDonnee(id) url.contains(LISTE) JavaScript responText

26 Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo Conclusion Le projet nous a permis : D’approfondir nos connaissances en java D’utiliser les sockets De gérer des accès concurrents

27 Démo


Télécharger ppt "Projet Système Gestion de bases de données réparties LALUQUE Florian PERS Cyril ROSE Aurélien SAUJOT Steeven."

Présentations similaires


Annonces Google