CN111538779A - 一种增量数据同步的方法、装置、计算机设备及存储介质 - Google Patents
一种增量数据同步的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111538779A CN111538779A CN202010218630.1A CN202010218630A CN111538779A CN 111538779 A CN111538779 A CN 111538779A CN 202010218630 A CN202010218630 A CN 202010218630A CN 111538779 A CN111538779 A CN 111538779A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- incremental data
- incremental
- 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.)
- Pending
Links
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种增量数据同步的方法、装置、计算机设备及存储介质,其中,增量数据同步的方法部分包括:记录目标时刻下上游业务系统的第一数据库的数据;检测第一数据库中是否存在增量标记;若检测到第一数据库中存在增量标记,则识别出增量数据;将增量数据同步至中间数据库中;将中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据;针对需要更新的增量数据设置对应的更新标记;根据更新标记对第二数据库中的数据进行同步更新。引入中间数据库,并将增量数据同步至中间数据库中,使得上游业务系统的数据与下游业务系统的数据更加一致,解决了上游业务系统的数据与下游业务系统的数据存在同步异常或者遗漏数据的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种增量数据同步的方法、装置、计算机设备及存储介质。
背景技术
随着科技的迅猛发展,互联网技术和日常生活、商业生活的日益紧密。目前,数据仓库用来存储各个业务系统的数据,每个系统都有各自的业务逻辑,数据仓库的意义在于整合所有系统的数据。
目前,数据的加载是通过(Extract-Transform-Load,ETL)将业务系统的实现的,ETL是将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,其中,业务系统的每一张表都会有主键数据。当上游业务系统的主键数据发生修改,进入数据仓库的表就得做修改,当上游数据发生删除操作,数据仓库的表也要做同步删除,当上游数据发生新增操作,数据仓库的表也要做同步新增,也就是说数据的提取主要会分为三块、删除、新增,修改。在增量数据同步时,特别是在处理大量数据记录,并每条记录的数据量有大的增量同步,现有的系统每次同步一张表都需要在ETL开发里进行删除、新增,修改功能的开发,处理大量数据记录,容易存在同步异常或者遗漏数据的问题。
发明内容
本发明提供一种增量数据同步的方法、装置、计算机设备及存储介质,以解决增量数据同步的问题。
一种增量数据同步的方法,应用于业务系统中,所述业务系统包括上游业务系统和下游业务系统,所述上游业务系统和所述下游业务系统为存在关联数据的系统,包括:
记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
将所述增量数据同步至中间数据库中;
将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
针对所述需要更新的增量数据设置对应的更新标记;
根据所述更新标记对所述第二数据库中的数据进行同步更新。
一种增量数据同步的装置,包括:
记录模块,记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测模块,检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
识别模块,若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
第一同步模块,将所述增量数据同步至中间数据库中;
对比模块,将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
设置模块,针对所述需要更新的增量数据设置对应的更新标记;
第二同步模块,根据所述更新标记对所述第二数据库中的数据进行同步更新。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述增量数据同步的方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述增量数据同步的方法的步骤。
上述增量数据同步的方法、装置、计算机设备及存储介质,所实现的其中一个方案中,将所述增量数据同步至中间数据库中,并且将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,再针对所述需要更新的增量数据设置对应的更新标记,最后根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新,引入中间数据库,并将增量数据同步至中间数据库中,使得上游业务系统的数据与下游业务系统的数据更加一致,解决了上游业务系统的数据与下游业务系统的数据存在同步异常或者遗漏数据的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中增量数据同步的方法的一应用环境示意图;
图2是本发明一实施例中增量数据同步的方法的一流程图;
图3是本发明一实施例中增量数据同步的方法的另一流程图;
图4是本发明一实施例中增量数据同步的方法的另一流程图;
图5是本发明一实施例中增量数据同步的方法的另一流程图;
图6是本发明一实施例中增量数据同步的方法的另一流程图;
图7是本发明一实施例中增量数据同步的方法的另一流程图;
图8是本发明一实施例中增量数据同步的装置的一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的增量数据同步的方法,可应用在如图1的应用环境中,其中,服务端通过网络与客户端进行通信。
增量数据同步的方法部分包括:记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;将所述增量数据同步至中间数据库中;将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;针对所述需要更新的增量数据设置对应的更新标记;根据所述更新标记对所述第二数据库中的数据进行同步更新。其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种增量数据同步的方法,应用于业务系统中,所述业务系统包括上游业务系统和下游业务系统,所述上游业务系统和所述下游业务系统为存在关联数据的系统,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
S10:记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻。
其中,预设同步时间区间为一个预设的时间区间,例如预设同步时间区间为30分钟、60分钟、24小时等;截止时刻表示到某个时刻停止。
其中,记录目标时刻的上游业务系统中存储有用户信息的第一数据库,用户信息可以包括用户身份证、用户姓名、用户电话号码、用户性别、用户爱好等。
假如,12:00为起始时刻,预设同步时间区间为30分钟,则目标时刻为12:30的截止时刻,可知,上游业务系统的第一数据库存储着12:30的截止时刻下的数据。假如,12:00为起始时刻,预设同步时间区间为60分钟,则目标时刻为13:00的截止时刻,可知,上游业务系统的第一数据库存储着13:00的截止时刻下的数据。
S20:检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息。
增量标记是上游业务系统通过脚本自动识别并标记在需要更新的信息上的标签,用于指示存在数据更新的标识信息。可选地,第一数据可以为oracl e数据库,在oracle数据库中,表的所有信息都会记录在oracle自身的基础表中,每张表中都有唯一标识的字段来控制每条数据的唯一性,且根据oracle自带视图,能够查询出该表的主键,从而判断oracle数据库的表中存在主键修改的情况打上增量标记,这样就能避免人工去判断主键的问题。
例如,在目标时刻为12:30的截止时刻下的上游业务系统的第一数据库中存储用户身份证:4419xxxxx10、用户姓名:甲、用户电话号码:1355xxxx52、用户性别:男、用户爱好:空,检测所述第一数据库中是否存在增量标记。
S30:若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据。
例如,在目标时刻为12:30的截止时刻下的上游业务系统的第一数据库中存储用户的身份证:4419xxxxx10、用户姓名:甲、用户电话号码:1355xxxx52、用户性别:男,其中,用户身份证、用户姓名、用户电话号码和用户爱好存在增量标记,则根据所述增量标记识别出增量数据为用户身份证:4419x xxxx10、用户姓名:甲、用户电话号码:1355xxxx52、用户爱好:空。
S40:将所述增量数据同步至中间数据库中。
例如,将增量数据为用户身份证:4419xxxxx10、用户姓名:甲、用户电话号码:1355xxxx52、用户爱好:空同步至中间数据库中。
S50:将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据。
其中,起始时刻表示某个时间开始前的时刻,假如,12:00为起始时刻,预设同步时间区间为30分钟,可知,下游业务系统的第二数据库中存储着12:00的起始时刻下的数据,也即,第二数据库中存储着12:00的起始时刻下的第一数据库中的全量数据。下游业务系统中存储有包括用户信息的全量数据的第二数据库,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据,用户信息包括用户身份证、用户姓名、用户电话号码、用户性别、用户爱好等。
例如,第二数据库存储着在12:00的起始时刻下的第一数据库中的全量数据,其中,在12:00的的起始时刻下的第一数据库中的全量数据包括用户身份证:4312xxxxx10、用户姓名:乙、用户电话号码:空、用户性别:男、用户爱好:音乐。
采用的是ORACLE数据库技术将所述中间数据库与第二数据库进行对,获取到需要更新的增量数据为:用户身份证、用户姓名、用户电话号码和用户爱好,其中,需要更新的增量数据中需要修改的增量数据为用户身份证和用户姓名,需要增加的增量数据为用户电话号码,需要删除的增量数据为用户爱好。
S60:针对所述需要更新的增量数据设置对应的更新标记。
更新标记包括修改标记、增加标记、删除标记。例如,针对需要修改的用户身份证和用户姓名设置对应的修改标记,针对需要增加的用户电话号码设置对应的增加标记,针对需要删除的用户爱好设置对应的删除标记。
S70:根据所述更新标记对所述第二数据库中的数据进行同步更新。
例如,根据修改标记对用户身份证4312xxxxx10修改为4419xxxxx10,以及用户姓名乙修改为甲,根据增加标记增加用户电话号码为1355xxxx52,根据删除标记删除用户爱好,也即对所述下游业务系统的第二数据库中的数据进行同步更新,同步更新后的第二数据库中存储的数据为用户身份证:4419x xxxx10、用户姓名:甲、用户电话号码:1355xxxx52、用户性别:男、用户爱好:空。
在本实施例中,以健康险为例,若理赔系统是上游业务系统,那么与之关联的健康卡业务系统、契约系统和保全系统等系统,都是对应的下游业务系统;上游业务系统和下游业务系统为存在关联数据的系统,可理解地,上游业务系统与下游业务系统存在相同业务类型的系统。若上游业务系统的数据发生修改,那么与之对应的下游业务系统都需要同步修改。
在图2对应的实施例中,将所述增量数据同步至中间数据库中,并且将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,再针对所述需要更新的增量数据设置对应的更新标记,最后根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新,引入中间数据库,使得上游业务系统的数据与下游业务系统的数据更加一致,解决了上游业务系统的数据与下游业务系统的数据存在同步异常或者遗漏数据的问题。
在一实施例中,如图3所示,在步骤S60之后S70之前,也即在所述针对所述需要更新的增量数据设置对应的更新标记之后,在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之前,还包括如下步骤:
S81:根据所述更新标记从所述第二数据库获取所述需要更新的增量数据对应的原始数据。
其中,更新标记用于指示存在数据修改、数据增加、数据删除的标识信息。
例如,需要更新的增量数据包括需要修改的增量数据为身份证号码和用户姓名,需要增加的增量数据为用户电话号码,需要删除的增量数据为用户爱好;根据更新标记从下游业务系统的第二数据库中获取需要修改的增量数据为身份证号码和用户姓名,需要增加的增量数据为用户电话号码,需要删除的用户爱好对应的原始数据的身份证号码:4312xxxxx10、用户姓名:乙、用户电话号码:空、用户爱好:音乐。
S82:将所述需要更新的增量数据的增量字段长度与所述原始数据的原始字段长度进行对比,得到所述增量字段长度与所述原始字段长度的对比结果。
将所述需要更新的增量数据的增量字段长度与原始数据的原始字段长度进行对比,若增量字段长度比原始字段长度更长,则得到增量字段长度比原始字段长度更长的对比结果;若增量字段长度比原始字段长度更短,则得到增量字段长度比原始字段长度更短的对比结果;若增量字段长度比原始字段长度更短,则得到增量字段长度比原始字段长度更短的对比结果;若增量字段长度比原始字段长度相同,则得到增量字段长度与原始字段长度相同的对比结果。
例如,原始数据的身份证号码:4312xxxxx10,则原始数据的身份证号码原始字段长度为11,需要更新的增量数据的身份证号码:4419xxxxx10,则需要更新的增量数据的身份证号码的增量字段长度为11,将需要更新的增量数据的身份证号码的增量字段长度与原始数据的身份证号码原始字段长度进行对比,则得到增量字段长度与原始字段长度相同的对比结果。
S83:根据所述增量字段长度与原始字段长度对比结果,对所述第二数据库中的原始字段长度进行同步更新。
根据增量字段长度比原始字段长度更长的对比结果,将第二数据库中的原始字段长度增长至与增量字段长度相同的长度;根据增量字段长度比原始字段长度更短的对比结果,将第二数据库中的原始字段长度缩短至与增量字段长度相同的长度;根据增量字段长度比原始字段长度相同的对比结果,则第二数据库中的原始字段长度保持不变。
在图3对应的实施例中,将所述需要更新的增量数据的增量字段长度与原始数据的原始字段长度进行对比,得到所述增量字段长度与所述原始字段长度的对比结果,根据所述增量字段长度与原始字段长度对比结果,对所述第二数据库中的原始字段长度进行同步更新,解决了上游业务系统的增量数据的字段长度发生改变,没有及时通知到下游业务系统,导致下游报错的问题。
在一实施例中,如图4所示,在步骤S60之后S70之前,也即在所述针对所述需要更新的增量数据设置对应的更新标记之后,在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之前,还包括如下步骤:
S91:将所述第一数据库的目标表结构长度与所述第二数据库的原始表结构长度进行对比,得到所述目标表结构长度与所述原始表结构长度的对比结果。
将所述第一数据库的目标表结构长度与所述第二数据库的原始表结构长度进行对比,若目标表结构长度比原始表结构长度更长,则得到目标表结构长度比原始表结构长度更长的对比结果;若目标表结构长度比原始表结构长度更短,则得到目标表结构长度比原始表结构长度更短的对比结果;若目标表结构长度比原始表结构长度相同,则得到目标表结构长度与原始表结构长度相同的对比结果。
例如,第一数据库包括没有更新的用户性别、已修改的身份证号码、已修改的用户姓名、增加的用户电话号码,则第一数据库的目标表结构长度为4,第二数据库包括没有更新的用户性别、修改前的身份证号码、修改前的用户姓名、删除前的用户爱好,则第二数据库的原始表结构长度为4,则将目标表结构长度与原始表结构长度的长度进行对比,得到目标表结构长度比原始表结构长度相同的对比结果。
S92:根据所述目标表结构长度与所述原始表结构长度的对比结果,对所述第二数据库中的原始表结构长度进行同步更新。
根据目标表结构长度比原始表结构长度更长的对比结果,将第二数据库中的原始表结构长度增长至与目标表结构长度相同的长度;根据目标表结构长度比原始表结构长度更短的对比结果,将第二数据库中的原始表结构长度缩短至与目标表结构长度相同的长度;根据目标表结构长度与原始表结构长度相同的对比结果,则第二数据库中的原始表结构长度保持不变。
在图4对应的实施例中,将所述第一数据库的目标表结构长度与所述第二数据库的原始表结构长度进行对比,得到所述目标表结构长度与所述原始表结构长度的对比结果,再根据所述目标表结构长度与所述原始表结构长度的对比结果,对所述第二数据库中的原始表结构长度进行同步更新,解决了上游的表结构长度发生改变,没有及时通知到下游业务系统,导致下游报错的问题。
在一实施例中,如图5所示,在步骤S50中,也即所述将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,包括如下步骤:
S51:将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据的更新类型,其中,更新类型包括修改、增加或删除。
S52:若所述更新类型为修改,则获取到需要修改的增量数据。
S53:若所述更新类型为增加,则获取到需要增加的增量数据。
S54:若所述更新类型为删除,则获取到需要删除的增量数据。
例如,中间数据库中包括需要更新的身份证号码、用户姓名、用户电话号码、用户爱好,第二数据中包括需要更新前的身份证号码、用户姓名、用户电话号码、用户爱好,将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据的更新类型。
若所述更新类型为修改,则获取到需要修改的身份证号码、用户姓名;若所述更新类型为增加,则获取到需要增加的用户电话号码;若所述更新类型为删除,则获取到需要删除的用户爱好。
在步骤S60中,也即所述针对所述需要更新的增量数据设置对应的更新标记,包括如下步骤:
S61:对需要进行修改的增量数据设置修改的更新标记。
S62:对需要进行增加的增量数据设置增加的更新标记。
S63:对需要进行删除的增量数据设置删除的更新标记。
例如,对需要修改的身份证号码、用户姓名设置修改的更新标记;对需要增加的用户电话号码设置增加的更新标记;对需要删除的用户爱好设置删除的更新标记。
在图5对应的实施例中,根据不同的更新类型,获取到不同的更新类型对应的不同的增量数据,再根据获取到的增量数据设置对应的更新标记,使得上游业务系统的数据与下游业务系统的数据更加一致,解决了上游业务系统的数据与下游业务系统的数据存在同步异常或者遗漏数据的问题。
在一实施例中,如图6所示,在步骤S40之后S50之前,也即在所述将所述增量数据同步至中间数据库中之后,在所述将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据之前,还包括如下步骤:
S101:将二进制日志添加进所述中间数据库中,其中,所述二进制日志中记录有第二数据库中所述增量数据的变化信息。
S102:根据所述二进制日志获得到所述增量数据的变化信息,其中,所述变化信息包括修改的增量数据的数量、增加的增量数据的数量、删除的增量数据的数量。
二进制日志能够严格记录第二数据库中数据动态变化的时序和数据快照,即能够记录第二数据库中增量数据的变化过程。二进制日志是始终都在中间数据库中存在的,只要增量数据产生变化,二进制日志都会将变化的详细信息记录下来。
S103:将所述增量数据的变化信息发送至客户端进行展示。
将所述增量数据的变化信息发送至客户端进行展示,利于客户端以检测到修改的增量数据的数量、增加的增量数据的数量、删除的增量数据的数量。
在图6对应的实施例中,将二进制日志添加进中间数据库中,根据所述二进制日志获得到所述增量数据的变化信息,最后将所述增量数据的变化信息发送至客户端进行展示,客户端可以观察到数据删除的数量、数据修改的数量和数据增加的数量,有利于加强数据的管控。
在一实施例中,在步骤S40中,也即所述将所述增量数据同步至中间数据库中,包括如下步骤:
S41:通过一种实现异构IT环境间数据实时数据集成和复制的综合软件O racleGolden Gate将所述增量数据同步至所述中间数据库中。
通过一种实现异构IT环境间数据实时数据集成和复制的综合软件OracleGoldenGate将所述增量数据同步至所述中间数据库中。
在实施例中,通过Oracle Golden Gate直接将所述增量数据同步至所述中间数据库中,提高后续数据进行同步更新的效率。
在一实施例中,如图7所示,在步骤S70之后,也即在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之后,还包括如下步骤:
S111:当检测到同步更新异常时,停止所述同步更新的操作,并记录所述同步更新进度。
其中,对于到同步更新异常的检测是伴随在整个增量数据同步过程之中的,也就是说无论整个增量数据同步的步骤之中无论哪一个环节出现问题都可以视为同步更新异常。记录同步进度是为了在重新启动增量数据同步服务时,能够以最快的方式完成同步。
S112:当检测到所述同步更新异常修复后,根据所述同步更新进度继续执行所述同步更新的操作。
在图7对应的实施例中,对于同步异常的检测是伴随在整个数据同步过程之中的,也就是说无论整个数据同步的流程之中无论哪一个环节出现问题都可以视为同步异常。记录同步进度是为了在重新启动数据同步服务时,能够以最快的方式完成同步;当检测到所述同步异常修复后,根据所述同步进度继续执行所述同步操作,能够快速解决增量数据过程中存在的同步异常或者遗漏数据的问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明的实施过程构成任何限定。
在一实施例中,提供一种增量数据同步的装置,该增量数据同步的装置与上述实施例中增量数据同步的方法一一对应。如图8所示,该增量数据同步的装置包括记录模块10、检测模块20、识别模块30、第一同步模块40、对比模块50、设置模块60和第二同步模块70。各功能模块详细说明如下:
记录模块10,记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测模块20,检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
识别模块30,若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
第一同步模块40,将所述增量数据同步至中间数据库中;
对比模块50,将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
设置模块60,针对所述需要更新的增量数据设置对应的更新标记;
第二同步模块70,根据所述更新标记对所述第二数据库中的数据进行同步更新。
关于增量数据同步的装置的具体限定可以参见上文中对于增量数据同步的方法的限定,在此不再赘述。上述增量数据同步的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,如图9所示,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
将所述增量数据同步至中间数据库中;
将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
针对所述需要更新的增量数据设置对应的更新标记;
根据所述更新标记对所述第二数据库中的数据进行同步更新。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
将所述增量数据同步至中间数据库中;
将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
针对所述需要更新的增量数据设置对应的更新标记;
根据所述更新标记对所述第二数据库中的数据进行同步更新。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PR OM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种增量数据同步的方法,应用于业务系统中,所述业务系统包括上游业务系统和下游业务系统,所述上游业务系统和所述下游业务系统为存在关联数据的系统,其特征在于,所述方法包括:
记录目标时刻的上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
将所述增量数据同步至中间数据库中;
将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
针对所述需要更新的增量数据设置对应的更新标记;
根据所述更新标记对所述第二数据库中的数据进行同步更新。
2.如权利要求1所述的增量数据同步的方法,其特征在于,在所述针对所述需要更新的增量数据设置对应的更新标记之后,在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之前,还包括:
根据所述更新标记从所述第二数据库获取所述需要更新的增量数据对应的原始数据;
将所述需要更新的增量数据的增量字段长度与所述原始数据的原始字段长度进行对比,得到所述增量字段长度与所述原始字段长度的对比结果;
根据所述增量字段长度与原始字段长度对比结果,对所述第二数据库中的原始字段长度进行同步更新。
3.如权利要求1所述的增量数据同步的方法,其特征在于,在所述针对所述需要更新的增量数据设置对应的更新标记之后,在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之前,还包括:
将所述第一数据库的目标表结构长度与所述第二数据库的原始表结构长度进行对比,得到所述目标表结构长度与所述原始表结构长度的对比结果;
根据所述目标表结构长度与所述原始表结构长度的对比结果,对所述第二数据库中的原始表结构长度进行同步更新。
4.如权利要求1所述的增量数据同步的方法,其特征在于,所述将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,包括:
将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据的更新类型,其中,更新类型包括修改、增加或删除;
若所述更新类型为修改,则获取到需要修改的增量数据;
若所述更新类型为增加,则获取到需要增加的增量数据;
若所述更新类型为删除,则获取到需要删除的增量数据;
所述针对所述需要更新的增量数据设置对应的更新标记,包括:
对所述需要进行修改的增量数据设置修改的更新标记;
对所述需要进行增加的增量数据设置增加的更新标记;
对所述需要进行删除的增量数据设置删除的更新标记。
5.如权利要求1所述的增量数据同步的方法,其特征在于,在所述将所述增量数据同步至中间数据库中之后,在所述将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据之前,还包括:
将二进制日志添加进所述中间数据库中,其中,所述二进制日志中记录有第二数据库中所述增量数据的变化信息;
根据所述二进制日志获得到所述增量数据的变化信息,其中,所述变化信息包括修改的增量数据的数量、增加的增量数据的数量、删除的增量数据的数量;
将所述增量数据的变化信息发送至客户端进行展示。
6.如权利要求1所述的增量数据同步的方法,其特征在于,所述将所述增量数据同步至中间数据库中,包括:
通过一种实现异构IT环境间数据实时数据集成和复制的综合软件Oracle GoldenGate将所述增量数据同步至所述中间数据库中。
7.如权利要求1-6任一项所述的增量数据同步的方法,其特征在于,在所述根据所述更新标记对所述下游业务系统的第二数据库中的数据进行同步更新之后,还包括:
当检测到同步更新异常时,停止所述同步更新的操作,并记录所述同步更新进度;
当检测到所述同步更新异常修复后,根据所述同步更新进度继续执行所述同步更新的操作。
8.一种增量数据同步的装置,其特征在于,包括:
记录模块,记录目标时刻下上游业务系统的第一数据库的数据,其中,所述目标时刻为预设同步时间区间的截止时刻;
检测模块,检测所述第一数据库中是否存在增量标记,其中,所述增量标记用于指示存在数据更新的标识信息;
识别模块,若检测到所述第一数据库中存在所述增量标记,则根据所述增量标记识别出增量数据;
第一同步模块,将所述增量数据同步至中间数据库中;
对比模块,将所述中间数据库与下游业务系统的第二数据库进行对比,获取到需要更新的增量数据,其中,第二数据库存储着在预设同步时间区间的起始时刻下的第一数据库中的全量数据;
设置模块,针对所述需要更新的增量数据设置对应的更新标记;
第二同步模块,根据所述更新标记对所述第二数据库中的数据进行同步更新。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述增量数据同步的方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述增量数据同步的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218630.1A CN111538779A (zh) | 2020-03-25 | 2020-03-25 | 一种增量数据同步的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010218630.1A CN111538779A (zh) | 2020-03-25 | 2020-03-25 | 一种增量数据同步的方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538779A true CN111538779A (zh) | 2020-08-14 |
Family
ID=71952189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010218630.1A Pending CN111538779A (zh) | 2020-03-25 | 2020-03-25 | 一种增量数据同步的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538779A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115143A (zh) * | 2020-09-15 | 2020-12-22 | 招商局金融科技有限公司 | 数据自动更新及同步方法、装置、电子设备及存储介质 |
CN112115152A (zh) * | 2020-09-15 | 2020-12-22 | 招商局金融科技有限公司 | 数据增量更新及查询方法、装置、电子设备及存储介质 |
CN112380227A (zh) * | 2020-11-12 | 2021-02-19 | 平安科技(深圳)有限公司 | 基于消息队列的数据同步方法、装置、设备及存储介质 |
CN112765276A (zh) * | 2021-01-27 | 2021-05-07 | 云账户技术(天津)有限公司 | 一种增量数据同步方法及装置 |
CN112950393A (zh) * | 2021-02-09 | 2021-06-11 | 深圳木成林科技有限公司 | 保险业务对接方法、装置、电子设备及可读存储介质 |
CN113326247A (zh) * | 2021-04-28 | 2021-08-31 | 上海淇馥信息技术有限公司 | 云端数据的迁移方法、装置及电子设备 |
CN113672692A (zh) * | 2021-10-25 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114817342A (zh) * | 2022-07-04 | 2022-07-29 | 杭州安恒信息技术股份有限公司 | 一种数据同步方法、装置、设备及介质 |
CN114925145A (zh) * | 2022-05-25 | 2022-08-19 | 盐城金堤科技有限公司 | 数据存储方法、装置以及存储介质和电子设备 |
CN116107517A (zh) * | 2023-04-11 | 2023-05-12 | 远江盛邦(北京)网络安全科技股份有限公司 | 数据同步方法、装置、电子设备和存储介质 |
-
2020
- 2020-03-25 CN CN202010218630.1A patent/CN111538779A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115143B (zh) * | 2020-09-15 | 2024-02-06 | 招商局金融科技有限公司 | 数据自动更新及同步方法、装置、电子设备及存储介质 |
CN112115152A (zh) * | 2020-09-15 | 2020-12-22 | 招商局金融科技有限公司 | 数据增量更新及查询方法、装置、电子设备及存储介质 |
CN112115143A (zh) * | 2020-09-15 | 2020-12-22 | 招商局金融科技有限公司 | 数据自动更新及同步方法、装置、电子设备及存储介质 |
CN112115152B (zh) * | 2020-09-15 | 2024-02-06 | 招商局金融科技有限公司 | 数据增量更新及查询方法、装置、电子设备及存储介质 |
CN112380227A (zh) * | 2020-11-12 | 2021-02-19 | 平安科技(深圳)有限公司 | 基于消息队列的数据同步方法、装置、设备及存储介质 |
CN112380227B (zh) * | 2020-11-12 | 2024-05-07 | 平安科技(深圳)有限公司 | 基于消息队列的数据同步方法、装置、设备及存储介质 |
CN112765276A (zh) * | 2021-01-27 | 2021-05-07 | 云账户技术(天津)有限公司 | 一种增量数据同步方法及装置 |
CN112950393A (zh) * | 2021-02-09 | 2021-06-11 | 深圳木成林科技有限公司 | 保险业务对接方法、装置、电子设备及可读存储介质 |
CN113326247B (zh) * | 2021-04-28 | 2023-02-21 | 上海淇馥信息技术有限公司 | 云端数据的迁移方法、装置及电子设备 |
CN113326247A (zh) * | 2021-04-28 | 2021-08-31 | 上海淇馥信息技术有限公司 | 云端数据的迁移方法、装置及电子设备 |
CN113672692A (zh) * | 2021-10-25 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN114925145A (zh) * | 2022-05-25 | 2022-08-19 | 盐城金堤科技有限公司 | 数据存储方法、装置以及存储介质和电子设备 |
CN114925145B (zh) * | 2022-05-25 | 2024-05-14 | 盐城天眼察微科技有限公司 | 数据存储方法、装置以及存储介质和电子设备 |
CN114817342A (zh) * | 2022-07-04 | 2022-07-29 | 杭州安恒信息技术股份有限公司 | 一种数据同步方法、装置、设备及介质 |
CN116107517A (zh) * | 2023-04-11 | 2023-05-12 | 远江盛邦(北京)网络安全科技股份有限公司 | 数据同步方法、装置、电子设备和存储介质 |
CN116107517B (zh) * | 2023-04-11 | 2023-06-09 | 远江盛邦(北京)网络安全科技股份有限公司 | 数据同步方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111538779A (zh) | 一种增量数据同步的方法、装置、计算机设备及存储介质 | |
CN108874644B (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
WO2020186786A1 (zh) | 文件处理方法、装置、计算机设备和存储介质 | |
WO2022126974A1 (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
CN109086295B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN111400308B (zh) | 缓存数据的处理方法、电子装置及可读存储介质 | |
CN106649676B (zh) | 一种基于hdfs存储文件的去重方法及装置 | |
CN110377649B (zh) | 标签化数据的构建、查询方法、装置、设备及存储介质 | |
CN109522315B (zh) | 一种数据库处理方法及系统 | |
CN106407360B (zh) | 一种数据的处理方法及装置 | |
CN109902272B (zh) | 电子表格数据处理方法、装置、计算机设备和存储介质 | |
CN105205053A (zh) | 一种数据库增量日志解析方法及系统 | |
CN109325042B (zh) | 处理模版获取方法、表格处理方法、装置、设备及介质 | |
US10545988B2 (en) | System and method for data synchronization using revision control | |
CN112508534A (zh) | 基于区块链的人事信息管理方法、装置及相关设备 | |
CN111767297B (zh) | 大数据处理方法、装置、设备及介质 | |
CN110659259A (zh) | 数据库迁移方法、服务器以及计算机存储介质 | |
CN109462661B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN112114994A (zh) | 异常处理方法、装置、设备及介质 | |
CN114064073A (zh) | 软件版本升级方法、装置、计算机设备和存储介质 | |
CN105446824A (zh) | 表增量获取方法及异地数据备份方法 | |
CN112069223A (zh) | 数据获取需求处理方法、装置、计算机设备和存储介质 | |
CN109271431B (zh) | 数据抽取方法、装置、计算机设备及存储介质 | |
CN109542860B (zh) | 基于hdfs的业务数据管理方法、终端设备 |
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 |