第25卷第2期 2008年2月 计算机应用与软件 Computer Applications and SoftwaIIe V01.25 No.2 Feb.2008 基于Servlet的手机联网游戏服务器通用架构研究 郑子彬王建民袁辉郭庆唐 (中山大学计算机应用研究所广东广州510275) 摘要 对手机联网游戏服务器的架构进行了研究,提出一个可伸缩服务器体系架构,并在此基础上设计了一个手机联网游戏服 务器通用架构,然后对此通用架构中的关键技术点及实现细节进行了详细的介绍。最后,利用senrlet编程技术,在此通用架构基础 上开发了两个手机联网游戏的实例,对这个遗用架构的可行性进行了验证。 关键词 手机联网游戏服务器Servlet架构 RESEARCH ON GENERAL ARCHITECTURE oF oNLINE MOBILE GAME SERVER BASED oN SERVLET Zheng Zibin Wang Jianmin Yuan Hui Guo Qin昏aJlg (细砬幽D,co,即“甜锄f池砌n,&n玩扣s∽洳妇砧渺,锄n轳如Ⅱ5f∞乃,Gmn咖昭,蕊￡,I口) Ab苣ItI锄ct taIlt A 8calable architecture of tlIe mobile omine game are sen,er is proposed.Then,a on geneml a王℃hitecture is p|.esemed,and tecIIllology,two some impor- are technolo舀es蚰d impleⅡlentation details to discussed.FiIlally,based the Servlet prog舯ming r∞bile online games devel叩ed Ke”wlrds ve竭rⅡle fe器ibility of t}lis general architecture. Senrer Sen,let Architecture Mobile oIlline game 0 引 言 近几年来,随着手机性能的提升和移动互联网的飞速发展, 出现了各种各样移动数字娱乐薪形式,手机联网游戏便是其中 之一。它摆脱了线缆的束缚,方便人们随时随地的玩游戏,越来 越受欢迎。对于手机联网游戏的相关技术进行研究显得很有必 要。本文借鉴传统因特网网络游戏的服务器架构设计方法…, 并结合手机的特点,设计了一个手机联网游戏服务器通用架构, 利用此通用架构可以迅速地实现各个具体的游戏服务器,从而 提高开发效率。本文最后提供了两个基于此通用架构开发的手 机联网游戏实例"1。并用NOKIA6600手机及服务器进行了实际 的测试。 l 图l 手枧联网游戏可伸缩服务器体系架构图 况用特定的算法选择一个Gamese开er供用户连接。当增加或 减少GameServer时只需要通知kbbySenrer就行。G锄eServer 主要负责处理服务器端逻辑、游戏逻辑、网络信息传递,维护持 续的游戏世界模型。DBsenrer(数据库服务器)实现对玩家帐户 资料、日志、游戏世界数据等数据的持久性和集中管理、备份。 手机联网游戏可伸缩服务器体系架构 在手机联网游戏的设计中,主要采用的是CS(Client.Se卅 一般来说,‰byserver和DBsenrer分别运行于两台硬件服 务器上面。G啪eSe“ef则根据具体的情况运行于多台硬件服务 器上面,并在必要时对服务器数量进行增加或缩减。这种服务 器的体系架构具有较好的灵活性和可伸缩性。 er)结构汪】。在这种结构中,客户端程序运行于手机上面,服务 器端程序运行于因特网上的硬件服务器上面。一部硬件服务器 只能支持一定数量的用户,在同时在线的人数超过了服务器负 载时就需要增加硬件服务器的数量。两在游戏的衰退期,随着 用户的减少,为了节约运营成本,需要减少硬件服务器的数量, 如何解决硬件服务器的扩展和缩减的问题是很多手机联网游戏 开发商关注的问题,本文通过引入大厅服务器,简单高效地解决 了这个问题。 图l中kbbyServer(大厅服务器)主要负责帐户认证和服 务器负载平衡,它根据各个Gameserver(游戏服务器)的负载情 2手机联网服务器的通用架构设计 下面我们对一个G锄esen,er上的手机联网游戏服务器进 行具体的设计。 收稿日期:2006一02—24。郑子彬。硕士,主研领域:移动通信。 万 方数据 156 计算机应用与软件 2008年 2.1服务器的通用架构 本文借鉴传统因特网网络游戏的服务器架构设计方法…, 并结合上面提出的可伸缩服务器架构的思想,充分考虑了手机 屏幕小、处理能力弱的特点,采用面向对象的思路设计了如图2 所示的手机联网游戏服务器通用架构。 messageId、userId。