NI LabVIEW,CVI,数据采集等产品讨论区

cancel
Showing results for 
Search instead for 
Did you mean: 

关于TDMS和Binary存储速度

Solved!
Go to solution
请问,
使用TDMS write写到文件时,怎么体现它的高效性的?存储方式和Write to binary file有什么区别?
我简单的测试了一下,向一个文件中写大概39M的波形数据,使用TDMS Write和Write to Binary file所用的时间相差不大,约850ms。在存储速度上,并没有体现TDMS文件的优越性。
另外,请问,在LabVIEW中,什么的存储速度是最快的。
0 Kudos
Message 1 of 7
(4,130 Views)

所谓高效,其实体现在多方面,高速的流盘是高效的一个方面,其他需要考虑的还有,比如文件组织是否良好,文件是否跨软件、跨平台等等,当然,这都需要根据你的应用而定。

 

TDMS的存储方式和binar file相比,最大的区别是:TDMS存储的是符合一个TDMS的三层结构的文件:文件、通道组和通道这三层结构,组织结构良好,而binary文件是把LabVIEW中的数据直接放到文件中去,不存在一个分组的概念。其次,TDMS可以在除了LabVIEW之外的其他绝大部分NI软件上用,比如CVI、Signal Express、DIAdem等等,binary文件只是LabVIEW中能用,其他软件暂时不支持。

 

39M的数据分别写到TDMS和binary上去确实没有太大的差别。我们实验过,用大量的数据,TDMS的速度比Binary也不会有太大的差别,速度上的差别基本可以控制在5%以内,完全可以满足用户的需求,而且如果用TDMS文件,你拿到的还是一个组织优良以及有上述优点的文件。

 

当然了,还是那句话,其实最终还是要根据你的应用来选择:)

Message 2 of 7
(4,118 Views)

谢谢您的耐心解答。

其实现在就是遇到数据流盘的问题,如果采样频率是10M,数据以浮点型存储的话,那么每秒钟就有80M数据,然而程序在数据存储过程就花费了超过1秒的时间,那肯定来不及实时采集数据了。如果采样频率是20M ,甚至更高呢?

因为现在没有RAID0等高速流盘的硬件,在只有采集卡的情况下,该怎么解决呢?

0 Kudos
Message 3 of 7
(4,101 Views)

正如你所说,高速流盘最大的瓶颈是硬盘的读写速度,所以在你这种应用下面,不可能做长时间高速流盘的,短时间是可能的,放在内存中,慢慢往硬盘中写。

 

不然,RAID这种高速流盘手段就没必要被应用起来了,对吗? 

Best Regards

Hu Yu
Message 4 of 7
(4,075 Views)
Solution
Accepted by topic author GhostShadow

是的,如果要长时间的高速流盘,每秒钟有80M以上的数据,那么一般的硬盘达不到这样的要求。

建议还是升级成磁盘阵列吧。

Message 5 of 7
(4,073 Views)
谢谢!
0 Kudos
Message 6 of 7
(4,059 Views)

您好,我想咨询一下,TDMS的写入方式主要是怎样的?是采集一段数据然后上传一段嘛?还是说采集完数据后上传呢?

0 Kudos
Message 7 of 7
(321 Views)