[發明專利]基于事務順序分析的數據庫事務并發重做方法和裝置在審
| 申請號: | 201911274966.3 | 申請日: | 2019-12-12 |
| 公開(公告)號: | CN111061749A | 公開(公告)日: | 2020-04-24 |
| 發明(設計)人: | 閆中敏;孟子成;崔立真;郭偉;李暉 | 申請(專利權)人: | 山東大學 |
| 主分類號: | G06F16/23 | 分類號: | G06F16/23;G06F9/46 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 李琳 |
| 地址: | 250100 山*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 事務 順序 分析 數據庫 并發 重做 方法 裝置 | ||
1.一種基于事務順序分析的數據庫事務并發重做方法,其特征是:包括以下步驟:
獲取事務信息,并根據事務編號進行分組,進行格式的轉化;
進行事務信息預處理,按照提交順序加載相應的事務信息,將轉換格式后的事務信息反序列化為事務對象,提取事務對象中的關鍵信息;
確定當前事務是否有前驅事務,如果有則判斷前驅事務是否完成,如果有前驅事務沒有完成,則繼續等待,如果沒有,則重做該事務,并記錄重做結果。
2.如權利要求1所述的一種基于事務順序分析的數據庫事務并發重做方法,其特征是:事務信息收集的具體過程包括:
從數據庫日志或數據庫事務信息捕捉工具中批量獲取事務信息;
根據事務編號分組事務信息,分組后一組事務信息對應一個事務;
結合數據庫元數據整理事務包含的所有數據變更;
將事務信息序列化為JSON格式。
3.如權利要求1所述的一種基于事務順序分析的數據庫事務并發重做方法,其特征是:事務信息預處理步驟包括:
按事務提交順序加載事務信息;
將JSON格式的事務信息反序列化為事務對象;
分析事務對象中包含的數據行變更記錄,提取主鍵信息,確定事務涉及的主鍵值集合。
4.如權利要求1所述的一種基于事務順序分析的數據庫事務并發重做方法,其特征是:事務前驅分析的具體步驟包括:
遍歷已完成預處理的事務對象,選擇一個事務A與提交時間早于它的事務B,將它們的主鍵值集合做交運算;
如果有交集,說明兩個事務先后操作了數據庫中的同一行數據,兩個事務不能并發,判定事務B是事務A的前驅事務;
如果沒有交集,說明兩個事務修改的是不同數據,兩個事務可以并發,判定事務B不是事務A的前驅事務;
依次將事務A與更早提交的事務進行前驅判斷,直到找到一個A的前驅或確定A完全沒有前驅。
5.如權利要求1所述的一種基于事務順序分析的數據庫事務并發重做方法,其特征是:事務重做的具體步驟:
選擇一個事務,檢查其有無前驅事務;
如果有前驅事物則檢查事務重做結果記錄表,判斷前驅事務是否重做完成;
如果前驅事務尚未重做完成,則繼續等待;
如果沒有前驅事務或者前驅事務重做完成,則在目標數據庫上重做該事務;
將重做結果記錄到事務重做結果記錄表中。
6.一種基于事務順序分析的數據庫事務并發重做系統,其特征是:包括:
事務信息收集模塊,被配置為獲取事務信息,并根據事務編號進行分組,進行格式的轉化;
事務預處理模塊,被配置為進行事務信息預處理,按照提交順序加載相應的事務信息,將轉換格式后的事務信息反序列化為事務對象,提取事務對象中的關鍵信息;
事務前驅分析模塊,被配置為確定當前事務是否有前驅事務;
事務重做模塊,被配置為如果有則判斷前驅事務是否完成,如果有前驅事務沒有完成,則繼續等待,如果沒有,則重做該事務,并記錄重做結果。
7.如權利要求6所述的一種基于事務順序分析的數據庫事務并發重做系統,其特征是:所述事務信息收集模塊連接數據庫和捕捉工具。
8.如權利要求6所述的一種基于事務順序分析的數據庫事務并發重做系統,其特征是:所述事務重做模塊連接目標數據庫。
9.一種計算機可讀存儲介質,其特征是:其中存儲有多條指令,所述指令適于由終端設備的處理器加載并執行如權利要求1-5中任一項所述的一種基于事務順序分析的數據庫事務并發重做方法。
10.一種終端設備,其特征是:包括處理器和計算機可讀存儲介質,處理器用于實現各指令;計算機可讀存儲介質用于存儲多條指令,所述指令適于由處理器加載并執行權利要求1-5中任一項所述的一種基于事務順序分析的數據庫事務并發重做方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東大學,未經山東大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911274966.3/1.html,轉載請聲明來源鉆瓜專利網。





