![](https://img-blog.csdnimg.cn/20210526164836901.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
业务设计方案
文章平均质量分 66
游戏行业的业务设计方案
_好吗_好的
Stay Hungry,Stay Foolish.
展开
-
Redis多个命令优化方案
业务需求在RPG游戏中,有种不常见的跨服业务:找出几十个排行榜的第一名,展示对方的信息,比如王者荣耀出一个每个皮肤拥有玩家的段位排行榜。游戏排行榜示例图 :需求分析对于排行榜,我们一般都是用Redis的Zset来实现(对此有疑问可以查看这篇博客),那怎么查询第一名呢?答案是 通过Redis的Zrevrange://Redis Zrevrange 命令返回有序集中,指定区间内的成员。//其中成员的位置按分数值递减(从大到小...原创 2021-07-04 14:35:14 · 411 阅读 · 0 评论 -
怎么优化批量任务执行效率?
业务背景对于一个游戏来说,必然有一些业务是批量执行的。就拿RPG游戏来说,会有成百上千个区服,如果我要开一个新的活动,比如跨服的活动,需要在所有区服同时开启。这边需要考虑两个问题:运营人员操作管理后台给所有区服批量增加活动 活动开启时对应区服服务器应该受到任务调度进行调度业务分析对于第二个问题很好解决,我们在创建活动时顺便创建任务调度,后续就完全与后台管理服务器无关了。所以我们这边主要讨论的就是第一个问题。之前采用的是同步方案,也就是说,用一个协程,顺序遍历所有区服,每个区.原创 2021-05-25 22:36:31 · 727 阅读 · 1 评论 -
游戏数据量太大了怎么办?
业务需求分析对于一款DAU上十万的RPG游戏来说,数据量很容易上千万,那这样用一个数据库存储肯定是不行的,不管是IO和CPU都会是瓶颈。所以,分库分表已是必然!IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 ->分库和垂直分表。第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 ->分库。CPU瓶颈第一种:SQL问题,如SQL中包含join,group by,order by,非索引字段条件查询等,增加CP...原创 2021-05-16 23:31:58 · 1133 阅读 · 1 评论 -
如何实现游戏中的段位排行榜?
以王者荣耀例子来解释方案,并非是王者荣耀真实方案业务需求分析在王者荣耀中,我们会打排位,而且我们想展示我们的段位会有很多个排行榜,比如段位排行榜。而段位排行榜是我们经常关注的,我们会看我们的段位在区服的排名情况,在好友列表中的排名情况。根据以上需求,我们可以分析出排行榜需要提供两个功能:查看段位排行榜 查看自己的排名设计方案在做设计方案之前,有个细节得注意:段位在数据库和后端计算都是分数形式,比如青铜三,三颗星:13那怎么设计这个方案呢?有同学就会说,直接将数据..原创 2021-05-05 10:18:35 · 1573 阅读 · 0 评论 -
日常任务方案设计
简介在游戏中业务中,日常任务是很重要的一个玩法,比如王者荣耀的日常。存在的问题如果大家对游戏行业接触不深的话,首先想到的就是通过任务调度,在晚上12点的时候调度所有的服务器,将服务器服务的本区服所有玩家的数据进行重置。但是有个很大的问题就是如果区服的玩家数量非常大,那这样在某个时间大量重置日常任务时会导致这个时间段服务器会卡顿,从而造成玩家的游戏体验感不好。设计方案其实从玩家活跃时间段可知,在晚上12点玩游戏会比晚上19~22点的玩家少很多,所以可以做如下设计:玩家...原创 2021-04-10 13:33:31 · 1008 阅读 · 0 评论 -
统一接口设计方案
简介 在业务开发过程中,和前端或者客户端设计proto的时候难免会遇到一些接口,业务逻辑基本一样,所以这种情况只需要复用一个proto就可以了,由一个管理中心来负责这个接口,管理中心根据前端/客户端传的参数来决定调用哪个业务逻辑。业务场景道具和资源的增删查改; 游戏业务的作弊器; 玩家和英雄皮肤; 各类排行榜设计方案 在业务开发过程中,存在一种业务场景,接口的作用是相同的,比如道具和资源的增删查改,都有相同的功能接口:增删查改。那对于这种情况,可...原创 2021-04-05 20:25:24 · 1691 阅读 · 2 评论