Comment choisir l'approche optimale pour enregistrer des données de mesure

Aperçu

Votre société investit des milliers, voire des millions de dollars en équipement de collecte de données, car les données sont la clé de l'innovation de produits. Pour toute tendance identifiée à partir de vos données, vous pouvez potentiellement introduire une nouvelle fonctionnalité ou un nouveau produit sur le marché afin de vous approprier une nouvelle part de marché dans un environnement extrêmement compétitif et global. Cependant, passer de données brutes à des résultats ayant du sens est un défi. En fait, selon une étude menée par National Instruments, les données représentent l'aspect le plus difficile du travail avec les outils logiciels actuels. Selon des ingénieurs et scientifiques, travailler avec des données est plus difficile que maintenir du code ancien ou programmer un système d'acquisition de données entièrement nouveau.

Restons cependant honnêtes, travailler avec des données est une notion vaste, qui prend en compte de nombreux aspects divers. Les problèmes auxquels vous êtes confrontés proviennent de toutes les phases de conception de votre application de mesure et s'accompagnent de plusieurs préoccupations. Quelle quantité de données devriez-vous collecter lors de l'exécution de votre test ? Quel sera le format de fichier idéal ? Que ferez-vous des données après les avoir collectées ? Cependant, pour nombre de nouveaux systèmes de mesure, choisir la bonne méthode de stockage de données et traiter ces problèmes importants est une pensée qui vient après coup. Les ingénieurs et scientifiques finissent souvent par choisir la stratégie de stockage qui répond le plus facilement aux besoins de l'application dans son état actuel, sans considération pour les exigences futures. Toutefois, le choix du format de stockage peut avoir un impact important sur l'efficacité d'ensemble du système d'acquisition ainsi que sur l'efficacité du traitement a posteriori des données brutes au fil du temps.

La gestion et le traitement a posteriori de données deviennent particulièrement problématiques si l'on considère le fait qu'on collecte des données à un taux similaire à celui de la Loi de Moore. Grâce à la vitesse croissante des microprocesseurs et à l'expansion des capacités de stockage, le coût du stockage de données décroît exponentiellement et le monde génère suffisamment de données pour doubler le catalogue complet de données, approximativement tous les deux ans.

Choisir l'approche optimale, suffisamment flexible pour s'adapter à vos besoins en données dans un monde numérique à jamais en évolution, n'est pas tâche aisée. Cet article suggère quelques astuces utiles pour vous aider à démarrer et gérer correctement les données pour votre application.

Contenu

Sélectionner un format de fichier approprié

La première étape pour arriver à une solution de gestion de données cohésive est de s'assurer que les données sont stockées de la manière la plus efficace, organisée et évolutive qui soit. Trop fréquemment, les données sont stockées sans information descriptive, dans des formats incohérents, et éparpillées sur une variété d'ordinateurs, ce qui crée une accumulation inefficace d'informations compliquant énormément le repérage d'un ensemble particulier de données, ainsi que la prise de décisions.

Selon l'application, vous pouvez accorder la priorité à certaines caractéristiques plutôt qu'à d'autres. Les formats de stockage courants tels que l'ASCII, le format binaire et l'XML ont des avantages et des inconvénients à différents niveaux.

 

Fichiers ASCII

 

De nombreux ingénieurs préfèrent stocker leurs données en utilisant des fichiers ASCII (American Standard Code for Information Interchange) dans la mesure où ce format de fichier est facilement échangeable et permet une lecture simple. Cependant, les fichiers ASCII ont plusieurs inconvénients, notamment une utilisation de l'espace disque importante, ce qui peut poser problème quand l'espace de stockage est limité (stockage de données sur un système distribué, par exemple). La lecture et l'écriture de données d'un fichier ASCII peuvent être significativement ralenties par rapport à d'autres formats et dans beaucoup de cas, la vitesse d'écriture d'un fichier ASCII n'est pas aussi élevée que celle de systèmes d'acquisition, ce qui peut provoquer une perte de données.

 

 

Figure 1. Les fichiers ASCII sont faciles à échanger mais peuvent être trop lents et volumineux pour de nombreuses applications.

Fichiers binaires

 

Les fichiers binaires, quelque peu contraires au format ASCII, sont une autre méthode de stockage typique. Contrairement aux fichiers ASCII, les fichiers binaires utilisent un espace disque bien moins important et peuvent être transférés sur disque à des vitesses extrêmement élevées, représentant ainsi la solution idéale pour des applications à grand nombre de voies et temps réel. L'inconvénient des fichiers binaires est que leur format est non lisible, ce qui complique l'échange entre utilisateurs. Les fichiers binaires ne peuvent pas être ouverts immédiatement par un logiciel courant ; ils doivent être interprétés par une application ou un programme. Différentes applications peuvent interpréter des données binaires de manière différente, semant ainsi la confusion. Une application peut lire les valeurs binaires comme caractères textuels tandis qu'une autre peut interpréter ces valeurs comme couleurs. Pour partager des fichiers avec vos collègues, vous devez leur fournir une application qui interprète correctement votre fichier binaire spécifique. De plus, si vous apportez des changements à l'écriture des données dans l'application d'acquisition, ces changements doivent également se répercuter au sein de l'application qui lit les données. Cela peut éventuellement causer des problèmes de versions d'application à long-terme, ce qui peut entraîner une perte de données.

 

Figure 2. Les fichiers binaires sont bénéfiques dans des applications haute-vitesse, à espace limité mais peuvent causer des problèmes d'échanges.

 

 

Fichiers XML

 

Au cours de ces dernières années, le format XML a gagné du terrain grâce à sa capacité de stockage de structures de données complexes. Avec des fichiers XML, vous pouvez stocker des données et du formatage en plus des valeurs de mesure brutes. En utilisant la flexibilité du format XML, vous pouvez stocker des informations supplémentaires avec vos données, de façon structurée. Le format XML est aussi relativement lisible et échangeable. Tout comme les ASCII, les fichiers XML peuvent s'ouvrir dans de nombreux éditeurs de texte courants ainsi que dans des navigateurs Internet autorisant le format XML, tels que Microsoft Internet Explorer. Cependant, dans sa forme brute, l'XML comprend des balises (au sein du fichier) qui décrivent les structures. Ces balises apparaissent également quand les fichiers XML sont ouverts dans ces applications, ce qui limite assez la lisibilité car il faut comprendre ces balises. La faiblesse du format de fichier XML est qu'il utilise un espace disque extrêmement important comparé à d'autres fichiers, et ne peut pas être utilisé pour transférer des données directement sur disque. Par ailleurs, la contrepartie du stockage de ces structures complexes est qu'elles peuvent nécessiter une planification considérable lors de la conception de leur disposition ou de leur schéma.

Figure 3. Les fichiers XML peuvent faciliter la définition de structures complexes mais sont beaucoup plus volumineux et lents que d'autres formats.

 

Fichiers de base de données

 

Les fichiers de base de données se composent d'une série de tableaux, construits avec des colonnes et des lignes, dont les informations peuvent être ou non liées entre tableaux. La capacité de recherche rend les fichiers de base de données avantageux ; toutefois, ils peuvent être incommodes pour des applications de mesure temporelles étant donné la quantité de données acquise et la nécessité d'acheter ou de construire de toutes pièces une solution de base de données formelle. Les mesures temporelles encombrent les bases de données, ce qui ralentit les réponses d'interrogations ; cela va donc à l'encontre de l'objectif d'une base de données. 

 

Fichiers TDMS

 

Le format TDMS (Technical Data Management Streaming) est un format de fichier de type binaire ; il utilise donc peu d'espace disque et peut transférer des données sur disque à haute vitesse. Aussi, les fichiers TDMS contiennent un composant d'en-tête qui stocke les informations descriptives, ou attributs, avec les données. Certains attributs tels que le nom de fichier, la date et le chemin de fichier sont stockés automatiquement ; cependant, il est facile d'ajouter vos propres attributs personnalisés. Un autre avantage du format de fichier TDMS est sa hiérarchie intégrée à trois niveaux : fichier, groupe et voie. Un fichier TDMS peut contenir un nombre illimité de groupes et chaque groupe, un nombre illimité de voies. Vous pouvez ajouter des attributs à chacun de ces niveaux décrivant et documentant vos données de test pour une meilleure compréhension. Cette hiérarchie crée une organisation inhérente de vos données de test.

Table 1. Le format de fichier TDMS combine les avantages de plusieurs options de stockage de données dans un format de fichier.

 

Transférer efficacement des données dans un fichier

 

Plus vous écrivez des données dans un fichier et moins votre processeur a de chances de suivre la cadence. Pour pallier à cela, il vous faut bâtir votre programme de sorte qu'il tire profit de la mémoire embarquée disponible en créant un buffer temporaire. Vous pouvez ensuite vider votre buffer périodiquement en transférant d'un coup toutes les données sur le disque dans un segment plus large. Ce processus est parfois appelé "vidage du buffer".

Avec cette approche, vous pouvez minimiser le temps processeur en enregistrant les données périodiquement par segments. Par exemple, acquérir des données à 60 ko/s tout en essayant d'enregistrer individuellement chaque point dans un fichier n'est pas une utilisation efficace des ressources du processeur. Au lieu de cela, si vous définissez un buffer FIFO de 10 ko dans la mémoire embarquée, vous n'aurez ensuite qu'à vider le buffer toutes les 16 ms pour maintenir le rythme d'acquisition. Cette approche permet au processeur d'avoir du temps libre entre les écritures pour gérer d'autres tâches.

 

Gérer l'espace sur le disque dur

 

Choisir le bon format de fichier est aussi un élément crucial du transfert efficace de données. L'espace mémoire volumineux requis par le format ASCII rend ce format moins approprié pour les applications nécessitant un enregistrement de données en direct. En mode ASCII, chaque caractère prend huit bits (un octet) de mémoire système. Donc, le nombre 123456789 requiert neuf octets de mémoire. En modes binaire et TDMS, le nombre complet est représenté comme une série de uns et de zéros. Dans ce cas, le nombre 123456789 est représenté comme 111010110111100110100010101, ne nécessitant que 27 bits (environ 4 octets) de mémoire.

Une différence de cinq octets peut paraître insignifiante, mais si on extrapole et que l'on considère un fichier contenant 100 000 nombres à neuf chiffres, un fichier ASCII sera d'une taille de 1,04 Mo alors qu'un fichier binaire/TDMS ne fera que 390 ko pour le même ensemble de données. Cela représente une belle économie en termes d'espace sur le disque dur étant donné qu'un Mo reste encore relativement petit pour un fichier de données.

 

Analyser et générer des rapports de vos résultats

 

Une préoccupation grandissante lors du choix d'outils d'analyse de données et de génération de rapports est la taille et la vitesse des données que ces outils peuvent traiter. Plus que jamais, nous collectons plus de données provenant de plus d'endroits à une plus grande vitesse. Si les outils d'analyse de données et de génération de rapports que vous utilisez au quotidien ne peuvent pas suivre le rythme de ces nouvelles tendances ou lire dans le fichier que vous avez enregistré, cela signifie que vous avez plus de données que jamais mais rien pour les analyser efficacement. Les outils d'analyse de données et de génération de rapports créés pour l'analyse financière ne sont pas appropriés pour l'acquisition de données et causent des frustrations dues à leurs limitations. Si vous essayez de manipuler ou de corréler des ensembles de données volumineux, il serait alors bénéfique d'utiliser des outils d'analyse et de génération de rapports construits pour de tels ensembles. Sans analyse de données correcte, vous vous apercevrez qu'effectuer toute analyse ou générer tout rapport pour partager des résultats prend du temps, ou vous ne pourrez peut-être pas analyser de données ou générer de rapports du tout en raison du volume important de données.

 

Garantir le succès de votre application avec les bonnes stratégies d'enregistrement de données

 

Le processus d'enregistrement de données de mesure implique des considérations complexes, vitales au succès de votre application de mesure. Ne pas choisir la bonne stratégie d'enregistrement de données peut entraîner un débordement de mémoire, une surcharge du processeur ainsi que des fichiers de données non utilisables ou insignifiants. Pour éviter cela, vous devez anticiper correctement les besoins en mémoire de votre application et prendre des décisions informées quant à la méthode à utiliser pour enregistrer vos données, au format de fichier à utiliser, à votre façon d'organiser vos données dans des fichiers et au type de système optimal sur lequel exécuter votre application.

 

Ressources supplémentaires

En savoir plus sur DIAdem pour prendre des décisions informées à partir de vos données brutes. 

En savoir plus sur la structure de fichier TDMS (Technical Data Management Streaming).