论文部分内容阅读
近年来,随着计算机网络技术的发展,在网络服务安全、金融数据分析、移动设备通信等领域出现了大量基于流数据的应用。由于流数据应用经常面临的数据规模很大,因此需要将不同的节点连接起来构成分布式计算环境,并实现这些节点的负载均衡。然而在分布式流处理系统中,流数据的突发性和不可控性,使得传统分布式系统负载均衡技术已不能满足要求,流处理系统的负载均衡技术成为当前研究的热点之一。本文主要解决的是分布式流处理系统中的负载均衡问题。首先分别从静态和动态两个方面来进行研究。静态负载均衡即围绕流处理系统运行前操作盒算子的分配问题,以将算子均匀的分配到各个处理节点上为目标。考虑到多节点处理性能的差异,提出了基于负载权值的静态负载均衡算法。算法先是将全局算子组合为若干标准算子组和大算子,然后基于节点相对处理模型和负载权值来实现这些算子的均衡分配,最后在分配的结果上运用调整算法进一步进行均衡。动态负载均衡则是研究在分布式流处理系统运行过程中,为了减少各节点间处理负载的差距,充分的利用系统资源以进行负载均衡。为了避免迁移的滞后性,提出了基于预测分析的动态负载均衡算法。通过对各个处理节点负载状态进行周期性的收集,并对收集的节点负载序列进行预测分析选取误差最小的预测数据。根据各节点的处理负载来判断节点状态,在高低状态节点对间基于相关系数进行负载的迁移,并且转移是以操作盒算子为单位进行的。最后以研究的静态和动态负载均衡算法为基础,对分布式流处理系统整体负载均衡解决方案进行设计并实现。系统由管理节点和若干处理节点构成业务集群,静态负载均衡算法完成系统全局算子的均匀部署,动态负载均衡算法则实现系统运行过程中算子在节点间的有效迁移。本文所研究的负载均衡算法和负载均衡方案结合了分布式流处理系统负载均衡的需求,并通过具体的实验搭建了分布式数据流处理平台,并对其负载均衡功能进行测试和分析,算法起到了预期的效果,具有较高的实用价值。