[發(fā)明專利]一種避免消息隊(duì)列中消息丟失的處理方法及相關(guān)設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202111032842.1 | 申請(qǐng)日: | 2021-09-03 |
| 公開(公告)號(hào): | CN113742107A | 公開(公告)日: | 2021-12-03 |
| 發(fā)明(設(shè)計(jì))人: | 洪志權(quán);盧山;崔偉成;邱含;張志浩 | 申請(qǐng)(專利權(quán))人: | 廣州新絲路信息科技有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54;G06F16/2455 |
| 代理公司: | 廣東翰銳律師事務(wù)所 44442 | 代理人: | 胡厚財(cái) |
| 地址: | 510000 廣東省廣州市南沙*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 避免 消息 隊(duì)列 丟失 處理 方法 相關(guān) 設(shè)備 | ||
1.一種避免消息隊(duì)列中消息丟失的處理方法,其特征在于,包括:
S101、應(yīng)用系統(tǒng)將業(yè)務(wù)數(shù)據(jù)構(gòu)成的業(yè)務(wù)消息存入redis緩存中;
S102、所述應(yīng)用系統(tǒng)向消息隊(duì)列發(fā)送所述業(yè)務(wù)消息;
S103、所述應(yīng)用系統(tǒng)按照預(yù)設(shè)時(shí)間間隔掃描所述redis緩存中的所有業(yè)務(wù)消息;
S104、若所述redis緩存的所有業(yè)務(wù)消息中存在第一消息生成時(shí)間大于預(yù)設(shè)時(shí)間的業(yè)務(wù)消息,則觸發(fā)消息重發(fā)補(bǔ)償機(jī)制,且更新所述第一消息生成時(shí)間。
2.根據(jù)權(quán)利要求1所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,還包括:
S105、所述應(yīng)用系統(tǒng)監(jiān)聽所述業(yè)務(wù)消息在所述消息隊(duì)列中的消費(fèi)狀態(tài),所述消費(fèi)狀態(tài)包括消費(fèi)成功以及消費(fèi)失敗;
S106、若所述業(yè)務(wù)消息的消費(fèi)狀態(tài)更新為消費(fèi)失敗,則刪除所述消息隊(duì)列以及所述redis緩存中的所述業(yè)務(wù)消息,并將所述業(yè)務(wù)消息存入數(shù)據(jù)庫中,使得所述數(shù)據(jù)庫按照以預(yù)設(shè)時(shí)間間隔為定時(shí)任務(wù),觸發(fā)消費(fèi)失敗補(bǔ)償機(jī)制;
S107、若所述業(yè)務(wù)消息的消費(fèi)狀態(tài)更新為消費(fèi)成功,則刪除所述消息隊(duì)列以及所述redis緩存中的所述業(yè)務(wù)消息。
3.根據(jù)權(quán)利要求2所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,所述步驟S101具體包括:
應(yīng)用系統(tǒng)向redis緩存中發(fā)送業(yè)務(wù)數(shù)據(jù)構(gòu)成的業(yè)務(wù)消息以及第一消息生成時(shí)間;
所述應(yīng)用系統(tǒng)接收到所述redis緩存返回的備份成功回執(zhí)后,執(zhí)行向數(shù)據(jù)庫發(fā)送所述業(yè)務(wù)消息以及第二消息生成時(shí)間的數(shù)據(jù)庫事務(wù);
所述應(yīng)用系統(tǒng)接收Spring返回的所述數(shù)據(jù)庫事務(wù)的執(zhí)行成功回執(zhí)。
4.根據(jù)權(quán)利要求3所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,所述消息重發(fā)補(bǔ)償機(jī)制具體包括:
所述應(yīng)用系統(tǒng)將所述redis緩存中的所述業(yè)務(wù)消息重新發(fā)送至所述消息隊(duì)列中。
5.根據(jù)權(quán)利要求4所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,所述步驟S106具體包括:
若所述業(yè)務(wù)消息的消費(fèi)狀態(tài)更新為消費(fèi)失敗,則判斷所述業(yè)務(wù)消息是否包含預(yù)設(shè)標(biāo)記;
若所述業(yè)務(wù)消息不包含所述預(yù)設(shè)標(biāo)記,則刪除所述消息隊(duì)列以及所述redis緩存中所述業(yè)務(wù)消息,并將所述業(yè)務(wù)消息存入數(shù)據(jù)庫中,在所述數(shù)據(jù)庫中將所述業(yè)務(wù)消息添加所述預(yù)設(shè)標(biāo)記,記錄所述業(yè)務(wù)消息的重試次數(shù)為0;
若所述業(yè)務(wù)消息包含所述預(yù)設(shè)標(biāo)記,則以預(yù)設(shè)時(shí)間間隔為定時(shí)任務(wù),將所述數(shù)據(jù)庫中的所述業(yè)務(wù)消息發(fā)送至所述消息隊(duì)列中,并將所述業(yè)務(wù)消息的重試次數(shù)加一。
6.根據(jù)權(quán)利要求5所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,所述步驟S106中若所述業(yè)務(wù)消息包含所述預(yù)設(shè)標(biāo)記,則將所述數(shù)據(jù)庫中的所述業(yè)務(wù)消息發(fā)送至所述消息隊(duì)列中,并將所述業(yè)務(wù)消息的重試次數(shù)加一具體包括:
若所述業(yè)務(wù)消息包含所述預(yù)設(shè)標(biāo)記,且所述業(yè)務(wù)消息的重試次數(shù)達(dá)到預(yù)設(shè)閾值,則觸發(fā)郵件預(yù)警機(jī)制;
若所述業(yè)務(wù)消息包含所述預(yù)設(shè)標(biāo)記,但所述業(yè)務(wù)消息的重試次數(shù)未達(dá)到所述預(yù)設(shè)閾值,則將所述數(shù)據(jù)庫中的所述業(yè)務(wù)消息發(fā)送至所述消息隊(duì)列中,并將所述業(yè)務(wù)消息的重試次數(shù)加一。
7.根據(jù)權(quán)利要求2所述的避免消息隊(duì)列中消息丟失的處理方法,其特征在于,所述步驟S102具體包括:
若所述業(yè)務(wù)消息的消費(fèi)狀態(tài)更新為消費(fèi)成功,則分別刪除所述消息隊(duì)列以及所述redis緩存中的所述業(yè)務(wù)消息。
8.一種避免消息隊(duì)列中消息丟失的處理系統(tǒng),其特征在于,包括應(yīng)用系統(tǒng)、消息隊(duì)列以及redis緩存,其中:
所述應(yīng)用系統(tǒng)將業(yè)務(wù)數(shù)據(jù)構(gòu)成的業(yè)務(wù)消息存入所述redis緩存中;
所述應(yīng)用系統(tǒng)向消息隊(duì)列發(fā)送所述業(yè)務(wù)消息;
所述應(yīng)用系統(tǒng)按照預(yù)設(shè)時(shí)間間隔掃描所述redis緩存中的所有業(yè)務(wù)消息;
若所述redis緩存的所有業(yè)務(wù)消息中存在第一消息生成時(shí)間大于預(yù)設(shè)時(shí)間的業(yè)務(wù)消息,則觸發(fā)消息重發(fā)補(bǔ)償機(jī)制,且更新所述第一消息生成時(shí)間。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣州新絲路信息科技有限公司,未經(jīng)廣州新絲路信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111032842.1/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:連續(xù)型有機(jī)垃圾生物處理機(jī)
- 下一篇:一種燃燒室噴嘴
- 隊(duì)列調(diào)度系統(tǒng)及方法
- 一種從多隊(duì)列節(jié)點(diǎn)獲取消息的方法及系統(tǒng)
- 隊(duì)列請(qǐng)求處理方法和裝置
- 一種隊(duì)列清空方法以及相關(guān)設(shè)備
- 一種基于Linux通用塊層多隊(duì)列的優(yōu)化系統(tǒng)及方法
- 一種分離存儲(chǔ)的隊(duì)列實(shí)現(xiàn)方法及裝置
- 一種數(shù)據(jù)處理方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種接口擁塞時(shí)延的計(jì)算方法及裝置
- 一種報(bào)文調(diào)度方法及裝置
- RDMA網(wǎng)絡(luò)下的網(wǎng)卡隊(duì)列創(chuàng)建方法以及裝置





