本申请涉及数据处理,具体涉及一种异构数据库间数据同步的实现方法及装置、电子设备。
背景技术:
1、随着企业信息技术和计算机网络技术的飞速发展,企业内部的信息系统也越来越多。但由于信息系统建立的时间和应用的目标不同,因此这些系统及底层的数据库通常比较独立,保证分布数据之间的一致性已经成为当前迫切的需要。
2、目前可通过图1示出的数据库间进行同步的架构实现同构数据库之间的数据同步,但无法实现异构数据库之间的数据同步。尽管部分厂商研发出的etl(extract-transform-load,抽取-转换-加载)工具在一定程度上完善了异构数据库同步复制的功能,但在使用过程中etl工具仍需要理解两端数据库的物理模型,导致维护成本较高,且需要获取两端数据库的读写权限。
技术实现思路
1、为解决上述技术问题,本申请的实施例提供了一种异构数据库间数据同步的实现方法及装置、电子设备、存储介质。
2、根据本申请实施例的一个方面,提供了一种异构数据库间数据同步方法,包括:获取所述源端数据库中的物理变更数据,所述物理变更数据是通过对所述源端数据库中的原始信息进行语义化处理所获得的、且表征所述源端数据库中数据的物理变化的信息;根据所述物理变更数据确定目标分发方式,所述目标分发方式包括实时分发方式、准实时分发方式或者离线分发方式;根据所述目标分发方式将所述物理变更数据发送至目标端服务器;其中,所述目标端服务器中安装有目标端数据库。
3、根据本申请实施例的一个方面,所述根据所述物理变更数据确定目标分发方式,包括:若所述物理变更数据的数据量参数小于预设第一阈值,则确定所述目标分发方式为实时分发方式;若所述物理变更数据的数据量参数处于所述预设第一阈值与预设第二阈值之间,则确定所述目标分发方式为准实时分发方式;若所述物理变更数据的数据量参数大于所述预设第二阈值,则确定所述目标分发方式为离线分发方式。
4、根据本申请实施例的一个方面,所述根据所述目标分发方式将所述物理变更数据发送至目标端服务器,包括:若所述目标分发方法为所述实时分发方式,则通过调用所述目标端服务器的预设接口,将所述物理变更数据发送至所述目标端服务器;若所述目标分发方式为所述准实时分发方式,则将所述物理变更数据通过消息队列传递至所述目标端服务器;若所述目标分发方式为所述离线分发方式,则将所述物理变更数据下发到预分配的文件服务器上,以使所述目标端服务器通过预设接口向所述文件服务器拉取所述物理变更数据。
5、根据本申请实施例的一个方面,所述方法还包括:若所述目标分发方法为所述离线分发方式,且所述物理变更数据的数据量参数大于预设第三阈值,则对所述物理变更数据所处文件进行拆分,并对拆分得到的多个子文件分配对应的序列号;其中,所述预设第三阈值大于所述预设第二阈值。
6、根据本申请实施例的一个方面,所述根据所述目标分发方式将所述物理变更数据发送至目标端服务器,还包括:根据所述目标分发方式打包所述物理变更数据中的索引信息和实例数据;对打包后的索引信息和实例数据进行加密处理,得到加密数据;按照所述目标分发方式将所述加密数据发送至所述目标端服务器。
7、根据本申请实施例的一个方面,所述方法还包括:实时监控所述物理变更数据的分发记录和处理结果;若所述物理变更数据的分发记录和/或处理结果产生异常,则进行所述物理变更数据的重传处理;若所述物理变更数据的重传处理次数超过预设的次数阈值,则进行告警通知处理。
8、根据本申请实施例的一个方面,所述方法还包括:接收源端服务器以目标分发方式发送的物理变更数据;其中,所述物理变更数据是所述源端服务器通过对所述源端数据库中的原始信息进行语义化处理所获得的、且表征所述源端数据库中数据的物理变化的信息,所述目标分发方式包括实时分发方式、准实时分发方式或者离线分发方式;根据与所述目标分发方式相匹配的处理策略将物理变更数据转化为所述目标端数据库的逻辑命令并进行落盘处理。
9、根据本申请实施例的一个方面,所述方法还包括:若所述目标分发方法为所述实时分发方式,所述目标端服务器通过预设接口接收所述物理变更数据,并基于所述预设接口将处理结果返回;若所述目标分发方法为所述准实时分发方式,所述目标端服务器通过配置的消息队列获取所述物理变更数据,并手动重置消息队列的消费确认信号将处理结果返回;若所述目标分发方法为所述离线分发方式,所述目标端服务器从文件服务器中离线获取包含所述物理变更数据的文件,并通过回调链接的方式将处理结果返回。
10、根据本申请实施例的一个方面,提供了一种异构数据库间数据同步的实现装置,包括:变更捕捉模块,用于获取所述源端数据库中的物理变更数据,所述物理变更数据是通过对所述源端数据库中的原始信息进行语义化处理所获得的、且表征所述源端数据库中数据的物理变化的信息;目标分发方式确定模块,用于根据所述物理变更数据确定目标分发方式,所述目标分发方式包括实时分发方式、准实时分发方式或者离线分发方式;分发模块,用于根据所述目标分发方式将所述物理变更数据发送至目标端服务器;其中,所述目标端服务器中安装有目标端数据库。
11、根据本申请实施例的一个方面,提供了一种异构数据库间数据同步的实现装置,还包括:接收模块,用于接收源端服务器以目标分发方式发送的物理变更数据;其中,所述物理变更数据是所述源端服务器通过对所述源端数据库中的原始信息进行语义化处理所获得的、且表征所述源端数据库中数据的物理变化的信息,所述目标分发方式包括实时分发方式、准实时分发方式或者离线分发方式;落盘处理模块,用于根据与所述目标分发方式相匹配的处理策略将物理变更数据转化为所述目标端数据库的逻辑命令并进行落盘处理。
12、根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的异构数据库间数据同步的实现方法。
13、根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的异构数据库间数据同步的实现方法。
14、在本申请的实施例所提供的技术方案中,通过对源端数据库中的原始信息进行语义化处理,获得表征源端数据库中数据产生物理变化的物理变更数据,然后根据物理变更数据确定目标分发方式,并根据所确定的目标分发方式将物理变更数据发送至目标端服务器,这相当于是实现了两端数据库管理系统之上的应用层通路,从而无需使用etl工具来实现源端数据库和目标端数据库之间的数据同步,进而无需理解两端数据库的物理模型,也无需获取两端数据库的读写权限,降低了数据同步的维护成本。
15、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种异构数据库间数据同步的实现方法,其特征在于,应用于源端服务器,所述源端服务器中安装有源端数据库,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述物理变更数据确定目标分发方式,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标分发方式将所述物理变更数据发送至目标端服务器,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述目标分发方式将所述物理变更数据发送至目标端服务器,还包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种异构数据库间数据同步的实现方法,其特征在于,应用于目标端服务器,所述目标端服务器中安装有目标端数据库,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种异构数据库间数据同步的实现装置,其特征在于,所述装置包括:
10.一种异构数据库间数据同步的实现装置,其特征在于,所述装置还包括: