系统平均派发券码算法问题?

2018-03-21 15:18:57 +08:00
 ifconfig

描述

现在有 75 万个券码在数据库,要求每天早上八点到晚上八点这个时间段派发,派发截至日期:2018-05-31

要求

要求每天派发平均多的券码,要求到 2018-05-31 刚刚好派完

我的思路

1.Redis set 一个券码的总数,每次请求 get 一次,实时计算 剩余券码 /剩余天数=每天要派发的券码 2.Mongo 记录每个时间段派发的券码


请问下像这样的业务大家会怎样解决?求大牛给更好的思路

859 次点击
所在节点    问与答
4 条回复
goodryb
2018-03-21 16:06:48 +08:00
非专业程序员的参考意见,如果是我的话:
这种情况应该是记录一个已发码的数量
假设每天发 n 个,第一天就是 x < n 的情况下发码,x>=n,则不发码
第二天就是 x < 2*n,依次类推,每次发码后 x+1

不过有一个问题,就是如果用上面的方法,假如前一天发码少了,这个数量会累计给当天,不符合每天平均法 n 个码

具体逻辑上可能需要细化下
ifconfig
2018-03-21 16:07:55 +08:00
@goodryb 好方法,其实也没要求那么严谨,可以试试
wsy2220
2018-03-21 16:16:44 +08:00
提前生成好每天发的数量就行了
John60676
2018-03-21 17:07:57 +08:00
关注

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

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

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

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

© 2021 V2EX