[發明專利]一種事務消息的傳輸方法和設備在審
| 申請號: | 201410374551.4 | 申請日: | 2014-07-31 |
| 公開(公告)號: | CN105447000A | 公開(公告)日: | 2016-03-30 |
| 發明(設計)人: | 錢進 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京鑫媛睿博知識產權代理有限公司 11297 | 代理人: | 龔家驊 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 事務 消息 傳輸 方法 設備 | ||
技術領域
本申請涉及互聯網技術領域,尤其涉及一種事務消息的傳輸方法和設備。
背景技術
消息一致性在分布式系統中廣泛存在,也是分布式系統中強依賴的應用場景,而事務消息是業界內解決消息一致性的通用解決方案。在現有技術中,中間件設備需要依賴第三方數據庫的存儲來實現事務消息的傳輸過程。
具體的,業務處理設備處理業務邏輯,并在業務邏輯的處理過程中,業務處理設備向中間件設備發送事務消息,該事務消息中攜帶的狀態為準備狀態(Prepared)。中間件設備在收到該事務消息之后,在第三方數據庫中存儲該事務消息,并向業務處理設備通知已經收到事務消息的信息,由業務處理設備繼續處理剩余的業務邏輯。在業務邏輯處理完成之后,業務處理設備向中間件設備發送事務消息,該事務消息中攜帶的狀態為提交狀態。中間件設備在收到該事務消息之后,從第三方數據庫中檢索對應的狀態為準備狀態的事務消息,并利用當前收到的事務消息替換第三方數據庫中存儲的事務消息。中間件設備向業務響應設備發送第三方數據庫中存儲的事務消息,并在事務消息被成功發送給業務響應設備之后,中間件設備刪除第三方數據庫中存儲的該事務消息。業務響應設備在收到事務消息之后,進行后續業務處理。
在上述處理過程中,中間件設備需要通過與第三方數據庫的交互,來實現事務消息的傳輸過程。在中間件設備與第三方數據庫的交互過程中,會涉及到第三方數據庫的存儲處理、查詢處理、更新處理,而第三方數據庫的上述處理均需要很長時間,其處理效率很低,而且處理性能較差。
發明內容
本申請實施例提供一種事務消息的傳輸方法和設備,以通過文件來存儲事務消息,并保證消息的一致性,從而可以避免與第三方數據庫的交互。
本申請實施例提供一種事務消息的傳輸方法,所述方法包括以下步驟:
中間件設備接收來自業務處理設備的第一事務消息,并將所述第一事務消息存儲到本地的第一文件中,所述第一事務消息中攜帶的狀態為準備狀態;
所述中間件設備獲得第二事務消息,并將所述第二事務消息存儲到所述第一文件中,所述第二事務消息中攜帶的狀態為提交狀態;
所述中間件設備將所述第二事務消息發送給業務響應設備。
所述中間件設備獲得第二事務消息,并將所述第二事務消息存儲到所述第一文件的過程,具體包括:
所述中間件設備在收到第一事務消息之后,將中間件設備成功收到第一事務消息的信息發送給所述業務處理設備;所述中間件設備接收來自所述業務處理設備的第二事務消息,所述第二事務消息中攜帶的狀態為提交狀態或者回滾狀態;當所述第二事務消息中攜帶的狀態為回滾狀態時,所述中間件設備丟棄所述第二事務消息;當所述第二事務消息中攜帶的狀態為提交狀態時,所述中間件設備將所述第二事務消息存儲到所述第一文件中;或者,
所述中間件設備在收到第一事務消息之后,將中間件設備成功收到第一事務消息的信息以及第一事務消息在所述第一文件中的第一位置信息發送給所述業務處理設備;所述中間件設備接收來自所述業務處理設備的攜帶所述第一位置信息以及消息狀態的消息,所述消息狀態為提交狀態或者回滾狀態;當所述消息狀態為回滾狀態時,所述中間件設備丟棄當前收到的信息;當所述消息狀態為提交狀態時,所述中間件設備利用所述第一位置信息從所述第一文件中獲得第一事務消息,并利用所述第一事務消息以及所述提交狀態生成第二事務消息,并將所述第二事務消息存儲到所述第一文件中。
所述方法進一步包括:
所述中間件設備在將第一事務消息存儲到第一文件之后,所述中間件設備確定所述第一事務消息在第一文件中的第一位置信息,并將所述第一事務消息中攜帶的準備狀態以及所述第一位置信息存儲到本地的第二文件中;
所述中間件設備在將所述第二事務消息存儲到所述第一文件之后,所述中間件設備確定所述第二事務消息對應的第一事務消息在所述第一文件中的第一位置信息,并利用所述第二事務消息對應的所述第一位置信息查詢所述第二文件中存儲的第一位置信息,并將所述第二文件中存儲的第一位置信息對應的準備狀態替換為所述第二事務消息中攜帶的提交狀態。
所述方法進一步包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410374551.4/2.html,轉載請聲明來源鉆瓜專利網。





