1樓:ericyy
我目前的設計。。 覺得有問題的, 給我說哈。。
資料庫一共四張表 :簡訊資料表 / 簡訊狀態表 / 簡訊隊列表 / 伺服器日誌表(做到日誌檔案就好了,不需建表)
邏輯如下:
新增簡訊 -簡訊資料表敏感詞違法則返回給提交者
檢查當前簡訊手機號碼未傳送的簡訊條目數量
以區段形式劃分,每段最多5條
排程簡訊進入侯發佇列(按照1秒能傳送2條計算)(10秒定時)如果佇列數量》20,則本次取消
按時間排序從簡訊庫中取出前20條簡訊, 放入佇列等待傳送, 並在簡訊狀態中記錄
傳送簡訊 (10秒定時)區段分隔同一手機號碼的簡訊, 如若上條簡訊對應號碼與當前簡訊號碼相同,並處在兩個區段, 則進行間隔處理
間隔處理方式,該區段快取等待, 等待下一條非同號碼簡訊傳送完成後,返回佇列繼續傳送
如若區段快取後, 佇列迴圈完畢仍未傳送完成, 則進行時間間隔方式處理(1秒)
錯誤處理1. 伺服器返回資訊, 則直接將資訊放入簡訊狀態表中, 程式視為操作成功
2. 伺服器狀態值錯誤, 停止本次佇列傳送, 等待下次定時重發. 並記錄伺服器狀態到日誌中.
C 如何實現優先佇列?
原生的Priority Queue已經被merge了 API 描述如下,感覺上符合大部分的需求了,應該是不是執行緒安全的,需要注意 namespace System.Collections.Generic public class PriorityQueue NB does not implemen...
簡訊介面提供商哪家比較好?
小象聊資料 京東永珍提供優質簡訊介面 資料描述 106三網專屬通道,5秒極速。支援自定義簽名及內容,成功計費,支援運營商最新號段,自主研發系統,後台穩健。多信道路由,智慧型切換,保障簡訊傳送不間斷。專注簡訊行業8年運營與技術積累,7x24小時技術服務。應用場景 1 簡訊驗證碼 通過簡訊的方式傳送驗證...
使用Golang實現的無鎖佇列,效能與Disruptor相當達到1400萬 秒
這樣才會有翻第二三遍的衝動,如果某本書裡面給你某個暗喻,你能從中體會感受到的話,那說什麼也不會忘了,會再回想,就像驚鴻一瞥的美女,忘不了。有些書就算當時沒看懂,過後也可能在某個因緣際會下再相遇。何況連柏拉圖這樣的聖人都不能始終如一的堅持自己的思想,我們凡人又何必牢記所謂的金科玉律呢 多讀書不是記不記...