数据同步方法、装置、存储介质及电子设备与流程
未命名
08-15
阅读:83
评论:0

1.本技术涉及云计算技术领域,具体而言,涉及一种数据同步方法、装置、存储介质及电子设备。
背景技术:
2.随着互联网的普及,互联网流量的急速增长,日益增长的流量产生了海量的数据信息。当海量的数据信息需要进行同步操作时,对数据同步方式提出了更高的要求。相关技术中,数据同步采用实时采集数据同步与定时补偿同步相结合的方案。通过实时采集数据变化信息执行实时同步,并配置定时任务定时补偿实时同步任务缺失或者遗漏的数据。
3.然而,采用实时同步与补偿同步的方法可以实现数据的同步,但是补偿同步往往是定时执行,当实时同步出现故障时,若未到达补偿同步的执行时间,则该段时间的数据是不一致的,这将导致数据与服务处于不可用状态。当数据同步出现应急故障时,会存在数据不可用的时间段,对于需保证数据同步的实时性的系统来说上述数据同步方案无法满足需求。
4.针对相关技术中数据同步出现故障期间影响业务处理效率的问题,目前尚未提出有效的解决方案。
技术实现要素:
5.本技术的主要目的在于提供一种数据同步方法、装置、存储介质及电子设备,以解决相关技术中数据同步出现故障期间影响业务处理效率的问题。
6.为了实现上述目的,根据本技术的一个方面,提供了一种数据同步方法。该方法包括:通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。
7.可选地,在将异常时间到目标时间内的所有变更数据同步至目标数据表之后,该方法还包括:获取当前的定时更新周期内原始表中的第一数据变更记录,并获取目标数据表中的第二数据变更记录;判断第一数据变更记录中的第一变更数据和第二数据变更记录中的第二变更数据是否相同;在第一变更数据和第二变更数据不同的情况下,将目标数据表中的第二变更数据替换为第一变更数据。
8.可选地,在将变更数据实时同步至目标数据表之前,该方法还包括:确定原始表中的新增的变更数据,将变更数据的变更记录同步至消息队列;将消息队列中所有变更数据的变更记录按照时间顺序逐条推送至目标数据表。
9.可选地,将变更数据实时同步至目标数据表包括:确定当前推送的变更数据的变更记录,判断变更数据的变更类型,其中,变更类型至少包括以下之一:添加数据、删除数据和修改数据;基于变更类型确定目标数据表的更新数据执行语句;依据更新数据执行语句将变更数据从原始表同步至目标数据表。
10.可选地,在判断预设时长后目标数据表中是否存在变更数据之后,该方法还包括:在目标数据表中不存在变更数据的情况下,对预设同步程序进行检测,得到检测结果;在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序。
11.可选地,在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序包括:判断预设同步程序的网络环境是否稳定;在网络环境不稳定的情况下,确定预设同步程序出现故障,调整预设同步程序的网络环境。
12.可选地,在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序包括:判断原始表中的待同步数据的数据量是否大于等于数据量阈值;在待同步数据的数据量大于等于数据量阈值的情况下,确定预设同步程序出现故障,对预设同步程序进行扩容。
13.为了实现上述目的,根据本技术的另一方面,提供了一种数据同步装置。该装置包括:监控单元,用于通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;第一同步单元,用于在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断单元,用于判断预设时长后目标数据表中是否存在变更数据;确定单元,用于在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;第二同步单元,用于将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。
14.通过本技术,采用以下步骤:通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期,解决了相关技术中数据同步出现故障期间影响业务处理效率的问题。通过确定同步数据时的异常时间,并将异常时间到目标时间内原始表中的变更数据同步至目标数据表,进而达到了保障数据同步故障期间不会影响业务,提高业务处理效率的效果。
附图说明
15.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
16.图1是根据本技术实施例提供的数据同步方法的流程图;
17.图2是根据本技术实施例提供的可选的数据同步方法的流程图;
18.图3是根据本技术实施例提供的数据同步装置的示意图;
19.图4是根据本技术实施例提供的电子设备的示意图。
具体实施方式
20.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
21.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
22.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
24.下面结合优选的实施步骤对本发明进行说明,图1是根据本技术实施例提供的数据同步方法的流程图,如图1所示,该方法包括如下步骤:
25.步骤s101,通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据。
26.具体地,预设同步程序可以为etl(extract transform load)工具,etl是最常用的数据同步工具。它可以从源数据库中提取数据,经过一系列的转换和加工,最后将数据加载到目标数据库中。实时同步程序监控原始数据表的数据变更记录,记录数据变更情况。通过预设同步程序监听原始表的数据变化记录,例如监控oracle(一种数据库)表的物化视图,mysql(一种关系型数据库)表的binlog(binary log,二进制日志),将数据变更记录上送至消息队列进行实时监控。
27.步骤s102,在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表。
28.具体地,在预设同步程序监控到消息队列中新增一条变更数据的变更记录时,预设同步程序在消息队列中逐条读取新增的变更记录,并基于变更记录实时同步至目标数据表。
29.例如,oracle表的物化视图中添加了一张a图,删除了原始表中的一张b图,并修改了原始表中的一张c图,原始表中的上述变更记录会逐条同步至消息对列,预设同步程序基于消息队列中的变更记录逐一将上述变更数据同步至目标数据表,在目标数据表中添加a图、删除b图,并修改c图。
30.步骤s103,判断预设时长后目标数据表中是否存在变更数据。
31.具体地,根据不同的数据同步程序的平均同步时长设置预设时长,预设时长可以设置为1秒,在预设同步程序执行了对变更数据的同步操作后,检测目标数据表中是否实现了本次数据变更的操作,也即检测同步操作执行完成的1秒后目标数据表中是否存在变更数据。
32.步骤s104,在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间。
33.具体地,若预设时长后在目标数据表中未检测到变更数据,说明变更数据的同步出现了故障,目标数据表与原始表中的数据出现了不一致,这将影响业务的正常进行,因此为了保障故障期间的业务正常处理,需要将出现异常的数据及时修正,记录目标数据表中出现异常数据的异常时间。
34.步骤s105,将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。
35.具体地,除了每新增一条变更数据就实时同步至目标数据表以外,预设同步程序还设置了目标数据表中的数据定时更新的功能。每隔一段定时更新周期会自动将目标数据表中当前定时周期内的变更数据与原始表中的变更数据进行对比,若不相同则需要对目标数据表中的当前的定时更新周期内的数据进行更新。然而由于预设同步程序的突发故障,在当前的定时更新周期的截止时间未来临之前,目标数据表中的数据仍是异常的,这会影响到业务的正常处理,因此在出现突发故障时,将异常时间到当前的定时更新周期内的截止时间(也即目标时间)内的所有变更数据实时同步至目标数据表。保障当前的定时更新周期的截止时间未来临之前,原始表与目标数据表中数据的一致性。
36.例如,当监控到预设同步程序出现故障时,由人工介入使用应急同步,将原始数据表中异常时间之后的数据记录同步至目标数据表中,从而达到触发应急同步时间时的数据一致性。
37.本技术实施例提供的数据同步方法,通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期,解决了相关技术中数据同步出现故障期间影响业务处理效率的问题。通过确定同步数据时的异常时间,并将异常时间到目标时间内原始表中的变更数据同步至目标数据表,进而达到了保障数据同步故障期间不会影响业务,提高业务处理效率的效果。
38.为了保障数据一致性,对目标数据表进行定时更新,可选地,在本技术实施例提供的数据同步方法中,在将异常时间到目标时间内的所有变更数据同步至目标数据表之后,该方法还包括:获取当前的定时更新周期内原始表中的第一数据变更记录,并获取目标数据表中的第二数据变更记录;判断第一数据变更记录中的第一变更数据和第二数据变更记
录中的第二变更数据是否相同;在第一变更数据和第二变更数据不同的情况下,将目标数据表中的第二变更数据替换为第一变更数据。
39.具体地,定时更新周期可以设置为1天,第一数据变更记录可以为原始表中每天记录的所有变更数据的记录,第二数据变更记录可以为目标数据表中每天记录的所有变更数据的记录。通过预设同步程序中的定时程序每隔一天拉取一次原始表自上次定时程序更新之后的第一数据变更记录,同时拉取目标数据表自上次定时程序更新之后的第二数据变更记录,并判断原始表与目标数据表中的第一变更数据和第二变更数据是否一致,如果不一致,则将该部分数据进行同步覆盖,从而实现数据的定时补偿同步,也即对目标数据表的定时更新。通过对目标数据表的定时更新避免目标数据表突然出现故障导致的原始表与目标数据表的数据不一致。
40.预设同步程序通过消息队列来实时监控原始表中的数据表更记录,可选地,在本技术实施例提供的数据同步方法中,在将变更数据实时同步至目标数据表之前,该方法还包括:确定原始表中的新增的变更数据,将变更数据的变更记录同步至消息队列;将消息队列中所有变更数据的变更记录按照时间顺序逐条推送至目标数据表。
41.具体地,通过消息队列实时监控原始表中新增的每一条变更数据,在原始表中每次新增一条变更数据时,将新增的变更数据的变更记录同步至消息队列,消息队列将每条变更数据的表更记录逐条推送至预设同步程序,预设同步程序流式读取数据变更记录,流式读取也即按照时间顺序逐条读取消息队列中的所有变更数据的变更记录。通过消息队列逐条记录原始表中的变更数据的变更记录从而实现对原始表的实时监控。
42.通过数据变更记录确定目标数据表的更新数据执行语句,可选地,在本技术实施例提供的数据同步方法中,将变更数据实时同步至目标数据表包括:确定当前推送的变更数据的变更记录,判断变更数据的变更类型,其中,变更类型至少包括以下之一:添加数据、删除数据和修改数据;基于变更类型确定目标数据表的更新数据执行语句;依据更新数据执行语句将变更数据从原始表同步至目标数据表。
43.具体地,对目标数据表进行同步数据时基于变更数据的变更记录确定变更数据的变更类型,例如原始表中新增的变更数据的数据类型为添加数据,预设同步程序基于变更数据的数据类型生成目标数据表中对应的更新数据执行语句,基于更新数据执行语句将变更数据写入至目标数据表中。通过基于变更数据的变更类型生成目标数据表中的更新数据执行语句,实现对目标数据表与原始表中数据的实时同步。
44.若预设同步程序出现故障则需要对其进行检测修复,避免同步的数据持续存在异常,可选地,在本技术实施例提供的数据同步方法中,在判断预设时长后目标数据表中是否存在变更数据之后,该方法还包括:在目标数据表中不存在变更数据的情况下,对预设同步程序进行检测,得到检测结果;在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序。
45.具体地,在预设同步程序检测到目标数据表中不存在变更数据的情况下,说明预设同步程序出现了故障,此时需要对预设同步程序进行检修,避免出现故障的预设同步程序继续向目标数据表同步异常数据,预设同步程序出现的故障一般包括网络故障和同步数据的数据量较大。因此在检测到预设时长后目标数据表中不存在变更数据的情况下,检测预设同步程序的网络环境以及原始表中的待同步数据的数据量是否超过阈值,根据检测到
的结果对预设同步程序进行修复。通过对预设同步程序的故障检测和及时修复,避免预设同步程序持续同步异常数据,保障原始表与目标数据表中数据的一致性,从而避免业务的处理效率受到影响。
46.预设同步程序的故障有可能是网络环境不稳定引起的,可选地,在本技术实施例提供的数据同步方法中,在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序包括:判断预设同步程序的网络环境是否稳定;在网络环境不稳定的情况下,确定预设同步程序出现故障,调整预设同步程序的网络环境。
47.具体地,根据对预设同步程序的检测结果对预设同步程序进行修复,若检测结果显示本次数据的异常同步是网络环境不稳定引起的,例如某时刻处于各个业务系统的业务爆发期,占用了较多带宽,导致预设同步程序的网络环境不稳定,此时可以及时调整预设同步程序的网络环境,例如更换不同的网络,或者设置一个流量限制程序,保障预设同步程序的网络环境维持稳定。通过及时检测出预设同步程序的网络环境是否稳定,并在不稳定的情况下及时对网络环境进行调整,保障预设同步程序及时修复故障,避免影响业务处理效率。
48.预设同步程序的故障有可能是待同步数据的数据量较大引起的,可选地,在本技术实施例提供的数据同步方法中,在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序包括:判断原始表中的待同步数据的数据量是否大于等于数据量阈值;在待同步数据的数据量大于等于数据量阈值的情况下,确定预设同步程序出现故障,对预设同步程序进行扩容。
49.具体地,待同步数据也即原始表中新增的变更数据,若同时间的变更数据的数据量较大时,也可能对预设同步程序造成影响。因此当检测结果表征预设同步程序出现故障时,通过判断待同步数据的数据量是否大于等于数据量阈值确定预设同步程序的故障原因,若待同步数据的数据量大于等于数据量阈值,则说明预设同步程序的存储容量不足,需要对预设同步程序进行扩容。通过在待同步数据的数据量大于等于数据量阈值的情况下,及时对预设同步程序进行扩容,保障预设同步程序及时修复故障,避免业务的处理效率受到影响。
50.根据本技术的另一个实施例,还提供了一种可选的数据同步方法,图2是根据本技术实施例提供的可选的数据同步方法的流程图。如图2所示,该方法包括:
51.实时监听原始表的数据变化记录,并推送至消息队列。从消息队列中通过流式解析程序实时读取数据变化记录。基于数据变化记录生成新表中的数据更新执行语句。通过数据更新执行语句实现原始表到新表的数据实时同步。
52.例如,通过etl实时监听oracle(一种数据库)表的物化视图,mysql(一种关系型数据库)表的binlog(binary log,二进制日志),将数据变化记录上送至消息队列进行实时监控。从消息队列中通过流式解析程序实时读取到oracle表的物化视图中添加了一张a图,删除了原始表中的一张b图,并修改了原始表中的一张c图,原始表中的上述数据变化记录会逐条同步至消息对列,etl基于消息队列中的数据变化记录逐一确定变更数据的变更类型,例如原始表中新增的变更数据的数据类型为添加数据,etl基于变更数据的数据类型生成新表中对应的更新数据执行语句,基于更新数据执行语句将变更数据写入至新表中。在新中添加a图、删除b图,并修改c图。
53.在实时同步执行的过程中,对新表同时执行定时补偿同步,生成前一个周期的更细时间t1,获取时间范围t1内的数据记录,基于数据记录生成新表中的数据更新执行语句。通过数据更新执行语句实现新表的定时补偿同步。
54.例如,etl还设置了定时补偿同步的功能。每隔一段定时更新周期t1会自动将新表中t1内的变更数据与原始表中的变更数据进行对比,若不相同则需要对新表中的t1内的变更数据生成新表中的数据更新执行语句,从而进行新表的定时补偿同步。
55.在执行定时补偿同步的过程中,对新表同时执行应急补偿同步,指定出现应急故障的时间范围t2,获取时间范围t2内的数据记录,基于数据记录生成新表中的数据更新执行语句。通过数据更新执行语句实现新表的应急补偿同步。
56.例如,在etl执行了对变更数据的同步操作后,检测新表中是否实现了本次数据变更的操作,检测实时同步执行完成的1秒后新表中是否存在变更数据。若在新表中未检测到变更数据,说明变更数据的同步出现了故障,新表与原始表中的数据出现了不一致,这将影响业务的正常进行,因此为了保障故障期间的业务正常处理,需要将出现异常的数据及时修正。通过将异常时间到当前的定时更新周期内的截止时间(也即t2)内的所有变更数据实时同步至新表。实现新表的应急补偿同步。
57.通过本技术实施例提供的可选的数据同步方法,应急补偿同步可以保障位于故障时间点时的数据一致性,保障服务可用。当实时同步程序、定时补偿同步程序失效时仍有应急补偿同步程序可生效,保障数据同步。
58.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
59.本技术实施例还提供了一种数据同步装置,需要说明的是,本技术实施例的数据同步装置可以用于执行本技术实施例所提供的用于数据同步方法。以下对本技术实施例提供的数据同步装置进行介绍。
60.图3是根据本技术实施例提供的数据同步装置的示意图。如图3所示,该装置包括:
61.监控单元10,用于通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;
62.第一同步单元20,用于在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;
63.第一判断单元30,用于判断预设时长后目标数据表中是否存在变更数据;
64.第一确定单元40,用于在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;
65.第二同步单元50,用于将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。
66.本技术实施例提供的数据同步装置,通过监控单元10,通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;第一同步单元20,在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;第一判断单元30,判断预设时长后目标
数据表中是否存在变更数据;第一确定单元40,在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;第二同步单元50,将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期,解决了相关技术中数据同步出现故障期间影响业务处理效率的问题,通过确定同步数据时的异常时间,并将异常时间到目标时间内原始表中的变更数据同步至目标数据表,进而达到了保障数据同步故障期间不会影响业务,提高业务处理效率的效果。
67.可选地,在本技术实施例提供的数据同步装置中,该装置还包括:获取单元,用于获取当前的定时更新周期内原始表中的第一数据变更记录,并获取目标数据表中的第二数据变更记录;第二判断单元,用于判断第一数据变更记录中的第一变更数据和第二数据变更记录中的第二变更数据是否相同;替换单元,用于在第一变更数据和第二变更数据不同的情况下,将目标数据表中的第二变更数据替换为第一变更数据。
68.可选地,在本技术实施例提供的数据同步装置中,该装置还包括:第二确定单元,用于确定原始表中的新增的变更数据,将变更数据的变更记录同步至消息队列;推送单元,用于将消息队列中所有变更数据的变更记录按照时间顺序逐条推送至目标数据表。
69.可选地,在本技术实施例提供的数据同步装置中,第一同步单元20包括:确定模块,用于确定当前推送的变更数据的变更记录,判断变更数据的变更类型,其中,变更类型至少包括以下之一:添加数据、删除数据和修改数据;基于变更类型确定目标数据表的更新数据执行语句;同步模块,用于依据更新数据执行语句将变更数据从原始表同步至目标数据表。
70.可选地,在本技术实施例提供的数据同步装置中,该装置还包括:检测单元,用于在目标数据表中不存在变更数据的情况下,对预设同步程序进行检测,得到检测结果;修复单元,用于在检测结果表征预设同步程序出现故障的情况下,依据检测结果修复预设同步程序。
71.可选地,在本技术实施例提供的数据同步装置中,修复单元包括:第一判断模块,用于判断预设同步程序的网络环境是否稳定;调整模块,用于在网络环境不稳定的情况下,确定预设同步程序出现故障,调整预设同步程序的网络环境。
72.可选地,在本技术实施例提供的数据同步装置中,修复单元包括:第二判断模块,用于判断原始表中的待同步数据的数据量是否大于等于数据量阈值;扩容模块,用于在待同步数据的数据量大于等于数据量阈值的情况下,确定预设同步程序出现故障,对预设同步程序进行扩容。
73.数据同步装置包括处理器和存储器,上述监控单元10、第一同步单元20、第一判断单元30、第一确定单元40和第二同步单元50等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
74.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来保障数据同步故障期间不会影响业务,提高业务处理效率。
75.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
76.本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现数据同步方法。
77.本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据同步方法。
78.图4是根据本技术实施例提供的电子设备的示意图。如图4所示,电子设备401包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。本文中的设备可以是服务器、pc、pad、手机等。
79.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表,其中,目标时间为当前的定时更新周期内的截止时间,定时更新周期是对目标数据表内同步异常的数据进行定时更新的周期。
80.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
81.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
82.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
83.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
84.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
85.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
86.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
87.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
88.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
89.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种数据同步方法,其特征在于,包括:通过预设同步程序监控原始表的数据变更记录,其中,所述数据变更记录用于至少记录以下之一:所述原始表中添加的数据、删除的数据和修改的数据;在所述数据变更记录中新增一条变更数据的变更记录的情况下,将所述变更数据实时同步至目标数据表;判断预设时长后所述目标数据表中是否存在所述变更数据;在所述目标数据表中不存在所述变更数据的情况下,确定数据同步异常和异常时间,其中,所述异常时间是所述变更数据在所述原始表中的变更时间;将所述异常时间到目标时间内的所有变更数据同步至所述目标数据表,其中,所述目标时间为当前的定时更新周期内的截止时间,所述定时更新周期是对所述目标数据表内同步异常的数据进行定时更新的周期。2.根据权利要求1所述的方法,其特征在于,在将所述异常时间到目标时间内的所有变更数据同步至所述目标数据表之后,所述方法还包括:获取当前的定时更新周期内所述原始表中的第一数据变更记录,并获取所述目标数据表中的第二数据变更记录;判断所述第一数据变更记录中的第一变更数据和所述第二数据变更记录中的第二变更数据是否相同;在所述第一变更数据和所述第二变更数据不同的情况下,将所述目标数据表中的第二变更数据替换为所述第一变更数据。3.根据权利要求1所述的方法,其特征在于,在将所述变更数据实时同步至所述目标数据表之前,所述方法还包括:确定所述原始表中的新增的变更数据,将所述变更数据的变更记录同步至消息队列;将所述消息队列中所有变更数据的变更记录按照时间顺序逐条推送至所述目标数据表。4.根据权利要求3所述的方法,其特征在于,将所述变更数据实时同步至所述目标数据表包括:确定当前推送的变更数据的变更记录,判断所述变更数据的变更类型,其中,所述变更类型至少包括以下之一:添加数据、删除数据和修改数据;基于所述变更类型确定所述目标数据表的更新数据执行语句;依据所述更新数据执行语句将所述变更数据从所述原始表同步至所述目标数据表。5.根据权利要求1所述的方法,其特征在于,在判断预设时长后所述目标数据表中是否存在所述变更数据之后,所述方法还包括:在所述目标数据表中不存在所述变更数据的情况下,对所述预设同步程序进行检测,得到检测结果;在所述检测结果表征所述预设同步程序出现故障的情况下,依据所述检测结果修复所述预设同步程序。6.根据权利要求5所述的方法,其特征在于,在所述检测结果表征所述预设同步程序出现故障的情况下,依据所述检测结果修复所述预设同步程序包括:判断所述预设同步程序的网络环境是否稳定;
在所述网络环境不稳定的情况下,确定所述预设同步程序出现故障,调整所述预设同步程序的网络环境。7.根据权利要求5所述的方法,其特征在于,在所述检测结果表征所述预设同步程序出现故障的情况下,依据所述检测结果修复所述预设同步程序包括:判断所述原始表中的待同步数据的数据量是否大于等于数据量阈值;在所述待同步数据的数据量大于等于所述数据量阈值的情况下,确定所述预设同步程序出现故障,对所述预设同步程序进行扩容。8.一种数据同步装置,其特征在于,包括:监控单元,用于通过预设同步程序监控原始表的数据变更记录,其中,所述数据变更记录用于至少记录以下之一:所述原始表中添加的数据、删除的数据和修改的数据;第一同步单元,用于在所述数据变更记录中新增一条变更数据的变更记录的情况下,将所述变更数据实时同步至目标数据表;判断单元,用于判断预设时长后所述目标数据表中是否存在所述变更数据;确定单元,用于在所述目标数据表中不存在所述变更数据的情况下,确定数据同步异常和异常时间,其中,所述异常时间是所述变更数据在所述原始表中的变更时间;第二同步单元,用于将所述异常时间到目标时间内的所有变更数据同步至所述目标数据表,其中,所述目标时间为当前的定时更新周期内的截止时间,所述定时更新周期是对所述目标数据表内同步异常的数据进行定时更新的周期。9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至7中任意一项所述的数据同步方法。10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的数据同步方法。
技术总结
本申请公开了一种数据同步方法、装置、存储介质及电子设备。涉及云计算技术领域,该方法包括:通过预设同步程序监控原始表的数据变更记录,其中,数据变更记录用于至少记录以下之一:原始表中添加的数据、删除的数据和修改的数据;在数据变更记录中新增一条变更数据的变更记录的情况下,将变更数据实时同步至目标数据表;判断预设时长后目标数据表中是否存在变更数据;在目标数据表中不存在变更数据的情况下,确定数据同步异常和异常时间,其中,异常时间是变更数据在原始表中的变更时间;将异常时间到目标时间内的所有变更数据同步至目标数据表。通过本申请,解决了相关技术中数据同步出现故障期间影响业务处理效率的问题。步出现故障期间影响业务处理效率的问题。步出现故障期间影响业务处理效率的问题。
技术研发人员:张仁辉 郑海青 周歆 董怡韩
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.05.09
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种自动调整间隙的导向装置及调整方法与流程 下一篇:一种液态金属散热装置的制作方法