ImageVerifierCode 换一换
格式:DOCX , 页数:60 ,大小:1.17MB ,
资源ID:2068348      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-2068348.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(社交游戏服务器端软件设计与实现.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

社交游戏服务器端软件设计与实现.docx

1、社交游戏服务器端软件设计与实现中图分类号:TP3 论文编号:10006GS1221388专业硕士学位论文社交游戏服务器端软件的设计与实现作者姓名 刘宗涛学科专业 软件工程指导教师 林广艳 教授林军 高工培养院系 软件学院Design and Realization of Control System Based on SOA A Dissertation Submitted for the Degree of MasterCandidate:Li MingSupervisor:prof.Lin JunCollege of SoftwareBeihang University, Beijing,

2、 China中图分类号:TP3论文编号:10006GS1221388硕 士 学 位 论 文社交游戏服务器端软件的设计与实现作者姓名 刘宗涛 申请学位级别 工程硕士指导教师姓名 林广艳 职 称 教 授指导教师姓名 林 军 职 称 高级工程师学科专业 软件工程 研究方向 移动云计算 学习时间自 2012 年 09 月 10日 起至 2015 年07 月 18日止论文提交日期 2015年 09 月 15 日 论文答辩日期 2015 年 00月 00 日学位授予单位 北京航空航天大学 学位授予日期 年 月 日关于学位论文的独创性声明本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得

3、的成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外,本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得北京航空航天大学或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志对研究所做的任何贡献均已在论文中做出了明确的说明。若有不实之处,本人愿意承担相关法律责任。学位论文作者签名: 日期: 年 月 日学位论文使用授权书本人完全同意北京航空航天大学有权使用本学位论文(包括但不限于其印刷版和电子版),使用方式包括但不限于:保留学位论文,按规定向国家有关部门(机构)送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被查阅、借阅和复印,

4、将学位论文的全部或部分内容编入有关数据库进行检索,采用影印、缩印或其他复制手段保存学位论文。保密学位论文在解密后的使用授权同上。学位论文作者签名: 日期: 年 月 日指导教师签名: 日期: 年 月 日摘 要网络游戏已经成为互动娱乐产业乃至整个国民经济中上升速度最快的产业之一。国内自主研发的网络游戏产品数量和质量都在不断提升,众多科研院所也加入到相关技术领域(主要是图形学、信息安全)的研发队伍。社交游戏作为网络游戏中的重要组成部分也逐渐成为了一个研究热点。本文分析了社交网络游戏架构,重点对网络传输、服务集群技术、负载均衡技术、数据缓存技术深入探讨,并对若干关键技术进行了详细设计与实现。本文立足实

5、际应用,针对参与研发的“塔防三国志”游戏完成了以下研究工作:首先,本文介绍了社交游戏服务器端软件设计与实现的研究背景与研究意义,之后通过对国内外现状分析对比提出了本文的研究内容和研究方法,然后在此基础上对相关理论和关键技术进行了深入探讨,这其中包括了网络传输协议、线程池技术和阻塞队列、服务器集群技术、负载均衡技术、数据库及其缓存技术等。其次,本文根据社交游戏的特点,给出了本文社交游戏设计原则,根据这些原则,本文对游戏的功能服务器架构、软件架构、服务器集群方案、负载均衡方案、服务器集群中的HTTP管理等方面进行了详细设计。其中,本文将游戏服务器分为了数据服务器、数据缓存服务器、登陆服务器、大厅服

6、务器、游戏服务器、中央控制服务器、日志服务器等7 个不同功能的服务器组。在逻辑层次划分方面,参考了MVC的分层思想将软件分为了表现层、应用服务层、调度层、消息层、数据层。最后,本文介绍课题的平台原型的设计与实现,首先介绍了平台的运行环境,为 Flex+Java的运行环境,分析了Flex作为前台表形层技术的优势,接下来讲述了平台的各个模块的设计理念与重要技术的实现方案,包括了:登录服务模块、大厅服务模块、游戏服务模块、重要控制模块、日志服务模块、数据库服务模块、缓存服务模块。关键词:社交游戏、服务器、服务器集群、负载均衡 Abstract Network games have become on

7、e of the fastest rising industries in the area of interactive entertainment industry and the whole national economy. With development of the quantity and quality of online games, many research institutes with the relevant art (mainly graphics, information security) have joined the R & D team. The so

8、cial gaming, as an important part of network game, is becoming a research hotspot.This paper analyzed the architecture of social network game, and focused on the technology of network transmission, service clustering technology, load balancing, data caching technology, then did the detailed design a

9、nd implementation. The main research work are as follows:Firstly, this paper introduced the research background and significance of the project, and then on the basis of current research of social games server presented the research content and research methods. In addition, the paper had done depth

10、 discussions in related theories and key technologies, the key technologies including network transmission protocol, thread pool and blocking queue, server clustering technology, load balancing, database and caching technology. Secondly, according to the characteristics of the social game, this pape

11、r presented the design principles, and then did the detailed design on the game server architecture, software architecture, server clustering solutions, load balancing scheme, server cluster management and other aspects of HTTP and so on. In this paper, the game server was divided into data servers,

12、 data cache server, login server, lobby server, game servers, central control server, log servers. In terms of logic level classification, with reference to the hierarchical thinking MVC software, this paper frame was separated into the presentation layer, application service layer, scheduling layer

13、, message layer, data layer.Finally, this paper introduced the design and implementation of the subject. This paper used Flex+Java as the system running environment, and realized the function of the service module, the service module, the service module, the key control module, the log service modul

14、e, the database service module and the cache service module and so on.Key Words: Social game, server, server cluster, load balance.第一章 绪论1.1课题背景与意义1.1.1 课题背景计算机网络技术的快速发展使得人们的生活的方式进入了信息化时代。而网络游戏也随着互联网的发展和普及出现在了人们视野中。经过近十年的发展,网络游戏已经成为了一种文化,成为了主流的社会娱乐方式。网络游戏产业作为一个高科技产业,有着非常大的发展潜力,一已经可以和影视、音乐等产业并驾齐驱成为全球

15、重要的娱乐产业之一。不仅如此,网络游戏产业的发展还可以带动其他相关产业的发展,网络游戏已渐渐地成为了互联网经济和数字娱乐产业的重要支撑,也成为了文化产业的一个增长点,对国家的经济和社会的发展有着非常大的推动作用,不少的国家也越来越重视网络游戏。2012上半年,中国游戏市场(包括PC网络游戏市场、移动网络游戏市场、PC单机游戏市场等)实际销售收入248.4亿元人民币,比2011上半年增长了18.5%。其中中国PC网络游戏市场实际销售收入(包括了客户端网游、社交游戏、社交游戏及游戏平台的市场销售额)为235.5亿元人民币,比2011上半年增长了16.9%。2013年网络游戏市场规模达到891.6亿

16、,根据目前的发展趋势,网络游戏市场会不断的增长,到2017年将会达到2245.7亿元1。与此同时,社交网站迅速发展,不管是国内腾讯、人人网、微信等还是全球性的社交平台facebook,再到每个国家自己的社交平台,在这些平台上的网络游戏都是很受欢迎的。这些平台上的游戏有一个非常重要的部分,就是社交功能。所以,社交类网络游戏的发展前景不可限量2。1.1.2 课题意义上游互动公司发现了这个蓝海市场,研发出深受广大玩家喜爱的社交类网络游戏塔防三国志。社交版塔防三国志截至2013年6月,累计注册玩家超过4300万,累计充值金额超过1.49亿元。2013年6月塔防三国志IOS版在苹果AppStore平台正

17、式上线,在AppStore的畅销游戏排行榜中最好排位为第8名。截止目前,最高的每日在线用户曾达到280万人。目前接入的平台有国内腾讯的朋友网、QQ空间、3366、QQGame和联盟区,还有手游平台IOS和andorid。还有国外市场,facebook、台湾、越南、韩国、新加坡和马来西亚等。塔防三国志的成功离不开一个稳定、可扩展的服务器端架构。虽然现在框架已经稳定,但是依旧存在一些问题。首先,各个平台之间的兼容问题,当接入一个新平台时需要分出一个分支,当有新功能时,其他平台很难整合。其次,随着服务器和分区逐渐增多,对配置文件的管理问题越来越严重,需要进行优化处理。再次,目前一些挂机、作弊软件泛滥

18、,给游戏玩家带来了心理不平衡问题及数据一致性问题。还有,在服务器之间进行的通讯目前并不规范,需要有一个更好的解决方案,来解决现有问题,并为将来新游戏提供理论和实践基础。1.2 国内外研究现状分析目前针对于社交类游戏服务器集群的专业研究还不存在,但是已经有了关于游戏服务器的设计与实现、关于游戏服务器实现所使用的技术都有了研究。周宇辉等人设计开发了带有中心服务器的分布式结构网络游戏,针对游戏引擎、分布式结构、动态路网寻路算法做了详细介绍3。其中游戏引擎和动态路网寻路算法是针对前端做的介绍,在分布式结构一章介绍了通讯流程,对具体如何实现并为做介绍。所以,该文献只对流程做了介绍,并不能指导架构的具体技

19、术实现。吴欣铠等结合人人城市游戏,介绍了该游戏的整体架构,并介绍了Velocity技术,缓存技术Memcached和人人的开放平台,着重介绍了缓存技术Memcached4。张越在网络游戏平台服务器端的设计与实现中详细介绍了各模块实现过程中的关键技术,其中有通信协议设计、同步设计、线程池技术以及异常处理等,但与社交类游戏的结合并不完善5。通过对上述一些关于游戏服务器架构类文献的研究,并结合相关技术的文档,总结发现,使用Java语言比较适合目前的社交游戏开发。因为社交游戏服务器端处理的逻辑量大,且具有支持多社交平台、大用户量,高并发访问等特点,所以该服务器集群应该具有支撑高并发,高负载,且需要快速

20、响应的能力。但是依旧存在以下相关问题:1)负载均衡问题处理现状在大量玩家同时在线的情况下,服务器端还要处理复杂逻辑,要想提高服务器响应速度,对服务器需要做负载均衡的处理。目前国内外处理负载均衡的方式有很多,其中也不乏优秀的负载均衡算法,比如:web服务器集群应用中使用的Pick-T算法,以及Linux虚拟服务器(LVS)技术6, 7。但是,在网络游戏服务器内应用成本偏高,并且不能很好的和游戏应用相联接。所以,该论题只能对其主要思想进行借鉴,将它融合到现有的廉价的工具上。同时,负载均衡还涉及到另一个层面,就是服务器访问数据库,当对数据库的操作频繁时,需要在数据的持久层也要考虑到负载均衡的问题。2

21、)服务器通讯问题现状目前的游戏玩家、功能以及相关的游戏服务器成正比快速增长,多功能服务器、多个分区服务器已经普遍存在,这就需要对游戏服务器之间的通讯加以重视。同时还有前端和服务器之前的通讯问题,这主要包括通讯方式和通讯安全等问题。随着Java的不断发展,其通讯框架也有多种,较为流行的框架有Grizzly,JBoss Netty,NIO Framework,QuickServer,xSocket,MINA8, 9。虽然种类很多,但是要考虑到游戏通讯的安全问题,简单的使用某个框架并不能满足多平台、多服务器集群的需求。所以,目前的方案并不能完全满足游戏服务器集群的需求,本论题则会根据具体的情况来使用

22、相应的通讯方式,甚至需要混合使用,提出更加合适的解决方案。3)数据库及相关技术现状市面上数据库技术非常丰富,国内外的技术也是相差无几,目前有关系型数据库,mysql,Oracle等和非关系型数据库Nosql,其中包括Membase和MongoDB等。虽然非关系型数据库比较流行,但是刚刚起步使用并不广泛,尤其在网络游戏行业,可能相关应用并不成熟,存在学习成本高的弊端。而关系型数据库中MySQL是免费的、成本低、成熟稳定,受到广大游戏开发者的喜爱。可是在处理高并发的时候,容易出现读写线程阻塞问题,因此,大多数服务器架构会引入Memcached缓存技术10。它不仅解决了阻塞问题,还解决了内存共享问题

23、,并提高了访问获取数据的速度。但是,在大数据量并发处理时,很如何才能和游戏逻辑很好的融合在一起,还需要深入研究和实践。1.3 研究目标及主要内容1.3.1研究目标目前网络游戏呈爆炸性增长,充分利用社交平台则加大了游戏成功的机会。所以,本论题计划为满足快速发展的游戏行业,提供一个全面的、性能能良好的、适合社交类游戏的游戏服务器集群框架,并通过详细的测试,给出该框架能够承载的范围。通过使用该框架,游戏开发者只需要关注游戏内的逻辑处理,而且能够使用为该框架服务的代码生成工具实现快速开发。让运维人员能够更方便的开服、和服和关服,更加容易的管理集群中服务器的相关配置信息。 网络游戏面向Interact的

24、连接人数巨大,为保证其平滑,稳定的运行,需要复杂的技术作为支持,而此项技术的核心内容之一就是服务器端的设计,它是游戏是否能够生存的关键。作为游戏服务器端程序员,主要工作是分析游戏服务器的特点,并结合项目自身的特定需求,在已有服务器结构的基础上,加以研究和应用,设计了一套完整的网络游戏服务器开发方案,以满足网络游戏服务器复杂功能的需求。1.3.2主要内容为了实现该游戏服务器集群框架,需要总结目前应用的游戏集群框架技术及相关的最新技术,进行优劣对比,并且分析游戏服务器集群架构中所需功能,完成如下方面的工作:负载均衡算法实现。虽然现在已经存在了很多负载均衡算法,在游戏架构中也有部分应用,但是仍需要实

25、现更适合社交游戏服务器集群的负载均衡算法网络传输模式研究。总结现有游戏前后端网络通讯传输模式,实现优化后的前后端通讯方式,实现服务器之间的传输通讯方式。数据库及缓存技术。总结并实现Java级别的数据库连接及缓存技术,优化并发问题的处理。服务器集群管理。实现对集群中配置文件管理设计以及集群中服务器的管理。1.4论文主要框架全文共分五章,对网络游戏服务器设计进行了研究和讨论。具体的章节安排如下:第一章:绪论。主要介绍了本文的研究背景与研究意义,然后总结分析国内外的研究现状,在此基础上提出本文的研究目标和研究内容。第二章:相关理论和关键技术。此第一章基础上对本文的相关理论和关键技术进行了深入探讨,这

26、其中包括了网络传输协议、线程池技术和阻塞队列、服务器集群技术、负载均衡技术、数据库及其缓存技术等。第三章:软件通用架构设计开发。本文根据社交游戏的特点,给出了本文社交游戏设计原则,根据这些原则,本文对游戏的功能服务器架构、软件架构、服务器集群方案、负载均衡方案、服务器集群中的HTTP管理等方面进行了详细设计。第四章:这一章是介绍课题的平台原型的设计与实现,首先介绍了平台的运行环境,为 Flex+Java 的运行环境,分析了 Flex作为前台表形层技术的优势,接下来讲述了平台的各个模块的设计理念与重要技术的实现方案,包括了:登录服务模块、大厅服务模块、游戏服务模块、重要控制模块、日志服务模块、数

27、据库服务模块、缓存服务模块。第五章:总结与展望。第二章 相关理论与关键技术2.1 网络传输协议协议是用来描述进程之间信息交换数据时的规则术语。在计算机网络中,两个相互通信的实体处在不同的地理位置,其上的两个进程相互通信,需要通过交换信息来协调它们的动作和达到同步,而信息的交换必须按照预先共同约定好的过程进行。一个网络协议至少包含三要素:语法:用来规范信息格式,数据及控制信息的格式。语义:用来说明通讯双方应该怎么做,用来协调及差错处理的控制信息。定时:定义了何时进行通讯,先讲什么,后讲什么,讲话的速度等等。2.1.1 OSI 参考模型与 TCP/IP 协议使网络中的两台计算机系统通信需要一致的协

28、议,同时不通主机、不同厂商的网络互联需要统一的标准。国际标准化组织(ISO)早在 20 多年前就提出了开放系统互联(OSI)参考模型。OSI 模型提出后的 20 多年来,有关网络协议设计的思想已经有了很大发展,许多现代的网络协议(如现在流行的 TCP/IP 协议)也不完全符合 OSI 模型,但是 OSI 的概念与思想仍然被保留了下来11。图1 OSI参考模型与TCP/IP参考模型对比图1. OSI 参考模型OSI 只是给出了计算机网络传输的参考性说明,并不是一个具体的网络协议的实现。它把整个网络功能划分为七层,分别为:物理层、数据链路层、网络层、传输层、会话层、表现层、应用层。层与层之间的联系

29、是通过各层之间的接口来进行的,上层通过接口向下层提出服务请求,而下层通过接口向上层提供服务。除了物理层之外,各对等层之间不存在直接的通讯,而是通过各对等层之间的协议进行通讯,只有物理层是通过物理媒介进行的直接通讯。各层的功能如下12:物理层:为数据链路层提供物理连接,在其上串行传送比特流,即所传送数据的单位是比特。此外,该层中还具有确定连接设备的电气特性和物理特性等功能。 数据链路层:负责在网络节点间的线路上通过检测、流量控制和重发等手段,无差错地传送以帧为单位的数据。为做到这一点,在每一帧中必须同时带有同步、地址、差错控制及流量控制等控制信息。网络层:为了将数据分组从源(源端系统)送到目的地

30、(目标端系统),网络层的任务就是选择合适的路由和交换节点,使源的传输层传下来的分组信息能够正确无误地按照地址找到目的地,并交付给相应的传输层,即完成网络的寻址功能。传输层:传输层是高低层之间衔接的接口层。数据传输的单位是报文,当报文较长时将它分割成若干分组,然后交给网络层进行传输。传输层是计算机网络协议分层中的最关键一层,该层以上各层将不再管理信息传输问题。 会话层:该层对传输的报文提供同步管理服务。在两个不同系统的互相通信的应用进程之间建立、组织和协调交互。例如,确定是双工还是半双工工作。表示层:该层的主要任务是把所传送的数据的抽象语法变换为传送语法,即把不同计算机内部的不同表示形式转换成网

31、络通信中的标准表示形式。此外,对传送的数据加密(或解密)、正文压缩(或还原)也是表示层的任务。应用层:该层直接面向用户,是 OSI 中的最高层。它的主要任务是为用户提供应用的接口,即提供不同计算机间的文件传送、访问与管理,电子邮件的内容处理,不同计算机通过网络交互访问的虚拟终端功能等。2. TCP/IP 模型TCP/IP 是 Transmission Control Protocol/Internet Protocol(传输控制协议/互联网协议)的缩写。美国国防部高级研究计划局 DARPA 为了实现异种网络之间的互连与互通,大力资助互联网技术的开发,于 1977 年到 1979 年间推出目前形

32、式的 TCP/IP 体系结构和协议。1980 年左右,ARPA 开始将 ARPANET 上的所有机器转向 TCP/IP 协议,并以ARPANET 为主干建立 Internet。为推广 TCP/IP 协议,ARPA 以低价出售 TCP/IP 的使用权,还资助一些机构来开发用于 UNIX 操作系统中的 TCP/IP 协议。TCP/IP 是 Transmission Control Protocol/Internet Protocol(传输控制协议互联网协议)的缩写。美国国防部高级研究计划局 DARPA 为了实现异种网络之间的互连与互通,大力资助互联网技术的开发,于 1977 年到 1979 年间推出目前形式的 TCP/IP 体系结构和协议。1980 年左右,ARPA 开始将 ARPANET 上的所有机器转向 TCP/IP 协议,并以ARPANET 为主干建立 Internet。为推广 TC

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2