Brevet FR2840086A1 — publié le 20031128

le dispositif de cache utilise comme memoire de stockage temporaire un disque dur. La presente invention concerne un procede de synchronisation selective d'un systeme de bases de donnees d'objets. I1 existe aujourd'hui des procedes de synchronisation globale d'un systeme de bases de donnees d'objets interconnectees par un dispositif de transmission rapide de donnees. Parmi ceux- ci, le pro cede de synchronisation en ma^tre- es clave tel qu' il e st mis en oeuvre par exemple dans le systeme ZEO (marque deposee) fonctionne selon le principe suivant: - une base de donnees d'objets ma^tre recoit de facon synchrone des requites de lecture et d'ecriture d'objets provenant d'une pluralite de bases de donnees d'objets esclaves connectees a celle-ci par un dispositif de transmission rapide de donnees; - chaque base de donnees d'objets esclave connectee a la base de donnees d'objets centrale conserve une copie des derniers objets lus dans une memoire cache. Ce procede de synchronisation aboutit a copier ['ensemble des objets de la base de donnees d'objets ma^tre sur chacune des bases de donnees d'objets esclaves auxquelles elle est connectee. Ce procede ne permet pas de ne copier qutune partie des objets ou qu'une partie des attribute des objets de la base de donnees ma^tre sur chacune des bases de donnees d'objets esclaves auxquelles elle est connectee. Ce procede necessite un dispositif de transmission de donnees rapide et fiable, et n'est done pas adapte a une mise en oeuvre sur une pluralite de bases de donnees d'objets interconnectees par un dispositif de transmission de donnees rents ou peu gables. Ce procede ne permet pas de synchroniser une pluralite de bases de donnees d'objets a une autre pluralite de bases de donnees d'objets sans passer par une base de donnees d'objets ma^tre centrale et unique. L'invention vise a remedier a ces inconvenients en creant un procede de synchronisation selective d'objets mis en oeuvre par un dispositif de synchronisation associe a chaque base de donnees d'objets. L'invention a done pour objet un procede de synchronisation du type precise caracterise par la possibilite pour chaque base de donnees d'objets du systeme de jouer le r81e de base de donnees d'objets ma^tre, par ['association a chaque base de donnees d'objets d'un dispositif permettant de selectionner dans le processus de synchronisation une partie des objets ou une partie des attribute de chaque objet, par la mise en oeuvre d'un procede asynchrone de lecture I ecriture d'objets compatible avec un dispositif de transmission de donnees peu fiable ou lent, par la transmission d'une requete entre la base de donnees d'objets esclave et la base de donnees maitre pour selectionner une partie des objets et par la transmission d'un filtre entre la base de donnees d'objets esclave et la base de donnees ma^tre pour selectionner une partie des attribute des objets. Pe la sorte, le procede de synchronisation n'aboutit pas a copier ['ensemble des objets et ltensemble des attribute d'objets sur chaque base de donnees d'objets et ne necessite pas de dispositif de transmission de donntes rapide ou gable. Le procede de synchronisation selon ['invention peut aussi comporter une ou plusieurs des caracteristiques su*antes: - le pro cede de lecture / ecriture asynchrone comp orte une etape de chi ffrement I dechiff ement des objets; - le procede de lecture / ecriture asynchrone comporte une etape de compression de donnees; - le procede de lecture / ecriture asynchrone comporte une etape de conversion de format de donnees. L'invention sera mieux comprise a ['aide de la description qui va suivre, donnee uniquement a titre d'exemple et faite en se referent au dessin annexe. Le procede de synchronisation selon ['invention est mis en oeuvre sur un systeme represente a la figure 1 et qui comporte une base de donnees d'objets ma^tre (4) connectee par reseau rapide a un dispositif de synchronisation ma^'tre (5) et une base de donnees d'objets esclave (1) connectee par reseau rapide a un dispositif de synchronisation esclave (2) . Le dispositif de synchronisation esclave (2) est connecte par reseau rapide a un serveur de fichiers esclave (3). Le dispositif de synchronisation ma^tre (5) est connecte par reseau rapide a un serveur de fichiers (6). Le procede de synchronisation selective mis en oeuvre par les dispositifs de synchronisation du systeme decrit precedemment comporte une etape d'initialisation. Lors de cette etape, le dispositif de synchronisation esclave (2) communique par reseau asynchrone a teas debit une requ8te SQL et une feuille de style XSL au dispositif de synchronisation maitre (5). Le dispositif de synchronisation ma^tre (5) cree dans le serveur de fichiers une extraction des objets de la base de donnees d'objets ma^tre (6) correspondent a ladite requete SQL sous forme de fichiers XML convertis par ladite feuille de style XSL. Le dispositif de synchronisation esclave (2) telecharge dans le serveur de fichiers esclave (3) le repertoire cree sur le serveur de fichiers maitre (6) et utilise les protocole RSYNC et SSH (marque deposee) pour comprimer et chiffrer les donnees echangees. Le dispositif de synchronisation esclave (2) importe les fichiers XML telecharges dans la base de donnees d'objets esclave (1) en effectuant une conversion de fichiers inverse en fonction de ladite feuille de style XSL. Une fois ltetape d'initialisation effectuee, une etape de synchronisation est repetee de facon periodique. Le dispositif de synchronisation esclave (2) exporte sous forme de fichier XML stockes dans le serveur de fichiers esclave (3) ['ensemble des objets importes lors *une precedente etape en appliquant la feuille de style XSL transmise lors de l'etape d'initialisation. Le dispositif de synchronisation esclave (2) teletransmet les fichiers crees dans le serveur de fichiers esclave (3) vers un repertoire cree sur le serveur de fichiers ma^tre (6) en utilisant les protocole RSYNC et SSH (marque deposee) pour comprimer et chiffrer les donnees echangees. Le dispositif de synchronisation maitre (5) calcule la difference entre les fichiers XML extraits et convertis lors d'une etape precedente et les fichiers teletransmis par le dispositif de synchronisation esclave (2). Le dispositif de synchronisation maitre (5) modifie la base de donnees d'objets ma^tre (4) en appliquant une conversion de fichiers inverse desdits fichiers de difference calcules. Le dispositif de synchronisation ma^'tre (5) cree dans le serveur de fichiers ma^tre (6) une extraction des objets de la base de donnees d'objets ma^tre (6) correspondent a ladite requete SQL sous forme de fichiers XML convertis par ladite feuille de style XSL. Le dispositif de synchronisation esclave (2) telecharge dans le serveur de fichiers esclave (3) le repertoire cree sur le serveur de fichiers ma^tre (6) et utilise les protocoles RSYNC et SSH (marque deposee) pour comprimer et chiffrer les donnees echangees. Le dispositif de synchronisation esclave (2) calcule la difference entre les fichiers XML extraits et convertis lors d'une etape precedente et les fichiers telecharges depuis le serveur de fichiers maitre (6). Le dispositif de synchronisation esclave {2) modifie la base de donnees d'objets esclave (l) en appliquant une conversion inverse de format aux fichiers de difference calcules en fonction de ladite feuille de style XSL. Il apparait clairement qu'un procede de synchronisation selective d'un systeme de bases de donnees d'objets selon ['invention remedie aux inconvenients des procedes de synchronisation ma^tre-esclave classiques. En effet, le procede de synchronisation mis en oeuvre par un dispositif de synchronisation associe a chaque base de donnees d'objets permet de synchroniser de facon selective un systeme de base de donnees d'objets interconnectees par un dispositif de transmission de donnees asynchrone a teas debit et permet a chaque base de donnees d'objets de jouer le role de ma^'tre. REVENDICATIONS 1. Procide de synchronisation ma^tre-esclave d'un systene de bases de donnees d'objets caracterise en ce qutil consiste dans une etape d'initialisation a transmettre une requete de selection d'objets et un filtre de selection d'attributs et a echanger dans une etape de synchronisation les mises a jour des attribute filtres des objets selectionnes dans chaque base de donnees *objets lors de ladite etape d'initialisation. 2. Procede selon la revendication la revendication 1, caracterise par une etape de conversion de format de donnees lors de l'echange des mises a jour des attribute filtres des objets selectionnes. 3. Procede selon la revendication la revendication 1 ou 2, caracterise par une etape de compression de donnees lors de l'echange des mises a jour des attribute filtres des objets selectionnes. 4. Procede selon l'une quelconque des revendications 1 a 3, caracterise par une etape de chiffrement de donnees lors de l'echange des mises a jour des attribute filtres des objets