[發(fā)明專利]一種基于日志解析的同步方法和同步系統(tǒng)在審
| 申請?zhí)枺?/td> | 202011056091.2 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112307117A | 公開(公告)日: | 2021-02-02 |
| 發(fā)明(設計)人: | 孫峰;付銓;彭青松;劉啟春 | 申請(專利權)人: | 武漢達夢數(shù)據(jù)庫有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F11/14 |
| 代理公司: | 深圳市六加知識產(chǎn)權代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武漢市東湖新技術開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 日志 解析 同步 方法 系統(tǒng) | ||
本發(fā)明公開了一種基于日志解析的同步方法和同步系統(tǒng),該同步方法包括:日志接收線程判斷操作的類型;當為DML操作時,將DML操作和操作編號添加到相應的事務緩存文件中,更新變量y等于當前DML操作的操作編號,更新存盤LSN等于當前DML操作的日志序列號;當為部分回滾操作時,采用目標操作編號x和目標變量y構造部分回滾區(qū)間[x,y],并將部分回滾區(qū)間[x,y]添加在部分回滾鏈表中,更新存盤LSN等于當前部分回滾操作的日志序列號;當為提交操作時,將相應的事務分發(fā)給執(zhí)行線程,執(zhí)行線程根據(jù)待執(zhí)行操作的操作編號和相應的部分回滾鏈表進行數(shù)據(jù)同步。
技術領域
本發(fā)明屬于同步技術領域,更具體地,涉及一種基于日志解析的同步方法和同步系統(tǒng)。
背景技術
數(shù)據(jù)庫數(shù)據(jù)實時同步是提高信息系統(tǒng)可用性,保證業(yè)務連續(xù)性的一種技術方案。通過數(shù)據(jù)實時同步,目標數(shù)據(jù)庫和源數(shù)據(jù)庫的業(yè)務數(shù)據(jù)保持實時一致,當源數(shù)據(jù)庫出現(xiàn)故障中斷服務后,應用系統(tǒng)可快速切換至目標數(shù)據(jù)庫,保證業(yè)務連續(xù)性的要求。
基于日志分析的數(shù)據(jù)庫數(shù)據(jù)實時復制技術,具有對源數(shù)據(jù)庫的性能和數(shù)據(jù)模式影響小、支持異構操作系統(tǒng)和數(shù)據(jù)庫平臺、數(shù)據(jù)復制性能高等特點,在應急災備、多業(yè)務中心、異構資源整合、數(shù)據(jù)遷移等領域得到廣泛應用。這種技術通過源端的日志捕獲進程捕獲源數(shù)據(jù)庫的在線日志或歸檔日志,然后分析出數(shù)據(jù)庫的INSERT(插入)、UPDATE(更新)以及DELETE(刪除)操作轉(zhuǎn)換為內(nèi)部特定格式的消息包,再將消息包通過TCP/IP(TransmissionControl Protocol/Internet Protocol,簡寫為TCP/IP)網(wǎng)絡發(fā)送到復制系統(tǒng)的目的端,目的端接收消息包后,進行拆包處理,將源端的事務信息恢復成相應的SQL(StructuredQuery Language,簡寫為SQL)語句,通過本地數(shù)據(jù)庫接口在目標數(shù)據(jù)庫執(zhí)行實時復制,以實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)同步。
在數(shù)據(jù)同步系統(tǒng)中,源端數(shù)據(jù)同步服務按照數(shù)據(jù)庫日志生成的順序來捕獲數(shù)據(jù)庫的操作,目的端數(shù)據(jù)同步服務則按照源端發(fā)送操作的先后順序來接收管理事務,事務在目的端按事務ID分類管理,當收到某個事務的提交消息后,該事務才會被執(zhí)行,因此事務在沒有收到提交消息前該事務所有的操作都需要被緩存。而事務的操作數(shù)量規(guī)模是無上限的,如果把事務的操作都緩存在內(nèi)存中那么勢必會造成內(nèi)存資源的緊張,嚴重的將會引起操作系統(tǒng)宕機。所以采取使用磁盤來緩存事務操作是目前數(shù)據(jù)同步軟件常用的手段,但是由于事務操作的特殊性,事務操作在緩存到磁盤以后有可能會發(fā)生部分回滾的動作,這時就需要清理已經(jīng)被緩存到磁盤中的操作,目前常用的清理方式是逆向定位操作后截斷文件或是給相應回滾的操作上打標記等,如果采用多個操作批量壓縮打包緩存的方式還需要對壓縮的數(shù)據(jù)包解壓等更加復雜的過程,上述這些清理方式運行過程中會產(chǎn)生隨機IO,如果發(fā)生大規(guī)模的部分回滾,那么就會擠占IO資源,影響所在服務器上的其它程序的性能。
鑒于此,克服該現(xiàn)有技術產(chǎn)品所存在的不足是本技術領域亟待解決的問題。
發(fā)明內(nèi)容
針對現(xiàn)有技術的以上缺陷或改進需求,本發(fā)明提供了一種基于日志解析的同步方法和同步系統(tǒng),其目的在于,根據(jù)操作編號構成部分回滾操作區(qū)間,部分回滾的動作將被收集在部分回滾鏈表中,對已經(jīng)打包緩存的操作不作處理,雖然浪費了磁盤空間但是省去了部分回滾刪除或標記的IO開銷。
為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種基于日志解析的同步方法,所述同步方法應用于目的端數(shù)據(jù)同步系統(tǒng),所述目的端數(shù)據(jù)同步系統(tǒng)配套設置有日志接收線程和執(zhí)行線程,在磁盤空間為每一事務上設置事務緩存文件,其中,所述事務緩存文件配套設置有變量y,所述事務緩存文件包括部分回滾鏈表和存盤LSN;所述同步方法包括:
所述日志接收線程判斷操作的類型;
當為DML操作時,獲取DML操作的操作編號和所述DML操作所屬的事務ID,根據(jù)所述事務ID確定相應事務緩存文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢達夢數(shù)據(jù)庫有限公司,未經(jīng)武漢達夢數(shù)據(jù)庫有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011056091.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種生產(chǎn)陶瓷包裹色料用攪拌裝置
- 下一篇:接插設備





