实时数据仓库的数据校验方法、系统及计算机可读介质与流程

文档序号:25733477发布日期:2021-07-06 18:42阅读:118来源:国知局
实时数据仓库的数据校验方法、系统及计算机可读介质与流程

本发明主要涉及临床试验研究领域,具体地涉及一种实时数据仓库的数据校验方法、系统及计算机可读介质。



背景技术:

现代临床试验研究越来越多的使用电子数据采集系统和大型的软件平台来实施临床数据的采集、分析和管理,大大提高了临床试验研究的效率,为临床研究人员带来了极大的便利。一些临床试验系统采用业务软件平台采集临床试验数据,将众多业务数据存储在业务数据库中,同时,将业务数据实时地同步到数据仓库中,研究人员可以在数据仓库中进行大数据分析。然而,在该数据同步过程中,由于采集链路长,数据规模大,其中任何环节发生问题都会导致数据异常,从而影响数据分析结果的准确性。对于临床试验研究来说,数据的准确性尤为重要,因此需要确保实时数据仓库中的数据与业务数据库中的数据具有高度一致性。

目前对临床实时数据仓库中的数据采用人工或自动测试的方法进行检验,然而人工测试代价高,效果差,几乎无法在海量数据中发现少数异常;自动测试也仅仅是从海量数据中尽量抽取出具有代表性的数据,再通过执行程序语言的方式进行比对。这些方法都不能做到对海量数据的全量校对,无法百分之百的确保临床实时数据仓库中的数据的准确性。



技术实现要素:

本发明所要解决的技术问题是提供一种准确全量校对实时数据仓库的数据校验方法、系统及计算机可读介质。

本发明为解决上述技术问题而采用的技术方案是一种实时数据仓库的数据校验方法,所述实时数据仓库与业务数据库进行实时数据同步,其特征在于,所述方法包括:记录一校验时刻;从所述业务数据库中获取所述校验时刻之前的业务数据;等待一预设时长之后,从所述实时数据仓库中获取同步数据,所述同步数据对应于所述业务数据;对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据之间的差异数据集合;以及根据所述差异数据集合获得所述实时数据仓库的校验结果。

在本发明的一实施例中,所述记录一校验时刻的步骤包括:采用大数据计算框架启动一批处理作业,所述批处理作业适于从所述业务数据库中获取所述业务数据,以及从所述实时数据仓库中获取所述同步数据;以及记录所述批处理作业的启动时间,将所述启动时间作为所述校验时刻。

在本发明的一实施例中,所述大数据计算框架包括apachespark框架。

在本发明的一实施例中,所述对比所述业务数据和所述同步数据的步骤包括:按照唯一主键将所述业务数据和所述同步数据对应起来,形成合并数据表,其中,具有相同唯一主键的所述业务数据和所述同步数据位于所述合并数据表中的同一行;以及在所述合并数据表中逐行对比所述业务数据和所述同步数据,获得所述业务数据和所述同步数据不一致的差异数据。

在本发明的一实施例中,所述差异数据集合包括以下三种错误:第一错误,所述业务数据包括所述唯一主键对应的第一数据,所述同步数据包括所述唯一主键对应的第二数据,所述第一数据和所述第二数据对应于相同的字段,所述第一数据不同于所述第二数据;第二错误,所述业务数据中包括所述第一数据,所述同步数据中不包括所述第二数据;以及第三错误,所述业务数据中不包括所述第一数据,所述同步数据中包括所述第二数据。

在本发明的一实施例中,所述实时数据仓库包括删除标记字段,所述删除标记字段用于标记所述同步数据是否经过软删除操作,所述软删除操作不实际删除所述同步数据。

在本发明的一实施例中,在所述第二错误下,根据所述差异数据集合获得所述实时数据仓库的校验结果的步骤包括:查找所述删除标记字段,若所述删除标记字段中不包括对应于所述第二数据的记录,则所述校验结果为所述实时数据仓库具有错误。

在本发明的一实施例中,所述业务数据库中包括数据变更日志,所述数据变更日志中包括所述业务数据中的任意数据发生变更的变更时间,根据所述差异数据集合获得所述实时数据仓库的校验结果的步骤包括:比较所述变更时间和所述校验时刻,若所述变更时间早于所述校验时刻,则所述校验结果为所述实时数据仓库具有错误。

在本发明的一实施例中,所述数据变更日志是二进制日志binlog。

在本发明的一实施例中,所述实时数据仓库包括kudu数据库,所述业务数据库包括mysql数据库。

在本发明的一实施例中,由采集系统执行所述实时数据仓库与所述业务数据库的实时数据同步,所述采集系统具有系统延迟,所述预设时长等于所述系统延迟。

在本发明的一实施例中,还包括:当所述校验结果为所述实时数据仓库具有错误时,修复所述错误。

本发明为解决上述技术问题还提出一种实时数据仓库的数据校验系统,包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述的方法。

本发明为解决上述技术问题还提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。

本发明的数据校验方法及系统通过设定校验时刻和预设时长,可以对校验时刻之前的业务数据和同步数据进行全量校对,并且去除系统延迟造成的问题,能够准确地发现实时数据仓库中的错误,以便于及时发现错误并予以修复。

附图说明

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:

图1是本发明一实施例的实时数据仓库的数据校验方法的示例性流程图;

图2是本发明一实施例的业务数据库和实时数据仓库的合并数据表的示例性示意图;

图3a和3b是本发明一实施例的数据校验方法的示例性流程图;

图4是本发明一实施例的数据校验方法的部分过程的示例性流程图;

图5是本发明一实施例的实时数据仓库的数据校验系统的系统框图。

具体实施方式

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。

如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是本发明一实施例的实时数据仓库的数据校验方法的示例性流程图。在本发明的数据校验方法中,实时数据仓库与业务数据库进行实时数据同步,将存储在业务数据库中的数据称为业务数据,将同步至实时数据仓库中的数据称为同步数据。无论对于业务数据库还是实时数据仓库,数据都对应于数据库中的字段。以临床试验研究为例,业务数据可以包括参与该临床试验研究的所有受试者的信息,例如受试者id、受试者姓名、年龄、性别、病史、用药史、临床检查结果等各类信息,不同的信息可以对应不同的字段并存储在业务数据库中。当业务数据被同步到实时数据仓库中时,实时数据仓库中也包括对应的各个字段,同步数据也按照其对应的字段存储。可以理解,在理想情况下,同步数据与业务数据相同。例如,在业务数据库中,对于受试者id为id001的受试者来说,其字段a1中的数据为d1,则经过数据同步之后,在实时数据仓库中,受试者id为id001的字段a1中的数据也应为d1。

参考图1所示,该实施例的数据校验方法包括以下步骤:

步骤s110:记录一校验时刻;

步骤s120:从业务数据库中获取校验时刻之前的业务数据;

步骤s130:等待一预设时长之后,从实时数据仓库中获取同步数据,同步数据对应于业务数据;

步骤s140:对比业务数据和同步数据,获得业务数据和同步数据之间的差异数据集合;以及

步骤s150:根据差异数据集合获得实时数据仓库的校验结果。

下面详细说明上述的步骤s110-s150。

在步骤s110中,记录一校验时刻tv。本发明对于如何执行步骤s110不做限制,可以采用一种软件系统来执行本发明的数据校验方法。该校验时刻tv可以通过设置一个时间戳来实现,根据该时间戳可以选定实时数据仓库中的一部分数据来进行校验。

在一些实施例中,该步骤s110包括:

步骤s112:采用大数据计算框架启动一批处理作业,该批处理作业适于从业务数据库中获取业务数据,以及从实时数据仓库中获取同步数据;以及

步骤s114:记录批处理作业的启动时间,将启动时间作为校验时刻tv。

在一些实施例中,步骤s112中的大数据计算框架包括apachespark框架。在其他的实施例中,还可以采用其他任意的大数据计算框架或计算引擎来执行步骤s110,例如mapreduce等。

步骤s112中的批处理作业基于该大数据计算框架,可以从业务数据库中抽取业务数据,以及从实时数据仓库中抽取同步数据并且在该大数据计算框架中使用所抽取的业务数据和同步数据,不会影响业务数据库和实时数据仓库中的实际数据。

在步骤s114中,将该批处理作业的启动时间作为校验时刻tv。该启动时间为软件系统所能记录到的系统时间。

在步骤s120中,可以由步骤s112中的批处理作业从业务数据库中获取校验时刻tv之前的业务数据。在步骤s120中所获取的业务数据可以被存储在计算机内存中。

在步骤s130中,等待一预设时长t1之后,可以由步骤s112中的批处理作业从实时数据仓库中获取同步数据,该同步数据对应于步骤s120中所获得的校验时刻tv之前的业务数据。

由于各种原因,业务数据从业务数据库中被同步到实时数据仓库中并不是完全的同步,而会具有一定的延时。因此,为了从实时数据仓库中获得完整的对应于校验时刻tv之前的业务数据的同步数据,在步骤s130中等待一预设时长t1,这样可以使所获得同步数据中包括对应于校验时刻tv之前的所有业务数据的同步数据。该预设时长t1应大于等于该延时。

在一些实施例中,由采集系统执行实时数据仓库与业务数据库的实时数据同步,采集系统具有系统延迟,预设时长等于系统延迟。以临床试验研究为例,采用临床电子数据采集系统从业务数据库中采集业务数据,并将该业务数据同步至实时数据仓库中。该临床电子数据采集系统的系统延迟为ds,则步骤s130中的预设时长t1等于ds。可以理解,不同的采集系统其系统延迟可以是不同的,则对于不同的采集系统可以设置不同的预设时长t1,以保证步骤s130中所获得的同步数据包含对应于检验时间tv之前的所有的业务数据。

在一些实施例中,实时数据仓库包括kudu数据库,业务数据库包括mysql数据库。

在步骤s140中,对比业务数据和同步数据,获得业务数据和同步数据之间的差异数据集合。

步骤s140执行了对业务数据和同步数据的全量对比,也就是对校验时刻tv之前的业务数据库中的所有业务数据和实时数据仓库中的所有同步数据进行对比。

可以理解,在理想情况下,业务数据和同步数据完全相同,则该差异数据集合中的数据为0。在异常情况下,业务数据和同步数据之间具有一定的差异,则将与这些差异相关的差异数据记录在一差异数据集合中。

在一些实施例中,步骤s140包括以下步骤:

步骤s142:按照唯一主键将业务数据和同步数据对应起来,形成合并数据表,其中,具有相同唯一主键的业务数据和同步数据位于合并数据表中的同一行;以及

步骤s144:在合并数据表中逐行对比业务数据和同步数据,获得业务数据和同步数据不一致的差异数据。

在步骤s142中,唯一主键指可以唯一确认该组数据的一个字段。例如临床试验研究中,采用受试者id作为唯一主键,可以通过受试者id来唯一确认对应于该受试者的数据,不会混淆不同受试者的临床数据。

图2是本发明一实施例的业务数据库和实时数据仓库的合并数据表的示例性示意图。参考图2所示,该合并数据表200中包括来自业务数据库的一部分业务数据210和来自实时数据仓库的一部分同步数据220。以受试者id作为唯一主键ukey,根据步骤s142将业务数据和同步数据按照唯一主键ukey对应起来,具有相同唯一主键ukey的业务数据和同步数据位于合并数据表200中的同一行。如图2所示,唯一主键ukey都是id001的业务数据和同步数据位于该合并数据表200中的同一行,依此类推。

合并数据表200的标题行包括唯一主键ukey、字段a1和a2。图2所示仅为示例,不用于限制该合并数据表200的实际内容、字段数量等。

可以由步骤s112中的批处理作业执行步骤s142和s144。通过执行步骤s144可以获得合并数据表200中业务数据和同步数据不一致的差异数据。

在一些实施例中,差异数据集合包括以下三种错误:第一错误,业务数据包括唯一主键对应的第一数据,同步数据包括唯一主键对应的第二数据,第一数据和第二数据对应于相同的字段,第一数据不同于第二数据;第二错误,业务数据中包括第一数据,同步数据中不包括第二数据;以及第三错误,业务数据中不包括第一数据,同步数据中包括第二数据。

参考图2所示,经过逐行对比之后,发现在合并数据表200的第6行出现了上述第一错误231:唯一主键ukey为id006的业务数据中字段a1的第一数据为d16,而同步数据中字段a1的第二数据为d36,二者不同。表示实时数据仓库在同步的过程中,id006的字段a1的数据同步错误。该错误有可能是因为业务数据中的第一数据进行了更新,而同步数据中的第二数据没有进行更新。

参考图2所示,合并数据表200的第7行出现了上述第二错误232:唯一主键ukey为id007的业务数据中字段a2的第一数据为d27,而同步数据中不包括对应于该相同的字段a2的第二数据。表示实时数据仓库在同步的过程中遗漏了该数据。该错误可能是由于业务数据中增加了第一数据,而同步数据中没有及时增加对应的第二数据。

参考图2所示,合并数据表200的第8行出现了上述第三错误233:唯一主键ukey为id008的业务数据中字段a1中不包括对应的第一数据,而同步数据中包括对应于该相同的字段a1的第二数据d18。该错误可能是由于业务数据库中已经删除了id008的业务数据中字段a1对应的第一数据,而实时数据仓库在同步的过程中没有同步到该删除操作,仍然保留了已经删除的第一数据d18。

在步骤s140中,若对应于唯一主键ukey的同步数据和业务数据一致,则表示该部分数据没有错误,如图2中唯一主键ukey为id001-id005的数据。

在步骤s140中,差异数据集合中包括上述三种错误下的数据,因此,差异数据集合相当于从合并数据表200中截取具有上述三种错误的数据行,并形成一张新表。显然,差异数据集合的数据量小于合并数据表的数据量。

在步骤s150中,根据由步骤s140中获得的差异数据集合来获得实时数据仓库的校验结果。当差异数据集合中的数据为0时,表示实时数据仓库中的同步数据没有出现错误,则该校验结果为实时数据仓库正确,没有出错。当差异数据集合中的数据不为0时,该校验结果为实时数据仓库具有错误,这些错误包括上述的第一错误、第二错误和第三错误中的一种或多种。在步骤s150获得这些错误可以包括记录具体的错误属于上述三种中的哪一种。

在一些实施例中,实时数据仓库包括一删除标记字段,该删除标记字段用于标记同步数据是否经过软删除操作。软删除操作指当需要删除一个同步数据时,并不实际删除该同步数据,而是修改该同步数据对应的删除标记字段中的标记,例如删除前的删除标记字段中记录为1,删除后的删除标记字段中的记录为0。这样,通过获取删除标记字段的内容,就可以判断该同步数据是否被删除。

相对于软删除来说,硬删除指把数据从数据库中真实地删除。本发明对业务数据库中的删除操作方式不做限制,可以采用软删除方式或硬删除方式。

根据上述采用软删除方式的实施例,在上述的第二错误下,步骤s150可以包括:查找删除标记字段,若删除标记字段中不包括对应于第二数据的记录,则校验结果为实时数据仓库具有错误。在第二错误下,业务数据中包括第一数据,同步数据中不包括第二数据,该第二数据和第一数据对应于相同的字段。若删除标记字段中不包括对应于第二数据的记录,表示并没有在实时数据仓库中执行软删除的操作,实时数据仓库中确实不包括该第二数据,则实时数据仓库具有错误。

在一些实施例中,业务数据库中包括数据变更日志,该数据变更日志中包括业务数据中的任意数据发生变更的变更时间tu,步骤s150包括:比较变更时间tu和校验时刻tv,若变更时间tu早于校验时刻tv,则校验结果为实时数据仓库具有错误。

在这些实施例中,若变更时间tu早于校验时刻tv,表示业务数据在校验时刻tv之前就发生了变更,那么这部分变更的任意数据出现在差异数据集合中,表示实时数据仓库确实发生了错误。若变更时间tu晚于校验时刻tv,表示业务数据在校验时刻tv之后才发生了变更,同步数据还没来得及更新,因此,差异数据集合中的这部分任意数据并不属于本次校验的对象,可以忽略相关的差异数据。由于业务软件系统、采集系统以及实时数据仓库系统都具有延时问题,可能导致业务数据和同步数据的不一致。根据这些实施例,比较变更时间tu和校验时刻tv,可以去除系统延时问题的影响,减少校验结果中的误报现象。

在一些实施例中,数据变更日志是二进制日志binlog。根据二进制日志binlog,可以采用binlogtime字段记录数据真实发生变化的时间。binlog记录了该binlogtime,在业务数据库和实时数据仓库的同步过程中,将binlogtime同步到实时数据仓库中,使实时数据仓库也包括该binlogtime字段。

在一些实施例中,本发明的数据校验方法还包括:当校验结果为实时数据仓库具有错误时,修复该错误。在经过了图1所示的步骤s110-s150之后,可以发现实时数据仓库中的具体错误,然后可以采用相对应的方法来修复该实时数据仓库中的错误。

根据本发明的数据校验方法,设定校验时刻和预设时长,可以保证对校验时刻之前的业务数据和同步数据进行全量校对,能够准确地发现实时数据仓库中的错误,以便于及时发现错误并予以修复。进一步地,通过采用数据变更日志,可以判断数据的变更是否早于校验时刻,从而去除系统延时问题的影响,减少校验结果中的误报现象。

图3a和3b是本发明一实施例的数据校验方法的示例性流程图。该实施例结合前文所述的多个实施例,可以作为本发明的一种优选的数据校验方法。因此,前文的附图和说明内容都可以用来说明图3a和3b所示的实施例。参考图3a所示,该实施例的数据校验方法包括以下步骤:

步骤s310:启动批处理作业。

本步骤可以包含在前文所述的步骤s112中,采用大数据计算框架启动一批处理作业,该批处理作业用来执行下面的所有步骤。

步骤s312:记录校验时刻tv。

本步骤可以包含在前文所述的步骤s110中。该校验时刻tv是该批处理作业的启动时间。

步骤s314:获取校验时刻tv之前的业务数据。

本步骤可以包含在前文所述的步骤s120中。这里的业务数据指校验时刻tv之前,业务数据库中的所有业务数据。

步骤s316:等待一预设时长t1。

本步骤可以包含在前文所述的步骤s130中。该预设时长t1等于采集系统的系统延迟ds。

步骤s318:获取同步数据。

本步骤可以包含在前文所述的步骤s130中。该同步数据对应于步骤s314中的业务数据。理想情况下,该同步数据中应包括步骤s314中所获得的所有业务数据。

步骤s320:对比业务数据和同步数据,获得差异数据集合。

本步骤可以包含在前文所述的步骤s140中。全量对比校验时刻tv之前的所有业务数据和同步数据。

图3b中的步骤都可以包含在前文所述的步骤s150中。参考图3b所示,在步骤s320之后还包括以下步骤:

步骤s322:判断同步数据中是否包括第二数据。若是,则执行步骤s324;若否,则执行步骤s326。

本步骤中的第二数据和前文所述的第二数据相同。业务数据包括唯一主键对应的第一数据,同步数据包括该唯一主键对应的第二数据,第一数据和第二数据对应于相同的字段。在理想情况下,业务数据中若包括第一数据,则同步数据中应包括该第二数据,并且该第二数据和第一数据相同。在步骤s322中,在差异数据集合中先判断某唯一主键的某个字段中是否包括第二数据。步骤s322-s342可以循环执行,在差异数据集合中逐行处理所有的差异数据,在逐行处理的过程中,逐字段的比较业务数据和同步数据,直到全部的差异数据处理完毕。

步骤s324:判断业务数据中是否包括第一数据。若是,则执行步骤s328;若否,则执行步骤s330。

步骤s326:判断业务数据中是否包括第一数据。若是,则执行步骤s332;若否,则执行步骤s342。

步骤s328:判断变更时间binlogtime是否早于校验时刻tv。若是,则执行步骤s334;若否,则执行步骤s342。

步骤s330:判断变更时间binlogtime是否早于校验时刻tv。若是,则执行步骤s336;若否,则执行步骤s342。

步骤s332:判断变更时间binlogtime是否早于校验时刻tv。若是,则执行步骤s338;若否,则执行步骤s342。

步骤s334:确定该差异数据集合中的差异数据属于第一错误。

步骤s336:确定该差异数据集合中的差异数据属于第二错误。

步骤s338:确定该差异数据集合中的差异数据属于第三错误。

步骤s340:修复出现错误的同步数据。

在本步骤中,根据三种不同的错误来执行修复。例如,对于第一错误,实时数据仓库中包括该同步数据,但是同步数据错误,就需要用正确数据替换该错误的同步数据;对于第二错误,业务数据库中已经删除了该第一数据,然而实时数据仓库中仍然具有对应的第二数据,则在实时数据仓库中删除该第二数据;对于第三错误,业务数据库中具有第一数据,实时数据仓库中却没有对应的第二数据,则需要在实时数据仓库中增加该第二数据。修复的结果都是使同步数据和业务数据保持一致。

步骤s342:程序结束。在步骤s328、s330、s332的判断结果是否的情况下,由于变更时间binlogtime晚于校验时刻tv,表示业务数据中的第一数据是在校验时刻tv之后才发生了变更,因此可以忽略该差异数据,不需要对实时数据仓库中的同步数据进行修复。

在一些实施例中,对实时数据仓库进行定时校验或周期性校验。假设当前的校验时刻为tv1,下一次的校验时刻为tv2,显然,tv2比tv1晚。则在下一次进行数据校验时再对上一次校验过程中变更时间binlogtime晚于校验时刻tv的数据进行校验。

图4是本发明一实施例的数据校验方法的部分过程的示例性流程图。参考图4所示,该实施例的数据校验方法在图3b所示的步骤s326及步骤s332之间插入了步骤s410,如下:

步骤s410:判断同步数据的删除标记字段中是否包括第二数据,若包括则执行步骤s332;否则执行步骤s338。

根据该步骤,在两种情况下会得出同步数据发生第二错误的结论:

其一,同步数据的删除标记字段中不包括第二数据,表示同步数据中确实不包括对应于业务数据中的第一数据的第二数据,则直接执行步骤s338,表示同步数据发生了第二错误。

其二,同步数据的删除标记字段中包括第二数据,表示该同步数据发生了软删除,则在步骤s332进一步判断该变更时间binlogtime是否早于校验时刻tv,若是,表示发生了第二错误,若否,则表示该变更时间binlogtime晚于校验时刻tv,则可以忽略该差异数据。

根据图4所示的实施例,对同步数据是否发生软删除进行了判断,并对发生软删除的业务数据的变更时间进行判断,以避免将由于变更时间晚于校验时刻而造成的数据不一致误判为第二错误。

本发明还包括一种实时数据仓库的数据校验系统,包括存储器和处理器。其中,该存储器用于存储可由处理器执行的指令;处理器用于执行该指令以实现前文所述的实时数据仓库的数据校验方法。

图5是本发明一实施例的实时数据仓库的数据校验系统的系统框图。参考图5所示,该数据校验系统500可包括内部通信总线501、处理器502、只读存储器(rom)503、随机存取存储器(ram)504以及通信端口505。当应用在个人计算机上时,该数据校验系统500还可以包括硬盘506。内部通信总线501可以实现该数据校验系统500组件间的数据通信。处理器502可以进行判断和发出提示。在一些实施例中,处理器502可以由一个或多个处理器组成。通信端口505可以实现该数据校验系统500与外部的数据通信。在一些实施例中,该数据校验系统500可以通过通信端口505从网络发送和接受信息及数据。该数据校验系统500还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘506,只读存储器(rom)503和随机存取存储器(ram)504,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器502所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。

上述的数据校验方法可以实施为计算机程序,保存在硬盘506中,并可加载到处理器502中执行,以实施本申请的操作方法。

本发明还包括一种存储有计算机程序代码的计算机可读介质,该计算机程序代码在由处理器执行时实现前文所述的实时数据仓库的数据校验方法。

实时数据仓库的数据校验方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(cd)、数字多功能盘(dvd))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(eprom)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。

应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理器可以在一个或者多个特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。

本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理器件(dapd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘cd、数字多功能盘dvd……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。

计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1