[發明專利]基于限流操作的可重入分布式處理方法及裝置在審
| 申請號: | 201810864208.6 | 申請日: | 2018-08-01 |
| 公開(公告)號: | CN109241106A | 公開(公告)日: | 2019-01-18 |
| 發明(設計)人: | 何青松;胡曉喻;李聯邦;王新盟 | 申請(專利權)人: | 口碑(上海)信息技術有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/25;G06Q30/02 |
| 代理公司: | 北京市浩天知識產權代理事務所(普通合伙) 11276 | 代理人: | 宋菲;劉云貴 |
| 地址: | 200131 上海市浦東新區民生路11*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 待處理數據 分布式處理 處理數據 限流 數據庫 待處理狀態 處理效率 處理資源 次數更新 限流控制 循環執行 更新 記錄 成功 | ||
本發明公開了一種基于限流操作的可重入分布式處理方法及裝置,方法包括:從數據庫中提取待處理數據以及待處理數據的可重入處理時間;判斷當前時間是否晚于待處理數據的可重入處理時間;若是,則基于限流控制,對處于待處理狀態的待處理數據進行處理;更新待處理數據的重入次數,根據重入次數更新數據庫中記錄的待處理數據的可重入處理時間;循環執行上述步驟,直至待處理數據被成功處理。對待處理數據采用可重入式處理,設置待處理數據的可重入處理時間,根據可重入處理時間,避免待處理數據漏處理,也提高對待處理數據的處理效率,避免被多次頻繁處理的問題,節省處理資源。
技術領域
本發明涉及軟件領域,具體涉及一種基于限流操作的可重入分布式處理方法及裝置。
背景技術
在分布式網絡架構中,處于核心位置的核心系統往往會跟多個負責具體業務的子系統進行交互。其中,核心系統的處理能力一般遠遠高于子系統的處理能力,為保障整個架構的正常處理,此時,需要在核心系統上針對不同的交互的子系統進行限流,通過限流可以很好的保護各個交互的子系統。但限流操作會帶來兩個困難點:
1.數據一致性問題。在限流操作時,核心系統服務器將數據保存在內存中,每條待處理的數據等候時間未知,在某一條待處理數據被某一子系統服務器處理完畢并持久化到數據庫之前,其余的子系統服務器不能感知該條數據的狀態,很有可能會存在多臺子系統服務器同時處理一條待處理數據的情況,導致數據被重復處理,甚至極大地影響處理效率。如多個子系統服務器同時處理同一條數據,每個子系統服務器都在內存長期保存該數據并等待處理,導致多個子系統服務器的資源浪費。
2.數據處理遺漏問題。核心系統服務器在處理數據時,需要將數據保存在內存中等待被處理,由于等待的時長不可預知,每個子系統服務器都存在失效、宕機的可能,導致內存中數據丟失后,也沒有其它子系統服務器繼續處理,使得部分數據被遺漏未處理。
具體的,如電商行業會在節假日前給用戶發放大量的折扣券,在臨近券過期時間前,券資產平臺需要通過消息推送子系統來提醒用戶,其名下的券快過期了。由于大批量發放的折扣券具有相同的有效期,因此如果不做限流操作,在某個時間段券資產平臺將會以極高的QPS(Queries Per Second,每秒查詢率)向消息推送子系統發送請求,導致消息推送子系統瞬時沖擊過高而不可用。假設當前有10000張折扣券即將過期,券資產平臺的10個服務器進行處理,消息推送子系統能承受的QPS是100條/s。券資產平臺的每個服務器每次從數據庫取出100張券,但是每秒只能處理10張(10張*10個服務器=限流100條/s)。假設,折扣券A被服務器S取出,保存在服務器內存中等待處理,在此場景下,需要確保其它服務器了解折扣券A已經在等待處理,避免其他服務器對其進行重復處理的情況。同時,還有考慮服務器S可能出現的宕機、內存數據丟失等問題時,其它服務器會繼續處理折扣券A,避免折扣券A被遺漏未處理的情況。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的基于限流操作的可重入分布式處理方法及裝置。
根據本發明的一個方面,提供了一種基于限流操作的可重入分布式處理方法,其包括:
從數據庫中提取待處理數據以及待處理數據的可重入處理時間;
判斷當前時間是否晚于待處理數據的可重入處理時間;若是,則基于限流控制,對處于待處理狀態的待處理數據進行處理;
更新待處理數據的重入次數,根據重入次數更新數據庫中記錄的待處理數據的可重入處理時間;
循環執行上述步驟,直至待處理數據被成功處理。
可選地,方法還包括:
從數據庫提取待處理數據后,若待處理數據未設置可重入處理時間,則設置待處理數據的可重入處理時間。
可選地,可重入處理時間=當前時間+待處理數據的重入次數*預設時間間隔。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于口碑(上海)信息技術有限公司,未經口碑(上海)信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810864208.6/2.html,轉載請聲明來源鉆瓜專利網。





