[求教] 如何优雅处理社交系统的评论权重?

2022-12-21 12:12:17 +08:00
 fox0001

1 背景

公司做了个含有社交属性的平台,其中涉及对帖子的评论的排序问题。评论的排序权重计算公式如下:

就是“时间权重”和“点赞权重”都基于当前时间来计算,“时间权重”每小时变化一次,“点赞权重”每天变化一次。随着社交数据的膨胀,需要重算的历史数据也增多。

2 问题

如何减少无必要的计算?调整“评论的排序权重”的计算公式,还是制定相应的策略做?

3 目前的想法

总体来看,不会实时计算评论权重,而是建立异步任务去计算评论的权重并保存。查询评论时,直接根据评论的权重排序。

基于此想法,目前的方案如下:

  1. 按此需求计算评论权重。当帖子有新增评论,或者相关评论有新操作,则重算该帖子所有评论的权重。

  2. “评论的排序权重”目前是对历史数据的权重做减法。重新设计一个计算公式,不动历史数据,只针对新评论或者有新操作的评论的权重做加法。

  3. 其实评论的排序,已有相关的研究或方案,例如“威尔逊置信区间法”。需要时间去理解。

1797 次点击
所在节点    程序员
3 条回复
xiaojj
2022-12-21 13:35:58 +08:00
fox0001
2022-12-21 15:58:00 +08:00
@xiaojj #1 谢谢!虽然不能“抄作业”,但有启发意义
GTim
2022-12-21 20:44:15 +08:00
最好的作业是哔哩哔哩的源码吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX