CN109634970B - 表数据同步方法、设备、存储介质及装置 - Google Patents
表数据同步方法、设备、存储介质及装置 Download PDFInfo
- Publication number
- CN109634970B CN109634970B CN201811226777.4A CN201811226777A CN109634970B CN 109634970 B CN109634970 B CN 109634970B CN 201811226777 A CN201811226777 A CN 201811226777A CN 109634970 B CN109634970 B CN 109634970B
- Authority
- CN
- China
- Prior art keywords
- data
- table data
- target
- synchronized
- synchronization
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000001360 synchronised effect Effects 0.000 claims abstract description 156
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 9
- 230000004927 fusion Effects 0.000 description 8
- 238000007405 data analysis Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种表数据同步方法、设备、存储介质及装置,该方法包括:从源数据库中获取多个待同步表数据;将待同步表数据同步至预设同步工具的节点中;设置预设同步工具中的业务类型,并建立业务类型与各节点之间的对应关系;接收同步指令,从同步指令中提取出目标业务类型;通过预设同步工具查找与目标业务类型对应的目标节点,获取目标节点中的目标表数据,将目标表数据同步至目标业务类型对应的目标系统。对于多个业务线需要的同一个表数据,可通过业务类型与节点之间的对应关系,调用同一个节点中的待同步表数据,无需在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步,从而减少工作量,降低后期维护难度。
Description
技术领域
本发明涉及数据同步技术领域,尤其涉及一种表数据同步方法、设备、存储介质及装置。
背景技术
目前,表数据同步通常采用Kettle(水壶)工具,使用Kettle进行表数据同步时,如果存在多条业务线的表数据需要进行同步,即使多条业务线存在部分共同需要的表数据,在进行表数据同步时,每条业务线都需要在Kettle中建立对应的任务(JOB),对于多条业务线都会涉及到多张相同的表数据,需要重复在各自对应的JOB中设置节点进行同步,比如70个表数据是5条业务线共同需要的,则每条业务线的JOB都需要重复写这70个表数据的节点,就需要写350个节点。这些表数据在下游需要同步数据时,查询的条件只是业务线不同。350个节点对应的350个表数据,存在大量重复的表数据,工程量较大,不利于后期的维护。因此,如何减少表数据同步时的工作量,提高同步效率是亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种表数据同步方法、设备、存储介质及装置,旨在解决现有技术中表数据同步时工作量大、效率低的技术问题。
为实现上述目的,本发明提供一种表数据同步方法,所述表数据同步方法包括以下步骤:
从源数据库中获取多个待同步表数据;
将所述待同步表数据同步至预设同步工具的节点中;
设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系;
接收同步指令,从所述同步指令中提取出目标业务类型;
通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
优选地,所述设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系,包括:
对所述待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系;
设置所述预设同步工具中的业务类型,根据各待同步表数据与各业务类型之间的对应关系建立所述业务类型与各节点之间的对应关系。
优选地,所述从源数据库中获取多个待同步表数据,包括:
从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳;
获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
优选地,所述获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据,包括:
将所述上次表数据同步时间戳减去预设回滚时间段,获得待同步时间戳;
获取当前时刻,从源数据库中获取所述待同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
优选地,所述从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳之前,所述表数据同步方法还包括:
对源数据库进行监测,当监测到数据变化时,获取变化数据并存放至时间戳记录表中。
优选地,所述接收同步指令,从所述同步指令中提取出目标业务类型之前,所述表数据同步方法还包括:
获取各节点中所述上次表数据同步时间戳至所述当前时刻的已同步数据,并获取源数据库中所述上次表数据同步时间戳至所述当前时刻的待同步数据对应的源备份数据,所述已同步数据包括所述待同步表数据和节点中存储的原有数据;
将所述已同步数据与所述源备份数据进行比对,获得比对结果;
根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据;
所述通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统,包括:
通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的已修正表数据作为目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
优选地,所述通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统之后,所述表数据同步方法还包括:
从所述目标表数据中提取出所述目标产品类型对应业务数据;
根据所述业务数据制作所述目标产品类型对应的产出报表。
此外,为实现上述目的,本发明还提出一种表数据同步设备,所述表数据同步设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表数据同步程序,所述表数据同步程序配置为实现如上文所述的表数据同步方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有表数据同步程序,所述表数据同步程序被处理器执行时实现如上文所述的表数据同步方法的步骤。
此外,为实现上述目的,本发明还提出一种表数据同步装置,所述表数据同步装置包括:
获取模块,用于从源数据库中获取多个待同步表数据;
同步模块,用于将所述待同步表数据同步至预设同步工具的节点中;
建立模块,用于设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系;
接收模块,用于接收同步指令,从所述同步指令中提取出目标业务类型;
所述同步模块,还用于通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
本发明中,从源数据库中获取多个待同步表数据,将待同步表数据同步至预设同步工具的节点中,设置预设同步工具中的业务类型,并建立业务类型与各节点之间的对应关系,对于多个业务线需要的同一个表数据,可通过业务类型与节点之间的对应关系,将同一个表数据同时关联上对应的多个业务类型,而无需在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步;接收同步指令,从同步指令中提取出目标业务类型;通过预设同步工具查找与目标业务类型对应的目标节点,获取目标节点中的目标表数据,将所述目标表数据同步至所述目标业务类型对应的目标系统。对于多个业务线需要的同一个表数据,调用同一个节点中的待同步表数据,在满足业务需求的同时减少工作量,降低后期维护难度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的表数据同步设备的结构示意图;
图2为本发明表数据同步方法第一实施例的流程示意图;
图3为本发明表数据同步方法第二实施例的流程示意图;
图4为本发明表数据同步方法第三实施例的流程示意图;
图5为本发明表数据同步装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的表数据同步设备结构示意图。
如图1所示,该表数据同步设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对表数据同步设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及表数据同步程序。
在图1所示的表数据同步设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述表数据同步设备通过处理器1001调用存储器1005中存储的表数据同步程序,并执行本发明实施例提供的表数据同步方法。
基于上述硬件结构,提出本发明表数据同步方法的实施例。
参照图2,图2为本发明表数据同步方法第一实施例的流程示意图,提出本发明表数据同步方法第一实施例。
在第一实施例中,所述表数据同步方法包括以下步骤:
步骤S10:从源数据库中获取多个待同步表数据。
应理解的是,本实施例的执行主体是所述表数据同步设备,其中,所述表数据同步设备可为个人电脑或服务器等电子设备。通常所述源数据库中存放了大量的表数据,供不同业务线进行相关数据分析时获取,比如,从源数据库中获取70个所述待同步表数据。各种表数据中的数据会因为业务的进展而相应有数据更新,通常需要对所述源数据库中的各表数据进行周期性的同步,以供各业务线进行相关数据分析,比如根据所述待同步表数据进行报表产出分析。所述待同步表数据为各业务线进行业务分析时需求的表数据,所述业务线即业务类型,包括信用卡、零售、小微、汽融和壹帐通等。
步骤S20:将所述待同步表数据同步至预设同步工具的节点中。
可理解的是,所述预设同步工具为Kettle(水壶),Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux或Unix上运行,数据抽取高效稳定。Kettle中通过脚本文件JOB完成整个工作流的控制。Kettle新建JOB,定义整个功能的流程,JOB中会包含很多小的节点,一个所述待同步表数据要对应一个节点,而每一个所述待同步表数据来源是数据库。比如,催收系统中是有5条业务线/业务类型,下游需要区分业务线来获取与业务线分别对应的待同步表数据,为了使得下游通过Kettle查询到需求的待同步表数据,需要根据业务类型进行查询。
步骤S30:设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系。
需要说明的是,为了避免多个业务线需要的同一个表数据,在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步,可通过在所述预设同步工具中设置业务类型,所述业务类型包括信用卡、零售、小微、汽融和壹帐通等。可对各待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系,从而建立所述预设同步工具中的业务类型与各节点之间的对应关系,将多个业务类型需求的同一个待同步表数据同时关联上对应的多个业务类型,则在下游不同业务类型进行数据获取时,可根据业务类型与各节点之间的对应关系,通过调用同一个节点获取同一个待同步表数据。
进一步地,在本实施例中,所述步骤S30,包括:
对所述待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系;
设置所述预设同步工具中的业务类型,根据各待同步表数据与各业务类型之间的对应关系建立所述业务类型与各节点之间的对应关系。
可理解的是,可预先对所述待同步表数据的内容进行分析,判断各待同步表数据与哪些业务类型相关,从而梳理出各待同步表数据与各业务类型之间的对应关系,在所述预设同步工具中设置业务类型,则可根据各节点中同步的待同步表数据与业务类型之间的对应关系建立各业务类型与各节点之间的对应关系。
步骤S40:接收同步指令,从所述同步指令中提取出目标业务类型。
在具体实现中,所述同步指令通常为下游各业务线的下游系统发送的同步所述Kettle中的各节点中的待同步表数据的请求指令,每条业务线发送的所述同步指令中包括所属的所述目标业务类型,则可从所述同步指令中提取出所述目标业务类型,根据所述目标业务类型从所述Kettle中获取关联的待同步表数据。比如,信用卡业务线发送的同步指令,则可从所述同步指令中提取出所述目标业务类型为信用卡,则在所述Kettle中查找与所述信用卡的业务类型相关联的待同步数据。
步骤S50:通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
应理解的是,所述待同步表数据通过Kettle同步至Kettle中的各节点中,并建立了各业务类型与各节点之间的对应关系,则可通过所述目标类型查找到对应的目标节点,获取已经同步至所述目标节点中的待同步表数据,则是所述目标类型对应的所述目标表数据。所述目标系统为所述目标业务类型对应的下游系统,所述目标系统根据所述目标表数据制作相应的报表。比如,信用卡、零售、小微、汽融和壹帐通五个业务类型都需要待同步表数据a、b、c和d,则在Kettle中建立了信用卡、零售、小微、汽融和壹帐通五个业务类型与节点A、B、C和D之间的对应关系,所述节点A、B、C和D中分别存放待同步表数据a、b、c和d,在所述目标业务类型为信用卡时,则查找到与信用卡对应的目标节点为节点A、B、C和D,则获取所述节点A、B、C和D中的所述待同步表数据a、b、c和d,以满足信用卡业务线的数据分析需求。
本实施例中,从源数据库中获取多个待同步表数据,将待同步表数据同步至预设同步工具的节点中,设置预设同步工具中的业务类型,并建立业务类型与各节点之间的对应关系,对于多个业务线需要的同一个表数据,可通过业务类型与节点之间的对应关系,将同一个表数据同时关联上对应的多个业务类型,而无需在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步;接收同步指令,从同步指令中提取出目标业务类型;通过预设同步工具查找与目标业务类型对应的目标节点,并获取目标节点中的目标表数据。对于多个业务线需要的同一个表数据,调用同一个节点中的待同步表数据,在满足业务需求的同时减少工作量,降低后期维护难度。
参照图3,图3为本发明表数据同步方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明表数据同步方法的第二实施例。
在第二实施例中,所述步骤S10,包括:
步骤S101:从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳。
可理解的是,为了记录所述源数据库中每次的数据变化,可建立所述时间戳记录表,用于记录所述源数据库中每次发生数据变化的时间戳及对应的变化数据。为了区分每次进行数据同步的被同步数据及时间,在每次从源数据库中获取多个待同步表数据进行数据同步时,记录对应的同步时间戳,并存放至所述时间戳记录表中,所述时间戳记录表存放至所述源数据库中。
步骤S102:获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
应理解的是,由于每隔段时间都会将所述源数据库中的数据同步至所述Kettle中,无需每次都进行全部数据的同步,只需将上次表数据同步时间戳以后的变化数据进行同步,则可获取所述当前时刻,将所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据,进行数据同步,将所述当前时刻作为本次同步表数据时间戳进行记录,并将所述本次同步表数据时间戳存储至所述源数据库中的所述时间戳记录表中。
进一步地,在本实施例中,所述步骤S102,包括:
将所述上次表数据同步时间戳减去预设回滚时间段,获得待同步时间戳;
获取当前时刻,从源数据库中获取所述待同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
需要说明的是,为了避免在本次同步完成后在所述源数据库中仍然有时间戳为所述上次表数据同步时间戳的新数据,那么在下一次同步时,就会出现异常,采用大于时间戳的方式同步就会遗漏数据,采用等于时间戳的方式同步就会重复同步数据。为了能够在本次进行同步时,将出现在所述上次表数据同步时间戳的新数据也进行获取,则将所述上次表数据同步时间戳减去预设回滚时间段,获得待同步时间戳,则所述待同步时间戳至所述当前时刻的多个变化数据包括在所述上次表数据同步时间戳的新数据。
本实施例中,在所述步骤S101之前,还包括:
对源数据库进行监测,当监测到数据变化时,获取变化数据并存放至时间戳记录表中。
在具体实现中,可在所述源数据库中建立所述时间戳记录表,对所述源数据库进行监测,可通过在所述源数据库中建立增删改的触发器,若所述源数据库中发生数据变化,所述数据变化包括数据的增加、删除和修改,则触动所述触发器,获取变化数据,并将所述变化数据存放至所述时间戳记录表中。
本实施例中,从时间戳记录表中获取上次表数据同步时间戳,获取当前时刻,从源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据,无需每次都进行全部数据的同步,只需将上次表数据同步时间戳以后的变化数据进行同步,提高数据同步效率。
参照图4,图4为本发明表数据同步方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明表数据同步方法的第三实施例。
在第三实施例中,在所述步骤S40之前,还包括:
步骤S301:获取各节点中所述上次表数据同步时间戳至所述当前时刻的已同步数据,并获取源数据库中所述上次表数据同步时间戳至所述当前时刻的待同步数据对应的源备份数据,所述已同步数据包括所述待同步表数据和节点中存储的原有数据。
应理解的是,为了避免所述源数据库中的变化数据在同步时出现遗漏,也为了避免所述源数据库中的变化数据统计存在错误,导致同步的待同步数据存在错误的情况发生,在通过Kettle同步所述待同步数据之后,获取Kettle中各节点中本次进行同步的已同步数据,再获取所述源数据库中本次同步的待同步数据在所述源数据库中对应的源备份数据,所述待同步数据通常为变化数据,对应的所述源备份数据则是经过更新的完整表数据,将所述已同步数据与所述源备份数据进行比较,从而判断数据同步是否正确。
步骤S302:将所述已同步数据与所述源备份数据进行比对,获得比对结果。
可理解的是,所述已同步数据即所述节点中进行同步之后存储的数据,所述源备份数据即被同步的数据的完整初始数据,将所述已同步数据与所述源备份数据进行比对,从而能够判断是否将源数据库中的数据完整进行同步。比如,节点A原来存储原有数据m,同步新增待同步数据n,节点A中的所述已同步数据为所述原有数据m和所述新增待同步数据n,源数据库中所述待同步数据为新增待同步数据n,新增待同步数据n对应的源备份数据为k,通常所述源备份数据也是由源数据路中的原有数据m经过新增待同步数据n而获得,则将所述已同步数据与源备份数据k进行比较,若一致,说明数据同步过程正常,源数据库中的数据被完整同步至Kettle中。
步骤S303:根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据。
需要说明的是,若所述比对结果为所述已同步数据与所述源备份数据不一致,说明进行同步之后的各节点中的数据与源数据库中的数据存在差异,则需要对所述已同步数据进行删除、新增或修改操作,以使所述已同步数据与所述源数据库中的数据一致。
本实施例中,所述步骤S50,包括:
步骤S501:通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的已修正表数据作为目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
应理解的是,所述待同步表数据通过Kettle同步至Kettle中的各节点中,并建立了各业务类型与各节点之间的对应关系,则可通过所述目标类型查找到对应的目标节点,各节点中的原有数据和已经同步至各节点的所述待同步表数据构成各节点中的所述已同步数据,根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据,则可从所述目标节点中获取所述已修正表数据,即是所述目标类型对应的所述目标表数据,所述目标系统为所述目标业务类型对应的下游系统,将所述目标表数据同步至所述目标系统,则所述目标系统根据所述目标表数据制作相应的报表。
本实施例中,所述步骤S501之后,还包括:
从所述目标表数据中提取出所述目标产品类型对应业务数据;
根据所述业务数据制作所述目标产品类型对应的产出报表。
在具体实现中,通常多个业务要求都需要的目标表数据中存储有各类型相应的数据,为了满足所述目标产品类型的业务需求,可从所述目标表数据中提取出与所述目标产品类型对应的业务数据,可通过对所述目标表数据进行遍历,将遍历到与所述目标产品类型相关的业务数据进行提取,从而可根据提取出的业务数据制作所述目标产品类型对应的产出报表,以满足业务需求。
本实施例中,获取各节点中所述上次表数据同步时间戳至所述当前时刻的已同步数据,并获取源数据库中所述上次表数据同步时间戳至所述当前时刻的待同步数据对应的源备份数据,将所述已同步数据与所述源备份数据进行比对,获得比对结果,根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据,根据所述比对结果对所述已同步数据进行删除、新增或修改操作,避免所述源数据库中的变化数据在同步时出现遗漏或错误,保证同步之后的数据与源数据库中的数据的一致性,提高同步数据的准确率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有表数据同步程序,所述表数据同步程序被处理器执行时实现如上文所述的表数据同步方法的步骤。
此外,参照图5,本发明实施例还提出一种表数据同步装置,所述表数据同步装置包括:
获取模块10,用于从源数据库中获取多个待同步表数据;
同步模块20,用于将所述待同步表数据同步至预设同步工具的节点中;
建立模块30,用于设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系;
接收模块40,用于接收同步指令,从所述同步指令中提取出目标业务类型;
所述同步模块20,还用于通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
应理解的是,通常所述源数据库中存放了大量的表数据,供不同业务线进行相关数据分析时获取,比如,从源数据库中获取70个所述待同步表数据。各种表数据中的数据会因为业务的进展而相应有数据更新,通常需要对所述源数据库中的各表数据进行周期性的同步,以供各业务线进行相关数据分析,比如根据所述待同步表数据进行报表产出分析。所述待同步表数据为各业务线进行业务分析时需求的表数据,所述业务线即业务类型,包括信用卡、零售、小微、汽融和壹帐通等。
可理解的是,所述预设同步工具为Kettle(水壶),Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux或Unix上运行,数据抽取高效稳定。Kettle中通过脚本文件JOB完成整个工作流的控制。Kettle新建JOB,定义整个功能的流程,JOB中会包含很多小的节点,一个所述待同步表数据要对应一个节点,而每一个所述待同步表数据来源是数据库。比如,催收系统中是有5条业务线/业务类型,下游需要区分业务线来获取与业务线分别对应的待同步表数据,为了使得下游通过Kettle查询到需求的待同步表数据,需要根据业务类型进行查询。
需要说明的是,为了避免多个业务线需要的同一个表数据,在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步,可通过在所述预设同步工具中设置业务类型,所述业务类型包括信用卡、零售、小微、汽融和壹帐通等。可对各待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系,从而建立所述预设同步工具中的业务类型与各节点之间的对应关系,将多个业务类型需求的同一个待同步表数据同时关联上对应的多个业务类型,则在下游不同业务类型进行数据获取时,可根据业务类型与各节点之间的对应关系,通过调用同一个节点获取同一个待同步表数据。
本实施例中,所述设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系,包括:
对所述待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系;
设置所述预设同步工具中的业务类型,根据各待同步表数据与各业务类型之间的对应关系建立所述业务类型与各节点之间的对应关系。
可理解的是,可预先对所述待同步表数据的内容进行分析,判断各待同步表数据与哪些业务类型相关,从而梳理出各待同步表数据与各业务类型之间的对应关系,在所述预设同步工具中设置业务类型,则可根据各节点中同步的待同步表数据与业务类型之间的对应关系建立各业务类型与各节点之间的对应关系。
在具体实现中,所述同步指令通常为下游各业务线的下游系统发送的同步所述Kettle中的各节点中的待同步表数据的请求指令,每条业务线发送的所述同步指令中包括所属的所述目标业务类型,则可从所述同步指令中提取出所述目标业务类型,根据所述目标业务类型从所述Kettle中获取关联的待同步表数据。比如,信用卡业务线发送的同步指令,则可从所述同步指令中提取出所述目标业务类型为信用卡,则在所述Kettle中查找与所述信用卡的业务类型相关联的待同步数据。
应理解的是,所述待同步表数据通过Kettle同步至Kettle中的各节点中,并建立了各业务类型与各节点之间的对应关系,则可通过所述目标类型查找到对应的目标节点,获取已经同步至所述目标节点中的待同步表数据,则是所述目标类型对应的所述目标表数据。所述目标系统为所述目标业务类型对应的下游系统,所述目标系统根据所述目标表数据制作相应的报表。比如,信用卡、零售、小微、汽融和壹帐通五个业务类型都需要待同步表数据a、b、c和d,则在Kettle中建立了信用卡、零售、小微、汽融和壹帐通五个业务类型与节点A、B、C和D之间的对应关系,所述节点A、B、C和D中分别存放待同步表数据a、b、c和d,在所述目标业务类型为信用卡时,则查找到与信用卡对应的目标节点为节点A、B、C和D,则获取所述节点A、B、C和D中的所述待同步表数据a、b、c和d,以满足信用卡业务线的数据分析需求。
本实施例中,从源数据库中获取多个待同步表数据,将待同步表数据同步至预设同步工具的节点中,设置预设同步工具中的业务类型,并建立业务类型与各节点之间的对应关系,对于多个业务线需要的同一个表数据,可通过业务类型与节点之间的对应关系,将同一个表数据同时关联上对应的多个业务类型,而无需在预设同步工具中设置多个节点对多个业务线需要的同一个表数据进行重复同步;接收同步指令,从同步指令中提取出目标业务类型;通过预设同步工具查找与目标业务类型对应的目标节点,并获取目标节点中的目标表数据。对于多个业务线需要的同一个表数据,调用同一个节点中的待同步表数据,在满足业务需求的同时减少工作量,降低后期维护难度。
在一实施例中,所述表数据同步装置还包括:
分析模块,用于对所述待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系;
所述建立模块30,还用于设置所述预设同步工具中的业务类型,根据各待同步表数据与各业务类型之间的对应关系建立所述业务类型与各节点之间的对应关系。
在一实施例中,所述获取模块10,还用于从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳;
所述获取模块10,还用于获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
在一实施例中,所述表数据同步装置还包括:
计算模块,用于将所述上次表数据同步时间戳减去预设回滚时间段,获得待同步时间戳;
所述获取模块10,还用于获取当前时刻,从源数据库中获取所述待同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
在一实施例中,所述表数据同步装置还包括:
监测模块,用于对源数据库进行监测,当监测到数据变化时,获取变化数据并存放至时间戳记录表中。
在一实施例中,所述获取模块10,还用于获取各节点中所述上次表数据同步时间戳至所述当前时刻的已同步数据,并获取源数据库中所述上次表数据同步时间戳至所述当前时刻的待同步数据对应的源备份数据,所述已同步数据包括所述待同步表数据和节点中存储的原有数据;
所述表数据同步装置还包括:
比对模块,用于将所述已同步数据与所述源备份数据进行比对,获得比对结果;
调整模块,用于根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据;
所述同步模块20,还用于通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的已修正表数据作为目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统;。
在一实施例中,所述表数据同步装置还包括:
提取模块,用于从所述目标表数据中提取出所述目标产品类型对应业务数据;
制作模块,用于根据所述业务数据制作所述目标产品类型对应的产出报表。
本发明所述表数据同步装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种表数据同步方法,其特征在于,所述表数据同步方法包括以下步骤:
从源数据库中获取多个待同步表数据;
将所述待同步表数据同步至预设同步工具的节点中;
设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系;
接收同步指令,从所述同步指令中提取出目标业务类型;
通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统,所述目标表数据为同步至所述目标节点中的所述待同步表数据;
所述从源数据库中获取多个待同步表数据,包括:
从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳;
获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
2.如权利要求1所述的表数据同步方法,其特征在于,所述设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系,包括:
对所述待同步表数据进行分析,获得各待同步表数据与各业务类型之间的对应关系;
设置所述预设同步工具中的业务类型,根据各待同步表数据与各业务类型之间的对应关系建立所述业务类型与各节点之间的对应关系。
3.如权利要求1所述的表数据同步方法,其特征在于,所述获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据,包括:
将所述上次表数据同步时间戳减去预设回滚时间段,获得待同步时间戳;
获取当前时刻,从源数据库中获取所述待同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
4.如权利要求3所述的表数据同步方法,其特征在于,所述从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳之前,所述表数据同步方法还包括:
对源数据库进行监测,当监测到数据变化时,获取变化数据并存放至时间戳记录表中。
5.如权利要求1所述的表数据同步方法,其特征在于,所述接收同步指令,从所述同步指令中提取出目标业务类型之前,所述表数据同步方法还包括:
获取各节点中所述上次表数据同步时间戳至所述当前时刻的已同步数据,并获取源数据库中所述上次表数据同步时间戳至所述当前时刻的待同步数据对应的源备份数据,所述已同步数据包括所述待同步表数据和节点中存储的原有数据;
将所述已同步数据与所述源备份数据进行比对,获得比对结果;
根据所述比对结果对各节点中的所述已同步数据进行删除、新增或修改操作,获得各节点中的已修正表数据;
所述通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统,包括:
通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的已修正表数据作为目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统。
6.如权利要求1-5中任一项所述的表数据同步方法,其特征在于,所述通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统之后,所述表数据同步方法还包括:
从所述目标表数据中提取出目标产品类型对应业务数据;
根据所述业务数据制作所述目标产品类型对应的产出报表。
7.一种表数据同步设备,其特征在于,所述表数据同步设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的表数据同步程序,所述表数据同步程序被所述处理器执行时实现如权利要求1至6中任一项所述的表数据同步方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有表数据同步程序,所述表数据同步程序被处理器执行时实现如权利要求1至6中任一项所述的表数据同步方法的步骤。
9.一种表数据同步装置,其特征在于,所述表数据同步装置包括:
获取模块,用于从源数据库中获取多个待同步表数据;
同步模块,用于将所述待同步表数据同步至预设同步工具的节点中;
建立模块,用于设置所述预设同步工具中的业务类型,并建立所述业务类型与各节点之间的对应关系;
接收模块,用于接收同步指令,从所述同步指令中提取出目标业务类型;
所述同步模块,还用于通过所述预设同步工具查找与所述目标业务类型对应的目标节点,获取所述目标节点中的目标表数据,并将所述目标表数据同步至所述目标业务类型对应的目标系统,所述目标表数据为同步至所述目标节点中的所述待同步表数据;
所述获取模块,还用于从源数据库中获取时间戳记录表,并从所述时间戳记录表中获取上次表数据同步时间戳;获取当前时刻,从所述源数据库中获取所述上次表数据同步时间戳至所述当前时刻的多个变化数据作为对应的多个待同步表数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811226777.4A CN109634970B (zh) | 2018-10-19 | 2018-10-19 | 表数据同步方法、设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811226777.4A CN109634970B (zh) | 2018-10-19 | 2018-10-19 | 表数据同步方法、设备、存储介质及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634970A CN109634970A (zh) | 2019-04-16 |
CN109634970B true CN109634970B (zh) | 2024-05-03 |
Family
ID=66066513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811226777.4A Active CN109634970B (zh) | 2018-10-19 | 2018-10-19 | 表数据同步方法、设备、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634970B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245181A (zh) * | 2019-04-25 | 2019-09-17 | 深圳壹账通智能科技有限公司 | 数据同步的同步方法、装置及计算机存储介质 |
CN110245164A (zh) * | 2019-05-09 | 2019-09-17 | 阿里巴巴集团控股有限公司 | 一种数据回流检测方法、装置及设备 |
CN110427422B (zh) * | 2019-05-23 | 2020-10-30 | 武汉达梦数据库有限公司 | 数据同步异常时数据一致性校验方法、设备及存储介质 |
CN112015804A (zh) * | 2019-05-28 | 2020-12-01 | 阿里巴巴集团控股有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111241115B (zh) * | 2020-01-07 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、设备及存储介质 |
CN111611252B (zh) * | 2020-04-01 | 2023-07-18 | 石化盈科信息技术有限责任公司 | 数据同步过程中安全数据的监控、装置、设备和存储介质 |
CN113076314B (zh) * | 2021-03-30 | 2024-04-19 | 深圳市酷开网络科技股份有限公司 | 数据表的存储方法、装置及计算机可读存储介质 |
CN114780368B (zh) * | 2022-05-05 | 2023-04-25 | 湖南长银五八消费金融股份有限公司 | 表数据同步方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462517A (zh) * | 2014-12-22 | 2015-03-25 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl系统及调度方法 |
CN106055654A (zh) * | 2016-06-01 | 2016-10-26 | 东软集团股份有限公司 | 异构数据的整合方法以及装置 |
CN106547643A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 异常数据的恢复方法及装置 |
CN106776822A (zh) * | 2016-11-25 | 2017-05-31 | 远光软件股份有限公司 | 集团企业报表数据提取方法及系统 |
-
2018
- 2018-10-19 CN CN201811226777.4A patent/CN109634970B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095327A (zh) * | 2014-05-23 | 2015-11-25 | 深圳市珍爱网信息技术有限公司 | 一种分布式etl系统及调度方法 |
CN104462517A (zh) * | 2014-12-22 | 2015-03-25 | 北京奇虎科技有限公司 | 数据同步方法及装置 |
CN106547643A (zh) * | 2015-09-21 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 异常数据的恢复方法及装置 |
CN106055654A (zh) * | 2016-06-01 | 2016-10-26 | 东软集团股份有限公司 | 异构数据的整合方法以及装置 |
CN106776822A (zh) * | 2016-11-25 | 2017-05-31 | 远光软件股份有限公司 | 集团企业报表数据提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109634970A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634970B (zh) | 表数据同步方法、设备、存储介质及装置 | |
CN109656934B (zh) | 基于日志解析的源端Oracle数据库DDL同步方法及设备 | |
CN107040578B (zh) | 数据同步方法、装置和系统 | |
CN107688664B (zh) | 图表生成方法、装置、计算机设备和存储介质 | |
EP3343411A1 (en) | Sql auditing method and apparatus, server and storage device | |
CN111222089B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
JP2013105358A (ja) | プログラムの新旧バージョンに対する差分比較テストシステム及びテスト方法 | |
CN112434043B (zh) | 一种数据同步方法、装置、电子设备及介质 | |
CN110647531A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
US20220129483A1 (en) | Data processing method and device, computing device and medium | |
CN111355802A (zh) | 信息推送方法和装置 | |
CN112307191A (zh) | 多系统交互式日志查询方法、装置、设备及存储介质 | |
CN114490554A (zh) | 数据同步方法及其装置、电子设备及存储介质 | |
CN113434311A (zh) | 业务数据交互方法、装置、设备及存储介质 | |
CN111753015A (zh) | 支付清算系统的数据查询方法及装置 | |
JP2002007020A (ja) | 操作監視に基づく定型処理の自動化手法 | |
CN106469086B (zh) | 事件处理方法和装置 | |
CN109739883B (zh) | 提升数据查询性能的方法、装置和电子设备 | |
CN114970479B (zh) | 图表生成方法及装置 | |
CN114817410B (zh) | 业务数据处理方法、装置、设备及存储介质 | |
CN115629950B (zh) | 一种性能测试异步请求处理时间点的提取方法 | |
CN112925697B (zh) | 作业差异监控方法、装置、设备及介质 | |
CN115033647B (zh) | 数据同步方法、装置、电子设备及存储介质 | |
US20150207866A1 (en) | Determination device and determination method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |