[發明專利]一種消息傳輸及消費方法在審
| 申請號: | 202011338563.3 | 申請日: | 2020-11-25 |
| 公開(公告)號: | CN112463407A | 公開(公告)日: | 2021-03-09 |
| 發明(設計)人: | 桂紅軍 | 申請(專利權)人: | 北京神州數字科技有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;H04L29/08 |
| 代理公司: | 北京世譽鑫誠專利代理有限公司 11368 | 代理人: | 任欣生 |
| 地址: | 100037 北京市西*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 消息 傳輸 消費 方法 | ||
本發明公開的消息傳輸方法,涉及消息安全技術領域,通過接收客戶端或其他系統發送的業務請求并將執行該業務請求前、中、后過程中產生的消息寫入數據庫,根據該業務請求的執行情況,判斷該業務請求是否執行成功,若該業務請求成功執行,則將該消息發送至消息隊列服務端并通過消息隊列服務端向客戶端或其他系統傳輸該消息,保證了消息的可靠性。另外,本發明還公開了一種消息消費方法。
技術領域
本發明涉及消息安全技術領域,具體涉及一種消息傳輸及消費方法。
背景技術
隨著分布式、微服務等技術在金融行業的應用,從由大而全的單體系統逐漸向小而專的微服務系統演化,將整個業務系統劃分為客戶管理、賬務核心、結算系統、支付平臺、總賬系統、前端渠道等多個子系統,各個子系統獨立完成自己的業務功能,擁有其垂直領域的數據庫,各系統之間的消息交互通過分布式消息中間件來實現異步通信,不同消息中間件存在丟消息的可能。消息隊列成為整個業務系統中最重要的環節,其可靠性是衡量整個業務系統的重要指標,消息隊列的穩定性和可靠性是決定業務系統高效持續提供服務的保障,因此,如果提供一種能夠保證消息隊列的可靠性的方案為目前嗜需解決的問題。
發明內容
為解決現有技術的不足,本發明實施例提供了一種消息傳輸及消費方法。
第一方面,本發明實施例提供的消息傳輸方法包括以下步驟:
接收客戶端或其他系統發送的業務請求并將執行所述業務請求前、中、后過程中產生的消息寫入數據庫;
根據所述業務請求的執行情況,判斷所述業務請求是否執行成功;
若所述業務請求成功執行,則將所述消息發送至消息隊列服務端并通過所述消息隊列服務端向客戶端或其他系統傳輸所述消息。
優選地,判斷所述業務請求是否執行成功包括:
若所述業務請求未成功執行,則不再發送所述消息。
優選地,若所述業務請求成功執行,則將所述消息發送至消息隊列服務端包括:
若所述消息發送失敗,則根據預設的重試發送機制,重復發送所述消息,直至所述消息發送成功。
優選地,在根據所述業務請求的執行情況,在將執行所述業務請求前、中、后過程中產生的消息寫入數據庫之前,所述方法還包括:
為所述消息設置標識、流程編號、消息體、創建時間、狀態、過期時間及隊列編號,其中,所述消息狀態包括待發送狀態、準備發送狀態、發送成功狀態及發送失敗狀態。
優選地,在將所述消息發送至消息隊列服務端之后,所述方法還包括:
實時判斷是否存在待發送狀態及準備發送狀態的消息,若是,則定時獲取所述消息。
優選地,在則獲取所述消息之后,所述方法還包括:
判斷所述消息的創建時間與當前時間之間的時間間隔是否大于預設的有效期限,若是,則將所述消息的狀態設置為發送失敗狀態。
優選地,在通過所述消息隊列服務端向客戶端或其他系統傳輸所述消息之后,所述方法還包括:
根據所述消息的業務處理情況,實時更新所述消息的狀態。
第二方面,本發明實施例提供的消息消費方法包括以下步驟:
獲取業務系統發送的消息并判斷所述消息是否已經被消費;
若消息已經被消費,則將所述消息寫入消息重復表中;
若所述消息未被消費,則將所述消息寫入消息消費表中,其中,所述消息消費表記錄消息的唯一標識、接收時間、狀態、更新時間、目的地。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京神州數字科技有限公司,未經北京神州數字科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011338563.3/2.html,轉載請聲明來源鉆瓜專利網。





