【发布时间】:2015-02-09 23:48:36
【问题描述】:
我是一名视频游戏开发人员,我使用 Parse.com 开发我的游戏。多亏了它,我保存了玩家分数和游戏持续时间。在每个游戏会话结束时,我都会显示社区统计数据,让玩家可以看到他的分数在社区分数中的位置。
看起来像这样:
由于我不是后端专家,而且我从来没有想过我的小游戏必须处理大量数据,所以我天真地使用云代码(Parse.com 提供的功能)计算了这些统计数据每个分数条目并生成一个由 40 分组成的图表。
到目前为止,我从 Parse.com 数据库中提取了每个分数,并提取了以下数据:
- max_score(int):集合中的最高分;
- points(字符串):40个点,从0到1,逗号分隔,描述实际图表;
- entry_count(int):数据库中的条目数;
- medium (float):该组的中分;
编辑
points 字符串在这里是最重要的。这是一个看起来像的字符串:
0.4147,0.286,0.2179,0.1463,0.1106,0.0819,0.0676,0.0458,0.0363,0.0264,0.0206,0.014,0.0096,0.008,0.0063,0.0042,0.0027,0.0025,0.0018,0.0013,0.0008,0.0008,0.0004,0.0005,0.0003,0.0002,0.0002,0.0001,0.0001,0.0001,0.0001,0,0,0,0,0,0,0,0,0
每个数字代表一个统计点。相同分数的比赛越多,得分越高。第一个点表示接近 0 的分数,最后一个点表示接近 max_score 的分数。数字是从 0 到 1。因此,如果 90% 的分数为 0(或几乎),则字符串中的第一个数字将是 0.9...
/编辑
问题在于到目前为止玩的游戏数量(超过 500K 游戏)。这意味着负责计算统计点的脚本必须处理 500K+ 的分数,这比实际的 JavaScript 数组限制要高得多。
我知道这可能是任何后端专家的基本问题,但我找不到解决此问题的聪明方法。我不知道如何在 Parse.com 中使用用 JavaScript 编写的 Cloud Code 从这么多数据条目中生成统计信息。
任何帮助或指导将不胜感激。
【问题讨论】:
标签: javascript parse-platform backend