[發明專利]一種基于提交點時間線同步的異構數據庫復制并行執行系統及方法在審
| 申請號: | 201611238009.1 | 申請日: | 2016-12-28 |
| 公開(公告)號: | CN106777270A | 公開(公告)日: | 2017-05-31 |
| 發明(設計)人: | 彭明田;付銓;孫峰;王堯;陳琦;周英飚 | 申請(專利權)人: | 中國民航信息網絡股份有限公司;武漢達夢數據庫有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 湖北武漢永嘉專利代理有限公司42102 | 代理人: | 張惠玲 |
| 地址: | 100105 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 提交 時間 同步 數據庫 復制 并行 執行 系統 方法 | ||
技術領域
本發明涉及一種異構數據庫復制并行執行方法,尤指一種基于提交點時間線同步的異構數據庫復制并行執行系統及方法。
背景技術
隨著企業信息化系統的廣泛應用,信息化系統已經成為企業維持業務運轉的關鍵。企業多樣化的業務類型導致數據訪問需求日趨復雜化,同時數據量的急劇攀升也導致數據庫服務器不堪重負。企業迫切需要提高信息系統的可用性,保證業務的連續性,最大限度地減少因災難或故障所帶來的損失。為此,分布式異構數據庫的數據復制是一種常用的技術手段。
目前,抽取源數據庫的事務日志,獲得源數據庫的數據操作,包括插入(INSERT)、刪除(DELETE)、更新(UPDATE),然后通過網絡發送給復制系統的目的端,目的端恢復成原始的SQL語句在目的數據庫上執行,是一種常用的數據庫復制技術。它具有對源數據庫的性能和數據模式影響小,可采用非常靈活的方式配置出各種拓撲結構,支持跨異構的操作系統和數據庫平臺復制等優點。
恢復后的SQL語句在目的數據庫上執行的效率是如上所述的數據復制系統性能的關鍵,為此需要在目的端并行執行這些語句。然而,目的數據庫可以采取各種并發控制機制,不加控制的并行執行將會導致某些語句的執行因為并發控制導致失敗,從而破壞目的數據庫與源數據庫的事務一致性。因此,提供適當的機制,既保證語句執行的高并發性,又確保事務能正確執行,是這種復制系統需要考慮的重要問題。目前存在的一些數據復制系統,例如Oracle的GoldenGate,在執行端是串行執行恢復后的語句,雖然不會導致事務失敗,但效率很低。
由此可見,傳統的復制系統串行執行的問題,不能適應現代海量數據應用環境下、大規模用戶、高并發的復制場景,需要發明新的異構數據庫復制并行執行方法及系統。
發明內容
本發明的目的就是要提供一種基于提交點時間線同步的異構數據庫復制并行執行系統及方法,在使用日志進行異構數據庫復制環境中,利用提交點時間線構成柵欄,和兩條時間線之間的所有更新操作互不沖突的特性,在目的端數據庫并行執行這些操作,可以顯著提高復制效率。其采用基于提交點時間線同步的異構數據庫并行復制,解決了目的數據庫事務串行執行導致復制效率低下的技術問題。
為實現上述目的,本發明所設計的一種基于提交點時間線同步的異構數據庫復制并行執行系統,包括源數據庫、目的數據庫、復制系統;所述復制系統包括源端和目的端,所述目的端包括負責接收事務日志的日志接收線程,以及負責在目的數據庫中并行執行相應數據操作的日志執行線程,所述日志執行線程有多個,所述事務日志包括提交日志和操作日志;所述源端將源數據庫中的事務日志轉發給目的端的日志接收線程,所述日志接收線程再將收到的事務日志投遞給日志執行線程,所述日志執行線程接收并執行事務日志。
一種基于提交點時間線同步的異構數據庫復制并行執行方法,包括如下步驟:
1)通過復制系統的源端將源數據庫的事務日志轉發給目的端;
2)目的端的日志接收線程反復接收從源數據庫傳來的事務日志,將事務日志緩存在內存中,積累事務日志直到碰到一個提交日志后,從內存中提取此事務的全部事務日志,投遞給一個日志執行線程;
3)當日志執行線程接到一個事務的全部事務日志時被激活,如果早于其他日志執行線程所處理事務的提交日志所在時間點,則依次取出全部操作日志,執行操作日志的線程;否則將本次操作日志的線程掛起,等待其他日志執行線程所處理的事務日志執行完畢。
進一步地,所述步驟2中,所述日志接收線程的具體實現過程為:
1.1)日志接收線程接收一條來自于源數據庫的事務日志;
1.2)將事務日志緩存在內存之中;
1.3)如果此事務日志不是提交日志,返回步驟1.1;否則,執行步驟1.4;
1.4)選擇一個空閑的日志執行線程,將此事務全部的事務日志投遞給它,返回步驟1.1;
更進一步地,所述步驟3中,所述日志執行線程的具體實現過程為:
2.1)日志執行線程接收一個事務的全部事務日志后被激活;
2.2)從收到的全部事務日志序列中依次取出一條日志;
2.3)檢查活動的其他日志執行線程所執行的提交日志,如果存在其他日志執行線程所執行的提交日志時間早于取出的這條日志,則本執行線程掛起,延時執行步驟2.3);
2.4)執行此事務日志。
實施本發明的基于提交點時間線同步的異構數據庫復制并行執行系統及方法,具有以下有益效果:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國民航信息網絡股份有限公司;武漢達夢數據庫有限公司,未經中國民航信息網絡股份有限公司;武漢達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611238009.1/2.html,轉載請聲明來源鉆瓜專利網。





