CN114385631A - 校验方法、装置、服务器及存储介质 - Google Patents
校验方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN114385631A CN114385631A CN202111556695.8A CN202111556695A CN114385631A CN 114385631 A CN114385631 A CN 114385631A CN 202111556695 A CN202111556695 A CN 202111556695A CN 114385631 A CN114385631 A CN 114385631A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- time period
- time
- data set
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000002159 abnormal effect Effects 0.000 claims abstract description 33
- 230000001360 synchronised effect Effects 0.000 claims abstract description 28
- 238000013500 data storage Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005192 partition Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开是关于校验方法、装置、服务器及存储介质,该方法包括:获取第一数据表中的与第一时间段相关的第一数据集,其中,第一数据表中的数据是通过中间件同步方式从源数据表发送至第一数据表中的;获取源数据表中数据存储时间在第二时间段内的第二数据集,其中第二时间段在第一时间段的时间范围内;当第一数据集包括第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
Description
技术领域
本公开涉及互联网领域,具体涉及校验方法、装置、服务器及存储介质。
背景技术
在不同的两个数据表之间进行数据同步是相关系统的维护过程中经常需要进行的操作。例如,在大数据系统中,收集到的数据通常存储在OLTP(On-Line TransactionProcessing,联机事物处理过程)类型的数据库中的源数据表中,同时,对于诸如大数据查询服务的相关服务而言,OLAP(Online Analytical Processing,联机分析处理)类型的数据库的读写数据的性能更高,因此,经常需要将源数据表中的数据同步至OLAP类型的数据库中的目标数据表中。
由于需要同步的数据量大,通常通过中间件同步方式,每一次将源数据表中的需要同步的全部数据中的一部分发送至目标数据表中。
若由于某种原因,导致应该发送至目标数据表中的一些数据没有发送至目标数据表中,则当通过中间件同步方式进行数据同步时出现数据同步异常情况。目前,缺乏在不同的数据表之间通过中间件同步方式进行数据同步的情况下,确定是否出现数据同步异常情况的手段。
发明内容
本公开提供一种校验方法、装置、服务器及存储介质,以至少解决相关技术中的缺乏在不同的数据表之间通过中间件同步方式进行数据同步的情况下,确定是否出现数据同步异常情况的手段的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种校验方法,包括:
获取第一数据表中的与第一时间段相关的第一数据集,其中,所述第一数据表中的数据是通过中间件同步方式从源数据表发送至所述第一数据表中的;
获取所述源数据表中数据存储时间在第二时间段内的第二数据集,其中所述第二时间段在所述第一时间段的时间范围内;
当所述第一数据集包括所述第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在一些实施例中,在获取第一数据表中的与第一时间段相关的第一数据集之前,所述方法还包括:
获取候选数据表中在每个统计时间段内的操作次数数据;
基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表。
在一些实施例中,基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表包括:
当所述候选数据表在每一个统计时间段内均被进行数据存储操作时,将所述候选数据表作为所述源数据表。
在一些实施例中,获取所述源数据表中数据存储时间在第二时间段内的第二数据集包括:
向所述源数据表所属的数据库发送同步指令,以由所述源数据表所属的数据库从所述源数据表中查找出所述第二数据集并且将所述第二数据集发送至第二数据表,其中,所述同步指令包括:所述第二时间段的开始时刻、所述第二时间段的结束时刻,所述源数据表所属的数据库基于所述开始时刻和所述结束时刻,确定所述第二时间段并且从所述源数据表中查找出数据存储时间在所述第二时间段内的数据,以查找出所述第二数据集;
从所述第二数据表中获取所述第二数据集。
在一些实施例中,所述第一时间段的起始时刻早于第二时间段的起始时刻,所述第一时间段的结束时刻晚于第二时间段的结束时刻。
在一些实施例中,所述方法还包括:
当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,将每一个在所述第二数据集中但未出现在所述第一数据集中的差异数据、所述第二时间段的起始时刻、所述第二时间段的结束时刻存储在预设差异数据表中。
根据本公开实施例的第二方面,提供一种校验装置,包括:
第一获取模块,被配置为获取第一数据表中的与第一时间段相关的第一数据集,其中,所述第一数据表中的数据是通过中间件同步方式从源数据表发送至所述第一数据表中的;
第二获取模块,被配置为获取所述源数据表中数据存储时间在第二时间段内的第二数据集,其中所述第二时间段在所述第一时间段的时间范围内;
校验模块,被配置为当所述第一数据集包括所述第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在一些实施例中,校验装置还包括:
确定模块,被配置为获取候选数据表中在每个统计时间段内的操作次数数据;基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表。
在一些实施例中,确定模块进一步被配置为当所述候选数据表在每一个统计时间段内均被进行数据存储操作时,将所述候选数据表作为所述源数据表。
在一些实施例中,第二获取模块进一步被配置为向所述源数据表所属的数据库发送同步指令,以由所述源数据表所属的数据库从所述源数据表中查找出所述第二数据集并且将所述第二数据集发送至第二数据表,其中,所述同步指令包括:所述第二时间段的开始时刻、所述第二时间段的结束时刻,所述源数据表所属的数据库基于所述开始时刻和所述结束时刻,确定所述第二时间段并且从所述源数据表中查找出数据存储时间在所述第二时间段内的数据,以查找出所述第二数据集。
在一些实施例中,所述第一时间段的起始时刻早于第二时间段的起始时刻,所述第一时间段的结束时刻晚于第二时间段的结束时刻。
在一些实施例中,校验装置还包括:
存储模块,被配置为当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,将每一个在所述第二数据集中但未出现在所述第一数据集中的差异数据、所述第二时间段的起始时刻、所述第二时间段的结束时刻存储在预设差异数据表中。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如第一方面中任一项的方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器可以执行如第一方面中任一项的方法。
根据本公开实施例的第五方面,提供计算机程序产品,包括计算机可读代码,当所述计算机可读代码在服务器运行时,使得所述服务器执行如第一方面中任一项的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
在源数据表与第一数据表之间通过中间件同步方式进行数据同步的情况下,将第二数据集视为应该通过中间件同步方式同步至第一数据库中的数据集,当第一数据集包括第二数据集时,生成指示当未出现数据同步异常情况的校验结果,当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。从而,在不同的数据表之间通过中间件同步方式进行数据同步的情况下,确定是否出现数据同步异常情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种校验方法的一个实施例的流程图;
图2是通过中间件同步方式进行数据同步的一个流程示意图;
图3是根据一示例性实施例示出的一种校验方法的另一个实施例的流程图;
图4是存储差异数据、第二时间段的起始时刻和结束时刻的一个流程示意图;
图5是根据一示例性实施例示出的一种校验装置的结构框图;
图6是根据一示例性实施例示出的一种服务器的结构框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的校验方法的一个实施例的流程图。该方法包括以下步骤:
步骤101,获取第一数据表中的与第一时间段相关的第一数据集,第一数据表中的数据是通过中间件同步方式从源数据表发送至第一数据表中的。
在本公开中,第一数据表可以为OLAP类型的数据库例如Hive数据库中的数据表,源数据表可以为OLTP类型的数据库例如MySQL数据库中的数据表。
在本公开中,用于中间件同步方式的中间件可以包括:第一同步模块、消息队列、第二同步模块。第一同步模块用于从源数据表读取数据并且将数据写入消息队列。第二同步模块用于从消息队列读取数据并且将读取出的数据发送至第一数据表。中间件同步方式可以为:第一同步模块可以每一次读取源数据表中的预设数量个待同步数据并且将读取出的预设数量个待同步数据写入到消息队列中,待同步数据为出现在源数据表中但未出现在第一数据表中的数据;第二同步模块可以每一次从消息队列读取预设数量个待同步数据并且将读取出的预设数量个待同步数据写入第一数据表。
请参考图2,其示出了通过中间件同步方式进行数据同步的一个流程示意图。
用于中间件同步方式的中间件可以包括CDC(Change Data Capture,变化捕捉)服务、消息队列、数据处理模块。CDC服务可以每一次读取源数据表中的预设数量个待同步数据并且将读取出的预设数量个待同步数据写入到消息队列中,待同步数据为出现在源数据表中但未出现在第一数据表中的数据。数据处理模块可以每一次从消息队列读取预设数量个待同步数据并且将读取出的预设数量个待同步数据写入第一数据表。
在本公开中,第一数据集与第一时间段相关。第一数据表包括第一数据表中的每一个数据的存储时间。第一数据表中的数据的存储时间表示将该数据存储在第一数据表中的时间。对于第一数据表中的每一个数据,该数据是否在第一数据集中根据第一数据表中的、该数据的存储时间是否在第一时间段内确定。
对于第一数据表中的一个数据,若第一数据表中的、该数据的存储时间在第一时间段内,则该数据作为第一数据集中的一个数据。
若第一数据表包括多个存储分区,第一数据集可以由第一数据表的与第一时间段相关的每一个存储分区中的数据组成。第一数据表中的每一个存储分组对应一个时间段,每一个存储分区对应的时间段的时长可以相同。
对于一个存储分区中每一个数据,第一数据表中的该数据的存储时间位于该存储分组对应的时间段内。若一个存储分区对应的时间段在第一时间段的时间范围内,则该存储分区为与第一时间段相关的存储分区。与第一时间段相关的存储分区的数量可以为多个。
例如,第一时间段为8:00-11:00,与第一时间段相关的所有存储分区包括8:00-9:00这一时间段对应的存储分区、9:00-10:00这一时间段对应的存储分区、10:00-11:00这一时间段对应的存储分区。
在本公开中,可以由用于从第一数据表读取数据的进程从第一数据表中读取第一数据集,从而获取第一数据集。
步骤102,获取源数据表中数据存储时间在第二时间段内的第二数据集,第二时间段在第一时间段的时间范围内。
在本公开中,源数据表包括源数据表中的每一个数据的存储时间。对于源数据表中的任意一个数据,位于源数据表中的、该数据的存储时间表示将该数据存储在源数据表中的时间。步骤102中的数据存储时间是指源数据表中的数据的存储时间。对于第二数据集中的每一个数据,源数据表中的、该数据的存储时间在第二时间段内。换言之,对于第二数据表中的一个数据,若第二数据表中的、该数据的存储时间在第二时间段内,则该数据作为第二数据集中的一个数据。
在本公开中,当获取第二数据集时,可以由用于获取第二数据集的进程建立与源数据表所属的数据库之间的数据库连接,用于获取第二数据集的进程可以向源数据表所属的数据库发送查询请求,查询请求包括源数据表的标识、第二时间段的开始时刻、第二时间段的结束时刻,源数据表所属的数据库可以根据第二时间段的开始时刻和第二时间段的结束时刻,确定第二时间段,从源数据表中查找出第二数据集,源数据表所属的数据库向用于获取第二数据集的进程返回第二数据集。
在本公开中,第二时间段在第一时间段的时间范围内。第一时间段的起始时刻可以与第二时间段的起始时刻相同,第一时间段的结束时刻晚于第二时间段的结束时刻。第二时间段在第一时间段的时间范围内,可以避免由于通过中间件同步方式进行数据同步存在延迟而造成生成的校验结果错误。
对于一个数据,第一数据表中的该数据的存储时间表示将该数据存储在第一数据表中的时间,源数据表中的该数据的存储时间表示将该数据存储在源数据表中的时间,第一数据表中的该数据的存储时间与源数据表中的该数据的存储时间可能不同,若第一时间段与第二时间段相同,可能造成生成的校验结果错误的情况。
例如,第二时间段为9:00-10:00,对于一个数据,源数据表中的该数据的存储时间即将该数据存储在源数据表中的时间为10:00,第二数据集包括该数据,由于通过中间件同步方式进行数据同步存在延迟,第一数据表中的该数据的存储时间即将该数据存储在第一数据表中的时间晚于10:00,第一数据表中的该数据的存储时间为10:10,若第一时间段与第二时间段相同,第一时间段也为9:00-10:00,由于该数据是否在第一数据集中是根据第一数据表中的、该数据的存储时间是否在第一时间段内确定的,第一数据表中的、该数据的存储时间为10:10,不在第一时间段内,因此,第一数据集不包括该数据。根据第二数据集包括该数据,第一数据集不包括该数据,确定第一数据集不包括第二数据集,生成指示出现数据同步异常情况的校验结果。实际上该数据被成功同步至第一数据表中,进而造成由于该数据生成的校验结果错误。而如果第二时间段在第一时间段的时间范围内,例如,第一时间段为9:00-11:00,第一数据表中的该数据的存储时间为10:10位于第一时间段9:00-11:00内,则第一数据集包括该数据,可以避免由于该数据造成生成的校验结果错误。
步骤103,当第一数据集包括第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在本实施例中,可以确定第一数据集是否包括第二数据集,即确定第二数据集中的每一个数据是否均出现在第一数据集中。可以遍历第二数据集,确定通过遍历访问到的第二数据集中的数据是否出现在第一数据集中。若第一数据集包括第二数据集,可以确定通过中间件同步方式进行数据同步,第二数据集中的每一个数据均被同步至第一数据表,可以生成指示未出现数据同步异常情况的校验结果。
在本实施例中,将出现在第二数据集中并且未出现在第一数据集中的数据称之为差异数据。当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在本实施例中,在源数据表与第一数据表之间通过中间件同步方式进行数据同步的情况下,将第二数据集视为应该通过中间件同步方式同步至第一数据库中的数据集,当第一数据集包括第二数据集时,生成指示当未出现数据同步异常情况的校验结果,当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。从而,在不同的数据表之间通过中间件同步方式进行数据同步的情况下,确定是否出现数据同步异常情况。
图3是根据一示例性实施例示出的校验方法的另一个实施例的流程图。该方法包括以下步骤:
步骤301,获取第一数据表中的与第一时间段相关的第一数据集,第一数据表中的数据是通过中间件同步方式从源数据表发送至第一数据表中的,源数据表是通过操作次数数据确定的。
在本实施例中,在获取第一数据表中的与第一时间段相关的第一数据集之前,可以获取候选数据表中在每个统计时间段内的操作次数数据;基于候选数据表的操作次数数据,确定候选数据表是否作为源数据表。
候选数据表来自源数据表所属的数据库,在获取第一数据表中的与第一时间段相关的第一数据集之前,候选数据表可以为源数据表所属的数据库中的任意一个数据表。
在本实施例中,可以将一个时长为第一预设时长例如1小时的时间段划分为多个时长为第二预设时长例如1分钟的统计时间段。
对于一个候选数据表和一个统计时间段,候选数据表在该统计时间段的内的操作次数数据可以为:在该统计时间段内对该对候选数据表进行的数据存储操作的次数。对于一个候选数据表,对该候选数据表进行的数据存储操作为将数据写入该候选数据表。
在本实施例中,可以获取候选数据表在每个统计时间段内的操作次数数据,例如,统计时间段的时长为1分钟,将某一天中的时长为1个小时时间段划分为60个统计时间段,可以获取候选数据表在60个统计时间段中的每一个时间段内的操作次数数据。
在本实施例中,当基于候选数据表的操作次数数据,确定候选数据表是否作为源数据表时,可以确定所有统计时间段中的目标统计时间段的数量是否大于数量阈值。对于一个统计时间段,若候选数据表在该统计时间段内的操作次数数据不为0,即在该统计时间段内对候选数据表进行至少一次数据存储操作,则该统计时间段为一个目标统计时间段。当所有统计时间段中的目标统计时间段的数量大于数量阈值时,可以将候选数据表作为源数据表。
在不同的数据表之间通过中间件同步方式进行数据同步的情况下,确定是否出现数据同步异常情况时,如果参与确定是否出现数据同步异常情况的数据的数据量过少,将无法有效地测试中间件同步方式的并发数据处理能力,即使生成的校验结果为未出现数据同步异常情况的校验结果,由于无法有效地测试中间件同步方式的并发数据处理能力,生成的校验结果的可信程度也较低。
在本实施例中,可以基于候选数据表的操作次数数据,确定候选数据表是否作为源数据表,当所有统计时间段中的目标统计时间段的数量大于数量阈值时,可以将候选数据表作为源数据表。所有统计时间段中的目标统计时间段的数量大于数量阈值可以反映出针对源数据表的存储操作的频率较高,有较多的数据被写入到源数据表中。从而,可以使得源数据表具有较多的数据,进而可以有较多的数据从源数据表同步至第一数据表,从第一数据表获取到的的第一数据集可以具有较多的数据,同时,从源数据表中获取的第二数据集可以具有较多的数据,有较多的数据参与确定是否出现数据同步异常情况,避免参与确定是否出现数据同步异常情况的数据的数据量过少,导致生成的校验结果的可信程度也较低的情况。
在本实施例中,当基于候选数据表的操作次数数据,确定候选数据表是否作为源数据表时,可以判断候选数据表在每一个统计时间段内是否均被进行数据存储操作,当候选数据表在每一个统计时间段内均被进行数据存储操作时,可以将候选数据表作为源数据表。
在本实施例中,对于一个候选数据表,当该候选数据表在每一个统计时间段内均被进行数据存储操作时,即该候选数据表在每一个统计时间段的时间段内的操作次数数据均不为0时,可以将该候选数据表作为源数据表。
在本实施例中,当候选数据表在每一个统计时间段内均被进行数据存储操作时,将候选数据表作为源数据表。源数据表在每一个统计时间段内均被进行数据存储操作,可以反映出针对源数据表的存储操作的频率高,有大量的数据被写入到源数据表中。来自源数据表的第一数据集、第二数据集可以具有较多的数据,有较多的数据参与确定是否出现数据同步异常情况,避免参与确定是否出现数据同步异常情况的数据的数据量过少,导致生成的校验结果的可信程度也较低的情况。
步骤302,获取源数据表中数据存储时间在第二时间段内的第二数据集,第二时间段在第一时间段的时间范围内,第一时间段的起始时刻早于第二时间段的起始时刻,第一时间段的结束时刻晚于第二时间段的结束时刻。
在本公开中,当获取第二数据集时,可以向源数据表所属的数据库发送同步指令,以由源数据表所属的数据库从源数据表中查找出第二数据集并且将第二数据集发送至第二数据表;从第二数据表中获取第二数据集。同步指令包括:第二时间段的开始时刻、第二时间段的结束时刻。源数据表所属的数据库在接收到同步指令之后,源数据表所属的数据库可以基于第二时间段的开始时刻、第二时间段的结束时刻,确定第二时间段,可以从源数据表中查找出数据存储时间在第二时间段内的数据,查找出的所有数据存储时间在第二时间段内的数据构成第二数据集,从而,源数据表所属的数据库查找出第二数据集。源数据表所属的数据库将第二数据集发送至第二数据表。
在本实施例中,可以向源数据表所属的数据库发送同步指令,然后,可以由用于获取第二数据集的进程直接从第二数据表中获取第二数据集。而无需由用于获取第二数据集的进程建立与源数据表所属的数据库之间的数据库连接,也无需由用于获取第二数据集的进程向源数据表所属的数据库发送查询请求,提升获取第二数据集的便利性。
在本实施例中,第二时间段在第一时间段的时间范围内,第一时间段的起始时刻早于第二时间段的起始时刻,第一时间段的结束时刻晚于第二时间段的结束时刻。
数据表中的数据表存储时间可能由相应的计时系统提供。在本实施例中,第一时间段的起始时刻早于第二时间段的起始时刻,可以避免提供源数据表中的数据的存储时间的计时系统和提供第一数据表中的数据的存储时间的计时系统不同,造成生成的校验结果错误的情况。
例如,第二时间段为9:00-10:00,对于一个数据,第一计时系统提供的源数据表中的该数据的存储时间为9:00,第二数据表包括该数据。该数据实际上被成功同步至第一数据表中,如果第一数据表中的该数据的存储时间也由第一计时系统提供,由于通过中间件同步方式同步数据存在延迟,第一数据表中的该数据的存储时间应该晚于9:00,例如9:01,但是由于是第二计时系统提供第一数据表中的该数据的存储时间,第二计时系统例如一个时钟比第一计时系统例如另一个时钟慢一定时长例如2分钟,第二计时系统提供的、第一数据表中的该数据的存储时间为8:59。如果第一时间段为9:00-11:00,由于该数据是否在第一数据集中是根据第一数据表中的、该数据的存储时间是否在第一时间段内确定的,第一数据表中的、该数据的存储时间为8:59,8:59不在第一时间段内,因此,第一数据集不包括该数据。根据第二数据集包括该数据,第一数据集不包括该数据,确定第一数据集不包括第二数据集,生成指示出现数据同步异常情况的校验结果,而实际上该数据被成功同步至第一数据表中,进而造成由于该数据生成的校验结果错误。而如果第二时间段在第一时间段的时间范围内,第一时间段的起始时刻早于第二时间段的起始时刻,例如,第一时间段为8:00-11:00,第一数据表中的、该数据的存储时间8:59位于第一时间段8:00-11:00中,则第一数据集包括该数据,可以避免由于该数据造成生成的校验结果错误。
步骤303,当第一数据集包括第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在本实施例中,当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,可以将每一个在第二数据集中但未出现在第一数据集中的差异数据、第二时间段的起始时刻、第二时间段的结束时刻存储在预设差异数据表中。从而,若运维工程师需要了解通过中间件同步方式同步数据,在同步与哪一个时间段相关的数据时出现数据同步异常情况,可以从预设差异数据表中读取出每一个在第二数据集中但未出现在第一数据集中的差异数据、第二时间段的起始时刻、第二时间段的结束时刻,可以向运维工程师展示每一个在第二数据集中但未出现在所述第一数据集中的差异数据、第二时间段的起始时刻、第二时间段的结束时刻,使得运维工程师可以了解在在同步与第二时间段相关的数据时出现数据同步异常情况。
请参考图4,其示出了存储差异数据、第二时间段的起始时刻和结束时刻的一个流程示意图。
第一数据集中的数据的存储时间在第一时间段8:00-11:00内,第一数据集中的数据的存储时间指示将数据存储在第一数据表中的时间,第一数据集中的数据的存储时间存储在第一数据表中。第二数据集中的数据的存储时间在第二时间段9:00-10:00内,第二数据集中的数据的存储时间指示将数据存储在第二数据表中的时间,第二数据集中的数据的存储时间存储在第二数据表中。确定是否存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据,当存在至少一个出现在第二数据集中但未出现在第一数据集中的差异数据时,将每一个在第二数据集中但未出现在第一数据集中的差异数据、第二时间段的起始时刻即9:00、第二时间段的结束时刻10:00存储在预设差异数据表中。
图5是根据一示例性实施例示出的一种校验装置的结构框图。参照图5,校验装置包括:第一获取模块501,第二获取模块502,校验模块503。
第一获取模块501被配置为获取第一数据表中的与第一时间段相关的第一数据集,其中,所述第一数据表中的数据是通过中间件同步方式从源数据表发送至所述第一数据表中的;
第二获取模块502被配置为获取所述源数据表中数据存储时间在第二时间段内的第二数据集,其中所述第二时间段在所述第一时间段的时间范围内;
校验模块503被配置为当所述第一数据集包括所述第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
在一些实施例中,校验装置还包括:
确定模块,被配置为获取候选数据表中在每个统计时间段内的操作次数数据;基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表。
在一些实施例中,确定模块进一步被配置为当所述候选数据表在每一个统计时间段内均被进行数据存储操作时,将所述候选数据表作为所述源数据表。
在一些实施例中,第二获取模块502进一步被配置为向所述源数据表所属的数据库发送同步指令,以由所述源数据表所属的数据库从所述源数据表中查找出所述第二数据集并且将所述第二数据集发送至第二数据表,其中,所述同步指令包括:所述第二时间段的开始时刻、所述第二时间段的结束时刻,所述源数据表所属的数据库基于所述开始时刻和所述结束时刻,确定所述第二时间段并且从所述源数据表中查找出数据存储时间在所述第二时间段内的数据,以查找出所述第二数据集。
在一些实施例中,所述第一时间段的起始时刻早于第二时间段的起始时刻,所述第一时间段的结束时刻晚于第二时间段的结束时刻。
在一些实施例中,校验装置还包括:
存储模块,被配置为当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,将每一个在所述第二数据集中但未出现在所述第一数据集中的差异数据、所述第二时间段的起始时刻、所述第二时间段的结束时刻存储在预设差异数据表中。
图6是根据一示例性实施例示出的一种服务器的结构框图。参照图6,服务器包括处理组件622,其进一步包括一个或多个处理器,以及由存储器632所代表的存储器资源,用于存储可由处理组件622执行的指令,例如应用程序。存储器632中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件622被配置为执行指令,以执行上述方法。
服务器还可以包括一个电源组件626被配置为执行服务器的电源管理,一个有线或无线网络接口650被配置为将服务器连接到网络,和一个输入输出(I/O)接口658。服务器可以操作基于存储在存储器632的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器执行以完成上述校验方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,本申请还提供一种计算机程序产品,包括计算机可读代码,当计算机可读代码在服务器上执行时,使得服务器执行上述校验方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种校验方法,其特征在于,所述方法包括:
获取第一数据表中的与第一时间段相关的第一数据集,其中,所述第一数据表中的数据是通过中间件同步方式从源数据表发送至所述第一数据表中的;
获取所述源数据表中数据存储时间在第二时间段内的第二数据集,其中所述第二时间段在所述第一时间段的时间范围内;
当所述第一数据集包括所述第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
2.根据权利要求1所述的方法,其特征在于,在获取第一数据表中的与第一时间段相关的第一数据集之前,所述方法还包括:
获取候选数据表中在每个统计时间段内的操作次数数据;
基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表。
3.根据权利要求2所述的方法,基于所述候选数据表的操作次数数据,确定所述候选数据表是否作为所述源数据表包括:
当所述候选数据表在每一个统计时间段内均被进行数据存储操作时,将所述候选数据表作为所述源数据表。
4.根据权利要求1所述的方法,其特征在于,获取所述源数据表中数据存储时间在第二时间段内的第二数据集包括:
向所述源数据表所属的数据库发送同步指令,以由所述源数据表所属的数据库从所述源数据表中查找出所述第二数据集并且将所述第二数据集发送至第二数据表,其中,所述同步指令包括:所述第二时间段的开始时刻、所述第二时间段的结束时刻,所述源数据表所属的数据库基于所述开始时刻和所述结束时刻,确定所述第二时间段并且从所述源数据表中查找出数据存储时间在所述第二时间段内的数据,以查找出所述第二数据集;
从所述第二数据表中获取所述第二数据集。
5.根据权利要求1所述的方法,其特征在于,所述第一时间段的起始时刻早于第二时间段的起始时刻,所述第一时间段的结束时刻晚于第二时间段的结束时刻。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,将每一个在所述第二数据集中但未出现在所述第一数据集中的差异数据、所述第二时间段的起始时刻、所述第二时间段的结束时刻存储在预设差异数据表中。
7.一种校验装置,其特征在于,所述装置包括:
第一获取模块,被配置为获取第一数据表中的与第一时间段相关的第一数据集,其中,所述第一数据表中的数据是通过中间件同步方式从源数据表发送至所述第一数据表中的;
第二获取模块,被配置为获取所述源数据表中数据存储时间在第二时间段内的第二数据集,其中所述第二时间段在所述第一时间段的时间范围内;
校验模块,被配置为当所述第一数据集包括所述第二数据集时,生成指示未出现数据同步异常情况的校验结果,当存在至少一个出现在所述第二数据集中但未出现在所述第一数据集中的差异数据时,生成指示出现数据同步异常情况的校验结果。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在服务器上运行时,使得服务器执行如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556695.8A CN114385631A (zh) | 2021-12-17 | 2021-12-17 | 校验方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111556695.8A CN114385631A (zh) | 2021-12-17 | 2021-12-17 | 校验方法、装置、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385631A true CN114385631A (zh) | 2022-04-22 |
Family
ID=81198470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111556695.8A Pending CN114385631A (zh) | 2021-12-17 | 2021-12-17 | 校验方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385631A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153784A (zh) * | 2016-12-06 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 同步数据处理方法和装置 |
CN109033127A (zh) * | 2018-05-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种同步数据校验方法、装置以及设备 |
CN109739831A (zh) * | 2018-11-23 | 2019-05-10 | 网联清算有限公司 | 数据库之间数据校验方法及装置 |
CN110196758A (zh) * | 2018-05-10 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN110442564A (zh) * | 2019-07-23 | 2019-11-12 | 福建天泉教育科技有限公司 | 增量数据校验方法、存储介质 |
CN113064909A (zh) * | 2021-06-03 | 2021-07-02 | 广州宸祺出行科技有限公司 | 一种数据同步校验方法、装置 |
CN113076310A (zh) * | 2021-04-30 | 2021-07-06 | 浙江太美医疗科技股份有限公司 | 实时数据仓库的数据校验方法、系统及计算机可读介质 |
CN113626416A (zh) * | 2020-05-07 | 2021-11-09 | 华为技术有限公司 | 数据校验的方法、装置、计算设备和存储介质 |
-
2021
- 2021-12-17 CN CN202111556695.8A patent/CN114385631A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108153784A (zh) * | 2016-12-06 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 同步数据处理方法和装置 |
CN110196758A (zh) * | 2018-05-10 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN109033127A (zh) * | 2018-05-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种同步数据校验方法、装置以及设备 |
CN109739831A (zh) * | 2018-11-23 | 2019-05-10 | 网联清算有限公司 | 数据库之间数据校验方法及装置 |
CN110442564A (zh) * | 2019-07-23 | 2019-11-12 | 福建天泉教育科技有限公司 | 增量数据校验方法、存储介质 |
CN113626416A (zh) * | 2020-05-07 | 2021-11-09 | 华为技术有限公司 | 数据校验的方法、装置、计算设备和存储介质 |
CN113076310A (zh) * | 2021-04-30 | 2021-07-06 | 浙江太美医疗科技股份有限公司 | 实时数据仓库的数据校验方法、系统及计算机可读介质 |
CN113064909A (zh) * | 2021-06-03 | 2021-07-02 | 广州宸祺出行科技有限公司 | 一种数据同步校验方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321387B (zh) | 数据同步方法、设备及终端设备 | |
CN107515874B (zh) | 一种分布式非关系型数据库中同步增量数据的方法与设备 | |
US12007956B1 (en) | Time reservations for ensuring consistent reads in a distributed database without logging | |
CN111177165B (zh) | 数据一致性检测的方法、装置及设备 | |
CN112434043B (zh) | 一种数据同步方法、装置、电子设备及介质 | |
KR101748833B1 (ko) | 소프트웨어 고장의 위치 확정 방법, 장치 및 설비 | |
CN111752850B (zh) | 区块链系统的测试方法及相关设备 | |
CN110458681B (zh) | 一种数据对账决策的方法、装置、服务器和存储介质 | |
CN111008246A (zh) | 数据库日志同步方法、装置、计算机设备及可读存储介质 | |
CN114661816B (zh) | 数据同步方法、装置、电子设备、存储介质 | |
CN111339118A (zh) | 基于Kubernetes的资源变更历史记录方法及装置 | |
CN107040576A (zh) | 信息推送方法及装置、通讯系统 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
CN115757150A (zh) | 一种生产环境测试方法、装置、设备及存储介质 | |
CN110659138B (zh) | 基于定时任务的数据同步方法、装置、终端及存储介质 | |
CN111930788B (zh) | 操作请求的处理方法、装置、设备、可读存储介质及系统 | |
CN110502584B (zh) | 数据同步的方法和装置 | |
CN114385631A (zh) | 校验方法、装置、服务器及存储介质 | |
CN104317820B (zh) | 报表的统计方法和装置 | |
CN116186082A (zh) | 基于分布式的数据汇总方法、第一服务器和电子设备 | |
CN112764888B (zh) | 一种基于日志分析的分布式事务检查判断方法及系统 | |
CN111737348B (zh) | 基于数据库表的时效同步方法及装置 | |
CN111338574B (zh) | 基于区块链的数据自修复方法、装置、介质及电子设备 | |
CN110908821B (zh) | 任务失败管理的方法、装置、设备和存储介质 | |
CN115629950B (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 |