[發明專利]一種消息發送方法及裝置在審
| 申請號: | 201711406639.X | 申請日: | 2017-12-22 |
| 公開(公告)號: | CN108228363A | 公開(公告)日: | 2018-06-29 |
| 發明(設計)人: | 劉鵬;詹馬俊;周泊仰;冀乃庚;牛天耘 | 申請(專利權)人: | 中國銀聯股份有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 黃志華 |
| 地址: | 200135 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息隊列 消息發送 數據庫 發送失敗 消息存儲 發送 消息發送流程 發送消息 影響消息 再次發送 客戶端 失敗 隊列 渠道 | ||
本發明公開了一種消息發送方法及裝置。所述方法包括可:按照第一周期從消息隊列中獲取第一消息,并按照第二周期從第一數據庫中獲取第二消息;然后將所述第一消息及所述第二消息分別發送至客戶端,若確定所述第一消息發送失敗,則將所述第一消息存儲至所述第一數據庫。通過消息隊列、第一數據庫這兩個不同的渠道同時發送消息,從而能夠提高整個消息發送流程的效率;進一步地,將消息隊列中發送失敗的消息存儲至第一數據庫,由第一數據庫負責將消息隊列中發送失敗的消息進行再次發送,能夠避免現有技術中消息隊列中的消息發送失敗后重新存入消息隊列中而影響消息隊列中其余消息的發送速度的問題。
技術領域
本發明涉及通信技術領域,尤其涉及一種消息發送方法及裝置。
背景技術
隨著業務量的增加和業務場景的多樣化,現有應用服務器部署的應用日漸龐大且難以維護,為簡化系統架構和提高處理效率,消息隊列的處理方法得到普遍的應用。在維護的消息隊列機制中,當用戶發起請求時響應線程根據業務場景的需要產生并投遞消息至隊列,處理線程從隊列中提取消息并進行下一步業務處理,從而實現業務服務層的解耦。
然而,現有的消息隊列機制普遍為單隊列單線程處理,由于在消息隊列的消息調度方法中,通常采用輪詢和先進先出,并根據投遞時間的順序進行處理,因此,一旦某條消息發送失敗,只能將該消息插入到消息隊列的隊尾等待再次發送,從而容易延長消息隊列中其余消息的發送時間。
基于此,目前亟需一種消息發送方法,用于解決現有技術中消息發送失敗后重新存入消息隊列后導致其余消息發送時間延長的問題。
發明內容
本發明實施例提供一種消息發送方法及裝置,以解決現有技術中息發送失敗后再次發送耗時較長的技術問題。
本發明實施例提供一種消息發送方法,所述方法包括:
按照第一周期從消息隊列中獲取第一消息;
按照第二周期從第一數據庫中獲取第二消息;所述第二消息為尚未成功發送的消息;
將所述第一消息及所述第二消息分別發送至客戶端;
若確定所述第一消息發送失敗,則將所述第一消息存儲至所述第一數據庫。
可選地,在所述按照第一周期從消息隊列中獲取第一消息之前,所述方法還包括:
根據所述第一消息的消息類型,將所述第一消息發送至與所述第一消息的消息類型對應的消息隊列。
可選地,所述方法還包括:
若確定所述第一消息發送至對應的消息隊列發送失敗,則將所述第一消息存儲至所述第一數據庫。
可選地,所述按照第二周期從第一數據庫中獲取第二消息,包括:
針對所述第一數據庫中的每條消息,獲取所述消息的時間戳信息;
根據所述時間戳信息,確定所述消息的產生時間;所述產生時間為生成所述消息的時間;
按照所述產生時間由先至后排名第一位的消息作為所述第二消息。
可選地,所述方法還包括:
若確定所述第二消息發送成功,則將所述第一數據庫中的第二消息標記為發送成功;
若確定所述第二消息發送失敗,且所述第二消息的發送次數大于第一閾值,則將所述第一數據庫中的第二消息標記為發送失敗。
可選地,所述第一周期小于所述第二周期,所述第二周期小于第二閾值,所述第二閾值為根據消息隊列針對發送失敗消息的重發時間間隔確定的。
本發明實施例提供一種消息發送裝置,所述裝置包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國銀聯股份有限公司,未經中國銀聯股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711406639.X/2.html,轉載請聲明來源鉆瓜專利網。





