[發明專利]一種消息傳遞系統有效
| 申請號: | 201811386086.0 | 申請日: | 2018-11-20 |
| 公開(公告)號: | CN109451032B | 公開(公告)日: | 2021-11-23 |
| 發明(設計)人: | 李京賢;王天才;周建 | 申請(專利權)人: | 上海聯寓智能科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 胡彬 |
| 地址: | 200444 上海市寶*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 傳遞 系統 | ||
本發明公開了一種消息傳遞系統,包括:消息平臺、數據庫和消息中間件,所述消息平臺分別與消息訂閱端和消息發送端連接,所述消息平臺還分別與所述數據庫和所述消息中間件連接,所述消息發送端用于將發送請求發送給所述消息平臺,所述消息平臺基于所述發送請求生成發送消息,并根據所述發送請求的時序,將對應的發送消息存儲到數據庫,并將所述發送消息發送給所述消息中間件,所述消息訂閱端用于發送訂閱請求給所述消息平臺,與傳統的消息傳遞技術相比,本發明的技術方案基于發送請求的時序完成發送消息的存儲與發送,避免了發送過程中消息的丟失,保證了消息的完整性和一致性,提高了系統的性能。
技術領域
本發明實施例涉及數據通信技術領域,尤其涉及一種消息傳遞系統。
背景技術
傳統的消息傳遞只能從應用端將消息發送到接受端,當接受端宕機或出現錯誤而不再接受消息時,會造成消息的丟失。為了避免這種情況的發生可采用消息中間件(Message Oriented Middleware,MOM),消息中間件可以在不同平臺之間通信,常被用來屏蔽掉各種平臺及協議之間的特性,實現應用程序之間的協同。
傳統的消息中間件大多采用同步調用完成消息的傳遞,而同步調用需要系統同步處理大量業務邏輯,導致用戶請求慢、體驗差,而且當系統接收到來自大量用戶的請求時會對整個系統帶來巨大的壓力,甚至可能導致服務宕機或整個系統癱瘓。此外,大型互聯網分布式系統存在多個服務,若采用這種傳統的消息中間件,每個服務都需要提供生產者和消費者,這就使得整個分布式系統非常復雜繁瑣。
發明內容
本發明實施例提供一種消息傳遞系統,基于發送請求的時序完成發送消息的存儲與發送,避免發送過程中消息的丟失,保證消息的完整性和一致性,提高系統的性能。
本發明實施例提供一種消息傳遞系統,包括:消息平臺、數據庫和消息中間件;
所述消息平臺分別與消息訂閱端和消息發送端連接,所述消息平臺還分別與所述數據庫和所述消息中間件連接,
所述消息發送端用于將發送請求發送給所述消息平臺,所述消息平臺基于所述發送請求生成發送消息,并根據所述發送請求的時序,將對應的發送消息存儲到所述數據庫,并將所述發送消息發送給所述消息中間件,所述消息訂閱端用于發送訂閱請求給所述消息平臺。
進一步的,所述發送消息包括事務消息和非事務消息,相應的,
當所述發送消息為事務消息時,所述消息平臺用于將所述消息發送端確認后的發送消息發送給所述消息中間件;
當所述發送消息為非事務消息時,所述消息平臺用于將所述發送消息直接發送給所述消息中間件。
進一步的,所述消息平臺還用于接收所述消息訂閱端發送的訂閱請求,并對所述訂閱請求進行解析。
進一步的,所述消息中間件還用于發送訂閱消息給所述消息平臺,所述訂閱消息為所述消息中間件中存儲的與解析結果對應的消息。
進一步的,所述消息平臺還用于將所述訂閱消息發送給所述消息訂閱端。
進一步的,所述消息平臺還用于當發送給所述消息中間件的發送消息或發送給所述消息訂閱端的訂閱消息發送失敗時,根據預設的消息重試策略重新發送所述發送消息或所述訂閱消息。
進一步的,所述消息平臺還用于根據所述發送消息的編號對所述發送消息進行冪等處理。
進一步的,所述消息平臺還用于根據所述訂閱消息的編號對所述訂閱消息進行冪等處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海聯寓智能科技有限公司,未經上海聯寓智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811386086.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種數據處理方法、計算節點及云計算系統
- 下一篇:一種數據處理系統及方法





