广东服务器大促销查看详情

游戏服务器开发如何组织业务逻辑的处理结构?


    发布时间:2018-12-19 14:59:01  |   发布者:IDC   | 访问次数:632

  游戏服务器就是对游戏数据的处理及逻辑验证,一般的步骤就是: 1、接收客户端请求的数据 2、根据请求的数据找出是哪个业务的请求 3、处理业务的请求 4、更新被修改的数据。 5、返回数据给客户端。 所以按照以上的步骤...

游戏服务器就是对游戏数据的处理及逻辑验证,一般的步骤就是:

1、接收客户端请求的数据

2根据请求的数据找出是哪个业务的请求

3处理业务的请求

4更新被修改的数据。

5返回数据给客户端。

所以按照以上的步骤,我们现在只关心业务逻辑的处理流程,这里设置一个前题,就是服务器的数据都是在内存中的。内存中的数据与数据库的同步由底层的其它系统处理。在内存中,我们创建并缓存一个对象Player,它包括所有模块的数据,比如背包,个人商店(Shop),技能(Skill),武将,副本 等等,Player只是数据类,里面不应该包括任何逻辑方法,所有的逻辑方法操作应该在Manager中处理。比如ShopManager。

游戏服务器开发如何组织业务逻辑的处理结构?

业务处理流程

比如我们使用netty做为网络层的通信框架,在Channel的Handler中收到客户端请求的数据,根据请求的消息号,调用处理业务的Handler。在业务的Handler中验证参数的合法性,然后再调用业务逻辑的Service层,Service层负责的业务流程的处理,比如购买商品,第一步判断商品是否已卖完,第二步判断剩余数量是否足够,第三步判断是否已购买过,第四步判断钱是否足够,第五步是付钱,第六步是发送购买获得的道具。这里面应该都是方法的调用,而没有任何数据的处理,数据的处理由第三层的Manager管理。Manager对应中声明一个参数Player,在创建Manager对象时传入,不同的模块数据之间交互都由Manager处理,Manager中的方法职责单一,只负责处理一件事情。每个用户的每个模块Manager对象各一个。用户之间不共享,这样可以减少参数的传入。这样更加方便面向对象的设计。方便对业务逻辑进行单元测试。

游戏服务器开发如何组织业务逻辑的处理结构?

Service层

每个用户的每个模块的Manager实例存储在当前用户业务逻辑处理的线程的LocalThread中的HashMap中,这样方便管理又避免使用锁了。使用一个ManagerFactory对象统一管理Manager对象的创建和获取。

游戏服务器开发如何组织业务逻辑的处理结构?

租用游戏服务器就选新之洲数据!为您提供完善的解决方案,让您使用游戏服务器时省心、省事、省时!24小时在线Q78664972

版权声明:部分文章内容、图片来源于互联网获取,如有侵权请联系删除,发送邮件:server889#qq.com 请将#改为@,我们将第一时间审核处理!
Tags游戏服务器
上一页文章:2015上半年备受关注的五大云计算要点   下一页文章:租用高防服务器时应该选择硬防还是软防?

关注新之洲COM
服务器租用/托管联系QQ:78664972 / 316065124

服务器优势
     
IDC优势

IDC优势

广东专业IDC服务器租用提供商
8年以上丰富经验,ISP经营许可资质
多个机房供应选择IDC数据中心
服务器机房资源遍布海内外
贴心服务支持

贴心服务支持

7*24技术维护支持
普通话、英语多语言技术支持
免费故障排查处理
免费重启,重装系统,网络连接维护服务等
       
网络和硬件的保证

网络和硬件的保证

网络基础设施一流
保证安全可靠的存放环境
网络连通率99.99%
多线路骨干网接入,网速畅通无阻
管理和监控

管理和监控

网络连接管理
实时监测带宽使用
流量监视
提供免费网络流量报告
  服务协议/条款

一、整机服务器可安装任何系统,默认Windows Server 2003系统以及linux系统,其他系统可提供完整镜像安装。

二、国内机器均要备案,如未备案的可联系客服备案,香港服务器,韩国服务器免备案。

三、退款条例:非机器问题不支持退款,质量问题可申请退款。

四、一切内容以客服聊天记录为标准,S内容直接封机器不退款。

五、新之洲数据一致续费提前三天会给您联系通知,如联系不上机器到期先下架1天第二天还未来续费或者备份资料的直接格式化。

六、免责声明,关于机器故障等情况这个是机房无法控制的,请各位用户要备份,可联系技术员设置全自动日期周期备份。