[發明專利]消息處理方法和裝置以及電子設備有效
| 申請號: | 201710703528.9 | 申請日: | 2017-08-16 |
| 公開(公告)號: | CN109412821B | 公開(公告)日: | 2021-09-10 |
| 發明(設計)人: | 劉振東;王小瑞;馮嘉 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | H04L12/18 | 分類號: | H04L12/18;G06Q30/06 |
| 代理公司: | 北京市惠誠律師事務所 11353 | 代理人: | 逯博 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 處理 方法 裝置 以及 電子設備 | ||
本發明實施例提供了一種消息處理方法和裝置以及電子設備,其中涉及的消息處理方法包括:對待處理的第一消息隊列中的消息進行消費操作,并形成所述第一消息隊列的消費進度信息;將所述消費進度信息在網絡中進行廣播,以使所述網絡中其他消費方對所述第一消息隊列中消息的消費進度進行本地保存。本發明實施例的方案可使得網絡內的各消費方對其他消費方的消費進度信息進行保存,從而有效避免對同一消息的重復消費。
技術領域
本發明涉及計算機技術領域,尤其涉及一種消息處理方法和裝置以及電子設備。
背景技術
現今的網絡服務平臺(例如購物、支付等平臺)大多會使用分布式消息系統(比如,Kafka,一種高吞吐量的分布式發布訂閱消息系統)作為平臺的基礎消息設施,用以支撐著平臺中眾多線上業務的發展,并承載著對億級消息的處理。在現有分布式消息系統中,通常可包括負責產生消息并將消息發送至消息服務器的消息生產方(Producer),負責組織、協調消息的消息服務器(Broker),以及負責對從消息服務器中得到的消息進行消費的消息消費方(Consumer)。
在現有的消息消費方對消息進行消費的過程中,通常為消息消費方先對其負責消息隊列的消費位點(Consumer Offset)信息進行記錄,然后再將消費位點信息發送至消息服務器進行保存(也可稱為異步保存),在此過程中,若遇到消息消費方突然發生故障(比如,宕機等)或者在向消息服務器發送消費位點信息時遇到網絡不通暢等,則會出現某些消費位點信息未及時發送并保存至消息服務器的情況,以可能會導致其他消息消費方對消息進行重復消費。在實際應用中,對消息的重復消費,很可能出現比如某條消息對應的通知被重復發送、某條消息對應的訂單被重復扣款等情況,不僅影響用戶體驗,還可能對用戶造成經濟損失。
雖然現有技術中也有利用設置數據庫以通過查詢數據庫等方式來避免消息的重復消費,但仍然存在實現過程依賴于數據庫,且頻繁的查詢操作會造成系統資源損耗且效率低下的問題,此外,由于需要額外設置數據庫,還會造成系統結構較為復雜,進而增加系統成本的問題。
發明內容
本發明提供了一種消息處理方法和裝置以及電子設備,可及時有效的將每個消費方處理消息隊列所產生的消費進度信息保存到網絡內其他消費方,從而有效避免消息的重復消費。
為達到上述目的,本申請的實施例采用如下技術方案:
第一方面,提供了一種消息處理方法,包括:
對待處理的第一消息隊列中的消息進行消費操作,并形成所述第一消息隊列的消費進度信息;
將所述消費進度信息在網絡中進行廣播,以使所述網絡中其他消費方對所述第一消息隊列中消息的消費進度進行本地保存。
第二方面,提供了一種消息處理方法,包括:
監聽網絡內其他消費方廣播的消費進度信息;
對監聽到的其他消費方的消費進度信息進行本地保存。
第三方面,提供了一種消息處理方法,包括:
對待處理的第二消息隊列中的消息進行消費操作之前,在本地已存儲的消費進度信息中,查找是否存在所述第二消息隊列的消費進度信息,其中,所述消費進度信息為通過網絡中其他消費方發出的廣播中獲得,用于標識在被消費的消息隊列中消息的消費進度;
如果查找到所述第二消息隊列的消費進度信息,則根據該消費進度信息繼續對所述第二消息隊列中的消息進行消費操作;或者,
如果未查找到所述第二消息隊列的消費進度信息,則對所述第二消息隊列中的消息從起始位置處開始順序對各消息進行消費操作。
第四方面,提供了一種消息處理方法,包括:
在本地已存儲的消費進度信息中,查找第二消息隊列的消費進度信息;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710703528.9/2.html,轉載請聲明來源鉆瓜專利網。





