[發明專利]一種分布式數據庫中間件解決方法在審
| 申請號: | 202011102929.7 | 申請日: | 2020-10-15 |
| 公開(公告)號: | CN112395102A | 公開(公告)日: | 2021-02-23 |
| 發明(設計)人: | 甄慧斌 | 申請(專利權)人: | 北京仿真中心 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/48;G06F16/27 |
| 代理公司: | 北京正理專利代理有限公司 11257 | 代理人: | 付生輝 |
| 地址: | 100854 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 數據庫 中間件 解決方法 | ||
本發明的一個實施例公開了一種分布式數據庫中間件解決方法,所述方法通過整合現有成熟事務,為本地事務、兩階段事務和柔性事務提供統一的分布式事務接口,整合后的事務包括:基于XA兩階段事務和基于SEATA柔性事務;其中,所述基于XA兩階段事務整合了XA事務和兩階段事務;所述基于SEATA柔性事務整合了SEATA框架中的Seata AT事務。該方法整合現有的成熟事務,為本地事務、兩階段事務和柔性事務提供統一的分布式事務接口,并彌補了當前方法的不足。
技術領域
本發明涉及計算機數據庫領域,具體涉及一種分布式數據庫中間件解決方法。
背景技術
在基于微服務的分布式應用流行環境下,越來越多的應用場景要求對多個服務的訪問及其相對應的多個數據庫資源能納入到同一個事務當中,出現了分布式事務。在分布式的應用場景下,它卻成為系統性能的制約。如何讓數據庫在分布式場景下滿足ACID的特性或找尋相應的替代方法,是分布式事務的重點解決方向。目前關于事務的解決主要有本地事務、兩階段提交事務、柔性事務。
本地事務:不開啟任何分布式事務管理器的前提下,讓每個數據節點各自管理自己的事務。它們之間沒有協調以及通信的能力,也并不互相知曉其他數據節點事務的成功與否。本地事務在性能方面無任何損耗,但在強一致性以及最終一致性方面則力不從心。
兩階段提交事務:事務執行在過程中需要將所需資源全部鎖定,它更加適用于執行時間確定的短事務。對于長事務來說,整個事務進行期間對數據的獨占,將導致對熱點數據依賴的業務系統并發性能衰退明顯。
柔性事務:柔性事務的理念則是通過業務邏輯將互斥鎖操作從資源層面上移至業務層面。通過放寬對強一致性要求,來換取系統吞吐量的提升。
在開發者的日常工作中,由于應用的場景不同,需要開發者能夠合理的在性能與功能之間權衡各種分布式事務。
而強一致的事務與柔性事務的API和功能并不完全相同,在它們之間并不能做到自由的透明切換。在開發決策階段,就不得不在強一致的事務和柔性事務之間抉擇,使得設計和開發成本被大幅增加。
基于XA的強一致事務使用相對簡單,但是無法很好的應對互聯網的高并發或復雜系統的長事務場景;柔性事務則需要開發者對應用進行改造,接入成本非常高,并且需要開發者自行實現資源鎖定和反向補償。
發明內容
因此,本發明針對上述問題,整合現有的成熟事務,為本地事務、兩階段事務和柔性事務提供統一的分布式事務接口,彌補當前方法的不足,提供一種分布式事務解決方法。
為達到上述目的,本發明采用下述技術方案:
本發明一方面提供一種分布式數據庫中間件解決方法,所述方法通過整合現有成熟事務,為本地事務、兩階段事務和柔性事務提供統一的分布式事務接口,整合后的事務包括:
基于XA兩階段事務和基于SEATA柔性事務;
其中,
所述基于XA兩階段事務整合了XA事務和兩階段事務;
所述基于SEATA柔性事務整合了SEATA框架中的Seata AT事務。
在一個具體實施例中,所述方法包括集成嵌入式的事務管理器,以jar包的形式提供服務。
在一個具體實施例中,所述基于XA兩階段事務提交采用的是X/OPEN組織所定義的DTP模型所抽象的應用工程,事務管理器和資源管理器間采用XA的協議進行雙向通信。
在一個具體實施例中,所述基于XA兩階段事務包括準備階段,數據庫除了被動接受提交指令外,還能夠反向通知調用方事務是否能夠被提交;事務管理器收集所有分支事務的準備結果,并于最后進行原子提交。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京仿真中心,未經北京仿真中心許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011102929.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種金屬基高分子材料及其制備方法
- 下一篇:一種自動捆扎設備





