[发明专利]一种异构数据库的一致性校验方法及装置有效
申请号: | 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.vipzhuanli.com/pat/books/201711023740.7/1.html,转载请声明来源钻瓜专利网。