论文部分内容阅读
随着科技的进步,电子商务、社交网络、新闻聚合、视频监控和卫星遥感技术的蓬勃发展。每天都会产生海量的实时数据,这些数据无论是形式还是规模都和传统数据不一样,传统数据一般都是结构化的静态数据,并且规模较小,处理实时性要求不高。实时数据多以流式数据为主,流式数据具有数据规模庞大,数据流向和流速不确定、实时性、非结构化等特点。因此,专门处理流式数据为代表的分布式计算平台应运而生。本论文提出来一种分布式流计算平台,提供低时延、高吞吐的实时流分析服务。在拓扑图中指定应用程序逻辑。本论文将围绕分布式流计算平台中的任务调度算法,容错机制,消息处理机制方面进行研究。主要工作包括以下几点:1)研究当下常见的流计算平台(Storm、Spark Streaming、Flink等)主要研究其调度算法、容错机制和消息机制。分析各个平台的优缺点。2)在任务调度方面,采用基于Qos约束的智能调度算法。在任务调度时,调度算法模块统计计算节点资源使用率,并将资源使用率作为调度的约束条件,不同的资源使用具有不同的权重因子,采用模拟退火算法训练权重因子,这样在不同的运行环境,调度算法智能的调度任务,提高系统吞吐量,增强数据处理能力,提升系统的性能。3)容错机制主要保证系统健壮性,由于分布式系统故障是常态,主板电源等硬件故障和进程崩溃等软件故障都会影响系统健壮性,本文采用复制容错技术和Zookeeper开源组件,保存节点状态信息,提高系统的健壮性。4)消息处理机制主要保证每条消息都会被处理,本文通过消息跟踪机制保证每条消息都会得到处理,引入缓存机制,保证消息处理出错时,消息不会被重复处理,既能提高系统的运行效率,又能提高系统的可靠性。通过对流计算平台的功能和性能测试,调度算法提高了系统的吞吐量降低了时延,容错机制保证了系统的可靠性和健壮性,消息处理机制确保了消息不丢失,最后,对流计算平台进行了总结和未来工作的展望。