论文部分内容阅读
在游戏行业中通常使用关系数据库,但是由于项目需求设计生成的大量非结构化数据无法在常用的关系数据库中有效地存储和处理,因此非关系数据库诞生了。虽然非关系数据库在处理结构化数据方面并不高效,但在处理非结构化数据方面非常高效。与此同时,关系对象映射技术提供了对象和数据库之间的桥梁,前台面向对象的数据和数据库中的关系数据通过这个桥进行转换。为了简化重复代码的编写与缩短项目研发周期等原因使用对象关系映射技术是非常有必要的,但是MongoDB数据库在C++开发平台下开源的对象关系映射封装还是一片空白。本文基于C++开发平台面向网络游戏服务端,以高性能、高稳定性、高可移植性和高可扩展性为基础的设计目标来研发。针对游戏服务端研发过程中的逻辑需求与关键技术点展开研究,设计一个满足研发需求的MongoDB数据库对象映射封装框架,并且对框架中的部分关键技术模块进行设计和实现。主要研究内容如下:(1)分析了目前非关系数据库的发展现状和MongoDB数据库在Java和C#开发平台下对于关系对象映射技术的应用,以及发现在C++开发平台所面临的没有开源可用的对象关系映射封装的问题。(2)针对休闲游戏服务端研发进行功能需求分析、数据需求分析、对象关系封装模块分析以及性能需求分析和可行性分析,为基于MongoDB数据库的对象关系映射封装设计提供基础。(3)通过原型系统以及功能结构设计出MongoDB数据库关系对象映射封装各个功能模块以及功能接口,并实现基于MongoDB数据库的对象关系映射框架,其中包含数据库连接模块以及数据映射模块的核心代码。(4)针对休息游戏服务端研发中的用户数据、子系统和日志数据应用,基于MongoDB数据库的对象关系映射封装给出具体示例。并对封装模块进行功能测试和性能测试,最终结果完全符合设计需求。本文的研究成果填补了在C++开发平台使用MongoDB数据库没有对象关系映射封装的空缺。在满足游戏服务端研发需求的前提下还能够让游戏研发人员只需关注上层游戏业务逻辑的实现,无需关心数据库连接和数据加载保存过程等较为底层的实现过程。从而降低了服务端的研发难度、增加了服务端的研发效率、加快了项目研发进度。