数据同步方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:32189033 阅读:59 留言:0更新日期:2022-02-08 15:53
本公开提供了一种数据同步方法、装置、电子设备、存储介质和程序产品,可以应用于计算机技术领域和金融领域。该数据同步方法包括:在上游主数据源中存在增量的第一数据库表的情况下,生成针对第一数据库表的待同步任务,其中,待同步任务中包括同步任务表,同步任务表至少包括第一数据库表的表名、下游辅数据源中与第一数据库表对应的第二数据库表的表名、为第一数据库表和第二数据库表设置的同步序号和待同步数据内容;利用上游主数据源和下游辅数据源之间的联机接口,向下游辅数据源发送同步任务表,以便下游辅数据源对第二数据库表进行更新。进行更新。进行更新。

【技术实现步骤摘要】
数据同步方法、装置、电子设备、存储介质及程序产品


[0001]本公开涉及计算机技术和金融
,具体地涉及一种数据同步方法、装置、电子设备、存储介质及程序产品。

技术介绍

[0002]随着业务发展,企业内部的系统越来越多,系统之间数据同步共享是无法避免的。负责生产和维护数据的系统作为主数据源,接收主数据源的应用作为辅数据源。主数据源往辅数据源同步数据,又可以称为上下游数据同步。
[0003]上下游两个应用系统的表数据同步,对于时效性要求较高的情形,一般通过联机接口同步,对于时效性要求不高的情形,一般通过日终批量文件同步。相关技术中通常的做法是每增加一张表,就需要增加一个专用的联机接口或者文件,开发成本较高。当表结构有变动时,上下游应用系统都需要同步修改,沟通和维护成本也较高。

技术实现思路

[0004]为了解决上述部分或全部技术问题,本公开提供了降低成本的数据同步方法、装置、设备、介质和程序产品。
[0005]根据本公开的第一个方面,提供了一种数据同步方法,包括:
[0006]在上游主数据源中存在增量的第一数据库表的情况下,生成针对上述第一数据库表的待同步任务,其中,上述待同步任务中包括同步任务表,上述同步任务表至少包括上述第一数据库表的表名、下游辅数据源中与上述第一数据库表对应的第二数据库表的表名、为上述第一数据库表和上述第二数据库表设置的同步序号和待同步数据内容;以及
[0007]利用上述上游主数据源和上述下游辅数据源之间的联机接口,向上述下游辅数据源发送上述同步任务表,以便上述下游辅数据源对上述第二数据库表进行更新。
[0008]根据本公开的实施例,上述方法还包括:
[0009]获取上述第一数据库表的第一记录,上述第一记录包括上述第一数据库表的历史更新信息和当前更新状态;以及
[0010]根据上述待同步任务更新上述第一记录。
[0011]根据本公开的一些实施例,上述获取上述第一数据库表的第一记录包括:
[0012]查询上述上游主数据源中是否存在上述第一记录:
[0013]若上述上游主数据源中不存在上述第一记录,则确定上述第一数据库表为新增表,根据上述同步任务表创建上述第一记录;
[0014]若上述上游主数据源中存在上述第一记录,则确定上述第一数据库表为更新表,从上述上游主数据源中提取上述第一数据库表的第一记录。
[0015]根据本公开的一些实施例,上述当前更新状态包括以下之一:待同步状态、同步成功状态和同步失败状态;上述第一记录还包括更新失败次数。
[0016]根据本公开的一些实施例,上述根据上述待同步任务更新上述第一记录包括:定
期扫描上述第一记录的当前更新状态。
[0017]若扫描结果为待同步状态,则调用上述联机接口将上述同步任务表发送至上述下游辅数据源;其中,若联机接口成功,则将上述第一记录的待同步状态更新为同步成功状态;若联机接口调用失败,则将上述更新失败次数加一,若上述更新失败次数小于预设阈值,则保持上述第一记录的当前更新状态不变,若上述更新失败次数大于等于上述预设阈值,则将上述当前更新状态更新为同步失败状态。
[0018]若扫描结果为同步成功状态,则保持上述当前更新状态不变,且不再扫描该第一记录。
[0019]若扫描结果为同步失败状态,则保持上述当前更新状态不变,且不再扫描该第一记录。
[0020]根据本公开的一些实施例,上述方法还包括:
[0021]定期将所有当前更新状态为同步失败的第一数据库表通过文件传输的方式发送至上述下游辅数据源,以便于对更新失败的第二数据库表进行更新,并将当前更新状态修改为同步成功状态。
[0022]根据本公开的一些实施例,上述同步任务表与上述第二数据库表的结构相同,上述结构至少包括:表结构字段类型、长度、顺序和主键;
[0023]其中,上述同步任务表与上述第二数据库表包括至少两个公共字段、同步序号和字段状态,上述同步序号包括时间戳和序号。
[0024]根据本公开的一些实施例,上述下游辅数据源对上述第二数据库表进行更新包括:
[0025]根据上述第一数据库表的表名、上述第二数据库表的表名、上述主键和上述待同步数据内容生成查询结构化查询语言;以及
[0026]根据上述查询结构化查询语言在上述下游辅数据源内查询第二记录,上述第二记录包括第二数据库表的历史更新记录,上述历史更新记录包括历史同步序号;
[0027]其中,若上述第二记录无历史更新记录,则生成插入结构化查询语言执行上述第二数据库表的更新操作,并根据执行结果更新上述第一记录。
[0028]根据本公开的一些实施例,上述向上述下游辅数据源发送上述同步任务表包括:
[0029]根据字段顺序将上述同步任务表的表名、同步序号、字段内容组装成字符串,将上述字符串发送至下游联机接口。
[0030]本公开的第二方面提供了一种数据同步装置,包括:同步任务生成模块,用于在上游主数据源中存在增量的第一数据库表的情况下,生成针对上述第一数据库表的待同步任务,其中,上述待同步任务中包括同步任务表,上述同步任务表至少包括上述第一数据库表的表名、下游辅数据源中与上述第一数据库表对应的第二数据库表的表名、为上述第一数据库表和上述第二数据库表设置的同步序号和待同步数据内容;
[0031]流转模块,用于利用上述上游主数据源和上述下游辅数据源之间的联机接口,向上述下游辅数据源发送上述同步任务表;以及
[0032]更新模块,用于根据上述同步任务表对上述第二数据库表进行更新。
[0033]根据本公开的一些实施例,还包括监听模块,监听模块用于定期扫描第一记录的当前更新状态,第一记录的当前更新状态包括以下之一:待同步状态、同步成功状态和同步
失败状态;第一记录还包括更新失败次数。
[0034]本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得一个或多个处理器执行上述数据同步方法。
[0035]本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据同步方法。
[0036]本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据同步方法。
附图说明
[0037]通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
[0038]图1示意性示出了根据本公开实施例的数据同步方法、装置、设备、介质和程序产品的应用场景图;
[0039]图2示意性示出了根据本公开实施例的数据同步方法的流程图;
[0040]图3示意性示出了根据本公开实施例的数据同步方法的更新第一记录的流程图;
[0041]图4示意性示出了根据本公开实施例的数据同步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据同步方法,包括:在上游主数据源中存在增量的第一数据库表的情况下,生成针对所述第一数据库表的待同步任务,其中,所述待同步任务中包括同步任务表,所述同步任务表至少包括所述第一数据库表的表名、下游辅数据源中与所述第一数据库表对应的第二数据库表的表名、为所述第一数据库表和所述第二数据库表设置的同步序号和待同步数据内容;以及利用所述上游主数据源和所述下游辅数据源之间的联机接口,向所述下游辅数据源发送所述同步任务表,以便所述下游辅数据源对所述第二数据库表进行更新。2.根据权利要求1所述的方法,还包括:获取所述第一数据库表的第一记录,所述第一记录包括所述第一数据库表的历史更新信息和当前更新状态;以及根据所述待同步任务更新所述第一记录。3.根据权利要求2所述的方法,其中,所述获取所述第一数据库表的第一记录包括:查询所述上游主数据源中是否存在所述第一记录:若所述上游主数据源中不存在所述第一记录,则确定所述第一数据库表为新增表,根据所述同步任务表创建所述第一记录;若所述上游主数据源中存在所述第一记录,则确定所述第一数据库表为更新表,从所述上游主数据源中提取所述第一数据库表的第一记录。4.根据权利要求3所述的方法,其中,所述当前更新状态包括以下之一:待同步状态、同步成功状态和同步失败状态;所述第一记录还包括更新失败次数;所述根据所述待同步任务更新所述第一记录包括:定期扫描所述第一记录的当前更新状态:若扫描结果为待同步状态,则调用所述联机接口将所述同步任务表发送至所述下游辅数据源;其中,若联机接口成功,则将所述第一记录的待同步状态更新为同步成功状态;若联机接口调用失败,则将所述更新失败次数加一,若所述更新失败次数小于预设阈值,则保持所述第一记录的当前更新状态不变,若所述更新失败次数大于等于所述预设阈值,则将所述当前更新状态更新为同步失败状态;若扫描结果为同步成功状态,则保持所述当前更新状态不变,且不再扫描该第一记录;以及若扫描结果为同步失败状态,则保持所述当前更新状态不变,且不再扫描该第一记录。5.根据权利要求4所述的方法,还包括:定期将所有当前更新状态为同步失败的第一数据库表通过文件传输的方式发送至所述下游辅数据源,以便于对更新失败的第二数据库表进行更新,并将当前更新状态修改为同步成功状态。6.根据权利要求4所述的方法,其中,所述第一数据库表与所述第二数据库表的结构相同,所述结构至少包括:表结构字段类型、长度、顺序和主键;其中,所述第一数据库表与所述第二数据库表包括至少两个公共字段:同步序号和字
段状态;所述同...

【专利技术属性】
技术研发人员:梁康奇莫奇军郑文湛彭楠
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1