CN116756246A - 一种数据同步方法、装置、设备及存储介质 - Google Patents
一种数据同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116756246A CN116756246A CN202311034836.9A CN202311034836A CN116756246A CN 116756246 A CN116756246 A CN 116756246A CN 202311034836 A CN202311034836 A CN 202311034836A CN 116756246 A CN116756246 A CN 116756246A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- synchronization
- file
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000001360 synchronised effect Effects 0.000 claims abstract description 416
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000012805 post-processing Methods 0.000 claims description 53
- 238000013075 data extraction Methods 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002159 abnormal effect Effects 0.000 claims description 11
- 238000011161 development Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据同步方法、装置、设备及存储介质,属于数据库技术领域,所述方法包括:确定待同步数据任务和待同步数据任务对应的数据同步配置信息;根据数据同步配置信息,从数据提供方本地中确定待同步数据;对待同步数据进行处理,得到待同步数据文件;基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。通过上述技术方案,满足了不同业务数据的数据同步需求,提高了系统的拆分速度,保障了业务线数据的完整性。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据同步方法、装置、设备及存储介质。
背景技术
ETL(Extract-Transform-Load,数据抽取、转换和加载)是实现商务智能的核心,按照统一的规则集成并提高数据的价值,负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。
然而,传统的ETL工具只能进行单表数据的数据同步,在两个系统在段时间之内拆开的情况下,如果每个业务都提供数据接口,工作量极大,无法在段时间内完成上线,无法满足不同业务数据的数据同步需求,也无法保障一条业务线数据的完整性。如何短期之内完成系统拆分,并且保障业务线数据完整性是一个极大的挑战。
发明内容
本发明提供了一种数据同步方法、装置、设备及存储介质,以满足不同业务数据的数据同步需求,提高系统的拆分速度,保障业务线数据的完整性。
根据本发明的一方面,提供了一种数据同步方法,应用于数据提供方,包括:
确定待同步数据任务和待同步数据任务对应的数据同步配置信息;
根据数据同步配置信息,从数据提供方本地中确定待同步数据;
对待同步数据进行处理,得到待同步数据文件;
基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
根据本发明的另一方面,提供了一种数据同步方法,应用于数据接收方,包括:
接收数据提供方发送的待同步数据文件;
对待同步数据文件进行解析,得到待同步数据;
将待同步数据同步至本地数据库。
根据本发明的另一方面,提供了一种数据同步装置,配置于数据提供方,包括:
配置信息确定模块,用于确定待同步数据任务和待同步数据任务对应的数据同步配置信息;
待同步数据确定模块,用于根据数据同步配置信息,从数据提供方本地中确定待同步数据;
数据文件确定模块,用于对待同步数据进行处理,得到待同步数据文件;
数据文件发送模块,用于基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
根据本发明的另一方面,提供了一种数据同步装置,配置于数据接收方,包括:
数据文件接收模块,用于接收数据提供方发送的待同步数据文件;
待同步数据确定模块,用于对待同步数据文件进行解析,得到待同步数据;
待同步数据同步模块,用于将待同步数据同步至本地数据库。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的数据同步方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的数据同步方法。
本发明实施例的技术方案,通过确定待同步数据任务和待同步数据任务对应的数据同步配置信息;根据数据同步配置信息,从数据提供方本地中确定待同步数据;对待同步数据进行处理,得到待同步数据文件;基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。上述技术方案,可以根据不同业务的待同步数据任务对应的数据同步配置信息,从数据提供方本地中确定待同步数据,进而对待同步数据进行数据同步,满足了不同业务数据的数据同步需求,减少了两个系统之间数据同步的开发工作量以及接口数量,进而提高了系统的拆分速度,保障了业务线数据的完整性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据同步方法的流程图;
图2是根据本发明实施例二提供的一种数据同步方法的流程图;
图3是根据本发明实施例三提供的一种数据同步方法的流程图;
图4是根据本发明实施例四提供的一种数据同步装置的结构示意图;
图5是根据本发明实施例五提供的一种数据同步装置的结构示意图;
图6是实现本发明实施例的数据同步方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“源”和“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
此外,还需要说明的是,本发明的技术方案中,所涉及的待同步数据等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
为了便于理解,首先对数据同步过程中涉及的数据同步工具做简要介绍,该数据同步工具包括数据提供方和数据接收方。该数据同步工具支持自定义配置,可以根据业务需求,预先在数据提供方中配置数据同步任务表、数据同步配置表、数据同步错误信息记录表和数据同步后处理配置表;预先在数据接收方中配置数据同步前配置表和数据同步后处理配置表。
其中,数据同步任务表可以包括数据同步任务的标识信息和数据同步任务的状态信息。其中,数据同步任务的状态可以包括待同步状态、同步成功状态和同步失败状态等。数据同步配置表用于存储待同步数据任务对应的数据同步配置信息。其中,数据同步配置信息包括数据同步类型、待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式。数据同步错误信息记录表用于记录数据同步过程中的失败信息以及记录待同步数据任务的累计错误次数。数据同步前配置表可以存储有校验配置信息,以对数据同步前的数据进行校验。数据同步后处理配置表用于存储数据同步类型对应的待同步数据的后处理方式。
实施例一
图1为本发明实施例一提供的一种数据同步方法的流程图,本实施例可适用于两个系统之间数据同步开发的情况,该方法可以由数据同步装置来执行,该装置可以采用硬件和/或软件的形式实现,可具体配置于数据提供方。如图1所示,该方法包括:
S101、确定待同步数据任务和待同步数据任务对应的数据同步配置信息。
其中,待同步数据任务可以是指需要进行数据同步的任务,待同步数据任务可以包括待同步数据任务信息;待同步数据任务信息可以包括数据同步状态、待同步数据、提供的数据文件信息、数据同步时间、数据同步结果和数据同步异常原因等信息,可直观看到所有待同步数据任务的数据同步状况。举例说明,若有一条关于业务A的待同步数据任务信息,根据该信息可以直观看到业务A的10条待同步数据任务中,有2条待同步数据任务正在同步中,有1条待同步数据任务同步失败,失败原因是数据接收方校验失败,拒绝同步。
其中,待同步数据可以是指需要进行数据同步的数据。数据同步配置信息可以存储于预先配置于数据提供方的数据同步配置表中;数据同步配置信息可以包括数据同步类型、待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式等信息。其中,数据同步类型是指需要同步的数据的类型,例如,可以是成员新增类型。
其中,源表可以是指数据提供方本地数据库中待同步数据关联的数据表。数据提取顺序是指对待同步数据的提取顺序,可以根据业务要求预先设置。源表对应的数据提取方式是指从源表中提取待同步数据时所采用的提取方式,可以根据业务要求预先设置。需要说明的是,一个源表对应一种数据提取方式,不同源表对应的数据提取方式可以相同,也可以不相同,不做具体限制。
具体的,根据数据提供方的数据同步任务表中数据同步任务的状态信息,将任务状态为待同步状态或同步失败状态的数据同步任务,确定为待同步数据任务;根据待同步数据任务的数据同步类型,从数据提供方的数据同步配置表中获取待同步数据任务对应的数据同步配置信息。
S102、根据数据同步配置信息,从数据提供方本地中确定待同步数据。
具体的,根据数据同步配置信息中待同步数据关联的源表,从数据提供方本地数据库中获取待同步数据。
进一步的,所述数据同步配置信息包括数据同步类型、待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式;
相应的,确定数据同步类型对应待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式;按照数据提取顺序,依次采用至少一个源表对应的数据提取方式,从至少一个源表中提取待同步数据。
具体的,根据数据同步类型,从本地的数据同步配置信息中查找数据同步类型对应的待同步数据关联的源表、待同步数据的数据提取顺序和各源表对应的数据提取方式;之后可以按照待同步数据对应的数据提取顺序,依次采用各源表对应的数据提取方式,从各源表中提取待同步数据。
示例性的,若数据同步类型为成员新增类型,成员新增类型对应待同步数据关联的源表有数据表A、数据表B和数据表C,且数据提取顺序为数据表A、数据表B和数据表C;数据表A的数据同步类为Class A,且Class A中的数据提取方式为Method A;数据表B的数据同步类为Class B,且Class B中的数据提取方式为Method B;数据表C的数据同步类为Class C,且Class C中的数据提取方式为Method C;按照上述数据提取顺序,使用Java的反射原理,首先调用数据表A对应的Class A中的Method A提取数据表A中的待同步数据A,然后调用数据表B对应的Class B中的Method B提取数据表B中的待同步数据B,最后调用数据表C对应的Class C中的Method C提取数据表C中的待同步数据C,最终得到数据同步类型为成员新增类型下的所有待同步数据,即待同步数据A、待同步数据B和待同步数据C。
上述技术方案,基于预先配置好的数据提取顺序和提取方式等,可以定制化对不同业务需求相关的待同步数据进行个性化提取,可以多表进行同时同步,从而为一整条的业务数据的整体事务控制提供了保障。
S103、对待同步数据进行处理,得到待同步数据文件。
其中,待同步数据文件可以是指对至少一个待同步数据处理后得到的数据文件。
具体的,针对每一待同步数据,可以采用FastJson方法将该待同步数据转换为Json字符串,并保存到本地的一个数据文件中。之后,将生成的所有数据文件进行打包,得到待同步数据文件。其中,FastJson是开源的JSON解析库,可以解析JSON格式的字符串。
基于上述示例,利用FastJson方法依次将待同步数据A、待同步数据B和待同步数据C转换为Json字符串,并依次保存到数据文件A、数据文件B和数据文件C中。之后,将生成的数据文件A、数据文件B和数据文件C进行打包,得到待同步数据文件。
S104、基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
其中,预设的数据发送方式可以包括NAS(Network Attached Storage,网络附属存储)挂载方式和接口传递方式。
示例性的,基于NAS挂载方式,将待同步数据文件保存到对应的NAS目录下,数据接收方从该NAS目录下获取待同步数据文件,以供数据接收方根据待同步数据文件进行数据同步。
示例性的,基于接口传递方式,将待同步数据文件转换为文件流随接口一起发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
本发明实施例的技术方案,通过确定待同步数据任务和待同步数据任务对应的数据同步配置信息;根据数据同步配置信息,从数据提供方本地中确定待同步数据;对待同步数据进行处理,得到待同步数据文件;基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。上述技术方案,可以根据不同业务的待同步数据任务对应的数据同步配置信息,从数据提供方本地中确定待同步数据,进而对待同步数据进行数据同步,满足了不同业务数据的数据同步需求,减少了两个系统之间数据同步的开发工作量以及接口数量,进而提高了系统的拆分速度,保障了业务线数据的完整性。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:获取数据接收方对待同步数据文件的响应结果;根据响应结果,对待同步数据任务的任务状态进行更新。
其中,响应结果可以包括接收成功和接收失败。待同步数据任务的任务状态可以包括待发送、已发送、发送失败、同步成功和同步失败等状态。
具体的,数据提供方获取数据接收方对待同步数据文件的响应结果,若响应结果为接收成功,则将待同步数据任务的任务状态由待发送状态修改为已发送状态;若响应结果为接收失败,则将待同步数据任务的任务状态由待发送状态修改为发送失败状态。需要说明的是,若响应结果为接收失败,还需要将接收失败的信息记录到数据提供方的数据同步错误信息记录表中,并将待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据文件在发送过程中的错误,以使待同步数据文件等待下一次同步。
可以理解的是,通过响应结果对待同步数据任务的任务状态进行更新,实现了对待同步数据文件发送过程的监控,便于数据提供方了解待同步数据文件的发送状况。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:获取数据接收方对待同步数据的同步结果;根据同步结果,对待同步数据任务的任务状态进行更新。
其中,同步结果可以包括同步成功和同步失败。需要说明的是,数据接收方处理待同步数据文件的方式是异步处理,所以数据提供方提供了同步任务反馈接口,用于接收数据接收方反馈的同步结果。
具体的,数据提供方通过同步任务反馈接口,获取数据接收方对待同步数据的同步结果;若同步结果为同步成功,则将待同步数据任务的任务状态由已发送状态修改为同步成功状态,已表征数据同步结束;若同步结果为同步失败,则将待同步数据任务的任务状态由已发送状态修改为同步失败状态,并将失败信息记录到数据提供方的数据同步错误信息记录表中,并将待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据在数据同步过程中的错误。
可以理解的是,通过同步结果对待同步数据任务的任务状态进行更新,实现了对数据同步过程中待同步数据任务的任务状态的监控,便于数据提供方了解待同步数据任务的数据同步状况,便于后续数据提供方统计数据同步的任务数量。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:若同步结果为同步成功,则基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。
其中,后处理配置信息可以包括数据同步类型、数据接收方反馈的同步结果、反馈的执行类和反馈的执行方法等,可以配置于数据提供方的数据同步后处理配置表中。
具体的,若同步结果为同步成功,数据提供方从数据同步后处理配置表中获取待同步数据对应的预设后处理配置信息中的后处理方式,以对同步成功后的待同步数据进行后处理。
示例性的,若后处理配置信息中的待同步数据任务对应的数据同步类型为成员新增类型,数据接收方反馈的同步结果为同步成功,反馈的执行类为ClassSuccessA,反馈的执行方法为MethodSuccessA;在同步结果为同步成功的情况下,数据提供方从数据同步后处理配置表中获取待同步数据对应的预设后处理配置信息中的后处理方式MethodSuccessA,并使用Java反射原理,调用MethodSuccessA对待同步数据进行后处理。
可以理解的是,在待同步数据同步成功的情况下,对待同步数据进行后处理,使得处理后的待同步数据更具针对性,以便处理后的待同步数据更好的应用于不同的业务场景。
实施例二
图2为本发明实施例二提供的一种数据同步方法的流程图,本实施例可适用于两个系统之间数据同步开发的情况,该方法可以由数据同步装置来执行,该装置可以采用硬件和/或软件的形式实现,可具体配置于数据接收方。如图2所示,该方法包括:
S201、接收数据提供方发送的待同步数据文件。
其中,待同步数据文件可以是指对至少一个待同步数据处理后得到的数据文件。
具体的,数据接收方接收数据提供方发送的待同步数据文件。
进一步的,在接收数据提供方发送的待同步数据文件之后,还可以包括:基于预设的校验配置信息,对待同步数据文件进行校验;在校验结果为不通过的情况下,向数据提供方发送校验反馈信息,并终止对待同步数据的同步;其中,校验反馈信息包括数据接收成功和同步终止信息。
其中,校验配置信息可以包括待同步数据的标识信息、待同步数据对应的校验配置类以及校验配置类中的校验方法等信息,用于对待同步数据文件进行校验,可以配置于数据接收方的数据同步前配置表中。同步终止信息可以是“数据同步失败,同步终止”。校验结果可以包括通过和不通过。
具体的,数据接收方在接收到数据提供方发送的待同步数据文件之后,在数据同步前配置表中查询校验配置信息;如果没有查询到校验配置信息,则直接对待同步数据文件进行后续处理;如果查询到校验配置信息,则通过Java反射原理循环调用待同步数据文件中各待同步数据对应的校验配置类,对待同步数据文件进行校验,若校验结果为通过,则对待同步数据文件进行后续处理,若校验结果为不通过,数据接收方则以告警邮件的方式向数据提供方发送校验反馈信息,以通知数据提供方待同步数据文件接收成功,但同步失败。同时,数据接收方终止对待同步数据的数据同步。需要说明的是,如果通知失败,这将失败信息记录到数据同步错误信息记录表中,并将待同步数据任务的任务状态由发送成功状态修改为发送成功,但通知失败状态。
S202、对待同步数据文件进行解析,得到待同步数据。
具体的,数据接收方可以根据待同步数据文件的文件名,获取待同步数据文件中数据的数据表名;根据数据表名从本地数据库中获取待同步数据。
进一步的,对待同步数据文件进行解析,得到待同步数据关联的至少一个目标表;若判断至少一个目标表存在,则确定待同步数据关联的至少一个目标表的主键和唯一键;根据至少一个目标表的主键和唯一键,以及待同步数据,从本地查询待同步数据,并根据查询结果,将待同步数据同步至本地数据库。
其中,目标表可以是指数据接收方本地数据库中待同步数据关联的数据表。主键用于唯一标识目标表中的一条数据,唯一键用于保证目标表中某个字段的字段值不重复,以避免添加重复数据。查询结果可以包括待同步数据存在和待同步数据不存在。本地数据库可以是Oracle数据库。
具体的,数据接收方每次读取待同步数据文件中的一行数据,且将该行的数据序列化为HasMap(哈希映射)对象,从而得到待同步数据关联的至少一个目标表。之后,通过本地数据库提供的ALL_TABLES字典表查询本地数据库中是否存在目标表。如果否,则直接抛出数据同步异常,并将该结果通过接口的方式,反馈给数据提供方,以告知数据提供方待同步数据关联的目标表不存在,以便后续数据提供方对待同步数据进行检修;如果是,则通过本地数据库提供的ALL_CONS_COLUMNS和ALL_CONSTRAINTS两张字典表,获取待同步数据关联的目标表的主键和唯一键;根据目标表的主键和唯一键,以及待同步数据,从本地数据库中查询待同步数据,如果查询结果为待同步数据不存在,则生成包含目标表的主键和唯一键的插入SQL语句,如果查询结果为待同步数据存在,则根据目标表的主键和唯一键,从序列化的HashMap中获取待同步数据中字段对应的字段值,并生成相应的查询SQL语句,且该查询SQL语句中包含目标表的主键和唯一键;之后,通过目标表的表名,从本地数据库的ALL_TAB_COLUMNS表中获取目标表所有的字段名以及类型,然后循环所有字段,再根据字段名到序列化的HashMap中获取字段对应的值,并将其拼接到更新SQL语句或插入SQL语句中,直至将目标表所有的字段全部拼接到SQL语句中,以生成一条完整的更新SQL语句或插入SQL语句;随后执行生成的更新SQL语句或插入SQL语句,将待同步数据同步至本地数据库中,保障了业务线数据的完整性。
其中,ALL_TABLES用于存储数据接收方拥有或者可以访问的所有数据表;ALL_CONS_COLUMNS用于存储数据接收方可以访问的约束字段的信息;ALL_CONSTRAINTS用于存储数据接收方在本地数据库可以访问的所有约束;ALL_TAB_COLUMNS用于存储数据接收方定义的数据表和视图中所有列的相关信息。
可以理解的是,上述方案提供了一种对待同步数据文件进行解析得到待同步数据的方法,可以一次性完成对待同步数据的数据同步处理,提高了数据同步的效率,保障了业务线数据的完整性。
S203、将待同步数据同步至本地数据库。
具体的,数据接收方将待同步数据同步至本地数据库。
本发明实施例的技术方案,通过接收数据提供方发送的待同步数据文件;对待同步数据文件进行解析,得到待同步数据;将待同步数据同步至本地数据库。上述技术方案,实现了对待同步数据的数据同步,保障了业务线数据的完整性。
在上述实施例的基础上,作为本发明实施例的一种可选方式,所述方法还可以包括:基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理;根据处理过程的异常情况,确定对待同步数据的同步结果。
其中,后处理配置信息可以包括数据同步类型、同步结果、执行类和执行方法等,可以配置于数据接收方的数据同步后处理配置表中。异常情况可以是由导线接触不良导致的断路,也可以是网络断开,不做具体限制。
具体的,数据接收方基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。示例性的,若待同步数据任务对应的数据同步类型为成员新增类型,同步结果为同步成功,执行类为ClassSuccessB,执行方法为MethodSuccessB;数据接收方基于预设的后处理配置信息中的后处理方式MethodSuccessB,使用Java反射原理调用MethodSuccessB对待同步数据进行后处理。
数据接收方根据后处理过程的异常情况,从数据同步后处理配置表中查找是否预先配置异常处理方式(比如,对待同步数据进行回滚),如果是,则确定对待同步数据的同步结果为同步失败,如果否,则确定对待同步数据的同步结果为同步成功。
需要说明的是,若对待同步数据的同步结果为同步失败,需要将待同步数据任务的任务状态由同步成功状态修改为同步失败状态,且需要将失败信息记录到数据提供方的数据同步错误信息记录表中,并将待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据在同步过程中的错误。
可以理解的是,实现了对待同步数据同步后的后处理,同时,可以根据后处理过程中的异常情况,控制事务的回滚与提交。
实施例三
图3是本发明实施例三提供的一种数据同步方法的流程图,本发明实施例在上述各实施例的技术方案的基础上,提供了一种优选实施方式。需要说明的是,在本发明实施例中未详述部分,可参照其他实施例的相关表述。如图3所示,该方法包括:
S301、数据提供方确定待同步数据任务和待同步数据任务对应的数据同步配置信息。
S302、数据提供方根据数据同步配置信息,从数据提供方本地中确定待同步数据。
具体的,数据提供方根据数据同步配置信息中的数据同步类型,确定数据同步类型对应待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式;按照数据提取顺序,依次采用至少一个源表对应的数据提取方式,从至少一个源表中提取待同步数据。
S303、数据提供方对待同步数据进行处理,得到待同步数据文件。
其中,待同步数据文件可以是指对至少一个待同步数据处理后得到的数据文件。
具体的,针对每一条待同步数据,利用FastJson方法将待同步数据转换为Json字符串,并保存到数据文件中。之后,将生成的所有数据文件进行打包,得到待同步数据文件。其中,FastJson是开源的JSON解析库,可以解析JSON格式的字符串。
S304、数据提供方基于预设的数据发送方式,将待同步数据文件发送给数据接收方。
其中,预设的数据发送方式可以包括NAS(Network Attached Storage,网络附属存储))挂载方式和接口传递方式。
示例性的,基于NAS挂载方式,将待同步数据文件保存到对应的NAS目录下,数据接收方从该NAS目录下获取待同步数据文件,以供数据接收方根据待同步数据文件进行数据同步。
示例性的,基于接口传递方式,将待同步数据文件转换为文件流随接口一起发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
S305、数据接收方向数据提供方反馈对待同步数据文件的响应结果。
其中,响应结果可以包括接收成功和接收失败。
S306、数据提供方获取数据接收方对待同步数据文件的响应结果,并根据响应结果,对待同步数据任务的任务状态进行更新。
其中,待同步数据任务的任务状态可以包括待发送、已发送、发送失败、同步成功和同步失败等状态。
具体的,数据提供方获取数据接收方对待同步数据文件的响应结果,若响应结果为接收失败,则将待同步数据任务的任务状态由待发送状态修改为发送失败状态;若响应结果为接收失败,则将待同步数据任务的任务状态由待发送状态修改为发送失败状态。需要说明的是,若响应结果为接收失败,还需要将接收失败的信息记录到数据提供方的数据同步错误信息记录表中,并将待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据文件在发送过程中的错误,以使待同步数据文件等待下一次同步。
S307、数据接收方基于预设的校验配置信息,对待同步数据文件进行校验,如果校验通过,则执行S308;否则,执行S317。
其中,预设的校验配置信息用于对待同步数据文件进行校验,可以配置于数据接收方预先配置的数据同步前配置表中。
具体的,数据接收方在成功接收数据提供方发送的待同步数据文件之后,在数据同步前配置表中查询校验配置信息;如果没有查询到校验配置信息,则执行S308;否则,通过Java反射原理循环调用待同步数据文件中各待同步数据对应的校验配置类,对待同步数据文件进行校验,若校验结果为通过,则执行S308;否则,执行S317。
S308、数据接收方对待同步数据文件进行解析,得到待同步数据关联的至少一个目标表。
具体的,数据接收方每次读取待同步数据文件中的一行数据,且将每一行的数据序列化为HasMap(哈希映射)对象,从而得到待同步数据关联的至少一个目标表。
S309、检测数据接收方的本地数据库中是否存在目标表,如果是,则执行S310;否则,执行S318。
其中,本地数据库可以是Oracle数据库。目标表可以是指数据接收方本地数据库中待同步数据关联的数据表。
具体的,数据接收方通过本地数据库提供的ALL_TABLES字典表查询本地数据库中是否存在目标表。
S310、数据接收方确定待同步数据关联的至少一个目标表的主键和唯一键。
具体的,数据接收方通过本地数据库提供的ALL_CONS_COLUMNS和ALL_CONSTRAINTS两张字典表,获取待同步数据关联的目标表的主键和唯一键。
S311、数据接收方根据至少一个目标表的主键和唯一键,以及待同步数据,从本地查询待同步数据,并根据查询结果,将待同步数据同步至本地数据库。
其中,查询结果可以包括待同步数据存在和待同步数据不存在。
具体的,针对每个目标表,数据接收方根据目标表的主键和唯一键,以及待同步数据,从本地查询待同步数据;如果查询结果为待同步数据不存在,则生成包含目标表的主键和唯一键的插入SQL语句,如果查询结果为待同步数据存在,则根据目标表的主键和唯一键,从序列化的HashMap中获取待同步数据中字段对应的字段值,并生成相应的查询SQL语句,且该查询SQL语句中包含目标表的主键和唯一键;之后,通过目标表的表名,从本地数据库的ALL_TAB_COLUMNS表中获取目标表所有的字段名以及类型,然后循环所有字段,再根据字段名到序列化的HashMap中获取字段对应的值,并将其拼接到更新SQL语句或插入SQL语句中,直至将目标表所有的字段全部拼接到SQL语句中,以生成一条完整的更新SQL语句或插入SQL语句;随后执行生成的更新SQL语句或插入SQL语句,将待同步数据同步至本地数据库中,保障了业务线数据的完整性。
S312、在同步成功的情况下,数据接收方基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。
具体的,数据接收方基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。示例性的,若待同步数据任务对应的数据同步类型为成员新增类型,同步结果为同步成功,执行类为ClassSuccessB,执行方法为MethodSuccessB;数据接收方基于预设的后处理配置信息中的后处理方式MethodSuccessB,使用Java反射原理调用MethodSuccessB对待同步数据进行后处理。
S313、根据处理过程的异常情况,确定对待同步数据的同步结果。
具体的,数据接收方根据后处理过程的异常情况,从数据同步后处理配置表中查找是否预先配置异常处理方式(比如,对待同步数据进行回滚),如果是,则确定对待同步数据的同步结果为同步失败,如果否,则确定对待同步数据的同步结果为同步成功。
需要说明的是,若对待同步数据的同步结果为同步失败,需要将待同步数据任务的任务状态由同步成功状态修改为同步失败状态,且需要将失败信息记录到数据提供方的数据同步错误信息记录表中,并将待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据在同步过程中的错误。
S314、数据接收方向数据提供方反馈对待同步数据的同步结果。
其中,同步结果可以包括同步成功和同步失败。需要说明的是,数据接收方处理待同步数据文件的方式是异步处理,所以数据提供方提供了同步任务反馈接口,用于接收数据接收方反馈的同步结果。
S315、数据提供方获取数据接收方对待同步数据的同步结果,并根据同步结果,对待同步数据任务的任务状态进行更新。
具体的,数据提供方通过同步任务反馈接口,获取数据接收方对待同步数据的同步结果;若同步结果为同步成功,则将待同步数据任务的任务状态由已发送状态修改为同步成功状态,已表征数据同步结束;若同步结果为同步失败,则将待同步数据任务的任务状态由已发送状态修改为同步失败状态,并将失败信息记录到数据提供方数据同步错误信息记录表中,同时,待同步数据任务对应的累计错误次数加1,以便数据提供方后期检修待同步数据在数据同步过程中的错误。
S316、若同步结果为同步成功,数据提供方则基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。
具体的,若同步结果为同步成功,数据提供方从数据同步后处理配置表中获取待同步数据对应的预设后处理配置信息中的后处理方式,以对同步成功后的待同步数据进行后处理。
示例性的,若后处理配置信息中的待同步数据任务对应的数据同步类型为成员新增类型,数据接收方反馈的同步结果为同步成功,反馈的执行类为ClassSuccessA,反馈的执行方法为MethodSuccessA;在同步结果为同步成功的情况下,数据提供方从数据同步后处理配置表中获取待同步数据对应的预设后处理配置信息中的后处理方式MethodSuccessA,并使用Java反射原理,调用MethodSuccessA对待同步数据进行后处理。
S317、在校验不通过的情况下,数据接收方向数据提供方发送校验反馈信息。
具体的,在校验不通过的情况下,以告警邮件的方式向数据提供方发送校验反馈信息,以通知数据提供方待同步数据文件接收成功,但同步失败。同时,数据接收方终止对待同步数据的数据同步。需要说明的是,如果通知失败,这将失败信息记录到数据同步错误信息记录表中,并将待同步数据任务的任务状态由发送成功状态修改为发送成功,但通知失败状态。
S318、在数据接收方本地数据库中不存在目标表的情况下,直接抛出数据同步异常,并将该结果反馈给数据提供方,以告知数据提供方待同步数据关联的目标表不存在,以便后续数据提供方对待同步数据进行检修。
本发明实施例的技术方案,提供了一种数据同步的方法,满足了不同业务数据的数据同步需求;提供了数据同步前校验、同步后处理、以及控制事务回滚与提交的方法;同时提供了告警机制,根据不同的数据同步类型,将数据接收失败、数据同步前校验不通过和同步后处理中的异常情况,反馈给数据接收方。本发明实施例保障了业务线数据的完整性,可以适用于两个系统之间数据同步开发的情况,可以减少两个系统之间数据同步的开发工作量以及接口数量,减少测试工作量。
实施例四
图4为本发明实施例四提供的一种数据同步装置的结构示意图。本实施例可适用于两个系统之间数据同步开发的情况,该装置可以采用硬件和/或软件的形式实现,可具体配置于数据提供方。如图4所示,该装置包括:
配置信息确定模块401,用于确定待同步数据任务和待同步数据任务对应的数据同步配置信息;
待同步数据确定模块402,用于根据数据同步配置信息,从数据提供方本地中确定待同步数据;
数据文件确定模块403,用于对待同步数据进行处理,得到待同步数据文件;
数据文件发送模块404,用于基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。
本发明实施例的技术方案,通过配置信息确定模块,确定待同步数据任务和待同步数据任务对应的数据同步配置信息;通过待同步数据确定模块,根据数据同步配置信息,从数据提供方本地中确定待同步数据;通过数据文件确定模块得到待同步数据文件;通过数据文件发送模块,基于预设的数据发送方式,将待同步数据文件发送给数据接收方,以供数据接收方根据待同步数据文件进行数据同步。上述技术方案,可以根据不同业务的待同步数据任务对应的数据同步配置信息,从数据提供方本地中确定待同步数据,进而对待同步数据进行数据同步,满足了不同业务数据的数据同步需求,减少了两个系统之间数据同步的开发工作量以及接口数量,进而提高了系统的拆分速度,保障了业务线数据的完整性。
可选的,所述数据同步配置信息包括数据同步类型、待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式;
相应的,待同步数据确定模块402,具体用于:
确定数据同步类型对应待同步数据关联的至少一个源表、数据提取顺序和源表对应的数据提取方式;按照数据提取顺序,依次采用至少一个源表对应的数据提取方式,从至少一个源表中提取待同步数据。
可选的,该装置还包括:
响应结果获取模块,用于获取数据接收方对待同步数据文件的响应结果;
任务状态更新模块,用于根据响应结果,对待同步数据任务的任务状态进行更新。
可选的,该装置还包括:
同步结果获取模块,用于获取数据接收方对待同步数据的同步结果;
任务状态更新模块,用于根据同步结果,对待同步数据任务的任务状态进行更新。
可选的,该装置还包括:
同步数据处理模块,用于若同步结果为同步成功,则基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理。
本发明实施例所提供的数据同步装置可执行本发明任意实施例所提供的数据同步方法,具备执行各数据同步方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种数据同步装置的结构示意图。本实施例可适用于两个系统之间数据同步开发的情况,该装置可以采用硬件和/或软件的形式实现,可具体配置于数据接收方。如图5所示,该装置包括:
数据文件接收模块501,用于接收数据提供方发送的待同步数据文件;
待同步数据确定模块502,用于对待同步数据文件进行解析,得到待同步数据;
待同步数据同步模块503,用于将待同步数据同步至本地数据库。
本发明实施例的技术方案,通过数据文件接收模块,接收数据提供方发送的待同步数据文件;通过待同步数据确定模块,得到待同步数据;通过待同步数据同步模块,将待同步数据同步至本地数据库。上述技术方案,实现了对待同步数据的数据同步,保障了业务线数据的完整性。
可选的,所述待同步数据确定模块502,具体用于:
对待同步数据文件进行解析,得到待同步数据关联的至少一个目标表;若判断至少一个目标表存在,则确定待同步数据关联的至少一个目标表的主键和唯一键;根据至少一个目标表的主键和唯一键,以及待同步数据,从本地查询待同步数据,并根据查询结果,将待同步数据同步至本地数据库。
可选的,该装置还包括:
同步数据校验模块,用于在接收数据提供方发送的待同步数据文件之后,基于预设的校验配置信息,对待同步数据文件进行校验;
校验反馈信息反馈模块,用于在校验结果为不通过的情况下,向数据提供方发送校验反馈信息,并终止对待同步数据的同步;其中,校验反馈信息包括数据接收成功和同步终止信息。
可选的,该装置还包括:
同步数据处理模块,用于基于预设的后处理配置信息中的后处理方式,对待同步数据进行处理;
同步结果确定模块,用于根据处理过程的异常情况,确定对待同步数据的同步结果。
本发明实施例所提供的数据同步装置可执行本发明任意实施例所提供的数据同步方法,具备执行各数据同步方法相应的功能模块和有益效果。
实施例六
图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM12以及RAM13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据同步方法。
在一些实施例中,数据同步方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM13并由处理器11执行时,可以执行上文描述的数据同步方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据同步方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (13)
1.一种数据同步方法,其特征在于,应用于数据提供方,包括:
确定待同步数据任务和所述待同步数据任务对应的数据同步配置信息;
根据所述数据同步配置信息,从所述数据提供方本地中确定待同步数据;
对所述待同步数据进行处理,得到待同步数据文件;
基于预设的数据发送方式,将所述待同步数据文件发送给数据接收方,以供所述数据接收方根据所述待同步数据文件进行数据同步。
2.根据权利要求1所述的方法,其特征在于,所述数据同步配置信息包括数据同步类型、待同步数据关联的至少一个源表、数据提取顺序和所述源表对应的数据提取方式;
相应的,所述根据所述数据同步配置信息,从所述数据提供方本地中确定待同步数据,包括:
确定所述数据同步类型对应待同步数据关联的至少一个源表、数据提取顺序和所述源表对应的数据提取方式;
按照数据提取顺序,依次采用至少一个源表对应的数据提取方式,从至少一个源表中提取待同步数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
获取所述数据接收方对所述待同步数据文件的响应结果;
根据所述响应结果,对所述待同步数据任务的任务状态进行更新。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取所述数据接收方对所述待同步数据的同步结果;
根据所述同步结果,对所述待同步数据任务的任务状态进行更新。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述同步结果为同步成功,则基于预设的后处理配置信息中的后处理方式,对所述待同步数据进行处理。
6.一种数据同步方法,其特征在于,应用于数据接收方,包括:
接收数据提供方发送的待同步数据文件;
对所述待同步数据文件进行解析,得到待同步数据;
将所述待同步数据同步至本地数据库。
7.根据权利要求6所述的方法,其特征在于,所述对所述待同步数据文件进行解析,得到待同步数据,包括:
对所述待同步数据文件进行解析,得到待同步数据关联的至少一个目标表;
若判断所述至少一个目标表存在,则确定所述待同步数据关联的至少一个目标表的主键和唯一键;
根据所述至少一个目标表的主键和唯一键,以及所述待同步数据,从本地查询所述待同步数据,并根据查询结果,将所述待同步数据同步至本地数据库。
8.根据权利要求6所述的方法,其特征在于,在所述接收数据提供方发送的待同步数据文件之后,还包括:
基于预设的校验配置信息,对所述待同步数据文件进行校验;
在校验结果为不通过的情况下,向所述数据提供方发送校验反馈信息,并终止对所述待同步数据的同步;其中,所述校验反馈信息包括数据接收成功和同步终止信息。
9.根据权利要求6所述的方法,其特征在于,还包括:
基于预设的后处理配置信息中的后处理方式,对所述待同步数据进行处理;
根据处理过程的异常情况,确定对所述待同步数据的同步结果。
10.一种数据同步装置,其特征在于,配置于数据提供方,包括:
配置信息确定模块,用于确定待同步数据任务和所述待同步数据任务对应的数据同步配置信息;
待同步数据确定模块,用于根据所述数据同步配置信息,从所述数据提供方本地中确定待同步数据;
数据文件确定模块,用于对所述待同步数据进行处理,得到待同步数据文件;
数据文件发送模块,用于基于预设的数据发送方式,将所述待同步数据文件发送给数据接收方,以供所述数据接收方根据所述待同步数据文件进行数据同步。
11.一种数据同步装置,其特征在于,配置于数据接收方,包括:
数据文件接收模块,用于接收数据提供方发送的待同步数据文件;
待同步数据确定模块,用于对所述待同步数据文件进行解析,得到待同步数据;
待同步数据同步模块,用于将所述待同步数据同步至本地数据库。
12.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的数据同步方法,和/或,权利要求6-9中任一项所述的数据同步方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的数据同步方法,和/或,权利要求6-9中任一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311034836.9A CN116756246A (zh) | 2023-08-17 | 2023-08-17 | 一种数据同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311034836.9A CN116756246A (zh) | 2023-08-17 | 2023-08-17 | 一种数据同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116756246A true CN116756246A (zh) | 2023-09-15 |
Family
ID=87948159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311034836.9A Pending CN116756246A (zh) | 2023-08-17 | 2023-08-17 | 一种数据同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756246A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722394A (zh) * | 2021-08-17 | 2021-11-30 | 北京百悟科技有限公司 | 数据同步方法、设备及存储介质 |
CN113868228A (zh) * | 2021-09-29 | 2021-12-31 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、设备及计算机可读存储介质 |
CN114020840A (zh) * | 2021-10-29 | 2022-02-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、服务器、存储介质及产品 |
-
2023
- 2023-08-17 CN CN202311034836.9A patent/CN116756246A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722394A (zh) * | 2021-08-17 | 2021-11-30 | 北京百悟科技有限公司 | 数据同步方法、设备及存储介质 |
CN113868228A (zh) * | 2021-09-29 | 2021-12-31 | 北京沃东天骏信息技术有限公司 | 一种数据同步方法、装置、设备及计算机可读存储介质 |
CN114020840A (zh) * | 2021-10-29 | 2022-02-08 | 建信金融科技有限责任公司 | 一种数据处理方法、装置、服务器、存储介质及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019195121A1 (en) | Digital worker management system | |
CN112214411B (zh) | 一种容灾系统测试方法、装置、设备及存储介质 | |
EP3920500A1 (en) | Method and apparatus for verifying operation state of application | |
CN112269706B (zh) | 接口参数校验方法、装置、电子设备以及计算机可读介质 | |
CN114328132A (zh) | 外部数据源的状态监控方法、装置、设备和介质 | |
CN115757616A (zh) | 一种基于二进制日志的数据一致性校验方法、装置及介质 | |
US20220129418A1 (en) | Method for determining blood relationship of data, electronic device and storage medium | |
CN111767296A (zh) | 用于同步数据的方法、装置、电子设备及可读存储介质 | |
CN114328739A (zh) | 数据同步、读取方法及装置、电子设备、存储介质及产品 | |
CN116756246A (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN111694686B (zh) | 一种异常服务的处理方法、装置、电子设备及存储介质 | |
CN115408111A (zh) | 数据库脚本管控方法、系统、设备、存储介质及程序产品 | |
CN113079046A (zh) | 数据接入方法及装置、电子设备和介质 | |
CN112732728A (zh) | 一种数据同步方法和系统 | |
CN115529271B (zh) | 业务请求分发方法、装置、设备及介质 | |
CN117807159A (zh) | 一种数据同步方法、装置、设备以及存储介质 | |
CN116610724B (zh) | 一种日志数据追踪方法、装置、电子设备和存储介质 | |
CN116301869B (zh) | 前端页面配置管控系统、方法、设备、介质 | |
CN112860780B (zh) | 数据导出方法、装置和终端设备 | |
CN115907358B (zh) | 待办任务的处理方法、装置、系统及电子设备 | |
CN115658026A (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN115118787A (zh) | 一种服务控制方法、系统、存储介质及电子设备 | |
CN115904584A (zh) | 一种应用的多语言切换方法、装置、设备和存储介质 | |
CN117009363A (zh) | 一种业务数据对接方法、装置、电子设备和存储介质 | |
CN118349607A (zh) | 一种数据同步方法、系统、装置、设备、存储介质及产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230915 |
|
RJ01 | Rejection of invention patent application after publication |