求一个以200ms为周期每次采集回来的500个字节压缩进数据文件的算法,(每小时一个数据文件) ( 积分: 100 )

  • 主题发起人 主题发起人 wl_5545831
  • 开始时间 开始时间
W

wl_5545831

Unregistered / Unconfirmed
GUEST, unregistred user!
现在我做了一个数据采集软件,它每200ms就从一个设备上采集回来500个字节,我用FileStream的方式将其写入到文件中(一小时生成一个文件),这500个字节中头7个字节表示的是该次采集回来的数据的时间(年、月、日、小时、分钟、秒、毫秒),目前我查询的时候就是每次从文件中读取7个字节来判断是否是我所需要查询的时间,这样我找数据。现在的问题是以这样的周期来采集的话,几天下来的数据量很大,曾经一个老外的软件,他的方法是生成两个文件,一个文件里面用WinHEX来查看的话就是什么“0123456789abcdefgh.....”,另外一个文件就是乱码,他用这种方式下来采集的周期比我的短多了,大约是30ms,而且几天下来文件的大小很小,由哪个朋友知道如何实现的?
谢了!!!
 
数据大小可以算的出来啊,5 * 500 * 3600 * 24 = 216000000,206M数据/天;
如果老外也是所有数据都保存,那数据只会比你大,除非数据压缩过。
要减小数据量,可以考虑减少冗余数据,500字节中无用的数据不要保存,
还可以考虑压缩算法。
 
由于数据是连续的
所以相的字节会很多
估计你所说的老外的数据文件是经过压缩的
在一个文件存贮新采集到数据
另一个文件保存压缩后的数据
在读取时再还原回来
 
目前我尝试过使用流压缩的控件,但是每次的500个字节压缩后的大小不一样,所以写入到数据文件后,就在读取上有了很大的困难,不好定位,怎么办呢?
 
兄弟们,给我一点帮助呀
 
后退
顶部