[發明專利]基于事務順序分析的數據庫事務并發重做方法和裝置在審
| 申請號: | 201911274966.3 | 申請日: | 2019-12-12 |
| 公開(公告)號: | CN111061749A | 公開(公告)日: | 2020-04-24 |
| 發明(設計)人: | 閆中敏;孟子成;崔立真;郭偉;李暉 | 申請(專利權)人: | 山東大學 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F9/46 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 李琳 |
| 地址: | 250100 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 事務 順序 分析 數據庫 并發 重做 方法 裝置 | ||
本公開提供了一種基于事務順序分析的數據庫事務并發重做方法及系統,獲取事務信息,并根據事務編號進行分組,進行格式的轉化;進行事務信息預處理,按照提交順序加載相應的事務信息,將轉換格式后的事務信息反序列化為事務對象,提取事務對象中的關鍵信息;確定當前事務是否有前驅事務,如果有則判斷前驅事務是否完成,如果有前驅事務沒有完成,則繼續等待,如果沒有,則重做該事務,并記錄重做結果。本公開能夠并發得進行數據重做,能夠在保證執行數據正確性的前提下,提高事務重做的速度,有效解決數據庫數據同步和數據恢復過程中的事務重做速度瓶頸。
技術領域
本公開屬于數據庫信息處理技術領域,涉及一種基于事務順序分析的數據庫事務并發重做方法和裝置。
背景技術
本部分的陳述僅僅是提供了與本公開相關的背景技術信息,不必然構成在先技術。
數據庫事務重做是一種廣泛用于數據庫數據恢復和數據庫數據同步的通用方法,它具體指將已經執行的事務在源數據庫或目標數據庫重新執行。目前基于重做日志的數據恢復和基于二進制日志捕獲的數據同步,通常采用的都是按日志記錄順序地進行數據庫事務重做。
據發明人了解,按照日志記錄順序進行數據庫事務重做容易出現以下問題:
按日志記錄順序地進行數據庫事務重做,無論事務間是否存在并發沖突,事務只能依次提交。源數據庫上可以并發執行的事務在重做時只能依次執行,限制了數據庫性能的發揮,造成事務重做的速度瓶頸,嚴重影響數據恢復和數據同步的性能。
發明內容
本公開為了解決上述問題,提出了一種基于事務順序分析的數據庫事務并發重做方法和裝置,本公開能夠并發得進行數據重做,能夠在保證執行數據正確性的前提下,提高事務重做的速度,有效解決數據庫數據同步和數據恢復過程中的事務重做速度瓶頸。
根據一些實施例,本公開采用如下技術方案:
一種基于事務順序分析的數據庫事務并發重做方法,包括以下步驟:
獲取事務信息,并根據事務編號進行分組,進行格式的轉化;
進行事務信息預處理,按照提交順序加載相應的事務信息,將轉換格式后的事務信息反序列化為事務對象,提取事務對象中的關鍵信息;
確定當前事務是否有前驅事務,如果有則判斷前驅事務是否完成,如果有前驅事務沒有完成,則繼續等待,如果沒有,則重做該事務,并記錄重做結果。
作為進一步的限定,事務信息收集的具體過程包括:
從數據庫日志或數據庫事務信息捕捉工具中批量獲取事務信息;
根據事務編號分組事務信息,分組后一組事務信息對應一個事務;
結合數據庫元數據整理事務包含的所有數據變更;
將事務信息序列化為JSON格式。
作為進一步的限定,事務信息預處理步驟包括:
按事務提交順序加載事務信息;
將JSON格式的事務信息反序列化為事務對象;
分析事務對象中包含的數據行變更記錄,提取主鍵信息,確定事務涉及的主鍵值集合。
作為進一步的限定,事務前驅分析的具體步驟包括:
遍歷已完成預處理的事務對象,選擇一個事務A與提交時間早于它的事務B,將它們的主鍵值集合做交運算;
如果有交集,說明兩個事務先后操作了數據庫中的同一行數據,兩個事務不能并發,判定事務B是事務A的前驅事務;
如果沒有交集,說明兩個事務修改的是不同數據,兩個事務可以并發,判定事務B不是事務A的前驅事務;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東大學,未經山東大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911274966.3/2.html,轉載請聲明來源鉆瓜專利網。





