[發明專利]一種關系型數據庫數據對比方法及系統有效
| 申請號: | 201911376043.9 | 申請日: | 2019-12-27 |
| 公開(公告)號: | CN111143368B | 公開(公告)日: | 2023-05-12 |
| 發明(設計)人: | 王大鵬;馮路;盧健;范翊;張元超 | 申請(專利權)人: | 瀚高基礎軟件股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/28 |
| 代理公司: | 濟南圣達知識產權代理有限公司 37221 | 代理人: | 黃海麗 |
| 地址: | 250010 山東省濟南市高新*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 關系 數據庫 數據 對比 方法 系統 | ||
1.一種關系型數據庫數據對比方法,其特征在于,包括以下步驟:
分別從源庫和目標庫中獲取數據表名并進行對比,得到表名對比結果;具體為,創建map,將源庫表名列表寫入key字段,將value字段作為表名對比結果字段,value字段的值初始化為插入;對于目標庫中的每個表名,查找map中是否存在該表名,若存在,表名對比結果修改為相同;若不存在,不作處理;遍歷map,得到表名對比結果列表;
對于表名對比結果為相同的每一對數據表,進行全表對比,得到全表對比結果;
對于全表對比結果為相同的每一對數據表,進行逐行對比,得到逐行對比結果;
其中,所述表名對比結果和逐行對比結果中,對于對比結果為不同的記錄,均采用操作名稱來標識;所述操作名稱為更新、操作或刪除;
全表對比方法包括:對于表名對比結果為相同的每一對數據表,依次根據表名、數據表行數和全表MD5將兩個數據表進行對比;
全表對比方法包括:
對于表名對比結果為相同的每一對數據表,均執行以下操作:
從源庫和目標庫獲取兩個數據表的字段信息,所述字段信息包括字段名和字段的數據類型;
根據字段名的哈希值判斷所述兩個數據表中字段名是否完全相等,
若相等,判斷字段的數據類型中是否存在MD5值不支持的數據類型;若不相等,表行數對比結果字段和MD5值對比結果字段的值均賦值為-1,將全表對比結果字段賦值為不同列,不再做其他操作;
若不存在,從源庫和目標庫獲取所述兩個數據表的行數,判斷行數是否相等;若存在,表行數對比結果字段和MD5值對比結果字段的值均賦值為-1,將全表對比結果字段賦值不支持,不再做其他操作;
若行數均不為0且相等,從源庫和目標庫獲取所述兩個數據表的全表MD5,如果全表MD5值相等,所述兩個數據表的全表對比結果為相同,否則,為不同;若其中一個行數為0或行數不相等,表行數對比結果字段和MD5值對比結果字段的值均賦值為-1,將全表對比結果字段賦值不同,不再做其他操作;
逐行對比方法包括:
對于全表對比結果為相同的每一對數據表,判斷兩個數據表是否存在主鍵,若存在,依次按照主鍵值MD5和整行數據值MD5對兩個數據表進行對比;若不存在,按照整行數據值MD5對兩個數據表進行對比;
若兩個數據表存在主鍵,分別獲取兩個數據表中每一行對應的唯一標識、主鍵值MD5和整行數據值MD5,并分別寫入兩個行數據列表;
遍歷源庫行數據列表,將主鍵值MD5列寫入map中的key字段,將value字段作為行對比結果字段;
遍歷目標庫行數據列表,對于每個主鍵值MD5,判斷map中是否存在該主鍵值MD5,如果不存在,行對比結果記為刪除;
如果存在,對比整行數據MD5值,若相同,從map中移除,否則,行對比結果記為更新;
遍歷源庫行數據列表,對于每個主鍵值MD5,判斷map中是否存在該主鍵值MD5,如果不存在,將該主鍵值MD5寫入map,相應的行對比結果記為插入;
如果存在,對比整行數據MD5值,若相同,從map中移除;否則行對比結果為更新;
若兩個數據表不存在主鍵,分別獲取兩個數據表中每一行對應的唯一標識和整行數據值MD5,并分別寫入兩個行數據列表;
創建map,key字段初始化為空,將value字段作為行對比結果字段;
遍歷源庫行數據列表,對于每個整行數據值MD5,判斷map中是否存在該整行數據值MD5,如果存在,該整行數據值MD5的出現次數加1;如果不存在,將該整行數據值MD5寫入map,該整行數據值MD5的出現次數加1,并將相應的行對比結果賦值為插入;
遍歷目標庫行數據列表,對于每個整行數據值MD5,判斷map中是否存在該整行數據值MD5,如果存在,該整行數據值MD5的出現次數減1;如果不存在,將該整行數據值MD5寫入map,該整行數據值MD5的出現次數減1,并將相應的行對比結果賦值為刪除。
2.如權利要求1所述的一種關系型數據庫數據對比方法,其特征在于,所述方法還包括:將表名對比結果、全表對比結果和逐行對比結果進行可視化輸出。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于瀚高基礎軟件股份有限公司,未經瀚高基礎軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911376043.9/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





