发明内容
基于此,有必要针对上述技术问题,提供一种能够检测数据平台之间相互抽取的数据是否完整的数据检测方法、装置、计算机设备和存储介质。
一种数据检测方法,所述方法包括:
接收数据检测指令;
当从源数据库抽取数据至目标数据库之后,获取与所抽取数据对应的目标数据表信息和源数据表信息;
对所述目标数据表信息和所述源数据表信息进行对比;
若所述目标数据表信息中的目标字段信息和所述源数据表信息中的源字段信息不一致,则确定从所述源数据表重新抽取数据至目标数据表;
若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则确定从所述源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,所述方法还包括:
若所述目标数据表信息中的目标字段信息和所述源数据表信息中的源字段信息不一致,对所述目标数据表信息对应的目标数据表标记为待重新抽取的数据表;
若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则对所述目标数据表标记为所抽取数据的行出现缺失的数据表。
在一个实施例中,所述方法还包括:
若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获取源主键数据;
对所述目标主键数据和所述源主键数据进行对比;
若所述源主键数据中存在与所述目标主键数据不匹配的主键数据时,根据所述不匹配的主键数据确定缺失行;
确定从所述源数据表中抽取所述缺失行的数据至目标数据表。
在一个实施例中,所述方法还包括:
当从源数据库抽取数据至目标数据库之后,根据所述源数据表生成源数据表信息,根据所述目标数据表生成目标数据表信息;
将所述源数据表信息和所述目标数据表信息存储于监测数据表;
所述获取与所抽取数据对应的目标数据表信息和源数据表信息包括:
从所述监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,所述将所述源数据表信息和所述目标数据表信息存储于监测数据表包括:
将所述目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;
将所述源数据表信息转换为目标格式的源数据表信息,并存入所述监测数据表。
在一个实施例中,所述对所述目标数据表信息和所述源数据表信息进行对比,还包括:
若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数一致,则确定所述源数据表信息对应的数据抽取成功。
一种数据检测装置,所述装置包括:
接收模块,用于接收数据检测指令;
获取模块,当从源数据库抽取数据至目标数据库之后,用于获取与所抽取数据对应的目标数据表信息和源数据表信息;
对比模块,用于对所述目标数据表信息和所述源数据表信息进行对比;
确定模块,若所述目标数据表信息中的目标字段信息和所述源数据表信息中的源字段信息不一致,则用于确定从所述源数据表重新抽取数据至目标数据表;
所述确定模块,若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则还用于确定从所述源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,所述装置还包括:
标记模块,若所述目标数据表信息中的目标字段信息和所述源数据表信息中的源字段信息不一致,用于对所述目标数据表信息对应的目标数据表标记为待重新抽取的数据表;
所述标记模块,若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则对所述目标数据表标记为所抽取数据的行出现缺失的数据表。
在一个实施例中,所述装置还包括:
获取模块,若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数不一致,则根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获取源主键数据;
对比模块,用于对所述目标主键数据和所述源主键数据进行对比;
所述确定模块,若所述源主键数据中存在与所述目标主键数据不匹配的主键数据时,用于根据所述不匹配的主键数据确定缺失行;
所述确定模块,还用于确定从所述源数据表中抽取所述缺失行的数据至目标数据表。
在一个实施例中,所述装置还包括:
生成模块,当从源数据库抽取数据至目标数据库之后,用于根据所述源数据表生成源数据表信息,根据所述目标数据表生成目标数据表信息;
存储模块,用于将所述源数据表信息和所述目标数据表信息存储于监测数据表;
所述获取与所抽取数据对应的目标数据表信息和源数据表信息包括:
所述获取模块,用于从所述监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,所述存储模块,还用于:
将所述目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;
将所述源数据表信息转换为目标格式的源数据表信息,并存入所述监测数据表。
在一个实施例中,所述对比模块,还用于:
若所述目标字段信息和所述源字段信息一致、且所述目标数据表信息的行数和所述源数据表信息的行数一致,则确定所述源数据表信息对应的数据抽取成功。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
上述实施例中,计算机设备通过对源数据表信息和目标数据表信息进行对比来判断从源数据库中抽取的数据是否完整。首先,计算机设备通过对字段信息的对比来判断抽取的数据表中的列是否有缺失,数据类型是否正确。如果数据表中的列有缺失或者数据类型不正确,则计算机设备重新抽取对应的数据表。然后计算机设备通过对行数进行对比来判断目标数据库中抽取的数据表中的行是否完整。如果不完整,则对从目标主键信息和源主键信息中获取的目标主键数据和源主键数据进行对比,通过对比结果定位到缺失的行,并重新抽取相应行的数据。计算机设备通过对数据表信息进行对比,并且根据对比结果重新抽取缺失的数据,保证了抽取的数据的完整性,提高了数据复用的质量。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据检测方法,可以应用于如图1所示的应用环境中。其中,计算机设备102与服务设备104进行网络连接。计算机设备102从服务设备104对应的源数据库104中抽取数据,并对抽取的数据的质量进行检测。
其中,目标数据库可以是计算机设备102中的用于存储数据的数据库,或者独立于计算机设备102的数据库。源数据库可以是服务设备104中的用于存储数据的数据库,或者独立于服务设备104的数据库。
在一个实施例中,目标数据库和源数据库是关系型数据库。关系型数据库采用关系模型来组织数据,即以行和列的形式存储数据。关系型数据库这一系列的行和列组成一个临时保存数据的网格虚拟表,即为数据表。
其中,数据表信息包括数据表的表名、抽取时间、入库时间、行数、字段信息、主键信息等信息。表名是数据表的命名,用来识别数据表。抽取时间是从源数据库中抽取数据表中数据的时间。入库时间是将该数据表中数据写入目标数据库的时间。数据表中的一个字段对应数据表中的一列。字段信息包括字段名和字段类型。字段名和字段类型分别对应数据表结构中字段的名称和该字段所存储的数据的格式。行数表示数据表中数据的总行数。主键是数据表中的一列或者数列的组合,用来唯一的确定表中的某一行。
在一个实施例中,目标数据库和源数据库可以是SqlServer(Structured QueryLanguage Server)数据库。SqlServer数据库是真正的客户机/服务器体系结构,具有图形化用户界面,使***管理和数据库管理更加直观、简单。SqlServer数据库使用SQL语句对数据库中数据进行各种各样的操作。
在另一个实施例中,目标数据库和源数据库可以是Oracle数据库。Oracle数据库的***可移植性好、使用方便、性能强大,适用于各类大、中、小、微机环境。Oracle数据库是以分布式数据库为核心,是一种客户/服务器体系结构的数据库。Oracle数据库具有完整的数据管理功能并且实现了分布式处理功能,由至少一个表空间和数据库模式对象组成。模式对象包括:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。
在另一个实施例中,目标数据库和源数据库可以是DB2(DataBase 2)数据库。DB2数据库主要应用于大型应用***,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作***平台。DB2数据库提供了与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器。DB2的外部连接改善了查询性能,并支持多任务并行查询。
在另一个实施例中,目标数据库和源数据库还可以是SQLite数据库。SQLite,是一款轻型的数据库,占用资源少,处理速度快,并且同时能够跟多种程序语言相结合。
在一个实施例中,计算机设备可以从服务设备对应的源数据库中抽取数据,并通过内置的数据检测模块对抽取的数据的质量进行检测。数据检测模块作为嵌入到计算机设备中的一个模块,封装了数据检测算法。计算机设备通过调用数据检测模块的接口对抽取的数据进行检测。
在一个实施例中,数据检测模块作为应用软件的一部分。在计算机设备抽取数据完成后,通过应用软件中的数据检测模块对抽取的数据的质量进行检测。
在一个实施例中,如图2所示,提供了一种数据检测方法,以该方法应用于图1中的环境为例进行说明,包括以下步骤:
S202,接收数据检测指令。
在一个实施例中,计算机设备可以是服务器,计算机设备通过服务设备从多个异构的源数据库中抽取数据,并存储在计算机设备对应的目标数据库中,以提供给用户进行数据共享。计算机设备在向服务设备发送抽取数据的请求的同时,向内置的数据检测模块发送数据检测指令。计算机设备通过内置的数据检测模块对抽取的数据进行检测。
在一个实施例中,计算机设备可以是用户终端,计算机设备通过服务设备抽取源数据库中的数据,并将抽取的数据存储在目标数据库中。计算机设备在向服务设备发送抽取数据的请求的同时,向包含数据检测模块的应用软件发送数据检测指令。应用软件接收到数据检测指令后通过数据检测模块对计算机设备抽取的数据进行检测。
S204,当从源数据库抽取数据至目标数据库之后,获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,服务设备在源数据库中的数据被抽取后,生成被抽取数据对应的源数据表信息。服务设备将源数据表信息发送至计算机设备。计算机设备在数据抽取完成后,根据目标数据表生成与所抽取到的数据对应的目标数据表信息。
在一个实施例中,计算机设备通过数据接口将源数据表信息和目标数据表信息传递给内置的数据检测模块。
在一个实施例中,计算机设备将源数据表信息和目标数据表信息传递给包含数据检测模块的应用软件。
S206,对目标数据表信息和源数据表信息进行对比。
源数据表信息记录了源数据库中所有通过服务设备被抽取的数据的信息。目标数据表信息记录了所有目标数据库中获得的通过计算机设备抽取到的数据的信息。如果计算机设备完整的获取了源数据库中被抽取的数据,那么目标数据表信息和源数据表信息相同。也就是说,如果目标数据表信息和源数据表信息不相同,则计算机设备获取的数据有缺失。计算机设备通过对目标数据表信息和源数据表信息进行对比,检测获取的数据是否完整。
S208,若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则确定从所述源数据表重新抽取数据至目标数据表;
在一个实施例中,如果目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则计算机设备通过数据检测模块确定从所述源数据表重新抽取数据至目标数据表。
在一个实施例中,如果目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则计算机设备通过数据检测模块将目标数据表信息对应的目标数据表标记为待重新抽取的数据表。计算机设备根据数据表的标记从源数据库中重新抽取对应的源数据表的数据。
S210,若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则计算机设备通过数据检测模块确定从源数据表中抽取缺失行的数据至目标数据表。
如果目标数据表信息的目标字段信息和源数据表信息的源字段信息一致,说明计算机设备从源数据库中抽取到的数据表和源数据库中被抽取的数据表的列是一致的。如果目标数据表信息和源数据表信息的行数不一致,说明计算机设备抽取到的目标数据表中的数据的行数少于源数据表中的数据的行数。计算机设备根据对比结果确定从源数据表中抽取缺失行的数据至目标数据库中的目标数据表。
在一个实施例中,若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则计算机设备对所述目标数据表标记为所抽取数据的行出现缺失的数据表。
在一个实施例中,对于标记为所抽取数据的行出现缺失的数据表,计算机设备通过数据检测模块,根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获得源主键数据,并且对目标主键数据和源主键数据进行对比;若源主键数据中存在与目标主键数据不匹配的主键数据时,根据不匹配的主键数据确定缺失行;计算机设备确定从源数据库中抽取缺失行的数据至目标数据库的目标数据表。
其中,主键信息表示主键是数据表中的哪个字段,或者是由数据表中的哪几个字段组合得到的,计算机设备根据主键信息获知数据表中哪些字段是主键,然后通过相应字段获得主键数据。计算机设备根据源主键信息获得源主键数据,根据目标主键信息获得目标主键数据。源主键数据用于唯一地标识源数据表中的某一条记录,即通过源主键数据可以定位到源数据表中的具体的某一行。目标主键数据用于唯一地标识目标数据表中的某一条记录,即通过目标主键数据可以定位到目标数据表中的具体的某一行。例如,源主键数据为(N1,N2,N3,N4,N5),那么N1对应源数据表中第一行,N2对应源数据表中第二行,依次类推。
在一个实施例中,如果源数据表中的源主键数据中存在N1的信息,而目标数据表中的目标主键数据中不存在N1的信息,那么数据检测模块可以确定所抽取的目标数据表中缺失了第一行的数据。计算机设备根据检测结果指示目标数据库重新抽取第一行的数据。
由于通过主键数据可以定位表中的一行,所以计算机设备通过数据检测模块对主键数据进行对比可以确定缺失的是哪一行的数据,并且根据对比结果重新抽取缺失行的数据,保证数据抽取的完整性。
在一个实施例中,若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数一致,则计算机设备通过数据检测模块确定源数据表信息对应的数据抽取成功。如果目标数据表的目标字段信息和源数据表的源字段信息一致,则说明目标数据表和源数据表对应的列及其数据类型相同。如果目标数据表和源数据表的行数一致,则说明目标数据表和源数据表的每一列具有相同的行数。由此可以得知,目标数据表从源数据表中抽取的数据是完整的,计算机设备的数据抽取成功。
在一个实施例中,数据检测模块作为嵌入到计算机设备中的一个模块。数据检测模块对抽取的数据进行检测的流程如图3所示。
S302,接收数据检测指令。
S304,获取与所抽取数据对应的目标数据表信息和源数据表信息。
S306,对目标数据表信息中的目标字段信息和源数据表信息中的源字段信息进行对比,并判断是否一致。
如果目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则执行S308。
S308,将目标数据表标记为待重新抽取的数据表。
如果目标数据表信息中的目标字段信息和源数据表信息中的源字段信息一致,则执行S310。
S310,对目标数据表信息中的行数和源数据表信息中的行数进行对比,并判断是否一致。
如果目标数据表信息中的行数和源数据表信息中的行数一致,则执行S312。
S312,确定数据抽取成功。
如果目标数据表信息中的行数和源数据表信息中的行数不一致,则执行S314。
S314,根据目标数据表的目标主键信息获取目标主键数据,并且根据源数据表的源主键信息获取源主键数据。
S316,将目标数据表的目标主键数据和源数据表的源主键数据进行对比,并确定不匹配的主键数据的值。
S318,指示目标数据库重新抽取不匹配的主键数据的值对应的行的数据。
上述S302至S318的具体内容可以参考上述S202至S210中的具体实现过程。
在一个实施例中,对于目标字段信息和源字段信息不一致的数据表和行数有缺失的数据表,计算机设备在重新抽取相应数据表的数据和缺失行的数据之后,获取重新抽取数据后的目标数据表的目标数据表信息。并且,计算机设备再次对目标数据表信息和源数据表信息进行对比,以检测在重新抽取数据后目标数据表中数据是否还存在缺失。计算机设备对重新抽取的数据表再次进行检测直到所有重新抽取数据的数据表中数据都抽取成功。计算机设备对重新抽取数据后的目标数据表中数据进行检测的过程可以参考上述S202至S210中的具体实现过程。
计算机设备对目标数据库中重新抽取数据后的目标数据表再次进行检测可以防止在重新抽取数据的过程中,抽取的数据出现缺失,保证了数据抽取的完整性。
上述实施例中,计算机设备通过对源数据表信息和目标数据表信息进行对比来判断从源数据库中抽取的数据是否完整。首先,计算机设备通过对字段的对比来判断抽取的数据表中的列是否有缺失,类型是否正确。如果数据表中的列有缺失或者类型不正确,则计算机设备重新抽取对应的数据表。然后计算机设备通过对行数进行对比来判断目标数据库中抽取的数据表中的行是否完整。如果不完整,则对从目标主键信息和源主键信息中获取的目标主键数据和源主键数据进行对比,通过对比结果定位到缺失的行,并重新抽取相应行的数据。计算机设备通过对数据表信息进行对比,并且根据对比结果重新抽取缺失的数据,保证了抽取的数据的完整性,提高了数据复用的质量。在一个实施例中,当从源数据库抽取数据至目标数据库时,在源数据库生成源数据表信息;以及,在目标数据库生成目标数据表信息;计算机设备将源数据表信息和目标数据表信息存储于监测数据表;计算机设备获取与所抽取数据对应的目标数据表信息和源数据表信息包括:从监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,计算机设备将监测数据表划分为四个字段,第一字段存储源数据表的表名和目标数据表的表名;第二字段存储源数据表的抽取时间和目标数据表的入库时间;第三字段存储源数据表的数据表结构和目标数据表的数据表结构,源数据表的数据表结构包括源字段信息和源主键信息,目标数据表的数据表结构包括目标字段信息和目标主键信息;第四字段存储源数据表的行数和目标数据表的行数。
在一个实施例中,监测数据表存储在计算机设备中的数据库中。在另一个实施例中监测数据表存储在独立于计算机设备的数据库中。
计算机设备每次抽取数据后,源数据库生成被抽取的数据的源数据表信息;目标数据库将抽取的数据写入目标数据库后,生成对应的目标数据表信息。计算机设备将源数据表信息和目标数据表信息分别作为监测数据表的一条记录存储在监测数据表中。所以,监测数据表中的一行记录对应一条目标数据表信息或者一条源数据表信息。
在一个实施例中,计算机设备首先分别提取监测数据表中目标数据表信息的记录和源数据表信息的记录中的表名进行比较。对于表名相同的源数据表信息和目标数据表信息,如果源数据表信息中的抽取时间最早,则这条源数据表信息对应的数据被写入目标数据库的时间也最早。所以计算机设备根据抽取时间和入库时间确定源数据表信息和哪一条目标数据表信息进行比较,也就是说计算机设备根据抽取时间和入库时间确定源数据表信息和目标数据表信息的对应关系。
在一个实施例中,对于监测数据表中相对应的目标数据表信息和源数据表信息的记录,计算机设备通过比较这两条记录在监测数据表中的第三字段和第四字段确定数据抽取是否完整。
在一个实施例中,计算机设备首先分别提取源数据表信息和目标数据表信息在监测数据表的记录中的第三字段中记载的源字段信息和目标字段信息进行对比。如果源字段信息和目标字段信息不相同,则计算机设备指示目标数据库重新抽取该目标数据表信息对应的数据。如果源字段信息和目标字段信息相同,则计算机设备分别提取两条记录中的第四字段中记载的源数据表的行数和目标数据表的行数进行对比,如果行数相同,则计算机设备将该条目标数据表信息对应的目标数据表标记为数据抽取成功的数据表;如果行数不同,则计算机设备分别提取两条记录中的第三字段中记载的目标主键信息和源主键信息,并且根据目标主键信息获取目标主键数据,根据源主键信息获取源主键数据,并对目标主键数据和源主键数据进行对比以确定目标数据库中缺失的行,并指示目标数据库重新抽取缺失的行的数据。
在一个实施例中,计算机设备将源数据表信息和目标数据表信息存储于监测数据表包括:将目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;将源数据表信息转换为目标格式的源数据表信息,并存入监测数据表。
其中,目标格式可以包括但不限于JSON(JavaScript Object Notation,JS对象简谱)格式、(Extensible Markup Language,可扩展标记语言)格式、或其它文件格式。
在一个实施例中,计算机设备将目标数据表信息和源数据表信息转换为JSON格式进行存储。JSON是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON有两种结构形式,键值对形式和数组形式。
计算机设备在通过数据检测模块对抽取的数据进行质量检测时,从监测数据表中提取JSON格式的目标数据表信息和源数据表信息,并对二者进行解析得到目标数据表信息和源数据表信息。
在另一个实施例中,计算机设备将目标数据表信息和源数据表信息转换为XML格式进行存储。XML是一种简单的数据格式,使用一系列简单的标记描述数据,被设计用来传输和存储数据,具有自我描述性。
计算机设备通过数据检测模块对抽取的数据进行质量检测时,从监测数据表中提取XML格式的目标数据表信息和源数据表信息,并对二者进行解析得到目标数据表信息和源数据表信息。
计算机设备将获得的源数据表信息和目标数据表信息转换为目标格式进行存储,降低了存储的源数据表信息和目标数据表信息的数据量。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种数据检测装置,包括:接收模块402、获取模块404、对比模块406和确定模块408,其中:
接收模块402,用于接收数据检测指令;
获取模块404,当从源数据库抽取数据至目标数据库之后,用于获取与所抽取数据对应的目标数据表信息和源数据表信息;
对比模块406,用于对目标数据表信息和源数据表信息进行对比;
确定模块408,若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则用于确定从源数据库重新抽取数据至目标数据库;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则还用于确定从源数据库中抽取缺失行的数据至目标数据库。
上述实施例中,计算机设备通过对源数据表信息和目标数据表信息进行对比来判断从源数据库中抽取的数据是否完整。首先,计算机设备通过对字段的对比来判断抽取的数据表中的列是否有缺失,类型是否正确。如果数据表中的列有缺失或者类型不正确,则计算机设备重新抽取对应的数据表。然后计算机设备通过对行数进行对比来判断目标数据库中抽取的数据表中的行是否完整。如果不完整,则对从目标主键信息和源主键信息中获取的目标主键数据和源主键数据进行对比,通过对比结果定位到缺失的行,并重新抽取相应行的数据。计算机设备通过对数据表信息进行对比,并且根据对比结果重新抽取缺失的数据,保证了抽取的数据的完整性,提高了数据复用的质量。
在一个实施例中,如图5所示,装置还包括:
标记模块410,若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,用于对目标数据表信息对应的目标数据表标记为待重新抽取的数据表;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则还用于对目标数据表标记为所抽取数据的行出现缺失的数据表。
在一个实施例中,装置还包括:
获取模块404,若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则还用于根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获取源主键数据;
对比模块406,用于对所述目标主键数据和所述源主键数据进行对比;确定模块408,若源主键信息中存在与目标主键信息不匹配的主键信息时,用于根据不匹配的主键信息确定缺失行;
确定模块408,还用于确定从源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,装置还包括:
生成模块412,当从源数据库抽取数据至目标数据库之后,用于根据所述源数据表生成源数据表信息,根据所述目标数据表生成目标数据表信息;
存储模块414,用于将源数据表信息和目标数据表信息存储于监测数据表;
获取模块404,还用于从监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,存储模块414,还用于:
将目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;将源数据表信息转换为目标格式的源数据表信息,并存入监测数据表。
在一个实施例中,对比模块406,还用于:
若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数一致,则确定源数据表信息对应的数据抽取成功。
关于数据检测装置的具体限定可以参见上文中对于数据检测方法的限定,在此不再赘述。上述数据检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据检测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据检测方法。
在一个实施例中,提供了一种计算机设备,该计算机设备也可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图6和图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收数据检测指令;当从源数据库抽取数据至目标数据库之后,获取与所抽取数据对应的目标数据表信息和源数据表信息;对目标数据表信息和源数据表信息进行对比;若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则确定从源数据表重新抽取数据至目标数据表;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则确定从源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,对目标数据表信息对应的目标数据表标记为待重新抽取的数据表;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则对目标数据表标记为所抽取数据出现缺失的数据表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获取源主键数据;对所述目标主键数据和所述源主键数据进行对比;若所述源主键数据中存在与所述目标主键数据不匹配的主键数据时,根据所述不匹配的主键数据确定缺失行;确定从源数据库中抽取缺失行的数据至目标数据库。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当从源数据库抽取数据至目标数据库之后,根据所述源数据表生成源数据表信息,根据所述目标数据表生成目标数据表信息;将源数据表信息和目标数据表信息存储于监测数据表;获取与所抽取数据对应的目标数据表信息和源数据表信息包括:从监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,处理器执行将源数据表信息和目标数据表信息存储于监测数据表时还实现以下步骤:将目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;将源数据表信息转换为目标格式的源数据表信息,并存入监测数据表。
在一个实施例中,处理器执行对目标数据表信息和源数据表信息进行对比时还实现以下步骤:若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数一致,则确定源数据表信息对应的数据抽取成功。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收数据检测指令;当从源数据库抽取数据至目标数据库之后,获取与所抽取数据对应的目标数据表信息和源数据表信息;对目标数据表信息和源数据表信息进行对比;若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,则确定从源数据表重新抽取数据至目标数据表;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则确定从源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若目标数据表信息中的目标字段信息和源数据表信息中的源字段信息不一致,对目标数据表信息对应的目标数据表标记为待重新抽取的数据表;若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则对目标数据表标记为所抽取数据出现缺失的数据表。
在一个实施例中,在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数不一致,则根据目标数据表信息中的目标主键信息获取目标主键数据,根据源数据表信息中的源主键信息获取源主键数据;对目标主键数据和所述源主键数据进行对比;若源主键数据中存在与目标主键数据不匹配的主键数据时,根据不匹配的主键数据确定缺失行;确定从源数据表中抽取缺失行的数据至目标数据表。
在一个实施例中,在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当从源数据库抽取数据至目标数据库之后,根据所述源数据表生成源数据表信息,根据所述目标数据表生成目标数据表信息;将源数据表信息和目标数据表信息存储于监测数据表;获取与所抽取数据对应的目标数据表信息和源数据表信息包括:从监测数据表中获取与所抽取数据对应的目标数据表信息和源数据表信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将目标数据表信息转换为目标格式的目标数据表信息,并存入监测数据表;将源数据表信息转换为目标格式的源数据表信息,并存入监测数据表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若目标字段信息和源字段信息一致、且目标数据表信息的行数和源数据表信息的行数一致,则确定源数据表信息对应的数据抽取成功。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。