[發明專利]消息發送方法、裝置、電子設備及存儲介質有效
| 申請號: | 201911359932.4 | 申請日: | 2019-12-25 |
| 公開(公告)號: | CN111147355B | 公開(公告)日: | 2022-08-09 |
| 發明(設計)人: | 安志嘉 | 申請(專利權)人: | 北京五八信息技術有限公司 |
| 主分類號: | H04L47/50 | 分類號: | H04L47/50;H04L51/04;G06F16/25;G06F16/28 |
| 代理公司: | 北京弘權知識產權代理有限公司 11363 | 代理人: | 逯長明;許偉群 |
| 地址: | 100083 北京市海淀區學清*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 發送 方法 裝置 電子設備 存儲 介質 | ||
1.一種消息發送方法,其特征在于,包括:
獲取待發送消息,所述待發送消息為利用消息模板填入消息內容生成的消息;
將所述待發送消息依次存入Redis消息隊列中;
分別將所述Redis消息隊列中預設數量的所述待發送消息插入Mysql數據庫中;
調用微信消息發送接口將所述Mysql數據庫中的所述待發送消息分批發送給微信公眾平臺的用戶,所述微信消息發送接口為客戶端中微信公眾平臺向用戶發送消息的接口,以及,所述待發送消息在被發送給用戶之后其狀態會根據消息發送結果被更改;
所述調用微信消息發送接口將所述Mysql數據庫中的所述待發送消息分批發送給微信公眾平臺的用戶的步驟包括:
將當前使用的所述Mysql數據庫中第一個數據表中的每一個待發送消息發送給微信公眾平臺的用戶;
獲取所述微信公眾平臺返回的每一個待發送消息的消息發送結果,所述消息發送結果用于表示所述待發送消息是否發送成功;
根據所述消息發送結果對當前發送的數據表中的每一個待發送消息的狀態進行更改;
繼續將所述Mysql數據庫中下一個數據表中的每一個待發送消息發送給微信公眾平臺的用戶,直至所述Mysql數據庫中的所有數據表中的所有待發送消息的狀態全部進行了更改;
在所述獲取待發送消息之前,還包括:
針對客戶端中應用軟件發送消息的類型生成不同的消息模板;
將所述應用軟件發送消息的內容在對應的消息模板中填入,生成待發送消息;
其中,所述消息模板包括消息體和參數,類型相同的消息模板中所述消息體是相同的,但是所述參數不同,所述參數表示所述應用軟件發送消息的具體內容。
2.根據權利要求1所述的方法,其特征在于,所述獲取待發送消息的步驟包括:
獲取微信公眾平臺的消息傳入接口,所述消息傳入接口為客戶端中應用軟件向所述微信公眾平臺傳入消息的接口;
將不同類型的所述消息傳入接口封裝為統一的消息傳入接口;
利用所述統一的消息傳入接口獲取待發送消息。
3.根據權利要求1所述的方法,其特征在于,所述Mysql數據庫有兩個,每一個Mysql數據庫保存一個月內發送的消息,兩個Mysql數據庫交替進行保存,以及,每一個Mysql數據庫中的消息以若干數據表的形式保存。
4.根據權利要求1所述的方法,其特征在于,所述調用微信消息發送接口將所述Mysql數據庫中的所述待發送消息分批發送給微信公眾平臺的用戶的步驟還包括:
在將所述Mysql數據庫中每一個數據表中的每一個待發送消息發送給微信公眾平臺的用戶之前,為所述每一個數據表分配一個分布式鎖,所述分布式鎖用于控制所述數據表中的數據資源被占用的情況;
在對當前發送的數據表中的每一個待發送消息的狀態進行更改之后,解除所述數據表對應的分布式鎖。
5.根據權利要求1-4任一項所述的方法,其特征在于,在所述調用微信消息發送接口將所述Mysql數據庫中的所述待發送消息分批發送給微信公眾平臺的用戶之后,還包括:
在預設時間點檢查所述Mysql數據庫中的待重發消息,所述待重發消息是指狀態為未發送和發送超時的消息;
將所述待重發消息重新通過調用微信消息發送接口發送給微信公眾平臺的用戶;
根據微信公眾平臺返回的每一個所述待重發消息的消息發送結果,對每一個所述待重發消息的狀態進行更改。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京五八信息技術有限公司,未經北京五八信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911359932.4/1.html,轉載請聲明來源鉆瓜專利網。





