基于分布式集群技术的四层大型网络游戏平台架构方案

更新时间:2023-09-03 00:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

解决大型游戏平台的很好方案

本栏目责任编辑:冯蕾

网络通讯与安全

基于分布式集群技术的四层大型网络游戏平台架构方案

付东来,匡华

(中北大学计算机科学与技术系,太原030051)

摘要:游戏本身的可玩性与后期运营以及稳定、高效网络游戏平台架构直接决定网络游戏运营的成败。本文在分析大型网络在线游戏的实际运行环境的基础上提出了一种基于集群技术的分布式多层大型网络游戏平台架构,并详细介绍了各层的设计方案以及服务器的部署方案。最后本文给出了一种可支持20000万人同时在线的服务器部署方案。

关键词:大型网络游戏;平台架构;集群;多层中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)12-21579-02

AFour-tierLargeNetworkGamePlatformArchitectureBasedOnDistributedClusterTechnology

FUDong-lai,KUANGHua

(DepartmentofComputerScience&Technology,NorthUniversityofChina,TaiYuan,030051)

Abstract:therearetwofactorswhichdeterminethesuccessorfailureofthegame.OneisInterestinggameitself.Anotherisastable,effi-cientnetworkgameplatformstructureBasedontheanalysisoflarge-scaleonlinegamesnetworkoftheactualoperatingenvironment,thispaperproposedatechnology-basedclusteringoflargemulti-tiernetworkgameplatformarchitectureandintroducedthelayersofdetaildesignandserverdeploymentscenarios.Finallythispapergivea20,000peoplesimultaneouslyonlineserverdeploymentprogram.

Keywords:Largenetworkgame;platformstructure;clustering;multi-tier

1课题研究背景

网络游戏就是以互联网为媒介,可以多人同时参与的电脑游戏,人们通过互动达到交流、娱乐和休闲的目的。当前,大型多人在线角色扮演类游戏是最受玩家喜欢游戏类型,这种游戏构筑了一个有基本健全的社会体制和经济系统的虚拟世界,玩家在游戏虚拟世界中扮演特定角色,通过自己的游戏技能及其它各方面投入实现自己所扮演的角色在游戏虚拟社会中的生存和成长并参与游戏虚拟世界的人际沟通及社会活动等。市场上知名的《魔兽世界》传奇》系列等游戏都属于这一类型。近几年,随着社会生、《

网游”的形式缓解压活节奏的不断加快,越来越多的人选择通过“

力。上海征途网络科技有限公司在2006年10月28日宣布,旗下大型角色扮演类网络游戏《征途》最高同时在线人数达到63.42万人。于是,面对如此庞大且仍在飞速增长的网络用户群,如何架构能适应海量用户访问的游戏平台,就必然成为网络游戏开发商的重点研究的对象。本文就是研究这种大型多人在线角色扮演类游戏平台架构设计的核心技术。

2平台整体架构解决方案

2.1大型游戏的实际运行环境

在大型游戏中,实际需要处理的玩家数量往往过万甚至几十万,一台普通的服务器是无法完成所要完成的工作。因此,通常是要由一组多台服务器共同完成一个完整游戏世界的功能,即“战区”的概念。一个战区实际上就是由多台服务器构成的一个集群系统,每个玩家所处的游戏世界就是一个战区。由于一个战区所能容纳的玩家数量是有限的,因此,针对海量级的玩家,我们可以把玩家分散到不同的战区中去,以满足玩家数量的增长。同时,为使玩家体验到更快的响应速度,对服务提供商来说节约网络带宽,降低成本。服务器群必须分布式部署。大量的服务器群构成一个完整庞大的分布、协作的游戏系统,这样一个复杂的系统必然会涉及到服务器间复杂的数据通信与管理。因此,构架一个安全、稳定、高效的游戏平台有着非常重要的意义。

2.2平台整体架构方案描述

平台总体上采用基于集群技术的分布式四层网络游戏平台架构,具体描述如下:

(1)表示层:用户接口部分,担负用户与应用间的对话功能。检

查用户从键盘或其它终端设备上输入的数据,接收应用服务输出的数据。用户输入的数据通过通讯平台传入功能层。

(2)通信层:负责游戏服务器和客户端之间数据交换的服务器,管理所有的玩家和游戏服务器连接,并且负责客户端的登陆登出,记费校验等工作。

(3)功能层:实现网络游戏世界中的所有业务处理逻辑,而处理所需的数据是从表示层或数据层取得的。在这一层的设计中,我们尽可能保持表示层和功能层之间的数据交换的简洁,避免进行一次业务处理,在表示层和功能层进行多次数据交换。在功能层中包含有确认用户对应用和数据库存取权限的功能,以及记录系统处理日志的功能。该层可分为数据库和游戏服务模块。游戏

任务服务模块设计为一个个单独的子系统,即游戏的战斗系统、

系统、寻路系统等等,用来处理游戏世界中的业务。数据库服务模块是网络游戏连接数据库读取玩家信息和战区信息、存取玩家档案的接口,并且肩负着监视战区运行状态的任务,提供与数据库连接管理、数据读写等功能。游戏服务模块实现具体的应用逻辑。平台的通信服务器收到玩家的操作请求后,转换成对数据库或游戏服务模块的请求,调用相应的服务模块处理请求并将结果返回给通信服务器。

(4)数据层:负责存放并处理所有玩家资料及其相应的数据,采用通用的大型关系数据库系统。从处理能力和容错的角度考虑,硬件应该采用高可用性系统。

2.3平台功能结构划分

平台功能从网络结构的角度可以分为三个部分:系统服务模块、受控安全模块和启动平台模块。系统服务模块包括数据库、数据库接口、游戏场景服务器、网关服务器、列表服务器、入口服务器、角色存盘接口及存盘服务器、第三方合作接口和游戏计费系统;受控安全模块包括数据库接口服务监控端、存盘服务器信息查询工具、游戏管理员工具、计费系统监控、平台配置系统和WEB服务(帐户站、玩家论坛和游戏官方网站);启动平台模块包括平台初始启动程序、列表程序、游戏客户端和下载工具。

2.4数据存储层设计

数据库设计是很大程度上决定应用程序的质量和成功与否,并关系着整个平台的功能和效率。平台根据网络游戏的逻辑功能

收稿日期:2007-05-05

作者简介:付东来(1979-),男,中北大学计算机系教师,硕士研究生,主要研究方向:计算机软件;匡华(1980-),男,贵州大学计算机软件与理论研究所,硕士研究生,主要研究方向:计算机软件。

1579

解决大型游戏平台的很好方案

网络通讯与安全

要求,可将数据库系统分为游戏数据库、用户数据库、游戏日志数据库三个数据库。其中游戏数据库主要处理游戏业务逻辑,存储游戏内容相关的数据,像角色信息、战区配置信息等,同时也处理与角色相关的计费问题;游戏日志数据库主要处理日志数据和外挂数据,存储外挂封停记录、日志数据,像外挂封停名单、封停日志等;用户数据库主要处理玩家帐号信息和费用管理。

本栏目责任编辑:冯蕾

本平台从以下几个方面保证平台的安全:统一管理登陆服务器的用户,记录用户登陆服务器的详细信息,将所有服务器设置安全策略,限制只有VPN服务器的IP地址才可以登陆。用来阻止除VPN服务器以外的计算机登录平台;对非法外挂、帐号盗用提供投诉管理机制;对数据核查,通过全面完整的日志纪录,平台系统可以对业务、操作等进行核查工作,及时发现管理问题,保证系统安全;在各个环节的任何两点之间都采用加密算法保护数据安全;对于像通讯平台这种接入的关键节点,对客户端连接进行安全性检查,验证身份的有效合法性;在数据的存储过程中,对于高安全性数据,采用加密存储的方式进行存储,以最大程度地保证客户交易的安全性和员工操作的安全性;内置的双机热备份功能和建立专门的灾备中心,保证系统可靠运行;应用服务器、通讯服务器、数据服务器以集群方式运行,保证系统不应单点故障失效;将对用户、员工、游戏管理员等所有对系统进行操作的权限控制集中到数据中心;实时监控网关服务器、数据库接口、异常事件等等的,及时发现处理机和应用服务器故障,减少停机时间,防止业务管理问题。

3具体模块设计

3.3系统服务模块

系统服务模块就是一个服务器集群,在网络游戏中称为战区,服务器群内的服务器按照功能可划分为数据库、网关服务器、游戏服务器、角色存盘接口及存盘服务器、列表服务器、入口服务器等。每组战区服务器根据战区人数的多少可以灵活的改变战区的逻辑结构。系统服务模块各服务器功能描述如下:

(1)数据库:为战区提供数据存储空间和数据操作的特定环境,是其他一切服务的基础。

(2)数据库接口:是战区连接数据库读取玩家信息和战区信息的接口,并负责监视战区运行状态的任务。

(3)网关服务器:是整个游戏的网关,玩家和游戏世界的消息通过网关服务器传递,并且由其判断消息的正确性和过滤非法消息,负责客户端的登陆登出,计费校验等工作。该服务器处理的消息量很大。

(4)游戏服务器:负责打开游戏场景,并处理玩家在游戏过程中的操作。通常该服务器的实际承受人数在千人左右。

(5)角色存盘接口:根据游戏服务器的需求存取玩家档案。目前角色存盘接口服务器常用于存储帮派信息、玩家在游戏中的活动记录等。这是整个游戏世界的核心部分,其数据需要重点保护。

(6)入口服务器:负责引导寻找列表服务器,具有分压功能,能自动寻找较闲置的列表服务器,分担玩家请求战区列表的压力。

(7)列表服务器:游戏世界的入口,它的作用是从数据库中读取列表信息,显示战区列表。维护人员可通过开关列表服务器或更改数据库中的开关来控制玩家登陆游戏。

3.4受控安全模块

网络游戏平台的特点有两多,一是服务器多,并且分布在全国各地;二是服务多,有数据库服务、平台的DBI、web服务、Gate服务等。平台管理员要管理这些服务器主机和起停主机上的服务等一些繁琐的工作,当服务器达到一定数量的时候,这些工作会变得庞大而且容易出错。并且对主机的资源状态、性能和服务的负载等等情况都没有很好的办法获得。所以在这样的情况下,就需要监控管理界面来完成实时监控和自动化操作。

同时网络游戏平台需要给玩家提供一个注册、交流、帐户操作的地方,给第三方提供开展业务合作的接口。这些需求通过WEB来实现。受控安全模块就包含这些功能,主要分为WEB应用、管理和监控这两个部分,此处不再详细描述。

3.5启动平台模块

游戏启动平台是指启动游戏的一些客户端和服务器程序其中包括启动界面、显示列表服务的界面、升级程序、升级提示程序、列表服务器、入口服务器。其主要流程:用户通过启动界面访问入口服务器,由入口服务器通知界面应该连接的列表服务器;确定列表服务器后,通过列表服务器列取战区列表;选择战区后,界面可获得其ip和端口,并进行版本升级控制,并引导玩家登录;登录成功后界面将启动游戏客户端;游戏客户端根据参数连接网关服务器并进入游戏世界开始游戏。

3.6容灾与安全方案

作为大型网络在线系统必须考虑容灾及安全方案。平台中采用的容灾方案的基本思想是:生产环境的两台服务器,组成一个本地的双机热备环境,热备份实现交易日志双机备份。当本地的一台服务器发生故障时,应用会自动切换到本地另外一台服务器上。在备份地点,由一台服务器作为备份服务器。当生产环境中的两台服务器都不能工作时,灾备中心的服务器自动启动应用,恢复正常的生产环境。

4方案的特色

稳定、可靠:平台设计采用分组的方式,用一台角色存盘接口服务器、二台游戏服务器、一台网关服务器组成一个网络组,用很多不同的小组分散开满足前端的游戏请求,对集中计算的一些工作,可以被分配到后端不同的小组中,这些小组共同组成一个功能强大的系统平台。而在每一个小组中,不同的服务器各司其职,前端的网关认证服务器负责接入、经过负载均衡算法后把用户引入到合适的游戏服务器,最大限度地发挥设备的功能,满足在线用户的游戏需求。

可扩展性、可维护性:由于玩家数量的多少关系到一款网络游戏的成败,因此平台就要有可扩展的机制来满足越来越多的在线人数。平台通过采用同时开放多个战区或者改变战区的逻辑结构以提高承载在线人数。

高安全、易管理:系统设置为内、外网。外网主要实现与网络

游戏平台。内网则主要是对上用户的互连,提供一个基础的认证、

系统文件的管理、游戏内容管理、用户信息管理、系统的维护,甚至是收费方面的管理和内部的信息化管理、自动化管理等。

5结论与讨论

基于集群技术的分布式四层网络游戏平台体系结构属于松耦合集群系统,不需要在集群中部署特殊的中间件层或者OS扩展,对服务器结点OS的兼容性比较好。对于其内部结点而言,基本上可以兼容多数的IP应用,不需要做复杂的移植和安装工作,该方案具有很好的稳定性、可靠性及可扩展性。经测试,10台网关服务器+20台游戏服务器+10台角色存盘服务器+2台数据库接口服务器+存盘节点服务器2台。最高可支持20000人同时在线。

参考文献:

[1]陈志刚,李登,曾志文.分布式系统中动态负载均衡实现模型[j].中南工业大学学报,2001,32(6):635-639.

[2]王晓川,叶超群,金士尧.一种基于分布式凋度机制的集群体系结构[J].计算机工程,2002,28(8):232-234.

[3]赵水宁,邵军力.多web服务器负载均衡技术的研究[J].电信科学,2001,(7):6-8.

[4]章文嵩.Linux服务器集群系统(四)[DB/OL].http://www-900.ibm.cora/developerWorks/cn/linux/cluster/lvs/part4/in-dex.Shtml.2002-05-10/2003-02-18.

[5]李东.IBM金融行业灾难恢复解决方案.软件世界,2001(12).[6]李虎雄,徐贯东,张燕姑.网络游戏数据平台数据通讯的实现方案.计算机工程与设计,2005.11.

[7]梁健,董德存.基于IMS的游戏平台构架研究.广东通信技术,2005.7.

[8]荣钦科技.著.游戏设计概论.北京科海电子出版社,2003.6.[9]刘军,丁红,吕涛.Google集群体系结构分析[J].武汉化工学院学报,2005.9.

1580电脑知识与技术

本文来源:https://www.bwwdw.com/article/cr8i.html

Top