[發(fā)明專利]消息處理方法及裝置有效
| 申請?zhí)枺?/td> | 201811524910.4 | 申請日: | 2018-12-13 |
| 公開(公告)號(hào): | CN109788026B | 公開(公告)日: | 2022-03-08 |
| 發(fā)明(設(shè)計(jì))人: | 陳欣欣 | 申請(專利權(quán))人: | 新華三大數(shù)據(jù)技術(shù)有限公司 |
| 主分類號(hào): | H04L67/566 | 分類號(hào): | H04L67/566;H04L67/567 |
| 代理公司: | 北京超凡志成知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11371 | 代理人: | 蘇勝 |
| 地址: | 450000 河南省鄭州市高新技*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 消息 處理 方法 裝置 | ||
1.一種消息處理方法,其特征在于,所述方法包括:
從kafka主題獲取消息,其中,所述消息中包含有序列號(hào),所述序列號(hào)用于指示消息生產(chǎn)者在生產(chǎn)所述消息時(shí)的順序;
若所述消息的序列號(hào)與第一全局變量的值相同,消費(fèi)所述消息,其中,所述第一全局變量的值用于指示待消費(fèi)的消息在所述kafka主題中的序列號(hào);
若所述消息的序列號(hào)與第一全局變量的值不同,將所述消息保存到預(yù)設(shè)的數(shù)據(jù)庫、并在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息,若查找到,則消費(fèi)所述查找到的消息,并更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,返回執(zhí)行在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息的步驟,若查找不到,則返回執(zhí)行所述從kafka主題獲取消息的步驟;若所述消息的序列號(hào)與第一全局變量的值相同,所述方法還包括:
更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,返回執(zhí)行所述從kafka主題獲取消息的步驟,其中,所述更新后的第一全局變量的值用于指示下一次待消費(fèi)的消息,在消費(fèi)者所訂閱的主題包含的所有消息中的生產(chǎn)順序。
2.如權(quán)利要求1所述的方法,其特征在于,所述將所述消息保存到預(yù)設(shè)的數(shù)據(jù)庫之后,所述方法還包括:
比較所述第一全局變量的值和第二全局變量的值,其中,所述第二全局變量的值用于指示所述kafka主題中保存的消息的最大序列號(hào);
若所述第一全局變量的值大于所述第二全局變量的值,則更新所述第二全局變量的值,并以所述更新后的第二全局變量的值,返回執(zhí)行所述比較所述第一全局變量的值和第二全局變量的值的步驟;
若所述第一全局變量的值小于或等于所述第二全局變量的值,則執(zhí)行所述在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息的步驟。
3.如權(quán)利要求1所述的方法,其特征在于,若在所述預(yù)設(shè)的數(shù)據(jù)庫中查找到序列號(hào)與所述第一全局變量的值相同的消息,消費(fèi)所述查找到的消息后,所述方法還包括:
從所述預(yù)設(shè)的數(shù)據(jù)庫中刪除所述查找到的消息。
4.一種消息處理裝置,其特征在于,所述裝置包括:
收發(fā)模塊,用于從kafka主題獲取消息,其中,所述消息中包含有序列號(hào),所述序列號(hào)用于指示消息生產(chǎn)者在生產(chǎn)所述消息時(shí)的順序;
處理模塊,用于若所述消息的序列號(hào)與第一全局變量的值相同,消費(fèi)所述消息,其中,所述第一全局變量的值用于指示待消費(fèi)的消息在所述kafka主題中的序列號(hào);
所述處理模塊,還用于若所述消息的序列號(hào)與第一全局變量的值不同,將所述消息保存到預(yù)設(shè)的數(shù)據(jù)庫、并在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息,若查找到,則消費(fèi)所述查找到的消息,并更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,返回執(zhí)行在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息的步驟,若查找不到,則返回執(zhí)行所述從kafka主題獲取消息的步驟;
所述處理模塊還用于,若所述消息的序列號(hào)與第一全局變量的值相同,更新所述第一全局變量的值,且以所述更新后的第一全局變量的值,繼續(xù)從kafka主題獲取消息,其中,所述更新后的第一全局變量的值用于指示下一次待消費(fèi)的消息,在消費(fèi)者所訂閱的主題包含的所有消息中的生產(chǎn)順序。
5.如權(quán)利要求4所述的裝置,其特征在于,
所述處理模塊還用于,比較所述第一全局變量的值和第二全局變量的值,其中,所述第二全局變量的值用于指示所述kafka主題中保存的消息的最大序列號(hào);
所述處理模塊還用于,若所述第一全局變量的值大于所述第二全局變量的值,則更新所述第二全局變量的值,并以所述更新后的第二全局變量的值,繼續(xù)比較所述第一全局變量的值和第二全局變量的值;
所述處理模塊還用于,若所述第一全局變量的值小于或等于所述第二全局變量的值,則在所述預(yù)設(shè)的數(shù)據(jù)庫中查找序列號(hào)與所述第一全局變量的值相同的消息。
6.如權(quán)利要求4所述的裝置,其特征在于,
所述處理模塊還用于,從所述預(yù)設(shè)的數(shù)據(jù)庫中刪除所述查找到的消息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新華三大數(shù)據(jù)技術(shù)有限公司,未經(jīng)新華三大數(shù)據(jù)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811524910.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





