论文部分内容阅读
本文在两个863计划项目“网络游戏公共技术平台关键技术研究”以及“数字媒体公共技术平台研发”的支撑下完成,主要研究大型多人网络游戏引擎中的负载均衡问题。MMOG(Massively Multiplayer Online Games)是具有很大发展前景的大型网络游戏。这类游戏经常是成千上万个玩家同时处于一个虚拟世界,为了能够对玩家的信息进行实时响应,MMOG中通常需要多台服务器来处理来自各个玩家的信息。因此,怎样有效的分配玩家或者说如何找到一种高效的负载均衡算法成为MMOG中所面临的非常重要的一个问题。目前,网络游戏引擎中负载均衡技术的研究还不是很多,因此本文的研究具有比较重要的理论和现实意义。本文主要完成以下几项工作:1.详细分析了在网络引擎设计中要考虑的因素。包括采用分布式的体系结构,网络协议的选择,消息的等级划分和发送策略,以及采用集群化的游戏服务器。这些因素对整个系统的性能产生重要的影响。还介绍了网络游戏中比较常用的RakNet网络引擎。在后面设计的网络引擎系统架构中将使用RakNet作为系统底层通信模块。2.对目前网络游戏中的负载均衡技术做了较深入的研究。首先介绍了一般的负载均衡算法的分类以及实现技术,然后对应用于MMOG中的负载均衡技术的特点及常用的算法做了详细阐述。3.提出一种基于游戏空间划分的动态负载均衡算法,该算法将整个游戏虚拟世界进行分割,由多个游戏服务器来管理,在基于预订区域概念的基础上,通过向邻居服务器发送分配负载请求,使得一个超载的服务器能够方便地将它的一部分负载迁移到没有超载的服务器上,同时提出一种客户端迁移方案来减少该算法的开销,从而提高系统的响应速度和性能。4.在基于RakNet网络引擎的基础上设计一个网络游戏引擎系统,服务器端包括登录服务器、负载均衡服务器和多个游戏服务器。并通过该系统来验证玩家的登录退出、和游戏服务器的交互,以及用负载均衡服务器来实现一些静态的负载均衡算法。