[發(fā)明專利]一種基于日志解析同步的并行執(zhí)行方法和數據同步系統(tǒng)在審
| 申請?zhí)枺?/td> | 202010500197.0 | 申請日: | 2020-06-04 |
| 公開(公告)號: | CN111858505A | 公開(公告)日: | 2020-10-30 |
| 發(fā)明(設計)人: | 付銓;孫峰;彭青松;劉啟春 | 申請(專利權)人: | 武漢達夢數據庫有限公司 |
| 主分類號: | G06F16/17 | 分類號: | G06F16/17;G06F16/178;G06F16/23;G06F16/27 |
| 代理公司: | 深圳市六加知識產權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 日志 解析 同步 并行 執(zhí)行 方法 數據 系統(tǒng) | ||
本發(fā)明公開了一種基于日志解析同步的并行執(zhí)行方法和數據同步系統(tǒng),該并行執(zhí)行方法包括:日志接收線程在獲取到提交操作后,將提交操作所屬的待執(zhí)行事務分發(fā)至相對應的事務執(zhí)行線程;從待執(zhí)行事務中取出待執(zhí)行操作,事務執(zhí)行線程獲取當前待執(zhí)行操作的操作類型和當前待執(zhí)行操作所涉及的對象;根據當前待執(zhí)行操作的操作類型構造適合于當前待執(zhí)行操作的目標鎖;基于目標鎖為當前待執(zhí)行操作所涉及的對象上鎖。在本發(fā)明中,通過獲取操作的類型以及操作所涉及的對像來構造相應的內部鎖,并行執(zhí)行時,針對存在對像沖突的待執(zhí)行操作,利用鎖機制控制執(zhí)行的先后順序,對像名稱不沖突的待執(zhí)行操作則忽略它們之間依賴關系并行執(zhí)行,從而提升同步的效率。
技術領域
本發(fā)明屬于數據同步技術領域,更具體地,涉及一種基于日志解析同步的并行執(zhí)行方法和數據同步系統(tǒng)。
背景技術
傳統(tǒng)的基于數據庫自身的主備機制實現數據庫數據的實時復制,是進行數據容災備份,保障數據安全的重要的解決方案。目前,例如ORACLE公司的DataGuard和達夢數據庫的DM7主備產品都是實現這種解決方案的成熟的商業(yè)化產品。數據庫主備機制下,一般備機作為備份節(jié)點,通常只提供只讀訪問,可以在備機上做一些報表分析、數據挖掘等只讀訪問的應用,而不能像主機一樣提供讀寫訪問。另外,數據庫主備機制要求備機數據庫系統(tǒng)和主機一致,對于異構數據庫系統(tǒng)環(huán)境,則不能利用數據庫自身的主備機制實現有效的數據實時復制。
針對數據庫主備機制實現數據復制的不足,目前基于軟件的異構數據庫復制技術應用廣泛。這種技術在源端捕獲出數據庫的增量數據,然后發(fā)送到目的端,在目的端通過通用的數據庫訪問接口,將增量數據應用到目的端數據庫,實現數據復制。這種技術因為使用到通用數據庫接口,因此支持異構數據庫系統(tǒng)復制,支持異構操作系統(tǒng)環(huán)境,并且目的端備機數據庫系統(tǒng)可讀寫,是一種“雙活”系統(tǒng)。
有多種技術方式實現獲取源端數據庫的增量數據,其中,基于數據庫日志捕獲分析的數據實時同步技術,因其對源數據庫侵入性小,捕獲分析性能高,得到較大發(fā)展及研究。這種技術通過分析源數據庫歸檔或聯機日志,捕獲出數據庫的INSERT、UPDATE、DELETE操作日志以及DDL操作日志,然后發(fā)送到目的端,目的端對日志信息進行逆向生成,恢復成SQL語句方式,然后使用數據庫通用接口,應用到目的端數據庫,實現數據復制。因此,在數據庫實時復制過程中,目的端的執(zhí)行效率是影響數據同步性能的重要因素。
在這種基于日志解析的數據同步環(huán)境下,針對數據庫對像創(chuàng)建和修改的DDL((Data Definition Language,簡寫為DDL)操作同步效率是一大難點,在日志流中捕獲到DDL的SQL(Structured Query Language,簡寫為SQL)語句對于基于數據庫的第三方應用來說,如果想把這些DDL操作在同步時采用并行執(zhí)行來提升同步效率,需要完成SQL語句的語法分析,從中提取出每個DDL操作中依賴的對像,然后利用對像依賴關系實現DDL操作之間的互斥才能實現在目的端上多個DDL操作并行執(zhí)行的功能。但由于第三方應用分析源數據庫的SQL是非常困難的工作,因為每種數據庫除了支持標準的SQL以外,還有它們各自獨有的SQL語法,作為一個數據同步的應用要支持解析每個數據庫的全部語法幾乎是件不可能的事。基于上述原因,目的端同步系統(tǒng)在同步DDL時一般會串行的方式同步DDL,按照每個DDL操作在日志流中的順序來同步執(zhí)行,就可以萬無一失的保證DDL語句之間執(zhí)行的先后關系,但是也帶來另一個問題,那就是DDL同步性能會比較差。因此,如何在保證DDL同步正確的前提下,提高目的端DDL入庫的執(zhí)行效率,就成為業(yè)界亟待解決的重要技術問題。
鑒于此,克服該現有技術產品所存在的不足是本技術領域亟待解決的問題。
發(fā)明內容
針對現有技術的以上缺陷或改進需求,本發(fā)明提供了一種基于日志解析同步的并行執(zhí)行方法和數據同步系統(tǒng),其目的在于,通過獲取當前待執(zhí)行操作的類型以及當前待執(zhí)行操作所涉及的對像來構造相應的內部鎖,并行執(zhí)行時,針對存在對像沖突的待執(zhí)行操作,利用鎖機制控制執(zhí)行的先后順序,對像名稱不沖突的待執(zhí)行操作則忽略它們之間依賴關系并行執(zhí)行,從而提升同步的效率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數據庫有限公司,未經武漢達夢數據庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010500197.0/2.html,轉載請聲明來源鉆瓜專利網。





