Brevet FR3110723A1 — publié le 20211126

Un serveur de session de base de données reçoit une première requête de client pour mettre à jour une première pièce de donnée d’une session de base de données. Le serveur de session de base de données répond avec une première réponse pour indiquer une mise à jour de la première pièce de donnée conformément à la première requête et publie la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source. La session de base de données traite une première indication indiquant que la première pièce de donnée mise à jour doit subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour. Le serveur de session de base de données reçoit une deuxième requête d’un client pour mettre à jour une troisième pièce de donnée de la session de base de données et répond avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de donnée conformément à la première indication traitée. FIG. 4 Mise à jour de session de base de données asynchrone La présente divulgation relève de la technologie de base de données. Plus spécifiquement elle concerne la gestion de transactions de base de données dans une session de base de données. Contexte Les opérations de base de données entre des systèmes clients informatisés et des systèmes de base de données sont effectuées par des transactions de base de données. Lorsque les requêtes faites par un système client, un ou de multiples enregistrements de données stockés dans un système de base de données sont chargés, potentiellement manipulés et réécrits dans le système de base de données par une ou de multiples transactions de base de données. Une métrique de performance pour la gestion de transactions de base de données est le temps de réponse relatif à la durée entre une requête de client et une réponse du système de base de données confirmant ou effectuant les transactions de base de données demandées. Des temps de réponse plus longs impliquent un état de pause au niveau du système client (pendant qu’il attend une réponse) et donc une utilisation inefficace des ressources de système. Par conséquent, des temps de réponse réduits pour traiter des transactions de base de données sont généralement souhaitables d’un point de vue technique afin d’augmenter l’efficacité d’utilisation des ressources de système. Résumé : La présente divulgation vise de façon générale à diminuer le temps de réponse des transactions de base de données qui sont effectuées dans une session de base de données. Selon un premier aspect, un procédé pour le traitement d’une session de base de données est fourni. La base de données est conservée dans un système de base de données comprenant un ou plusieurs clients, un serveur de base de données et une base de données source. Le serveur de session de base de données conserve la session de base de données avec un ou plusieurs clients. La base de données comprend une pluralité de pièces de données chargées à partir de la base de données source sur le serveur de session de base de données. Le procédé comprend, au niveau du serveur de session de base de données durant la session de base de données : une réception, en provenance du client, d’une première requête pour mettre à jour au moins une première pièce de donnée de la session de base de données ; une réponse, au client, avec une première réponse pour indiquer une mise à jour de la première pièce de donnée conformément à la première requête ; une publication de la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source ; un traitement d’une première indication indiquant que la première pièce de donnée mise à jour doit subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour ; une réception, en provenance du client, d’une deuxième requête pour mettre à jour au moins une troisième pièce de donnée de la session de base de données ; une réponse, au client, avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de données conformément à la première indication traitée. Dans certains exemples, un traitement supplémentaire d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour comprend le fait de déterminer si la mise à jour de la première pièce de donnée entraine ou non une incohérence des données avec une quelconque deuxième pièce de donnée de la session de base de données. L’indication indique que la deuxième pièce de données de la session de base de données doit être mise à jour afin de rétablir la cohérence des données avec la pièce de donnée mise à jour. La deuxième réponse inclut une indication de la mise à jour de la deuxième pièce de la session de base de données qui rétablit la cohérence des données avec la première pièce de donnée mise à jour. Dans certains exemples, la deuxième requête comprend une requête pour faire une mise à jour supplémentaire de la première pièce de donnée mise à jour. Le procédé comprend, au niveau du serveur de session de base de données : une réponse, au client, avec la deuxième réponse pour indiquer une mise à jour supplémentaire de la première pièce de donnée mise à jour conformément à la deuxième requête, mais omettant d’indiquer la mise à jour de la première pièce de donnée mise à jour et/ou d’une mise à jour de la deuxième pièce de donnée conformément à l’indication traitée ; une publication de la mise à jour supplémentaire de la première pièce de donnée mise à jour pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour subséquemment et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour subséquemment en utilisant la base de données source ; un traitement d’une deuxième indication indiquant que la première pièce de donnée mise à jour subséquemment doit encore subir une mise à jour supplémentaire et/ou que la deuxième pièce de donnée de la session de base de données doit être mise à jour ; une réception, en provenance du client, d’une troisième requête pour mettre à jour au moins une quatrième pièce de donnée de la session de base de données ; et une réponse, au client, avec une troisième réponse pour indiquer une mise à jour de la quatrième pièce de donnée conformément à la troisième requête et encore une mise à jour supplémentaire de la première pièce de donnée subséquente et/ou une mise à jour de la deuxième pièce de donnée conformément à la deuxième indication traitée. Dans certains exemples, lorsque la première indication et la deuxième requête indiquent une mise à jour de la deuxième pièce de donnée, le procédé comprend par ailleurs au niveau du serveur de session de base de données l’exécution d’une vérification de cohérence entre la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête et la mise à jour de la deuxième pièce de donnée signalée dans la première indication ; en réponse à la détermination que la mise à jour de la deuxième pièce de donnée signalée dans la première indication est cohérente avec la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête, l’application des deux mises à jour à la deuxième pièce de donnée pour former un deuxième pièce de donnée mise à jour et incluant la deuxième pièce de donnée mise à jour dans la deuxième réponse. Dans certains exemples, le procédé comprend, au niveau du serveur de session de base de données : en réponse à la détermination que la mise à jour de la deuxième pièce de donnée signalée dans la première indication n’est pas cohérente avec la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête, le rejet de la mise à jour signalée dans la première indication, l’application de la mise à jour indiquée dans la deuxième requête à la deuxième pièce de donnée pour former la pièce de donnée mise à jour et l’inclusion de la deuxième pièce de donnée mise à jour dans la deuxième réponse ; une publication de la mise à jour de la deuxième pièce de donnée pour permettre un traitement supplémentaire de la deuxième pièce de donnée mise à jour et/ou d’une quelconque pièce de donnée de la session de base de données relative à la deuxième pièce de donnée mise à jour en utilisant la base de données source ; Certains exemples comprennent par ailleurs au niveau du serveur de session de base de données : une réception de multiples requêtes d’un ou de plusieurs clients pour mettre à jour une ou plusieurs des pièces de données de la session de base de données entre la réponse avec la première réponse et la réception de la deuxième requête. Certains exemples comprennent par ailleurs au niveau du serveur de session de base de données : une réception, en provenance du client, d’une requête de validation pour terminer la session de base de données et réécrire une quelconque mise à jour aux pièces de données de la session de base de données traitées durant la session de base de données à la base de données source ; une mise en œuvre d’une procédure de cohérence des mises à jour des pièces de données de la session de base de données traitées durant la session de base de données par rapport à la base de données source ; l’exécution de la requête de validation et la réécriture des pièces de données mises à jour de la session de base de données dans la base de données source en réponse au fait que la procédure de cohérence a été un succès. Selon un deuxième aspect, un serveur de session de base de données pour traiter une session de base de données est fourni. Le serveur de session de base de données conserve la session de base de données avec un client, la base de données comprend une pluralité de pièces de données chargées à partir de la base de données source sur le serveur de session de base de données. Le serveur de session de base de données est agencé pour : recevoir, en provenance du client, une première requête pour mettre à jour au moins une première pièce de donnée de la session de base de données ; répondre, au client, avec une première réponse pour indiquer une mise à jour de la première pièce de données conformément à la première requête ; publier la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source ; traiter une première indication indiquant que la première pièce de donnée mise à jour doit subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour ; recevoir, en provenance du client, une deuxième requête pour mettre à jour au moins une troisième pièce de donnée de la session de base de données ; et répondre, au client, avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de donnée conformément à la première indication traitée. Dans certains exemples, le serveur de session de base de données est par ailleurs agencé pour exécuter un quelconque des exemples du procédé exposé ci-dessus. Selon un troisième aspect, il est fourni un produit-programme d’ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour exécuter les étapes du procédé selon l’un quelconque des aspects du procédé énoncés et des exemples exposés ci-dessus lorsque ledit programme est exécuté sur un ordinateur. Des aspects et des exemples de la présente divulgation sont décrits en faisant référence aux dessins suivants, dans lesquels : montre des éléments d’un système de base de données incluant un serveur de session de base de données implémentant les méthodologies décrites dans la présente. est une visualisation du chargement et de la réécriture des pièces de données pour une session de base de données. expose une méthodologie générale de traitement d’une session de base de données ainsi que décrite dans la présente. est un schéma de séquence de messages conforme à certains exemples enseignés dans la présente. fait référence à d’autres exemples particuliers de vérification de la cohérence des données . est liée à des exemples dans lesquels la même pièce de donnée doit être par la suite mise à jour en réponse aux requêtes de clients. concerne des exemples avec une vérification de cohérence pour résoudre une mise à jour de la même pièce de donnée en réponse à une requête de client et par une indication provenant d’une entité de traitement. illustre une situation dans laquelle la vérification de cohérence échoue et déclenche une publication supplémentaire de la pièce de donnée mise à jour. montre un exemple d’une structure interne d’une plateforme informatisée implémentant le serveur de session de base de données décrit dans la présente. Description détaillée La présente divulgation concerne une session de base de données qui est établie et conservée dans un système de base de données. Une vue schématique du système de base de données 1 est montrée par la FIG. 1. Le système de base de données 1 inclut un ou plusieurs systèmes clients 6, succinctement les clients 6. Des exemples non exhaustifs de clients 6 sont des postes informatisés comprenant des éléments matériels et logiciels tels que des ordinateurs personnels, des ordinateurs mobiles tels que des ordinateurs portables ou des tablettes, des téléphones mobiles tels que des smartphones, des systèmes de serveurs, ainsi que des composants logiciels tels que des applications fonctionnant sur un ou plusieurs des postes informatisés susmentionnés, ainsi que des combinaisons de ceux-ci. Le système de base de données 1 inclut par ailleurs un serveur de session de base de données 2 couplé en mode communication avec ledit un ou plusieurs clients 6 via une interface de communication 5. L’interface de communication 5 peut être filaire ou sans fil ainsi qu’une connexion en réseau local ou distant telle qu’une connexion via l’Internet. Une partie de l’interface de communication 5 peut être implémentée au moyen d’un réseau de communications mobile tel qu’un réseau 3G/4G/5G selon des spécifications ETSI/3GPP et/ou un réseau WiFi/WLAN selon des spécifications IEEE. Le serveur de session de base de données 2 maintient une session de base de données 32 (cf. FIG. 4) avec un des clients 6. De multiples sessions de bases de données peuvent être conservées avec ce client 6 en même temps. Le serveur de session de base de données 2 est aussi agencé pour maintenir de multiples sessions de base de données avec de multiples clients 6 en même temps, mais une seule session de base de données avec un des clients 6 est prise en compte dans la présente par souci de brièveté et de simplicité. Il est cependant compris que les méthodologies décrites dans la présente peuvent survenir concomitamment au niveau du serveur de session de base de données 2 pour de multiples clients 6. Une session de base de données 32 est une connexion établie entre le client 6 et le serveur de session de base de données 2 dans laquelle le client peut effectuer des transactions sur un nombre de pièces de données qui ont été chargées sur le serveur de session de base de données 2. Les transactions peuvent inclure des transactions de lecture et d’écriture. Au moyen d’une transaction d’écriture, le client 6 peut demander une modification ou une manipulation d’une pièce de donnée actuellement conservée dans le serveur de session de base de données 2, ci-après appelée une mise à jour. Une session de base de données peut être initiée lors d’une requête particulière d’un client 6 pour établir la session de base de données. En réponse à la réception de cette requête en provenance du client 6, le serveur de session de base de données 2 contacte une base de données sources 4 qui fait aussi partie du système de base de données 1 montré par la FIG. 1. La base de données source 4 conserve une collection de pièces de données, dont un nombre est chargé à partir de la base de données source 4 sur le serveur de session de base de données 2 comme faisant partie de la session de base de données et peut ensuite être lu et/ou mis à jour par le client 6 dans la session de base de données. On note que le chargement des pièces de données à partir de la base de données source 4 peut aussi survenir dans le cadre d’une session de base de données existante, p. ex. lorsque le client 6 demande des pièces de données supplémentaires qui n’ont pas encore été chargées dans le serveur de session de base de données 2 dans la session de base de données. Pour faciliter le chargement des pièces de données à partir de la base de données source 4 dans le serveur de session de base de données 2, la base de données source 4 et le serveur de session de base de données 2 sont couplés en mode communication au moyen d’une interface de communication 3. L’interface de communication 3 peut être similaire ou différente de l’interface de communication 5. Par exemple, le serveur de session de base de données 2 peut être géographiquement colocalisé avec la base de données source 4 et dans ce cas l’interface de communication 5 est une connexion de réseau de zone locale. Dans d’autres exemples, p. ex. si le serveur de session de base de données 2 est géographiquement plus proche du client 6 que la base de données source 4, l’interface de communication peut utiliser l’Internet. Dans certains exemples, le chargement de pièces de données à partir de la base de données source 4 lors de l’initiation d’une session de base de données ou durant la session de base de données inclut la copie des pièces de données à partir de la base de données source 4 dans le serveur de session de base de données 2, par exemple au moyen d’instructions SQL select. La base de données source 4 peut fixer des mécanismes de verrouillage sur les pièces de données chargées pour des raisons de cohérence des données. Dans certains exemples, le chargement de pièces de données à partir de la base de données source 4 lors de l’initialisation d’une session de base de données ou durant la session de base de données inclut des opérations de base de données plus complexes et/ou plus coûteuses (en matière de ressources de calcul) afin de préparer les pièces de données sur la base de données basiques conservées par la base de données source 4. Par exemple, la base de données source 4 peut être un système de mégadonnées contenant des milliards d’enregistrements de données, de sorte que l’identification et la récupération du nombre de pièces de données demandées par le client 6 peut prendre un temps considérable. Dans certains exemples, la requête de lancement de la session de base de données par le client peut indiquer des paramètres de multiples dimensions de sorte qu’un grand nombre de combinaisons d’enregistrements de données contenues dans la base de données source 4 doit être exploré afin de charger les pièces de données dans le serveur de session de base de données 4. Les derniers exemples plus complexes de chargement de pièces de données à partir de la base de données source 4 lors de l’initialisation d’une session de base de données ou durant la session de base de données sont indiqués dans la FIG. 2. Selon l’exemple simplifié, la session de base de données établie entre le client 6 et le serveur de session de base de données 4 inclut trois pièces de données 8A, 8B, 8G qui ont été chargées à partir de la base de données 4. Au moment du chargement, c.-à-d. lorsque le serveur de session de base de données 4 contacte la base de données source 4 p. ex. en réponse à la requête de lancement de la session de base de données afin de charger les pièces de données demandées par le client 6 pour la session de base de données, la base de données source 4 traite les enregistrements de données sous-jacents 10A-10B-10C-10D, 12A-12B-12C-12D, 14A-14B-14C-14D afin d’obtenir les pièces de données 8A à 8G à partir desquelles les trois pièces de données 8A, 8B, 8G p. ex. satisfont les paramètres de recherche indiqués par le client 6 et sont donc renvoyées au 9 au serveur de session de base de données 4 où ils sont stockés afin d’être traités par ailleurs dans la session de base de données. Comme cela sera décrit de façon plus détaillée ci-dessous, la session de base de données peut être terminée via une transaction de validation qui inclut, notamment, la réécriture 11 de quelconques mises à jour relevées sur les pièces de données de la session de base de données à la base de données source 4. Généralement, le serveur de session de base de données 4 améliore les temps de réponse des transactions de base de données individuelles demandées par le client 6 sur le nombre de pièces de données qui font partie de la session de base de données comparée à une mise en œuvre directement sur la base de données source 4. Le serveur de session de base de données 4 peut détenir le nombre de pièces de données dans une mémoire à accès rapide et ne nécessite pas des opérations de base de données complexes telles que joindre, fusionner, unir, etc. Par ailleurs, le serveur de session de base de données 2 peut aussi être géographiquement plus proche du client 6 que la base de données source 4, p. ex. dans un centre de données dans le même pays dans lequel le client 6 est actuellement situé, alors que la base de données 4 peut être située sur un continent différent. Par conséquent, pour une ou plusieurs de ces raisons, le client 6 est habilité à exécuter des opérations de lecture et d’écriture sur les pièces de données incluses dans la session de base de données avec le serveur de session de base de données 2 d’une manière accélérée comparée à l’exécution de ces opérations sur la base de données source 4. Dans les systèmes d’art antérieur, tels que les Figs. 3, 4 et 5 dans US 2017/0075902 A1, les réponses aux requêtes de transactions provenant des systèmes clients peuvent être substantiellement retardées en dépit de l’utilisation d’une entité intermédiaire telle qu’un serveur de session de base de données en raison des interrogations ou des validations avec des systèmes dorsaux tels qu’une base de données source pendant le traitement d’une requête de client. Dans ces arts antérieurs, une réponse à une requête de client est seulement renvoyée après que de telles interrogations/validations dorsales ont commencé. En raison du temps substantiel requis pour ces interrogations/validations dorsales (comparé à l’entité plus rapide intermédiaire telle qu’un serveur de session de base de données), ce délai peut être de l’ordre d’une magnitude (p. ex. des secondes vs des millisecondes) et donc substantiel. Les méthodologies pour traiter la session de base de données incluent un procédé exécuté au serveur de session de base de données 2, un serveur de session de base de données 2 et des instructions de programme informatique exécutées par un serveur de session de base de données 2 avec les activités/fonctions suivantes (FIG. 3) pour remédier à ces inconvénients des systèmes d’art antérieur tels qu’US 2017/0075902 A1. Faisant référence à la FIG. 3, après que la session de base de données entre le client 6 et le serveur de session de base de données 2 a été établie, au 20, le serveur de session de base de données 2 reçoit, en provenance du client 6, une première requête pour mettre à jour au moins une première pièce de donnée de la session de base de données. Au 22, le serveur de session de base de données 2 répond, au client 6, avec une première réponse pour indiquer une mise à jour de la première pièce de données conformément à la première requête. Ensuite, au 24, le serveur de session de base de données 2 publie la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source. Par la suite, au 26, le serveur de session de base de données 2 traite une première indication indiquant que la première pièce de donnée mise à jour doit encore être mise à jour et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour. À un moment ultérieur, au 28, le serveur de session de base de données 2 reçoit, en provenance du client 6, une deuxième requête pour mettre à jour au moins une troisième pièce de la session de base de données. Ensuite, au 30, le serveur de session de base de données 2 répond, au client 6, avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de donnée conformément à la première indication traitée. Cette procédure fait usage du temps après la première réponse au client pour traiter par ailleurs la première pièce de données mise à jour d’une quelconque deuxième pièce de donnée relative à la première pièce de données mise à jour. En d’autres termes, la première réponse indiquant une mise à jour locale de la première pièce de donnée au serveur session de base de données 4 est renvoyée immédiatement (p. ex. sans contacter la base de données source 4) afin d’assurer un temps de réponse plus rapide que dans l’art antérieur mentionné ci-dessus. Le traitement qui peut impliquer la base de données source 4 (plus lente) est différé et exécuté dans un intervalle de temps entre la première réponse et une deuxième réponse ultérieure subséquente par le client 6. Le résultat de ce traitement supplémentaire est ensuite renvoyé au client 6 à ce moment ultérieur dans le temps avec la deuxième réponse qui répond à cette deuxième requête subséquente. Un exemple plus spécifique est donné dans la FIG. 4 qui est aussi utilisé pour décrire des détails et des exemples non exhaustifs de certaines des caractéristiques montrées dans la FIG. 3 telles qu’une activité/fonction et le traitement supplémentaire. La séquence de messages de la FIG. 4 suppose qu’une session de base de données 32 a été établie entre le client 6 et le serveur de session de base de données 2, et que le nombre de pièces de données a donc été chargé à partir de la base de données source 4 dans le serveur de session de base de données 2 tel que décrit ci-dessus. L’exemple de la FIG. 4 ainsi que les autres exemples des FIGS. 5 à 8 font référence à des pièces de données exemplaires 8A à 8G montrées dans la FIG. 2. Le client 6 envoie une première requête 34 au serveur de session de base de données 2 demandant une mise à jour de la pièce de donnée 8 B. On note qu’une première requête n’implique pas qu’aucune requête précédente ne soit survenue au cours de la session de base de données 32, mais — comme d’habitude — a le sens d’une appellation pour différencier cette requête d’autres requêtes telles que la deuxième requête et la troisième requête ainsi que des requêtes de lancement de session de base de données et des requêtes de validation ainsi que mentionné ci-dessus. La première requête 34 est reçue par le serveur de session de base de données 2 via l’interface de communication 5 et traitée selon un protocole de transaction de base de données utilisée au serveur de session de base de données 2. Le serveur de session de base de données 2 exécute la mise à jour demandée de la pièce de donnée 8B, résultant en une pièce de donnée mise à jour 8B’. Dans des exemples, le serveur de session de base de données 2 continue à stocker à la fois la version précédente de la pièce de donnée 8B et la version mise à jour de la pièce de données 8B’ en mémoire. Le serveur de session de base de données 2 renvoie ensuite la pièce de donnée mise à jour 8B’ au client 6 au moyen de la première réponse 36 via l’interface de communication 5. De plus, le serveur de session de base de données 2 publie au 38 la pièce de données mise à jour 8B’ pour permettre un traitement supplémentaire par une autre entité. La publication 38 peut survenir concomitamment au renvoi de la première réponse 36 au client 6. Dépendant du chargement actuel du serveur de session de base de données 2, la publication 38 peut aussi être différée dans une certaine mesure, car cette activité est généralement moins urgente que le renvoi de la première réponse 36 au client 6. Le terme publication fait généralement référence à la mise à disponibilité de la pièce de donnée mise à jour 8B’ (et généralement, toutes les mises à jour des pièces de données survenant durant la session de base de données 32), à une quelconque autre entité de traitement 16. Par exemple, le serveur de session de base de données 2 peut stocker la pièce de donnée mise à jour 8B’ dans un endroit interne ou externe au serveur de session de base de données 2 tel que dans une réserve ou une file d’attente de pièces de données mises à jour devant être traitées ultérieurement à partir desquels l’entité de traitement 16 est capable de récupérer la pièce de donnée mise à jour 8B’ (ainsi que représenté visuellement par la combinaison de flèches solide/pointillée de la publication 38 dans la FIG. 4). Le serveur de session de base de données 2 peut notifier l’entité de traitement 16 de la possibilité de récupérer la pièce de donnée mise à jour 8B’ à cet endroit. Le moment dans le temps durant lequel l’entité de traitement 16 récupère actuellement la pièce de donnée mise à jour 8B’ de la réserve ou de la file d’attente peut dépendre du chargement actuel de l’entité de traitement 16 et/ou d’un quelconque caractère prioritaire des pièces de données mises à jour pour être traitées ultérieurement. Dans d’autres exemples, la publication 38 est implémentée par un protocole de requête/réponse selon lequel le serveur de session de base de données 2 transmet la pièce de donnée mise à jour 8B’ à l’entité de traitement 16 et l’entité de traitement 16 peut accuser réception de la pièce de donnée mise à jour 8B’. Si plus d’une seule entité 16 est capable de traiter la pièce de donnée mise à jour 8B’, le serveur de session de base de données 2 ou une quelconque autre entité non illustrée par la FIG. 4 peut sélectionner une des multiples entités de traitement disponibles. Le serveur de session de base de données 2 peut utiliser une autre interface de communication 7 (cf. FIG. 2) pour la publication 38 de la pièce de donnée mise à jour 8B’ dans un endroit externe. On note que dans certains exemples, la base de données source 4 agit aussi elle-même comme entité de traitement 16 (cf. l’exemple de la FIG. 5) auquel cas le serveur de session de base de données peut utiliser la même interface de communication 3 pour communiquer avec la base de données source comme pour établir et terminer des sessions de bases de données 32. Le terme publication fait aussi référence au fait que le serveur de session de base de données 2 continue par la suite une opération normale avec le client 6 dans la session de base de données 32. C’est-à-dire, que le client 6 peut soumettre une autre ou plusieurs autres requêtes 35 au serveur de session de base de données 2 et le serveur de session de base de données 2 traite et répond à ces autres requêtes 35 de manière normale selon le protocole de transaction de base de données utilisée par le serveur de session de base de données 2. Une quelconque mise à jour de pièces de données effectuées par ces autres requêtes 35 peut aussi causer des activités correspondantes d’autres publications 38. Par conséquent, pour l’opération envers le client 6, le serveur de session de base de données 2 n’attend pas spécifiquement une quelconque réponse de l’entité de traitement 16 avec un résultat de traitement supplémentaire de la pièce de donnée mise à jour 8B’. En conséquence, toute notification provenant de l’entité de traitement 16 en réponse à une activité de publication 38 arrive au serveur de session de base de données 2 à un moment arbitraire dans le temps, c.-à-d. de façon asynchrone. On note aussi qu’une ou plusieurs activités de publication 38, le serveur de session de base de données 2 ne reçoit jamais de réponse, p. ex. lorsque le résultat d’un traitement supplémentaire par l’entité de traitement 16 est qu’aucune pièce de donnée de la session de base de données n’a été mise à jour. La réception asynchrone d’indications 44 peut être implémentée au serveur de session de base de données 2 p. ex. via un écouteur d’indications qui est attentif à l’arrivée possible de quelconques indications 44 indépendamment de toute occurrence d’activité de requête/réponse avec un ou plusieurs clients 6. Un traitement supplémentaire de la pièce de donnée mise à jour peut faire référence à une sorte quelconque de traitement qui implique la base de données source 4 et rend donc le traitement supplémentaire beaucoup plus lent que les transactions de base de données qui sont exécutées entre le client 6 et le serveur de session de base de données 2 au moyen de requêtes du client 6 et de réponses respectives provenant du serveur de session de base de données 2. Par exemple, un traitement supplémentaire de la pièce de donnée mise à jour 8B’ peut être lié à une sorte quelconque de vérification ou de validation de la mise à jour de la pièce de donnée 8B pour devenir la pièce de donnée 8B’, sur la base d’autres pièces de données et/ou de données sous-jacentes stockées dans la base de données source 4. Par conséquent, ces types de traitement supplémentaire peuvent donner lieu à une confirmation ou un rejet de la mise à jour. Dans certains exemples, un traitement supplémentaire peut être lié à l’enrichissement de données selon lequel la mise à jour effectuée sur la pièce de donnée 8B peut être par ailleurs enrichie avec des données supplémentaires qui sont basées sur des données stockées par la base de données source 4. Dans certains exemples, un traitement supplémentaire peut être lié à la validation d’une ou plusieurs pièces d’autres données qui sont liées à la mise à jour de la pièce de donné 8B’, en particulier une de plusieurs pièces de données qui font partie de la session de base de données 32 avec le client 6 et sont donc actuellement stockées par le serveur de session de base de données 2, par rapport à la mise à jour portée à la pièce de donnée 8B. Cette validation peut indiquer si oui ou non cet autre ou plusieurs autres pièces de données nécessitent une quelconque mise à jour. À nouveau, cette validation implique qu’une base de données source 4 est plus lente. Un exemple de cette sorte de traitement supplémentaire est montré dans la FIG. 4 selon laquelle un traitement supplémentaire inclut l’entité de traitement 16 qui envoie une requête de vérification 40 à la base de données source 4 qui demande que la base de données source 4 détermine si la mise à jour qui a été effectuée sur la pièce de donnée 8B nécessite une quelconque mise à jour d’une quelconque autre pièce de donnée qui est relative à la pièce de donnée 8B. Dans l’exemple de la FIG. 4, la base de données source 4 détermine que la pièce de donnée 8A qui est liée à la pièce de donnée 8B et qui fait aussi partie de la session de base de données 32 (cf. FIG. 2) doit être mise à jour pour devenir la pièce de donnée 8A’ basée sur la mise à jour effectuée sur la pièce de donnée 8B. Par conséquent, la base de données source 4 répond avec la réponse 42 indiquant que la pièce de donnée 8A doit être mise à jour sur la base de la pièce de donnée mise à jour 8A’. On comprendra que le traitement supplémentaire peut résulter en ce que de multiples pièces de données de la session de base de données 32 doivent être mises à jour et dans ce cas l’indication 44 indique une mise à jour de ces multiples pièces de données de la session de bases de données 32. En réponse à la réception de la réponse 42, l’entité de traitement 16 envoie une indication 44 au serveur de session de base de données 2 indiquant que la pièce de donnée 8A doit être mise à jour sur la base de la pièce de donnée mise à jour 8A’. L’indication 44 peut inclure la mise à jour devant être effectuée sur la pièce de donnée 8A, ou, autrement sur la pièce de donnée mise à jour 8A’ elle-même. L’indication peut être transmise au serveur de session de base de données via une quelconque interface de communication appropriée, telle que l’interface de communication 7 ou l’interface de communication 3 via la base de données source 4. En réponse à la réception de l’indication 44, le serveur de session de base de données 2 traite l’indication 44 (p. ex. il stocke la pièce de donnée mise à jour 8A’) et attend de recevoir une autre requête du client 6. À un moment donné, cette autre requête, notamment la deuxième requête 46, est reçue en provenance du client 6. Généralement, la deuxième requête 46 peut concerner une quelconque pièce de donnée qui fait partie de la session de base de données 32 et est stockée par le serveur de session de base de données 2. Dans l’exemple de la FIG 4, la deuxième requête 46 demande une mise à jour de la pièce de donnée 8G. En réponse à la réception de la deuxième requête 46, le serveur de session de base de données 2 traite la deuxième requête 46 de la manière habituelle selon le protocole de transaction de base de données utilisé et prépare une réponse à la deuxième requête, notamment la deuxième réponse 48. La deuxième réponse 48 qui inclut au moins deux pièces de données, notamment la pièce de donnée mise à jour 8G’ (c.-à-d. la réponse actuelle à la deuxième requête 46) et aussi la pièce de donnée mise à jour 8A’ qui a résulté de l’indication 44 et fait référence en fait à la première requête 36 (et par conséquent, forme toujours logiquement une réponse à la première requête 36). À l’évidence pour l’homme de métier, à partir de l’exemple de la FIG. 4, l’avantage technique de cette procédure sur les systèmes d’art antérieur tels qu’US 2017/0075902 A1 est une réponse aux requêtes de bases de données plus élevée, vu que la durée entre de multiples requêtes de bases de données est utilisée pour d’autres activités de traitement et de potentielles mises à jour de deuxième ordre ou de résultats de validation qui sont renvoyés au client demandeur ultérieurement, adossés à des réponses aux requêtes subséquentes de base de données. Par conséquent, la fourniture du résultat d’un quelconque traitement au client 6 ultérieurement entraine un surdébit de réseau minimal. Dans certains exemples, la procédure générale décrite ci-dessus est particulièrement utilisée pour assurer la cohérence des données dans le système de base de données distribuée 1. Ainsi qu’exposé ci-dessus, les pièces de données détenues par le système de base de données distribué 1 peuvent être liées les unes aux autres dans le sens où une pièce de donnée mise à jour peut impliquer une mise à jour correspondante d’une autre pièce de donnée. Plus spécifiquement, les pièces de données de la session de base de données 32 peuvent être liées les unes aux autres de sorte qu’une pièce de donnée mise à jour (p. ex. 8B) pourrait nécessiter une mise à jour d’une autre pièce de donnée de la session de base de données (p. ex. 8A) également. Dans ce but, en faisant maintenant référence à la FIG. 5, le serveur de session de base de données 2 peut publier la pièce de donnée mise à jour 8B’ sous la forme d’une requête de validation 38 à la base de données source 4 (qui agit en tant qu’entité de traitement 16 dans l’exemple de la FIG. 5). La base de données source 4 détermine si oui ou non la mise à jour qui a modifié la pièce de donnée 8B pour devenir la pièce de donnée mise à jour 8B’ entraine une incohérence de données avec toute autre pièce de donnée de la session de base de données 32. De plus, la base de données source 4 peut effectuer une vérification de cohérence de données pour toute autre pièce de donnée qui n’est pas encore prise en charge dans la session de base de données 32 ou qui peut être soumise à une quelconque session de base de données actuellement existante. Dans l’exemple de la FIG. 5, la base de données source 4 détermine que la mise à jour de la pièce de donnée 8B nécessite une mise à jour de la pièce de donnée liée 8A pour devenir la pièce de donnée mise à jour 8A’. Par conséquent, la base de données source 4 envoie l’indication 44 avec la pièce de donnée mise à jour 8A’ au serveur de base de données 2. Le serveur de base de données 2 procède ensuite de la même manière déjà décrite ci-dessus en référence à la FIG. 4. Les FIGS. 6-8 montrent d’autres exemples affinés avec des fonctionnalités supplémentaires optionnelles qui peuvent être utilisées pour gérer des requêtes subséquentes particulières du client 6. Par exemple, en faisant référence à la FIG. 6, la deuxième requête 46 peut concerner la même pièce de donnée que la première requête 34. Dans l’exemple de la FIG. 6, similaire aux FIGS. 4 et 5, la première requête 34 demande une mise à jour de la pièce de donnée 8B pour devenir la pièce de donnée 8B’ et le serveur de session de base de données 2 publie la pièce de donnée mise à jour 8B’ d’une des manières décrites ci-dessus. L’indication 44 reçue par le serveur de session de base de données 2 indique que la pièce de donnée 8A doit être mise à jour pour devenir la pièce de donnée 8A’. À l’encontre des exemples des FIGS. 4 et 5, la deuxième requête 46 demande une mise à jour supplémentaire de la pièce de donnée précédemment mise à jour 8B’. Le serveur de session de base de données 2 traite cette deuxième requête 46 de la manière normale et renvoie la pièce de données supplémentaire mise à jour 8B’’ au client 6. Cependant le résultat de l’indication 44, c.-à-d. la mise à jour de la pièce de donnée 8A pour devenir la pièce de donnée mise à jour 8A’, n’est pas inclus dans la deuxième réponse 48 ici parce qu’il est obsolète/annulé par la mise à jour supplémentaire de la pièce de données 8B’ devenue la pièce de donnée supplémentaire mise à jour 8B’’. Au lieu de cela, le serveur de session de base de données 2 publie à nouveau la pièce de donnée supplémentaire mise à jour 8B’’ d’une des manières décrites ci-dessus. Le traitement supplémentaire par l’entité de traitement 16, une vérification supplémentaire 40A de la pièce de donnée supplémentaire mise à jour 8B’’ avec la base de données source 4 et une réponse 42A par la base de données source 4 indiquant que la pièce de donnée 8A doit être mise à jour pour devenir la pièce de donnée mise à jour 8A’’, est ensuite exécuté de la manière habituelle telle que décrite ci-dessus. L’indication supplémentaire 44A indique ensuite au serveur de session de base de données 2 que la pièce de donnée 8A doit être mise à jour pour devenir la pièce de donnée mise à jour 8A’’. Le traitement de l’indication supplémentaire 44A au serveur de session de base de données 2 survient de la manière habituelle ainsi que décrite ci-dessus. Le résultat de l’indication supplémentaire 44A est fourni au client 6 avec une réponse à une quelconque requête telle que la troisième requête 50. Dans l’exemple de la FIG. 6, la troisième requête concerne une autre pièce de donnée 8G (c.-à-d. qu’il ne s’agit pas de la pièce 8B’’). Par conséquent, le serveur de session de base de données 2 inclut à la fois la pièce de donnée mise à jour 8G’ ainsi que la mise à jour de la pièce de donnée 8A pour devenir la pièce de donnée mise à jour 8A’’ dans la troisième réponse 52 et renvoie la troisième réponse 52 au client 6. Une autre situation peut survenir si à la fois la deuxième requête 46 par le client 6 et l’indication 44 reçue et traitée par le serveur de session de base de données 2 concernent la même pièce de donnée. Un traitement exemplaire de cette situation est montré dans les FIGS 7 et 8. Les activités de la première requête 34 et de la première réponse 36, la publication 38 ainsi que les activités de traitement supplémentaires 40, 42 et l’indication 44 sont les mêmes que dans les exemples des FIGS. 4-6. Donc, l’indication 44 indique que la pièce de donnée 8A doit être mise à jour pour devenir la pièce de donnée mise à jour 8A’. La deuxième requête 46 reçue par le serveur de session de base de données 2 après réception de l’indication 44 demande aussi une mise à jour de la pièce de donnée 8 A. Dans cette situation, le serveur de session de base de données 2 peut effectuer une procédure de vérification de cohérence 54 afin de déterminer si oui ou non les deux mises à jour de la pièce de donnée 8A, la mise à jour telle qu’indiquée par l’indication 44 et la mise à jour demandée par la deuxième requête 46, peuvent être appliquées alors que la cohérence des données de la pièce de donnée 8A/la pièce de donnée mise à jour 8A’ est assurée. Par exemple, les deux mises à jour de la pièce de donnée 8A, la mise à jour telle qu’indiquée par l’indication 44 et la mise à jour demandée par la deuxième requête 46, peuvent faire référence à la même mise à jour de la pièce de donnée 8A et dans ce cas il n’y a aucun problème pour appliquer les deux mises à jour. Dans un autre exemple, les deux mises à jour font référence à des mises à jour différentes, mais un rapprochement peut être fait entre les deux mises à jour par le serveur de session de base de données 2 sans aucune nécessité d’interroger la base de données source 4 à nouveau. Un exemple particulier de ce type est présent si les deux mises à jour de la pièce de donnée 8A sont différentes et que la logique implémentée au serveur de session de base de données 2 prévoit que la mise à jour indiquée par l’indication 44 prévaut et remplace la mise à jour demandée par le client 6. Dans ces cas de résultat positif de la procédure de vérification de cohérence 54 (FIG. 7), le serveur de session de base de données 2 répond à la deuxième requête 46 avec la deuxième réponse 48 indiquant que la version mise à jour de la pièce de donnée 8A, notamment la pièce de donnée mise à jour 8A’+ (le « plus » dénotant que la vérification de cohérence a donné un résultat positif) incluant les deux mises à jour, la mise à jour telle qu’indiquée par l’indication 44 et la mise à jour demandée par la deuxième requête 46, ou au moins la mise à jour indiquée par l’indication 44. Aucune activité de publication supplémentaire n’est donc requise dans ces cas. Cependant, en d’autres occasions, ainsi qu’illustré par la FIG. 8, la vérification de cohérence détermine que les deux mises à jour, la mise à jour indiquée par l’indication 44 et la mise à jour demandée par la deuxième requête 46 à la pièce de donnée 8A sont incohérentes (c.-à-d. qu’elles conduisent à une incohérence des données) et le serveur de session de base de données 2 est incapable de faire un rapprochement entre les deux mises à jour sans l’assistance de la base de données source 4. Dans certains exemples, ceci peut être le cas si la mise à jour demandée par la deuxième requête 46 prévaut et remplace la mise à jour indiquée par l’indication 44 ce qui effectivement rejette l’indication 44. Ici, les méthodologies telles que décrites ci-dessus sont utilisées, c.-à-d. que le serveur de session de base de données 2 peut immédiatement renvoyer la deuxième réponse 48 indiquant que la pièce de donnée 8A’ - (le « moins » dénotant que la vérification de cohérence a donné un résultat négatif) conformément à la deuxième requête 46. De plus, la pièce de donnée mise à jour 8A’ - est publiée au 38B de la manière normale ainsi que décrite ci-dessus. L’entité de traitement 16 vérifie au 40B avec la base de données source 4 si la pièce de donnée mise à jour 8A’ - et/ou une quelconque pièce de donnée liée à la pièce de donnée 8A’ - doit subir une mise à jour supplémentaire. Dans l’exemple de la FIG. 8, la base de données source 4 renvoie au 42B que la pièce de donnée 8B’ doit à nouveau être mise à jour pour devenir la pièce de donnée supplémentaire mise à jour 8B’’. Ceci est signalé au serveur de session de base de données 2 via l’indication 44A. Le serveur de session de base de données 2 reçoit ensuite une requête supplémentaire, la troisième requête demandant une mise à jour d’une autre pièce de donnée, la pièce de donnée 8G. Le serveur de session de base de données 2 renvoie ensuite la troisième réponse 52 avec la pièce de donnée mise à jour 8G’ ainsi que demandé par la troisième requête et l’indication que la pièce de donnée mise à jour 8B’ a été mise à jour pour devenir la pièce de donnée supplémentaire mise à jour 8B’’. En outre, en faisant référence à nouveau à la FIG. 4, la session de base de données 32 peut être terminée au moyen d’une requête de validation 56 du client 6. Le serveur de session de base de données 2 reçoit la requête de validation 56 pour terminer la session de base de données 32 du client 6 et pour réécrire une quelconque mise à jour des pièces de données 8A, 8B, 8G de la session de base de données 32 traitées durant la vie de la session de base de données 32 dans la base de données source 4 ; Avant de réécrire actuellement ces mises à jour dans la base de données source 4, une procédure de cohérence de validation 58 peut être effectuée pour assurer la cohérence des données entre les mises à jour des pièces de données de la session de base de données 32 traitées durant la session de base de données 32 par rapport à la base de données source 4. Dans des exemples, la procédure de cohérence de validation 58 comprend une ou plusieurs requêtes de vérification de cohérence du serveur de session de base de données 2 à la base de données source 4, en réponse à celles-ci la base de données source 4 vérifie par rapport aux données stockées dans la base de données source 4 si les pièces de données mises à jour de la session de base de données 32 sont cohérentes les unes avec les autres et/ou si de quelconques autres pièces de données externes à la base de données doivent être adaptées aux pièces de données mises à jour de la session de base de données 32. La procédure de cohérence de validation 58 peut aussi inclure une ou plusieurs réponses à la requête(s) de vérification de cohérence indiquant si oui ou non de quelconques pièces de données de la session de base de données doivent encore être mises à jour avant la validation actuelle 60 dans la base de données source 4. La procédure de cohérence de validation 58 est utile pour promouvoir la cohérence des données également dans le contexte des méthodologies décrites dans la présente, par exemple, la requête de validation 56 peut survenir à un moment où une ou plusieurs procédures de traitement supplémentaires après une ou plusieurs activités préalables de publication 38 sont toujours en cours, mais de potentielles mises à jour supplémentaires au moyen d’une ou plusieurs indications 44 n’ont pas encore été fournies au serveur de session de base de données 2. En réponse au succès d’une procédure de cohérence de validation 58, le serveur de session de base de données 4 exécute la requête de validation 56 et réécrit les pièces de données mises à jour de la session de base de données 32 dans la base de données source 4, p. ex. au moyen de la commande de validation 60. En réponse à un échec d’une procédure de cohérence de validation 58, la requête de validation 56 peut être rejetée et/ou les quelconques mises à jour des pièces de données de la session de base de données 32 sont annulées et la session de base de données 32 est terminée et les mises à jour sont éliminées. Dans certains exemples qui peuvent être appliqués dans l’une quelconque des situations expliquées ci-dessus telles que celles des FIGS. 4-8, la publication 38 peut inclure la publication de plus de données de la session de base de données 32 que la pièce de donnée qui faisait l’objet de la première requête 34. Ces données supplémentaires peuvent par ailleurs faciliter et rendre plus efficace un traitement supplémentaire de l’entité de traitement 16. Par exemple, la publication 38 peut inclure la publication de la session de base de données entière 32 incluant toutes les pièces de données conservées par la session de base de données 32. Ceci peut permettre à l’entité de traitement 16, au moins en certaines occasions et/ou pour certains cas d’usage d’un traitement supplémentaire, d’effectuer le traitement supplémentaire sans avoir à consulter la base de données source 4. Vu que le traitement supplémentaire représentera toujours plus de ressources de calcul — et sera plus chronophage que la gestion des transactions de base de données entre le serveur de session de base de données 2 et le client 6, les avantages techniques susmentionnés sont aussi obtenus pour ces cas de traitement supplémentaire. Selon un exemple non exhaustif, la session de base de données 32 est une session de réservation qui gère des pièces de données d’itinéraires de voyage, un ou plusieurs enregistrements de noms de passager (PNR), des recommandations de voyage tarifées et ainsi de suite. Le serveur de session de base de données 2 reçoit p. ex. des requêtes de prospection d’achats en provenance du client 6 demandant une réservation d’un produit de voyage particulier qui peut conduire à une mise à jour d’un PNR géré par la session de réservation. La mise à jour du PNR peut être immédiatement confirmée par le serveur de session de base de données 2, mais des validations supplémentaires telles que la vérification de la disponibilité actuelle d’un service auxiliaire demandé (p. ex. un repas spécial ou un lit de bébé). Ces validations chronophages supplémentaires peuvent être effectuées « en arrière-plan » au moyen de la publication 38 et d’activités de traitement supplémentaires 40, 42, tel que décrit ci-dessus. La FIG. 9 est une représentation schématique d’un composant interne d’une machine informatique 100 implémentant le serveur de session de base de données 2. Des machines similaires peuvent aussi réaliser un ou plusieurs des clients 6, la base de données source 4 et/ou l’entité de traitement 16. La machine informatique 100 inclut un ensemble d’instructions pour amener la machine informatique 100 à mettre en œuvre l’une quelconque des méthodologies décrites dans les présentes lorsqu’elles sont exécutées par la machine informatique 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 implémentant le serveur de session de base de données 2 aux autres composants du système de base de données distribué tels que les clients 6, la base de données source 4, l’entité de traitement 16, ou tout autre composant. La machine informatique 100 inclut une mémoire 106 telle que la mémoire principale, la mémoire à accès aléatoire (RAM) et/ou toute autre mémoire volatile. La mémoire 106 peut stocker des données pour maintenir une ou plusieurs sessions de base de données telles que des données de contrôle de session de base de données 107. La mémoire 106 peut aussi stocker des pièces de données 108 de ladite une ou plusieurs sessions de base de données 32. Un ensemble d’instructions exécutables par ordinateur 109 (c.-à-d. un code de programme informatique) réalisant une quelconque ou toutes les méthodologies, décrites dans la présente, est hébergé complètement, ou au moins partiellement, dans ou sur un support lisible par ordinateur, p. ex. la mémoire principale 106. Par exemple, les instructions 109 peuvent inclure des processus logiciels implémentant la fonctionnalité de base de données du serveur de session de base de données 2 tels qu’un système de base de données relationnelle (p. ex. une base de données SQL) ou un système de base de données orientée objet. Les instructions 109 peuvent aussi implémenter la fonctionnalité de réception, de traitement et de réponse aux requêtes des clients 6, de publication 38 des pièces de données mises à jour, ainsi que la réception d’indications d’une entité de traitement 16 (p. ex. l’écouteur d’indications mentionné ci-dessus). Les instructions 109 peuvent aussi implémenter les procédures pour établir, maintenir et terminer les sessions de base de données 32. Les instructions 109 peuvent par ailleurs être transmises ou reçues sous forme de signal propagé via Internet par l’intermédiaire du dispositif d’interface de réseau 103 via l’interface d’utilisateur 102. La communication dans la machine informatisée est effectuée via un bus 104. Le fonctionnement basique de la machine informatique 100 est contrôlé par un système d’exploitation qui est aussi situé dans la mémoire principale 106, dans ledit au moins un processeur 101 et/ou la mémoire statique 105. En général, les routines exécutées pour implémenter les modes de réalisation de l’invention, qu’elles soient implémentées comme parties 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-ci, peuvent être désignées dans la présente comme “code de programme informatique” ou simplement “code de programme ». Un code de programme comporte typiquement des instructions lisibles par ordinateur qui résident à divers moments dans divers dispositifs de mémoire et de stockage dans un ordinateur et qui, lorsqu’elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent l’ordinateur à effectuer des opérations nécessaires à l’exécution d’opérations et/ou d’éléments propres à la mise en œuvre des aspects variés des modes de réalisation de l’invention. Les instructions d’un programme, lisibles par ordinateur pour mettre en œuvre les opérations des modes de réalisation de l’invention peuvent être, par exemple, le langage d’assemblage, ou encore un code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation. Un procédé pour traiter une session de base de données conservée dans un système de base de données comprenant un ou plusieurs clients, un serveur de session de base de données et une base de données source, le serveur de session de base de données conservant la session de base de données avec un des clients, la session de base de données comprenant une pluralité de pièces de données chargées à partir de la base de données source sur le serveur de session de base de données, le procédé comprenant, au niveau du serveur de session de base de données durant la session de base de données : la réception, en provenance du client, d’une première requête pour mettre à jour au moins une première pièce de donnée de la session de base de données ; la réponse, au client, avec une première réponse pour indiquer une mise à jour de la première pièce de donnée conformément à la première requête ; la publication de la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source ; le traitement d’une première indication indiquant que la première pièce de donnée mise à jour doit subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour ; la réception, en provenance du client, d’une deuxième requête pour mettre à jour au moins une troisième pièce de donnée de la session de base de données ; la réponse, au client, avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de données conformément à la première indication traitée. Le procédé de la revendication 1, dans lequel un traitement supplémentaire d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour comprend le fait de déterminer si la mise à jour de la première pièce de donnée entraine ou non une incohérence de données avec une quelconque deuxième pièce de donnée de la session de base de données et dans lequel l’indication comprend une indication selon laquelle la deuxième pièce de donnée de la session de base de données doit être mise à jour afin de rétablir la cohérence des données avec la première pièce de donnée mise à jour et dans lequel la deuxième réponse inclut une indication de la deuxième pièce de donnée mise à jour de la session de base de données qui rétablit la cohérence des données avec la première pièce de donnée mise à jour. Le procédé de la revendication 1 ou de la revendication 2, dans lequel la deuxième requête comprend une requête supplémentaire pour mettre à jour la première pièce de donnée mise à jour, dans lequel le procédé comprend, au niveau du serveur de session de base de données ; une réponse, au client, avec la deuxième réponse pour indiquer une mise à jour supplémentaire de la première pièce de donnée mise à jour conformément à la deuxième requête, mais omettant d’indiquer la mise à jour de la première pièce de donnée mise à jour et/ou d’une mise à jour de la deuxième pièce de donnée conformément à l’indication traitée ; une publication de la mise à jour supplémentaire de la première pièce de donnée mise à jour pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour subséquemment et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour subséquemment en utilisant la base de données source ; un traitement d’une deuxième indication indiquant que la première pièce de donnée mise à jour subséquemment doit encore subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour ; une réception, en provenance du client, d’une troisième requête pour mettre à jour au moins une quatrième pièce de donnée de la session de base de données ; et une réponse, au client, avec une troisième réponse pour indiquer une mise à jour de la quatrième pièce de donnée conformément à la troisième requête et encore une mise à jour supplémentaire de la première pièce de donnée subséquente et/ou une mise à jour de la deuxième pièce de donnée conformément à la deuxième indication traitée. Le procédé de l’une quelconque des revendications 1 à 3, dans lequel à la fois la première indication et la deuxième requête indiquent une mise à jour de la deuxième pièce de donnée, le procédé comprenant par ailleurs, au niveau du serveur de session de base de données : l’exécution d’une vérification de cohérence entre la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête et la mise à jour de la deuxième pièce de donnée indiquée dans la première indication ; en réponse à la détermination que la mise à jour de la deuxième pièce de donnée indiquée dans la première indication est cohérente avec la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête, l’application des deux mises à jour à la deuxième pièce de donnée pour former une deuxième pièce de donnée mise à jour et incluant la deuxième pièce de donnée mise à jour dans la deuxième réponse. Le procédé de la revendication 4, dans lequel le procédé comprend, au niveau du serveur de session de base de données : en réponse à la détermination que la mise à jour de la deuxième pièce de donnée signalée dans la première indication n’est pas cohérente avec la mise à jour de la deuxième pièce de donnée indiquée dans la deuxième requête, le rejet de la mise à jour indiquée dans la première indication, l’application de la mise à jour indiquée dans la deuxième requête à la deuxième pièce de donnée pour former la pièce de donnée mise à jour et l’inclusion de la deuxième pièce de donnée mise à jour dans la deuxième réponse ; une publication de la mise à jour de la deuxième pièce de donnée pour permettre un traitement supplémentaire de la deuxième pièce de donnée mise à jour et/ou d’une quelconque pièce de donnée de la session de base de données relative à la deuxième pièce de donnée mise à jour en utilisant la base de données source ; Le procédé de l’une quelconque des revendications 1 à 5, comprenant par ailleurs, au niveau du serveur de session de base de données : une réception de multiples requêtes d’un ou de plusieurs clients pour mettre à jour une ou plusieurs des pièces de données de la session de base de données entre la réponse avec la première réponse et la réception de la deuxième requête. Le procédé de l’une quelconque des revendications 1 à 6, comprenant par ailleurs, au niveau du serveur de session de base de données : la réception, en provenance du client, d’une requête de validation pour terminer la session de base de données et réécrire une quelconque mise à jour aux pièces de données de la session de base de données traitées durant la session de base de données à la base de données source ; la mise en œuvre d’une procédure de cohérence des mises à jour des pièces de données de la session de base de données traitées durant la session de base de données par rapport à la base de données source ; l’exécution de la requête de validation et la réécriture des pièces de données mises à jour de la session de base de données dans la base de données source en réponse au fait que la procédure de cohérence a été un succès. Un serveur de session de base de données pour traiter une session de base de données, le serveur de session de base de données conservant la session de base de données avec un client, la session de base de données comprenant une pluralité de pièces de données chargées à partir d’une base de données source sur le serveur de session de base de données, la session de base de données étant agencée pour : recevoir, en provenance du client, une première requête pour mettre à jour au moins une première pièce de donnée de la session de base de données ; répondre, au client, avec une première réponse pour indiquer une mise à jour de la première pièce de données conformément à la première requête ; publier la mise à jour de la première pièce de donnée pour permettre un traitement supplémentaire de la première pièce de donnée mise à jour et/ou d’une quelconque deuxième pièce de donnée de la session de base de données relative à la première pièce de donnée mise à jour en utilisant la base de données source ; traiter une première indication indiquant que la première pièce de donnée mise à jour doit subir une mise à jour supplémentaire et/ou qu’une deuxième pièce de donnée de la session de base de données doit être mise à jour ; recevoir, en provenance du client, une deuxième requête pour mettre à jour au moins une troisième pièce de donnée de la session de base de données ; et répondre, au client, avec une deuxième réponse pour indiquer une mise à jour de la troisième pièce de donnée conformément à la deuxième requête et une mise à jour de la première pièce de donnée mise à jour et/ou une mise à jour de la deuxième pièce de donnée conformément à la première indication traitée. Le serveur de session de base de données de la revendication 8 étant par ailleurs agencé pour mettre en œuvre le procédé de l’une quelconque des revendications 2 à 7. Un produit programme d’ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour mettre en œuvre les étapes du procédé selon l’une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté sur un ordinateur.