[发明专利]一种分布式数据同步方法及系统有效
申请号: | 202111182181.0 | 申请日: | 2021-10-11 |
公开(公告)号: | CN113901141B | 公开(公告)日: | 2022-08-05 |
发明(设计)人: | 王济平;黎刚;刘继华;周健雄;汤克云;谢晓锋 | 申请(专利权)人: | 京信数据科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2455;G06F9/48 |
代理公司: | 深圳余梅专利代理事务所(特殊普通合伙) 44519 | 代理人: | 陈余才 |
地址: | 528400 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据 同步 方法 系统 | ||
本发明涉及一种分布式数据同步方法及系统。方法包括步骤:调度器向源数据库查询是否需要进行同步任务,并根据查询结果弹性调整调度器查询间隔时间;调度器选择同步组件集群中的其中一个同步组件执行任务;同步组件进行任务切分并采用多个并发线程处理;同步组件从源数据库读取同步数据集并进行数据处理;同步组件生成临时唯一标识替换同步数据集的原有唯一标识,然后将同步数据集批量写入目标数据库后删除目标数据库中有更新的旧数据记录,最后批量还原同步数据集的原有唯一标识。本发明使得整个数据同步的性能得到极大提升。
技术领域
本发明涉及数据同步技术,尤其涉及一种分布式数据同步方法及系统。
背景技术
数据同步是一种在多个数据源之间保持数据一致性的一种手段,广泛应用于各种计算机系统中。数据同步有以下几种常见的应用场景:一、计算机系统通过数据同步实现容灾备份,避免单点故障;二、计算机系统通过数据同步实现系统负载均衡,提高系统性能;三、多个系统之间通过数据同步的方式实现数据共享。数据同步一般有两种实现方式,一种是通过读取数据库BinLog文件,获取里面的修改操作语句并发送至待同步数据库执行,实现数据同步。第二种方式是基于查询语句,查询源数据库的记录,解构为数据库操作语句后在待同步数据库执行,实现数据同步。传统的数据抽取同步方法采用定时查询源数据表,通过时间戳过滤的方式,查询上次同步后是否有新的数据写入源数据表。当发现有新数据时,开始执行同步任务,通过查询语句查询源数据表增量数据,将增量数据转译为数据库操作语句,在目标数据库执行相应的数据库操作语句实现数据库同步。第二种方式也称为基于数据抽取的数据同步方式。传统的基于数据抽取的数据同步方法有以下几个缺点:
(1)基于数据抽取的数据同步一般采用定时查询的方式来判断源库是否需要执行同步操作。频繁的查询在满足较低的同步延迟的同时,为源数据库与同步中间件带来较大的性能损耗,相反如果降低查询密度,会加大同步延迟,很难同时满足两种需求。
(2)传统的数据抽取没有办法利用现代计算机多核心的优势,抽取效率比较低下。
(3)传统的数据抽取中间件没有办法同时处理大量的同步任务,当需要同步的数据表变得非常多的时候,会出现同步延迟增大甚至系统崩溃的问题。
(4)传统的数据抽取中间件当写入目标数据表出现异常时,没有办法回滚本次同步任务的传输内容,导致目标数据表出现脏数据。
发明内容
本发明的目的在于为克服现有技术的以上缺陷,而提供一种分布式数据同步方法及系统,以提高数据同步的性能。
为实现上述目的,本发明采用以下技术方案:一种分布式数据同步方法,其包括以下步骤:调度器向源数据库查询是否需要进行同步任务,并根据查询结果弹性调整调度器查询间隔时间;调度器选择同步组件集群中的其中一个同步组件执行任务;同步组件进行任务切分并采用多个并发线程处理;同步组件从源数据库读取同步数据集并进行数据处理;同步组件生成临时唯一标识替换同步数据集的原有唯一标识,将同步数据集批量写入目标数据库后删除目标数据库中有更新的旧数据记录,最后批量还原同步数据集的原有唯一标识。
进一步地,调度器向源数据库查询是否需要进行同步任务时,查询的过滤条件采用时间戳过滤。
进一步地,调度器向源数据库查询是否需要进行同步任务时,若不需要进行同步任务,则增大调度器查询间隔时间,若需要进行同步任务,则减小调度器查询间隔时间。
进一步地,当查询到需要进行同步任务时,调度器查询当前是否已有正在进行的其他同步任务:若没有,则马上发起同步任务;若有,则根据预设调度策略进行任务安排;预设调度策略至少包括:顺序执行策略、丢弃策略和强制执行策略。
进一步地,调度器选择同步组件集群中的其中一个同步组件执行任务中,调度器根据同步组件集群状态及预设分配策略去选择同步组件执行任务,预设分配策略至少包括:顺序分配策略、负载最低策略以及随机策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京信数据科技有限公司,未经京信数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111182181.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置