第一范文网 - 专业文章范例文档资料分享平台

网络游戏技术开发(最终版)

来源:用户分享 时间:2025/5/24 1:18:12 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

网络游戏应用平台的体系结构

与传统的两层结构比较,多层结构具有很多优点。

一、允许合理地划分三层及多层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。

二、允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。例如,最初用一台Unix工作站作为服务器,将数据层和功能层都配置在这台服务器上。随着业务的发展,用户数和数据量逐渐增加,这时,就可以将Unix工作站作为功能层的专用服务器,另外追加一台专用于数据层的服务器。若业务进一步扩大,用户数进一步增加,则可以继续增加功能层的服务器数目,用以分割数据库。清晰、合理地分割三层结构并使其独立,可以使

系统构成的变更非常简单。因此,被分成三层的应用基本上不需要修正。

三、三层及多层结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行地而且是高效地进行开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。

四、实现分布式数据处理。把一个应用程序分布在几个机器上运行,可以提供应用程序的性能,通过冗余配置还可以保证不会因为局部故障导致整个应用程序崩溃。

五、有利于安全。允许充分利用功能层有效地隔离开表示层与数据层,将一些敏感数据功能部分封装在中间层,并授予不同访问权限,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,可以保证对数据的访问限制,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。

当提供最基本功能的平台实现后,我们就要在这个平台上放映最精彩的节目。C/S多层结构的实现,为网络游戏的实现提供最基本的技术保证。然而,这还远远不够,还需要我们在这平台尽情的发挥。因为,网络游戏还有它自己的系统结构,这在很大程度上决定了游戏的性能和效率以及玩家的满意度。下一章,我们就来详细了解网络游戏的系统结构。

11

网络游戏技术开发

第5章 网络游戏的系统结构

这章主要讲解网络游戏平台的体系结构及关键技术,网络游戏平台的总体设计,以及游戏服务器的总体实现。

5.1 网络游戏平台的体系结构及关键技术

近年来计算机网络的发展及大规模科学计算如基因数据的分析、气象预报、石油勘探对服务器的性能要求越来越高,对计算机的性能提出了更高的要求:需要硬件有灵活的可扩展性,关键性的业务需要可靠的容错机制。但是已有工作模式,对新的需求却显得力不从心。因此,如何保证一个大型系统具有处理速度快、I/O吞吐量大,容错性好、可靠性高,而且还具有良好的可扩展能力,成为当前急需解决的课题。在此需求环境下,集群系统应运而生。

网络平台的发展给网络游戏奠定了坚实的物质基础,宽带的迅猛发展为网络游戏提供了“高速公路”,而专用游戏服务器的崛起则为网络游戏提供了容量巨大的“加油站”。服务器和客户端间的通讯是实现游戏网络化的基础,如何实现服务器与客户间的及时、稳定的数据交换是评价一个网络游戏优劣的标准,也是众多网络游戏努力的方向。虽然服务器和客户端间的通讯质量在一定程度上取决于硬件的质量,如服务器的型号、承载量等,但同时也取决于软件质量。本节主要介绍游戏服务器和游戏客户端间数据交换的游戏通信平台。

5.1.1 集群技术的平台体系结构

同时在网络应用中,“负载均衡”已经不能算是什么新鲜话题了,从硬件到软件,也都有了很多的方法来实现负载均衡。我们这里讨论的负载均衡,并不是指依靠DNS转向或其它硬件设备等所作的负载均衡,而是指在应用层所作的负载均衡。

一般而言,只有在大型在线系统当中才有必要引入负载均衡,那么,多大的系统才能被称为大型系统呢?比如动辄同时在线数十万的网络游戏,比如同时在线数在10万以上的WEB应用,这些我们都可以理解为大型系统,这本身就是一

12

网络游戏的系统结构

个宽泛的概念。

设计再好的服务器程序,其单个程序所能承载的同时访问量也是有限的,面对一个庞大且日益增长的网络用户群,如何让我们的架构能适应未来海量用户访问,这自然就牵涉到了负载均衡问题。支持百万级以上的大型在线系统,它的架构核心就是如何将“百万”这么大的一个同时在线量分摊到每个单独的服务器程序上去。真正的逻辑处理应该是在这最终的底层的服务器程序(如QQ游戏平台的游戏房间服务器)上的,而在此之前所存在的那些服务器,都可以被称为“引路者”,它们的作用就是将客户端一步步引导到这最终的负责真正逻辑的底层服务器上去,我们计算“百万级在线”所需要的服务器数量,也是首先考虑这底层的逻辑服务器单个可承载的客户端连接量。

集群技术的提出为我们解决上述问题提供了切实可行的解决方案,它能更好地满足大型系统业务、性能以及规模等日益增长的需求。

集群技术在网络游戏中的应用体现是:一个网络游戏是由很多个游戏世界组成,而每个游戏世界是由多个具有不同功能的服务器组成的服务器群组,可以为玩家无限地开独立的游戏世界(即服务器组),以满足大型玩家在线,可以无限开的都是“具有完整游戏性的游戏世界”,对于网络游戏而言,它的一个完整的游戏地图就是一个整体的“游戏世界”。

网络游戏中为玩家提供服务的是每个服务器集群系统,即战区。因此,一个战区就是一个独立的结构,网络游戏的平台体系结构可分为四个层次。

第一层是客户端,提供用户接口,主要功能是指导用户使用界面,输入数据,输出结果,并不具有企业逻辑,或只拥有部分不涉及企业核心的机密的应用逻辑。这样的客户端就叫做瘦客户端。

第二层是游戏通信平台,这是服务器集群的唯一入口,转发所有的功能请求给服务节点池中的具体服务器,并处理所有的非功能请求,并管理终端用户,进行状态保持、日志记录等。从客户端的角度看,集群通过这层的服务体现为一个基于IP地址的单一系统映像,整个集群共用这个虚拟地址,通过它客户端可以把整个集群看作一个独立的具有合法IP地址的主机系统,客户端的所有访问都发往这个虚拟的IP地址。

网管服务器同时有负载均衡的功能,有必要的容错机制。在现有网络结构上,

13

网络游戏技术开发

负载均衡提供了一种廉价有效的方法扩展服务器带宽和增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。主要功能如下:1.解决网络堵塞问题,服务就近提供,实现地理位置无关性;2,为用户提供更好的访问质量;3.提高服务器响应速度;4。提高服务器及其他资源的利用率;5。避免了网络关键部位出现的单点失效。

第三层是提供实际服务的服务器群,处理并仅处理所有的功能性请求,不参与用户管理、状态保持等,提供最纯粹的功能服务。客户端发出的服务请求经过游戏通信平台处理以后,转交到服务池有具体的服务器响应请求并返回数据。由于单一系统无法应付高峰值的数据的访问,则可以通过多台服务器分担这些负载就显得非常的经济。

第四层是数据库存储服务,负责管理对数据的读写和维护,为整个集群内部运行提供稳定、一致的数据存取服务。这一层作为网络游戏平台的数据层,可以为集群节点提供统一的数据库入口,即在每一台数据处理服务器上都共用一个数据库IP地址和端口,并且自动完成不同节点访问数据库所引发的文件锁定、负载均衡、容错、内容一致、读写事物等底层功能,对应用层提供一个透明的数据库访问服务。

基于集群技术的四层网络游戏平台体系结构属于松耦合集群系统,不需要在集群中部署特殊的中间件层或者OS扩展,对服务器结点OS的兼容性比较好。对于其内部结点而言,基本上可以兼容多数的IP应用,不需要做复杂的移植和安装工作,每个内部结点可以看成相对独立的服务器系统,功能也是透明的提供给用户空间,不影响本机的正常的网络应用。

5.1.2 游戏通信平台

游戏通信平台(Game Communication Platform)在游戏平台中通常叫网关服务器(GateServer),用于游戏服务器(GameServer)和客户端(Client)之间数据交换的服务器,管理所有的玩家和游戏服务器连接,并且负责客户端的登陆登出,记费校验等工作。如图3。

14

搜索更多关于: 网络游戏技术开发(最终版) 的文档
网络游戏技术开发(最终版).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c27u1e0d1tf03gjy5z86b_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top