[发明专利]一种可灵活组合拆分的分布式服务器系统无效
| 申请号: | 201010233643.2 | 申请日: | 2010-07-22 |
| 公开(公告)号: | CN102340524A | 公开(公告)日: | 2012-02-01 |
| 发明(设计)人: | 吕桂华 | 申请(专利权)人: | 盛趣信息技术(上海)有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08 |
| 代理公司: | 上海浦一知识产权代理有限公司 31211 | 代理人: | 王函 |
| 地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 灵活 组合 拆分 分布式 服务器 系统 | ||
技术领域
本发明涉及一种用于网络游戏的分布式服务器系统,尤其涉及一种可灵活组合拆分的分布式服务器系统,以影响网络游戏服务器端的开发模式与部署模式。
背景技术
目前的大多数网络游戏服务器系统均包括有若干的服务器,并且随着游戏的发展服务器的种类和数量也有逐渐增加的趋势。相应的开发方式与运营管理方式也非常有必要进行改进以避免开发与运营成本的大幅提高。
开发方式改进的必要性在于,如果按照传统的开发方式,环境的准备复杂度会逐渐提高,比如一个拥有8个服务器的游戏,测试其中的服务器将需要准备其余的7个服务器,因为一个业务通常都需要跨越多个服务器即需要跨越进程边界,对业务流的跟踪难度会相当大。
运营方式改进的必要性在于,因为每个服务器的启动基本上是手动进行,因此服务器数目的增加通常意味着工作量的成级数增加,以及监控成本的增加。降低同一个物理服务器上同时运行的服务器程序数目将大大降低管理成本。
发明内容
本发明要解决的技术问题是提供一种可灵活组合拆分的分布式服务器系统,可大幅降低分布式服务器系统设计中逐步拆分服务器的过程带来的开发难度、测试难度与部署管理难度,在不需要进行额外的源代码修改的前提下,可自由组合与拆分各功能服务器。
为解决上述技术问题,本发明采用如下技术方案:
一种可灵活组合拆分的分布式服务器系统,包含:
多个服务器,该服务器以动态库为单位,并具有统一通用的服务器业务消息处理接口;
服务器容器,包含服务器,该服务器容器提供服务器的管理与接收数据的路由功能;
网络抽象层,与服务器容器连接进行消息的传递,可根据目标服务器信息自动选择进程内通讯或网络通讯方式;以及
独立可通用的消息循环模块,用于将网络抽象层收到的消息分发给目标服务器;
在开发期,该分布式服务器系统为单一进程多动态库;在发布期,该分布式服务器系统为多进程服务器结构。
所述网络抽象层可将网络发包请求重定向到进程内的另一个服务器。
所述分布式服务器系统在发布期还包括一个代码工程生成工具,该代码工程生成工具通过将服务器原有的业务处理(即业务消息处理)代码直接添加消息循环代码与网络组件后转化为独立的服务器应用程序。
所述代码工程生成工具可消除所述的服务器容器和网络抽象层。
所述业务处理代码与消息循环代码相分离,且消息循环代码为所述服务器通用。
从开发期到发布期的服务器格式转换不需要修改代码且能自动去除服务器容器功能,并替换网络抽象层为实际的网络组件。
所述分布式服务器系统在发布期的发布流程包括如下步骤:(1)创建应用程序工程模板;(2)从指定的服务器动态库工程导入全部业务处理代码;(3)直接添加消息循环模板代码;(4)添加非抽象的网络层组件模块与代码;(5)编译生成发布版本的服务器应用程序。
本发明具有如下有益效果:本发明可大幅降低分布式服务器系统设计中逐步拆分服务器的过程带来的开发难度、测试难度与部署管理难度。在不需要进行额外的源代码修改的前提下,可自由组合与拆分各功能服务器。在开发时组合为单一的服务器,因此可大大降低开发时期的开发与调试难度;在部署时也可根据硬件与网络环境对服务器进行灵活的组合从而最大化资源利用并最小化运营成本。
附图说明
图1是一般网络游戏服务器的程序流程图;
图2是本发明分布式服务器系统的框架示意图;
图3是传统分布式服务器系统与本发明分布式服务器系统的结构对比示意图,其中,图3(A)是传统分布式服务器系统的结构示意图;图3(B)是本发明分布式服务器系统在游戏开发期的结构示意图;图3(C)是本发明分布式服务器系统在游戏运营期(发布期)的结构示意图;
图4是本发明分布式服务器系统中产品发布的流程图。
具体实施方式
本发明的分布式服务器系统基于以下的基本事实进行推导:
1.所有的游戏服务器的流程图均如图1所示,游戏服务器的流程主要包括如下步骤:(1)服务器等待网络数据;(2)收到网络数据后进行数据包解析;(3)调用OnMessage函数;(4)OnMessage函数根据消息包类型调用对应的业务处理函数。
2.所有的游戏服务器都包含一个统一的网络处理层,负责发送数据到目标服务器以及处理接收到的数据包;
3.所有的游戏服务器均包含一个消息队列及主消息循环,收到的数据包将被投递到消息队列轮询处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛趣信息技术(上海)有限公司,未经盛趣信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010233643.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种翻不漏自动开闭装置
- 下一篇:车辆扩展前视野的方法及构成





