[發明專利]一種基于消息隊列的數據收發處理方法在審
| 申請號: | 202010161079.1 | 申請日: | 2020-03-10 |
| 公開(公告)號: | CN111404643A | 公開(公告)日: | 2020-07-10 |
| 發明(設計)人: | 高文峰;魏金雷;楊繼偉;徐士強 | 申請(專利權)人: | 山東匯貿電子口岸有限公司 |
| 主分類號: | H04L1/16 | 分類號: | H04L1/16;H04L12/863;H04L29/08 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 孫晶偉 |
| 地址: | 250100 山東省濟南市*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 消息 隊列 數據 收發 處理 方法 | ||
本發明公開一種基于消息隊列的數據收發處理方法,涉及信息技術領域;消息生產者定義消息狀態,消息本身以及消息隊列與消息消費者之間的狀態,消息生產者接收消息隊列和消息消費者的ACK消息及上一次消息狀態時,更新數據,并判斷消息是否需要重發,消息隊列收到消息消費者的ACK消息及上一次消息狀態時,更新數據,并更改消息狀態,查看是否存在需要發送到消息消費者的消息,消息消費者收到消息,更改消息狀態,返回ACK消息及消息狀態,利用本發明方法達到消息發送的精確性,原子性,一致性,保證三者的消息同步一致,不會造成某一條消息的漏發或者重發。
技術領域
本發明公開一種數據收發處理方法,涉及信息技術領域,具體地說是一種基于消息隊列的數據收發處理方法。
背景技術
最初互聯網發展,消息都是同步發送的,發送方將消息發送到接口方,無需中間服務商,你來我往方便快捷。但是當網絡飛速發展,信息交互繁忙的時候,數以萬計的消息不再適合簡單同步直接發送。隨之,出現了RPC同步技術,雖然效率有所提升,但是依舊無法解決信息爆炸的現狀。于是出現了消息的異步處理機制,發送方將消息發送到消息服務器,消息服務器發送到接收方,消息可以正常的接收和發送,但是成百上千條數據信息同時涌入消息服務器,分發信息對應不同的消費者,勢必會出現發送的信息一致性問題,其次,發送消息失敗或是接收不到,重復的發送消息導致生成重復的訂單,容易在消息發送鏈路產生的巨大負載壓力。
發明內容
本發明針對現有技術的問題,提供一種基于消息隊列的數據收發處理方法,解決MQ異步處理機制產生的消息不一致的問題,保證了信息發送的穩定性和安全性以及產品的高可用。
本發明提出的具體方案是:
一種基于消息隊列的數據收發處理方法:消息生產者定義消息狀態,消息本身以及消息隊列與消息消費者之間的狀態,
消息發送過程中,消息生產者接收消息隊列和消息消費者的ACK消息及上一次消息狀態時,更新數據,并判斷消息是否需要重發,
消息隊列收到消息消費者的ACK消息及上一次消息狀態時,更新數據,并更改消息狀態,查看是否存在需要發送到消息消費者的消息,
消息消費者收到消息,更改消息狀態,返回ACK消息及消息狀態。
所述的一種基于消息隊列的數據收發處理方法中消息生產者定期查詢消息的消息狀態,根據消息預設的發送次數,判斷消息是否需要重發。
所述的一種基于消息隊列的數據收發處理方法中消息隊列定期查詢消息的消息狀態,根據消息狀態查看是否存在需要發送到消息消費者的消息或是否需要刪除消息。
所述的一種基于消息隊列的數據收發處理方法中消息狀態包括待發送、發送成功及發送失敗。
所述的一種基于消息隊列的數據收發處理方法中超過預設的發送次數,消息的消息狀態為發送失敗,并利用統一的標記進行設置。
所述的一種基于消息隊列的數據收發處理方法中針對消息狀態為發送失敗的消息,進行告警。
所述的一種基于消息隊列的數據收發處理方法中消息生產者利用數據庫表存儲消息狀態,消息本身以及消息隊列與消息消費者之間的狀態。
一種基于消息隊列的數據收發處理系統,包括消息生產者、消息隊列及消息消費者,
消息生成者定義消息狀態,消息本身以及消息隊列與消息消費者之間的狀態,
消息發送過程中,消息生產者接收消息隊列和消息消費者的ACK消息及上一次消息狀態時,更新數據,并判斷消息是否需要重發,
消息隊列收到消息消費者的ACK消息及上一次消息狀態時,更新數據,并更改消息狀態,查看是否存在需要發送到消息消費者的消息,
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東匯貿電子口岸有限公司,未經山東匯貿電子口岸有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010161079.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





