CN110263094A - 检测同步工具有效性的方法、装置、存储介质及电子设备 - Google Patents
检测同步工具有效性的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110263094A CN110263094A CN201910447238.1A CN201910447238A CN110263094A CN 110263094 A CN110263094 A CN 110263094A CN 201910447238 A CN201910447238 A CN 201910447238A CN 110263094 A CN110263094 A CN 110263094A
- Authority
- CN
- China
- Prior art keywords
- data
- variance data
- database
- variance
- synchronization means
- 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.)
- Granted
Links
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
- G06F16/275—Synchronous replication
Abstract
本公开涉及一种检测同步工具有效性的方法、装置、存储介质及电子设备,以解决同步工具有效性检测过程中存在的数据同步延时以及效率不高的问题。该方法包括:将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;通过同步工具将所述源数据库中的数据同步至所述目标数据库;将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据之间的第二差异数据;将所述第一差异数据与所述第二差异数据进行比对;根据比对的结果,确定所述同步工具是否有效。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种检测同步工具有效性的方法、装置、存储介质及电子设备。
背景技术
数据库同步工具用于将源数据库的数据同步至目标数据库中,从而保证源数据和目标数据库的数据一致。但是,在使用过程中,同步工具可能出现异常,从而导致源数据库与目标数据库的数据不一致,因此需要检测同步工具的有效性。
相关技术中,检测同步工具有效性的过程主要是先暂停同步工具,然后比对源数据库和目标数据库的数据,以获得源数据库和目标数据库之间存在的差异数据。接着再启动同步工具,等待同步工具完成暂停期间源数据库与目标数据库的数据同步。最后,人工查看源数据库和目标数据库中是否存在上述差异数据,如果存在则确定同步工具失效,否则确定同步工具有效。
可见,相关技术中检测同步工具有效性的过程中,首先需要暂停同步工具,而这可能造成后期数据同步的延时。另外,数据同步完成后,需要人工查看是否存在差异数据,而这将耗费较多的人力和时间,效率不高。
发明内容
本公开的目的是提供一种检测同步工具有效性的方法、装置、存储介质及电子设备,以解决同步工具有效性检测过程中存在的数据同步延时以及效率不高的问题。
为了实现上述目的,第一方面,本公开提供一种检测同步工具有效性的方法,所述方法包括:
将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;
通过同步工具将所述源数据库中的数据同步至所述目标数据库;
将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据库之间的第二差异数据;
将所述第一差异数据与所述第二差异数据进行比对;
根据比对的结果,确定所述同步工具是否有效。
可选地,所述通过同步工具将所述源数据库中的数据同步至所述目标数据库,包括:
记录所述一次比对的开始时刻与结束时刻;
通过同步工具将所述源数据库中从所述开始时刻至所述结束时刻之间的所有数据同步至所述目标数据库。
可选地,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述第一差异数据与所述第二差异数据的存储位置,其中,所述存储位置为所述源数据库或所述目标数据库;
根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对。
可选地,所述确定所述第一差异数据与所述第二差异数据的存储位置,包括:
确定所述第一差异数据与所述第二差异数据均存储于所述源数据库;或确定所述第一差异数据与所述第二差异数据均存储于所述目标数据库;
所述根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述第一差异数据的主键字段与所述第二差异数据的主键字段是否相同;
所述根据比对的结果,确定所述同步工具是否有效,包括:
如果所述第一差异数据的主键字段与所述第二差异数据的主键字段不相同,则确定所述同步工具有效。
可选地,所述确定所述第一差异数据与所述第二差异数据的存储位置,包括:
确定所述第一差异数据和所述第二差异数据均同时存储于所述源数据库和所述目标数据库;
所述根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据是否相同;
所述根据比对的结果,确定所述同步工具是否有效,包括:
如果所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据不相同,则确定所述同步工具有效。
第二方面,本公开还提供一种检测同步工具有效性的装置,所述装置包括:
第一比对模块,用于将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;
同步模块,用于通过同步工具将所述源数据库中的数据同步至所述目标数据库;
第二比对模块,用于将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据库之间的第二差异数据;
第三比对模块,用于将所述第一差异数据与所述第二差异数据进行比对;
确定模块,用于根据比对的结果,确定所述同步工具是否有效。
可选地,所述同步模块用于:
记录所述一次比对的开始时刻与结束时刻;
通过同步工具将所述源数据库中从所述开始时刻至所述结束时刻之间的所有数据同步至所述目标数据库。
可选地,所述第三比对模块包括:
确定子模块,用于确定所述第一差异数据与所述第二差异数据的存储位置,其中,所述存储位置为所述源数据库或所述目标数据库;
比对子模块,用于根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对。
可选地,确定子模块用于:
确定所述第一差异数据与所述第二差异数据均存储于所述源数据库;或确定所述第一差异数据与所述第二差异数据均存储于所述目标数据库;
所述比对子模块用于:
确定所述第一差异数据的主键字段与所述第二差异数据的主键字段是否相同;
所述确定模块用于:
当所述第一差异数据的主键字段与所述第二差异数据的主键字段不相同时,确定所述同步工具有效。
可选地,所述确定子模块用于:
确定所述第一差异数据和所述第二差异数据均同时存储于所述源数据库和所述目标数据库;
所述比对子模块用于:
确定所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据是否相同;
所述确定模块用于:
当所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据不相同时,确定所述同步工具有效。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,可以将源数据库的数据与目标数据库的数据进行一次比对,得到第一差异数据。然后通过同步工具进行数据同步之后再将源数据库的数据与目标数据库的数据进行二次比对,得到第二差异数据。最后,将第一差异数据与第二差异数据进行比对,并根据比对的结果,确定同步工具是否有效。整个检测过程,无需停止同步工具,即可进行同步工具的有效性检测,因此不会造成数据同步的延时。并且,通过上述技术方案可以全自动化地完成同步工具的有效性检测,从而可以提高同步工具有效性检测的效率和准确率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种检测同步工具有效性的方法的流程图;
图2是根据本公开另一示例性实施例示出的一种检测同步工具有效性的方法的流程图;
图3是根据本公开一示例性实施例示出的一种检测同步工具有效性的方法的过程示意图;
图4是相关技术中检测同步工具有效性的方法的过程示意图;
图5是根据本公开一示例性实施例示出的一种检测同步工具有效性的装置的框图;
图6是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
数据库同步工具用于将源数据库的数据同步至目标数据库中,从而保证源数据和目标数据库的数据一致。但是,在使用过程中,同步工具可能出现异常,从而导致源数据库与目标数据库的数据不一致,因此需要检测同步工具的有效性。
相关技术中,检测同步工具有效性的过程主要是先暂停同步工具,然后比对源数据库和目标数据库的数据,以获得源数据库和目标数据库之间存在的差异数据。接着再启动同步工具,等待同步工具完成暂停期间源数据库与目标数据库的数据同步。最后,人工查看源数据库和目标数据库中是否存在上述差异数据,如果存在则确定同步工具失效,否则确定同步工具有效。
可见,相关技术中检测同步工具有效性的过程中,首先需要暂停同步工具,而这可能造成后期数据同步的延时。另外,数据同步完成后,需要人工查看是否存在差异数据,而这将耗费较多的人力和时间,效率不高。
为了解决上述技术问题,本公开实施例提出一种检测同步工具有效性的方法、装置、存储介质及电子设备,以在不停止同步工具的情况下,进行同步工具的有效性检测,避免数据同步的延时,并提高同步工具有效性的检测效率和检测准确率。
图1是根据本公开一示例性实施例示出的一种检测同步工具有效性的方法的流程图。参照图1,该方法可以包括以下步骤:
步骤S101,将源数据库的数据与目标数据库的数据进行一次比对,得到源数据库与目标数据库之间的第一差异数据。
示例地,一次比对可以是通过数据库比对工具将源数据库与目标数据库具有同一主键字段的数据逐一比对,或者可以将源数据库与目标数据库中的数据按照同一顺序排列后,将排序后的数据依次进行比对,等等,本公开实施例对此不作限定。
示例地,一次比对得到的第一差异数据可以包括仅存在于源数据库但不存在于目标数据库的数据,也可以包括仅存在于目标数据库但不存在于源数据库的数据,还可以包括同时存在于源数据库和目标数据库,但在源数据库和目标数据库的数据内容不相同的数据。应当理解的是,第一差异数据可以包括数据库中的一条数据记录,也可以包括多条数据记录。
步骤S102,通过同步工具将源数据库中的数据同步至目标数据库。
示例地,通过同步工具将源数据库中的数据同步至目标数据库可以是将源数据库的所有数据同步至目标数据库。或者,在一种可能的方式中,也可以先记录一次比对的开始时刻和结束时刻,然后通过同步工具将源数据库中从该开始时刻到该结束时刻之间的所有数据同步至目标数据库。
例如,记录了一次比对的开始时刻为上午9点10分,结束时刻为上午9点23分,那么可以通过同步工具将源数据库在上午9点10分至上午9点23分之间的所有数据同步至目标数据库,并在同步该部分数据后则继续进行后续步骤,相较于将源数据库的所有数据同步至目标数据库后再继续进行后续步骤的方式,此种方式可以提高检测同步工具有效性的效率。
步骤S103,将源数据库的数据与同步数据后的目标数据库的数据进行二次比对,得到源数据库与目标数据库之间的第二差异数据。
示例地,二次比对可以是通过数据库比对工具将源数据库与数据同步后的目标数据库中具有同一主键字段的数据逐一比对,或者可以将源数据库与数据同步后的目标数据库中的数据按照同一顺序进行排列,然后将排序后的数据依次进行比对,等等,本公开实施例对此不作限定。
示例地,第二差异数据可以包括仅存在于源数据库但不存在于目标数据库的数据,也可以包括仅存在于目标数据库但不存在于源数据库的数据,还可以包括同时存在于源数据库和目标数据库,但在源数据和目标数据库的数据内容并不相同的数据。应当理解的是,第二差异数据可以包括数据库中的一条数据记录,也可以包括多条数据记录。
步骤S104,将第一差异数据与第二差异数据进行比对。
示例地,将第一差异数据与第二差异数据进行比对,即确定第一差异数据与第二差异数据是否完全相同,具体的比对方式将在后文进行详细举例说明,这里暂不说明。
应当理解的是,在本公开实施例中,得到第一差异数据和第二差异数据后还可以分别存储到对应的差异文件,然后在将第一差异数据和第二差异数据进行比对时,可以先根据文件名,查找同一数据表特定时间段的差异文件,然后将查找到的差异文件进行比对。其中,特定时间段可以包括一次比对的时间段和二次比对的时间段。
步骤S105,根据比对的结果,确定同步工具是否有效。
示例地,可以是当第一差异数据与第二差异数据不相同时,确定同步工具有效。而当第一差异数据与第二差异数相同时,确定同步工具失效。
其中,第一差异数据与第二差异数据相同,则说明通过同步工具未将一次比对中源数据库与目标数据库之间的差异同步至目标数据库,从而可以确定同步工具失效。反之,由于目标数据库的数据均来自于源数据库的数据同步,如果第一差异数据与第二差异数据不相同,则说明通过同步工具已将源数据库与目标数据库之间的差异同步至目标数据库,从而可以确定同步工具有效。
通过上述技术方案,无需停止同步工具,即可进行同步工具的有效性检测,从而不会造成数据同步的延时。并且,通过上述技术方案可以全自动化地完成同步工具的有效性检测,从而可以提高检测同步工具有效性的效率和准确率。
下面对本公开实施例中可能的比对第一差异数据和第二差异数据的方式以及相应的确定同步工具是否有效的方式进行说明。
在一种可能的方式中,将第一差异数据与第二差异数据进行比对可以是先确定第一差异数据与第二差异数据的存储位置,然后根据与存储位置对应的预设比对规则,将第一差异数据与第二差异数据进行比对。
示例地,存储位置可以是源数据库或目标数据库。确定第一差异数据与第二差异数据的存储位置即为确定第一差异数据与第二差异数据的存储位置是否为以下三种情况中的一种情况:仅存在于源数据库、仅存在于目标数据库、以及同时存在于源数据库和目标数据库。
示例地,确定存储位置可以是在将源数据库的数据与目标数据库的数据进行比对的过程中同时确定的。比如,将源数据库的数据与目标数据库的数据进行比对的过程,首先以源数据库的数据作为参照,依次查找目标数据库中是否存储有同一主键字段的数据。
如果目标数据库中未存储有相应的数据,那么可以得到该数据为差异数据,且存储位置仅为源数据库。如果目标数据库中存储有相应的数据,那么可以得到该数据为差异数据,且存储位置为源数据库和目标数据库。在另一种可能的方式中,如果将源数据库与目标数据库的数据依次比对后,目标数据库中还存在多余的数据,那么可以确定该多余的数据为差异数据,且存储位置仅为目标数据库。
应当理解的是,上述只是对确定差异数据的存储位置的方式进行的举例性说明,本公开在具体实施时,还可以通过其他可能的方式确定差异数据的存储位置,比如预先为源数据和目标数据库的数据添加用于表征存储位置的标识信息,然后通过标识信息确定存储位置,等等,本公开实施例对此不作限定。
在确定第一差异数据与第二差异数据的存储位置后,可以根据与存储位置对应的预设比对规则,将第一差异数据与第二差异数据进行比对。
主键字段是数据表中的一个或多个字段,数据表中的每条数据都包含主键字段,且每条数据的主键字段相互不重复。另外,主键字段在插入后不可更改,并且主键字段被删除后,不会再重复插入该主键字段。也即是说,通过主键字段可以唯一标识数据表中的某一条数据。因此,为了提高数据比对的效率,本公开实施例可以在特定情况下通过比对主键字段来实现第一差异数据与第二差异数据的比对。
在一种可能的方式中,如果确定第一差异数据与第二差异数据均存储于源数据库,或确定第一差异数据与第二差异数据均存储于目标数据库,那么可以进一步确定第一差异数据的主键字段与第二差异数据的主键字段是否相同,如果第一差异数据的主键字段与第二差异数据的主键字段不相同,则可以确定同步工具有效。
应当理解的是,第一差异数据的主键字段与第二差异数据的主键字段不相同可以是第一差异数据中每条数据的主键字段与第二差异数据中每条数据的主键字段均不相同。此种情况下,可以确定一次比对中发现的差异数据已被全部同步到目标数据库,从而可以确定同步工具有效。
另外,需要说明的是,在上述情形中,第二差异数据包括的是二次比对时发现的源数据库与目标数据库之间新的差异数据,该新的差异数据可以在后续数据同步过程中被同步至目标数据库。
在其他可能的情况中,如果第一差异数据的主键字段与第二差异数据的主键字段相同,即第一差异数据中每条数据的主键字段与第二差异数据中每条数据的主键字段部分相同或全部相同,则说明未将一次比对中发现的差异数据全部同步到目标数据库,从而可以确定同步工具失效。
示例地,确定第一差异数据的主键字段与第二差异数据的主键字段是否相同可以是依次以第一差异数据中的单条数据作为参照,查找第二差异数据中是否存在与该单条数据具有同一主键字段的数据,如果查找到第二差异数据中存在与该单条数据具有同一主键字段的数据,则可以确定第一差异数据的主键字段与第二差异数据的主键字段部分相同,从而可以确定同步工具失效。
在其他可能的情况下,如果未查找到第二差异数据中存在与该单条数据具有同一主键字段的数据,则在第一差异数据中以该单条数据的下一条数据作为参照,再次查找第二差异数据中是否存在具有同一主键字段的数据,依次类推,直到遍历完第一差异数据中的所有数据或第二差异数据中的所有数据。
下面对第一差异数据与第二差异数据均存储于源数据库以及第一差异数据与第二差异数据均存储于目标数据库这两种情况下,检测同步工具有效性的过程进行举例说明。
对于第一差异数据与第二差异数据均存储于源数据库的情况,例如,一次比对时,源数据库中存储有“学号为1,姓名为张三”和“学号为2,姓名为李四”的数据,目标数据库中存储有“学号为1,姓名为张三”的数据。因此,可以确定第一差异数据为“学号为2,姓名为李四”的数据。通过同步工具进行数据同步,再进行二次比对时,源数据库中存储有源数据库中存储有“学号为1,姓名为张三”、“学号为2,姓名为李四”的数据,目标数据库中存储有“学号为1,姓名为张三”的数据。因此,可以确定第二差异数据仍为“学号为2,姓名为李四”。并且,根据上述一次比对和二次比对,可以确定第一差异数据与第二差异数均存在于源数据库。
在此种情况下,如果将学号作为主键字段,那么可以确定第一差异数据与第二差异数据的主键字段均为学号为2,即第一差异数据与第二差异数据的主键字段相同,通过同步工具并未将一次比对时发现的源数据库与目标数据库之间的差异数据同步到目标数据库,因此可以确定同步工具失效。
对于第一差异数据与第二差异数据均存储于目标数据库的情况,例如,一次比对之前,源数据库中存储有“学号为1,姓名为张三”和“学号为2,姓名为李四”的数据,目标数据库中存储有“学号为1,姓名为张三”和“学号为2,姓名为李四”的数据。然后,在源数据库中进行了删除操作,删除了“学号为1,姓名为张三”的数据,即源数据库中当前存储有“学号为2,姓名为李四”的数据。但是,并未在目标数据库进行删除操作,即目标数据库中仍存储有“学号为1,姓名为张三”和“学号为2,姓名为李四”的数据。此种情况下,进行一次比对,可以确定第一差异数据为“学号为1,姓名为张三”。
通过同步工具进行数据同步,再进行二次比对时,源数据库中存储有源数据库中存储“学号为2,姓名为李四”的数据,目标数据库中存储有“学号为1,姓名为张三”和“学号为2,姓名为李四”的数据。因此,可以确定第二差异数据为“学号为1,姓名为张三”。并且,根据上述一次比对和二次比对,可以确定第一差异数据与第二差异数均存在于目标数据库。
此种情况下,如果将学号作为主键字段,那么可以确定第一差异数据与第二差异数据的主键字段均为学号为1,即第一差异数据与第二差异数据的主键字段相同,通过同步工具并未将一次比对时发现的源数据库与目标数据库之间的差异数据同步到目标数据库,因此可以确定同步工具失效。
通过上述方式,在第一差异数据和第二差异数均存在于源数据库或均存在于目标数据库的情况,可以将第一差异数据与第二差异数据的主键字段依次进行比对,相较于将第一差异数据与第二差异数据的全部数据项逐一进行比对的方式,上述方式可以提高数据比对的效率,进而可以提高同步工具有效性的检测效率。
在一种可能的方式中,如果确定第一差异数据和第二差异数据均同时存储于源数据库和目标数据库,那么可以进一步确定目标数据库中存储的第一差异数据与目标数据库中存储的第二差异数据是否相同。如果目标数据库中存储的第一差异数据与目标数据库中存储的第二差异数据不相同,则可以确定同步工具有效。
第一差异数据与第二差异数据均同时存储于源数据库和目标数据库,即在一次比对和二次比对的过程中,在源数据和目标数据库中确定了具有同一主键字段的数据,但该数据在源数据库和目标数据库的数据内容并不相同。
比如,一次比对时,源数据库中存储有“学号为1,姓名为张三”的数据,目标数据库中存储有“学号为1,姓名为李四”的数据。因此,可以确定第一差异数据为源数据库与目标数据库中主键字段是“学号为1”的数据,且目标数据库中存储的第一差异数据为“学号为1,姓名为李四”的数据。
通过同步工具进行数据同步,再进行二次比对时,源数据库中存储有“学号为1,姓名为张三”,目标数据库中存储有“学号为1,姓名为李四”的数据。因此,可以确定第二差异数据为源数据库与目标数据库中主键字段是“学号为1”的数据,且目标数据库中存储的第二差异数据为“学号为1,姓名为李四”的数据。
在此种情况下,第一差异数据与第二差异数据均存储于源数据库和目标数据库,因此可以进一步确定目标数据库中存储的第一差异数据与目标数据库中存储的第二差异数据是否相同,即确定具有同一主键字段的第一差异数据与第二差异数据在目标数据库中的数据内容是否一致。在上述举例中,第一差异数据与第二差异数据在目标数据库中的数据内容一致,均是“姓名为李四”,从而可以确定同步工具未将源数据库中的数据同步至目标数据库,进而可以确定同步工具失效。
在其他可能的情况下,如果第一差异数据与第二差异数据在目标数据库中的数据内容不相同,比如,在上述举例中,如果通过同步工具进行数据同步,再进行二次比对时,目标数据库中存储的数据变为“学号为1,姓名为张三”,那么可以确定同步工具已将源数据库中的数据同步至目标数据库,进而可以确定同步工具有效。
通过上述方式,如果第一差异数据与第二差异数据均存在于源数据库和目标数据库,那么可以进一步确定第一差异数据与第二差异数据在目标数据库中的数据内容是否相同,如果相同,则可以确定同步工具失效,否则可以确定同步工具有效,从而可以在不停止同步工具的情况下,进行同步工具的有效性检测,避免了数据同步过程中的延时,并提高了检测同步工具有效性的效率。
下面通过一个完整的示例性实施例对本公开中检测同步工具有效性的方法进行说明。参照图2,该方法可以包括以下步骤:
步骤S201,通过比对工具将源数据库的数据与目标数据库的数据进行一次比对,得到源数据库与目标数据库之间的第一差异数据。
步骤S202,记录一次比对的开始时刻和结束时刻。
步骤S203,通过同步工具将源数据库中从开始时刻到结束时刻之间的所有数据同步至目标数据库。
步骤S204,将源数据库的数据与同步数据后的目标数据库的数据进行二次比对,得到源数据库与目标数据库之间的第二差异数据。
步骤S205,确定第一差异数据与第二差异数据是否均存储于源数据库,如果是,则进入步骤S206,否则进入步骤S207。
步骤S206,确定第一差异数据的主键字段与第二差异数据的主键字段是否相同,如果是,则进入步骤S208,否则进入步骤S209。
步骤S207,确定第一差异数据与第二差异数据是否均存储于目标数据库,如果是,则进入步骤S206,否则进入步骤S210。
步骤S208,同步工具失效。
步骤S209,同步工具有效。
步骤S210,确定目标数据库中存储的第一差异数据与目标数据库中存储的第二差异数据是否相同,如果是,则进入步骤S208,否则进入步骤S209。
上述各步骤的具体实施方式已在上文进行详细举例说明,这里不再赘述。另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
通过上述方式,无需停止同步工具,即可进行同步工具的有效性检测,从而不会造成数据同步的延时。并且,通过上述技术方案可以全自动化地完成同步工具的有效性检测,从而可以提高同步工具有效性检测的效率和准确率。
在一种可能的方式中,可以将本公开实施例中检测同步工具有效性的方法集成在校验控制器和差异解析组件中。也即是说,本公开实施中检测同步工具有效性的方法的过程示意图可以如图3所示,相较于图4所示的相关技术中检测同步工具有效性的方法的过程示意图,本公开实施例可以通过校验控制器控制比对工具进行一次比对和二次比对、控制同步工具将源数据库的数据同步至目标数据库、以及驱动差异解析组件分析比对结果。同时,本公开实施例可以通过差异解析组件分析两次比对得到的差异数据,从而确定同步工具是否有效,可以实现对同步工具有效性的高效、准确检测。
基于同一发明构思,参照图5,本公开实施例还提供一种检测同步工具有效性的装置500,该装置500包括:
第一比对模块501,用于将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;
同步模块502,用于通过同步工具将所述源数据库中的数据同步至所述目标数据库;
第二比对模块503,用于将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据库之间的第二差异数据;
第三比对模块504,用于将所述第一差异数据与所述第二差异数据进行比对;
确定模块505,用于根据比对的结果,确定所述同步工具是否有效。
可选地,所述同步模块502用于:
记录所述一次比对的开始时刻与结束时刻;
通过同步工具将所述源数据库中从所述开始时刻至所述结束时刻之间的所有数据同步至所述目标数据库。
可选地,所述第三比对模块504包括:
确定子模块,用于确定所述第一差异数据与所述第二差异数据的存储位置,其中,所述存储位置为所述源数据库或所述目标数据库;
比对子模块,用于根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对。
可选地,确定子模块用于:
确定所述第一差异数据与所述第二差异数据均存储于所述源数据库;或确定所述第一差异数据与所述第二差异数据均存储于所述目标数据库;
所述比对子模块用于:
确定所述第一差异数据的主键字段与所述第二差异数据的主键字段是否相同;
所述确定模块505用于:
当所述第一差异数据的主键字段与所述第二差异数据的主键字段不相同时,确定所述同步工具有效。
可选地,所述确定子模块用于:
确定所述第一差异数据和所述第二差异数据均同时存储于所述源数据库和所述目标数据库;
所述比对子模块用于:
确定所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据是否相同;
所述确定模块505用于:
当所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据不相同时,确定所述同步工具有效。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过上述任一检测同步工具有效性的装置,无需停止同步工具,即可进行同步工具的有效性检测,从而不会造成数据同步的延时。并且,通过上述技术方案可以全自动化地完成同步工具的有效性检测,从而可以提高同步工具有效性检测的效率和准确率。
基于同一发明构思,本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一检测同步工具有效性的方法的步骤。
在可能的方式中,该电子设备的框图可以如图6所示。参照图6,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(I/O)接口604,以及通信组件605中的一者或多者。
其中,处理器601用于控制该电子设备600的整体操作,以完成上述的检测同步工具有效性的方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如第一差异数据、第二差异数据等等。
该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件607可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的检测同步工具有效性的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的检测同步工具有效性的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的检测同步工具有效性的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (10)
1.一种检测同步工具有效性的方法,其特征在于,所述方法包括:
将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;
通过同步工具将所述源数据库中的数据同步至所述目标数据库;
将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据库之间的第二差异数据;
将所述第一差异数据与所述第二差异数据进行比对;
根据比对的结果,确定所述同步工具是否有效。
2.根据权利要求1所述的方法,其特征在于,所述通过同步工具将所述源数据库中的数据同步至所述目标数据库,包括:
记录所述一次比对的开始时刻与结束时刻;
通过同步工具将所述源数据库中从所述开始时刻至所述结束时刻之间的所有数据同步至所述目标数据库。
3.根据权利要求1或2所述的方法,其特征在于,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述第一差异数据与所述第二差异数据的存储位置,其中,所述存储位置为所述源数据库或所述目标数据库;
根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对。
4.根据权利要求3所述的方法,其特征在于,所述确定所述第一差异数据与所述第二差异数据的存储位置,包括:
确定所述第一差异数据与所述第二差异数据均存储于所述源数据库;或确定所述第一差异数据与所述第二差异数据均存储于所述目标数据库;
所述根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述第一差异数据的主键字段与所述第二差异数据的主键字段是否相同;
所述根据比对的结果,确定所述同步工具是否有效,包括:
如果所述第一差异数据的主键字段与所述第二差异数据的主键字段不相同,则确定所述同步工具有效。
5.根据权利要求3所述的方法,其特征在于,所述确定所述第一差异数据与所述第二差异数据的存储位置,包括:
确定所述第一差异数据和所述第二差异数据均同时存储于所述源数据库和所述目标数据库;
所述根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对,包括:
确定所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据是否相同;
所述根据比对的结果,确定所述同步工具是否有效,包括:
如果所述目标数据库中存储的所述第一差异数据与所述目标数据库中存储的所述第二差异数据不相同,则确定所述同步工具有效。
6.一种检测同步工具有效性的装置,其特征在于,所述装置包括:
第一比对模块,用于将源数据库的数据与目标数据库的数据进行一次比对,得到所述源数据库与所述目标数据库之间的第一差异数据;
同步模块,用于通过同步工具将所述源数据库中的数据同步至所述目标数据库;
第二比对模块,用于将所述源数据库的数据与同步数据后的所述目标数据库的数据进行二次比对,得到所述源数据库与所述目标数据库之间的第二差异数据;
第三比对模块,用于将所述第一差异数据与所述第二差异数据进行比对;
确定模块,用于根据比对的结果,确定所述同步工具是否有效。
7.根据权利要求6所述的装置,其特征在于,所述同步模块用于:
记录所述一次比对的开始时刻与结束时刻;
通过同步工具将所述源数据库中从所述开始时刻至所述结束时刻之间的所有数据同步至所述目标数据库。
8.根据权利要求6或7所述的装置,其特征在于,所述第三比对模块包括:
确定子模块,用于确定所述第一差异数据与所述第二差异数据的存储位置,其中,所述存储位置为所述源数据库或所述目标数据库;
比对子模块,用于根据与所述存储位置对应的预设比对规则,将所述第一差异数据与所述第二差异数据进行比对。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447238.1A CN110263094B (zh) | 2019-05-27 | 2019-05-27 | 检测同步工具有效性的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910447238.1A CN110263094B (zh) | 2019-05-27 | 2019-05-27 | 检测同步工具有效性的方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110263094A true CN110263094A (zh) | 2019-09-20 |
CN110263094B CN110263094B (zh) | 2021-07-30 |
Family
ID=67915545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910447238.1A Active CN110263094B (zh) | 2019-05-27 | 2019-05-27 | 检测同步工具有效性的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110263094B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589961A (zh) * | 2015-12-21 | 2016-05-18 | 武汉达梦数据库有限公司 | 一种数据库实时同步系统数据一致性的检测方法及系统 |
US20180260467A1 (en) * | 2017-03-07 | 2018-09-13 | Mcafee, Llc | Aggregate, index based, synchronization of node contents |
CN108664593A (zh) * | 2018-05-08 | 2018-10-16 | 东软集团股份有限公司 | 数据一致性校验方法、装置、存储介质及电子设备 |
EP3480771A1 (en) * | 2017-11-06 | 2019-05-08 | Tata Consultancy Services Limited | Method and system for managing exceptions during reconciliation of transactions |
-
2019
- 2019-05-27 CN CN201910447238.1A patent/CN110263094B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589961A (zh) * | 2015-12-21 | 2016-05-18 | 武汉达梦数据库有限公司 | 一种数据库实时同步系统数据一致性的检测方法及系统 |
US20180260467A1 (en) * | 2017-03-07 | 2018-09-13 | Mcafee, Llc | Aggregate, index based, synchronization of node contents |
EP3480771A1 (en) * | 2017-11-06 | 2019-05-08 | Tata Consultancy Services Limited | Method and system for managing exceptions during reconciliation of transactions |
CN108664593A (zh) * | 2018-05-08 | 2018-10-16 | 东软集团股份有限公司 | 数据一致性校验方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110263094B (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346284B (zh) | 一种应用程序的检测方法及检测装置 | |
CN110659256B (zh) | 多机房同步方法、计算设备及计算机存储介质 | |
CN111159697B (zh) | 一种密钥检测方法、装置及电子设备 | |
CN109376142B (zh) | 数据迁移方法及终端设备 | |
CN109766697A (zh) | 应用于Linux系统的漏洞扫描方法、存储介质、设备及系统 | |
CN109829145A (zh) | 业务表单的绘制方法、装置、存储介质和电子设备 | |
CN109582524A (zh) | 一种测试方法、系统及电子设备和存储介质 | |
CN104834749A (zh) | 一种移动终端与pc端的文件同步方法及同步系统 | |
CN103440363A (zh) | 一种fpga布局布线后仿真中异常信号溯源方法 | |
US10114951B2 (en) | Virus signature matching method and apparatus | |
CN110263094A (zh) | 检测同步工具有效性的方法、装置、存储介质及电子设备 | |
EP3986004A1 (en) | Nfc device and method of operating the same | |
CN110647421B (zh) | 数据库处理方法、装置、系统以及电子设备 | |
CN107861779A (zh) | 页面对象定位方法及装置、存储介质、电子设备 | |
CN109189864B (zh) | 一种数据同步延时的确定方法、装置和设备 | |
CN108664250B (zh) | 一种代码处理方法及装置 | |
CN112860585B (zh) | 一种测试脚本断言生成方法及装置 | |
CN110347581B (zh) | 测试方法和装置以及电子设备 | |
CN106778301A (zh) | 基于cocos2d‑x的可靠的跨平台数据存储方法及系统 | |
CN114021131A (zh) | 一种获取数据分析图谱的方法、装置及电子设备 | |
JP5525905B2 (ja) | セルサーチ装置及び方法、並びに、無線通信端末 | |
CN103645966A (zh) | Wat测试程式的备份方法和备份装置 | |
CN113407386B (zh) | 一种模拟测试居民证件的装置 | |
US20210342396A1 (en) | Retrieval sentence utilization device and retrieval sentence utilization method | |
CN113064588B (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 |