[發明專利]一種分布式補償事務的方法及設備在審
| 申請號: | 202010554152.1 | 申請日: | 2020-06-17 |
| 公開(公告)號: | CN111813791A | 公開(公告)日: | 2020-10-23 |
| 發明(設計)人: | 程偉 | 申請(專利權)人: | 上海悅易網絡信息技術有限公司 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F16/27;G06Q30/02 |
| 代理公司: | 上海百一領御專利代理事務所(普通合伙) 31243 | 代理人: | 汪祖樂;邵棟 |
| 地址: | 200433 上海市楊浦*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 補償 事務 方法 設備 | ||
本申請的目的是提供一種分布式補償事務的方法及設備,本申請通過在業務系統中設定業務方法對應的補償事務服務;當執行所述業務方法時記錄補償事務信息,并存儲至數據庫中;執行本地事務,根據本地事務的執行結果處理所述補償事務信息及所述補償事務服務。從而可保證分布式環境下數據的一致性,降低事務處理過程的復雜度,解耦業務系統中除業務補償處理部分的其他補償事務操作。
技術領域
本申請涉及計算機領域,尤其涉及一種分布式補償事務的方法及設備。
背景技術
在分布式環境下,為了保證不同數據源之間的數據一致性,一般會采用分布式事務,目前分布式事務的實現方式主要包括以下幾種:兩階段提交事務;可靠消息事務;補償事務。但這些方式分別具有以下缺點:兩階段提交事務的方式實現復雜,犧牲了可用性,對性能影響較大,不適合高并發高性能場景;可靠消息事務方式雖然避免了分布式事務,實現了最終一致性但對中間件的可靠性有要求;補償事務方式實現簡單,但事務記錄表會耦合到業務系統中,若沒有封裝好的解決方案,需要處理的步驟較多。
發明內容
本申請的一個目的是提供一種的方法及設備,解決現有技術中數據一致性、事務處理過程復雜以及解耦過程中需要其他處理操作的問題。
根據本申請的一個方面,提供了一種分布式補償事務的方法,該方法包括:
在業務系統中設定業務方法對應的補償事務服務;
當執行所述業務方法時記錄補償事務信息,并存儲至數據庫中;
執行本地事務,根據本地事務的執行結果處理所述補償事務信息及所述補償事務服務。
進一步地,在業務系統中設定業務方法對應的補償事務服務,包括:
在業務系統中的業務方法上標明補償事務服務中的補償事務注解,并設定所述補償事務的最大超時時間以及補償邏輯的重試次數。
進一步地,根據本地事務的執行結果處理所述補償事務信息及所述補償事務服務,包括:
當所述本地事務的執行結果為事務成功,則通過所述補償事務服務自動刪除所述補償事務信息。
進一步地,根據本地事務的執行結果處理所述補償事務信息及所述補償事務服務,包括:
當所述本地事務的執行結果為事務失敗,則將所述補償事務信息以消息通知方式通知所述業務系統,由所述業務系統執行所述補償事務服務中的補償邏輯。
進一步地,當所述本地事務的執行結果為事務失敗,則將所述補償事務信息以消息通知方式通知所述業務系統,包括:
開啟所述補償事務服務對應的事務掃描任務,通過所述事務掃描任務獲取所述數據庫中的異常事務的事務補償記錄;
將所述異常事務的事務補償記錄以消息通知方式通知所述業務系統。
進一步地,所述方法包括:
通過所述業務系統監聽所述消息通知,根據自身業務信息執行或重試補償邏輯。
進一步地,由所述業務系統執行所述補償事務服務中的補償邏輯,包括:
由所述業務系統中設定的補償事務服務根據補償事務注解確定所述補償事務注解上配置的業務系統中對應的補償邏輯方法;
通過反射方式調用所述補償邏輯方法以執行。
根據本申請又一個方面,還提供了一種分布式補償事務的設備,該設備包括:
設定裝置,用于在業務系統中設定業務方法對應的補償事務服務;
記錄裝置,用于當執行所述業務方法時記錄補償事務信息,并存儲至數據庫中;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海悅易網絡信息技術有限公司,未經上海悅易網絡信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010554152.1/2.html,轉載請聲明來源鉆瓜專利網。





