Brevet FR3090929A1 — publié le 20200626

Description Titre de l'invention : Actualisation de multiples enregistrements de données dans une base de données [0001] De façon générale, l'invention concerne des ordinateurs et des logiciels et, en par- ticulier, des procédés, des systèmes et. des produits-programmes d'ordinateur pour actualiser de multiples enregistrements de données dans une base de données. [0002] Les bases de données stockent en elles-mêmes une pluralité d'enregistrements de données. Les enregistrements de données stockés dans une base de données peuvent être lus uniquement ou peuvent être modifiés par une commande d'écriture. Plus souvent, une base de données peut être accédée par de nombreux utilisateurs différents à distance. Des mécanismes de verrouillage empêchent que différents utilisateurs modifient un enregistrement de données en même temps. [0003] Les transactions de base de données permettent d'effectuer des mises à jour sur une pluralité d'enregistrements de données séparés de manière cohérente. Soit tous les enregistrements de données compris dans une transaction de base de données sont actualisés ou aucun d'entre eux. Au cours d'une transaction de base de données, tous les enregistrements de données compris dans la transaction sont verrouillés. De trop nombreuses transactions en même temps ou des transactions qui durent trop longtemps peuvent donc impacter la performance de la base de données. 100041 Par conséquent, il existe un besoin pour des systèmes améliorés, des procédés et des produits-programmes d'ordinateur permettant d'actualiser de multiples enregistrements de données dans une base de données sans impacter la performance de la hase de données. 100051 Selon un premier aspect, un procédé pour actualiser de multiples enregistrements de données dans un système de bases de données est fourni. Le système de hases de données comprend au moins une hase de données et un premier serveur. Selon le procédé, une première session est créée dans le premier serveur. Au cours de la première session, de multiples enregistrements de données stockés par la hase de données dans une mémoire du premier serveur sont chargés ; le procédé comprend par ailleurs l'actualisation d'au moins un premier et un deuxième des multiples enregistrements de données au cours de la première session dans la mémoire du premier serveur et l'enclenchement d'un mécanisme de transaction de hase de données pour les multiples enregistrements de données après l'actualisation desdits premier et deuxième enregistrements de données pour écrire les enregistrements de données actualisés dans la base de données assurant ainsi que tous les enregistrements de base de données ac- 2 tualisés sont validés, ou aucun d'entre eux. Le mécanisme de transaction de hase de données inclut un verrouillage des premier et deuxième enregistrements de données stockés dans la hase de données. La première session dans le premier serveur est fermée après la validation des enregistrements de hase de données actualisés. [0006] D'autres aspects comprennent : - le chargement et la mise à jour de multiples enregistrements de données sans verrouiller de multiples enregistrements de données dans la hase de données - l'actualisation d'au moins les premier et deuxième enregistrements de données comprend par ailleurs de définir au moins un des multiples enregistrements de données comme enregistrement de données actif et l'application de mises à jour aux enregistrements de données défini comme enregistrements de données actifs. [0007] Dans un autre aspect, le procédé comprend par ailleurs l'envoi d'une requête à une autre hase de données. [0008] Dans un autre aspect, un quelconque des procédés énoncés ci-dessus comprend, au cours de la première session, un nouvel enregistrement de données dans lequel le nouvel enregistrement de données est validé avec les multiples enregistrements de données. [0009] Dans un autre aspect, la création du nouvel enregistrement de données comprend la fusion du premier enregistrement de données et du deuxième enregistrement de données. [0010] Dans un autre aspect, un quelconque des procédés énoncés ci-dessus comprend, au cours d'une deuxième session sur le premier serveur ou sur un deuxième serveur fonctionnant parallèlement à la première session, le chargement d'au moins le premier enregistrement de données stocké par la base de données dans la mémoire du premier serveur ou dans la mémoire du deuxième serveur et l'actualisation d'au moins le premier enregistrement de données dans la mémoire du premier ou du deuxième serveur au cours de la deuxième session alors que le premier enregistrement de données est également actualisé au cours de la première session et après que le premier enregistrement de données actualisé a été réécrit dans la base de données à partir de la première session, en réponse à une tentative de validation pour réécrire le premier enregistrement de données actualisé au cours de la deuxième session dans la base de données, l'utilisation d'un mécanisme de résolution de cohérence de réécriture pendant le mécanisme de transaction; [0011] Dans un autre aspect, le mécanisme de résolution de cohérence de la réécriture est un mécanisme de déni de tentative de validation pour réécrire le premier enregistrement de données actualisé au cours de la deuxième session dans la base de données, rechargeant le premier enregistrement de données à partir de la base de données et poursuivant la deuxième session, et fusionnant le premier enregistrement de données 3 actualisé, mis à jour au cours de la deuxième session, avec le premier enregistrement de données réécrit dans la hase de données de la deuxième session. [0012] Dans un autre aspect, un serveur est configure pour créer une première session dans un premier serveur ; charger, au cours de la première session, les multiples enregistrements de données stockés par la hase de données dans une mémoire du premier serveur; actualiser au moins un premier et un deuxième des multiples enregistrements de données au cours de la première session dans la mémoire du premier serveur ; enclencher un mécanisme de transaction de hase de données pour les multiples enregistrements de données après avoir actualisé lesdits au moins premier et deuxième enregistrements de données pour écrire les enregistrements de données actualisés dans la hase de données, assurant ainsi que tous les enregistrements de hase dc données actualisés sont validés, ou aucun d'entre eux, dans lequel le mécanisme de transaction de hase de données inclut un verrouillage des premier et deuxième enregistrements de données stockés dans la hase de données ; fermer la première session dans le premier serveur après la validation des enregistrements de hase dc données actualisés. [0013] Dans un autre aspect, un programme d'ordinateur pour actualiser dc multiples enre- gistrements de données dans une hase de données est fourni comprenant un code de programme qui, lorsqu'il est exécuté par un ou plusieurs processeurs d'un premier serveur, amène les processeurs à : créer une première session dans un premier serveur ; charger, au cours de la première session, les multiples enregistrements dc données stockés par la base de données dans une mémoire du premier serveur ; actualiser au moins un premier et un deuxième des multiples enregistrements de données au cours de la première session dans la mémoire du premier serveur ; enclencher un mécanisme de transaction de base de données pour les multiples enregistrements de données après avoir actualisé lesdits au moins premier et deuxième enregistrements de données pour écrire les enregistrements de données actualisés dans la base de données, assurant ainsi que tous les enregistrements de base de données actualisés soient validés' ou aucun d'entre eux, dans lequel le mécanisme de transaction de base de données inclut un verrouillage des premier et deuxième enregistrements de données stockés dans la base de données ; fermer la première session dans le premier serveur après la validation des enregistrements de base de données actualisés. En d'autres termes, un programme d'ordinateur comprenant un code de programme pour exécuter un quelconque des procédés cités ci-dessus lorsque ledit programme fonctionne sur un ordinateur. [0014] Les dessins qui accompagnent illustrent des modes variés de réalisation de l'invention et, avec la description générale de l'invention 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. [0015] [Fig. 1] montre un diagramme simplifié d'un système de bases de données exemplaire; [0016] [Fig. 2] illustre dans un diagramme simplifié le chargement et la validation des enre- gistrements de données ; [0017] [Fig. 3] est un organigramme illustrant le procédé de mise à jour d'un enregistrement de données décrit dans les présentes. [0018] [Fig. 4] est une visualisation de la mise à jour d'un enregistrement de données au cours de deux sessions parallèles. [0019] [Fig. 5] est une représentation schématique des composants internes d'une machine informatique conforme à des modes de réalisation. [0020] La Fig. 1 montre un diagramme simplifié d'un système de hases de données exemplaire 1. Le système de hases de données 1 comprend une hase de données 10, un premier serveur 12A, un deuxième serveur 12B et un autre système informatique 14. [0021] La hase de données peut être toute hase de données comme, p. ex., une hase de données Oracle®. La hase de données 10 peut stocker une multitude d'enregistrements de données. Une pluralité d'utilisateur peut accéder à la hase de données 10 pour lire ou actualiser les enregistrements de données. [0022] Le système de hase de données 1 comprend deux serveurs 12A et 12B. Le système de hase de données 1 peut comprendre plus de serveurs. Le système de hase de données 1 peut comprendre un seul serveur. Le serveur ou les serveurs 12A et 12B peuvent être distants de la hase de données 10. Les serveurs 12A et 12B peuvent être capables d'accéder à la base de données 10 via des lignes de communication bidirectionnelles. Les serveurs 12A et 12B peuvent accéder à la base de données 10 via un réseau de communication, p. ex. l'Internet. Les serveurs 12A et 12B peuvent être distants l'un de l'autre. Les serveurs 12A et 12B peuvent être indépendants l'un de l'autre. Le serveur 12A et/ou le serveur 12B peuvent être compris dans un système de traitement de données. [0023] Le système de base de données 1, tel qu'il est illustré, comprend un système in- formatique 14. Il faut comprendre que le système de base de données 1 ne comprend pas nécessairement le système informatique 14. Le système informatique 14 peut être une autre base de données. Le système informatique 14 peut être un serveur comprenant un programme logiciel exécutant p. ex. un moteur de finalisation de réservation, un moteur de réservation et tout autre moteur d'application. Les serveurs 12A et 12B peuvent être configurés pour accéder au système informatique 14. Une mise à jour d'un enregistrement de données peut être dépendant d'une requête d'un client envoyée au système informatique 14. [0024] La Fig. 2 montre un détail du système de bases de données 1. La Fig. 2 montre le serveur 12A et la base de données 10. Le système de bases de données 1 pourrait se limiter au serveur 12A et à la base de données 10. Les enregistrements de données 16A, 16B.... 16G peuvent être stockés dans la base de données 10. Un utilisateur (p. ex. une application en cours d'exécution sur le système informatique 14) peut vouloir actualiser plusieurs enregistrements de données stockés dans la hase de données 10. L'utilisateur peut exiger les mises à jour de tous les enregistrements de données, ou qu'aucune des mises à jour ne soit effectuée. L'utilisateur peut utiliser le serveur 12A. L'utilisateur peut créer une première session sur le serveur 12 A. La première session peut permettre à l'utilisateur de charger un nombre quelconque d'enregistrements de données de la hase de données 10. La première session peut inviter l'utilisateur à indiquer quels enregistrements de données doivent être chargés. L'utilisateur peut transmettre une commande au cours de la première session en chargeant les enregistrements de données devant être modifiés dans une mémoire (p. ex. une antémémoire) du premier serveur 12 A. L'utilisateur peut utiliser une interface de programmation d'application (API) ou, dans le cadre d'un utilisateur humain, une ligne de commandes comme suit pour créer la première session et pour charger trois enregistrements de données : [0025] >spmulti/rtT9XSNP, KP6YFP, JTY4NT [0026] Les trois enregistrements de données sont lus à partir de la hase de données. Aucune modification n'est effectuée aux enregistrements de données dans la hase de données. Aucun mécanisme de verrouillage n'est activé dans la hase de données 10. Comme l'illustre la Fig. 2, des copies des enregistrements de données 16A, 16B et 16G sont chargés dans la mémoire du serveur 12A. Les enregistrements de données originaux 16A, 16B et 16G sont toujours conservés dans la base de données 10 dans un état non verrouillé, c.-à-d. qu'ils sont accessibles par d'autres utilisateurs. Le chargement des trois enregistrements de données 16A, 16B et 16G peut être effectué par trois processus de lecture séparés sans mécanisme de transaction de base de données. Les trois processus de lecture séparés peuvent être automatiquement réalisés au cours de la première session en réponse à l'entrée des noms des enregistrements de données dans la première session. [0027] La première session peut permettre de définir un quelconque des enregistrements de données chargés comme enregistrement de données actif. L'utilisateur peut définir un premier des enregistrements de données 16A, 16B et 16G comme enregistrement de données actif. L'utilisateur peut sélectionner un ou plusieurs enregistrements de données comme étant actifs. La première session peut afficher le contenu de l'enregistrement(s) de données actif afin de faciliter la manipulation de l'enregistrement de données et de son contenu. Par exemple, pour des enregistrements de données d'une base de données de réparation et de maintenance technique, le contenu peut inclure une identification d'un dispositif technique en réparation, une information de diagnostic d'échec, une information de date, un horaire estimé pour la ré- 6 paration, les pièces nécessaires pour la réparation, les commentaires en texte libre d'un technicien, etc. L'utilisateur peut sélectionner plus qu'un seul enregistrement de données comme enregistrement de données actif. L'utilisateur peut manipuler l'enregistrement(s) de données actif et mettre à jour l'enregistrement(s) de données actif au cours de la première session. [0028] Une actualisation effectuée peut être valide pour tous les enregistrements de données actifs. L'utilisateur peut définir un premier enregistrement de données 16A comme étant actif et actualiser le premier enregistrement de données 16 A. L'utilisateur peut ensuite définir un deuxième enregistrement de données 16B comme étant actif et mettre à jour le deuxième enregistrement de données 16 B. L'actualisation du premier enregistrement de données 16A etiou du deuxième enregistrement de données 16B peut nécessiter l'envoi d'une requête au système informatique 14. L'actualisation peut être dépendante d'une réponse à la requête. Il faut comprendre qu'il peut y avoir plus d'un seul système informatique et que la procédure d'actualisation peut nécessiter l'envoi de plus d'une seule requête à plus d'un seul système informatique. L'actualisation du premier et du deuxième enregistrement de données peut être un processus itératif. Un quelconque enregistrement de données peut être défini plus d'une seule fois comme étant actif et peut être actualisé plus d'une seule fois. La première session fournit un environnement permettant à l'utilisateur de manipuler tous les enregistrements de données chargés. [0029] La première session peut fournir la possibilité de créer un nouvel enregistrement de données. L'utilisateur peut créer un nouvel enregistrement de données. Un nouvel enregistrement de données est un enregistrement de données qui n'est pas chargé à partir de la base de données 10. L'utilisateur peut créer un nouvel enregistrement de données en fusionnant deux enregistrements de données actualisés. L'utilisateur peut créer un nouvel enregistrement de données en fusionnant p. ex. l'enregistrement de données actualisé 16A et l'enregistrement de données actualisé 16B. L'utilisateur peut créer un nouvel enregistrement de données en fusionnant un enregistrement de données actualisé avec un enregistrement de données chargé, mais non actualisé. L'utilisateur peut mettre fin au processus d'actualisation. [0030] La première session peut fournir la possibilité d'amorcer une transaction de base de données pour réécrire les enregistrements de données actualisés (incluant tout nouvel enregistrement généré potentiel) dans la base de données 10. Le démarrage d'une transaction de base de données au cours de la première session peut comprendre le groupement de tous les enregistrements de données 16A, 16B et 16G compris ensemble dans la première session, permettant une seule itération d'une ou de plusieurs commandes de base de données à l'encontre de chaque enregistrement de données groupé. Le groupement de tous les enregistrements de données ensemble peut 7 comprendre les enregistrements de données actualisés, les enregistrements de données non modifiés et/ou les enregistrements de données nouvellement créés. Par exemple, afin de réécrire les enregistrements de données modifiés et nouvellement générés, ces enregistrements sont groupés et une commande de validation est envoyée à la hase de données 10 pour le groupe des enregistrements de données. Par ailleurs, les enregistrements de données ou les parties d'enregistrements de données peuvent être en boucle de sorte que de multiples itérations d'une série de commandes de base de données peuvent être appliquées à chacun des enregistrements de données. Les commandes peuvent faire référence p. ex. à des incohérences et/ou à des vérifications fonctionnelles. La Fig. 2 est une visualisation du groupement et/ou du bouclage par une ligne de pointillés entourant les enregistrements de données 16A, 16B et 16G. Lc démarrage d'une transaction de base de données dans la première session peut comprendre l'envoi d'une commande de validation du serveur 12A à la base de données 10 comprenant les noms de tous les enregistrements de données groupés et/ou bouclés comme indiqué dans la Fig. 2 par une flèche en pointillée. Une seule commande est nécessaire pour valider tous les enregistrements de données. [0031] La réception à la base de données 10, de la commande de validation peut amorcer une transaction de base de données sous un ID commun de session. Tous les enregistrements de données 16A, 16B et 16G correspondant aux noms compris dans la commande reçue peuvent être verrouillés à la base de données 10. Les enregistrements de données peuvent être verrouillés à l'écriture. La base de données 10 peut créer un tableau de verrouillage comprenant les noms. Le mécanisme de base de données enclenché par la commande de validation assure, soit que tous les enregistrements de base de données actualisés 16A, 16B et 16G soient validés, ou aucun d'entre eux. Les enregistrements de données 16A, 16B et 16G ne sont verrouillés qu'une fois que la commande de validation est reçue à la base de données 10. [0032] La première session peut être fermée par l'utilisateur une fois que les enregistrements de données 16A, 16B et 16G sont validés. [0033] La Fig. 3 illustre un flux séquentiel de diverses activités du procédé conformément à un mode de réalisation. Premièrement, un utilisateur crée une première session dans un serveur (activité S1). Le serveur peut être distant d'une base de données. Le serveur peut être couplé à la base de données via toutes sortes de lignes de communication. [0034] Ensuite (activité S2) de multiples enregistrements de données peuvent être chargés, à partir d'une base de données au cours de la première session, dans une mémoire du serveur. Les multiples enregistrements de données peuvent avoir une interdépendance pour l'utilisateur. Les multiples enregistrements de données peuvent être stockés indépendamment l'un de l'autre dans la base de données et peuvent être recherchés indépendamment les uns des autres dans la base de données. Ils ne peuvent être que lus 8 dans la hase de données. Aucun verrouillage des enregistrements de données n'est mis en oeuvre dans la hase de données. [0035] Au moins un premier et un deuxième enregistrement de données parmi les multiples enregistrements de données sont actualisés (activité S3). Des mises à jour peuvent être effectuées de façon séquentielle ou parallèle aux premier et deuxième enregistrements de données. [0036] Une fois que les mises à jour sont terminées, la première session contacte la hase de données pour remplacer les enregistrements de données, toujours non modifiés dans la hase de données avec les données modifiées (activité S4). Par conséquent, un mécanisme de transaction de hase de données comprenant tous les enregistrements de données chargés dans la mémoire du serveur est enclenché. La transaction de hase de données peut par ailleurs comprendre des enregistrements de données créés au cours de la première session. Le mécanisme de transaction de hase de données comprend un mécanisme de verrouillage d'écriture sur tous les enregistrements de données chargés au cours de la première session. Le mécanisme de transaction de hase de données assure que tous les enregistrements de hase de données actualisés soient validés, ou aucun d'entre eux. À la fin de la transaction de hase de données tous (ou aucun) des enregistrements de données sont modifiés dans la hase de données. [0037] La première session est fermée une fois que tous les enregistrements de données sont validés (activité S5). [0038] Dans certains modes de réalisation, une deuxième session peut être amorcée indé- pendamment de la première session. La deuxième session peut être amorcée sur le premier serveur 12A ou sur le deuxième serveur 12B, ou sur un autre serveur. La deuxième session peut chevaucher dans le temps la première session. Comme tous les enregistrements de données 16A-16G ne sont pas verrouillés après leur lecture dans la première session, la deuxième session peut charger les trois mêmes enregistrements de données 16A, 16B et 16G dans une mémoire du serveur respectif. À titre d'exemple on peut supposer que la deuxième session charge les enregistrements de données 16A et 16F. De nouveau, aucun mécanisme de verrouillage n'est enclenché au niveau de la base de données 10. Aucune modification aux enregistrements de données, tels qu'ils sont stockés dans la base de données 10, n'est effectuée à ce point. [0039] Au cours de la deuxième session, les enregistrements de données 16A et 16F peuvent être actualisés, de la manière décrite ci-dessus par rapport à la première session. Une transaction de base de données peut être enclenchée au cours de la deuxième session après l'achèvement des mises à jour. La transaction de base de données peut être amorcée à partir de la deuxième session indépendamment de la transaction de base de données amorcée à partir de la première session. [0040] Dans certains modes de réalisation, un mécanisme de résolution de cohérence de ré- 9 écriture au cours du mécanisme de transaction peut être apporté. En réponse à une tentative de validation, tout d'abord les enregistrements de données récupérés à l'origine (qui ont été conservés dans la mémoire du serveur 12B avec en plus la version actualisée des enregistrements de données) peuvent être comparés aux enregistrements de données correspondants dans la hase de données 10. Si les enregistrements de données tels qu'ils ont été chargés à l'origine dans la mémoire du serveur 12A respectivement 12B ne sont pas identiques aux enregistrements de données actuels dans la hase de données 10, le mécanisme de résolution cohérence de réécriture peut être utilisé. [0041] Un déni de la tentative de validation est un exemple du mécanisme de résolution de cohérence de réécriture. En réponse au déni de la tentative de validation, la session peut être configurée pour recharger l'enregistrement de données identifié comme n'étant pas identique à l'enregistrement de données récupéré à l'origine de la base de données 10. L'enregistrement de données rechargé peut ensuite être fusionné au cours de la session avec l'enregistrement de données actualisé. Une nouvelle tentative de validation peut commencer. [0042] Un autre exemple de mécanismes de résolution de cohérence de réécriture est la fusion qui a lieu au niveau de la hase de données 10 sans aucune nouvelle tentative de validation. La fusion comprend l'incorporation des mises à jour faites au cours de la deuxième session dans la version des données actuellement stockées dans la hase de données 10. [0043] Un exemple des corrélations de multiples sessions accédant et actualisant les mêmes données stockées dans la base de données 10 conformément aux méthodologies décrites dans les présentes est fourni par la FIG. 4. Le système informatique 14 se met en marche et conserve la première session avec le serveur 12B (activité 20). Au cours de la première session, le serveur 12B charge les données devant être gérées et actualisées à partir de la base de données 10 dans la mémoire du serveur 12B (activité 22). Ainsi que décrit ci-dessus les données chargées peuvent être des enregistrements de données 12A, 12B et 12G. Les données chargées sont ensuite actualisées dans la mémoire du serveur 12B au cours de la première session en réponse aux commandes respectives du système informatique 14 (activité 24). [0044] À un certain moment après que les données sont chargées dans la première session (activité 22), la deuxième session est amorcée et conservée (activité 26). Dans l'exemple de la FIG. 4, la deuxième session est amorcée et conservée avec le serveur 12A et également par le système informatique 14, mais elle peut être réamorcée et conservée par un autre serveur (p. ex. par le serveur 12B) et par tout autre système informatique. Au cours de la deuxième session, les données devant être gérées et actualisées sont chargées à partir de la base de données 10 (activité 28), les données comprenant au moins un enregistrement de données qui a déjà été précédemment chargé à partir de la base de données 10 au cours de la première session à l'activité 22 (p. ex. l'enregistrement de données 16A décrit ci-dessus). Les données chargées sont ensuite actualisées dans la mémoire du serveur 12A au cours de la deuxième session en réponse aux commandes respectives du système informatique 14 (activité 30). [0045] Faisant à nouveau référence à la première session, après la fin de l'actualisation des données dans la mémoire du serveur 12B, les données actualisées sont réécrites dans la base de données 10 (activité 32). Dans le scénario hypothétique de la FIG. 4, au moins un des enregistrements de données également chargés par la deuxième session a été actualisé au cours de la première session (p. ex. l'enregistrement de données 16A de la FIG. 2). Comme décrit ci-dessus, la réécriture 32 peut utiliser une transaction de hase de données à la pointe de l'art. En supposant qu'aucune des données actualisées au cours de la première session n'a été chargée à partir de la hase de données 10 par toute autre session auparavant et n'a pas déjà été réécrite avant l'heure du chargement 22, la validation de la réécriture sera réussie et tous les enregistrements de données actualisés de la première session sont réécrits dans la hase de données 10 d'une manière cohérente. La première session est ensuite terminée (activité 34). [0046] À un moment ultérieur, après que les données actualisées de la première session ont été réécrites dans la hase de données 10 par l'activité 32, l'actualisation de données de la deuxième session est complétée et une tentative est faite pour réécrire les données actualisées de la deuxième session dans la base de données 10. Dans le scénario hypothétique de la FIG. 4, au moins un enregistrement de données qui a été mis à jour et réécrit dans la base de données 10 par la première session est également mis à jour au cours de la deuxième session. Dans ce cas, la réécriture n'est pas réussie dès le début, mais une résolution de cohérence de réécriture 36 est utilisée. Ainsi que décrit ci-dessus, la résolution de cohérence de réécriture 36 peut inclure le déni d'une tentative de réécriture pour recharger les données modifiées de la base de données 10 à la deuxième session et pour répéter les actualisations des données rechargées. Dans un autre exemple, un mécanisme de fusion est utilisé pour assurer la cohérence des données dans la base de données 10 en incorporant les mises à jour effectuées au cours de la deuxième session dans les versions des données actuellement stockées dans la base de données 10. D'une façon ou d'une autre, après que la résolution de cohérence de réécriture 36 a été achevée avec succès, la deuxième session prend fin (activité 38). [0047] La FIG. 5 est une représentation sous forme de diagramme des composants internes d'une machine informatique 100 représentant p. ex. un quelconque des serveurs 12A et 12B. La machine informatique 100 inclut un ensemble d'instructions pour amener la machine informatique 100 à mettre en oeuvre l'une quelconque des méthodologies décrites dans les présentes lorsqu'elles sont exécutées par la machine in- 11 formatique 100. La machine informatique 100 inclut au moins un processeur 101, une mémoire principale 106 et un dispositif d'interface de réseau 103 qui communiquent les uns avec les autres via un bus 104. En option, la machine informatique 100 peut par ailleurs inclure une mémoire statique 105 et une unité de lecteur de disque. Un écran vidéo, un dispositif de saisie alphanumérique et un dispositif de contrôle de pointeur peuvent être fournis comme exemples d'interface d'utilisateur 102. Le dispositif d'interface de réseau 103 connecte la machine informatique 100 aux autres composants du système de hases de données tels que la hase de données 10 et par ailleurs le système informatique 14. [0048] La mémoire 106 de la machine informatique 100 peut inclure une zone de mémoire 107 stockant les données récupérées (telles que les enregistrements de données 16A, 16B et 16G de la FIG. 2). Dans une autre zone 108 de la mémoire 106, des données de gestion de sessions, telles que les IDs de session et les données d'état de session définissant les sessions actuellement actives avec le système in- formatique 14, peuvent être stockées. Dans une autre zone 109 de la mémoire 106, les processus logiciels mettant en oeuvre la fonctionnalité active du moment, telle que l'interaction avec la hase de données 10 (chargement et réécriture), ainsi que l'actualisation de données et les commandes de traitement au cours des sessions actuellement actives, peuvent être stockées. La mémoire 106 dans les présents modes de réalisation peut être composée de composants matériels et logiciels qui stockent les enregistrements de données. Il peut y avoir des antémémoires basées sur le matériel telles que des antémémoires de CPU, des antémémoires de GPU, des processeurs de signaux numériques et des tampons de translation par consultation latérale tels que des antémémoires de pages, des antémémoires de Web (des antémémoires HTTP, etc. [0049] La machine informatique hébergeant la base de données 10 ainsi que le système in- formatique 14 peut être implémentée par une machine informatique similaire 100 telle que celle qui est montrée dans la FIG. 5. 12 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5]