影响的因素有哪些?

1个回答

写回答

天天看看

2026-01-29 23:30

+ 关注

C++
C++

这与两个因素有关:其一,每秒上报的频次乘以设备的总量;其二,实时统计计算时要在内存中预留多少数据(是一天的数据量?还是一周的?),以及实时计算是否频繁。对于第一个因素,主要依靠增加CPU和内存来解决,从程序的角度去解决这个问题并不划算。如果对第二个因素没有要求的话,使用任何编程语言都可以,不过rust似乎不太好(开发效率低)。要是对第二个因素有要求,可能就需要用到c/C++或者rust了。我采用的是nodeJS + C。这类应用要选好通信协议(例如使用mqtt + emqx就可以)。如果终端设备是高端设备(能够连接普通网口),只要网络畅通就可以了。如果终端设备存在低速接口(例如使用GPRS的、使用2G卡的),程序就需要具备一定的容错机制(那种很简单的就行,比如某些类型的设备偶尔没有数据包发送过来也不要报警),也许一种协议不够用,可能还需要集中器。如果设备安装的地方通常无人前往,那么可能还需要考虑供电设备的选购(比如太阳能板之类的)。我们的用户,那些地下设备,他们在地下有自己的基站,很多问题不需要我们考虑。地上设备在厂房附近的都有网口,也无需考虑。但是有少量设备安装的地方一般没人去,这些设备的供电是我们自己挑选的。存储数据库没有特殊要求,任何常用的数据库都可以(推荐clickhouse,因为这类数据几乎都是只进行插入追加操作的)。如果不进行大量的实时运算,那么内存也没有什么要求。否则,为了编程简单,就需要增加一些内存。对于存入数据库之后的数据进行的统计计算没有特殊要求,依靠数据库自身的功能就完全可以了。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号