Comment choisir la bonne approche pour l’enregistrement des données de mesure

Aperçu

Votre entreprise investit des milliers, voire des millions de dollars, dans des équipements de collecte de données, car les données sont la clé de l’innovation produit. Pour chaque tendance que vous identifiez à partir de vos données, vous pouvez potentiellement mettre une nouvelle fonctionnalité ou un nouveau produit sur le marché plus rapidement pour conquérir de nouvelles parts de marché dans un environnement extrêmement concurrentiel au niveau mondial. Cependant, passer rapidement des données brutes à des résultats significatifs représente un défi. En fait, selon une enquête menée par National Instruments, les données sont l'aspect le plus difficile du travail avec les outils logiciels actuels. Selon les ingénieurs et les scientifiques, il est plus difficile de travailler avec des données que de maintenir un ancien code ou de programmer un tout nouveau système d’acquisition de données.

 

Cependant, le travail avec les données est un vaste sujet, qui englobe de nombreux aspects différents. Les problèmes que vous rencontrez proviennent de toutes les phases, de la conception de votre application de mesure et incluent plusieurs préoccupations. Quelle quantité de données devriez-vous collecter pendant votre test ? Quel format de fichier sera le meilleur à utiliser ? Que ferez-vous des données après les avoir collectées ? Cependant, pour de nombreux nouveaux systèmes de mesure, le choix de la bonne approche de stockage des données et le traitement de ces questions importantes ne font pas l’objet d’une réflexion en amont. Les ingénieurs et les scientifiques finissent souvent par sélectionner la stratégie de stockage qui répond le plus facilement aux besoins de l’application dans son état actuel sans tenir compte des exigences futures. Cependant, les choix de format de stockage peuvent avoir un impact important sur l’efficacité globale du système d’acquisition ainsi que sur l’efficacité du post-traitement des données brutes au fil du temps.

 

La gestion et le post-traitement des données deviennent particulièrement problématiques si l’on considère que nous recueillons des données à un rythme qui imite la loi de Moore. Grâce à l’augmentation de la vitesse des microprocesseurs et des capacités de stockage, le coût du stockage des données diminue de manière exponentielle et le monde génère suffisamment de données pour doubler l’ensemble du catalogue de données tous les deux ans environ.

 

Choisir la bonne approche, suffisamment flexible pour s’adapter à vos besoins en données, dans un monde numérique en constante évolution n’est pas une tâche facile. Cet article fournit quelques conseils 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 parvenir à une gestion des données cohérente consiste à s’assurer que les données soient stockées de la manière la plus efficace, organisée et évolutive possible. Bien trop souvent, les données sont conservées sans informations descriptives, dans des formats hétéroclites et dispersées sur plusieurs ordinateurs, créant ainsi un cimetière d’informations qui rend particulièrement difficiles la localisation d’un ensemble de données spécifiques et la prise de décisions basées sur celui-ci.

Selon l'application, vous pouvez donner la priorité à certaines caractéristiques. Les formats de stockage courants tels qu’ASCII, les fichiers binaires et XML présentent des avantages et des inconvénients dans différents domaines.

Fichiers ASCII

De nombreux ingénieurs préfèrent stocker des données en utilisant des fichiers ASCII (American Standard Code for Information Interchange) en raison de la facilité d’échange et de la lisibilité par les humains de ce format. Cependant, les fichiers ASCII présentent plusieurs inconvénients, notamment un grand encombrement sur disque, ce qui peut être un problème lorsque l'espace de stockage est limité (par exemple, le stockage de données sur un système distribué). La lecture et l’écriture de données à partir d’un fichier ASCII peuvent être considérablement plus lentes par rapport à d’autres formats et, dans de nombreux cas, la vitesse d’écriture d’un fichier ASCII ne peut pas suivre la vitesse des systèmes d’acquisition, ce qui peut entraîner 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 constituent une autre approche de stockage typique, dont on peut dire qu’elle se situe à l’opposé du spectre ASCII. Contrairement aux fichiers ASCII, les fichiers binaires présentent un encombrement très réduit et peuvent être transférés en continu sur un disque à des vitesses extrêmement élevées, ce qui les rend idéaux pour les applications à grand nombre de voies et en temps réel. Un inconvénient de l'utilisation du fichier binaire est son format illisible qui complique l'échange entre utilisateurs. Les fichiers binaires ne peuvent pas être immédiatement ouverts par un logiciel courant ; ils doivent être interprétés par une application ou un programme. Différentes applications peuvent interpréter les données binaires de différentes manières, ce qui est source de confusion. Une application peut lire les valeurs binaires comme des caractères textuels tandis qu'une autre peut interpréter les valeurs comme des couleurs. Pour partager ces fichiers avec vos collègues, vous devez leur fournir une application qui interprète correctement votre fichier binaire spécifique. De plus, si vous modifiez la manière dont les données sont écrites dans l'application d'acquisition, ces changements doivent également être reflétés dans l'application qui lit les données. Cela peut potentiellement causer des problèmes de gestion des versions d'application à long terme et des situations délicates pouvant entraîner la perte de données.

 

Figure 2. Les fichiers binaires sont utiles dans les applications à haute vitesse et à espace limité, mais peuvent poser des problèmes lors des échanges.

 

Fichiers XML

Au cours des dernières années, le format XML a gagné en popularité en raison de sa capacité à stocker des structures de données complexes. Avec les fichiers XML, vous pouvez stocker les données et le formatage avec les valeurs de mesure brutes. En utilisant la flexibilité du format XML, vous pouvez stocker des informations supplémentaires avec les données de manière structurée. Le format XML est également relativement lisible et échangeable. Tout comme les fichiers ASCII, les fichiers XML peuvent être ouverts dans de nombreux éditeurs de texte courants ainsi que dans des navigateurs Internet compatibles XML, tels que Microsoft Internet Explorer. Cependant, dans sa forme brute, le format XML inclut des tags dans le fichier qui décrivent les structures. Ces tags apparaissent également lorsque des fichiers XML sont ouverts dans ces applications, ce qui limite quelque peu la lisibilité car vous devez être capable de comprendre ces tags. L’inconvénient du format de fichier XML est son encombrement extrêmement important par rapport aux autres fichiers, ce qui l’empêche d’être utilisé pour transférer en continu des données directement sur le disque. De plus, l'inconvénient du stockage de ces structures complexes réside dans le fait qu’elles peuvent nécessiter une planification considérable lors de la conception de l’agencement, également appelé schéma, des structures XML.

Figure 3. Les fichiers XML peuvent aider à définir des structures complexes mais sont considérablement plus volumineux et plus lents que les autres formats.

Fichiers de base de données

Les fichiers de base de données sont composés d'une série de tables, construites à l'aide de colonnes et de lignes, et les informations peuvent ou non être liées entre les tables. La possibilité de faire des recherches rend les fichiers de base de données avantageux, mais ils peuvent être peu pratiques pour les applications de mesure temporelle compte tenu de la quantité de données acquises et de la nécessité d’acheter ou de construire entièrement une solution de base de données formelle. Les mesures temporelles entraînent une augmentation du volume des bases de données, ce qui ralentit les retours de requête et va à l'encontre de l'objectif des bases de données. 

Fichiers TDMS

TDMS (Technical Data Management Streaming) est un format de fichier binaire, il présente donc un faible encombrement et permet de transférer en continu des données sur disque à haute vitesse. En même temps, les fichiers TDMS contiennent un composant d'en-tête qui stocke des informations descriptives, également appelés attributs, avec les données. Certains attributs tels que le nom du fichier, la date et le chemin du fichier sont stockés automatiquement ; cependant, vous pouvez facilement ajouter vos propres attributs personnalisés. Un autre avantage du format de fichier TDMS est la hiérarchie à trois niveaux intégrée : fichier, groupe et voie. Chaque fichier 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.

 

Tableau 1. Le format de fichier TDMS réunit les avantages de plusieurs options de stockage de données dans un seul et même format.

Transférer efficacement en continu des données vers un fichier

Plus vous écrivez fréquemment des données dans le fichier, plus le processeur risque de ne pas pouvoir suivre le rythme. Afin d’éviter cet inconvénient, vous devez concevoir votre programme de manière à tirer parti de la mémoire embarquée disponible en créant un buffer temporaire. Vous pouvez ensuite vider périodiquement le buffer en transférant en continu toutes les données sur disque en même temps dans un plus grand bloc, un processus parfois appelé vidage du buffer.

Avec cette approche, vous pouvez minimiser le temps de réaction du processeur en enregistrant les données périodiquement par blocs. Par exemple, une acquisition à 60 Ko/s en essayant d'enregistrer chaque point dans un fichier individuellement n'est pas une utilisation efficace des ressources du processeur. Au lieu de cela, si vous configurez un buffer FIFO de 10 Ko dans la mémoire embarquée, il vous suffit de vider le buffer toutes les 16 ms pour suivre le rythme de l’acquisition. L'utilisation de cette approche permet au processeur de disposer de temps libre entre les écritures pour gérer d'autres tâches.

Gérer l'espace disque

Choisir le bon format de fichier est également un élément crucial du transfert en continu efficace des données. L’encombrement de mémoire important requis par le format ASCII le rend moins adapté aux applications qui nécessitent un enregistrement des données en ligne. Au format ASCII, chaque caractère occupe huit bits (un octet) de mémoire système. Le nombre 123456789 requiert donc neuf octets de mémoire. Au formats binaire et TDMS, le nombre entier est représenté par une série de 1 et de 0. Dans ce cas, le nombre 123456789 est représenté par 111010110111100110100010101, ce qui ne nécessite que 27 bits (environ quatre octets) de mémoire.

Une différence de cinq octets peut sembler insignifiante, mais si vous extrapolez et considérez un fichier qui contient 100 000 nombres à neuf chiffres, un fichier ASCII fera 1,04 Mo alors qu'un fichier binaire/TDMS ne prendra que 390 Ko pour le même ensemble de données. Il s’agit d’une économie significative d’espace disque si l’on considère qu’un Mo est encore relativement petit pour un fichier de données.

Analyser et communiquer vos résultats

Une préoccupation croissante lors du choix des outils d’analyse des données et de génération de rapports est la taille et la vitesse des données qu’il peut traiter. Vous collectez davantage de données depuis davantage d’endroits et plus rapidement que jamais. Si les outils d’analyse de données et de génération de rapports que vous utilisez quotidiennement ne peuvent pas suivre ces nouvelles tendances ou lire le fichier de données que vous avez enregistré, alors vous avez plus de données que jamais, mais vous ne pouvez pas les analyser efficacement. Les outils d’analyse des données et de génération de rapports qui ont été créés pour l’analyse financière ne sont pas appropriés pour l’acquisition de données et entraînent de nombreuses limites frustrantes. Si vous essayez de manipuler ou de corréler de grands ensembles de données, il serait avantageux d'utiliser des outils d'analyse et de génération de rapports conçus pour de grands ensembles de données. Sans une analyse appropriée des données, vous constaterez qu’effectuer une analyse, quelle qu’elle soit, et générer des rapports pour partager les résultats prend du temps. Vous ne serez peut-être même pas être en mesure d’effectuer une analyse ou de générer un rapport en raison du volume de données.

Assurer le succès de votre application avec les bonnes stratégies d’enregistrement des données

Le processus d'enregistrement des données de mesure implique de nombreuses considérations complexes qui sont essentielles au succès de votre application de mesure. Ne pas choisir les bonnes stratégies d'enregistrement des données peut provoquer un débordement de mémoire, une surcharge du processeur et des fichiers de données inutilisables ou vides de sens. Pour éviter cela, vous devez anticiper correctement les besoins en mémoire de votre application et prendre des décisions éclairées sur la méthode que vous utilisez pour enregistrer les données, le format de fichier que vous utilisez, la manière dont vous organisez vos données en fichiers et le type de système le plus approprié pour exécuter votre application.

Ressources supplémentaires

 

 

 ASCIIBinaireXMLBase de donnéesTDMS
Échangeable     
Faible encombrement du disque     
Consultable     
Attributs intrinsèques     
Flux haute vitesse     
Plate-forme NI supportée   * 

 

* Peut nécessiter un toolkit ou un module complémentaire.