[發明專利]基于分布式數據庫的事務管理方法有效
| 申請號: | 201710711443.5 | 申請日: | 2017-08-18 |
| 公開(公告)號: | CN109408201B | 公開(公告)日: | 2022-07-12 |
| 發明(設計)人: | 周家晶;裴晨光;李永峰;苗浩 | 申請(專利權)人: | 中國銀聯股份有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 王星;付曼 |
| 地址: | 200135 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 分布式 數據庫 事務管理 方法 | ||
本發明涉及一種基于分布式數據庫的事務管理方法,包括:協調者判斷第一用戶與協調者之間的第一全局事務的隔離級別是否為不可重復讀;若是,則繼續執行以下步驟;協調者與多個數據庫建立通信連接,以對多個數據庫進行分布式管理;若第一全局事務對第一數據庫發生寫操作,則協調者開啟與第一數據庫之間的第一本地事務;以及,在提交或回滾第一全局事務時,協調者關閉第一本地事務。該方法在保證分布式事務處理一致性的前提下,能夠根據全局事務的實際需求來相應地開啟本地事務,從而可以更有效地利用有限的管理資源。此外,還有利于減少通信會話時長,從而進一步促進提高管理資源的利用率,提高了系統效率。
技術領域
本發明涉及數據庫技術領域,更具體地說,涉及一種基于分布式數據庫的事務管理方法。
背景技術
事務(Transaction)是并發控制的單位,是用戶定義的一個操作序列。這些操作要么都做,要么都不做,因此是一個不可分割的工作單位。分布式事務處理是指一個事務可能涉及多個數據庫操作,分布式事務處理的關鍵是必須有一種方法可以知道事務在任何地方所涉及的所有動作,使得提交或回滾事務的決定對它們必須產生統一的結果(全部提交或全部回滾)。
目前,大部分主流單機數據庫都能很好的保證事務的特性,但是,在分布式數據庫中實現分布式事務卻面臨著很多難題,其中一個難題就是如何有效地回滾分布式事務。分布式事務有別于單機事務最大的不同是,其要在多個數據庫節點同時進行提交,如果都能夠成功,那么不需要進行其他后續操作;而一旦某個數據庫節點因某種異常造成提交失敗,那么其他數據庫節點也要保證提交給它們的事務能停止執行或者及時回滾。由于數據庫節點發生錯誤的隨機性以及異常的類型眾多,如何能有效的回滾分布式事務成為保證事務處理一致性的一個關鍵問題。
目前,業界使用的最多的就是由X/Open組織定義的X/Open DTP(DistributedTransaction Processing,分布事務處理)模型。該模型中有三個角色:AP(Application,應用程序),也就是業務層。哪些操作屬于一個事務,就是AP定義的。RM(Resource Manager,資源管理器),一般是數據庫,也可以是其他的資源管理器,如消息隊列,例如JMS(JavaMessage Service,Java消息服務)數據源、文件系統等。TM(Transaction Manager,事務管理器),接收AP的事務請求,對全局事務進行管理,管理事務分支狀態,協調RM的處理,通知RM哪些操作屬于哪些全局事務以及事務分支等,其是整個事務調度模型的核心部分。
XA協議是X/Open DTP組織定義的兩階段提交協議,采用兩階段提交方式來管理分布式事務。在第一階段,TM請求所有RM準備提交(即預提交)各自的事務分支,以確認是否所有相關RM都可以提交各自的事務分支。當局部RM收到預提交后,如果可以提交屬于自己的事務分支,則將自己在該事務分支中所做的操作固定記錄下來,并給TM一個同意提交的應答,此時RM將不能再在該事務分支中加入任何操作,但此時RM并沒有真正提交該事務,RM對共享資源的操作還未釋放(即處于鎖定狀態)。如果由于某種原因RM無法提交屬于自己的事務分支,它將回滾自己的所有操作,釋放對共享資源的鎖定,并返回給TM失敗應答。在第二階段,TM審查所有RM返回的預提交結果,如所有RM都可以提交,TM將要求所有RM做正式提交,這樣該全局事務被提交。而如果有任一RM預提交返回失敗,TM將要求所有其它RM回滾其操作,這樣該全局事務被回滾。
采用兩階段提交方式這種模式有幾個明顯的缺點,首先,即使分成兩個階段來提交,但是仍然無法避免第二階段時數據庫節點發生異常,從而還是可能會導致事務不一致;其次,由于對每次事務都采用兩階段提交,因此系統在提交事務時對每個相關的數據庫節點要多產生一次交互過程,這使得系統執行效率下降。
本領域技術人員期望獲得一種在確保事務處理一致性的同時,又使得系統執行效率不會降低的事務管理方法。
發明內容
本發明的目的在于提供一種可靠性好、不影響系統執行效率的基于分布式數據庫的事務管理方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國銀聯股份有限公司,未經中國銀聯股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710711443.5/2.html,轉載請聲明來源鉆瓜專利網。





