数据同步方法、系统及计算机可读介质技术方案

技术编号:32833632 阅读:13 留言:0更新日期:2022-03-26 20:50
本发明专利技术提供一种数据同步方法、系统及计算机可读介质。方法包括:在全量数据同步阶段,通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据,形成第一数据存储消息队列;在全量数据同步阶段完成后的增量数据同步阶段,通过第一流式计算程序确定增量数据同步的数据起始点,从数据起始点开始抽取数据,形成第二数据存储消息队列;通过第二流式计算程序从第一数据存储消息队列或第二数据存储消息队列中抽取数据;对从第一数据存储消息队列或第二数据存储消息队列中抽取的数据进行数据筛选和格式转换操作,形成处理后数据;将处理后数据存储至第二数据库。本发明专利技术增量同步和全量同步在同一个程序进行,减少了维护成本。减少了维护成本。减少了维护成本。

【技术实现步骤摘要】
数据同步方法、系统及计算机可读介质


[0001]本专利技术主要涉及数据处理领域,尤其涉及一种数据同步方法、系统及计算机可读介质。

技术介绍

[0002]当一个数据需要存储多份时,会出现一致性问题,所以就需要进行同步。同步分为两种:全量同步和增量同步。全量同步是指定时或周期性把全部数据存储到目标系统中。增量同步是在全量同步的基础上,抓取某个时刻或者检查点以后的差异数据同步到目标系统中。决定增量同步触发同步过程的时刻或者检查点称为更新点。
[0003]当前常用的同步方法是在增量同步阶段通过Spark来同步,而增量同步阶段则是通过canal读取MySQL数据库的Binlog日志来同步。两者之间是分开执行的,在全量同步完成之后,增量同步阶段无法确定Binlog的更新点,进而需要一个单独的canal client来维护日志,增加了维护成本。同时canal也需要搭建集群,增加了开发成本。而且canal在语义上也无法保证数据能够不丢失。
[0004]因此,亟需一种低维护成本和开发成本的数据同步方法、系统及计算机可读介质。

技术实现思路

[0005]本专利技术要解决的技术问题是提供一种数据同步方法、系统及计算机可读介质,解决数据同步方法维护成本和开发成本高的问题。
[0006]为解决上述技术问题,本专利技术提供了一种数据同步方法。包括以下步骤:在全量数据同步阶段,通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据,形成第一数据存储消息队列;在全量数据同步阶段完成后的增量数据同步阶段,通过所述第一计算框架对应的第一流式计算程序确定增量数据同步的数据起始点,从所述数据起始点开始抽取数据,形成第二数据存储消息队列;在所述全量数据同步阶段和所述增量数据同步阶段,通过第一计算框架对应的第二流式计算程序从所述第一数据存储消息队列或第二数据存储消息队列中抽取数据;对从所述第一数据存储消息队列或第二数据存储消息队列中抽取的数据进行数据筛选和格式转换操作,形成处理后数据;将所述处理后数据存储至第二数据库。
[0007]在本专利技术的一实施例中,方法还包括:对通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据的操作时间进行监测,得到操作延时数值;将所述操作延时数值与设定的第一阈值比较,得到判断结果;基于所述判断结果确定是否请求新的运行资源,用于所述抽取数据操作。
[0008]在本专利技术的一实施例中,对通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据的操作时间进行监测,得到操作延时数值包括:以设定的第一时间间隔为单位,获取所述抽取操作对应的数据条数;基于所述数据条数和所述第一时间间隔,得到每一条数据的抽取操作的平均值;将所述每一条数据的抽取操作的平均值作为所述操作延时
数值。
[0009]在本专利技术的一实施例中,所述运行资源包括处理资源和存储资源。
[0010]在本专利技术的一实施例中,所述第一计算框架包括flink计算框架,所述第一流式计算程序包括flink

cdc流式计算程序,所述第二流计算式程序包括flink流式计算程序。
[0011]在本专利技术的一实施例中,抽取的所述数据包括Binlog数据。
[0012]在本专利技术的一实施例中,所述第一数据存储消息队列和第二数据存储消息队列包括kafka消息队列。
[0013]在本专利技术的一实施例中,所述第一数据库包括MySQL数据库,所述第二数据库包括KUDU数据库。
[0014]为解决上述技术问题,本专利技术提供了一种数据同步系统,包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述数据同步方法。
[0015]为解决上述技术问题,本专利技术提供了一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述数据同步方法。
[0016]与现有技术相比,本专利技术具有以下优点:
[0017]本专利技术的数据同步方法通过将增量同步和全量同步在同一个程序进行,依赖组件少,减少了维护成本和开发成本;本专利技术在全量数据同步阶段完成后可无缝切换到增量数据同步阶段,无需单独的canal client来维护同步日志,降低了维护成本;本专利技术通过在flink

cdc的基础上集成binlog延迟的指标来判断是否请求新的运行资源,保证了数据同步的实时性。
附图说明
[0018]附图是为提供对本申请进一步的理解,它们被收录并构成本申请的一部分,附图示出了本申请的实施例,并与本说明书一起起到解释本申请原理的作用。附图中:
[0019]图1是根据本专利技术一实施例的数据同步方法的示例性流程图;
[0020]图2是根据本专利技术一实施例的数据同步方法的示例性时序图;
[0021]图3是根据本专利技术一实施例的数据同步系统的系统框图。
具体实施方式
[0022]为让本专利技术的上述目的、特征和优点能更明显易懂,以下结合附图对本专利技术的具体实施方式作详细说明。
[0023]在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其它不同于在此描述的其它方式来实施,因此本专利技术不受下面公开的具体实施例的限制。
[0024]如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0025]除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部
分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0026]此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。
[0027]本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,包括以下步骤:在全量数据同步阶段,通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据,形成第一数据存储消息队列;在全量数据同步阶段完成后的增量数据同步阶段,通过所述第一计算框架对应的第一流式计算程序确定增量数据同步的数据起始点,从所述数据起始点开始抽取数据,形成第二数据存储消息队列;在所述全量数据同步阶段和所述增量数据同步阶段,通过第一计算框架对应的第二流式计算程序从所述第一数据存储消息队列或第二数据存储消息队列中抽取数据;对从所述第一数据存储消息队列或第二数据存储消息队列中抽取的数据进行数据筛选和格式转换操作,形成处理后数据;将所述处理后数据存储至第二数据库。2.根据权利要求1所述的数据同步方法,其特征在于,还包括:对通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据的操作时间进行监测,得到操作延时数值;将所述操作延时数值与设定的第一阈值比较,得到判断结果;基于所述判断结果确定是否请求新的运行资源,用于所述抽取数据操作。3.根据权利要求2所述的数据同步方法,其特征在于,对通过第一计算框架对应的第一流式计算程序从第一数据库中抽取数据的操作时间进行监测,得到操作延时数值包括:以设定的第一时间间隔为单位,获取所述抽取操作对应的数据条...

【专利技术属性】
技术研发人员:王仕凯陈诚戴橙
申请(专利权)人:浙江太美医疗科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1