slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Projet Système PowerPoint Presentation
Download Presentation
Projet Système

Loading in 2 Seconds...

play fullscreen
1 / 27

Projet Système - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

Projet Système. Gestion de bases de données réparties. LALUQUE Florian PERS Cyril ROSE Aurélien SAUJOT Steeven. Plan. Sujet Choix techniques Format des messages et donnée Connexion des serveurs Répartition Client Superviseur Conclusion Démo. Sujet.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Projet Système' - devona


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Projet Système

Gestion de bases de données réparties

LALUQUE Florian

PERS Cyril

ROSE Aurélien

SAUJOT Steeven

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

Sujet

Base de données répartie tolérante aux pannes

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide4

Choix techniques

  • Utilisation des sockets
  • Utilisation des sémaphores
  • Election d’un serveur-maitre
  • XMLHTTPRequestpour requêtes client et superviseur
  • Utilisation de JSON pour les messages

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide5

Donnée

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide6

Les messages

  • Une classe message contenant une map de string, object
  • Une méthode statique pour envoyer les messages

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide7

Format des messages

  • Envoie du message connect d’un serveurs à un autre:
  • Emission:

Message nouveau_message=new Message(newHashMap<String,Object>(){{ put("connect",port);}});

Message.envoyer_message(outcli, nouveau_message);

  • Reception:

Message message = null;

message=(Message)getP().jsonToJava(input);

Stringinput = in.nextLine();

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide8

{‘’Connect’’ :S3}

S2 : Serveur

S1 : Serveur

Connexion des serveurs

S2 : Client

S1 : Client

{‘’Jesuis’’: S1}

S3 : Client

S3 : Serveur

  • Utilisation d’un serveurs.properties pour qu’un nouveau serveur est connaissance des serveurs potentiels du réseau

Serveur hors-ligne

  • Un serveur possède :
    • Un thread principal
    • Autant de threads ( ServeurAction ) qu’il y’a d’autres serveurs sur le réseau

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide9

Répartition

  • Evènements déclencheurs
  • Etapes de la répartition

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide10

Répartition

  • Evènements déclencheurs :
    • Ajout d’une donnée
    • Nouveau serveur sur le réseau
    • Crash d’un serveur

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide11

Répartition

  • Election d’un serveur-maitre

Serveur 2

BD.size()=16

Serveur 1

BD.size()=15

Serveur 3

BD.size()=4

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide12

Répartition

  • Election d’un serveur-maitre

Serveur 2

BD.size()=16

Serveur 1

BD.size()=15

Serveur 3

BD.size()=4

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide13

Répartition

  • Envoi de la table d’ID

Serveur 2

ArrayList<1,3,4>

Serveur 3

Sujet

Choix techniques*

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide14

Répartition

  • Création d’une table d’occurrence

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide15

Répartition

  • Lecture de la table et envoi des instructions
  • TableEnvoi<Id,Serveur recepteur>

Serveur 3

Serveur 2

Serveur 1

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide16

Répartition

  • Echange des données

Serveur 2

Serveur 1

Serveur 3

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide17

Client

Les actions du clients :

Ajouter une donnée

Sélectionner une donnée

Supprimer une donnée

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide18

Client

Ajouter une donnée :

JavaScript

xhr.open(url)

Serveur.java

url.contains(HTTP)

ClientWebAction.java

url.contains(SELECT)

serv.AjouterDonnee()

JavaScript

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

responText

slide19

Client

Sélectionner une donnée :

JavaScript

xhr.open(url)

Serveur.java

url.contains(HTTP)

ClientWebAction.java

url.contains(SELECT)

serv.GetDonnee(id)

JavaScript

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

responText

slide20

Client

Supprimer une donnée :

JavaScript

xhr.open(url)

Serveur.java

url.contains(HTTP)

ClientWebAction.java

url.contains(SELECT)

serv.SupDonnee(id)

JavaScript

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

responText

slide21

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

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide22

{getIDFromSupervisor :1}

Superviseur

SERVEUR S1

(donnée : id = 1)

ClientAction

SUPERVISEUR

  • Recherche de la donnée contenant l’id 1

{rep_getID: donnée: id=1}

INTERFACE

SERVEUR S2

(donnée : id = 2)

ClientAction

RECEPTION S2

{rep_getID:not_exist}

Recherche de la donnée 1

RECEPTION S1

{getIDFromSupervisor :1}

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide23

Superviseur Web

Connaitre l’état des serveurs

Pour tous les serveurs

JavaScript

xhr.open(url, true)

=asynchrone

Si xhr.status = 200

Serveur OK

Sinon

Serveur Hors-ligne

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

slide24

Superviseur Web

Voir la répartition sur les serveurs

Pour tous les serveurs

xhr.open(url, true)

Serveur.java

url.contains(HTTP)

SuperviseurWebAction.java

url.contains(LISTE)

serv.getBaseDonnee(id)

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

JavaScript

responText

slide25

Superviseur Web

Voir la répartition sur les serveurs

Pour tous les serveurs

xhr.open(url, true)

Serveur.java

url.contains(HTTP)

SuperviseurWebAction.java

url.contains(LISTE)

serv.getBaseDonnee(id)

Sujet

Choix techniques

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo

JavaScript

responText

slide26

Conclusion

Le projet nous a permis :

D’approfondir nos connaissances en java

D’utiliser les sockets

De gérer des accès concurrents

Sujet

Choix techniques

Format des messages et donnée

Connexion des serveurs

Répartition

Client

Superviseur

Conclusion

Démo