论文部分内容阅读
云计算的概念自提出以来,即在全世界范围内得到了广泛应用。云计算凭借其高度并行性、虚拟化等特点大幅简化了程序员的工作,提高了作业执行速率。MapReduce作为云计算中的核心编程模型,为程序员自动完成了容错、死锁等至今仍无通用解决方案的问题。如今,越来越多的企业都已经将自己的业务部署到了云计算平台中。然而,传统云计算平台中的MapReduce编程模型是基于集中式的C/S框架,模型中由一个控制节点管理多个工作节点,且用户提交的作业全部都由唯一的控制节点进行分配管理,控制节点一旦失效,就会造成无法挽回的后果。不但如此,单一控制节点负载有限,随着集群规模的不断增大,其势必会成为整个系统的瓶颈,严重限制了集群的扩展。因此,为了解决传统云计算平台中单控制节点失效和集群扩展性不足两大问题,本文提出了基于P2P-云平台的作业管理机制。该机制首先对传统云计算平台中基于单控制节点的主从结构进行改进,提出基于Chord协议的多控制节点协同控制多工作节点的体系结构ChordMR。其次,针对控制节点失效所带来的作业丢失问题,提出作业动态管理机制,该机制从作业分配、作业备份、作业恢复以及控制节点加入时的作业迁移等各方面对云作业进行有效管理,以加快云作业执行速率、提高云作业执行成功率。通过仿真实验,验证了该作业管理机制在可行性和有效性等方面的优势。最后,本文编程实现了基于P2P-云平台的MapReduce作业处理框架。理论分析和实验结果表明,传统云平台与P2P技术的有效结合不但解决了传统云平台中存在的单点失效问题,而且增强了集群的扩展性,有效解决了系统的瓶颈问题。