Brevet FR2904879A1 — publié le 20080215

"Procédé et dispositif de traitement et de stockage de données" La présente invention concerne un procédé de traitement et de stockage de données représentatives pour le fonctionnement d'un appareil ou d'une installation, ainsi qu'un dispositif de traitement et de stockage de telles données. La présente invention concerne l'optimisation du traitement et du stockage de le fonctionnement d'un ou installations considérés d'appareils . A titre d'exemple nondonnées permettant de suivre de plusieurs appareils ou ci-après comme un parc limitatif d'une application du procédé et du dispositif de l'invention, il est présenté ici un parc domestiques d'un réservoir d'appareils de remplissage avec du gaz naturel et plus particulièrement l'application au remplissage d'un réservoir de gaz naturel d'un véhicule automobile. Auparavant, les véhicules automobiles dont le moteur thermique utilise du gaz naturel comme combustible, devaient se rendre à une station service équipée d'un poste de débit de gaz naturel, comme doivent le faire, de manière analogue, les véhicules dont le moteur thermique utilise de l'essence ou du diesel. Désormais, il est possible que des maisons individuelles raccordées au réseau de fourniture de gaz naturel soient équipées d'un appareil de remplissage domestique permettant de remplir individuellement le réservoir à gaz naturel du véhicule de l'habitant de la maison. La fourniture du gaz naturel est alors faite au même titre que celle du gaz naturel utilisé pour le chauffage et la cuisine. Et la différence d'équipement consiste principalement dans un compresseur permettant 2904879 2 d'introduire le gaz naturel dans le réservoir du véhicule jusqu'à une pression prédéterminée et supérieure à celle avec laquelle le gaz naturel arrive à la chaudière ou à un poste de cuisson dans la cuisine. 5 La figure 1 des dessins annexés représente schématiquement une installation domestique avec un poste de débit ou appareil de remplissage auquel la présente invention est applicable. Le gaz naturel arrive à un coffret extérieur 1 ayant un compteur principal et est 10 réparti ensuite sur deux conduits dont l'un achemine le gaz naturel vers des utilisations domestiques tels une chaudière 2, une plaque de cuisson ou un chauffe-eau, et dont l'autre conduit achemine le gaz naturel à un sous compteur 3 et puis vers un appareil de remplissage 15 domestique comportant un compresseur individuel 4 destiné à mettre le gaz naturel à la pression nécessaire au remplissage du réservoir d'un véhicule automobile V et un module communiquant 5 permettant une collecte directe ou une collecte à distance, des données de fonctionnement de 20 l'appareil de remplissage domestique auxquelles peut être rajoutée, par exemple, la quantité de gaz naturel débitée. La réalisation de ce concept résulte en un nombre assez important d'appareils de remplissage à surveiller 25 et à entretenir. Afin de permettre au fournisseur de gaz naturel et/ou au fournisseur des appareils de remplissage domestiques de suivre à distance le fonctionnement du parc d'appareils de remplissage domestiques et d'en 30 déduire, aussi bien pour le court terme que pour le long terme et pour un dépannage, des mesures appropriées de maintenance ou de réparation, les appareils de remplissage peuvent avantageusement être équipés de moyens conformés pour engendrer des données 35 représentatives de valeurs mesurées, de paramètres et de 2904879 3 bien d'autres caractéristiques, et de mettre ces données à disposition pour une lecture à distance, par télécommunication ou par radio, ou pour une lecture locale moyennant un appareil apporté par du personnel 5 itinérant. L'acquisition de données représentant des valeurs de mesure ou de données représentatives d'autres caractéristiques du fonctionnement d'un parc d'appareils de remplissage domestiques, la transmission de ces 10 données moyennant une liaison par câbles ou par mémoires mobiles (par exemple disquettes ou mémoires dites clé USB) et la transmission de ces données vers un poste central de traitement, ainsi que l'exploitation ou le traitement de ces données sont des activités non 15 seulement de grande envergure en raison du très grand nombre de données à traiter, mais aussi des activités généralement soumises à des contraintes particulières suivant le domaine d'application choisi nécessitant des solutions spécifiquement adaptées. 20 En effet, les appareils de remplissage et les moyens à prévoir pour relever les données sont logés dans des boîtiers plus ou moins étanches et soumis à des variations climatiques parfois assez importantes. Il faut donc prévoir des moyens simples et robustes. En même 25 temps, leur nombre étant assez élevé, il faut prévoir des moyens peu coûteux et se prêtant à une exploitation par un procédé simple. Par ailleurs, le grand nombre d'appareils de remplissage à prévoir entraînera un très grand nombre de données à traiter par la plate forme 30 centrale de télé relève. Pour des applications impliquant l'utilisation de disques durs et pour des applications impliquant l'utilisation de mémoires de faible capacité telles que celles incorporées dans des cartes à puces également 35 appelées smart cards , on a pu trouver des solutions 2904879 4 en optimisant par exemple l'exploitation de la capacité de mémoire par une compression des données. Toutefois, pour une application où la simplicité des moyens est en première ligne et où le coût et la 5 taille des composants mémoire doivent être minimisés, la seule compression des données n'apporterait pas le succès escompté. Le but de l'invention est de proposer un procédé et/ou des moyens permettant de traiter des données 10 acquises moyennant des moyens simples, devant pouvoir fonctionner sous des conditions parfois rudes, et réalisés moyennant, ou mises en oeuvre à l'aide de, moyens à faibles coûts. De plus, les données doivent pouvoir être traitées et stockées à une fréquence relativement 15 basse tout en permettant la détection de tout événement ainsi que la reconstitution a posteriori du scénario. Le but de l'invention est atteint avec un procédé de traitement et de stockage de données engendrées dans un poste de débit d'un fluide, les données étant lues et 20 déposées dans une mémoire volatile attribuée à un module communicant du poste de débit. Suivant ce procédé, les données sont ensuite analysées selon des critères prédéterminés de pertinence pour en sélectionner les données correspondant à un type 25 d'événement, les données sélectionnées sont analysées selon un critère de redondance pour détecter les données ayant la même valeur lors de deux lectures successives, les données dont la valeur est inchangée par rapport à la valeur de la lecture précédente, sont remplacées par un 30 marquage et les données ainsi compressées sont stockées dans une mémoire non-volatile. Cette solution est fondée sur la réflexion suivante : les valeurs de mesure et d'autres informations représentatives du fonctionnement de l'appareil de 35 remplissage domestique sont transmises au module 2904879 5 communiquant par une liaison série à partir d'un port standardisé RS232. Dans des intervalles réguliers, par exemple chaque seconde, le module communiquant adresse une requête à l'appareil de remplissage pour récupérer 5 des données de fonctionnement telles que des valeurs mesurées, des paramètres de fonctionnement, des indications d'état de fonctionnement et des indications éventuelles d'erreur du fonctionnement. L'appareil de remplissage répond en envoyant un paquet de données 10 contenant toutes les données brutes quel que soit l'état de ces données. L'appareil de remplissage fonctionne donc, sur le plan du traitement de données, selon la fonction esclave. L'ensemble des données transférées de l'appareil de 15 remplissage vers le module communiquant est stocké sur le module communiquant dans différentes mémoires du module. Ces mémoires sont constituées en partie par des mémoires non volatiles (par exemple une mémoire Flash) et, pour l'autre partie, par des mémoires volatiles (par 20 exemple une mémoire RAM). Les mémoires RAM et Flash, avec leurs caractéristiques respectives, sont les plus répandues dans l'électronique. Les disques durs, surtout ceux à petites dimensions, sont plus chers et plus fragile. En considérant les limites en nombre d'écritures 25 et le coût des mémoires Flash, c'est la mémoire RAM qui sera utilisée pour stocker, temporairement, les réponses de l'appareil de remplissage. Les données sont stockées dans une base de données dans laquelle un numéro de réponse est associé à chaque réponse D(t). Celui-ci est 30 incrémenté d'une unité pour chaque nouvelle réponse. Il est donc unique et permet de repérer dans le temps les réponses contenues en mémoire. Les mémoires non volatiles ont pour caractéristiques principales que les informations 35 stockées ne sont pas perdues lors d'une coupure 2904879 6 d'alimentation, mais que le nombre d'écritures sur la mémoire est limité. De plus, les écritures sur la mémoire étant des modifications physiques de chacune des cellules de la mémoire, il y a une usure effective à chaque 5 écriture. Contrairement à cela, les mémoires volatiles sont caractérisées par la perte des informations stockées lors d'une coupure d'alimentation mais supportent un nombre d'écriture quasiment infini. 10 Il existe d'autres mémoires non volatiles que la mémoire Flash. Toutefois, des mémoires non volatiles tel que le disque dur demande un environnement de fonctionnement parfois assez lourd et assez contraignant qui est contraire aux conditions de fonctionnement des 15 stations telle qu'une station de remplissage domestique dont les caractéristiques de fonctionnement et les circonstances d'implantation correspondent plutôt à celles ou ceux d'un environnement embarqué où la taille et le coût des composants sont optimisés. 20 Par ailleurs, quand on compare le coût d'une mémoire Flash à celle d'une mémoire RAM, le coût de la mémoire Flash est nettement supérieur et demande donc, là aussi, une optimisation maximale de son exploitation. Ces conditions matérielles ont fait choisir, pour 25 résoudre le problème posé à l'invention, d'intervenir sur les données à mettre en stock et à traiter, et cela dans le sens d'une sélection qui peut être faite sur les données à garder en fonction de l'importance que l'on leur accorde. Ainsi, comme il sera expliqué ci-après, le 30 module communiquant reçoit toutes les données, les stocke temporairement en attendant de statuer sur le besoin de les trier et de les stocker définitivement. En effet, comme toute centrale d'acquisition, notamment mobile ou embarquée, le module communiquant a un espace 35 de mémoire limité. Ceci implique par ailleurs aussi de 2904879 7 devoir évacuer régulièrement une partie des données stockées temporairement sur la mémoire volatile. Par ailleurs, la solution a été élaborée de manière à optimiser les critères suivants : 5 coût et taille des composants mémoires utilisés, - période entre deux évacuations, donc coût de l'évacuation, -risque de perte des données par coupure d'alimentation. 10 Le dialogue entre l'appareil de remplissage domestique et le module communiquant se fait par une liaison série standardisée RS232. Le protocole régissant les échanges entre l'appareil et le module est réalisé selon le principe que le module communiquant est le 15 maître de l'échange et l'appareil de remplissage est l'esclave. Sur demande du module, et en supposant que la liaison entre le module et l'appareil de remplissage est correcte, l'appareil de remplissage envoie l'ensemble de 20 ses n données à l'instant t : d1 (t) , d2 (t) , dn (t) . 25 Selon ce protocole, l'appareil de remplissage envoie un paquet de données brutes, D(t) = [dl, d2, dn] au temps t vers le module communiquant. Le dialogue se fait périodiquement et la période est déterminée selon l'utilisation qui sera faite ensuite des données. Pour 30 l'application décrite dans le cadre de la présente invention, la période est choisie de une seconde. Dans un premier temps, les données reçues de l'appareil de remplissage, c'est-à-dire les réponses de l'appareil de remplissage à la requête du module 35 communiquant, sont stockées afin de pouvoir être 2904879 8 analysées et traitées de manière appropriee. Le traitement des données se présente sous la forme d'une combinaison d'un filtrage et d'une compression. En effet, même en ne faisant qu'une écriture par seconde, on 5 accumule en cinq ans de fonctionnement environ 150 millions d'écritures. Indépendamment des questions de taille de mémoires et des coûts liés au traitement d'une telle quantité de données, il faut savoir faire face à une surabondance de données qui risque de cacher, par la 10 quantité, les informations vraiment utiles pour la mise en place, comme évoqué plus haut, d'une maintenance appropriée et d'un suivi du fonctionnement de différents appareils. Aussi, le procédé de l'invention prévoit comme 15 première étape un filtrage des données à traiter. En effet, comme décrit plus haut, laisser les données dans une mémoire volatile présente le risque de les perdre lors d'une coupure d'alimentation. Puisque les mémoires non volatiles, notamment les mémoires Flash sont limitées 20 en nombre d'écritures et aussi en espace mémoire, il s'agit d'écrire dans la mémoire non volatile le moins de données inutiles possible. D'autre part, afin de pouvoir espacer les évacuations de données à partir du module communiquant, pour pouvoir limiter les coûts 25 d'évacuation, il faut pouvoir couvrir une période assez longue. Il faut donc filtrer au maximum les données à garder, c'est-à-dire il ne faut garder que les données les plus pertinentes. Un premier filtrage est effectué à partir du fait 30 qu'un appareil peut avoir différentes étapes dans son fonctionnement et que l'on n'a pas besoin de prendre en compte toutes les étapes pour surveiller le fonctionnement de l'appareil. Ainsi, pour un appareil de remplissage domestique, cinq évènements autour du 2904879 9 compresseur de chacun des postes de débit ont été distingués . démarrage de la compression, compression en cours depuis un nombre impair 5 d'heures, arrêt de la compression, erreur détectée sur le compresseur, et régénération du compresseur. Ces évènements représentent les étapes de 10 fonctionnement considérés comme étant à surveiller, contrairement aux autres étapes. Les évènements sont détectés en analysant les réponses successives de l'appareil de remplissage, qu'ils contiennent ce type d'informations. Par exemple, la régénération est détectée 15 lorsque la donnée régénération du compresseur passe de 0 à 1. Pour chaque type d'évènement, une fenêtre temporelle est déterminée un peu avant le début de l'évènement et un peu après le début de l'évènement. 20 Parmi toutes les données de la mémoire volatile RAM, seules les données reçues pendant cette fenêtre temporelle sont prises en compte. De plus, pour chaque type d'évènement, certaines informations ne sont pas pertinentes ou le sont qu'à un 25 instant précis de la fenêtre de scrutation de l'évènement: par exemple, la température ambiante n'est pertinente qu'en début et fin de fenêtre lors d'un démarrage de compression. La limitation aux données pertinentes pour chaque type d'évènement constitue un 30 deuxième degré de filtrage. Un troisième degré de filtrage est appliqué en enlevant toutes les données redondantes. En effet, écrire une valeur prend plus de place de mémoire que d'insérer une simple marque indiquant que la valeur est la même que 35 celle de la réponse précédente. Aussi, lorsque la 2904879 10 comparaison entre une donnée et la donnée précédente montre qu'il n'y a pas de changement de valeurs, une simple marque est insérée indiquant que la valeur est la même que celle de la réponse précédente. 5 En résumé, lorsqu'un évènement est détecté, les réponses de l'appareil de remplissage domestique sont toujours stockées dans la base de données en mémoire RAM, jusqu'à ce que la fenêtre temporelle définie pour cet évènement soit terminée. Alors seulement, les données 10 nécessaires sont extraites de la base et un nouveau fichier, toujours sous forme d'une base de données, est créé. Le nouveau fichier contient uniquement le minimum de données nécessaires pour comprendre le fonctionnement de l'appareil de remplissage lors de la fenêtre 15 temporelle donnée. Les réponses de l'appareil de remplissage sont stockées dans une mémoire volatile RAM suivant une structure FIFO First In First Out : première entrée première sortie , c'est-à-dire quand tout l'espace 20 mémoire dédié à ces réponses est occupé, c'est l'information la plus ancienne qui est effacée pour permettre la sauvegarde d'une nouvelle réponse. De plus, l'espace dédié aux réponses de l'appareil de remplissage domestique ainsi que les fenêtres temporelles ont été 25 déterminés de sorte que lors d'un évènement, les informations passées soient encore en mémoire volatile lorsque la fenêtre temporelle se termine. Le tableau ci-après montre, à titre d'exemple, pour l'évènement démarrage, les données à inscrire en mémoire 30 Flash pour une fenêtre temporelle allant de cinq secondes avant le temps typique pour l'évènement jusqu'à 175 secondes après l'évènement. 2904879 11 Temps T-5 T-i TO T+i T+175 Données Air Sensor OUI OUI, si OUI, si OUI, si OUI, si Valid Flag changement changement changement changement Fan ON OUI OUI, si OUI, si OUI, si OUI, si changement changement changement changement Combi-valve OUI OUI, si OUI, si OUI, si OUI, si ON changement changement changement changement Motor On OUI OUI, si OUI, si OUI, si OUI, si changement changement changement changement Unit Is OUI OUI, si OUI, si OUI, si OUI, si Filling changement changement changement changement Gas Sensor OUI OUI, si OUI, si OUI, si OUI, si Valid Flag changement changement changement changement Inlet Pressure OUI OUI, si OUI, si OUI, si OUI, si Is ON changement changement changement changement HPT Value OUI OUI OUI OUI OUI LPT Value OUI OUI OUI OUI OUI Ambient OUI NON OUI NON OUI Température Value Fill Time OUI NON OUI NON OUI Seconds Fill Time OUI NON OUI NON OUI Seconds Total Fill OUI NON OUI NON OUI Seconds 350 DC OUI OUI OUI OUI OUI Voltage Motor Speed OUI OUI, si OUI, si OUI, si OUI, si changement changement changement changement Une fois que les données les plus pertinentes ont été sélectionnées parmi toutes celles reçues de 2904879 12 l'appareil de remplissage, le fichier contenant ces données sélectionnées est compressé par une application sur le module communiquant. Cette compression peut être effectuée avec un logiciel du genre gzip fonctionnant 5 sous Linux. Lorsque le ficher contenant les données sélectionnées est compressé, il est stocké en mémoire non volatile, ici en mémoire Flash, et ceci dans une structure FIFO. Ainsi filtrées et compressées, les 10 données sélectionnées occupent peu de place. L'occupation en mémoire flash dépend principalement du nombre d'évènements. Et s'il y a beaucoup d'évènements entre deux évacuations de données, ce sont les informations concernant les évènements les plus anciens qui seront 15 perdus. Ceci constitue un choix accepté. Néanmoins, la mémoire non-volatile est habituellement dimensionnée pour contenir la totalité des données triées entre deux relèves. En résumé, le procédé de l'invention utilise les 20 étapes suivantes : numérotation des réponses de l'appareil de remplissage, - stockage des réponses de l'appareil en mémoire volatile du type RAM, organisée en registre FIFO, 25 - définition d'évènements, c'est-à-dire d'étapes importantes, - définition de fenêtres temporelles, définition de données pertinentes, gestion de la redondance des valeurs des 30 données, compression applicative, ici compression appliquée sur le module communiquant, stockage des données filtrées et compressées en mémoire non-volatile Flash organisée en registre FIFO. 2904879 13 Le but de l'invention est également atteint avec un dispositif de traitement de données engendrées dans un poste de débit d'un fluide, comprenant, outre des moyens de lecture des données engendrées, dans un module 5 communicant du poste de débit, une mémoire volatile pour stocker les données lues, des mémoires non-volatiles pour stocker des critères de sélection, au moins un comparateur pour effectuer des sélections de données selon des critères prédéterminés de pertinence et de 10 redondance, et une mémoire non-volatile pour stocker les données sélectionnées. Selon des modes de réalisation avantageux de l'invention, la mémoire non volatile attribuée au module communicant du poste de débit, pour déposer les données 15 lues, est organisée en registre de file, c'est-à-dire premier entré, premier sorti et /ou la mémoire non-volatile pour stocker les données sélectionnées est organisée en registre de file, c'est-à-dire premier entré, premier sorti . 20 La figure 2 des dessins annexés représente schématiquement la relation entre un appareil dont le fonctionnement est à surveiller moyennant un procédé et un dispositif de l'invention et un module communiquant, collectant et traitant, puis stockant les données à 25 garder. Sur la figure 2, on voit plus particulièrement que l'appareil de remplissage domestique comprend un compresseur individuel 4 relié à un module communiquant 5. Le module communiquant 5 interroge une mémoire 30 associée au compresseur 4 (flèche de droite) et cette dernière envoie toutes les données au module communiquant 5 (flèche de gauche). Une fois toutes les données ainsi reçues ont été filtrées et compressées comme décrit plus haut, le module communiquant 5 est prêt pour transmettre 35 les données à garder, suivant un protocole particulier, à 2904879 14 une plateforme 6 conformée pour exploiter les données acquises et sélectionnées. La transmission entre le module communiquant 5 et la plateforme 6 peut être faite de toute manière technique appropriée, notamment par 5 télécommunication ou par une personne itinérante collectant les données moyennant des mémoires amovibles telles des disquettes ou desdites clés USB. REVENDICATIONS 1. Procédé de traitement et de stockage de données engendrées dans un poste de débit d'un fluide, les données étant lues et déposées dans une mémoire volatile attribuée à un module communicant du poste de débit, caractérisé en ce que les données sont ensuite analysées selon des critères prédéterminés de pertinence pour en sélectionner les données correspondant à un type d'événement, que les données sélectionnées sont analysées selon un critère de redondance pour détecter les données ayant la même valeur lors de deux lectures successives, que les données dont la valeur est inchangée par rapport à la valeur de la lecture précédente, sont remplacées par un marquage et que les données ainsi compressées sont stockées dans une mémoire non-volatile. 2. Procédé selon la revendication 1, caractérisé en ce que les données engendrées dans le poste de débit sont déposées dans la mémoire volatile attribuée au module communicant du poste de débit dans l'ordre de leur lecture. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que les données compressées sont stockées dans la mémoire non-volatile du module communicant du poste de débit dans l'ordre de leur dépôt dans cette mémoire. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la mémoire volatile attribuée au module communicant du poste de débit est interrogée en intervalles réguliers. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le module 2904879 16 communicant interroge le poste de débit 1 fois par seconde environ 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les données 5 engendrées dans le poste de débit sont lues et déposées dans la mémoire volatile attribuée au module avec une fréquence d'environ 1 Hz. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les données 10 engendrées dans le poste de débit sont numérotées par le module pour chaque réponse avant d'être déposées dans la mémoire volatile attribuée. 8. Dispositif de traitement de données engendrées dans un poste de débit (4, 5) d'un fluide, caractérisé en 15 ce qu'il comprend, outre des moyens de lecture des données engendrées, dans un module communicant (5) du poste de débit (4, 5), une mémoire volatile pour stocker les données lues, des mémoires non-volatiles pour stocker des critères de sélection, au moins un comparateur pour 20 effectuer des sélections de données selon des critères prédéterminés de pertinence et de redondance, et une mémoire non-volatile pour stocker les données sélectionnées. 9. Dispositif selon la revendication 8, caractérisé 25 en ce que la mémoire volatile attribuée au module communicant du poste de débit, pour déposer les données lues est organisée en registre de file, c'est-à-dire premier entré, premier sorti . 10. Dispositif selon la revendication 8 ou 9, 30 caractérisé en ce que la mémoire non-volatile pour stocker les données sélectionnées est organisée en registre de file, c'est-à-dire premier entré, premier sorti .