N+同步消費問題,來談如何避免業務壞賬

來源:互聯網
上載者:User

標籤:解決方案   建模   並發   閾值   控制   

遇到一個比較蛋碎的問題,就是同時間過來N個並發電話,如何保證同步消費完30分鐘,而不會超過30分鐘產生的壞賬。
轉載請註明出處:http://blog.csdn.net/supera_li/article/details/45506583

1.問題建模:
n個人同時打電話,剩餘時間30分鐘。保證30分鐘同步消費完,消費完後,電話就會強制掛斷。而不產生壞賬。

2.解決方案:
通過最低起步時間對同步問題進行非同步處理。也就是,我必須有一個最後的閾值來控制最後一點時間片不在分配給多使用者,僅支援一個使用者線上。同時由於要支援一個使用者,所以必須有一個能夠維持請求次序的同步隊列來處理請求是否拒絕。

假設參數:
最低起步時間參數S=5。
n同步隊列Q,即每分鐘請求伺服器剩餘時間的n人隊列。

N規模分類與時間片分配演算法:
1).n>30的話,n-30之後的人拒絕請求。30人平均分配1min。
2).n屬於[30-S,30]區間,平均n人分配1min
3).n<30-S,即n屬於(1,30-S)的區間,
第一次請求n排隊進入Q,Q檢測n是否溢出剩餘時間,以及下次分配後的剩餘分鐘數與30-S的關係檢測,更新DB。分配時間分配總和n分鐘。
第二次分配總和n*2(假設不掛斷,繼續進Q,執行檢測判斷,更新DB)
break終止條件為檢測失敗。完成同步問題。
同步問題完成後,剩餘分鐘屬於[30-S,30]區間,不在接受n請求同步。僅支援單使用者通話。

N+同步消費問題,來談如何避免業務壞賬

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.