<Desc/Clms Page number 1>
"Utilisation de mémoire et recherche de données" La présente invention concerne l'utilisation d'emplacements de mémoire dans un système de traitement de données et l'extraction de données situées dans ces emplacements.
D'une manière plus détaillée, la présente invention se rapporte au contrôle d'opérations de base de données pour le traitement des données de transactions lorsque la quantité de données mémorisées est très importante et qu'il est nécessaire d'accéder rapidement aux données.
La description du British Patent GB 2202656B dévoile une méthode de reconfiguration dans un système de micro-ordinateur. La présente invention vise à fournir une méthode de configuration d'emplacements de mémoire et de contrôle d'accès aux données dans un grand système de base de données, dans lequel les données mémorisées sont de l'ordre de 10 GB.
Un des objectifs de la présente invention est d'assurer le stockage des données en mémoire de manière à permettre d'y accéder rapidement, tout en fournissant une méthode de contrôle d'accès aux données. Un autre objectif est de maintenir la sécurité des données à un niveau élevé. Ce point est très important pour le traitement de transactions dans les cas où ces dernières se présentent en nombre très élevé.
<Desc/Clms Page number 2>
Suivant l'invention, on fournit une méthode d'utilisation de mémoire et d'extraction de données qui comporte les étapes suivants :- stockage sur un support de mémoire d'un fichier principal d'articles doté d'un enregistrement mémorisant des données pour chaque article auquel se rapportent les données ;
stockage sur un support de mémoire d'un jeu de fichiers de données, dont chacun mémorise des données relatives à un traitement de données particulier ; stockage sur un support de mémoire d'un fichier-journal, avec un journal de données pour la réception des données de transactions et un fichier d'accès pour la mémorisation de voies d'accès aux données stockées dans le journal de données ; stockage d'au moins deux tables de recherche renvoyant de l'adresse logique à l'adresse effective pour les fichiers et enregistrements de données du fichier principal d'articles ;
exécution du traitement et de l'extraction des données pour le traitement en accédant, d'une part, à l'enregistrement du fichier principal d'articles qui se rapporte à l'article concerné et en extrayant, d'autre part, d'un fichier de données concernant un processus particulier certaines données, cette étape comportant comme sous-étapes la détermination d'une adresse logique pour les fichiers de données et pour l'enregistrement du fichier principal d'articles en référence à l'une des tables de recherche mémorisées ; et après achèvement d'une opération de mise à jour dans l'un des fichiers de données, écriture des données relatives à la mise à jour du journal de données puis stockage dans le
<Desc/Clms Page number 3>
fichier d'accès du fichier-journal des voies d'accès aux données situées dans le fichier-journal.
Dans une réalisation, l'adresse logique est l'une des valeurs de paramètres mémorisées dans l'en-tête de chaque fichier de données, de sorte que des processeurs différents peuvent avoir des adresses logiques différentes pour le même fichier de données.
La méthode comporte de préférence comme étape supplémentaire la mise à jour automatique d'une table de recherche après l'achèvement de l'opération de traitement de données.
Dans une autre réalisation, une autre table de recherche est mise à jour grâce à un processus par lots exécuté à intervalles de temps réguliers.
On comprendra plus clairement la présente invention à partir de la description ci-après de quelques-unes de ses réalisations privilégiées, qui n'est donnée qu'à titre d'exemple et en référence aux dessins d'accompagnement, parmi lesquels :-
EMI3.1
la fig. 1 est une représentation schématique d'un système C > de traitement de données de transactions selon l'invention ; et la fig. 2 est une vue de détail montrant la manière dont
EMI3.2
les enregistrements sont créés.
ZD Si l'on se reporte aux dessins. on y trouvera l'illustration d'un système de traitement de données de transactions, désigné d'une manière générale par le chiffre de référence 1. Le système 1 comporte des bus de données et d'adresses bi-directionnels qui relient divers processeurs et disques durs stockant des fichiers de bases de données. Dans la présente réalisation, la capacité en disques durs se monte à 8. 3 GB. qui sont répartis entre quatorze disques dont la moyenne d'utilisation est de l'ordre de 80-85 %.
Pour des raisons de clarté, on n'a pas montré la totalité des bus de données et d'adresses. Les disques durs stockent environ 800
<Desc/Clms Page number 4>
fichiers de données (3) mais seuls cinq d'entre eux sont montrés, à savoir Q, R, S, T, U. La taille des fichiers de données s'établit comme suit :- Q-17 MB
R-13MB
S-35 MB T-11 MB U-44MB Les fichiers de données ont une structure à peu près semblable à celle montrée à la fig. 2, avec un en-tête 3 (a) et un certain nombre d'enregistrements, trois d'entre eux-3 (b), 3 (c) et 3 (d)-étant montrés dans le cas présent. Les enregistrements sont tous égaux en taille. L'en-tête 3 (a) est décrit plus en détail ci-dessous.
Le fichier le plus important stocké sur les disques durs est sans doute un fichier principal d'articles 4, qui, avec sa taille de 1,5 MB, est relativement petit. Le fichier principal d'articles 4 est généré au début des opérations de la base de données et comporte un enregistrement de données se rapportant à chacun des nombreux articles intervenant dans les transactions. Dans le traitement du commerce de détail, par exemple, chaque élément sera constitué par un produit particulier. Les données qui sont stockées dans chaque enregistrement sont généralement de nature fixe, étant donné qu'elles ne varient guère.
Dans la présent réalisation, les données comprennent une marque de statut, qui indique si un produit est actif, dormant (c'est-à-dire non commercialisé à ce moment mais susceptible de l'être dans un futur rapproché) ou mort (qui n'est plus commercialisé). D'autres données reprennent un identificateur de produit comprenant un numéro de produit et un texte le décrivant. Si les articles de la présente réalisation sont des produits destinés au commerce de détail. il est envisagé que les produits puissent être de tout genre, selon la nature du traitement.
Un autre fichier important est constitué par le fichier-journal 5, qui comporte un fichier d'accès 5 (a) et un journal de données 5 (b).
<Desc/Clms Page number 5>
Le fichier d'accès possède une taille de 219 MB et le journal de données, une taille de 118 MB. Le fichier-journal 5 est décrit de manière plus détaillée ci-dessous. Le système 1 comporte également plusieurs processeurs 6, à savoir des processeurs A, B, C et D, qui sont tous reliés à un circuit d'acheminement 7. Ce circuit d'acheminement 7 est raccordé à un circuit de mise à jour de table par lots 8 et à une paire de tables de recherche 9 et 10.
En cours de fonctionnement, les processeurs 6 assument l'exécution de diverses opérations de transaction en utilisant les données stockées dans les fichiers de données 3 du disque dur. Pour le traitement du commerce de détail, le processeur A peut prendre en charge l'analyse des ventes, le processeur B, les bons de commande, le processeur C, les calculs d'inventaire et le processeur D, la production de rapports d'information relatifs à la gestion. La nature du traitement n'a pas d'importance ; seul importe le fait que le traitement implique un accès à des données provenant des disques durs. Chaque fois qu'une donnée est requise, une demande est transmise au circuit d'acheminement 7, qui lit l'adresse logique pour le fichier de données concerné dans les instructions reçues du processeur 6 en cause.
Le circuit d'acheminement 7 accède alors à l'une des deux tables de recherche 9 et 10 pour déterminer une adresse effective correspondant à l'adresse logique intégrée.
L'adresse effective est ensuite transmise dans le bus d'adresses 2 et utilisées pour lire l'enregistrement d'article correspondant à partir du fichier de données 3 concerné. D'une manière plus détaillée, l'adresse logique du fichier de données peut être une des clés qui sont mémorisées dans l'en-tête 3 (a) du fichier de données 3 (b). L'en-tête 3 (a) mémorise des valeurs pour quatre paramètres.
Chacun des processeurs aura mémorisé l'une de ces valeurs de paramètre comme adresse logique ou clé principale pour ce fichier de données. Comme le montre la fig. 2. les processeurs A et B ont tous deux la valeur du paramètre 1 comme adresse logique, tandis que le processeur C possède comme adresse logique la valeur du paramètre 3 et le processeur D. celle du paramètre 4. Ainsi, la totalité des quatre processeurs peuvent accéder au fichier de
<Desc/Clms Page number 6>
données particulier 3 montré à la fig. 2. bien que des adresses logiques différentes soient utilisées dans chaque cas. Cette particularité est extrêmement importante car elle autorise la souplesse dans les opérations de traitement exécutées et évite la nécessité d'une duplication pour le stockage des fichiers de données.
En se reportant aux tables de recherche 9 et 10, il est facile de déterminer les adresses effectives des fichiers, si bien qu'il n'y a qu'un minimum de retard dans le circuit d'acheminement 7. En outre, comme l'article concerné est toujours lu à partir du fichier principal d'articles 4, il est possible de lire très rapidement une grande quantité de données et cette opération ne requiert qu'une quantité minimale d'espace de mémoire.
La mise à jour des tables de recherche 9 et 10 peut s'effectuer de deux manières. La table de recherche 9 est mise à jour en ligne par le circuit d'acheminement 7 selon les instructions reçues des processeurs 6. En revanche, la table de recherche 10 n'est mise à jour qu'à des intervalles de temps réguliers, sur des instructions venues du circuit 8 de mise à jour de table par lots. En général, seuls les processeurs fonctionnant en mode de traitement par lots se réfèrent à la table de recherche 10, après fonctionnement du circuit de mise à jour 8. Il s'est avéré que la séparation des tables de recherche en deux catégories différentes, dont l'une est mise à jour en ligne et l'autre en traitement par lots, réduit considérablement la quantité de capacité de traitement qui est nécessaire pendant le traitement de la transaction.
Le processeur 6 assume l'écriture des données dans un nouvel enregistrement du fichier-journal 5 chaque fois que l'un des enregistrements de données 3 est mis à jour. Ainsi, à la fin d'un laps de temps. le journal de données 5 (b) du fichier-journal contiendra un enregistrement se rapportant à chaque opération de mise à jour d'un fichier de données 3. C'est la raison pour laquelle il est possible d'exécuter certaines procédures (par exemple celle de production de documents) d'une manière beaucoup plus efficace. en accédant simplement au journal de données 5 (b) grâce au fichier
<Desc/Clms Page number 7>
d'accès 5 (a) à l'intérieur du fichier-journal 5. Pour certains types de procédures, cette façon de faire épargne une quantité considérable de cycles d'extraction de fichiers de données 3.
Elle fournit également sur un mode extrêmement efficace une méthode de surveillance des opérations de base de données en vidant simplement des données du fichier-journal 5 dans un fichier de rapport chaque fois que nécessaire. Lors de l'extraction de données du journal de données 5a, les tables de recherche 9 et 10 ne sont pas utilisées, étant donné que le fichier d'accès 5a fournit les voies ou chemins d'accès et que ces derniers sont continuellement mis à jour à mesure que les données sont écrites dans le journal de données 5 (b).
On retiendra que la présente invention veille à utiliser efficacement des emplacements de mémoire et à fournir des temps de réponse rapides aux demandes de données.
La présente invention ne se limite pas aux réalisations décrites cidessus mais peut varier dans sa structure comme dans ses détails.