论文部分内容阅读
在云环境背景下,流式数据作为大数据的数据形态,已成为研究热点。传统的数据库不能满足对流式数据高效持久化,Hadoop作为MapReduce典型应用能够高效持久化流式数据,但是Hadoop在云环境下持久化流式数据存在可靠性降低以及集群性能降低的问题,所以要对其在云环境下持久化算法进行改进。Spark Streaming能够满足流式数据处理实时性要求。由于流式数据状态以及集群计算能力是动态变化的,为了保证数据处理效率,Spark Streaming集群参数需要与之相应变化。本文主要对流式数据预处理机制优化研究,主要做了以下三个方面工作。首先,针对云环境下HDFS持久化流式数据存在数据可靠性降低以及集群性能降低的问题,提出了基于HDFS动态副本分配技术的数据流持久化算法。该算法通过感知云环境下集群节点所在位置,并且通过相对位置概念来定义集群节点距离,以集群节点间距离指标与节点性能指标作为流式数据持久化条件,来保证持久化数据可靠性与集群数据处理性能的稳定。仿真结果表明物理服务器宕机时,该算法能够保证数据的不丢失。该算法与同类型算法在数据可靠性以及集群性能作了对比,实验表明在云环境中该算法在数据可靠性以及集群性能上优于同类型算法。其次,针对Spark Streaming集群参数设置不恰当,导致集群数据处理效率降低的问题,提出一种基于Spark动态块调整技术的流式数据处理算法,通过分析当前数据流负载信息,并在历史数据库表中查找与当前负载流相似且数据处理效率最高的任务属性作为当前参数,如果存储在数据库中的数据比较少,则通过DAAC(Dynamic adaptive adjustment control,动态自适应调整)控制器来对参数自动调整,从而达到流式数据处理实时性要求。将该算法与传统流式数据处理算法在任务处理实时性做了对比分析,结果表明该算法在数据处理性能方面具有较高的实时性。与此同时,将该算法在CPU使用率和内存使用率方面与同类型算法进行了对比分析,实验结果表明在同等负载状态以及算法收敛状态的情况下,该算法占用的CPU资源以及内存小于同类型算法。最后,针对设计的两种算法进行原型系统设计,分别展示了两种算法在流式数据持久化以及流式数据处理的表现,基于HDFS动态副本分配技术的数据流持久化算法能够在持久化流式数据时,保证数据可靠性提高以及集群性能的稳定。基于Spark动态块调整技术的流式数据处理算法能够满足冷链数据处理系统实时性需求。