[發明專利]一種異構數據庫的一致性校驗方法及裝置有效
| 申請號: | 201711023740.7 | 申請日: | 2017-10-27 |
| 公開(公告)號: | CN107807982B | 公開(公告)日: | 2020-09-18 |
| 發明(設計)人: | 劉宇帥;丁娜;趙煥芳;楊聲鋼;李俊;郭慶磊 | 申請(專利權)人: | 中國農業銀行股份有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06F16/22;G06F16/21 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王云曉;王寶筠 |
| 地址: | 100005 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 一致性 校驗 方法 裝置 | ||
1.一種異構數據庫的一致性校驗方法,其特征在于,所述方法包括:
利用哈希計算進程計算第一數據庫中各個數據表的哈希值,并利用所述哈希計算進程計算第二數據庫中各個數據表的哈希值;
將所述第一數據庫中各個數據表的哈希值分別與所述第二數據庫中對應的數據表的哈希值進行比較;
當所述第一數據庫中各個數據表的哈希值與所述第二數據庫中對應的數據表的哈希值均相同時,確定所述第一數據庫和第二數據庫中的數據是完全一致的;
其中,利用所述哈希計算進程計算數據庫中各個數據表的哈希值,包括:
在預先創建的表名清單中獲取待計算表名,所述待計算表名為一待計算的數據表的表名;
獲取與所述待計算表名對應的數據表中所包含的各列的列名以及各列的列類型;
利用所述各列的列名以及各列的列類型按預設的轉換規則對所述待計算表名對應的數據表中各列的數據進行格式轉換,并將轉換后的各列數據進行拼接,使每行的各列數據拼接成一字符串;
利用所述哈希計算進程和拼接后每行的字符串計算與所述待計算表名對應的數據表的哈希值;
判斷所述表名清單中是否存在待計算表名,如果是,則轉入所述在預先創建的表名清單中獲取待計算表名這一步驟。
2.根據權利要求1所述的異構數據庫的一致性校驗方法,其特征在于,所述利用所述哈希計算進程和拼接后每行的字符串計算與所述待計算表名對應的數據表的哈希值,包括:
讀取第一行字符串作為目標字符串;
利用所述哈希計算進程計算所述目標字符串的哈希值;
判斷所述目標字符串所在的行是否為最后一行;
如果是,則將所述目標字符串的哈希值確定為與所述待計算表名對應的數據表的哈希值;
如果否,則將所述目標字符串的哈希值與下一行字符串進行拼接,將拼接后的字符串作為新的目標字符串,然后轉入所述利用所述哈希計算進程計算所述目標字符串的哈希值這一步驟。
3.根據權利要求1所述的異構數據庫的一致性校驗方法,其特征在于,所述利用所述各
列的列名以及各列的列類型按預設的轉換規則對所述待計算表名對應的數據表中的待轉換列的數據進行格式轉換,包括:
基于所述各列的列名以及各列的列類型確定待轉換列,所述待轉換列為列類型為非字符串型的列;
將所述待轉換列的數據轉換為字符串型數據,基于所述各列的列名將各列的字符串數據中表示空串的數據轉換為空串,并去除轉換后的字符串右邊的空格。
4.根據權利要求1-3中任意一項所述的異構數據庫的一致性校驗方法,其特征在于,所
述哈希計算進程為多個,預先為每個哈希計算進程分配多個數據表;
則當所述哈希計算進程為多個時,所述利用至少一個哈希計算進程計算第一數據庫中各個數據表的哈希值,包括:
基于所述為每個哈希計算進程分配數據表的情況,利用所述多個哈希計算進程同時對所述數據庫中的多個數據表進行哈希計算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國農業銀行股份有限公司,未經中國農業銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711023740.7/1.html,轉載請聲明來源鉆瓜專利網。





