V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
ifconfig
V2EX  ›  问与答

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

  •  
  •   ifconfig · Mar 21, 2018 · 1212 views
    This topic created in 2966 days ago, the information mentioned may be changed or developed.

    描述

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

    要求

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

    我的思路

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


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

    4 replies    2018-03-21 17:07:57 +08:00
    goodryb
        1
    goodryb  
       Mar 21, 2018
    非专业程序员的参考意见,如果是我的话:
    这种情况应该是记录一个已发码的数量
    假设每天发 n 个,第一天就是 x < n 的情况下发码,x>=n,则不发码
    第二天就是 x < 2*n,依次类推,每次发码后 x+1

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

    具体逻辑上可能需要细化下
    ifconfig
        2
    ifconfig  
    OP
       Mar 21, 2018
    @goodryb 好方法,其实也没要求那么严谨,可以试试
    wsy2220
        3
    wsy2220  
       Mar 21, 2018
    提前生成好每天发的数量就行了
    John60676
        4
    John60676  
       Mar 21, 2018
    关注
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2242 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 00:48 · PVG 08:48 · LAX 17:48 · JFK 20:48
    ♥ Do have faith in what you're doing.