FR2819321A1 - Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre - Google Patents
Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre Download PDFInfo
- Publication number
- FR2819321A1 FR2819321A1 FR0100236A FR0100236A FR2819321A1 FR 2819321 A1 FR2819321 A1 FR 2819321A1 FR 0100236 A FR0100236 A FR 0100236A FR 0100236 A FR0100236 A FR 0100236A FR 2819321 A1 FR2819321 A1 FR 2819321A1
- Authority
- FR
- France
- Prior art keywords
- cache
- data
- client
- processing
- compartment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 238000004891 communication Methods 0.000 claims description 13
- 238000004140 cleaning Methods 0.000 claims description 12
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000004308 accommodation Effects 0.000 abstract 1
- 210000000056 organ Anatomy 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/12—Hotels or restaurants
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
La présente invention concerne un procédé de traitement et d'accès à des données dans un système de réservation par ordinateur, ainsi qu'un système de réservation par ordinateurapte à le mettre en oeuvre. Selon l'invention, on crée au moins un cache (9 a, 9 b) dans la partie serveur, ledit cache (9 a, 9 b) contenant des données de réservations; on ajoute des données au cache (9 a, 9 b) par transfert depuis au moins une base d'inventaire (I); on crée une application d'interfaçage (18) entre le cache (9 a, 9 b) et la ou les applications client (19) pour que son utilisateur puisse adresser des requêtes au cache (9 a, 9 b) et recevoir des données en réponse. Application aux systèmes de réservation informatiques notamment dans le domaine du transport, des voyages, et de l'hôtellerie.
Description
<Desc/Clms Page number 1>
La présente invention concerne tout d'abord un procédé de traitement et d'accès à des données dans un système de réservation par ordinateur.
Elle concerne également un système de réservation par ordinateur apte à mettre en oeuvre ce procédé.
Les systèmes de réservation par ordinateur sont couramment employés actuellement, notamment dans le domaine des voyages, du transport aérien, ou encore pour la réservation dans l'hôtellerie.
Dans ce cadre, il existe une ou plusieurs bases d'inventaire correspondant à l'état des réservations chez chacun des prestataires de services tels la compagnie aérienne ou la compagnie de location de voitures. Un système central permet d'accéder aux différentes bases d'inventaire pour en traiter les informations et répondre aux demandes des utilisateurs. Ces derniers peuvent en effet interroger le système central par le biais d'applications client pour obtenir des données notamment quant aux disponibilités, aux tarifs, et aux modalités des services offerts.
L'ensemble de ces accès et transferts de données s'effectue par un réseau de communication.
Selon l'état de la technique actuel, le système central reçoit de multiples requêtes d'une pluralité d'utilisateurs et, pour y répondre, interroge de façon directe une ou plusieurs bases d'inventaire.
Ce principe de fonctionnement a l'inconvénient d'alourdir et d'encombrer les réseaux de communication, principalement en liaison avec les bases d'inventaire. Ce point est d'autant plus dommageable que certaines requêtes des utilisateurs ne nécessitent pas un accès direct de façon synchrone aux bases de données d'inventaire.
A titre d'exemple, des utilisateurs se connectant par le biais d'un réseau de large extension tel Internet interrogent parfois le système de réservation dans le seul but de connaître les modalités de réservations et des tarifs. Il n'est donc pas
<Desc/Clms Page number 2>
forcément nécessaire de leur fournir en même temps une information certaine quant aux disponibilités de place.
L'état de la technique actuel comprend notamment le document US-A-5 570 283. Celui-ci divulgue un système informatique doté d'un logiciel modulaire permettant, autant à des voyageurs d'accéder électroniquement à un inventaire pour
obtenir des tarifs de vols d'avions de façon très rapide dans un environnement logiciel convivial, qu'à des agents ou des professionnels de faire des réservations et d'accéder à des bases de données spécifiques au regard de leurs activités professionnelles.
obtenir des tarifs de vols d'avions de façon très rapide dans un environnement logiciel convivial, qu'à des agents ou des professionnels de faire des réservations et d'accéder à des bases de données spécifiques au regard de leurs activités professionnelles.
Ce document s'attache essentiellement au problème du prix des prestations offertes. En effet, il vise à avoir des prix parfaitement à jour pour les agents ou autres professionnels.
Cependant, selon ce document, il est encore nécessaire d'avoir un accès direct aux bases d'inventaire d'état de réservation pour tout type de requêtes.
La présente invention pallie les inconvénients des techniques actuelles.
Elle permet de diminuer le volume des accès en direct aux bases d'inventaire d'état des réservations en proposant une base de données de type CACHE apte à répondre aux premières interrogations des utilisateurs.
Par ailleurs, l'accès à ce cache a l'avantage de pouvoir être effectué par le biais d'un réseau de communication de type large extension tel qu'Internet pour lequel le coût de communication est très réduit.
D'autres buts et avantages apparaîtront au cours de la description qui suit qui présente un mode préféré de réalisation de l'invention mais qui n'est cependant pas limitative.
La présente invention concerne un procédé de traitement et d'accès à des données dans un système de réservation par ordinateur comportant une partie serveur dotée d'un système central et d'au moins une base d'inventaire d'état de réservations, et une partie client comprenant au moins une
<Desc/Clms Page number 3>
application client, les parties serveur et client étant reliées par un réseau de communication, Caractérisé par le fait que : on crée au moins un cache dans la partie serveur, ledit cache contenant des données de réservation ;
on ajoute des données au cache par transfert depuis au moins une base d'inventaire ; - on crée une application d'interfaçage entre le cache et la ou les applications client pour que son utilisateur puisse adresser des requêtes au cache et recevoir des données en réponse.
on ajoute des données au cache par transfert depuis au moins une base d'inventaire ; - on crée une application d'interfaçage entre le cache et la ou les applications client pour que son utilisateur puisse adresser des requêtes au cache et recevoir des données en réponse.
Ce procédé peut se présenter selon les variantes énoncées ci-après : + si, lors d'une requête au cache par une application client, le cache ne contient pas les données demandées :
on traite la requête dans le système central par accès aux bases d'inventaire d'état de réservations pour trouver les données demandées ; - on ajoute lesdites données au cache ; - on retourne les données demandées, en réponse, à l'application client.
on traite la requête dans le système central par accès aux bases d'inventaire d'état de réservations pour trouver les données demandées ; - on ajoute lesdites données au cache ; - on retourne les données demandées, en réponse, à l'application client.
+ on nettoie les données contenues dans le cache par mise en oeuvre de la procédure suivante :
affectation d'une durée maximale de conservation à chaque donnée contenue dans le cache ; scrutation périodique des données contenues dans le cache pour déterminer les données dont la durée maximale de conservation est dépassée ; suppression des données dont la durée maximale de conservation est dépassée.
affectation d'une durée maximale de conservation à chaque donnée contenue dans le cache ; scrutation périodique des données contenues dans le cache pour déterminer les données dont la durée maximale de conservation est dépassée ; suppression des données dont la durée maximale de conservation est dépassée.
+ on nettoie les données contenues dans le cache par la procédure suivante : affectation d'une taille limite et d'une taille seuil au cache, ladite taille seuil ayant une valeur inférieure d'une marge déterminée à ladite valeur limite ;
<Desc/Clms Page number 4>
- lorsque la taille limite est atteinte, suppression des données contenues dans le cache par ordre décroissant d'ancienneté d'utilisation, jusqu'à atteindre la taille seuil.
. on range les données dans le cache par : - affectation d'une clé à chaque donnée à stocker ; transformation de la clé en une valeur numérique ; - création d'un vecteur de listes comprenant une suite de compartiments aptes à contenir une liste de plusieurs données ; affectation, à chaque compartiment, d'un index numérique entier à partir de zéro ; - détermination, pour chaque donnée, de l'index du compartiment de stockage par modulation de la valeur numérique de la clef de la donnée par le nombre de compartiments ; stockage de la donnée dans le compartiment ainsi déterminé.
. on recherche une donnée dans le cache par transformation de la clé en une valeur numérique et détermination de l'index du compartiment de stockage par modulation de la valeur numérique de la clef par le nombre de compartiments, et par le fait que : si une seule donnée est présente dans le compartiment, on retrouve la donnée recherchée ;
si aucune donnée n'est présente dans le compartiment on retourne une information d'absence ; si plusieurs données sont présentes dans le compartiment on compare leurs clés pour déterminer celle qui est effectivement recherchée.
si aucune donnée n'est présente dans le compartiment on retourne une information d'absence ; si plusieurs données sont présentes dans le compartiment on compare leurs clés pour déterminer celle qui est effectivement recherchée.
+ On ne bloque l'accès que des compartiments en cours de traitement d'une requête pour autoriser d'autres traitements de requêtes simultanées dans d'autres compartiments.
L'invention concerne en outre un système de réservation par ordinateur comportant une partie serveur dotée d'un système
<Desc/Clms Page number 5>
central et d'au moins une base d'inventaire d'état de réservations, et une partie client comprenant au moins une application client, les parties serveur et client étant reliées par un réseau de communication, apte à mettre en oeuvre le procédé selon l'invention.
Caractérisé par le fait qu'il comporte au moins un cache dans la partie serveur, ledit cache contenant des données de réservation ;
- au moins une application d'interfaçage entre le cache et la ou les applications client pour que son utilisateur puisse adresser des requêtes au cache et recevoir des données en réponse.
- au moins une application d'interfaçage entre le cache et la ou les applications client pour que son utilisateur puisse adresser des requêtes au cache et recevoir des données en réponse.
Selon des variantes : au moins un bloc de cache doté d'un cache et d'une application de gestion du cache ;
au moins un bloc de gestion d'entrée doté d'une pluralité de modules de gestion d'entrée recevant chacun les requêtes d'une ou plusieurs applications client et gérés par un gestionnaire d'entrée. chaque module de gestion d'entrée est affecté à une seule application client.
des modules de gestion d'entrée sont affectés à plusieurs applications client et que leur bloc de cache comprend : - une file apte à recevoir les requêtes issues des applications client et à les redistribuer par ordre d'entrée sur demande du cache ; le ou les caches comprennent un vecteur de listes comprenant une suite de compartiments aptes à contenir une liste de plusieurs données et auquel est affecté un index, pour la recherche d'une donnée par l'index du compartiment où elle est stockée.
au moins un bloc de gestion d'entrée doté d'une pluralité de modules de gestion d'entrée recevant chacun les requêtes d'une ou plusieurs applications client et gérés par un gestionnaire d'entrée. chaque module de gestion d'entrée est affecté à une seule application client.
des modules de gestion d'entrée sont affectés à plusieurs applications client et que leur bloc de cache comprend : - une file apte à recevoir les requêtes issues des applications client et à les redistribuer par ordre d'entrée sur demande du cache ; le ou les caches comprennent un vecteur de listes comprenant une suite de compartiments aptes à contenir une liste de plusieurs données et auquel est affecté un index, pour la recherche d'une donnée par l'index du compartiment où elle est stockée.
- il comporte un outil de nettoyage apte à adresser des commandes de nettoyage au cache selon une procédure déterminée.
<Desc/Clms Page number 6>
Les dessins ci-joints sont donnés à titre d'exemples. Ils représentent des modes de réalisation qui permettront de comprendre aisément l'invention.
La figure 1 montre un exemple de traitement des requêtes des clients selon l'état de la technique actuel.
La figure 2 schématise les organes du système de l'invention dans un mode particulier de réalisation.
La figure 3 est un autre schéma de réalisation du système selon l'invention qui précise certains organes.
La figure 4 est un synoptique des phases d'interrogation et de mise à jour du cache dans le système et selon le procédé de l'invention.
La figure 5 montre un exemple de nettoyage des données contenues dans le cache, tandis que la figure 6 illustre une variante de rangement de données dans le cache.
Enfin, la figure 7 est une variante de l'invention dans lequel plusieurs clients accèdent au système par le biais d'un même module de gestion d'entrée.
Comme illustré très schématiquement à la figure l, selon l'état de la technique actuel, le client peut adresser à un système central (CS) des requêtes pour obtenir des données concernant des réservations par exemple de vol d'avions, ou encore de disponibilité de place dans tout domaine de service.
Cette requête peut être résumée par une opération GET envoyée au système central (CS). Ce dernier est en liaison avec une ou plusieurs bases d'inventaire (I) d'état de réservations dans laquelle se trouve la donnée recherchée. Par interrogation de ces bases d'inventaire (I), le système central (CS) peut retourner une réponse au client.
Plus précisément, selon l'état de la technique actuelle les différents clients envoient un message d'interrogation à un organe couramment dénommé FRONT END et ledit organe de FRONT END répercute la demande du client au coeur du système central dénommé BACK END . L'organe de FRONT END constitue en fait un intermédiaire entre les clients et le coeur du système central. C'est à ce niveau que sont envoyés les
<Desc/Clms Page number 7>
différents messages des clients avant leur transmission. Ce type d'organisation génère une multiplicité de communication entre les différents organes du système et un encombrement important de l'ensemble du système central.
Le système de réservation selon l'invention évite de tels inconvénients.
De façon connue en soit, il s'intègre dans une structure comprenant une partie client avec plusieurs applications client (19) et une partie serveur dotée d'un système central (CS) et d'une ou plusieurs bases d'inventaire (I).
Le traitement des requêtes selon l'invention peut s'inscrire en complément ou en remplacement du processus actuel, tel que décrit précedemment.
Les bases d'inventaire sont généralement des bases de données mises à disposition par le prestataire de service tel la compagnie aérienne et elle présente un rafraîchissement immédiat de l'état des réservations.
Toujours selon l'état de la technique actuel et possiblement dans la structure de l'invention, la partie serveur et la partie client communiquent par le biais d'un réseau de communication 5.
Dans le cadre de l'invention, le réseau de communication 5 peut inclure un réseau de large extension tel l'Internet.
De façon caractéristique et comme représenté en figure 2, le système selon l'invention comprend au moins un cache (9 a, 9 b).
Le cache se situe dans la partie serveur et contient des données de réservation. Les caches (9 a, 9 b) sont intégrés dans des blocs de cache (3 a, 3 b, 3 c) représentés en figure 2. De façon connue en soit, les caches (9 a, 9 b) pourront être constitués par une mémoire volatile de type RAM (Random Access Memory). Bien entendu, une sauvegarde périodique des données contenues dans les caches (9 a, 9 b) peut être effectuée sur une mémoire non volatile, sur un disque.
De façon intermédiaire entre les différentes applications client (19) et le ou les caches (9 a, 9 b), le système ici
<Desc/Clms Page number 8>
présenté comporte des applications d'interfaçage (18). Elles permettent à l'utilisateur d'adresser des requêtes au cache et de recevoir des données en réponse.
Toujours en référence à la figure 2, le système comporte préférentiellement un ou plusieurs blocs de gestion d'entrée (2 a, 2 b).
Le ou les blocs de gestion d'entrée (2 a, 2 b) communiquent avec les applications d'interfaçage (18) par le biais de moyen de routage (4). Tout type de routage peut être mis en oeuvre selon l'invention qui n'est pas limité à une variante particulière.
La structure composée des blocs de gestion d'entrée (2 a, 2 b), des moyens de routage (4), des applications d'interfaçage (18) et des différents blocs de cache (3 a, 3 b, 3 c) permet la formation d'une unité fonctionnelle dénommée serveur cache (1).
Plus précisément, au sein du serveur cache (1), les blocs s'articulent avantageusement de la façon suivante.
En ce qui concerne les blocs de gestion d'entrée (2 a, 2 b), ils comprennent une pluralité de modules de gestion d'entrée (8 a, 8 b) en liaison avec les applications client (19) par le biais du réseau de communication (5).
Selon une première variante, chaque module de gestion d'entrée est relié à une seule application client (19). On a donc autant de modules (8 a, 8 b, 8 c) que d'applications client (19) reliées au bloc de gestion d'entrée (2 a, 2 b).
Pour administrer chaque module de gestion d'entrée (8 a, 8 b), chaque bloc de gestion d'entrée (2 a, 2 b) comprend un gestionnaire d'entrée (7 a, 7 b). Il permet d'appliquer des paramètres de fonctionnement à chaque module de gestion d'entrée (8 a, 8 b).
Un bloc de gestion d'entrée (2 a, 2 b) peut être relié à un bloc de cache (3 a, 3 b) ou à plusieurs selon des conditions de routage adaptées.
Selon l'exemple de la figure 3, le bloc de gestion d'entrée (2 a) communique avec le bloc de cache (3 a).
<Desc/Clms Page number 9>
Ce dernier comprend un cache (9 a) tel que décrit précédemment qui fonctionne par l'intermédiaire d'une application de gestion de cache (10 a).
Cette application de cache (10 a) réalise l'interfaçage entre le bloc de gestion d'entrée et le bloc de cache.
Dans l'exemple de cette figure, chaque application client (19) correspond à un module de gestion d'entrée (8 a, 8 b).
Selon une variante, plusieurs clients (19) peuvent adresser leurs requêtes à un seul module de gestion d'entrée.
Ainsi, dans le cas de la figure 7, les modules (8 a, 8 b) sont reliés à une file (16) fonctionnant selon la logique premier entré, premier sorti apte à recevoir les requêtes et à les redistribuer par ordre d'entrée.
Dans ce cadre, en sortie de la file (16) se situe un groupe de ligne (17) transmettant les requêtes au cache (9 a, 9 b). On peut ainsi limiter le nombre de modules de gestion d'entrée (8 a, 8 b) du système.
La figure 5 montre un mode de réalisation préféré du nettoyage des données contenues dans le cache (9 a, 9 b). A cet effet, le système comporte un outil de nettoyage (11) adressant des commandes de nettoyage (12) aux différents caches (9 a, 9 b). Les procédures utilisées pour ce nettoyage seront exposées plus loin.
On présente ci-après le fonctionnement du système selon l'invention et le procédé de traitement et d'accès qui en fait partie intégrante.
Dans ce cadre, un ou plusieurs caches (9 a, 9 b) sont créés dans la partie serveur pour contenir des données de réservation. Les clients pourront y accéder pour répondre rapidement à des requêtes sans encombrer le reste du système central tel que cela est exposé plus haut.
Pour mettre à jour les données contenues dans le ou les caches (9 a, 9 b), on ajoute des données au cache (9 a, 9 b) par transfert depuis au moins une base d'inventaire (I).
Un exemple des opérations successives permettant l'ajout des données dans le cache (9 a, 9 b) est présenté en figure 4.
<Desc/Clms Page number 10>
Selon cet arbre, le client adresse une requête générant une opération GET d'interrogation du cache (9 a, 9 b). Si une réponse positive peut être apportée par le cache (9 a, 9 b) à l'interrogation GET , la donnée contenue dans le cache est retournée au client en réponse.
Si le cache ne contient pas la réponse à la requête du client, celle-ci est adressée au système central (CS) qui est apte à générer la réponse, par liaison avec les bases d'inventaire (I). Les données en réponse sont retournées par le système central (CS) et sont ajoutées au cache (9 a, 9 b) par une opération PUT .
De cette façon, une donnée jusqu'alors non contenue dans le cache s'y trouve mémorisée.
Cette suite d'opérations peut être effectuée au démarrage du système selon l'invention à partir d'un cache ne contenant aucune donnée mais dans lequel seront successivement mémorisées les données suivant les interrogations des clients.
Pour éviter que le cache ne prenne une ampleur dimensionnelle trop importante et afin d'en optimiser le fonctionnement, il est important de procéder à un rafraîchissement des données qu'il contient.
Dans ce cadre, le procédé selon l'invention propose deux procédures distinctes mais qui peuvent être employées simultanément pour procéder au nettoyage des données.
Selon une première procédure, on affecte à chaque donnée une durée maximale de conservation. De façon périodique, on scrute les données contenues dans le cache (9 a, 9b) pour distinguer celles dont la durée limite de conservation est dépassée.
Ces données sont alors supprimées du cache.
De cette façon des données trop anciennes ne présentant plus un caractère d'actualité et de fiabilité sont supprimées.
Bien entendu, la période de mise à jour selon cette procédure est variable suivant la nature des données contenues.
A titre d'exemple, l'intervalle de temps entre deux commandes de nettoyage pourra être de soixante secondes.
<Desc/Clms Page number 11>
Une deuxième procédure de nettoyage peut être mise en oeuvre selon le procédé de l'invention en remplacement ou en complément de la première.
Dans ce cadre, on affecte une taille limite au cache correspondant à la taille maximale que l'on souhaite donner au cache. Par ailleurs, on lui affecte une taille seuil de valeur inférieure à la taille limite et correspondant à une taille admissible pour le bon fonctionnement du cache. A titre d'exemple, la taille seuil peut être fixée à 80 % de la taille limite.
Lorsque la taille limite est atteinte, on supprime les données contenues (9 a, 9 b) par ordre décroissant d'ancienneté d'utilisation jusqu'à atteindre la taille seuil.
De cette façon les données très anciennement utilisées sont supprimées dans la limite du nécessaire pour retrouver une taille admissible pour la cache.
Toujours de façon à optimiser le fonctionnement des caches (9 a, 9 b), un mode de rangement particulier des données dans le cache (9 a, 9 b) est ci-après présenté.
D'une façon générale, on affecte à chaque donnée à mémoriser dans le cache une clé.
Cette clé peut être transformée en valeur numérique, communément appelée HASH CODE selon des algorithmes de hashing utilisés de façon courante.
On crée par ailleurs un vecteur de listes 14 figuré en figure 6 et comprenant une suite de compartiments (13) généralement appelés BUCKET . Chaque compartiment (13) est apte à contenir une ou plusieurs données.
On affecte à chaque compartiment (13) un index numérique entier à partir de zéro.
A titre d'exemple, un nombre de 20 011 compartiments pourront être formés pour un cache de taille limite de 51 200 Kilo Octets.
On effectue ensuite une correspondance entre la clé affectée à chaque donnée et l'index numérique de chaque compartiment (13). Cet établissement de correspondance peut
<Desc/Clms Page number 12>
être effectué par une modulation de la clé numérique de la donnée par le nombre de compartiments (13) du vecteur de listes (14).
L'objet de cette correspondance est de mémoriser les données dans un compartiment (13) avec un index particulier et de n'effectuer une comparaison des données contenues dans le cache que pour les données d'un compartiment (13) ayant le même index que celui de la donnée recherchée par le client.
De cette façon, le nombre d'opérations de comparaison nécessaire est fortement réduit.
Le nombre de valeurs contenues dans un compartiment (13) n'est pas limité. Il s'entend cependant que moins il y a de valeurs, plus les performances sont grandes.
Toujours de façon à optimiser le fonctionnement du cache (9 a, 9 b), on pourra lors du traitement des requêtes ne bloquer l'accès que des compartiments (13) utilisés. De cette façon, le traitement d'une requête affectant un compartiment (13) ne bloque pas le fonctionnement des autres compartiments (13). On utilise pour ce faire des moyens de blocage d'accès sélectifs (15) également dénommés sémaphores ou MUTEX .
Une meilleure gestion de requêtes concurrentielles est ainsi réalisée, peu de requêtes simultanées risquant d'être à traiter dans un même compartiment (13).
<Desc/Clms Page number 13>
REFERENCES 1-Serveur cache 2 a, 2 b-Bloc de gestion d'entrée 3 a, 3 b, 3 c-Bloc de cache 4-Moyens de routage 5-Réseau de communication 6 a, 6 b-Port d'entrée 7 a, 7 b-Gestionnaire d'entrée 8 a, 8 b-Modules de gestion d'entrée 9 a, 9 b, 9 c-Cache 10 a, 10 b-Application de gestion de cache 11-Outil de nettoyage 12-Commande de nettoyage 13-Compartiments 14-Vecteur de listes 15-Moyens de blocage d'accès sélectif 16-File 17-Groupe de lignes 18-Application d'interfaçage 19-Application client CS-Système central 1-Base d'inventaire
Claims (13)
1-Procédé de traitement et d'accès à des données dans un système de réservation par ordinateur comportant une partie serveur dotée d'un système central (CS) et d'au moins une base d'inventaire (I) d'état de réservations, et une partie client comprenant au moins une application client (19), les parties serveur et client étant reliées par un réseau de communication (5), caractérisé par le fait que : - on crée au moins un cache (9 a, 9 b) dans la partie serveur, ledit cache (9 a, 9 b) contenant des données de réservation ; on ajoute des données au cache (9 a, 9 b) par transfert depuis au moins une base d'inventaire (I) ;
on crée une application d'interfaçage (18) entre le cache (9 a, 9 b) et la ou les applications client (19) pour que son utilisateur puisse adresser des requêtes au cache (9 a, 9 b) et recevoir des données en réponse.
2-Procédé de traitement et d'accès à des données selon la revendication 1, caractérisé par le fait que : si, lors d'une requête au cache (9 a, 9 b) par une application client (19), le cache (9 a, 9 b) ne contient pas les données demandées : - on traite la requête dans le système central (CS) par accès aux bases d'inventaire (I) d'état de réservations pour trouver les données demandées ; on ajoute lesdites données au cache (9 a, 9 b) ; on retourne les données demandées, en réponse, à l'application client (19).
3-Procédé de traitement et d'accès à des données selon les revendications 1 ou 2, caractérisé par le fait que :
<Desc/Clms Page number 15>
scrutation périodique des données contenues dans le cache (9 a, 9 b) pour déterminer les données dont la durée maximale de conservation est dépassée ; suppression des données dont la durée maximale de conservation est dépassée.
on nettoie les données contenues dans le cache (9 a, 9 b) par mise en oeuvre de la procédure suivante : affectation d'une durée maximale de conservation à chaque donnée contenue dans le cache (9 a, 9 b) ;
4-Procédé de traitement et d'accès à des données selon l'une quelconque des revendications de 1 à 3, caractérisé par le fait que : on nettoie les données contenues dans le cache (9 a, 9 b) par mise en oeuvre de la procédure suivante : - affectation d'une taille limite et d'une taille seuil au cache (9 a, 9 b), ladite taille seuil ayant une valeur inférieure d'une marge déterminée à ladite valeur limite ; - lorsque la taille limite est atteinte, suppression des données contenues dans le cache (9 a, 9 b) par ordre décroissant d'ancienneté d'utilisation, jusqu'à atteindre la taille seuil.
5-Procédé de traitement et d'accès à des données selon l'une quelconque des revendications 1, à 4, caractérisé par le fait que on range les données dans le cache (9 a, 9 b), par : - affectation d'une clé à chaque donnée à stocker ; transformation de la clé en une valeur numérique ; - création d'un vecteur de listes (14) comprenant une suite de compartiments (13) aptes à contenir une liste de plusieurs données ; - affectation, à chaque compartiment (13), d'un index numérique entier à partir de zéro ;
- détermination, pour chaque donnée, de l'index du compartiment de stockage par modulation de la valeur
<Desc/Clms Page number 16>
numérique de la clé de la donnée par le nombre de compartiments (13) ; stockage de la donnée dans le compartiment (13) ainsi déterminé.
6-Procédé de traitement et d'accès à des données selon la revendication 5, caractérisé par le fait que on recherche une donnée dans le cache (9 a, 9 b) par transformation de la clé en une valeur numérique et détermination de l'index du compartiment (13) de stockage par modulation de la valeur numérique de la clef par le nombre de compartiments, et par le fait que : si une seule donnée est présente dans le compartiment (13), on retrouve la donnée recherchée ; si aucune donnée n'est présente dans le compartiment (13) on retrouve une information d'absence ; si plusieurs données sont présentes dans le compartiment (13) on compare leurs clés pour déterminer celle qui est effectivement recherchée.
7-Procédé de traitement et d'accès à des données selon la revendication 6, caractérisé par le fait que : on ne bloque l'accès que des compartiments (13) en cours de traitement d'une requête pour autoriser d'autres traitements de requêtes simultanées dans d'autres compartiments (13).
8-Système de réservation par ordinateur comportant une partie serveur dotée d'un système central (CS) et d'au moins une base d'inventaire (I) d'état de réservations, et une partie client comprenant au moins une application client (19), les parties serveur et client étant reliées par un réseau de communication (5), apte à mettre en oeuvre le procédé selon quelconques des revendications 1 à 7, caractérisé par le fait qu'il comporte
<Desc/Clms Page number 17>
au moins un cache (9 a, 9 b) dans la partie serveur, ledit cache (9 a, 9 b) contenant des données de réservation ; au moins une application d'interfaçage (18) entre le cache (9 a, 9 b) et le ou les applications client (19) pour que son utilisateur puisse adresser des requêtes au cache (9 a, 9 b) et recevoir des données en réponse.
9-Système de réservation par ordinateur selon la revendication 1, caractérisé par le fait que : il comprend dans la partie serveur, au moins un serveur cache (I) comportant : au moins un bloc de cache (3 a, 3 b, 3 c) doté d'un cache (9 a, 9 b) et d'une application (10 a, 10 b) de gestion du cache (9 a, 9 b) ; au moins un bloc de gestion d'entrée (2 a, 2 b) doté d'une pluralité de modules de gestion d'entrée (8 a, 8 b) recevant chacun les requêtes d'une ou plusieurs applications client (19) et gérés par un gestionnaire d'entrée (2 a, 2 b).
10-Système de réservation par ordinateur selon la revendication 9, caractérisé par le fait que : chaque module de gestion d'entrée (8 a, 8 b) est affecté à une seule application client (19).
11-Système de réservation par ordinateur selon la revendication 9, caractérisé par le fait que : des modules de gestion d'entrée (8 a,. 8 b) sont affectés à plusieurs applications client (19) et que leur bloc de cache (3 a, 3 b, 3 c) comprend : une file (6) apte à recevoir les requêtes issues des applications client (8 a, 8 b) et à les redistribuer par ordre d'entrée sur demande du cache (9 a, 9 b) ;
<Desc/Clms Page number 18>
12-Système de réservation par ordinateur selon quelconques des revendications 8 à 11, caractérisé par le fait que : le ou les caches (9 a, 9 b) comprennent un vecteur de listes (14) comprenant une suite de compartiments (13) aptes à contenir une liste de plusieurs données et auquel est affecté un index, pour la recherche d'une donnée par l'index du compartiment (13) où elle est stockée.
13-Système de réservation par ordinateur selon quelconques des revendications 8 à 12, caractérisé par le fait que : il comporte un outil de nettoyage (11) apte à adresser des commandes de nettoyage au cache (9 a, 9 b) selon une procédure déterminée.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0100236A FR2819321B1 (fr) | 2001-01-10 | 2001-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
US10/250,980 US20040054751A1 (en) | 2001-01-10 | 2002-01-10 | Method for processing and accessing data in a computerised reservation system and system therefor |
PCT/FR2002/000067 WO2002056212A1 (fr) | 2001-01-10 | 2002-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
CA002433429A CA2433429A1 (fr) | 2001-01-10 | 2002-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
JP2002556801A JP2004527820A (ja) | 2001-01-10 | 2002-01-10 | コンピュータ予約システムにおけるデータの処理及びアクセス方法、並びにその方法を実施するためのシステム |
EP02711929A EP1350208A1 (fr) | 2001-01-10 | 2002-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
KR10-2003-7009266A KR20030091963A (ko) | 2001-01-10 | 2002-01-10 | 컴퓨터 예약 시스템에서의 데이터 액세스와 처리 방법 및그 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0100236A FR2819321B1 (fr) | 2001-01-10 | 2001-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2819321A1 true FR2819321A1 (fr) | 2002-07-12 |
FR2819321B1 FR2819321B1 (fr) | 2005-01-21 |
Family
ID=8858634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0100236A Expired - Lifetime FR2819321B1 (fr) | 2001-01-10 | 2001-01-10 | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre |
Country Status (7)
Country | Link |
---|---|
US (1) | US20040054751A1 (fr) |
EP (1) | EP1350208A1 (fr) |
JP (1) | JP2004527820A (fr) |
KR (1) | KR20030091963A (fr) |
CA (1) | CA2433429A1 (fr) |
FR (1) | FR2819321B1 (fr) |
WO (1) | WO2002056212A1 (fr) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962361B2 (en) | 2002-11-07 | 2011-06-14 | Novitaz | Customer relationship management system for physical locations |
US8600804B2 (en) | 2002-11-07 | 2013-12-03 | Novitaz, Inc. | Customer relationship management system for physical locations |
JP2007065928A (ja) * | 2005-08-30 | 2007-03-15 | Toshiba Corp | 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム |
US20080040167A1 (en) * | 2006-04-05 | 2008-02-14 | Air New Zealand Limited | Booking system and method |
KR101192626B1 (ko) * | 2006-05-12 | 2012-10-18 | 삼성디스플레이 주식회사 | 표시 기판과, 이의 제조 방법 및 이를 구비한 표시 장치 |
US8302861B2 (en) * | 2007-05-22 | 2012-11-06 | Ibm International Group B.V. | System and method for maintaining inventory management records based on demand |
US20120312879A1 (en) | 2011-01-06 | 2012-12-13 | John Rolin | PCB Design and Card Assembly for an Active RFID Tag in Credit Card Form Factor |
EP2541473A1 (fr) * | 2011-06-27 | 2013-01-02 | Amadeus S.A.S. | Procédé et système pour système de réservation d'avant courses avec une efficacité de recherche améliorée |
CN102790683A (zh) * | 2011-05-16 | 2012-11-21 | 北大方正集团有限公司 | 一种实时行情数据处理方法、服务器及*** |
JP5433640B2 (ja) | 2011-06-30 | 2014-03-05 | 楽天株式会社 | 情報提供装置、情報提供方法、情報提供プログラム及び記録媒体 |
WO2014155737A1 (fr) * | 2013-03-29 | 2014-10-02 | 楽天株式会社 | Système de mémoire cache de données, programme, support d'enregistrement, et procédé |
US9251478B2 (en) * | 2013-07-29 | 2016-02-02 | Amadeus S.A.S. | Processing information queries in a distributed information processing environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997021177A1 (fr) * | 1995-12-01 | 1997-06-12 | British Telecommunications Public Limited Company | Acces a une base de donnees |
WO2000043927A2 (fr) * | 1999-01-20 | 2000-07-27 | Synxis Corporation | Procede et systeme de gestion globale d'operations de reservation |
WO2001033472A2 (fr) * | 1999-11-01 | 2001-05-10 | Ita Software, Inc. | Procede et dispositif servant a determiner la disponibilite de sieges a bord d'un avion |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5655100A (en) * | 1995-03-31 | 1997-08-05 | Sun Microsystems, Inc. | Transaction activation processor for controlling memory transaction execution in a packet switched cache coherent multiprocessor system |
US6256712B1 (en) * | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
US6360205B1 (en) * | 1998-10-30 | 2002-03-19 | Trip.Com, Inc. | Obtaining and utilizing commercial information |
US20020053004A1 (en) * | 1999-11-19 | 2002-05-02 | Fong Pong | Asynchronous cache coherence architecture in a shared memory multiprocessor with point-to-point links |
US6505284B1 (en) * | 2000-06-26 | 2003-01-07 | Ncr Corporation | File segment subsystem for a parallel processing database system |
-
2001
- 2001-01-10 FR FR0100236A patent/FR2819321B1/fr not_active Expired - Lifetime
-
2002
- 2002-01-10 JP JP2002556801A patent/JP2004527820A/ja active Pending
- 2002-01-10 WO PCT/FR2002/000067 patent/WO2002056212A1/fr active Application Filing
- 2002-01-10 US US10/250,980 patent/US20040054751A1/en not_active Abandoned
- 2002-01-10 KR KR10-2003-7009266A patent/KR20030091963A/ko not_active Application Discontinuation
- 2002-01-10 EP EP02711929A patent/EP1350208A1/fr not_active Withdrawn
- 2002-01-10 CA CA002433429A patent/CA2433429A1/fr not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997021177A1 (fr) * | 1995-12-01 | 1997-06-12 | British Telecommunications Public Limited Company | Acces a une base de donnees |
WO2000043927A2 (fr) * | 1999-01-20 | 2000-07-27 | Synxis Corporation | Procede et systeme de gestion globale d'operations de reservation |
WO2001033472A2 (fr) * | 1999-11-01 | 2001-05-10 | Ita Software, Inc. | Procede et dispositif servant a determiner la disponibilite de sieges a bord d'un avion |
Non-Patent Citations (1)
Title |
---|
IGOR DOLINSEK, ZORAN SLANIC: "Application Instrumentation & Control - White Paper", APPLIXRAY.COM, November 2000 (2000-11-01), pages 1 - 16, XP002181411, Retrieved from the Internet <URL:http://www.applixray.com/AICWhitePaper.pdf> [retrieved on 20011026] * |
Also Published As
Publication number | Publication date |
---|---|
KR20030091963A (ko) | 2003-12-03 |
US20040054751A1 (en) | 2004-03-18 |
WO2002056212A1 (fr) | 2002-07-18 |
FR2819321B1 (fr) | 2005-01-21 |
JP2004527820A (ja) | 2004-09-09 |
CA2433429A1 (fr) | 2002-07-18 |
EP1350208A1 (fr) | 2003-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101429555B1 (ko) | 고 가용성 데이터를 제공하기 위한 시스템 및 방법 | |
EP1193625B1 (fr) | Moteur de recherche collaboratif | |
FR2681707A1 (fr) | Systeme de fichiers pour redistribuer selectivement des fichiers et procede pour affecter un espace de memoire dans un systeme informatique comportant de multiples dispositifs de stockage de donnees. | |
EP1457023B1 (fr) | Procede de transmission d'objets entre un serveur et un terminal client mettant en oeuvre une gestion de cache | |
US7584264B2 (en) | Data storage and retrieval systems and related methods of storing and retrieving data | |
FR2819321A1 (fr) | Procede de traitement et d'acces a des donnees dans un systeme de reservation par ordinateur, et systeme de mise en oeuvre | |
EP2286354A1 (fr) | Procede de generation de requetes de manipulation d'une base de donnees d'initialisation et d'administration d'une grappe de serveurs, support de donnees et grappe de serveurs correspondants | |
FR2674654A1 (fr) | Systeme de commande de registres partages. | |
EP1643710A1 (fr) | Procédé de mise à jour d'une table de correspondance entre une adresse et un numéro d'identification | |
JP2013242906A (ja) | ストレージ性能の最適化 | |
EP3025481A2 (fr) | Procédé de traitement de données de géolocalisation | |
WO2006016085A1 (fr) | Procede de sauvegarde distribuee sur des postes clients dans un reseau informatique | |
EP1801716B1 (fr) | Diffusion de données par groupement | |
US8032691B2 (en) | Method and system for capacity-balancing cells of a storage system | |
EP3903210A1 (fr) | Reseau de communication securisee et tracee | |
EP2397962A1 (fr) | Dispositif et procédé de stockage sécurisé de données biométriques | |
FR2826477A1 (fr) | Systeme integre de recueil de donnees medico-sociales | |
BE1005968A6 (fr) | Systeme electronique integre de magasinage et de distribution. | |
EP0866410A1 (fr) | Système informatique à stockage de données distribué | |
FR2907993A1 (fr) | Systeme informatique comprenant plusieurs noeuds en reseau. | |
FR2849561A1 (fr) | Systeme de communication multi-protocoles | |
EP1193946B1 (fr) | Procéde et réseau de communication | |
BE1005873A6 (fr) | Appareil de stockage et de consultation de donnees. | |
EP3948574A1 (fr) | Système de stockage redondant de données, procédé et programme d'ordinateur correspondants | |
FR3102283A1 (fr) | Dispositif, système et procédé pour fournir des objets de fournisseur à partir d’une antémémoire |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 17 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 20 |