实时数据仓库的数据校验方法、系统及计算机可读介质技术方案

技术编号:29156402 阅读:18 留言:0更新日期:2021-07-06 22:55
本发明专利技术涉及一种实时数据仓库的数据校验方法、系统及计算机可读介质。所述实时数据仓库与业务数据库进行实时数据同步,该数据校验方法包括:记录一校验时刻;从所述业务数据库中获取所述校验时刻之前的业务数据;等待一预设时长之后,从所述实时数据仓库中获取同步数据,所述同步数据对应于所述业务数据;对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据之间的差异数据集合;以及根据所述差异数据集合获得所述实时数据仓库的校验结果。本发明专利技术的数据校验方法可以对校验时刻之前的业务数据和同步数据进行全量校对,并且去除系统延迟造成的问题,能够准确地发现实时数据仓库中的错误,以便于及时发现错误并予以修复。

【技术实现步骤摘要】
实时数据仓库的数据校验方法、系统及计算机可读介质
本专利技术主要涉及临床试验研究领域,具体地涉及一种实时数据仓库的数据校验方法、系统及计算机可读介质。
技术介绍
现代临床试验研究越来越多的使用电子数据采集系统和大型的软件平台来实施临床数据的采集、分析和管理,大大提高了临床试验研究的效率,为临床研究人员带来了极大的便利。一些临床试验系统采用业务软件平台采集临床试验数据,将众多业务数据存储在业务数据库中,同时,将业务数据实时地同步到数据仓库中,研究人员可以在数据仓库中进行大数据分析。然而,在该数据同步过程中,由于采集链路长,数据规模大,其中任何环节发生问题都会导致数据异常,从而影响数据分析结果的准确性。对于临床试验研究来说,数据的准确性尤为重要,因此需要确保实时数据仓库中的数据与业务数据库中的数据具有高度一致性。目前对临床实时数据仓库中的数据采用人工或自动测试的方法进行检验,然而人工测试代价高,效果差,几乎无法在海量数据中发现少数异常;自动测试也仅仅是从海量数据中尽量抽取出具有代表性的数据,再通过执行程序语言的方式进行比对。这些方法都不能做到对海量数据的全量校对,无法百分之百的确保临床实时数据仓库中的数据的准确性。
技术实现思路
本专利技术所要解决的技术问题是提供一种准确全量校对实时数据仓库的数据校验方法、系统及计算机可读介质。本专利技术为解决上述技术问题而采用的技术方案是一种实时数据仓库的数据校验方法,所述实时数据仓库与业务数据库进行实时数据同步,其特征在于,所述方法包括:记录一校验时刻;从所述业务数据库中获取所述校验时刻之前的业务数据;等待一预设时长之后,从所述实时数据仓库中获取同步数据,所述同步数据对应于所述业务数据;对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据之间的差异数据集合;以及根据所述差异数据集合获得所述实时数据仓库的校验结果。在本专利技术的一实施例中,所述记录一校验时刻的步骤包括:采用大数据计算框架启动一批处理作业,所述批处理作业适于从所述业务数据库中获取所述业务数据,以及从所述实时数据仓库中获取所述同步数据;以及记录所述批处理作业的启动时间,将所述启动时间作为所述校验时刻。在本专利技术的一实施例中,所述大数据计算框架包括ApacheSpark框架。在本专利技术的一实施例中,所述对比所述业务数据和所述同步数据的步骤包括:按照唯一主键将所述业务数据和所述同步数据对应起来,形成合并数据表,其中,具有相同唯一主键的所述业务数据和所述同步数据位于所述合并数据表中的同一行;以及在所述合并数据表中逐行对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据不一致的差异数据。在本专利技术的一实施例中,所述差异数据集合包括以下三种错误:第一错误,所述业务数据包括所述唯一主键对应的第一数据,所述同步数据包括所述唯一主键对应的第二数据,所述第一数据和所述第二数据对应于相同的字段,所述第一数据不同于所述第二数据;第二错误,所述业务数据中包括所述第一数据,所述同步数据中不包括所述第二数据;以及第三错误,所述业务数据中不包括所述第一数据,所述同步数据中包括所述第二数据。在本专利技术的一实施例中,所述实时数据仓库包括删除标记字段,所述删除标记字段用于标记所述同步数据是否经过软删除操作,所述软删除操作不实际删除所述同步数据。在本专利技术的一实施例中,在所述第二错误下,根据所述差异数据集合获得所述实时数据仓库的校验结果的步骤包括:查找所述删除标记字段,若所述删除标记字段中不包括对应于所述第二数据的记录,则所述校验结果为所述实时数据仓库具有错误。在本专利技术的一实施例中,所述业务数据库中包括数据变更日志,所述数据变更日志中包括所述业务数据中的任意数据发生变更的变更时间,根据所述差异数据集合获得所述实时数据仓库的校验结果的步骤包括:比较所述变更时间和所述校验时刻,若所述变更时间早于所述校验时刻,则所述校验结果为所述实时数据仓库具有错误。在本专利技术的一实施例中,所述数据变更日志是二进制日志binlog。在本专利技术的一实施例中,所述实时数据仓库包括kudu数据库,所述业务数据库包括MySQL数据库。在本专利技术的一实施例中,由采集系统执行所述实时数据仓库与所述业务数据库的实时数据同步,所述采集系统具有系统延迟,所述预设时长等于所述系统延迟。在本专利技术的一实施例中,还包括:当所述校验结果为所述实时数据仓库具有错误时,修复所述错误。本专利技术为解决上述技术问题还提出一种实时数据仓库的数据校验系统,包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述的方法。本专利技术为解决上述技术问题还提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。本专利技术的数据校验方法及系统通过设定校验时刻和预设时长,可以对校验时刻之前的业务数据和同步数据进行全量校对,并且去除系统延迟造成的问题,能够准确地发现实时数据仓库中的错误,以便于及时发现错误并予以修复。附图说明为让本专利技术的上述目的、特征和优点能更明显易懂,以下结合附图对本专利技术的具体实施方式作详细说明,其中:图1是本专利技术一实施例的实时数据仓库的数据校验方法的示例性流程图;图2是本专利技术一实施例的业务数据库和实时数据仓库的合并数据表的示例性示意图;图3A和3B是本专利技术一实施例的数据校验方法的示例性流程图;图4是本专利技术一实施例的数据校验方法的部分过程的示例性流程图;图5是本专利技术一实施例的实时数据仓库的数据校验系统的系统框图。具体实施方式为让本专利技术的上述目的、特征和优点能更明显易懂,以下结合附图对本专利技术的具体实施方式作详细说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其它不同于在此描述的其它方式来实施,因此本专利技术不受下面公开的具体实施例的限制。如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。此外,需要说明的是,使用“第一”、“第二”等本文档来自技高网...

【技术保护点】
1.一种实时数据仓库的数据校验方法,所述实时数据仓库与业务数据库进行实时数据同步,其特征在于,所述方法包括:/n记录一校验时刻;/n从所述业务数据库中获取所述校验时刻之前的业务数据;/n等待一预设时长之后,从所述实时数据仓库中获取同步数据,所述同步数据对应于所述业务数据;/n对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据之间的差异数据集合;以及/n根据所述差异数据集合获得所述实时数据仓库的校验结果。/n

【技术特征摘要】
1.一种实时数据仓库的数据校验方法,所述实时数据仓库与业务数据库进行实时数据同步,其特征在于,所述方法包括:
记录一校验时刻;
从所述业务数据库中获取所述校验时刻之前的业务数据;
等待一预设时长之后,从所述实时数据仓库中获取同步数据,所述同步数据对应于所述业务数据;
对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据之间的差异数据集合;以及
根据所述差异数据集合获得所述实时数据仓库的校验结果。


2.如权利要求1所述的数据校验方法,其特征在于,所述记录一校验时刻的步骤包括:
采用大数据计算框架启动一批处理作业,所述批处理作业适于从所述业务数据库中获取所述业务数据,以及从所述实时数据仓库中获取所述同步数据;以及
记录所述批处理作业的启动时间,将所述启动时间作为所述校验时刻。


3.如权利要求2所述的数据校验方法,其特征在于,所述大数据计算框架包括ApacheSpark框架。


4.如权利要求2所述的数据校验方法,其特征在于,所述对比所述业务数据和所述同步数据的步骤包括:
按照唯一主键将所述业务数据和所述同步数据对应起来,形成合并数据表,其中,具有相同唯一主键的所述业务数据和所述同步数据位于所述合并数据表中的同一行;以及
在所述合并数据表中逐行对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据不一致的差异数据。


5.如权利要求4所述的数据校验方法,其特征在于,所述差异数据集合包括以下三种错误:第一错误,所述业务数据包括所述唯一主键对应的第一数据,所述同步数据包括所述唯一主键对应的第二数据,所述第一数据和所述第二数据对应于相同的字段,所述第一数据不同于所述第二数据;第二错误,所述业务数据中包括所述第一数据,所述同步数据中不包括所述第二数据;以及第三错误,所述业务数据中不包括所述第一数据,所述同步数据中包括所述第二数据。

<...

【专利技术属性】
技术研发人员:杨涛王宇
申请(专利权)人:浙江太美医疗科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1