• 在举国哀悼之日,我仅技术角度分析开心网暂停游戏后恢复存在的问题



    今天是悲伤的一天,收到了国务院最高文件通知,所有娱乐项目几乎全部暂停,自然包括了开心网内大部分的游戏。

    于是我非常有兴致的测试了一下,果然,到了今天凌晨12点,开心餐厅、开心农场等游戏已经停止了。

    开心网(或者说大部分SNS游戏) 都是基于时间的。比如开心餐厅,炒一个菜12小时,之后才能收。这基本上就是SNS游戏的模式了。那么从数据库角度,必然在每个活动后面设置一个enddate(终止时间)。

    当客户端运行的时候,首先读取这个enddate,然后再根据客户端的时间脉冲虚假的显示倒计时功能。

    当用户尝试点击操作,如果客户端时间没有到,那么直接返回错误提示(这个是基本的缓冲了);如果客户端时间到了,那么会读取数据库的enddate,判断之后操作。

    到目前,我不相信还有其他的更加合理的设计思路(如果说记录开始时间和跨度,那么本质也是一样的,而且导致了后期操作需要多执行一次运算得到enddate,我相信没有设计师会用这种设计。) 

    我大胆假设一次

    现在我想假设一下,我认为开心网的的游戏恢复后,大部分的活动全部出现超时现象。比如开心餐厅的炒菜,当游戏恢复后,玩家进入游戏,会发现所有食品全部过期了腐烂了;种菜也是;所有菜都成熟了。

    我个人觉得,开心网的工程师们不会去实际修改游戏中的enddate,不会延期24小时。因为这基本上要在百万千万级别的数据中执行一次update。而且一旦这种人为的非正常逻辑的操作失败,损失是更加恐怖的。

    如果我假设对了,那么现在开心网等网络游戏工程师们,要好好思考一下框架的脆弱性了。 

    2010-04-23 零时最新报告!我的猜测准确拉!

    有图有真相!

    所有食物全部腐烂了。证明了我的猜测。

  • 相关阅读:
    【Leetcode】反转链表 II
    将博客搬至CSDN
    UVA 11021(概率)
    zoj
    Codeforces Round #227 (Div. 2) / 387C George and Number (贪心)
    点头(1163)
    fzu-2164 Jason's problem(数论)
    nyist --ACM组队练习赛(链接)
    nyoj-括号匹配(二)15---动态规划
    动态规划
  • 原文地址:https://www.cnblogs.com/zc22/p/1717560.html
Copyright © 2020-2023  润新知