设备采集到的数据一般用整数或短整数传输,用double没有意义,毕竟AD或ADC一般是1
0位、16位、24位或32位。
接收到上位机后再根据需要转double进行重建、分析等处理。
【 在 xmbba 的大作中提到: 】
: 架构的确不太行。被难住了。请高手支招:)
: 实际上数据量比较大,打底是一个基础线程base在用无锁队列收集16个通道的数据+保存数据到数据库A,大概是10分钟不到4个G的数据1700万+*16个double类型的浮点数(有效数字保存为小数点后8位)。这块目前还没有发现问题,因为没有涉及浮点数的运算,连续跑10多G数据还好。然后
: 堑加新的16个Reconstruction线程,每个通道的线程预期同时要在0.3s内从前面的数据库A取完数据后完成5万个double类型浮点数的运算+保存到另外一个数据库B,叠加Reconstruction这块会影响到前面的基础线程,30分钟会停1s,30分钟的Reconstruction的数据量大概是3G附近,1s的停
: ...................
--
FROM 112.48.103.*