在许多文件中保存和编辑大量数据

时间:2015-01-13 18:32:53

标签: c# windows hdf5

我正在开发一款适用于Windows的C#SW,它可控制256通道,10kHz,16位(5MB / s)的采集设备。此次收购通常持续1分钟至1小时;它作为原始数据保存在二进制文件中,其结果大小可能达到许多GB。

采集后,使用相同的SW,用户应该能够详细说明数据; 例如,他应该能够选择两个通道并将它们加在一起,生成一个新的轨迹(保存到磁盘);在所有渠道中丢弃(删除)收购的最后部分;丢弃一大堆频道......

在旧版本的SW中,当HW采样频率较慢且通道数限制为16时,采集的数据保存在文件中。为每个现有跟踪组合创建了一个新文件,用于存储精化结果。所有文件最终都压缩在一个存档中,其他xml文件包含采集参数。

既然数据大小增加了,这种方法非常慢,在我看来根本没有效率:在采集之后花费了大量时间来压缩文件, 并且,每次打开旧的获取时,解压缩临时文件夹中的所有文件,修改它们并重新压缩所有文件都需要很长时间。

我的第一个想法是切换到hdf5,但是在删除数据集时文件没有缩小的事实在这种情况下是一个很大的限制/复杂性。 (Delete or update a dataset in HDF5?

另一个(也许更简单)的想法是将所有文件存储在一个文件夹中(使用旧格式并简化开发) 并宣布一个"自定义动词"这样双击该文件夹就会打开SW。 http://msdn.microsoft.com/en-us/library/cc144171%28v=VS.85%29.aspx#custom_verbs_desktop 我觉得这个解决方案很脆弱(也因为我从未在其他应用程序中看到它...)但是我找不到真正的问题...... 你有什么建议?是"自定义动词"在生产系统中使用的好解决方案?你看到了很大的缺点吗?

0 个答案:

没有答案