论文摘要
商业化的MMOG(Massively Multiplayer Online Games)大多采用C/S模式,服务器保存共享状态信息并且协调玩家之间的通信,缺点是系统的伸缩性受限于服务器的计算能力。服务器集群和网格技术以牺牲硬件和维护上的代价来支持伸缩性。P2P作为一种分布式计算模式可以将终端系统的资源边缘化,从而有效解决上述问题。然而在纯P2P模型中,没有中心服务器转发消息,所以传递和处理的消息数量以O ( N2)增长( N是游戏世界中玩家的数目)。大量玩家之间频繁的交互消息会带来很大的通信负载,因此设计出一种高效可行的消息分发机制以节省计算资源和网络带宽对于基于P2P的MMOG具有重要意义。MMOG中的消息分发是把游戏状态发送给游戏世界中的玩家,使玩家保持一致性的游戏视图。本文在深入研究与消息分发相关技术的基础上,主要完成了以下两个方面的工作:1.提出一种适合于P2P MMOG的消息分发机制。由于基于P2P的网络游戏中玩家节点的游戏状态难以维护,为此本文主要考虑协调者节点之间、协调者节点和普通节点之间以及普通节点之间的消息传递。依据兴趣管理的“局部性原理”以及Dead Reckoning技术,通过在各级节点之间有效地分发游戏状态保证了游戏良好的交互性。2.分析游戏数据包的特点发现游戏世界中产生的数据包比较小,为此本文提出基于游戏交互阈值和聚合阈值的包聚合机制。这种聚合机制在满足游戏实时性的前提下,能够减少数据包的发送次数并且提高消息的分发效率。此外,本文提出使用平均聚合度和平均聚合延迟对该包聚合机制进行评估的方法。实验表明本文提出的消息分发机制以及包聚合机制能够降低MMOG对网络带宽和计算资源的占用,基本上达到了预期目标。