论文部分内容阅读
近年来,随着计算机通信和网络技术的迅速发展,在交通管理、网络监控与安全、股票行情分析、电信数据管理、传感器网络查询等诸多领域产生了许多基于数据流的应用。因为这些应用处理的都是大规模的数据,所以需要把多个不同的处理节点连接起来构成分布式处理环境,并把对数据进行处理的查询任务均衡的分配到各处理节点上,实现系统的负载平衡。由于数据流数据的随机性和不可预知性,使得传统分布式的负载管理技术已经达不到要求,因此如何对查询任务进行管理,使整个数据流处理系统的负载达到平衡则成为了当前研究的一个热点。本文主要解决的问题是如何对分布式数据流处理系统中查询任务进行管理使整个系统中处理节点的负载平衡。分别从静态初始化和动态运行这两个方面来进行研究,主要工作和研究成果如下:1.为了解决系统中查询任务的静态负载分配问题,通过研究现有算法,提出了一种基于最优2-交换的静态负载平衡算法,此算法不但考虑了各处理节点之间处理能力的差异性,而且还改进了启发式算法的缺点,将系统中查询任务均匀地分配到各处理节点,使任务的分配更加合理。2.为了解决数据流处理系统中在运行的过程中出现的多个处理节点间负载不平衡的现象,通过研究现有算法,提出了一种基于时延和负载的动态负载平衡策略,此策略考虑处理节点的负载和处理节点间的数据流量,并且采用双阈值把处理节点分为高、低、正常三种状态,只对处于高负载状态的处理节点和低负载状态的处理节点之间做查询任务迁移操作,减少了用户需求的处理时延,提高了系统的稳定性。3.采用本文提出静态负载平衡算法和动态负载平衡策略,设计并实现了分布式数据流处理系统中查询任务管理的解决方案。静态负载平衡算法完成系统中全部的查询任务的初始化的部署,动态负载平衡策略则实现在系统运行过程中查询任务在各处理节点之间的有效迁移。通过对系统中各处理节点的负载进行测试和分析,静态负载平衡算法和动态负载平衡策略达到了预期的效果,具有比较高的实用价值。