Brevet FR3087021A1 — publié le 20200410

RÉPLICATION DE BASE DE DONNÉES DÉFINIS PAR LOGICIEL CONTEXTE [0001] De façon générale, l'invention concerne des ordinateurs et des logiciels pour ordinateurs, et en particulier des procédés de réplication transversale de bases de données, ainsi que des produits-programmes d'ordinateur pour répliquer des données d'une base de données à une autre base de données, [0002] Dans un monde. où tout est interconnecté, tous les grands fiurnisseurs de marchandises et de services ont maintenant installé des systèmes de base de données dotés des caractéristiques, 10 des spécifications et des coûts des produits et services offerts. Les contenus des bases de données sont rendus accessibles simultanément à de nombreux clients potentiellement en ligne dans le monde entier. Les clients en ligne ont donc l'opportunité d'effectuer des recherches dans les bases de données et de finaliser des transactions commerciales via l'utilisation de logiciels d'application spécifique en ligne qui leur permettent. de réserver et d'acheter divers produits et 15 services, [0003] La réplication de base de données transversale (XDCR) est la copie électronique fréquente de données d'une base de données d'un ordinateur ou d'un serveur à une base de données d'un autre ordinateur ou serveur, améliorant ainsi la disponibilité et la fiabilité des données en stockant les données dans des emplacements multiples. Lorsque la XDCR est mise 20 en oeuvre des changements affectant des données globales et/ou des données locales sont transférés à travers un ou plusieurs liens de réplication de base de données. Le résultat est une base de données distribuée dans laquelle les utilisateurs peuvent accéder aux données pertinentes à leurs tâches sans interférer avec le travail des autres, [0004] Quand bien même la XDCR apporte de nombreux avantages, tels qu'une vitesse 25 augmentée des interrogations ainsi que des coûts de communication réduits, elle amène les inconvénients d'une complexité augmentée, particulièrement au regard de la configuration, de l'initialisation, de la maintenance et des modifications. Au furet à mesure que le nombre de liens de réplication de base de données augmente, la création et la maintenance des systèmes de base de données distribuée exigent souvent des procédures complexes, des ressources informatiques 10 accrues et un temps de traitement plus long. Par exemple, l'ajout d'un nouveau serveur peut présenter une lourdeur non négligeable en matière de ressources informatiques pour modifier et créer une multitude r.e liens de réplication afin d'ajouter le nouveauserveur dans une infrastructure de répiication existante. [0005) Afin de diminuer la complexité de configuration et de maintenance des systèmes de bases de données distribuées répliquées transversalement, il y a un besoin continu pour des solutions améliorées de réplication de base de données ainsi que des procédés améliorés et des produits-programmes informatiques pour définir les liens de réplication d'une base de données. RÉSUME Dans un mode de réalisation de l'invention, un système peut être fourni. Le système 10 peut inclure un processeur et une mémoire stockant des instructions qui lorsqu'elles sont exécutées par le processeur peuvent amener le système à recevoir au moins un marqueur qui peut être associe a une pluralité de bases de données et recevoir au moins une règle de liaison qui peut inclure un sélecteur de marqueur de source identifiant un marqueur de source sélectionné à partir de ledit au moins un marqueur et un sélecteur de marqueur de destination identifiant un 15 marqueur de destination sélectionné à partir d'au moins un marqueur. Le système peut être configure pour appliquer ladite au moins une règle de liaison afin de déterminer au moins un lien entre au moins une base de données source dans ta pluralité des bases de données et au moins une base de données de destination sélectionnée dans la pluralité des bases de données. Ladite au moins une base de données source peut être associée au marqueur de source et ladite au moins 20 une base de données de destination peut être associée au marqueur de destination. Le système peut être configure pour générer un premier fichier de configuration XDCR basé, au moins en ie., sur ledit au moins un lien, dans lequel le premier fichier de configuration XDCR peut identifier ladite au moins une base de données source et ladite au moins une base de données de destination. Le système peut être corifkure pour effectuer une première réplication XDCR de la 25 pluralité des bases de données basée, au moins en parti; sur le premier fichier de configuration XDCR. En outre, chacune de la pluralité des bases de données peut être associée à une base de données. [0007] Dans un autre mode de réalisation, le système peut être configure pour recevoir moins une condition de liaison et peut appliquer ladite au moins une règle de liaison sur la base, 30 en partie, de la satisfaction de ladite au moins une condition de liaison. [0008] Selon encore un autre mode de réalisation, le système peut être configure pour réappliquer ladite au moins une règle de liaison afin de déterminer au moins un lien actualisé entre ladite une base de données source et ladite au moins une base de données de destination, afin de générer un deuxième fichier de configuration XDCR basé, au moins en partie, sur ledit au moins un lien actualisé et mettre en oeuvre une deuxième réplication XDCR de la pluralité des bases de données basée, au moins en partie, sur le deuxième fichier de configuration XDCR', [0009] En outre, le système peut être contiguré pour recevoir une fréquence de liaison définissant un intervalle de temps entre l'application de ladite au moins une règle de liaison et la reapplication de ladite au moins une règle de liaison. Le système peut par ailleurs être configure 10 pour appliquer ladite au moins une règle de liaison une première fois et rappliquer ladite au moins une règle de liaison une deuxième fois, dans lequel la deuxième fois est basée, au moins en partie, sur la première fois et, au moins en partie, sur la fréquence de liaison, [0010] Dans un autre mode de réalisation, le système peut être configure pour établir une relation hiérarchique entre ladite au moins une base de données source et ladite au moins une 15 base de données de destination lorsque la première réplication XDCR de la pluralité des bases de données est réalisée. En outre, ledit au moins un marqueur de source est associé à un premier indicateur de niveau hiérarchique et ledit au moins un marqueur de destination est associé à un deuxième indicateur hiérarchique, Ladite au moins une règle de liaison peut inclure un premier sélecteur de niveau hiérarchique identifiant le premier indicateur de niveau hiérarchique et ladite 20 au moins une règle de liaison peut inclure un deuxième sélecteur de niveau hiérarchique identifiant le deuxième indicateur de niveau hiérarchique. La relation hiérarchique peut être établie entre la base de données source et la base de données de destination sur la base d'au moins un lien. Au moins une condition de liaison peut être reçue et ladite au moins une règle de liaison peut être appliquée sur la base, au moins en partie, de la satisfaction de ladite au moins 25 une condition de liaison. [0011] Selon un mode de réalisation de l'invention, un procédé de réplicarion de base de données par un ordinateur peut être fourni. L'ordinateur peut recevoir au moins un marqueur qui est associé à une pluralité de base de données, L'ordinateur peut par ailleurs recevoir au moins une règle de liaison qui inclut un sélecteur de marqueur de source identifiant un marqueur de 30 source sélectionné à partir dudit au moins un marqueur et un sélecteur de marqueur de destination identifiant un marqueur de destination sélectionné à partir dudit au moins un marqueur'L'ordinateur peut ensuite appliquer ladite au moins une règle de liaison afin de déterminer au moins un lien entre au moins une base de données source dans la pluralité des bases de données et au moins une base de données de destination sélectionnée dans la pluralité des bases de données. En outre, laditc au moins une base de données source peut être associée au marqueur de la source et ladite au moins une base de données de destination peut être associée au marqueur de la destination. Un premier fichier de configuration XDCR peut être généré l'ordinateur basé, au moins en partie, sur ledit au moins un lien, dans lequel le premier fichier configuration XDCR peut identifier ladite au moins une base de données source et ladite au moins une base de données de destination. L'ordinateur peut mettre en oeuvre une première 10 réplication XDCR. de la pluralité des bases de données basée au moins en partie sur le premier fichier de configuration XDCR. Dans certains modes de réalisation, le système peut recevoir au moins une condition de liaison et peut appliquer ladite au moins une règle de liaison sur la base, au moins en partie, de la satisfaction de ladite au moins une condition de liaison. [0012j Dans un autre mode de réalisation, l'ordinateur, peut réappliquer ladite au moins une 15 règle de liaison afin de déterminer au moins un lien actualisé entre ladite au moins une base de données source et ladite au moins une base de données de destination, L'ordinateur peut générer un deuxième fichier de configuration XDCR basé, au moins en partie, sur ledit au moins un lien actualisé et mettre en oeuvre une deuxième réplication XDCR de la pluralité des bases de données basée, au moins en partie, sur le deuxième fichier de configuration XDCR. En outre, 20 l'ordinateur peut recevoir une fréquence de liaison définissant un intervalle de temps entre l'application de ladite au moins une règle de liaison et la reapplieation de ladite au moins une règle de liaison. Ladite au moins une règle de liaison peut être appliquée une première fois et peut être réappliquée une deuxième fois, dans laquelle la deuxième fois est basée, au moins en partie, sur la première fois et, au moins en partie, sur la fréquence de liaison. 25 [0013] Dans certains modes de réalisation, une relation hiérarchique peut être établie entre ladite au moins une base de données aurez et ladite au moins une base de données de destination lorsque la première réplication XDCR de ta pluralité des bases de données est réalisée. En outre, la relation hiérarchique peut être établie entre la base de données source et la base de données de destination sur la base d'au moins un lien. Ledit au moins un marqueur de 30 source est associé à un premier indicateur de niveau hiérarchique et ledit au moins un marqueur de destination est associé à un deuxième indicateur hiérarchique, Ladite au moins une règle de liaison peut inclure un premier sélecteur de niveau hiérarchique identifiant le premier indicateur de niveau hiérarchique et un deuxième sélecteur de niveau hiérarchique identifiant le deuxième indicateur de niveau hiérarchique. Au moins une condition de liaison peut être reçue et ladite au moins une règle de liaison peut être appliquée sur la base, au moins en partie, de la satisfaction de ladite au moins une condition de liaison, 100141 Dans un autre mode de réalisation, un produit-programme d'ordinateur peut être fourni qui inclut un support de stockage non transitoire lisible par ordinateur incluant des instructions. Les instructions peuvent être configurées de sorte que lorsqu'elles sont exécutées par le processeur elles amènent le processeur à recevoir au moins un marqueur qui peut être associé à 10 une pluralité de bases de données et recevoir au moins une règle de liaison qui peut inclure un sélecteur de marqueur de source identifiant un marqueur de source et un sélecteur de marqueur de destination identifiant un marqueur de destination sélectionné à partir d'au moins un arqueur. Le système peut être confiuuré pour appliquer ladite au moins une règle de liaison afin de déterminer au moins un lien entre au moins une base de données source dans la pluralité des 15 bases de données el au moins une base de données de destination sélectionnée dans la pluralité des bases de données. Ladite au moins une base de données source peut être associée au marqueur de source et ladite au moins une base de données de destination peut être associée au marqueur de destination. Le système peut être configuré pour générer un premier fichier de configuration XDCR basé, au moins en partie, sur ledit au moins un lien, dans lequel le premier 70 fichier du configuration XDCR peut identifier ladite au moins une base de données source et ladite au moins une base de données de destination. Le système peut être configure pour effectuer une première réplication XDCR de la pluralité des bases de données basée, au moins en partie, sur le premier fichier de configuration XDCR. [0015] Le résumé ci-dessus peut présenter une vue d'ensemble simplifiée de certains des 25 modes de réalisation de l'invention afin de fournir une compréhension basique de certains aspects de l'invention discutes dans les présentes. Le résumé ne prétend pas apporter une vue d'ensemble exhaustive de l'invention et n'est pas non plus destiné à identifier des éléments clés ou critiques quelconques ou à limiter la portée de l'invention. Le seul but du résumé est de présenter simplement quelques concepts sous une forme simplifiée en guise de préambule à la 30 description détaillée présentée ci-dessous. 6 BRÈVE DESCRIPTION DES DESSINS [0016] Les dessins en annexe, faisant partie intégrante des présentes, illustrent des modes variés de réalisation de l'invention et, avec la description générale de l'invention donnée ci- dessus et la description détaillée des modes de réalisation donnée ci-dessous, servent à expliquer les modes de réalisation de l'invention. [0017] La FIG. I est un diagramme illustrant la topologie d'une rép]ication de hase de données définie par logiciel entre une pluralité de bases de données. [00]8] La FIG. 2 est une vue schématique d'un système informatique exemplaire de la FIG. 10 [0019] La FIG, 3A est un premier échantillon de code illustrant la structure de réplication exemplaire avec des règles directes exemplaires. [0020] La HG, 38 est une vue schématique illustrant la topographie d'une base de données exemplaire correspondant à la structure de réplication exemplaire et aux régies directes exemplaires de la FIG. 3A, 15 [0021] La FIG. 4A est un deuxième échantillon' de code illustrant une structure de réplication exemplaire avec des règles d'arbre exemplaires. [0022] La FIG. 4B est une vue schématique illustrant une topographie de base de données exemplaire correspondant à la structure de réplication exemplaire et aux règles exemplaires de l'arbre de la FIG. 4A. 20 [0023] La FIG. 5 est un organigramme illustrant une séquence d'opérations qui peut être mise en oeuvre par un système de base de données exemplaire pour définie par logiciel. [9024] La HG. 6 est un organigramme ihlus la réplication de base de données définie par lu aliser la réplication XDCR ant un procédé exernp re pour mettre en oeuvre kief pour une ou plusieurs bases de données. 25 DESCRIPTION DÉTAILLÉE [0025] Des modes de réalisation de l'invention fournissent des procédés, des systèmes et des produits-programmes d'ordinateur pour la réplication transversale de base de données. De façon générale, les modes de réalisation de l'invention peuvent traiter des marqueurs et des règles associés à une pluralité de bases de données pour générer des liens de réplication et une 30 topologie de réplication. [0026] Les liens de base de données peuvent comprendre et/ou consistent d'un pointeur qui définit une voie de communication d'un serveur de base de données à un autre serveur de base de données. En outre, un pointeur de lien peut être défini comme entrée dans un tableau de dictionnaire de données et/ou dans un logiciel de réplication, par ex. Couebbase Servere, Une connexion de lien de base de données peut être à sens unique, par ex., la base de données A est reliée à la base de données B, une connexion de lien de base de données peut être à double sens, par ex, une hase de données A est reliée à une base de données B et une base de données B est reliée à une base de données A, ou une connexion de liens de base de données peut être circulaire, par ex. une base de données A est reliée à une base de données B, une base de données B est reliée à une base de données Cet une base de données C est reliée à une base de données A. Dans un mode de réalisation, des utilisateurs locaux peuvent par exemple accéder aux données à partir d'une base de données locale qui est répliquée en utilisant une liaison à sens unique à partir d'une base de données distante. Cependant, si l'utilisateur local actualise les données auxquelles il a accédé dans la base de données locale, la base de données distante n'est mise à jour que s'il va également un lien de réplication de la base de données locale à la base de données distante, c.-à-d, une liaison à double sens. Pour que cette connexion soit possible, chaque base de données dans le système distribué doit avoir un identifiant unique, par exemple le nom d'une base de données globale identifiant de façon unique un serveur de base de données dans un système distribué ou une convention d'appellation hiérarchique, par ex. / ( ). Deux centres de données peuvent par exemple être nommés « DC1 » et «DC2 » et chaque centre de données peut contenir une base de données nommée « DB »; les deux bases de données peuvent ainsi être identifiées de façon unique par « DC1/DB » et «DC2/DB », [0027] Dans des modes de réalisation, une base de données peut être une base de données distante et dans d'autres modes de réalisation, une base de données distante peut inclure une ou plusieurs bases de données, un stockage, un ou plusieurs serveurs, un ou plusieurs composants intergiciels, des bus de services d'entreprise et/ou une ou plusieurs applications. En outre, dans d'autres modes de réalisation, une base de données distante peut effectuer des fonctions telles qu'une gestion administrative, le stockage de données opérationnelles, la synchronisation de données pour les données opérationnelles, le stockage de données statiques, la synchronisation de données pour les données en cache, des requêtes d'interrogations, des flux de registres et de 8 statistiques, des intergiciels et/ou l'administration des interfaces de programmes d'application. Par ailleurs, les serveurs peuvent inclure des serveurs de registres, des serveurs d'administration., des serveurs de distribution de fichiers et des serveurs d'applications ; les données opérationnelles peuvent inclure des vois, des compteurs, des rendements, etc. Dans d'autres modes de réalisation, une base de données peut être un container logique pour des documents, En outre, la XDCR peut être utilisée pour répliquer uniquement un sous-ensemble des données dans une base de données et par conséquent des sous-ensembles de données peuvent être sélectionnés pour la réplication de base de données, [0028] Dans d'autres modes de réalisation, une base de données peut inclure et/ou consister 10 d'au moins un tableau ou un fichier de données ou une portion d'un tableau ou un fichier de données. Dans un autre mode de réalisation, une base de données peut comprendre et/ou consister d'une collection de tableaux ou de fichiers, c,-à-d. que de multiples tableaux ou fichiers peuvent constituer une base de données. La réplication entre bases de données a donc des significations différentes selon le mode de définition de la base de données, tin système peut par 15 exemple inclure une seule base de données qui a deux tableaux ou fichiers (c.-à-d. deux sous- bases de données) et la base de données peut s'autorépliquer ; la réplication maintient ainsi les deux tableaux ou fichiers dans le même état, dans lequel les tableaux ou fichiers sont situés au même endroit physique. En outre, un système peut inclure une seule base de données qui a un tableau ou fichier partitionné en deux parties et la base de données s'autoréplique, dans lequel la 20 première partie a une pluralité d'enregistrements et la deuxième partie à une pluralité d'enregistrement qui doit être conservé dans le même état que la première pluralité d'enregistrements. La réplication peut ainsi contenir les deux parties du tableau ou fichiers dans le même état, dans laquelle les deux parties de tableaux ou fichiers sont physiquement situées au ,e endroit. Dans un autre exemple, un système peut inclure deux bases de données situées à 25 distance; dans lequel chaque base de données inclut un ou plusieurs tableaux ou fichiers et les deux bases de données situées à distance s'autorépliquent, La réplication peut ainsi maintenir les deux bases de données, incluant tous leurs tableaux ou fichiers respectifs, dans le même état. Par ailleurs, chaque base de données peut résider à des endroits différents à l'intérieur d'un réseau. 100991 Dans des modes de réalisation, la XDCR peut impliquer la réplication active de 30 données dans de multiples bases de données géographiquement diverses soient pour la reprise après sinistre ou pour rapprocher les données de leurs utilisateurs pour un accès aux données plus 9 rapide. Dans d'autres modes de réalisation, la réplication de base de données peut inclure de dupliquer les contenus d'au moins une portion des enregistrements de données détenus dans une base de données source vers une base de données cible. La réplication peut impliquer de dupliquer !es contenus et des formats entiers des enregistrements de données de sorte que les 5 bases de données répliquées soient identiques et donc interchangeables les unes avec les autres. En outre, la réplication peut aussi impliquer de dupliquer seulement les contenus d'une portion des enregistrements de données et pas nécessairement de dupliquer le format des enregistrements de données. La réplication peut ainsi impliquer la transformation de données ou le filtrage, dans lequel la donnée source est altérée d'une certaine façon avant d'être appliquée à une base de 10 données cible. Par ailleurs, les données répliquées peuvent inclure à la fois des informations de base de données absolues ainsi que des informations de base de données relatives. Dans des modes de réalisation, la réplication et la copie des données peuvent être effectuées au niveau du fichier. Dans d'autres modes de réalisation, d'autres niveaux de réplication/copie peuvent être effectués, par ex., une opération de copie de disque, ID [0030] Faisant référence à la FIG. 1 et conformément aux modes de réalisation de l'invention, un environnement de base do données exemplaire 10 peut inclure une base de données 12. [0031] Une pluralité de marqueurs, tels qu'un marqueur 14, un marqueur 16 et un marqueur 18, peut être associée à la base de données 12. Dans d'autres modes de réalisation, les 20 bases de données peuvent être associées à un nombre quelconque de marqueurs. Des marqueurs peuvent être utilisés pour désigner une multitude de descripteurs d'une base de données particulière, incluant des descripteurs exemplaires tels qu'un niveau de hiérarchie de base de données, une information de flux désirée, une fonctionnalité de base de données, etc. [0032] Un environnement de base de données exemplaire 10 peut par ailleurs inclure des 25 bases de données supplémentaires : une base de données 20 et des marqueurs associés 22, 24 et 26 ; une base de données 28 et des marqueurs associés 30, 32 et 34; une base de données 36 et des marqueurs associés 38, 40 et 42 ; une base de données 44 et des marqueurs associés 46, 48, et 50 ; une base de données 52 et des marqueurs associés 54, 56 et 58; et une base de données 60 et des marqueurs associés 62, 64 et 66. 30 [0033] Dans un mode de réalisation illustratif, les marqueurs associes aux mises de données respectives peuvent attribuer un niveau hiérarchique à chaque base de données. Par exemple. une IO valeur « A » peut être attribuée au marqueur 14 associé à la base de données 12 pour désigner un premier niveau ou un niveau supérieur de hiérarchie et peut par ailleurs signifier que la base de données 12 est une base de données principale. De même, une valeur «B » peut être attribuée au marqueur 22 associé à la base de données 20 et au marqueur 30 associé à la base de données 28 pour désigner une hiérarchie de deuxième niveau et peut par ailleurs signifier que la base de données 20 et la base de données 28 sont des bases de données secondaires. En outre, une valeur « C» peut être attribuée au marqueur 38 associé à la base de données 36, au marqueur 46 associé à la base de données 44, au marqueur 54 associé à la base de données 52 et au marqueur 62 associé à la base de données 60 pour désigner une hiérarchie de troisième niveau et peut par 10 ailleurs signifier que la base de données 36, la base de données 44, la base de données 52 et la base de données 60 sont des bases de données de troisième niveau, [00341 Un mode de réalisation illustratif peut par ailleurs inclure des marqueurs pour désigner une fonctionnalité d'un inventaire ou de registres. Par exemple, une valeur « mv » peut être affectée au marqueur 16 associé à la base de données 12, au marqueur 24 associé la base de 15 données 20, au marqueur 32 associé à la base de données 28 au marqueur 40 associé à la base de données 36, au marqueur 48 associé à la base de données 44, au marqueur 56 associé à la base de données 52 et au marqueur 64 associé à la base de données 60. [90351 Un mode de réalisation illustratif peut aussi inclure des marqueurs pour désigner une fonctionnalité de statistiques. Par exemple, une valeur .4 stat » peut être affectée au marqueur 18 70 associé à la base de données 12, au marqueur 26 associé à la base de données 20, au marqueur 34 associé à la base de données 28, au marqueur 42 associé à la hase de données 36 au marqueur 50 associé à la base de données 44, au marqueur 58 associé à la base de données 52 et au marqueur 66 associé à la base de données 60. [0036] Dans un mode de réalisation illustratif, des conditions relatives aux marqueurs 25 peuvent être établies pour identifier les bases de données sur la base de leurs marqueurs affectés, éliminant la nécessité de se référer aux bases de données sur la base de leurs identifiants uniques. Ainsi, les liens de base de données peuvent être établis sur la base de conditions relatives aux marqueurs. Par exemple, les liens peuvent être établis automatiquement sur la base de conditions qui exigent que les bases de données ayant une valeur de marqueur associée « A » et une valeur 30 de marqueur « inv » se lient aux bases de données associées avec une valeur de marqueur « B » et une valeur de marqueur « inv », par ex. le lien de réplication 86 peut être établi de la base de 11 données 12 à la base de données 20 et le lien de réplication 88 peut être établi de la base de données 12 à la base de données 28. Dans un autre exemple, des liens peuvent être établis automatiquement SIVE la base de conditions qui exigent que des bases de données ayant une valeur de marqueur associée « B » et une valeur de marqueur « stat » se lient aux bases de données associées à une valeur de marqueur «A » et une valeur de marqueur «stat », par ex. un lien de réplication 90 peut être établi de la base de données 20 à la base de données 12 et un lien de réplieation 92 peut être établi de la base de données 28 à la base de données 12. [0037/ Selon encore un autre exemple, des liens peuvent être automatiquement établis basés sur des conditions exigeant que des bases de données ayant une valeur de marqueur associée 10 « B » et une valeur de marqueur « inv » se lient aux bases de données associées avec une valeur de marqueur «C » et une valeur de marqueur « inv », par ex. dans un système de réplication équilibré automatiquement, le lien de réplication 94 peut être établi de la base de données 20 à la base de données 36, le lien de réplication 96 peut être établi de la base de données 20 à la base de données 44, le lien de réplication 98 peut être établi cic la base de données 28 à la base de 15 données 52 et le lien de réplication 100 peut être établi de la base de données 28 à la base de données 60. Autrement, toute autre combinaison de liens de réplication pourrait être mise en oeuvre tant que les conditions sont satisfaites. [0038] Dans un autre exemple, les liens peuvent être établis schématiquement sur la base de conditions qui exigent que des bases de données ayant une valeur de marqueurs associée « C)) et 20 une valeur de marqueur « stat » se lient aux bases de données associées avec une valeur de marqueur « B » et une valeur de marqueur « stat », par ex. dans un système de réplication équilibré automatiquement, un lien de réplication 102 peut être établi de la base de données 36 à la base de données 20, un lien de réplication 104 peut être établi de la base de données 44 à la base de données 20, un lien de réplication 106 peut être établi de la base de données 52 à la base 25 de données 28 et un lien de réplication 108 peut être établi de la base de données 60 à la base de données 28. Autrement, toute autre combinaison de liens de réplication pourrait être mise en oeuvre tant que les conditions sont satisfaites. [0039] Faisant référence à la FIG. 2, le système de réplication XDCR peut être implémente sur un ou plusieurs dispositifs ou systèmes informatiques, tels que le système informatique 30 exemplaire 110. Le système informatique 110 peut inclure un processeur 112, une mémoire 114, un dispositif de mémoire de masse 116, une interface entrée/sortie (I/O) 118, et une interface 12 hormne-machine (HM I) 120. Le système informatique 110 peut aussi être couplé de façon fonctionnelle à une ou plusieurs ressources externes 122 via le réseau 119, ou une interface 1/0 118. Les ressources externes peuvent inclure, mais de façon non exhaustive, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau en nuage basé sur le douci, ou toute autre ressource informatique adaptée qui neut être utilisée avec l'ordinateur 110, 190401 Le processeur 112 peut inclure un ou plusieurs dispositifs sélectionnés microprocesseurs, microcontrôleurs, processeurs de signaux numériques, micro-ordinateurs, unités ales de traitement, réseaux de portes programmables, dispositifs logiques 10 programmables, machines à état défini, circuits logiques, circuits analogiques, circuits numériques, ou tout autre dispositif servant à manipuler des signaux (analogues ou numériques) basés sur des instructions de fonctionnement enregistrées dans la mémoire 114, La mémoire 114 peut inclure un seul dispositif de mémoire ou une pluralité de dispositifs de mémoire comprenant, de façon non exhaustive, la mémoire à lecture seule (ROM), la mémoire à accès 15 aléatoire (RAM), la mémoire volatile, la mémoire non volatile, la mémoire vive statique (SRAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire flash, la mémoire cache, ou tout autre dispositif capable de stocker des informations. Le dispositif de mémoire de masse 116 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un disque optique, un dérouleur de bande magnétique, un circuit à l'état solide non volatile, ou tout autre 20 dispositif capable de stocker des informations. [0041] Le processeur 112 peut fonctionner sous le contrôle d'un système d'exploitation 124 qui réside dans la mémoire 114. Le système d'exploitation 124 peut gérer les ressources de l'ordinateur de telle façon que le code de programme de l'ordinateur, intégré sous forme d'un ou plusieurs logiciels d'application, de sorte que l'application 126 qui réside dans la mémoire 114, 25 puisse disposer d'instructions exécutées par le processeur 112". Dans un autre mode de réalisation, le processeur 112 peut exécuter l'application 126 directement et dans ce cas, le système d'exploitation 124 peut être omis. Une ou plusieurs structures de donnée 128 peuvent également résider dans la mémoire 114, et peuvent être utilisées par le processeur 112, le système d'exploitation 124, oul'application 126 pour stocker ou manipuler des données, 30 [0042] L'interface I/O 118 peut fournir une interface de machine qui couple de façon fonctionnelle le processeur 112 à d'autres dispositifs et systèmes, tels que le réseau 119 ou une 1 '3 ou pl 1._ iurces externes 122. L'application 126 peut ainsi collaborer avec le réseau 119 et/ou les ressources externes 122 en communiquant via l'interface 118 pour fournir les divers éléments, fonctions, applications, processus, ou modules composant les modes de réalisation de L'application 126 peut aussi avoir un code de programme qui est exécuté par ladite une ou plusieurs ressources externes 122 ou autrement repose sur les fonctions ou signaux fournis r d'autres systèmes ou composants de réseau externes au système informatique 110. En. effet, au vu des configurations presque infinies de matériel informatique et de logiciel possibles, les hommes de métier comprendront que les modes de réalisation de l'invention peuvent inclure des applications localisées extérieurement à l'ordinateur 110, distribuées à des ordinateurs 10 multiples et à d'autres ressources externes 122, ou apportées par des ressources informatiques (matérielles et logicielles) qui sont fournies comme services sur le réseau 119, par exemple un service d'informatique en nuage (cloud Computing). [0043] Le HMI 120 peut être couplé de façon opérationnelle au processeur 112 du système informatique 110 d'une façon connue pour permettre à un utilisateur d'interagir directement avec 15 le 5-y-sterne informatique 110. Le EIMI 120 peut inclure des affichages vidéo ou alphanumériques, un écran tactile, un haut-parleur et tout autre indicateur audio et visuel adapté capables de Fournier des données à l'utilisateur. Le HM1 120 peut aussi inclure des dispositifs de saisie et des contrôles tels qu'un clavier alphanumérique' un dispositif de pointage, des boutons poussoirs, des boutons de contrôle, des microphones, etc. capables d'accepter des commandes ou 20 des saisies de l'utilisateur et de transmettre la saisie entrée au processeur 112, [0044] Une base de données 130 peut résider sur le dispositif de mémoire de masse 116, et peut être utilisée pour collecter et organiser les données utilisées par les différents systèmes et modules décrits dans les présentes. La base de données 130 peut inclure des données ainsi que les structures de donnée qui les accommodent pour stocker et organiser les données. En 25 particulier, la base de données 130 peut-être arrangé.e selon toute organisation ou structure de base de données incluant, mais de façon non exhaustive, base de données relationnelle, une base de données hiérarchique, une base de données en réseau, ou des combinaisons de celles-là. Un système de gestion de base de données sous forme de logiciel informatique d'application qui s'exécute sous la forme d'instructions sur le processeur 112 peut être utilisé pour accéder à 30 l'information ou aux données stockées dans des fichiers de la base de données 130 en réponse à 14 une interrogation, lorsqu'une interrouation peut être déterminée de façon dynamique et exécutée par le système d'exploitation 124, les autres applications 126, ou un ou plusieurs modules. [0045] Faisant référence à la FIG. 3A, un premier échantillon de code illustrant une structure de réplication exemplaire 132 avec des règles exemplaires directes 134 est fourni. Ainsi qu'illustré, s groupes de grappes (c.-à-d, des groupes de bases de données), des grappes (c.-àd, des bases de données) et des récipients (c.-a-d. des containers de base de données) peuvent être créés et recevoir des valeurs « noms » respectifs par la structure de réplication 132. Dans le mode de réalisation exemplaire illustratif, une valeur « ADP » est affectée à un groupement de grappes, une valeur « MBOX » est affectée à une grappe et des valeurs respectives « Rbox » et 10 « Stat » sont affectées à deux récipients. Les marqueurs peuvent être appliqués ou reappliqués à un groupe de grappes, à une grappe et/ou à un récipient selon les besoins, par ex. lorsqu'un changement est effectué dans le système de base de données ou quand la base de données est créée, telle que lors d'une installation initiale ou en supplément d'un serveur de base de données, Des marqueurs exemplaires sont montrés incluant « Type » et « Rôle ». Dans le mode de 15 réalisation exemplaire, une valeur « MCast » est affectée au « Type » du marqueur de récipient Rbox et une valeur « Rbox » est affectée au « Rôle » du marqueur de récipient « Rbox ». Par ailleurs, une valeur « MCast » est affectée au « Type » du marqueur de récipient « Stat » et une valeur « Stat » est affectée au « Rôle » du marqueur du récipient « Stat [0046] Fig. 3A fournit par ailleurs des règles directes exemplaires 134 pour des liens directs à 20 la -XDCR en utilisant des sélecteurs de marqueur pour la source, la destination et le niveau. Dans le mode de réalisation illustratif, la définition de règle XDCR exemplaire « xdcrdefs » est utilisée pour définir deux règles. Ainsi que discuté ci-dessus, les règles peuvent recevoir une direction, par ex. unidirectionnelle ou bidirectionnelle et peuvent fournir des conditions associées aux marqueurs ce bases de données pour la source et des paramètres de destination. Dans le mode de 25 réalisation illustratif une première règle sur mesure est créée, la première règle sur-mesure étant unidirectionnelle, c.-à-d., « bidirectionnelle fausse » ayant une source avec marqueur « Type » de valeur « Mcast » et un marqueur « Rôle » égal à « Rbox » et une destination avec un marqueur « Type » de valeur « BCast » et un marqueur « Role » égal à « Rbox » La deuxième règle sur mesure illustrative est aussi unidirectionnelle et est utilisée pour établir une structure directe. La 30 deuxième règle « sur mesure » illustrative affecte un marqueur « Type » de valeur « BCast » et un marqueur « Rôle » égal à « Stat » à une source ainsi qu'un marqueur « Type » d'une valeur 15 « MCast » et un marqueur t Rôle » égal à « Sa »à une destination. La deuxième règle sur mesure illustrative est également unidirectionnelle et est utilisée pour établir une structure directe. Une troisième règle « sur mesure » illustrative affecte un marqueur « Type » de valeur « enfant » et un marqueur «Rôle » égal à « Stat » à une source ainsi qu'un marqueur « Type » de valeur «I3Cast » égal à « Stat » à une destination. [004] FIG. 38 montre un 'nappage de base de données exemplaire 136 avec des liens directs établis entre les bases de données sur la base d'une structure de réplication 132 et de règles directes 134. FIG. 38 illustre par ailleurs une pluralité de groupes de grappes, incluant « Groupe) B2 », « Groupe 1 81 » et « ADP ». Le groupe de grappes « ADP » est défini par 10 exemple dans la structure de réplication 132 de la FIG. 3A. Ainsi qu'illustré dans la FIG. 38, la e de réplication 132 de la FIG. 3A définit également la grappe « MBOX » et les récipients » et « Rbox ». La FIG. 3B montre par ailleurs des liens directs établis selon des règles directes 134 comme étant appliqués aux marqueurs de bases de données définis dans la structure de réplication 132. Ainsi qu'illustré dans la HG, 38 à titre d'exemple, les récipients « Stat » des 15 grappes respectives sont, directement liés les uns aux autres en direction du groupe de grappes « ADP » ; les récipients « Rbox » sont directement liés les uns aux autres dans une direction qui s'éloigne du groupe de grappes « ADP ». [0048] Faisant référence Ais FIG. 4A, un deuxième échantillon de code, illustran structure de réplication d'arbre exemplaire 138 avec des définitions de régies d'arbre 20 exemplaires 140, est fourni. Comme on le voit, des groupes de grappes, des grappes et des récipients peuvent être créés et recevoir des valeurs de « nom » respectives. Dans le mode de réalisation exemplaire illustratif, une structure de réplication d'arbres 138 affecte une valeur de « Groupe I » au groupe de grappes. Une valeur « BOX.L2 » est affectée à une première grappe avec des valeurs respectives « Rbox » et « Stat » affectées à deux récipients associés. Les 25 marqueurs exemplaires appliqués au récipient « RBox de la grappe «BOX L2 incluent un marqueur « Type)) auquel a été affectée une valeur « BCast », un marqueur «Rôle » auquel a été affectée une valeur «Rbox » et un marqueur de niveau auquel a été affectée une valeur de «2 ». Les marqueurs exemplaires appliqués au récipient « Stat » de la grappe « BOX L2 » incluent un marqueur « Type » auquel a été affectée une valeur « BCast », un marqueur « Rôle » auquel a été 30 affectée une valeur « Stat » et un marqueur de «Niveau » auquel aéré affectée une valeur de «2 ». Une valeur « BOX L3 a été affectée à une deuxième grappe avec les valeurs respectives « Rbox » et « Stat » affectées à deux récipients associés. Les marqueurs (labels) exemplaires appliqués au récipient « Rbox » de la grappe (cluster) « BOX L3 » incluent mi marqueur « Rôle » auquel a été affectée une valeur « Rbox » et un marqueur de «Niveau » (level) auquel a été affectée une valeur de « 3». Les marqueurs exemplaires appliqués au récipient (bucket) « Stat » de la grappe « Box _13 » incluent un marqueur « Rôle » auquel a été affectée une valeur « stat » et un marqueur de « Niveau » auquel a été affectée une valeur de « 3 », [00491 FIG. 4A fournit par ailleurs une définition de règles d'arbre exemplaire 140 pour les liens XDCR de l'arbre en utilisant des sélecteurs de marqueurs pour la source, la destination et le niveau. Dans le mode de réalisation illustrant, la définition de règle XDCR. exemplaire. 10 « xdcrdefs » est utilisée pour définir deux règles. Ainsi que discuté ci-dessus, les règles peuvent recevoir une direction, par ex. unidirectionnelle bidirectionnelle et peuvent fournir des conditions associées aux marqueurs de bases de données pour la source et des paramètres de destination. Dans le mode de réalisation illustrant une première règle sur mesure est créée, la première règle sur-mesure (custom ruie) étant unidirectionnelle, ce-à-d,, « bidirectionnelle fausse>) (hidirectional 15 faise) ayant une source avec un marqueur « Type)) de valeur « Meast » et un marqueur «Rôle » égal à « Rbox » et une destination avec un marqueur «Type » de valeur « BCast » et un marqueur «Role » égal à « Rbox ». La deuxième règle sur mesure illustrative est également unidirectionnelle et est utilisée pour établir une structure d'arbre. [0050] FIG. 413 illustre un mappage de base de données exemplaire 142 avec des liens 20 d'arbre établis entre les bases de données sur la base de la structure de réplication d'arbre 138 et de la définition des règles d'arbre 140. FIG. 4B illustre par ailleurs une pluralité de groupe de grappes incluant le « Groupe 1 » et « AryP» Le groupe de grappes « Groupe 1» est, par exemple, défini dans la structure de réplication 138 de la 171G, 4A. La structure de réplication 138 de la FIG. 4A définit également les grappes « BOX L2 », « BOX L3 » et 25 « BOX L4 ainsi que des récipients, « Rbox » et « Stat » comme illustré dans la FIG. 48, HG. 4B montre par ailleurs des liens d'arbre établis, selon la définition de règles d'arbre 140, appliquées aux marqueurs de base de données définis dans la structure de réplication d'arbres 138. Comme illustré dans la FIG. 4B à titre d'exemple ; les récipients «Rbox » des grappes respectives sont liés es uns aux autres dans une direction qui s'éloigne du groupe de grappes « ADP » selon la 30 hiérarchie de la structure d'arbre définie par la structure de réplication d'arbre 138. 17 [0051] Faisant maintenant référence à la FIG. 5, un processus 144 peut être mis en oeuvre conformément à modes de réalisation de l'invention pour effectuer une réplication XDCR définie par logiciel. [0052] À 'étape 146, une structure XCDR définie par logiciel telle qu'illustrée dans la FIG. 3 et la FIG. 4 est fournie en tarit qu'entrée. La structure XDCR définie par logiciel peut inclure des identifiants uniques pour des groupes de bases de données ainsi que les bases de données contenues à l'intérieur des groupes individuels de bases de données. La structure XDCR définie par logiciel peut par ailleurs inclure un ou plusieurs marqueurs devant être appliqués aux bases de données, Les marqueurs peuvent être lies à des attributs de base de données tels que le type 10 et/ou le rôle. Les marqueurs peuvent par ailleurs inclure un attribut de niveau pour la configuration d'une base de données de structure d'arbre XDCR. Dans un mode de réalisation, le format de fichier d'entrée est YAML, c.-à-d. « \let Another Multicolumn Layent » (Encore un autre format de disposition à olonnes), ce peut-être .ISON. XNE., ou tout autre langage de sérialisation de données. De même, dans un mode de réalisation Je langage de programmation 15 GO est utilisé pour analyser et traiter la structure XCDR définie par logiciel, mais l'homme de métier reconnaîtra que tout format de fichier ou langage de programmation peut être utilise. [0053] À l'étape 148, le système traduit la structure XDC:R., dans une structure XDCR point à point comprenant une liste de paramètres XDCR, par ex. une base de données source, une base de données de destination, et un type de lien, En utilisant un fichier d'entrée faisant référence à 20 des marqueurs ainsi que des instructions de source et/ou de destination, le système peut éliminer le besoin de références à des bases de données individuelles. Par conséquent, à l'étape 150 le système peut traduire le fichier d'entrée contenant les informations de marqueurs de base de données vers une structure XDCR point à point cible qui peut être utilisée par un programme de réplication XDCR. La structure point à point cible peut fournir des identifiants uniques et une 25 configuration pour chaque base de données, incluant toutes les bases de données dans une base de données. La structure XDCR peut par ailleurs eonfigurer tous les noeuds à l'intérieur d'une base de données source donnée pour communiquer avec tous les noeuds sur une base de données de destination donnée. Les bases de données de destination pour la XDCR peuvent être nommées dans la configuration XDCR et la configuration XDCR peut par ailleurs inclure les références 30 d'une base de données de destination qui pointent vers des adresses IP de noeuds dans les bases de données de destination. En outre, la configuration XDCR peut inclure un identifiant de base 18 de données unique pour chaque base de données ainsi que ie rôle de la base de données, par ex. maîtresse, réplique ou XDCR. [00541 À l'étape 152, la structure XDCR point à point cible chantée dans un programme de réplication de logiciel, Dans un mode de réalisation, un outil de chargement st utilisé pour analyser la structure xricR point à point (traduit à l'étape 150), pour récupérer la topologie XDCR. existante (implémentée à l'étape 154), pour comparer la structure XDCR cible et la topologie XDCR existante et pour calculer les changements de topologie XDCR nécessaires, par ex. la création de liens XDCR., la mise à jour des paramètres de liens XDCR, ou la suppression de liens XDCR. L'outil de chargement peut ensuite faire appel à l'interface de 10 programme d'application (API) d'un programme de réplication logicielle pour implémenter la topologie XDCR cible, créant ainsi de nouveaux liens XDCR et/ou en supprimant des liens XDCR existants basés sur la structure XDCR point à point. [0055] À l'étape 154, le système de base de données peut être relié sur la base de la structure XDCR point à point cible chargée. Le processus de réplication peut être mis en oeuvre dans des 15 courants parallèles multiples ; chaque partition unique. sur une base de données peut envoyer un registre binaire de transactions complétées à d'autres bases de données. En outre, chaque base de données peut envoyer un cliché d'une donnée existante à l'autre, Une fois que le cliché est reçu et appliqué (et que les deux bases de données sont synchronisées), les partitions peuvent commencer a envoyer des registres binaires de résultats de transaction pour maintenir les hases 20 de données synchronisées. Lorsque la XDCR effectue une réplication, elle échange des données entre les bases de données. La réplication peut aussi être continue, de sorte que les réplications qui sont actuellement eonfigurées et fonctionnelles peuvent être surveillées etlou modifiées, incluant la surveillance de la configuration actuelle du statut actuel et de la dernière fois qu'une réplication a été déclenchée pour chaque réplication C011 figurée. 25 [0056] Faisant maintenant référence à la FIG. 6, un procédé -156 peut être mis en oeuvre par le système informatique 110 pour établir une réplication XDCR conformément à des modes de réalisation de l'invention à l'étape 158, le système informatique 110 peut recevoir un ou plusieurs marqueurs et les identifiants de bases de données associés. Les identifiants de base de données peuvent être un nom unique ou un descripteur pour une base de données associée. 30 Chaque marqueur peut inclure une séquence de caractères qui identifie n attribut ou une 19 propriété d'une ou de plusieurs bases de données associées, ou qui peuvent simplement servir de descripteur pour une ou plusieurs bases de données associées. [0057] À l'étape 160. le système informatique 110 peut recevoir une ou plusieurs règles de liaison, incluant des énoncés conditionnels relatifs à au moins un des marqueurs associes aux identifiants de bases de données. Les règles de liaison peuvent inclure un ou plusieurs marqueurs de sources pour identifier une ou plusieurs bases de données sources. De même, les règles de liaison peuvent inclure un ou plusieurs marqueurs de destination pour identifier les bases de données de destination. [0058] À l'étape 162, le système informatique 110 peut appliquer ladite une ou plusieurs IO règles de liaison aux marqueurs, établissant ainsi les connexions de liaison désirées entre les bases de données. Par conséquent les bases de données sources peuvent être liées aux bases de données de destination. Les bases de données sont ainsi reliées et peuvent devenir plus utiles avec des interrogations sémantiques et/ou un échange de données. En outre, la liaison des bases de données peut permettre aux données des bases de données liées d'être connectées et 15 interrogées. Dans un mode de réalisation, les marqueurs sont invisibles à l'AN du programme logicicl de réplication et ne sont visibles que dans la structure XDCR définie par logiciel. [0059] À l'étape 164, le système informatique 110 peut générer un fichier de configuration XDCR. Le fichier de configuration XDCR peut être formaté pour faciliter la compatibilité avec le logiciel de réplication de données. Le fichier de configuration XDCR peut inclure des 20 identifiants de bases de données liées et par ailleurs le fichier de configuration XDCR peut fournir tous ou une partie des réglages nécessaires pour réaliser la configuration XDCR. [0060] À l'étape 166, le système informatique 110 peut réaliser la configuration XDCR. La configuration XDCR peut configurer le système pour mettre en oeuvre la réplication XDCR, d. la réplication de données entre les bases de données 25 [0061] Les modes de réalisation de l'invention peuvent fournir des procédés, des systèmes et des produits-programmes d'ordinateur pour la réplication transversale de base de données des bases de données associées à des services de voyage et à la gestion de la disponibilité d'un inventaire pour des éléments de VO:yra2C d'un inventaire. Dans l'industrie du transport aérien, des exemples de bases de données incluent ces bases de données qui maintiennent l'inventaire des 30 compagnies aériennes. Ces bases de données sont utilisées pour suivre en temps réel la capacité 20 actuelle de sièges et l'état actuel des réservations ainsi que les configurations de la flotte des vols gérés par une compagnie aérienne donnée, [0062] Plus précisément, l'inventaire d'une compagnie aérienne contient mus les vols avec leurs sièges disponibles et est généralement divisé en classes de service (par ex. première classe, classes affaires, ou classe économique) et plusieurs classes de réservation pour lesquelles des prix et des conditions de réservation différents sont appliqués. Une des fonctions de la gestion d'inventaire est le contrôle d'inventaire, Le contrôle d'inventaire gouverne la quantité de sièges disponibles dans les différentes classes de réservation, par exemple en ouvrant et en fermant des classes de réservations individuelles ouvertes à la vente. En combinaison avec les tarifs et les ID conditions de réservation stockés dans un système de tarification, le prix de chaque siège vendu est déterminé. Dans la plupart des cas, le contrôle d'inventaire dispose d'une interface avec un système de gestion de revenus d'une compagnie aérienne pour assurer une optimisation des classes de réservation offertes en réponse à des changements dans la demande, Les utilisateurs peuvent accéder à l'inventaire d'une compagnie aérienne via une application de disponibilité 15 disposant d'un écran et d'une interface graphique d'utilisateur. L'inventaire contient tous les vols offerts pour des paires origine-destinaticm avec leurs sièges disponibles dans les classes de réservation différentes. [0061] Les bases de données d'inventaire des compagnies aériennes sont généralement gérées par les compagnies aériennes. Les bases de données d'inventaire peuvent aussi être installées par 20 les compagnies qui fournissent les services de voyage aux nombreux acteurs de l'industrie du voyage incluant les compagnies aériennes, les agences de voyages traditionnelles et d'autres fournisseurs de services de voyages en ligne. Des inventaires sont gérés directement par les compagnies aériennes et sont en interface avec les systèmes de distribution globale (CDS) ou un système central de réservation (CRS). 25 [0064] Par conséquent, du fait que la technologie informatique est utilisée de plus en plus dans l'industrie du voyage pour gérer, soutenir, réserver, finaliser un achat et traiter des réservations de voyage ainsi que les données qui leur sont associées, l'industrie du voyage a besoin de maintenir la fiabilité, la disponibilité et l'intégrité des données et des hases de données [0065] En général, les routines exécutées pour mettre en oeuvre les modes de réalisation de 30 l'invention, qu'elles soient implémentées dans le cadre d'un système d'exploitation ou d'une application spécifique, d'un composant, d'un programme, d'un objet, d'un module ou d'une séquence d'instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme « code de programme informatique » ou simplement « code de programme ». Le code de programme comprend typiquement des instructions lisibles par ordinateur qui résident à des moments divers dans des dispositifs divers de mémoire et de stockage dans un ordinateur, et qui lorsqu'il est lu et exécuté par un ou plusieurs processeurs dans un ordinateur, provoque l'exécution par l'ordinateur d'opérations et/ou d'éléments propres aux aspects variés des modes de réalisation de l'invention, Les instructions d'un programme informatique lisibles par ordinateur pour accomplir les opérations des modes de réalisation de l'invention peuvent être, par exemple : le langage d'assemblage ou, un code source ou un code objet, écrit en 10 combinaison avec un ou plusieurs langages de programmation. [0066] Le code de programme mis en oeuvre dans toute application/module décrit(e) dans les présentes peut être distribué individuellement ou collectivement comme un produit programme d'ordinateur, sous une variété de formes, En particulier, le code de programme peut-être distribue en utilisant un support de stockage lisible par ordinateur ayant des instructions de 15 programme lisibles par ordinateur pour amener un processeur à mettre en oeuvre des aspects des modes de réalisation de l'invention. [0067] Les supports de stockage de données lisibles par ordinateur et qui sont intrinsèquement non transitoires, peuvent inclure des médias tangibles, volatiles et non volatiles, amovibles et non amovibles, implémentés dans toute méthode ou technologie de stockage de données, tels que des 20 instructions de programme lisibles par ordinateur, des structures de donnée, des modules de programme, ou autres données, Les supports de stockage lisibles par ordinateur peuvent aussi comprendre des mémoires : une mémoire à accès aléatoire (RAM), une mémoire à lecture seule (ROM), une mémoire à lecture seule programmable et effaçable (EPROM), une mémoire à lecture seule programmable et effaçable électriquement (EEPROM), une mémoire flash, ou autre 25 technologie de support solide de mémoire, un disque compact portable doté d'une mémoire à lecture seule (CD-ROM), ou autre stockage optique, une bande d'enregistrement magnétique, ou tout autre support pouvant être utilisé pour stocker l'information désirée et apte à être lue par un ordinateur, Le support de stockage lisible par ordinateur ne peut être interprété en soi comme des signaux transitoires (des ondes radio ou d'autres ondes électromagnétiques propagées via des 30 supports de transmission tels qu'un guide d'ondes, ou des signaux électriques transmis par un câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargees sur un ordinateur, un autre type d'appareil de traitement de données programmable ou sur tout autre dispositif de support du stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe par un réseau. [0068] Les instructions de programme lisibles par ordinateur, stockées sur un support lisible par ordinateur, peuvent être utilisées pour instruire un ordinateur, d'autres types d'appareils programmables de traitement ou d'autres dispositifs pour fonctionner d'une façon particulière, du sorte que les instructions stockées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui implémentent les fonctions/actions spécifiées dans les organigrammes, diagrammes de séquence, et/ou diagrammes blocs. Les instructions de 10 programme informatique peuvent être fournies à un ou plusieurs processeurs d'un ordinateur usage générai, un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, lorsqu'elles sont exécutées àl`aide du ou de plusieurs processeurs, accomplissent une série de calculs pour mettre en oeuvre les fonctions, actions, et/ou les actions speerfrees dans les organigrammes, diagrammes séquentiels 15 et/ou diagrammes blocs. [0069] Dans certains autres modes de réalisation, les fonctions, les actions et/ou des opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou des diagrammes blocs peuvent être commandées à nouveau, traitées en série et/ou traitées en même temps conformément aux modes de réalisation de l'invention. De plus, un quelconque des 20 organigrammes, diagrammes séquentiels, et/ou diagrammes bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés conformément à des modes de réalisation de l'invention. [0070] La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n'est pas destinée à limiter les modes de réalisation de l'invention. On comprendra par ailleurs que les termes « comprendre». « comprend » etiou 25 « comprenant », lorsqu'ils sont utilisés dans cette spécification, précisent la présence de caractéristiques, de nombres entiers, d'étapes, d'opérations, d'éléments, et/ou de composants, niais n'excluent pas la présence ou l'ajout d'une ou de plusieurs caractéristiques, de nombres entiers, pes, d'éléments, de composants et/ou de groupes, en cela. De plus, dans la mesure où les termes « inclut », « ayant », « a », « avec » ou leurs variantes, sont utilisés dans la 30 description détaillée des revendications, ces ternies sont censés être inclusifs de façon similaire au terme « comprendre ». [0071] Bien que l'invention ait été illustrée par une description de modes de réalisation variés et bien que ces modes de réalisation aient été décrits de façon considérablement détaillée, ii n'y a pas d'intention de restreindre ou de limiter en aucune façon le champ d'application des revendications annexées à ces détails. Des avantages et des modifications supplémentaires apparaîtront aisément aux hommes de métier. L'invention sous un angle plus large. n'est donc pas limitée aux détails spécifiques, aux procédés et appareils représentatifs, et aux illustrations montrées et décrites à titre d'exemple. Par conséquent, il est possible de s'éloigner de ces détails sans s'éloigner de l'esprit et de la portée du concept inventif général du demandeur. Demande do brevet n' 18 59199 A5013325FRPOOMm REVENDICATIONSmodifies (copie an propre) 18 avril 2019 REVENDICATiONS système de répiicafion de base de données :prenant : un processeur ; et une mémoire incluant des instructions qui lorsqu'elles sont exécutées par le processeur, amènent le système à recevoir au moins un marqueur qui est associe a une pluralité hase de données ; recevoir au moins une règle de liaison qui inclut un sélecteur de marqueur de source identifiant un marqueur de source sélectionné à partir dudit au moins un marqueur et un sélecteur 10 de marqueur de destination identifiant un marqueur de destination sélectionné à partir dudit au moins un marqueur ; appliquer ladite au moins une règle de liaison pour déterminer au moins un lien entre au moins une base de données source sélectionnée dans la pluralité des bases de données et au moins une base de données de destination sélectionnée dans la pluralité des bases de donnée 15 dans lequel ladite au moins une base de données source est associée au marqueur de la source et ladite au moins une base de données de destination est associée au marqueur de la destination ; générer un premier fichier de configuration de réplication transversale de base de données (XDCR) basé, au moins en partie, sur ledit au moins un lien, dans lequel le premier fichier de configuration XDCR identifie ladite au moins une base de données source et ladite au moins une 20 base de données de destination ; et effectuer une première réplication XDCR de la pluralité des bases de données basée, au moins en partie, sur le premier fichier de configuration XDCR. 2. Le système selon la revendication 1. dans lequel les nstructions sont par ailleurs 25 configurees pour amener le système à : réappliquer ladite au moins une règle de liaison pour déterminer au moins un lien actualisé entre ladite au moins une base de données source et ladite au moins une base de données de destination ; et n deuxième fichier de configuration XDCR basé au moins en partie, sur ledit au 30 moins un lien actualisé; ci Demande de brevet 18 59199 A5013325FRPOOMm Revendications modifies (copie au propre) 18 avril 2019 effectuer une deuxième réplication XDCR de la pluralité des bases de données basée, au moins en partie, sur le deuxième fichier de configuration XDCR. 3. Le système selon la revendication 2, dans lequel les instructions sont par ailleurs contkurees pour amener le système à : recevoir une fréquence de liaison définissant Ufl intervalle de temps entre l'application de ladite au moins une règle de liaison et la réapplication de ladite au moins une règle de liaison, dans lequel l'application de ladite au moins une règle de liaison est effectuée une première fois, la réapplication d'au moins ladite règle de liaison est effectuée une deuxième fois et la deuxième fois est basée, au moins en partie, sur la première fois et, au moins en partie, sur la fréquence de liaison. 4. Le système selon l'une quelcon ndications I à 3, dans lequel instructions sont pai s configurées pour amener le système à établir une relation hiérarchique entre ladite au moins une base de données source et ladite au moins une base de données de destination lorsque la première réplication XDCR de la pluralité des bases de données est réalisée, 5. Le système de la revendication 4 dans lequel ledit au moins un marqueur de source est associé à un premier indicateur de niveau hiérarchique et ledit au moins un marqueur de destination est associé un deuxième indicateur hiérarchique, ladite au moins une règle de liaison inclut un premier sélecteur de niveau hiérarchique identifiant le premier indicateur de niveau hiérarchique, ladite au moins une règle de liaison inclut un deuxième sélecteur de niveau hiérarchique identifiant le deuxième indicateur de niveau hiérarchique, et la relation hiérarchique est établie entre la base de données source et la base de données de destination sur la base d'au moins un lien, 26 Demande de brevet 0' 18 59[99 A5013325FRPOOMm Revendications modifies (copie au propre) 18 avril 2019 6. Le système selon l'une quelconque des revendications i a 5, dans lequel les instructions sont par ailleurs configurees pour amener le système à recevoir au moins une condition de liaison, dans lequel l'application de ladite au moins une régie de liaison est mise en oeuvre sur la base, au moins en partie, de la satisfaction de ladite au moins une condition de liaison. 7. Un procédé de réplication de base de données comprenant : la réception, par un ordinateur d'au moins un marqueur qui est associé â une pluralité base de données ; 10 la réception, par l'ordinateur, d'au moins une règle de liaison qui inclut un sélecteur de marqueur de source identifiant un marqueur de source à partir dudit au moins un marqueur et un sélecteur de marqueur de destination identifiant un marqueur de destination sélectionné à partir dudit au moins un marqueur ; l'application, par l'ordinateur, de ladite au moins une règle de liaison pour déterminer au 15 moins un lien entre ladite au moins une base de données source sélectionnée dans la pluralité des bases de données et au moins une base de données de destination sélectionnée dans la pluralité des bases de données, dans lequel ladite au moins une base de données source est associée au marqueur de source et ladite au moins une base de données de destination est associée au marqueur de destination 20 la génération, par ordinateur d'un premier fi chier de configuration . réplication transversale de base de données (XDCR) basé, au moins en partie, sur ledit au moins un lien, dans lequel le premier fichier de configuration XDCR identifie ladite au moins une base de données source et ladite au moins une base de données de destination ; et la mise en oeuvre par l'ordinateur d'une première réplication XDCR de la pluralité des bases25 de données basée au moins en partie sur le premier fichier de configuration XDCR. Le procédé de la revendication 7 comprenar ailleur la réapplication, par l'ordinateur, de ladite au moins une règle de liaison pour déterminer au moins un lien actualisé entre ladite au moins une base de données source et ladite au moins une base de données de destination ; et 27 Demande de brevet n' 18 59199 A5013325FRP0ONIm Revendications modifies (renie au propre) 18 avril 2019 la génération, par l'ordinateur, d'un deuxième c de configuration XDCR basé, au moins en partie, sur ledit au moins un lien actualisé ; et la mise en oeuvre, par l'ordinateur d'une deuxième réplication XF de la pluralité des bases de données basée, au moins en partie, sur le deuxième fichier de configuration XDCR. 9. Le procédé de la revendication 8 cornprenan la réception d'une fréquence de liaison défin un intervalle de temps entre l'application de ladite au moins une règle de liaison et la reapplieation de ladite au moins une règle de liaison, dans lequel ['application de ladite au moins une règle de lia.son est anse en oeuvre une première fois, la réapplication d'au moins une règle de liaison est mise en oeuvre une deuxième fois ci la deuxième fois est basée, au moins en partie, sur la première fois et, au moins en partie, sur la fréquence de liaison, Le procédé de l'une quelconque des revendicatio 9, dans lequel une relation chique est établie entre ladite au moins une base de données source et ladite au moins un base de données de destination lorsque la première réplication XDCR de la pluralité des bases de données est mise en oeuvre. 20 ii Le procédé selon la revendication 10 dans lequel ledit au moins un marqueur de source est associé à un premier indicateur de niveau hiérarchique et ledit au moins un marqueur de destination est associé un deuxième indicateur hiérarchique, ladite au moins une règle de liaison inclut un premier sélecteur de niveau hiérarchique 25 identifiant premier indicateur de niveau hiérarchique, ladite au moins une règle de liaison inclut un deuxième sélecteur de niveau hiérarchique identifiant le deuxième indicateur de niveau hiérarchique, et la relation hiérarchique est établie entre la base de données source et la base de donnéesa de destination sur la base d'au moins un lien. 10 15 28 Demande de brevet n°18 59199 A5013325FRPOOMrn Revendications modifies (copie au propre) 18 avril 2019 12. Le procédé de l'une quelconque des revendications 7 à 1F comprenant par ailleurs la réception d'au moins une condition de liaison, dans lequel l'application de ladite au moins une règle de liaison est mise en oeuvre sur la base, au moins en partie, de la satisfaction de ladite au moins une condition de liaison 13. Un produit - programme d'ordinateur pour réplication de base de données comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 7 à 12 lorsque ledit programme fonctionne sur un ordinateur.