CN109918439B - 数据同步方法及其应用的环路检测方法和相关装置 - Google Patents
数据同步方法及其应用的环路检测方法和相关装置 Download PDFInfo
- Publication number
- CN109918439B CN109918439B CN201910194316.1A CN201910194316A CN109918439B CN 109918439 B CN109918439 B CN 109918439B CN 201910194316 A CN201910194316 A CN 201910194316A CN 109918439 B CN109918439 B CN 109918439B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- data information
- loop detection
- incremental
- 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
Images
Abstract
本申请提供一种数据环路检测方法,利用环路检测数据表判断数据环路是否存在。而环路检测数据表中包括第一节点属性信息、第一目的数据信息和第一源数据信息,而这些均为交换作业的相关信息,表明数据交换的路径信息,使得数据交换节点通过比对交换作业的相关信息尤其是路径信息,判断数据交换链路中是否存在环路,从而避免错误的数据交换,防止数据库写入错误数据,避免了因为数据环路带来的数据交换节点资源损耗。本申请还提供一种数据环路检测系统、一种数据同步方法、一种计算机可读存储介质和一种数据环路检测终端,具有上述有益效果。
Description
技术领域
本申请涉及大数据领域,特别涉及一种数据环路检测方法、系统、一种数据同步方法、一种计算机可读存储介质和一种数据环路检测终端。
背景技术
ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。
不同的ETL运维人员,由于信息的不对称或者管理边界的分割等原因,各自配置了互为源和目的的增量作业,会导致当数据库1有增量数据后,经过ETL节点1数据交换到数据库2,ETL节点2认为数据库2有增量数据,会把增量数据交换到数据库1,如此就形成了数据交换的环路,即数据环路,这将导致数据库1和数据库2持续的增加数据。
如果只是在两个数据源间的数据交换,容易通过人工排查避免。而一旦涉及多跳数据源或数据表时,数据交换链路很容易出现数据环路,此时人工排查避免极其困难,且数据交换环路易使数据库写入错误数据,并且因为数据交换环路的存在,将极大的消耗ETL节点资源,不利于数据增量作业的进行。
因此如何检测数据环路的存在是本领域技术人员亟需解决的技术问题。
发明内容
本申请的目的是提供一种数据环路检测方法、检测系统、一种数据同步方法、一种计算机可读存储介质和一种数据环路检测终端,解决现有的数据交换过程中无法确定是否存在数据环路的问题。
为解决上述技术问题,本申请提供一种数据环路检测方法,具体技术方案如下:
获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;
获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;
若一致,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;
若均一致,则判定所述数据环路存在。
其中,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致包括:
将所述第一节点属性信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二源数据信息与所述第一目标组中的第一源数据信息是否一致;
若一致,将所述第一源数据信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第二目标组中的第一目的数据信息是否一致。
其中,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致包括:
将所述第一源数据信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第一目标组中的第一目的数据信息是否一致;
若一致,将所述第一节点属性信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二源数据信息与所述第二目标组中的第一源数据信息是否一致。
其中,若所述第一节点属性信息与所述第二节点属性信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
其中,若所述增量作业对应的第二源数据信息与所述第一目标组中的第一源数据信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
其中,若所述增量作业对应的第二目的数据信息与所述第二目标组中的第一目的数据信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
其中,所述环路检测数据表创建在目的数据库中,且更新后的所述环路检测数据表连同所述增量作业一起同步至目的数据库中。
其中,获取环路检测数据表之前,还包括:
通过转换工具获取源数据表到目的数据表的增量作业时,创建所述环路检测数据表;
将所述转换工具的节点属性信息录入所述环路检测数据表,所述节点属性信息即为所述第一节点属性信息;
将所述源数据表所在的源数据信息录入所述环路检测数据表,所述源数据信息即为所述第一源数据信息;
将所述目的数据表所在的目的数据信息录入所述环路检测数据表,所述目的数据信息即为所述第一目的数据信息;
其中,所述第一节点属性信息、第一源数据信息和第一目的数据信息为同组录入。
其中,所述第一节点属性信息和所述第二节点属性信息具体为数据交换节点地址和标识符中的至少一种。
其中,当判定存在所述数据环路或经过预设时长后,数据交换节点删除由自身生成的环路检测数据表。
本申请还提供一种数据同步中检测数据环路的系统,具体技术方案如下:
检测表创建模块,用于获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;
第一判断模块,用于获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;
第二判断模块,用于所述第一判断模块判断为是时,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;并在判定均为是时,确定所述数据环路存在。
本申请还提供一种数据同步方法,第一数据库和第二数据库之间设有数据交换节点,所述数据交换节点用于将所述第一数据库的增量数据同步至所述第一数据库,或用于将所述第二数据库的增量数据同步至所述第一数据库,所述数据同步方法包括:
当检测到所述第一数据库和所述第二数据库之间存在增量作业同步时,执行如上文所述的数据环路检测方法,判断所述第一数据库和所述第二数据库之间是否存在数据环路;
若是,则停止所述增量作业同步;
若否,进行所述增量作业同步,并根据所述增量作业同步更新所述第二数据库中的环路检测数据表。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本申请还提供一种数据环路检测终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
本申请所提供的一种数据环路检测方法,包括:获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;若一致,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;若均一致,则判定所述数据环路存在。
本申请利用环路检测数据表对数据交换过程中的可能存在的数据环路进行检测。而环路检测数据表中包括第一节点属性信息、第一目的数据信息和第一源数据信息,而这些均为交换作业的相关信息,表明数据交换的路径信息,使得数据交换节点通过比对交换作业的相关信息尤其是路径信息,判断数据交换链路中是否存在环路,从而避免错误的数据交换,防止数据库写入错误数据,避免了因为数据环路带来的数据交换节点资源损耗。本申请还提供一种数据环路检测系统、一种数据同步方法、一种计算机可读存储介质和一种数据环路检测终端,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种数据环路检测方法的流程图;
图2为本申请实施例所提供的一种增量作业同步中检测数据环路的过程示意图;
图3为本申请实施例所提供的一种数据同步中检测数据环路的系统框图;
图4为本申请实施例所提供的一种数据环路检测终端的结构示意图;
图5为本申请实施例所提供的另一种数据环路检测终端的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种数据环路检测方法的流程图,该方法包括:
S101:获取环路检测数据表;
所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;
可以看出,本步骤默认在此之前已经生成环路检测数据表。在此对于环路检测数据表如何生成不作限定,在此本申请实施例提供一种优选的创建环路检测数据表的方法:
通过转换工具获取源数据表到目的数据表的增量作业时,创建环路检测数据表;将转换工具的节点属性信息录入环路检测数据表,节点属性信息即为第一节点属性信息;将源数据表所在的源数据信息录入环路检测数据表,源数据信息即为第一源数据信息;将目的数据表所在的目的数据信息录入环路检测数据表,目的数据信息即为第一目的数据信息;其中,第一节点属性信息、第一源数据信息和第一目的数据信息为同组录入。
增量作业主要指的是数据表之间的增量交换,当然也可以引申为数据表的上位概念,例如数据表存于数据库中,从数据库中角度看,增量作业同步是数据库之间实现数据同步的过程,其实质是数据库中相应数据表之间的数据同步。
在此对于环路检测数据表的具体内容不作限定,其只需其至少包括节点属性信息(包括下文的“第一节点属性信息”和“第二节点属性信息”)、目的数据信息(包括下文的“第一目的数据信息”和“第二目的数据信息”)和源数据信息(包括下文的“第一源数据信息”和“第二源数据信息”)这三类信息即可。当然,环路检测数据表对于以上三种信息的顺序等不作具体限定,容易理解的是,所有的环路检测数据表应采用同样的信息顺序,方便后续步骤的比对,例如,可以采用“源数据信息--节点属性信息-目的数据信息”这样的顺序。进一步需要说明的是,对于环路检测数据表中各信息的排列形式同样不作限定,只要求该环路检测数据表中包含上文内容即可,但应当理解的是,“源数据信息--节点属性信息-目的数据信息”应为一组信息,作为环路检测数据表中的元素存在,其形式可以为行、列、组合等等。例如表1,“源数据信息--节点属性信息-目的数据信息”可以存于同一行,表1为本申请提供的环路检测数据表的一种示意图,该环路检测数据表每一行即为“源数据信息--节点属性信息-目的数据信息”。对于第一行而言,意即数据库1经过数据交换节点1进行增量作业同步至数据库2。
表1环路检测数据表
数据库1 | 数据交换节点1 | 数据库2 |
数据库3 | 数据交换节点2 | 数据库2 |
数据库4 | 数据交换节点2 | 数据库2 |
节点属性信息通常为数据交换节点地址和标识符中的至少一种,而无论是数据交换节点地址还是标识符,均可用于区分不同的数据交换节点,相当于数据交换节点的“身份证”。因此,节点属性信息还可以为其他可以区分不同数据交换节点的信息,例如节点ID(即节点名称)等,在此不一一举例限定。
目的数据信息和源数据信息在内容上其实相同,只是分属于不同的数据表(库)。在此对于二者具体的内容不作限定,通常包括但不限定于数据库信息、表信息和字段信息。也即是说,目的数据信息包括但不限定于目的数据库信息、目的表信息和目的字段信息,源数据信息包括但不限定于源数据库信息、源表信息和源字段信息。数据库信息主要指的是数据库的标识符、ID、IP等信息,表信息主要指的数据表的名称等,字段信息主要包括字符项信息以及数据内容信息等。
需要指出的是,本步骤中“第一节点属性信息”所针对的节点指数据库中的数据交换节点,例如ETL节点或者ELT节点,或是其他在数据库之间以数据抽取、数据交互和数据加载为基础传输过程的其他复杂数据传输过程中(例如存在ELTL等过程)的数据交换节点,在此不作一一限定。
需要说明的是,在此对于环路检测数据表在数据库空间中的存在形式不作限定,可以为隐藏表,也可以为系统表,具体形式可由本领域技术人员根据实际情况作相应的设定。需要说明的是,该环路检测数据表可以包括特定标识,使得其仅能被系统后台任务获取,无法被ETL手工任务获取和修改。ETL手工任务指的是手工运行的ETL任务进程。
在此对于环路检测数据表的生成位置不作限定。优选的,环路检测数据表可以由数据交换节点在数据表之间进行增量作业同步时在目的数据库中生成。而此时,参考表1,目的数据信息均为“数据库2”。
目的数据库指的是数据增量作业同步过程中的数据接收方。举例而言,当进行数据表1到数据表2的增量转换时,此时可以在数据表2所在的数据库空间创建该环路检测数据表。需要说明的是,数据表1和数据表2均为现有的数据结构,而环路检测数据表为本申请独有的数据结构。当然,该环路检测数据表还可以于其他位置生成,当然此时表中的内容会参考上文具有相适应的内容,在此不一一举例限定。
而本步骤需要在检测到增量作业同步时,获取环路检测数据表。增量作业同步指的是存在数据表之间的增量交换,因为增量作业同步通常是具有方向性,而本步骤获取的是与增量作业同步相关联的目的数据库中的环路检测数据表。
S102:获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;若是,进入S103;若否,判定所述数据环路不存在;
本步骤旨在根据环路检测数据表中的节点属性信息对数据链路中是否存在数据环路做初步判断。上文已表明,节点属性信息用于区分不同的数据交换节点,因此本步骤实际上是根据获取到的环路检测数据表对数据环路存在性做第一次判断。
增量作业对应的第二节点属性信息指的是数据交换节点自身的属性信息,该数据交换节点也就是获取到环路检测数据表的数据交换节点。因此本步骤实际上是将增量作业对应的第二节点属性信息与环路检测数据表中记录的第一节点属性信息作比对。
具体的,以标识符作为第一节点属性信息,且获取到的环路检测数据表为目的源数据空间的环路检测数据表为例,数据交换节点根据获取到的环路检测数据表中的标识符判断是否自身的标识符一致。简单来说,假设此时环路检测数据表处于目的源数据空间,如果此时标识符与自身标识符一致,说明有存在数据环路的可能。而只要标识符不一致,本次增量作业同步并没有以自身为目标的数据交换过程中,则自然不存在数据环路。
S103:若一致,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;若均是,进入S104;
本步骤旨在S102的基础上做进一步判断,因为当第一节点属性信息与第二节点属性信息一致时,并不能直接确定一定存在数据环路。此时还需要判断第一源数据信息和第二源数据信息是否一致以及,第二目的数据信息和第一目的数据信息是否一致。
具体的,以目的数据信息包括目的数据库信息、目的表信息和目的字段信息,源数据信息包括源数据库信息、源表信息和源字段信息为例。
具体的,比对源数据信息以及比对目的数据信息的具体实施顺序不作具体限定,即此时可以有如下两种具体比对顺序:
第一种:将第一节点属性信息所在的组作为第一目标组,进一步判断增量作业对应的第二源数据信息与第一目标组中的第一源数据信息是否一致;若一致,将第一源数据信息所在的组作为第二目标组,进一步判断增量作业对应的第二目的数据信息与第二目标组中的第一目的数据信息是否一致。
第二种:将第一源数据信息所在的组作为第一目标组,进一步判断增量作业对应的第二目的数据信息与第一目标组中的第一目的数据信息是否一致;若一致,将第一节点属性信息所在的组作为第二目标组,进一步判断增量作业对应的第二源数据信息与第二目标组中的第一源数据信息是否一致。
本步骤旨在根据上述步骤确定数据环路是否存在,由上文内容可知,如果环路检测数据表中的节点属性信息与增量作业同步对应的第二节点属性信息不一致,或者环路检测数据表中的节点属性信息与增量作业同步对应的第二节点属性信息一致,但目的数据信息和源数据信息不一致这两种情况时,可判定数据环路不存在。
进一步的,当存在数据环路时,数据交换节点可以停止增量作业同步,并发出告警提示信息。也即是说,当本步骤判断存在数据环路时,需要停止本次增量作业同步,并及时发出告警提示信息。在此对于告警提示信息的种类和形式不作限定,可以为电子告警信息或物理设备报警等。
S104:判定所述数据环路存在。
本步骤旨在根据S101至S103的步骤确定数据环路存在。由上文内容可知,当S102和S103判断结果均为是时,则存在数据环路。
本申请实施例提供了一种数据环路检测方法,通过采用环路检测数据表检测增量作业同步中是否存在数据环路,数据交换节点通过比对自身属性信息和环路检测数据表中的信息,并且根据环路检测数据表中的目的数据信息和源数据信息可以对数据环路是否存在做出准确判断,可以提前发现即将引起数据环路的增量作业同步,避免了因数据环路造成数据库数据写入错误,降低了因为数据环路给数据交换节点带来的资源消耗,提高了系统中数据交换的效率,降低了设备成本和人工运维成本。
基于上述实施例,作为优选的实施例,该判断方法还可以包括对于环路检测数据表的更新过程,具体更新时,只要节点属性信息、目的数据信息和源数据信息中的任一个不一致时,说明此时不存在数据环路,此时可以对环路检测数据表更新,对应的,三种更新过程可以如下:
(1)若第一节点属性信息与第二节点属性信息不一致,更新过程可以如下:
将第二节点属性信息、第二源数据信息和第二目的数据信息同组录入环路检测数据表,使之成为环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新环路检测数据表。
(2)若增量作业对应的第二源数据信息与第一目标组中的第一源数据信息不一致,更新过程可以如下:
将第二节点属性信息、第二源数据信息和第二目的数据信息同组录入环路检测数据表,使之成为环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新环路检测数据表。
(3)若增量作业对应的第二目的数据信息与第二目标组中的第一目的数据信息不一致,更新过程可以如下:
将第二节点属性信息、第二源数据信息和第二目的数据信息同组录入环路检测数据表,使之成为环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新环路检测数据表。
数据交换节点检索本数据交换节点是否存在基于以该目的数据表对应信息为源的增量转换作业,如果不存在对应的增量转换作业,则数据交换节点就不做处理。如果存在对应的增量转换作业,则将该环路检测数据表写入到增量转换作业对应的目的数据库中,并将该增量转换作业对应的源,目的信息记录到环路检测数据表中。当然,可以理解的是,在此对于如何更新环路检测数据表不作限定,例如可以记录到环路检测数据表的最后一行。
本实施例旨在说明,当数据交换节点发现该环路检测数据表对应其他的增量转换作业时,将该增量转换作业相应的信息填入至环路检测数据表,以更新环路检测数据表,并将更新后的环路检测数据表写入至该增量转换作业对应的目的数据库中。增量转换作业相应的信息可以包括源数据库信息、源表信息、实际工作的数据交换节点信息、目的数据库信息、目的表信息中的一种或任意几种的组合,当然还可以包括其他相关数据,在此不一一举例限定。本实施例中,数据交换节点检测是否存在关联的增量转换作业,增加和记录交换过程中的路径信息,描述出完整的基于一个数据表和字段的增量交换路径,进而判断是否存在数据环路,通过更新环路检测数据表,大大提高了对于数据环路存在性的判断准确度。
基于上述实施例,作为优选的实施例,该检测方法还可以包括:
当判定存在所述数据环路或经过预设时长后,所述数据交换节点删除由自身生成的环路检测数据表。
由于数据库之间的增量作业同步是大量进行的过程,在此基础上,若不针对环路检测数据表作处理,一旦存在大量的环路检测数据表,将对数据库的正常运行产生影响。因此有必要对环路检测数据表建立回收机制。具体的,当经由上述实施例所描述的过程确定即将引起数据环路的增量作业同步时,此时可以将该增量作业同步(或者说数据环路)对应的环路检测数据表删除。当然,可以理解的是,由于该增量作业同步即将引起数据环路,该增量作业同步也是默认被取消,则对应的环路检测数据表无需存于数据库空间,此时自然可以删除。需要说明的是,此时每个数据交换节点仅能删除自身生成的环路检测数据表,而对于其他数据交换节点生成的其他环路检测数据表,也应由其他数据交换节点进行如同本实施例所述方法对环路检测数据表作相应的处理。
另外,若经过预设时长,也可以选择删除环路检测数据表。在此对于预设时长的具体时长不作限定,可以由本领域技术人员根据实际需求做相应的设定。
进一步的,删除由自身生成环路检测数据表并不一定是删除所有环路检测数据表,可以删除设定时间之前生成环路检测数据表。
本实施例旨在对本申请提出的环路检测数据表提供相应的回收机制,能够避免大量的环路检测数据表影响数据库的性能。由于本实施例仅针对上述各实施例中的环路检测数据表,因此本实施例与上述实施例并无固定的执行顺序关系。
下面以本申请在数据库中的一种具体应用情景对本申请作进一步说明:
参见图2,图2为本申请实施例所提供的一种增量作业同步中检测数据环路的过程示意图,如假设存在数据表A和数据表B,当数据表A存在增量数据时,位于数据表A和数据表B之间的数据交换节点1将增量数据通过数据交换发送至数据表B,同时在数据表B所在的数据库中创建环路检测数据表a(以下简称“表a”)。表a中记录了数据表A的第一源数据信息(即数据表A所在的数据库信息、数据表A的信息、数据表A的字段信息)、数据交换节点1的地址(即第一节点属性信息)、第一目的数据信息(即数据表B所在的数据库信息、数据表B的信息、数据表B的字段信息)。例如,表a中可以记录为“数据表A-数据交换节点1-数据表B”。
此时发生与表a相关的增量作业,同时数据交换节点1检测到数据表B所在的数据库中新增了表a,数据交换节点1获取表a。若是该增量作业同样是由数据表A经过数据交换节点1到数据表B,第一步判断时发现第一节点属性信息和第二节点属性信息均为数据交换节点1,进行下一步判断。进而发现第一源数据信息和第二源数据均为数据表A且第一目的数据信息和第二目的数据信息均为数据表B,则说明此时存在数据环路。
若是该增量作业是由数据表C经过数据交换节点1到数据表B,此时虽然第一节点属性信息和第二节点属性信息均为数据交换节点1,第一源数据信息和第二源数据均为数据表A,但第一目的数据信息和第二目的数据信息不相同,说明此时不存在数据环路。
在每次即将进行增量作业同步时,例如数据表B到数据表A的增量作业同步等,表b(即环路检测数据表b)均会记录下相应的源数据信息、经过的数据交换节点信息和目的数据信息。
以上仅为本申请所对应的其中一种具体应用场景,在不付出创造性劳动的前提下,本领域技术人员还可以根据前述实施例的内容将本申请应用于其他场景,均应在本申请的保护范围内。
本申请还提供一种数据同步方法,第一数据库和第二数据库之间设有数据交换节点,数据交换节点用于将第一数据库的增量数据同步至第一数据库,或用于将第二数据库的增量数据同步至第一数据库,数据同步方法包括:
当检测到第一数据库和第二数据库之间存在增量作业同步时,执行如上文各实施例所述的数据环路检测方法,判断第一数据库和第二数据库之间是否存在数据环路;
若是,则停止增量作业同步;
若否,进行增量作业同步,并根据增量作业同步更新第二数据库中的环路检测数据表。
本申请实施例基于上述实施例中检测数据环路的方法,若是存在数据环路,则停止增量作业同步,若是不存在,则更新环路检测数据表,具体更新过程参见上述实施例,在此不作赘述。
下面对本申请实施例提供的一种数据环路存在性的检测系统进行介绍,下文描述的检测系统与上文各实施例描述的一种数据环路存在性的检测方法可相互对应参照。
参见图3,图3为本申请实施例所提供的一种数据环路存在性的判断系统结构示意图,该数据环路存在性的检测系统,可以包括:
检测表创建模块100,用于获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;
第一判断模块200,用于获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;
第二判断模块300,用于所述第一判断模块判断为是时,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;并在判定均为是时,确定所述数据环路存在。
基于上述实施例,作为优选的实施例,所述第二判断模块300具体为用于将所述第一节点属性信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二源数据信息与所述第一目标组中的第一源数据信息是否一致;若一致,将所述第一源数据信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第二目标组中的第一目的数据信息是否一致的模块。
基于上述实施例,作为优选的实施例,所述第二判断模块300具体为用于将所述第一源数据信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第一目标组中的第一目的数据信息是否一致;若一致,将所述第一节点属性信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二源数据信息与所述第二目标组中的第一源数据信息是否一致的模块。
基于上述实施例,作为优选的实施例,若第一判断模块200判断结果为否时,还包括,第一更新模块,用于将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
基于上述实施例,作为优选的实施例,若第二判断模块300判断为否时,还包括,第二更新模块,用于将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
基于上述实施例,作为优选的实施例,若第二判断模块300判断为否时,还包括,第三更新模块,用于将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
基于上述实施例,作为优选的实施例,还包括,表创建模块,用于通过转换工具获取源数据表到目的数据表的增量作业时,创建所述环路检测数据表;将所述转换工具的节点属性信息录入所述环路检测数据表,所述节点属性信息即为所述第一节点属性信息;将所述源数据表所在的源数据信息录入所述环路检测数据表,所述源数据信息即为所述第一源数据信息;将所述目的数据表所在的目的数据信息录入所述环路检测数据表,所述目的数据信息即为所述第一目的数据信息;其中,所述第一节点属性信息、第一源数据信息和第一目的数据信息为同组录入。
基于上述实施例,作为优选的实施例,还包括:
删除模块,用于当判定存在所述数据环路或经过预设时长后,数据交换节点删除由自身生成的环路检测数据表。
本申请还提供了一种数据环路检测终端,参见图4,本申请实施例提供的一种数据环路检测终端的结构图,如图4所示,可以包括处理器11和存储器12。参见图5,该数据环路检测终端400还可以包括多媒体组件13,输入/输出(I/O)接口14,以及通信组件15中的一者或多者。
其中,处理器11用于控制该数据环路检测终端400的整体操作,以完成上述的数据环路存在性的检测方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该数据环路检测终端400的操作,这些数据例如可以包括用于在该数据环路检测终端400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该数据环路检测终端400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,数据环路检测终端400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据环路存在性的检测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述数据环路存在性的检测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由数据环路检测终端400的处理器11执行以完成上述的数据环路存在性的检测方法。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (14)
1.一种数据环路检测方法,其特征在于,包括:
获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;所述第一源数据信息和所述第一目的数据信息均包括数据内容信息;
获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;
若一致,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;
若均一致,则判定所述数据环路存在。
2.根据权利要求1所述的数据环路检测方法,其特征在于,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致包括:
将所述第一节点属性信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二源数据信息与所述第一目标组中的第一源数据信息是否一致;
若一致,将所述第一源数据信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第二目标组中的第一目的数据信息是否一致。
3.根据权利要求1所述的数据环路检测方法,其特征在于,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致包括:
将所述第一源数据信息所在的组作为第一目标组,进一步判断所述增量作业对应的第二目的数据信息与所述第一目标组中的第一目的数据信息是否一致;
若一致,将所述第一节点属性信息所在的组作为第二目标组,进一步判断所述增量作业对应的第二源数据信息与所述第二目标组中的第一源数据信息是否一致。
4.根据权利要求2或3所述的数据环路检测方法,其特征在于,若所述第一节点属性信息与所述第二节点属性信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
5.根据权利要求2或3所述的数据环路检测方法,其特征在于,若所述增量作业对应的第二源数据信息与所述第一目标组中的第一源数据信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
6.根据权利要求2或3所述的数据环路检测方法,其特征在于,若所述增量作业对应的第二目的数据信息与所述第二目标组中的第一目的数据信息不一致,还包括:
将所述第二节点属性信息、第二源数据信息和第二目的数据信息同组录入所述环路检测数据表,使之成为所述环路检测数据表的第一节点属性信息、第一源数据信息和第一目的数据信息,从而更新所述环路检测数据表。
7.根据权利要求1任一项所述的数据环路检测方法,其特征在于,所述环路检测数据表创建在目的数据库中,且更新后的所述环路检测数据表连同所述增量作业一起同步至目的数据库中。
8.根据权利要求1所述的数据环路检测方法,其特征在于,获取环路检测数据表之前,还包括:
通过转换工具获取源数据表到目的数据表的增量作业时,创建所述环路检测数据表;
将所述转换工具的节点属性信息录入所述环路检测数据表,所述节点属性信息即为所述第一节点属性信息;
将所述源数据表所在的源数据信息录入所述环路检测数据表,所述源数据信息即为所述第一源数据信息;
将所述目的数据表所在的目的数据信息录入所述环路检测数据表,所述目的数据信息即为所述第一目的数据信息;
其中,所述第一节点属性信息、第一源数据信息和第一目的数据信息为同组录入。
9.根据权利要求1 所述的数据环路检测方法,其特征在于,所述第一节点属性信息和所述第二节点属性信息具体为数据交换节点地址和标识符中的至少一种。
10.根据权利要求1所述的方法,其特征在于,还包括:
当判定存在所述数据环路或经过预设时长后,数据交换节点删除由自身生成的环路检测数据表。
11.一种数据同步中检测数据环路的系统,其特征在于,包括:
检测表创建模块,用于获取环路检测数据表;所述环路检测数据表包括第一节点属性信息、第一源数据信息和第一目的数据信息;所述第一源数据信息和所述第一目的数据信息均包括数据内容信息;
第一判断模块,用于获取与所述环路检测数据表关联的增量作业,在增量作业同步过程中,判断所述增量作业对应的第二节点属性信息与所述第一节点属性信息是否一致;
第二判断模块,用于所述第一判断模块判断为是时,分别判断所述第一源数据信息和所述增量作业对应的第二源数据信息、所述第一目的数据信息和所述增量作业对应的第二目的数据信息是否一致;并在判定均为是时,确定所述数据环路存在。
12.一种数据同步方法,第一数据库和第二数据库之间设有数据交换节点,所述数据交换节点用于将所述第一数据库的增量数据同步至所述第一数据库,或用于将所述第二数据库的增量数据同步至所述第一数据库,其特征在于,所述数据同步方法包括:
当检测到所述第一数据库和所述第二数据库之间存在增量作业同步时,执行如权利要求1所述的数据环路检测方法,判断所述第一数据库和所述第二数据库之间是否存在数据环路;
若是,则停止所述增量作业同步;
若否,进行所述增量作业同步,并根据所述增量作业同步更新所述第二数据库中的环路检测数据表。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-10任一项所述的方法的步骤。
14.一种数据环路检测终端,其特征在于,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1-10任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194316.1A CN109918439B (zh) | 2019-03-14 | 2019-03-14 | 数据同步方法及其应用的环路检测方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910194316.1A CN109918439B (zh) | 2019-03-14 | 2019-03-14 | 数据同步方法及其应用的环路检测方法和相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918439A CN109918439A (zh) | 2019-06-21 |
CN109918439B true CN109918439B (zh) | 2021-04-27 |
Family
ID=66964960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910194316.1A Active CN109918439B (zh) | 2019-03-14 | 2019-03-14 | 数据同步方法及其应用的环路检测方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918439B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113014441B (zh) * | 2019-12-19 | 2023-07-14 | 西安诺瓦星云科技股份有限公司 | 网口环路检测方法和系统 |
CN113127549A (zh) * | 2019-12-31 | 2021-07-16 | 奇安信科技集团股份有限公司 | 增量数据的同步方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN104503965A (zh) * | 2014-10-16 | 2015-04-08 | 杭州斯凯网络科技有限公司 | PostgreSQL高弹性的高可用及负载均衡实现方法 |
CN106959996A (zh) * | 2017-01-20 | 2017-07-18 | 华数传媒网络有限公司 | 一种基于互联网电视的后台数据同步方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411864B2 (en) * | 2008-08-26 | 2016-08-09 | Zeewise, Inc. | Systems and methods for collection and consolidation of heterogeneous remote business data using dynamic data handling |
-
2019
- 2019-03-14 CN CN201910194316.1A patent/CN109918439B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317843A (zh) * | 2014-10-11 | 2015-01-28 | 上海瀚之友信息技术服务有限公司 | 一种数据同步etl系统 |
CN104503965A (zh) * | 2014-10-16 | 2015-04-08 | 杭州斯凯网络科技有限公司 | PostgreSQL高弹性的高可用及负载均衡实现方法 |
CN106959996A (zh) * | 2017-01-20 | 2017-07-18 | 华数传媒网络有限公司 | 一种基于互联网电视的后台数据同步方法 |
Non-Patent Citations (1)
Title |
---|
《并行ETL流程的回环检测和执行控制》;连仁包;《福建金融管理干部学院学报》;20080425(第2期);第46-49页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109918439A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228814B (zh) | 数据同步方法及装置 | |
TWI512491B (zh) | 通訊系統及其相關資料同步方法 | |
US20120185454A1 (en) | Method and device for accessing file resources | |
US11188560B2 (en) | Synchronizing object in local object storage node | |
US20200356624A1 (en) | Collaborative document editing system and method | |
CN110851308A (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN111177165B (zh) | 数据一致性检测的方法、装置及设备 | |
US10268568B2 (en) | System and method for data element tracing | |
CN106648994B (zh) | 一种备份操作日志的方法,设备和系统 | |
US9514176B2 (en) | Database update notification method | |
CN109918439B (zh) | 数据同步方法及其应用的环路检测方法和相关装置 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
US10048978B2 (en) | Apparatus and method for identifying a virtual machine having changeable settings | |
CN108108431B (zh) | 数据同步方法和系统 | |
CN108874441B (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
CN111984264B (zh) | 一种静态库的生成方法和装置 | |
CN111240892A (zh) | 数据备份方法及装置 | |
CN110688305B (zh) | 测试环境同步方法、装置、介质、电子设备 | |
CN110674153B (zh) | 一种数据一致性检测方法、装置及电子设备 | |
CN109614442B (zh) | 数据同步的数据表维护方法、装置、存储介质和电子设备 | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN108156203B (zh) | 一种存储系统及存储节点管理方法 | |
CN107168822B (zh) | Oracle streams的异常修复系统及方法 | |
CN112905696B (zh) | 基于事务标识的多机房同步方法、计算设备及存储介质 | |
CN110928945B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |