<Desc/Clms Page number 1>
"Améliorations apportées à l'efficacité du traitement de données et s'v rapoortant*' La présente invention se rapporte à la structure d'un appareillage de traitement de données. En particulier, la présente invention a trait à la structure électronique technique des dispositifs de mémorisation de données. ainsi qu'aux étapes techniques réalisées par un processeur accédant à ces dispositifs de mémorisation afin d'aboutir aux résultats techniques suivants :-
1. une amélioration du temps de réponse, en particulier
EMI1.1
lorsqu'il s'agit d'exécuter un traitement complexe sur un gros e volume de données mémorisées ;
2. une amélioration du traitement des données et de la souplesse, permettant à un utilisateur de modifier facilement les opérations de traitement ;
et
3. une amélioration de la sécurité des données, qui rende difficile leur altération.
A l'heure actuelle, de nombreux appareillages de traitement d e données particulières ont été fournis pour améliorer de manière générale le temps de réponse et l'efficacité du traitement. La description du Brevet Européen n EP-B1-0074390 (Unisys Corp.) expose par exemple un système de traitement qui inclut des antémémoires dotées de temps d'accès rapides et diverses unités de traitement qui communiquent avec ces antémémoires. Un tel
<Desc/Clms Page number 2>
dispositif peut s'utiliser dans la plupart des cas de traitement de données. Dans les situations où le volume des données est très important, où il faut effectuer un traitement très complexe et où il importe de disposer d'un grand degré de souplesse pour corriger les opérations de traitement effectuées. un tel dispositif ne suffit pas à lui seul à assurer les résultats techniques requis.
Un exemple de type de situation réunissant ces conditions est celui d'un système de traitement destiné à des données actuarielles. Dans ce cas, on trouvera un très gros volume de données mémorisées, relatives à un grand nombre de membres ayant contracté des polices d'assurance-vie. Une série d'opérations de traitement doit être effectuée pour chaque membre individuel et dépend de nombreuses variables. Dans une situation de ce type, où les variables sont très nombreuses et qui demande un traitement complexe en plus de présenter un très gros volume de données, le temps de réponse sera inacceptable si l'on utilise l'appareillage de traitement de données actuellement disponible, à moins recourir à des systèmes informatiques extrêmement dispendieux, comme les systèmes massivement parallèles.
L'invention vise à fournir un appareillage de traitement de données dont la structure aboutisse aux résultats techniques susmentionnés sans nécessiter une installation informatique extrêmement puissante et coûteuse. Un aspect important de l'invention réside dans les étapes techniques qui sont effectuées pour obtenir ces résultats techniques, tandis que la nature des données traitées est indifférente. Lorsque la description mentionne des données d'une nature particulière, par exemple des données actuarielles, elle n'en fait état que pour l'exemple.
Suivant la présente invention. on fournit un appareillage de traitement de données comportant une unité centrale reliée à un dispositif de mémorisation et connectée à une mémoire à accès direct ; dans ce dispositif :-
<Desc/Clms Page number 3>
le dispositif de mémorisation mémorise des données dans une structure hiérarchique comportant plusieurs fichiers de données de groupe, plusieurs fichiers dépendants de sousgroupes. plusieurs fichiers dépendants de catégorie, plusieurs fichiers dépendants de statut et plusieurs fichiers dépendants d'unité ; chaque fichier de catégorie comprend une série de codes. dont chacun est lié à un fichier dépendant dans la structure hiérarchique, tous les codes de chaque fichier de catégorie étant rattachés à des fichiers de niveau plus élevé dans la structure hiérarchique ;
le dispositif de mémorisation emmagasine plusieurs fichiers de formules, dotés chacun d'une structure identique, avec le même nombre de lignes et le même nombre d'emplacements de mémoire par ligne. chaque fichier de formules pouvant faire l'objet d'une adresse individuelle dans un fichier de catégorie ; les dispositifs de mémorisation de données emmagasinent une structure en tableau de catégories générée au préalable et ayant une capacité de mémoire de lignes et de colonnes
EMI3.1
qui correspond aux codes des fichiers de catégorie ; e les dispositifs de mémorisation de données emmagasinent 0 une structure en tableau pour fichiers de formule ayant une capacité de mémoire en lignes et colonnes qui correspond aux fichiers de formules ;
EMI3.2
les dispositifs de mémorisation de données emmagasinent e une structure en tableau pour résultats ayant une ligne qui 0 correspond à chaque ligne de la structure en tableau pour fichiers de formules ;
<Desc/Clms Page number 4>
l'unité centrale comporte un dispositif d'identification des codes de fichiers de catégorie associés à une instruction de traitement ; l'unité centrale comporte un dispositif pour effectuer les étapes suivantes après identification des codes de fichier de catégorie pour l'instruction de traitement ; écriture successive de tous les codes de chaque fichier de catégorie dans la structure en tableau pour fichiers de
EMI4.1
catégorie ; e identification des codes à traiter pour l'instruction particulière ;
pour chaque code à traiter, lecture du code et recherche du fichier de formules concerné, identifié par le code, et écriture du fichier de formules dans la structure en tableau pour fichiers de formules. avec une ligne de code pour chaque ligne de la structure en tableau pour fichiers de formules ; traitement successif de chaque ligne de code dans la structure en tableau et, pour chaque ligne de code, écriture d'un résultat intermédiaire dans la rangée correspondante d'une structure en tableau de résultats ; contrôle du code dans la structure en tableau pour fichiers d e formules pour détecter une indication de résultat final et, une fois celui-ci repéré, écriture de ce résultat dans un champ d'un fichier d'unité à partir de la ligne correspondante ;
et génération d'un résultat pour chaque code de fichier de catégorie associé à l'instruction de traitement.
Dans une réalisation, chaque fichier de catégorie comprend un
EMI4.2
indicateur qui détermine dans la catégorie du fichier les codes qui 0 sont associés avec des fichiers subsidiaires, afin de permettre à
<Desc/Clms Page number 5>
l'unité centrale d'identifier les codes associés avec une instruction particulière. chaque instruction comprenant un nom pour au moins un fichier de données.
EMI5.1
Il est préférable que la structure en tableau de catégorie c comprenne des lignes ayant une largeur comprise entre 2 et 5 bytes.
On comprendra plus clairement la présente invention grâce à la description qui est donné ci-après de quelques-unes de ses réalisations privilégiées et n'est fournie qu'à titre d'exemple et en référence aux dessins d'accompagnement, dont :- la fig. 1 est une représentation schématique d'un
EMI5.2
appareillage de traitement de données de l'invention ; e la fig. 2 est une représentation schématique de la structure e d'un dispositif de mémorisation de l'appareillage ; et C > la fig. 3 est un schéma montrant la manière dont des ZD opérations de traitement sont effectuées.
La fig. 1 montre un appareillage de traitement 1 conforme à l'invention. L'appareillage comporte une unité centrale (CPU) hôte 2
EMI5.3
TM qui est, dans la présente réalisation, du type 486tu, fonctionnant à 33 MHz. L'unité centrale 2 est connectée à un mémoire à accès direct 3 présentant une capacité de 16 MB. En outre, l'unité centrale 2 est reliée à une batterie d'unités d'entraînement de disques fixes, dont deux ont été représentées, sous les numéros 4 (a) et 4 (b). La capacité totale des unités d'entraînement de disques fixes est de 400 MB. Pour accéder à l'unité centrale 2, l'appareillage 1 dispose d'un serveur de terminaux 5 à 16 portes et doté de liaisons 6 qui le connectent aux différents terminaux.
Pour permettre un accès à distance, l'appareillage 1 comporte un modem 7 qui est conçu pour communiquer avec des unités centrales déportées désignées par les chiffres 8 et 9.
<Desc/Clms Page number 6>
A ce niveau, qui est un niveau général, l'appareillage 1 est conventionnel. La présente invention se rapporte au mode de mémorisation des structures de données sur les disques 4 et à la manière dont l'unité centrale 2 est programmée pour effectuer des opérations techniques destinées à produire les résultats techniques nécessaires. Ces points sont décrits en détail ci-après en référence aux fig. 2 et 3.
Si l'on se reporte en particulier à la fig. 2, on y verra la structure de données et de programmes 20 grâce à laquelle des données et des programmes sont mémorisés sur les disques 4. Comme on l'a dit, la présente invention a trait aux caractéristiques techniques. comme la structure des données ou la structure des programmes, et à la manière dont elles sont reliées entre elles, ainsi qu'aux aspects techniques du mode de recherche et de traitement des données. La présente invention ne se rapporte donc à un type de données particulier, bien que, dans un but d'illustration. on fournisse ici des exemples où les données se rapportent d'une manière générale au traitement de données actuarielles. Ces exemples contribueront à une meilleure compréhension de l'invention.
La structure 20 comprend plusieurs fichiers de données de groupe 21, qui sont les fichiers du niveau le plus élevé dans une structure de fichiers de données hiérarchisée. Un fichier de données de groupe 21 peut, par exemple, mémoriser des données qui traitent d'un fond de pension d'une manière générale, par exemple le fond de pension d'un groupe de grande distribution. Au niveau suivant, la structure 2 0 comporte plusieurs fichiers de sous-groupe 22, dont chacun dépend d'un fichier de données de groupe 21. Un fichier de sous-groupe 22 peut mémoriser des données relatives à un ensemble particulier d'employés dans un fonds de pension, par exemple les employés d'une succursale déterminée d'une chaîne de distribution. Au niveau suivant, on trouve une série de fichiers de catégorie 23.
Ces fichiers sont très importants. car ils se rapportent directement a u mode de traitement des données. Un fichier de catégorie 23 peut avoir trait à un groupe ou à un niveau de personnel particuliers au sein d'une succursale donnée d'une société. La structure 20
<Desc/Clms Page number 7>
comporte en outre un série de fichiers de statut 24 qui sont sous la dépendance d'un fichier de catégorie 23 particulier. Un fichier de statut peut ainsi se rapporter aux membres actifs d'un fonds de pension. ou encore aux sorties anticipées d'un fonds de pension.
Enfin. on trouve une série de fichiers d'unité 25 qui dépendent des fichiers de statut 24. Un fichier d'unité 25 se rapporte à une unité de données particulières ou au plus petit enregistrement possible. Dans le présent exemple, chaque fichier d'unité peut concerner un membre ou un individu particuliers d'un fonds de pension. Un aspect important de la structure des données réside dans le fait que chaque fichier d'unité possède une série de champs de résultats, contenant les données nécessaires qui doivent être sorties par l'appareillage 1. Un autre aspect important est que chaque fichier de catégorie 23 emmagasine un jeu de codes, qui adressent chacun un fichier de formules 30 déterminé. Le bas de la fig. 2 représente les fichiers de formules 30 comme étant reliés par un bus bidirectionnel 31.
Les lignes interrompues de la fig. 2 montrent le mode de sélection des fichiers de formules 30. Dans une application caractéristique, il peut y avoir des milliers de fichiers d'unité, des centaines de fichiers d'état 24, des nombres moindres et proportionnels de chaque type de fichiers de niveau plus élevé (23, 22 et 21). Étant donné la structure des données et des programmes 20, chaque fichier ne doit mémoriser qu'un volume relativement faible de données, dont des pointeurs faisant référence à d'autres fichiers et aux contenus d'autres fichiers, comme on va le décrire plus en détail ci-après.
Si l'on se reporte à présent à la fig. 3, on y verra la manière dont l'unité centrale 2 fonctionne en référence aux structures en tableau mémorisées sur les disques 4. On trouve ainsi un tableau de catégories 40 qui est une structure prédéfinie stockée sur le disque
4 et dotée de 60 lignes, ayant chacune une largeur de 3 bytes. On a par ailleurs prévu une structure en tableau prémémorisée de fichiers de formules 41 et une structure en tableau prémémorisée de résultats 42. La structure en tableau pour fichiers de formules
41 a une longueur de 100 lignes. d'une largeur de 16 bytes chacune.
<Desc/Clms Page number 8>
La représentation de ces structures en tableaux à la fig. 3 contribue à illustrer la manière dont l'unité centrale fonctionne en lien avec la structure de données et de programmes 20 pour obtenir les résultats techniques requis.
Chacun des fichiers de formules 30 emmagasine jusqu'à 100 lignes de codes qui mettent en oeuvre des formules ou des algorithmes particuliers. Chaque fichier de catégorie 23 stocke jusqu'à 60 codes de fichiers de catégorie, qui consistent chacun en une adresse d'un fichier de formules 30. Pour chacun des codes d'un fichier de catégorie 23, on trouve un champ de résultats correspondant dans un fichier d'unité. Cette particularité permet d'utiliser dans n'importe quelle opération de traitement la totalité ou une partie des 60 codes de chacun des fichiers de catégorie 23.
Si l'utilisateur introduit, par exemple, le nom d'un fichier de données de groupe 21, tous les codes des fichiers de catégorie existants seraient utilisés, entraînant un volume extrêmement important d e traitement, car il peut y avoir un grand nombre de fichiers de catégorie 23 associés avec le fichier de groupe de données particulier 21. Si l'utilisateur introduit un nom pour le fichier de données 21 ainsi que pour un fichier de sous-groupe 22, le nombre de fichiers de catégorie 23 est considérablement réduit. Si l'utilisateur entre par ailleurs le nom d'un fichier de statut 24, il n'y aura plus qu'un seul fichier de catégorie 24 à être concerné et, en outre, le nombre de codes de catégories impliqués dans l'opération de traitement ne doit pas nécessairement être le nombre total d e codes de catégories, soit 60.
La raison en est que le fichier de catégorie 23 mémorise un indicateur des codes associés à chaque fichier de statut 24. Les codes 01 à 11 peuvent, par exemple, se rapporter à des cotisations normales pour le traitement du fonds de pension, les codes 12 à 24, à des cotisations de prépension, les codes 25 à 43, à des cotisations différées ou remboursées et les codes 44 à 60. à des cotisations diverses. Finalement, chaque fichier d'unité subdivise ces éléments plus avant en une série particulière et plus réduite de codes d'un fichier de catégorie 23.
<Desc/Clms Page number 9>
L'unité centrale 2 est activée par un utilisateur lorsqu'il introduit une instruction à un terminal par le biais d'un serveur 5 dans le but de générer des résultats d'un traitement de données particulières.
Dans le présent exemple. on peut demander la génération d'une cotisation de prépension pour un membre donnée d'un fonds de pension. Dans ce cas, on entre le nom du fichier de données de groupe 21, du fichier de sous-groupe 22. du fichier de statut 24 et du fichier d'unité 25 particulier. L'unité centrale 2 recherche alors le fichier de catégorie 23 qui est associé à ces noms et l'écrit automatiquement dans la structure à tableau de catégorie 40. Ce faisant, l'unité centrale 2 mémorise dans la mémoire à accès direct 3 un indicateur des numéros de code particuliers associés à la demande de l'utilisateur. En effectuant le traitement des données, l'unité centrale 2 arrive directement à la ligne de la structure en tableau 40 qui mémorise le premier code concerné.
Ce code est retrouvé dans la structure en tableau 40 (complète) et est utilisé pour rechercher un fichier de formules particulier 30. Celui-ci est ensuite écrit dans la structure en tableau pour fichiers de formules 41, chaque ligne de code étant inscrite dans la rangée correspondante de la structure en tableau 41.
Le pointeur de programme de l'unité centrale 2 entame alors la lecture successive de chaque ligne de code de la structure 41 et
EMI9.1
génère un résultat intermédiaire en écrivant le résultat de chaque z ligne de la structure 41 dans la ligne correspondante de la structure 40, comme l'indiquent les lignes interrompues 43. Chaque ligne de programme peut comprendre des instructions commandant la lecture du résultat d'une ligne antérieure, de sorte que les codes des lignes de la structure 41 sont reliés entre eux. L'unité centrale 2 surveille en permanence le code de la structure en tableau 41 pour repérer un indicateur signalant qu'un résultat complet a été obtenu.
Lorsque cet indicateur est repéré, le résultat de la ligne correspondante de la structure en tableau de résultats 42 est lu et enregistré par l'unité centrale 2 comme résultat destiné au champ particulier du fichier d'unité 25. L'unité centrale 2 écrit alors ce résultat dans le champ concerné.
<Desc/Clms Page number 10>
EMI10.1
Cette succession d'étapes est alors réitérée pour chacun des codes de la structure en tableau de catégorie 40. e On notera avec intérêt que grâce à cette manière de procéder où données et programmes sont mémorisés dans la structure 20, les données et programmes concernés peuvent être rapidement retrouvés par l'unité centrale 2.
En écrivant les données et les programmes dans des structures prédéfinies telles que montrées par la fig. 3, on peut aisément effectuer le contrôle nécessaire à l'obtention des résultats requis. Chaque demande particulière sera associée à une combinaison de fichiers. lesquels définissent les codes particuliers du ou des fichier (s) de catégorie concerné (s) et l'unité centrale se borne alors à réitérer successivement pour chaque code associé le traitement nécessaire.
L'exemple donné est relativement simple mais l'on peut envisager la nécessité d'un traitement beaucoup plus complexe. Ainsi, si le nom de niveau le plus bas fourni dans la demande concerne un fichier de sous-groupe 22, des codes venant de plusieurs fichiers de catégories différents 23 sont écrits successivement dans la structure à tableau 40 et tous les codes de chaque fichier doivent être traités successivement. On notera avec intérêt que si le traitement était effectué sans recours aux structures à tableaux montrées à la fig. 3, les temps de réponse seraient considérablement allongés. On envisage même que l'appareillage 1 puisse effectuer plusieurs traitements différents à un seul et même moment.
Lorsque certains de ces traitements sont relativement simples et peuvent se rapporter à un seul membre d'un fonds de pension, on peut effectuer très rapidement chaque traitement par identification immédiate de la ligne concernée dans la structure en tableau 40, en se bornant à réaliser le traitement immédiatement concerné et en l'écrivant immédiatement dans le fichier d'unité 25.
Comme les interrogations simples peuvent être effectuées avec autant d'efficacité, sans que le microprocesseur doive examiner tour
EMI10.2
à tour chaque ligne de code possible. on obtient un temps de lm
<Desc/Clms Page number 11>
réponse rapide. On comprendra sans peine que le résultat technique en sera un accroissement de souplesse. La structure des fichiers de formules 30 et la manière dont ils sont écrits dans la structure en tableau 41 permet de corriger. d'ajouter ou de retrancher facilement des lignes de programme. Une fois que le fichier de formules 30 à été corrigé comme souhaité. la correction s'appliquera à toutes les opérations de traitement commandées par un utilisateur. L'utilisation de verrous pour certains fichiers permet par ailleurs d'arriver à une grande souplesse en matière de sécurité des données.
La présente invention ne se limite pas aux réalisations décrites cidessus mais peut être modifiée dans sa structure comme dans ses détails.