论文摘要
随着网络技术的迅速发展和硬件性能的不断提高,网络游戏已经成为电子游戏产业中增长最块的游戏类型,构成了IT行业中新兴的利润增长点。巨大的市场需求吸引了国家和社会的极大关注,越来越多的专业游戏开发商介入其中。由于历史的原因,我国的游戏产业起步较晚,尚处于快速发展阶段。目前,随着网络游戏玩家的日益增多,网络游戏服务器端承受着严峻的性能考验和负载压力。为了提供良好的服务品质,网络游戏服务器端的设计显得尤其重要。进行游戏服务器端网络通信架构以及关键技术的研究,对于游戏产业的发展和现行游戏的开发都有积极的意义。网络游戏服务器同时为大量客户服务,要求具有很高的稳定性,同时能够及时响应客户请求。性能的提高依赖于服务器数据处理的每一个环节,而通信部分位于体系底层,有着基础和支柱的作用。系统资源的分配方式、Socket的管理、I/O模式的选择、并发服务以及负载均衡策略等都直接影响到通信的效率。本文将首先分析和讨论服务器通信相关技术。接着在阐述服务器系统层次框架的基础之上,着重分析服务器中通信系统的功能需求和体系结构设计。同时对系统赖于运行的驱动机制——事件订阅和消息驱动进行了深入地讨论。一个良好的设计应该尽量减少模块间的耦合度,结合系统特性运用设计模式力求封装变化,以使整体架构具有较好的可扩展性和可维护性。文中采用了面向对象方法对服务器网络体系中的关键模块进行了详细的分析和设计。讨论网络I/O的管理,阐述如何处理大量客户的连接以及数据传输等;设计连接会话,分析会话状态维护以及空闲会话、非法会话的检测;研究通信协议的分层机制,设计数据在各层的格式定义,实现协议数据与具体业务的转换等;分析系统资源预分配机制中线程池的具体实现,阐述分配者/工作者策略的设计思路与技术优势。文中所研究的通信体系架构以及关键技术的设计实践分析,对了解和解决服务器设计中所遇到的基本问题有很好的工程参考价值。
论文目录
摘要ABSTRACT第一章 绪论1.1 课题背景和意义1.1.1 网络游戏产业的蓬勃发展1.1.2 课题研究的意义1.2 研究现状1.2.1 网络游戏基本概念1.2.2 游戏服务器发展现状1.2.3 游戏服务器组织架构1.2.4 游戏服务器设计要求1.2.4.1 网络游戏服务器的基本需求1.2.4.2 设计挑战1.3 研究的主要内容1.4 本文的组织结构第二章 服务器通信相关技术分析2.1 资源预分配机制2.1.1 资源分配机制的比较2.1.2 对象池原理2.2 通信体系模式2.2.1 网络协议的选择2.2.2 C/S 与P2P 的选择2.3 Windows Socket 基础2.4 异步I/O 模式2.4.1 I/O 模式的比较2.4.2 IOCP 运行机制2.4.3 IOCP 与EPOLL 的异同2.5 并发服务策略2.6 负载均衡策略2.7 本章小结第三章 通信架构分析与设计3.1 服务器系统层次框架3.2 通信系统功能需求3.3 通信体系结构设计3.4 系统运行的驱动机制3.4.1 事件委托机制3.4.2 消息驱动机制3.4.2.1 消息的格式3.4.2.2 消息的分发3.4.2.3 消息的处理3.5 本章小结第四章 系统详细设计与实现4.1 全局对象实例设计4.1.1 单件模式的思想4.1.2 单件模式的实现4.2 网络I/O 管理4.2.1 I/O 管理的模块划分4.2.2 完成端口管理4.2.3 网络连接请求响应4.2.3.1 系统连接过载时的处理4.2.3.2 网络事件的获取4.2.3.3 连接请求的合法性检查4.2.3.4 合法连接的资源分配4.2.4 数据投递线程设计4.3 连接会话设计4.3.1 会话相关类结构4.3.2 会话状态管理4.3.3 会话信息统计4.3.4 空闲会话与失效会话的检测4.4 通信协议设计4.4.1 协议分层机制4.4.2 数据块分拆与合并4.4.3 数据块的有序化4.4.4 数据的加解密4.4.5 协议报文解释4.4.6 非法数据的检测4.5 线程池的实现4.5.1 线程池结构分析4.5.2 任务对象的设计4.5.3 线程同步控制4.5.4 任务的分配策略4.5.5 工作者线程的处理流程4.5.6 线程池尺寸的自适用调整4.5.7 性能分析4.6 本章小结第五章 系统测试5.1 测试环境5.2 测试用例描述5.3 测试结果分析5.4 本章小结第六章 结束语6.1 结论6.2 进一步研究工作致谢参考文献攻硕期间的研究成果
相关论文文献
标签:通信架构论文; 网络论文; 连接会话论文; 通信协议论文; 分配者论文; 工作者线程池论文;