[發(fā)明專利]用于分布式事務的兩階段提交協(xié)議混合在審
| 申請?zhí)枺?/td> | 201610081109.1 | 申請日: | 2016-02-05 |
| 公開(公告)號: | CN107045453A | 公開(公告)日: | 2017-08-15 |
| 發(fā)明(設計)人: | S.L.布羅伊德;J.德羅奧;S-S.童;劉明 | 申請(專利權(quán))人: | 慧與發(fā)展有限責任合伙企業(yè) |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F17/30 |
| 代理公司: | 中國專利代理(香港)有限公司72001 | 代理人: | 李雪娜,陳嵐 |
| 地址: | 美國德*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 分布式 事務 階段 提交 協(xié)議 混合 | ||
背景技術(shù)
在事務處理、數(shù)據(jù)庫和計算機聯(lián)網(wǎng)中,兩階段提交協(xié)議是原子提交協(xié)議的類型。原子提交可以被描述為將不同改變的集合應用為單個操作的操作。原子提交可以被表示為在改變被應用的情況下已經(jīng)成功,并且如果在原子提交可能完成之前存在故障,則原子提交中完成的所有改變被反轉(zhuǎn)。在原子提交中完成的所有改變的該反轉(zhuǎn)方面可以確保系統(tǒng)在故障的情況下保持處于一致狀態(tài)。原子提交進一步包括其中在任何給定時間處理一個原子提交的隔離的屬性。例如,原子提交可以在數(shù)據(jù)庫系統(tǒng)、修訂控制系統(tǒng)和其他這樣的領(lǐng)域中使用。
附圖說明
本公開的特征通過示例的方式圖示,并且不限于(一個或多個)以下各圖,其中相同的附圖標記指示相同的元件,在附圖中:
圖1圖示了根據(jù)本公開的示例的用于分布式事務的兩階段提交協(xié)議混合的裝置的布局;
圖2圖示了根據(jù)本公開的示例的用于圖1的用于分布式事務的兩階段提交協(xié)議混合的裝置的環(huán)境;
圖3圖示了根據(jù)本公開的示例的用于實現(xiàn)圖1的用于分布式事務的兩階段提交協(xié)議混合的裝置的方法的流程圖;
圖4圖示了根據(jù)本公開的示例的用于實現(xiàn)圖1的用于分布式事務的兩階段提交協(xié)議混合的裝置的方法的另一流程圖;
圖5圖示了根據(jù)本公開的示例的用于實現(xiàn)圖1的用于分布式事務的兩階段提交協(xié)議混合的裝置的方法的另一流程圖;以及
圖6圖示了根據(jù)本公開的示例的計算機系統(tǒng)。
具體實施方式
為了簡化和說明的目的,通過主要參考示例來描述本公開。在下面的描述中,闡述了許多特定細節(jié),以便于提供對本公開的全面理解。然而,將容易地顯而易見的是,可以在不限于這些特定細節(jié)的情況下實踐本公開。在其他情況下,一些方法和結(jié)構(gòu)尚未被詳細描述,以免不必要地模糊本公開。
貫穿本公開,術(shù)語“一”和“一個”旨在表示特定元件中的至少一個。如本文中使用的,術(shù)語“包含”意為包括但不限于,術(shù)語“包括”意為包括但不限于。術(shù)語“基于”意為至少部分地基于。
在事務處理、數(shù)據(jù)庫、計算機聯(lián)網(wǎng)以及其他這樣的領(lǐng)域中,兩階段提交協(xié)議是可以被描述為機器可讀指令的分布式集合的原子提交協(xié)議的類型,其中,兩階段提交協(xié)議協(xié)調(diào)參與關(guān)于提交還是中止(即,回滾)事務的分布式原子事務的所有過程。兩階段提交協(xié)議實現(xiàn)其提交事務的目標,甚至在臨時系統(tǒng)故障的許多情況下,例如涉及關(guān)聯(lián)的過程、網(wǎng)絡節(jié)點、通信等的故障。為了適應從故障恢復,兩階段提交協(xié)議的參與方可以使用兩階段提交協(xié)議的狀態(tài)的登記(logging)。在這方面,可以通過兩階段提交協(xié)議的恢復過程來使用日志記錄。
使用兩階段提交協(xié)議的解決方案可以包括數(shù)據(jù)操縱語言階段(例如,階段0),其中執(zhí)行所有的事務插入、更新和刪除操作。在使用鎖定管理(例如,通過鎖定管理模塊實現(xiàn))的實現(xiàn)方式中,鎖定可以在階段0期間被獲得和積累。進一步關(guān)于階段0,兩階段提交協(xié)議的操作可以包括提交請求階段(本文也作為投票階段、準備階段或階段1)和提交階段(本文也稱為階段2)。對于實現(xiàn)如本文中公開的推定準備好協(xié)議的參與方,每個數(shù)據(jù)操縱語言操作可以被評估為包括暗示的提交請求階段(即,階段1),使得事務可在任何時刻提交,只要沒有數(shù)據(jù)操縱語言請求返回錯誤。關(guān)于數(shù)據(jù)操縱語言請求的任何錯誤(在合適的重試之后,在適用的情況下)可能導致中止。
鎖定可被描述為防止其他并發(fā)事務在當前事務正在進行的同時修改底層數(shù)據(jù)的機制。作為鎖定的替代或附加,數(shù)據(jù)庫可以使用樂觀并發(fā)控制,并且如果檢測到?jīng)_突則中止。鎖定可以繼續(xù)被保持,直至如本文公開的階段2的結(jié)束,在所有數(shù)據(jù)操縱語言操作被執(zhí)行并安全存儲在審計尾跡(audit trail)中之后。
描述數(shù)據(jù)修改的審計記錄可以被置于審計服務高速緩存中的審計緩沖器中,但是這些審計緩沖器可能沒有被刷新(flush),或?qū)徲嬘涗浛梢栽陔A段0期間被安全存儲在例如盤上。審計尾跡可以提供在數(shù)據(jù)庫中的數(shù)據(jù)持久性的實現(xiàn)。在事務完成如本文公開的階段2之前,可以例如通過盤、固態(tài)驅(qū)動(SSD)、非易失性隨機存取存儲器(RAM)、n副本等來使審計記錄持久,使得在未計劃的中斷的情況下,審計記錄本身可以用于重建未應用的事務并且使數(shù)據(jù)庫一致。在某些兩階段提交協(xié)議中,審計記錄沒有被刷新到磁盤并且被保持在存儲器中,直到準備階段(即階段1)之后為止。在如本文所公開的推定準備好的情況下,在每個數(shù)據(jù)操縱語言操作之后,可以使得審計記錄持久,從而使得準備消息對于實現(xiàn)假定準備好協(xié)議(presumed prepared protocol)的那些參與方是過時的。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于慧與發(fā)展有限責任合伙企業(yè),未經(jīng)慧與發(fā)展有限責任合伙企業(yè)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610081109.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





