关于答题小程序排名那些事
发布于 4 年前 作者 lei04 3471 次浏览 来自 分享

关于答题小程序排名那些事

~

之所以想写这个话题,是因为最近把这个问题折磨的头发都掉光了,排名做为一个答题活动的核心模块,排名的因素主要有以下几个

1、姓名

2、得分

3、用时

4、平均分

5、累计分

6、支部参与人数

基本就这么几个,一个常规的答题排名如下所示,包含了

姓名、得分、用时

~

排名目前存在的几个问题

1、采用云函数计算容易超时,

2、经常有用户被遗漏,也就是经常有人找我,说,谁谁怎么没有在排名上,这真是家常便饭了对我而言

~

~

~

那么有什么后门优化的点呢

1、继续优化我的排名算法,之前是按照单个用户来算累计成绩,可以采用group方案优化,然后用profiles集合补充姓名信息

2、增加单独一个集合,记录这些答题的指标信息,然后用云函数不断来更新,修正数据

对于第一个方案,可以在今天落实下代码,因为有一个小程序是我每天手工更新的,数据量太大了,10W+的参与用户,我现在每天执行一遍,保证数据的准确性,牺牲了数据的实时性

4 回复

为楼主打call,技术牛逼

看完文章还是有的懵,到底是先用group分组,再计算得分,还是单独建一个集合保存积分数据。

我也是先用group分组,因为现在数据少,一次都取出来了,如果数据多,该如何排名?

优化方案1已上线,可以说这次真的成功了,成功有以下二方面

1、目前的方式不需要单独一个集合存累计的得分数据,省去了数据库的写操作

2、不会存在之前由于单个用户计算导致会漏掉一些用户的得分数据;

具体界面如下所示

为了这一刻的胜利干杯cheers

回到顶部