[發明專利]一種消息發送方法和相關裝置有效
| 申請號: | 202010613863.1 | 申請日: | 2020-06-30 |
| 公開(公告)號: | CN111510396B | 公開(公告)日: | 2020-10-27 |
| 發明(設計)人: | 泮誠 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | H04L12/875 | 分類號: | H04L12/875;H04L12/865 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 常忠良 |
| 地址: | 518064 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 發送 方法 相關 裝置 | ||
1.一種消息發送方法,其特征在于,所述方法包括:
根據待發送消息的產生時間和有效時長剩余時間,確定快消息隊列中待發送消息的位置排序;
從快消息隊列中向發送隊列提取待發送消息;其中,所述快消息隊列中待發送消息對應的有效時長小于慢消息隊列中待發送消息的有效時長;
若所述快消息隊列為空,從所述慢消息隊列中向所述發送隊列提取待發送消息;
向接收設備發送所述發送隊列中的待發送消息;
若通過所述發送隊列向所述接收設備發送目標消息時出現發送失敗,將所述目標消息加入失敗隊列;所述目標消息為所述發送隊列中的一個待發送消息;
在所述從所述慢消息隊列中向所述發送隊列提取待發送消息時,若所述慢消息隊列為空,從所述失敗隊列中向所述發送隊列提取待發送消息;
若所述快消息隊列的隊列容量達到第一閾值,從所述快消息隊列的隊尾開始提取第一數量的待發送消息存入存儲空間;
在所述從所述失敗隊列中向所述發送隊列提取待發送消息時,若所述失敗隊列為空,所述方法還包括:
從持久化隊列中向所述發送隊列提取待發送消息;所述持久化隊列中的待發送消息是從所述存儲空間中獲取的,所述持久化隊列中待發送消息的位置排序是根據以下任意一項或多項的組合確定的:
待發送消息的產生時間;
是否來自快消息隊列或慢消息隊列;
發送失敗次數。
2.根據權利要求1所述的方法,其特征在于,所述失敗隊列包括第一失敗隊列和第二失敗隊列,所述第一失敗隊列中待發送消息的位置排序是根據加入所述第一失敗隊列的時間確定的,所述第二失敗隊列中待發送消息的位置排序是根據待發送消息的發送失敗次數確定的;
若所述目標消息是從第一失敗隊列中向所述發送隊列提取的,所述將所述目標消息加入失敗隊列,包括:
將所述目標消息加入所述第二失敗隊列。
3.根據權利要求1所述的方法,其特征在于,所述方法還包括:
若所述慢消息隊列的隊列容量達到第二閾值,從所述慢消息隊列的隊尾開始提取第二數量的待發送消息存入所述存儲空間;
若所述失敗隊列中待發送消息的發送失敗次數達到第三閾值,將發送失敗次數達到第三閾值的待發送消息從所述失敗隊列提出,并存入所述存儲空間。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
若從慢消息隊列中提取的待發送消息通過所述發送隊列向所述接收設備發送成功,從快消息隊列中向發送隊列提取待發送消息。
5.根據權利要求1-4任意一項所述的方法,其特征在于,所述方法還包括:
統計來自所述快消息隊列的待發送消息的第一發送失敗率,以及來自所述慢消息隊列的待發送消息的第二發送失敗率;
根據所述第一發送失敗率和所述第二發送失敗率確定整體失敗率;
根據所述整體失敗率調整從所述發送隊列進行待發送消息發送的進程數量。
6.根據權利要求1-4任意一項所述的方法,其特征在于,所述待發送消息具有消息頭,所述消息頭用于記錄所述待發送消息的產生時間、時效類型以及發送失敗次數,所述時效類型包括快消息或慢消息,所述快消息的有效時長符合所述快消息隊列中待發送消息對應的有效時長,所述慢消息的有效時長符合所述慢消息隊列中待發送消息對應的有效時長。
7.根據權利要求1-4任意一項所述的方法,其特征在于,所述方法還包括:
獲取待分類的待發送消息;
根據所述待發送消息的消息類型所對應的有效時長,對所述待發送消息進行時效類型分類;
將時效類型屬于快消息的待發送消息加入所述快消息隊列,將時效類型屬于慢消息的待發送消息加入所述慢消息隊列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010613863.1/1.html,轉載請聲明來源鉆瓜專利網。





