论文部分内容阅读
实时在线交互应用(Real-time Online Interactive Application, ROIA)是近年来出现的一种新的基于互联网的分布式应用模式,包括大型多人在线游戏和交互式电子学习系统在内的多种应用系统都是实时在线交互应用的典型应用。实时在线交互应用环境中,由于用户数量的动态变化以及用户操作的不确定性等特点使得系统的资源利用率和应对系统突发负载峰值的能力受到了很大的影响,所以一般要求实时在线交互应用系统应当具备一定的伸缩性来适应这种动态变化,亦即应该具有通过改变可用硬件资源和调度方式来动态地调整自身整体性能的能力;系统良好的可伸缩性不仅可以提高系统的资源利用率,而且能够提高系统应对突发负载峰值的能力。因此,有关可伸缩的实时在线交互应用关键技术的研究对推动实时在线交互应用技术的发展具有重要的学术价值和现实意义。在实时在线交互应用研究领域,目前大多数的研究仅局限于单一实时在线交互应用内部的可伸缩性问题上,没有考虑多个实时在线交互应用之间存在的互补性等特点,因而其研究方法存在一定的局限性;这使得实时在线交互应用系统的资源利用率和应对系统突发负载峰值的能力这两个方面难以同时得到较大的提升。本文针对这一问题,以提高实时在线交互应用系统的资源利用率和应对系统突发负载峰值的能力为主要目标,重点对云计算环境下可伸缩实时在线交互应用关键技术问题进行了深入研究。这些内容主要涉及到云计算环境下实时在线交互应用的可容错体系结构、多实时在线交互应用系统的动态负载均衡、实时在线交互应用网络延迟和云计算环境下可伸缩多实时在线交互应用体系结构等关键技术问题。论文的主要研究工作和创新点体现在如下几个方面:(一)针对云计算环境下云节点的失效概率可能会增大,而传统实时在线交互应用体系结构并不能提供相适应的容错能力这一问题,提出了一种可伸缩的实时在线交互应用容错体系结构(Scalable ROIA Fault-tolerant Architecture, SRFA)。SRFA结构在一般的图分割方法基础之上增加了一个容错结构层,实时在线交互应用中的虚拟世界被两层不同粒度大小的六边形单元格所覆盖,每层单元格所组成不同的区域由不同的服务器所负责。在实时在线交互应用中采用SRFA结构将有利于实体进行跨区域移动和实现服务器间的无缝迁移;也有利于为服务器提供崩溃保护和实现系统恢复;还有利于实现系统的负载均衡和提高硬件资源的利用率等。(二)针对单一实时在线交互应用系统难以在系统的资源利用率和应对系统突发负载峰值的能力这两个方面同时得到较大提升的问题,提出了一种新的可伸缩多实时在线交互应用系统的动态负载均衡算法(Scalable Multi-ROIA Dynamic Load Balancing,SMRDLB)。SMRDLB算法在考虑了不同类型实时在线交互应用网络延迟要求等多方面差异的基础之上,充分利用了多种不同类型实时在线交互应用在时延要求上不同、实时交互复杂度不同和负载峰值出现时间不同的这些特点,使得部署多种不同类型实时在线交互应用的系统可以获得更高的资源利用率和更好的应对突发负载峰值的能力。(三)针对新实时在线交互应用体系结构中可能导致网络延迟有所增加以及网络带宽要求高这两方面的问题,提出了一种适应于实时在线交互应用的基于目标预测的航位推算改进算法(Goal-predicting Based Dead Reckoning, GBDR)。GBDR算法对传统的航位推算算法进行了改进,并在某些适当的时间点引入了对移动目标的推算,因此它提高了航位推算中预测的准确率;由于预测准确率的提高可以减少航位推算的误差,能够更加有效的减小网络延迟对实时在线交互应用的影响,并且能够减少状态更新信息的发送,从而有助于降低实时在线交互应用系统对网络带宽的需求。(四)提出了一种云计算环境下可伸缩的多实时在线交互应用体系结构——多实时在线交互应用云平台(Multi-ROIA Cloud Platform, MRCP)。MRCP结构充分利用了系统的规模效应和互补效应,使得多实时在线交互应用系统与单实时在线交互应用系统相比较,整个系统具有较好的伸缩性,可以动态地调整自身的整体性能;另外,在系统的资源利用率和应对系统突发负载峰值能力这两个方面的性能也得到了较大的提高。