[发明专利]一种数据同步方法、装置、电子设备及计算机可读介质在审
申请号: | 202110776087.1 | 申请日: | 2021-07-08 |
公开(公告)号: | CN113656472A | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 谢浩;郭涵;李杨 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27;G06F9/54 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 郝红玉;冯培培 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 同步 方法 装置 电子设备 计算机 可读 介质 | ||
本发明公开了一种数据同步方法、装置、电子设备及计算机可读介质,涉及数据交换技术领域。该方法的一具体实施方式包括:监听源数据库中的日志,以在日志发生变化时,按照源数据库预设的日志格式解析日志,得到多个数据变化消息;基于每个数据变化消息的消息类型更新流量方向序列,进而基于所述流量方向序列中的数值计算流量特征值;若流量特征值位于预设区间内,则采用同类型消息批量按时序写入模式,否则采用单条消息按时序写入模式,以将多个数据变化消息写入目标数据库。该实施方式对最近数据变化消息的消息类型进行统计,以更新流量方向序列,计算更优数据写入模式,以此提高整体的写入性能和降低内存使用。
技术领域
本发明涉及数据交换技术领域,尤其涉及一种数据同步方法、装置、电子设备及计算机可读介质。
背景技术
随着业务的发展以及部门的拆分,各部门均建立有独立的业务子模块和数据库,然而各部门之间又存在数据依赖,这就涉及到每天不同部门之间大量的新增数据同步工作。现有数据同步方案有两种:同类型消息批量按时序写入(以下称方式1)和单条消息按时序写入(以下称方式2)。但这两种模式存在如下问题:
1、方式1在处理不同消息类型时需进行消息类型判断和建立新的预编译对象SQL语句,当面对多种消息类型频繁切换时,其性能表现很差并且内存消耗很大。
2、方式2需单独处理每个数据,虽无需判断消息类型和建立新的预编译对象,但不能充分发挥目标数据库对于批量操作的优化,因此面对大量连续同类型消息时,其性能表现较差。
以上写入模式在面对不同的同步消息类型组合时其性能表现并不一致,在大量连续同类型消息的情况下批量写入性能更好并且占用内存更低,而在大量非同类型消息频繁切换的情况下单条写入性能更好并且占用内存更低。而现有无法针对不同的场景实时调整写入模式,其整体性能不稳定且对于内存的开销较大。
发明内容
有鉴于此,本发明实施例提供一种数据同步方法、装置、电子设备及计算机可读介质,至少能够解决在面对不同消息类型组合时,现有技术不能针对不同的场景调整写入模式的现象。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据同步方法,包括:
监听源数据库中的日志,以在所述日志发生变化时,按照所述源数据库预设的日志格式解析所述日志,得到多个数据变化消息;
基于每个数据变化消息的消息类型更新流量方向序列,进而基于所述流量方向序列中的数值计算流量特征值;其中,流量方向表示相邻数据变化消息的消息类型是否发生变化;
若所述流量特征值位于预设区间内,则采用同类型消息批量按时序写入模式,否则采用单条消息按时序写入模式,以将所述多个数据变化消息写入目标数据库。
可选的,在所述得到多个数据变化消息之后,还包括:
将所述多个数据变化消息发送到分布式消息队列进行缓存;以及
按照日志生成时间顺序,逐个从所述分布式消息队列中拉取数据变化消息;其中,数据变化消息包括所处日志的生成时间顺序。
可选的,还包括:分布式消息队列包括多个分区,所述源数据库与其中一个或多个分区对应。
可选的,在所述基于每个数据变化消息的消息类型更新流量方向序列之前,还包括:
获取距离当前已同步的预设数量个历史数据变化消息;
通过统计所述预设数量个历史数据变化消息的消息类型,生成所述流量方向序列。
可选的,所述流量方向序列为由所述预设数量个数值组成;
所述通过统计所述预设数量个历史数据变化消息的消息类型,生成所述流量方向序列,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110776087.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种定向孵梦装置
- 下一篇:一种萃取装置及其方法和应用
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置