车联网大数据平台架构设计-软硬件选型
1.软件选型建议
数据传输
处理并发链接的传统方式为:为每个链接创建一个线程并由该线程负责所
有的数据处理业务逻辑。这种方式的好处在于代码简单明了,逻辑清晰。而由于
操作系统的限制,每台服务器可以处理的线程数是有限的,因为线程对 CPU 的处
理器的竞争将使系统整体性能下降。随着线程数变大,系统处理延时逐渐变大。
此外,当某链接中没有数据传输时,线程不会被释放,浪费系统资源。为解决上
述问题,可使用基于 NIO 的技术。
Netty
Netty 是当下最为流行的 Java NIO 框架。 Netty 框架中使用了两组线程:
selectors 与 workers。其中 Selectors 专门负责 client 端(列车车载设备)链
接的建立并轮询监听哪个链接有数据传输的请求。针对某链接的数据传输请求,
相关 selector 会任意挑选一个闲置的 worker 线程处理该请求。处理结束后,
worker 自动将状态置回‘空闲’以便再次被调用。两组线程的最大线程数均需
根据服务器 CPU 处理器核数进行配置。另外,netty 内置了大量 worker 功能可
以协助程序员轻松解决 TCP 粘包,二进制转消息等复杂问题。
IBM MessageSight
MessageSight 是 IBM 的一款软硬一体的商业产品。其极限处理能力可达
百万 client 并发,每秒可进行千万次消息处理。
数据预处理
流式数据处理
对于流式数据的处理不能用传统的方式先持久化存储再读取分析,因为大
量的磁盘 IO 操作将使数据处理时效性大打折扣。流式数据处理工具的基本原理
为将数据切割成定长的窗口并对窗口内的数据在内存中快速完成处理。值得注意
的是,数据分析的结论也可以被应用于流式数据处理的过程中,即可完成模式预
判等功能还可以对数据分析的结论进行验证。
Storm
评论0
最新资源