當前位置:編程學習大全網 - 源碼下載 - 隨機紅包金額如何決定的

隨機紅包金額如何決定的

從工程角度來說,紅包分配算法需要簡單粗暴的實現。

有些人的算法過於復雜,第幾個人領取都要面面俱到的計算,考慮因素太多,工程實現上真的沒必要。

其實只需要按照如下框架即可:

1. 發紅包時,按照設計的快速隨機算法,將紅包分好若幹份。

2. 按照設計的評估算法,對得到的紅包分配進行校驗。

3. 如果校驗不通過,如貧富差距過大,則重復隨機分配。

4. 如果若幹次重復,如5次,則停止重復,就按照當前分配。

5. 再有用戶請求紅包,直接隊列化請求,再從紅包序列中取出對應編號紅包。

上述方案的優勢是:

1. 只需“壹次”計算。

隨機算法選擇簡單粗暴的即可,系統按照校驗策略對其評價,不滿足則有限次重復,直到滿足或次數太多為止。

2. 此後就只有讀取。

後續操作完全是讀取緩存,無需密集計算。

那麽是不是還有更簡單粗暴的方案呢?還是有的,那就是偽隨機序列查表法。

百萬千萬級別的紅包請求,如果每次都按照真隨機來計算,仍然會有不小的計算壓力。

索性預先計算得到若幹偽隨機分配方案,調用時只需要隨機選擇壹個即可。

舉例來說,有人的紅包是10元分配給5人,系統預先存有多種分配方案,如1,1,2,3,3,或1,1,2,2,4,請求時隨機選取壹個方案即可。

當然,各種組合未必能窮盡,但是只需要讓用戶在有限次操作中覺得這是隨機就夠了。

擴展資料

微信紅包是騰訊旗下產品微信於2014年1月27日推出的壹款應用,功能上可以實現發“紅包”、查收發記錄和提現。

2014年4月14日,“安卓手機用戶只要用微信掃描身邊出現的紅色二維碼,通過騰訊應用寶成功安裝其他應用軟件,即可領取微信紅包。

2019年2月10日,微信官方發布2019年春節數據報告,除夕到初五,8.23億人次收發微信紅包。

設計簡單

在“微信紅包”這個功能的設計上,遵循了簡單的原則。發送方通過“新年紅包”公眾號,選擇發送紅包的數量和金額,以及祝福的話語,通過“微信支付”進行支付,就可以發送給好友;接收方則在打開後獲得相應收益,只需要將儲蓄卡與微信關聯,就可以在壹個工作日後提現。2014年1月27日前,用戶在搶紅包之前,要先寫上祝福,然後才可以搶。在這之後,已經改為先搶紅包再發送祝福的過程。

  • 上一篇:如何在ubuntu上安裝hadoop
  • 下一篇:如何寫nacos源代碼
  • copyright 2024編程學習大全網