当我接手到这样一个项目的时候,我内心是崩溃的,第一次去处理串口通信,第一次那么短的时间去读取那么多的数据,第一次去存那么大量的数据,每一个问题都能让我在生死边缘徘徊,我先简单的表述一下这个程序的主要功能吧。
这个程序主要是对500个电流表头进行实时数据的监控,每100个电流表头为一组,通过一根串口线进行通讯,软件要实现的功能是循环的去读取这100个设备的电流数据。读取的时间是10s。意思是100ms读取完一个电流表头的数据,这条数据里存了这100ms内的100条电流数据。500个电流表头存一天的数据就是4亿3200万条数据,要求存一个月。
上述就是整个项目要完成的功能,在这个项目中遇到了两个难以解决的问题。
1.java串口通讯的延时,10s内去读取100个设备的数据,至少丢50条数据。后来发现,java从发送指令到监听到数据返回的时间大概在150ms到300ms之间,尝试了多种方法也无法解决。
2.大量的数据存储,根据计算,1天的数据量在4亿3200万条左右,这个数据怎么存到数据库中才能保证查询不会太过卡顿。并且,要存30天的数据。数据库的选择,数据结构的设计等。
使用java进行串口通信的编程,并且需要处理大量的数据量。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器