[發明專利]一種消息隊列重試方法及設備有效
| 申請號: | 202110373575.8 | 申請日: | 2021-04-07 |
| 公開(公告)號: | CN113064741B | 公開(公告)日: | 2022-04-12 |
| 發明(設計)人: | 馬玉飛 | 申請(專利權)人: | 上海萬物新生環保科技集團有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F11/14 |
| 代理公司: | 上海百一領御專利代理事務所(普通合伙) 31243 | 代理人: | 汪祖樂 |
| 地址: | 200433 上海市楊浦*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 隊列 重試 方法 設備 | ||
1.一種消息隊列重試方法,應用于消息隊列的消息協商器端,其中,所述方法包括:
從消息的生產者接收目標消息,所述目標消息包括消息體;
記錄所述目標消息的創建時間和已重試次數,并為所述目標消息配置過期時間和可重試的總重試次數;
將所述目標消息及其對應的所述創建時間、所述已重試次數、所述總重試次數及過期時間一并下發給對應的消費者,使得所述消費者在消費所述目標消息時,根據所述創建時間、所述已重試次數、所述總重試次數及過期時間,確定所述目標消息是否重試。
2.根據權利要求1所述的方法,其中,所述方法還包括:
在所述目標消息中設置一個用于指示所述目標消息是否為最后一次重試的標識;
接收所述消費者發送的所述目標消息的重試請求,并確定重試時間;
若所述重試時間已超過所述過期時間,且所述標識用于指示所述目標消息并非為最后一次重試,則設置所述標識為用于指示所述目標消息為最后一次重試;
將所述用于指示所述目標消息為最后一次重試的標識發送至所述消費者。
3.根據權利要求1所述的方法,其中,所述方法還包括:
當從消息的生產者接收到所述目標消息時,初始化所述目標消息的已重試次數為零。
4.根據權利要求3所述的方法,其中,所述方法還包括:
若所述目標消息在消費者端消費失敗,從所述消息協商器接收所述目標消息的重試請求時,累計所述目標消息的已重試次數。
5.一種消息隊列重試方法,應用于消息隊列的消費者端,其中,所述方法包括:
接收消息隊列的消息協商器下發的目標消息及其對應的創建時間、已重試次數、總重試次數及過期時間,所述目標消息包括消息體;
在消費所述目標消息時,根據所述已重試次數和所述總重試次數,判斷所述目標消息是否是最后一次重試,若是,則在所述目標消息消費失敗時,結束對所述目標消息的重試;或,
在消費所述目標消息時,根據所述創建時間和所述過期時間,判斷所述目標消息是否允許繼續重試,若否,則在所述目標消息消費失敗時,結束對所述目標消息的重試。
6.根據權利要求 5所述的方法,其中,所述消費所述目標消息時,根據所述創建時間和所述過期時間,判斷所述目標消息是否允許繼續重試之后,所述方法還包括:
若是,則向所述消息協商器發起所述目標消息的重試請求;
接收所述消息協商器發送的用于指示所述目標消息為最后一次重試的標識;
在再次消費所述目標消息后,若所述目標消息消費失敗,則結束對所述目標消息的重試。
7.一種非易失性存儲介質,其上存儲有計算機可讀指令,所述計算機可讀指令可被處理器執行時,使所述處理器實現如權利要求1至6中任一項所述的方法。
8.一種消息隊列重試的消息協商器,其中,該消息協商器包括:
一個或多個處理器;
計算機可讀介質,用于存儲一個或多個計算機可讀指令,
當所述一個或多個計算機可讀指令被所述一個或多個處理器執行,使得所述一個或多個處理器實現如權利要求1至4中任一項所述的方法。
9.一種消息隊列重試的消費者端,其中,該消費者端包括:
一個或多個處理器;
計算機可讀介質,用于存儲一個或多個計算機可讀指令,
當所述一個或多個計算機可讀指令被所述一個或多個處理器執行,使得所述一個或多個處理器實現如權利要求5或6所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海萬物新生環保科技集團有限公司,未經上海萬物新生環保科技集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110373575.8/1.html,轉載請聲明來源鉆瓜專利網。





