[發明專利]基于saga的分布式事務處理方法、裝置、設備及介質有效
| 申請號: | 202310035829.4 | 申請日: | 2023-01-10 |
| 公開(公告)號: | CN115756768B | 公開(公告)日: | 2023-04-28 |
| 發明(設計)人: | 王穎奇;馮斌;蘭錦;李重辰;王旭輝 | 申請(專利權)人: | 深圳復臨科技有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 深圳市世聯合知識產權代理有限公司 44385 | 代理人: | 郝少劍 |
| 地址: | 518000 廣東省深圳市南山區粵海街*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 saga 分布式 事務處理 方法 裝置 設備 介質 | ||
本申請實施例屬于計算機領域,涉及一種基于saga的分布式事務處理方法,包括:當接收到事務處理請求時,獲取分布式事務;提取所述分布式事務的業務標識,以根據所述業務標識對所述分布式事務進行加鎖處理;獲取事務工廠中的子事務列表,根據所述子事務列表,將所述分布式事務拆分為若干個子事務,并獲取子事務執行順序,其中,所述事務工廠為對基于saga的分布式事務進行定義與配置的組件;按照所述子事務執行順序執行各子事務,并在執行完畢后對所述分布式事務進行解鎖處理;當對所述各子事務執行成功時,得到所述分布式事務的事務處理結果。本申請還提供一種基于saga的分布式事務處理裝置、計算機設備及存儲介質。本申請簡化了saga事務冪等性的實現。
技術領域
本申請涉及計算機技術領域,尤其涉及一種基于saga的分布式事務處理方法、裝置、計算機設備及存儲介質。
背景技術
分布式事務是指事務的發起者、資源及資源管理器和事務處理者分別位于分布式系統的不同節點之上。由于涉及到多個節點,分布式事務的最終一致性顯得尤為重要。針對處理分布式事務,當前提出了兩段式提交(2?phase?commit,2PC)、三段式提交(3?phasecommit,3PC)、可靠事件隊列、TCC事務(Try-Confirm-Cancel)和saga事務等解決方案。其中,saga是將一個事務分解為若干個子事務,子事務可以單獨提交,具有較高的靈活性,使用較多。
在saga中,事務具有正向事件和反向事件,saga要求正向事件和反向事件都要滿足冪等性從而確保數據一致性。在復雜業務中,這會引入更多復雜性,并導致對已有的業務系統逐一改造的成本過高。而且,saga只是提出了一些規范,并沒有具體規定如何實現,使得當前基于saga的分布式事務處理較為凌亂。
發明內容
本申請實施例的目的在于提出一種基于saga的分布式事務處理方法、裝置、計算機設備及存儲介質,以簡化saga事務冪等性的實現。
為了解決上述技術問題,本申請實施例提供一種基于saga的分布式事務處理方法,采用了如下所述的技術方案:
當接收到事務處理請求時,獲取分布式事務;
提取所述分布式事務的業務標識,以根據所述業務標識對所述分布式事務進行加鎖處理;
獲取事務工廠中的子事務列表,根據所述事務工廠中的子事務列表,將所述分布式事務拆分為若干個子事務,并獲取子事務執行順序,其中,所述事務工廠為對基于saga的分布式事務進行定義與配置的組件;
按照所述子事務執行順序執行各子事務,并在執行完畢后對所述分布式事務進行解鎖處理;
當對所述各子事務執行成功時,得到所述分布式事務的事務處理結果。
為了解決上述技術問題,本申請實施例還提供一種基于saga的分布式事務處理裝置,采用了如下所述的技術方案:
事務獲取模塊,用于當接收到事務處理請求時,獲取分布式事務;
加鎖處理模塊,用于提取所述分布式事務的業務標識,以根據所述業務標識對所述分布式事務進行加鎖處理;
事務拆分模塊,用于獲取事務工廠中的子事務列表,根據所述事務工廠中的子事務列表,將所述分布式事務拆分為若干個子事務,并獲取子事務執行順序,其中,所述事務工廠為對基于saga的分布式事務進行定義與配置的組件;
事務執行模塊,用于按照所述子事務執行順序執行各子事務,并在執行完畢后對所述分布式事務進行解鎖處理;
結果生成模塊,用于當對所述各子事務執行成功時,得到所述分布式事務的事務處理結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳復臨科技有限公司,未經深圳復臨科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310035829.4/2.html,轉載請聲明來源鉆瓜專利網。





