论文部分内容阅读
本文主要工作是研究多种开源分布式技术组成并行框架,应用于发酵房可视化系统的监测系统中,以此来处理由项目规模扩张以及实时在线测量硬件系统带来的海量数据,并满足发酵房可视化系统对实时计算、机器学习大规模迭代计算的性能要求。通过研究目前最前沿的分布式理论、开源项目的运行原理,并在此基础上进行优化、拓展,设计出了并行化、实时化、具有一致性保证的分布式系统解决方案。具体内容如下:(1)对传统粮油行业发酵房可视化系统进行分析,阐明在实现过程中遇到的重点以及软件系统设计需要解决的几个关键技术难点,即:能应对海量数据压力、能稳定快速地大规模迭代计算、能进行实时计算、能处理数据倾斜问题。围绕这几个要求对传统分布式技术MapReduce进行分析,得出了传统分布式技术不能满足设计要求的结论,并总结原因。(2)针对发酵房可视化系统的设计要求以及传统分布式技术的缺陷,提出一种并行化分布式框架解决方案,包括了资源调度并行化、计算并行化、存储并行化,资源调度并行化通过应用基于DRF算法的Yarn资源调度器,让分布式框架得以容纳更多种类的开源技术,使得引入外部框架解决系统内部缺陷成为可能;计算并行化通过应用Spark的RDD技术解决了传统分布式技术难以进行大规模迭代的问题;存储与计算两方面同时进行并行优化,有效缓解了数据倾斜的风险。(3)在并行化分布式框架中应用Storm流式计算技术,从而满足发酵房可视化系统连续工艺环节的实时快速计算要求,以此为基础,完成了OffLine、NearLine、Online三者结合的并行分布式框架总体设计。并针对并行化分布式框架自身可能存在的一致性风险,应用Zookeeper作为分布式集群协调系统对集群进行管理。(4)基于并行化的分布式框架以及神经网络原理,从实时计算与离线计算两个角度对人工神经网络算法进行实现并测试对比,以此作为对分布式机器学习MLlib库的补充,使其更加完整,可以面对发酵房可视化的各种算法需求。(5)对整个并行化分布式框架进行搭建和调试,并从离线计算与实时计算两个方面对系统进行性能测试,证明该并行化分布式系统在内存使用情况与数据处理速度方面可以达到应用于发酵房可视化系统的设计要求。