[发明专利]一种数据库中数据批量同步更新的方法和装置有效
申请号: | 202011576026.2 | 申请日: | 2020-12-28 |
公开(公告)号: | CN112667744B | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 孙峰;刘启春;余院兰 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/23 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 数据 批量 同步 更新 方法 装置 | ||
本发明涉及数据库领域,特别是涉及一种数据库中数据批量同步更新的方法和装置。主要包括:获取源端数据库中需要同步的源更新操作;获取每个源更新操作中的条件列信息集合和更新列信息集合;根据所有源更新操作的条件列信息集合和更新列信息集合,生成用于同步的目的更新语句;按照条件列信息集合中条件列的值和更新列信息集合中更新列的值,为目的更新语句的条件列和更新列生成绑定数据行;将目的更新语句作为目的更新操作提交至目的端数据库,使用绑定数据行中的值批量更新目的数据库。本发明可以使目前无法使用批量绑定数据行的多条源更新操作实现批量绑定数据行,并使用批量绑定数据行的方式完成数据同步,达到降低同步延迟的效果。
【技术领域】
本发明涉及数据库领域,特别是涉及一种数据库中数据批量同步更新的方法和装置。
【背景技术】
同步性能是数据库数据实时同步系统中的关键指标。在数据同步系统中,源端数据库的更新(update,简写为:UPD)操作,在同步到目的端数据库时,由于每条操作之间都可能存在等待的情况,因此经常出现同步延迟。为了降低同步延迟,可以将多条SQL语句合并为一条,再为合并后的SQL语句批量绑定多行数据,通过一条SQL语句完成多个UPD操作,去除不同操作之间的等待时间,以减少每条语句之间的延迟。
批量绑定数据行时,为了将多条SQL语句合并为一条,要求所有被合并的UPD操作的更新列及条件列的列名都相同,即使用的SQL语句相同。而在现实情况中,经常出现多个UPD语句的更新列不同的情况,此时,必须针对不同的更新列使用不同的SQL语句,导致同步软件无法进行UPD语句的合并,无法使用批量绑定数据行的方式提高同步效率。
鉴于此,如何克服现有技术所存在的缺陷,解决某些场景下无法使用批量绑定数据行的方式降低同步延迟的现象,是本技术领域待解决的问题。
【发明内容】
针对现有技术的以上缺陷或改进需求,本发明解决了由于需同步的源更新操作中更新列不同,导致的无法使用批量绑定数据行的方式进行数据同步的问题。
本发明实施例采用如下技术方案:
第一方面,本发明提供了一种数据库中数据批量同步更新的方法,具体为:获取源端数据库中需要同步的源更新操作;获取每个源更新操作中的条件列信息集合和更新列信息集合,条件列信息集合中包含相应的源更新操作中所有的条件列的列名和值,更新列信息集合中包含相应的源更新操作所有的更新列的列名和值;根据所有源更新操作的条件列信息集合和更新列信息集合,生成用于同步的目的更新语句;按照条件列信息集合中条件列的值和更新列信息集合中更新列的值,为目的更新语句的条件列和更新列生成绑定数据行;将目的更新语句作为目的更新操作提交至目的端数据库,使用绑定数据行中的值批量更新目的数据库。
优选的,获取每个源更新操作中的条件列信息集合和更新列信息集合时,还包括:判断源更新操作中各组列名相同的更新列和条件列的值是否一致;若值不一致,将更新列放入更新列信息集合中;若值一致,更新列值不放入更新列信息集合中。
优选的,若源更新操作的所有列名相同的更新列和条件列的值都一致,不执行该条源更新操作。
优选的,生成用于同步的目的更新语句,包括:获取所有源更新操作的条件列信息集合中的列,作为目的更新语句的条件列;根据所有源更新操作的更新列信息集合获取需要更新的更新列集合,将更新列集合中的所有列作为目的更新语句的更新列。
优选的,根据所有源更新操作的更新列信息集合获取需要更新的更新列集合,包括:依次获取每个源更新操作中的更新列信息集合中的列名,判断列名是否存在于更新列集合中;若列名不存在于更新列集合中,将列名放入更新列集合中。
优选的,为目的更新语句的条件列和更新列生成绑定数据行,包括:根据每个源更新操作的条件列信息集合和更新列信息集合,获取目的更新语句中每个更新列和条件列对应的列值,作为该源更新操作的绑定数据行中相应列的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011576026.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置