word
word
2 / 18
word
这里说的测试测量数据是指配合NI的硬件,如PXI卡采集所得的测试测量数据。对其他的测试测量应用场景我还不熟悉。 NI原先是缺乏一个比拟优秀的测试测量数据存储方案的,NI后来也意识到了这个问题,于是在德国收购了一家公司,这家公司专做数据存储〔也包括显示、报表等〕,于是NI在数据的采集、存储、显示这方面的产品线已经比拟齐全了。 NI现在主推的一个数据存储逻辑模型叫做TDM(Technical Data Management),具体的方案可见: NI TDM Data Model 这个模型的特点可以简单概括为:清晰的层次结构以与支持各层次的描述性信息。具体来讲,一个TDM模型的数据文件可以分为三层,分别为文件〔File〕、组〔Group〕和通道〔Channel〕,在每个层次上,都有NI定义好的一些属性,同时,用户也可以自定义属性。
这样的一种数据模型很容易被理解和承受。比拟符合实际的应用需求。比如用NI的采集卡采集电压数据。一块卡上一共8个通道。每个通道每次采集的数据都可以保存为一个“通道〔channel〕〞,8个通道一次采集的数据可以组成一个组〔group〕,每天采集一次,n天就形成n个组,每个组都有8个通道,所有的数据都写在同一个文件〔file〕里。其他卡采集的数据放在不同的文件中。 除了直接采集到的数据〔可称之为Raw Data〕之外,总要写点其他信息的,比如采集卡到底是什么型号,每次采集都是谁来完成,采集的是电压还是电流,单位是伏特还是千伏等等。这些信息就称为描述性信息〔Meat Data〕。这些信息写在别的文件里面总不太容易管理,最好写在一个文件中。因此TDM模型也支持将这些描述性信息写在同一个文件中。 注意一下,我在这里说的是TDM的“逻辑〞模型,并不是指他的物理存储结构。在NI,有数种文件格式都支持TDM的模型,但是他们的物理存储方式大相径庭,这个以后再写。
word
word
2 / 18
word
这种TDM模型的测试测量数据文件,是NI软件平台中通用的文件,除了LabVIEW外,很多其他的NI软件产品都支持这种模型,比如DIAdem、CVI、Singal Express等等。 在LabVIEW中,分别有三套API支持TDM模型的数据文件,他们分别是: Measurement File/Storage VIs/TDMS
〔图片采自LabVIEW Professional〕 这三套API分别对应着三种应用的难易级别,由易而难。具体以后再介绍。 下次写一下我对TDM数据模型的看法〔优缺点〕,以与简单介绍相关的文件格式。
在分析TDM模型的优劣势之前,我想最好先罗列一下一些数据文件格式的技术要求。 NI软件平台上针对于测试测量的数据,有很多不同的文件格式,其中有几种是支持TDM模型的。并不是说这些文件都能满足以下技术要求,我只是先罗列出来: 1〕写文件速度必须要快。很多情况下需要一边采集数据一边就把数据写到文件中,采集卡的速度已经相当快了,这时候瓶颈常常是在写文件这个步骤上。相反,读文件可能并没有如此高的要求。 2〕向文件追加〔append〕数据的时候,速度要快,这个时候不能读取文件中的信息。这其实也是常用的一个use case,采集数据写入文件的动作可能经常要进展〔比如在一个循环中〕,往往又是往同样的文件中写入信息。 3〕写文件的速度不能与文件大小成正比。我们希望不管文件有多大,写文件的速度总是保持相对恒定,不能文件越大就写得越慢。 4〕支持随机的读取。比如我想读文件中某个位置的某些内容,不能要求把这个位置之前的所有数据都先读出来〔即读到内存中〕。 5〕支持分别读写描述性信息和原始数据。这是上一条的延伸,读描述性信息〔meta data〕的时候不要求把原始数据〔raw data〕读进来,同样,读原始数据的时候也不要求把描述性信息读进来,否
word
word
4 / 18
word
如此,势必影响读文件的速度。 6〕对读文件的速度也有一定的要求。这个要求主要来自于搜索数据。无数浩瀚的数据,怎样才能快速的找到用户需要的数据,这一直是一个难题。 7〕文件不能太大。存储同样的数据量,文件自然越小越好。 技术要求暂时就写这么多,其实总结起来,无非两点:1〕快;2〕方便。我们对照TDM的数据模型,对于“快速〞,暂时看得不明显〔以后可以谈谈为什么TDMS文件可以达到“快速的要求〞〕,但是说它“方便〞
LabVIEW中测试测量大数据地存储 来自淘豆网m.daumloan.com转载请标明出处.