一种数据质量检测方法、装置、系统及存储介质与流程

文档序号:17442401发布日期:2019-04-17 04:56阅读:179来源:国知局
一种数据质量检测方法、装置、系统及存储介质与流程

本申请涉及数据质量监控技术领域,主要涉及一种数据质量检测方法、装置、系统及存储介质。



背景技术:

在企业运营过程中,由于多地区、多产品、多业务、多系统的环境,导致数据存在诸多质量问题,主要包括:数据不一致、不完整、不统一等问题,由此导致管理者、业务人员和信息使用者的误解,导致数据利用出现错误,企业决策出现偏差。同时低劣数据质量往往造成开发出来的系统与用户预期大相径庭,并且导致运行维护成本过高,工作量过大,系统难以扩展。综上所述,数据质量的检测对于提高数据质量的至关重要的。

但是目前数据质量的检测技术普遍存在着检测时间过长的问题。

申请内容

本申请的目的在于提供一种数据质量检测方法、装置、系统及存储介质,用于解决目前数据质量检测技术存在的检测时间过长的问题。

为了实现上述目的,本申请提供了以下技术方案如下:

第一方面:本申请提供了一种数据质量检测方法,所述方法包括:

获取待检测数据,根据预设的质量规则对所述待检测数据进行校验获得校验结果,所述校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据;

将所述校验结果转化成预设的json格式的校验结果,将所述预设的json格式的校验结果存入弹性搜索,判断所述预设的json格式的校验结果是否存储完成;

若是,则通过所述第一标识在所述弹性搜索提取所述校验不合格的数据以及通过所述第二标识在所述弹性搜索提取所述校验合格的数据,根据所述校验不合格的数据和校验合格的数据计算数据质量。

上述方案设计的方法,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

在第一方面的可选实施方式中,所述根据预设的质量规则对所述待检测数据进行校验获得校验结果,所述校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,包括:

对所述待检测数据进行空值校验,获取空值校验结果,所述空值校验结果包括打上第一标识的空值校验不合格的数据以及打上第二标识的空值校验合格的数据。

上述方案设计的方法,通过空值校验检测待检测数据中未知、不适用的数据,在检测到存在空值时则打上第一标识校验不合格,为后续的计算数据质量做准备。

在第一方面的可选实施方式中,在所述将所述校验结果转化成预设的json格式的校验结果之后,所述方法还包括:

将所述预设的json格式的校验结果存入队列。

上述方案设计的方法,将json格式的校验结果先存储队列,再存入弹性搜索,使得先来的数据先存储,后来的数据后存储,避免数据流量过大引起数据丢失。

在第一方面的可选实施方式中,所述获取待检测数据,根据预设的质量规则对所述待检测数据进行校验获得校验结果,包括:

分批次获取待检测数据,根据预设的质量规则对所述分批次的待检测数据进行校验获得分批次的校验结果;

所述获取待检测数据,根据预设的质量规则对所述待检测数据进行校验获得校验结果,包括:

分批次获取待检测数据,根据预设的质量规则对所述分批次的待检测数据进行校验获得分批次的校验结果;

在所述获得分批次的校验结果之后,所述方法还包括:

将所述分批次的校验结果进行合并成校验结果。

上述方案设计的方法,根据实际业务需求分批次进行待检测数据获取,使得数据的流量得到控制,进而使后续的质量检测不会因为流量过大而产生误差。

在第一方面的可选实施方式中,所述根据所述校验不合格的数据和校验合格的数据计算数据质量,包括:

统计校验不合格的数据的数量以及校验合格的数据的数量,计算校验不合格的数据的数量占总体数据数量的百分比。

第二方面:本申请提供一种数据质量检测装置,所述装置包括:

获取模块,用于获取待检测数据;

校验模块,用于根据预设的质量规则对所述待检测数据进行校验;

所述获取模块,还用于在所述校验模块对所述待检测数据进行校验之后获取检验结果,所述校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据;

转化模块,用于将所述校验结果转化成预设的json格式的校验结果;

存入模块,用于将所述预设的json格式的校验结果存入弹性搜索;

判断模块,用于判断所述预设的json格式的校验结果是否存储完成;

提取模块,用于在所述判断模块判断所述预设的json格式的校验结果存储完成之后,通过所述第一标识在所述弹性搜索中提取所述校验不合格的数据,以及,通过所述第二标识在所述弹性搜索中提取所述校验合格的数据;

计算模块,用于根据所述校验不合格的数据和校验合格的数据计算数据质量。

上述方案设计的装置,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

第三方面:本申请提供一种数据质量检测系统,所述系统包括数据读取校验模块、弹性搜索以及数据质量检测模块,所述数据读取校验模块与所述弹性搜索连接,所述弹性搜索与所述数据质量检测模块连接,

所述数据读取校验模块,用于获取待检测数据,根据预设的质量规则对所述待检测数据进行校验获得校验结果,所述校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,以及,将所述校验结果转化成预设的json格式的校验结果,并将所述预设的json格式的校验结果发送给所述弹性搜索;

所述弹性搜索,用于存储所述预设的json格式的校验结果,判断所述预设的json格式的校验结果是否存储完成,若是,则发送存储完成信息给所述数据质量检测模块;

所述数据质量检测模块,用于在接收到所述存储完成信息后,通过所述第一标识在所述弹性搜索中提取所述校验不合格的数据以及通过所述第二标识在所述弹性搜索中提取所述校验合格的数据,根据所述校验不合格的数据和校验合格的数据计算数据质量。

上述方案设计的系统,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

在第三方面的可选实施方式中,所述系统还包括生成队列模块,用于接收所述数据读取校验模块发送的预设的json格式的校验结果,并将所述预设的json格式的校验结果存入队列。

第四方面:本申请提供一种计算设备,包括:处理器,以及分别与处理器连接的存储器和通信模块,所述存储器存储有所述处理器可执行的机器可读指令,所述通信模块用于与外部设备进行通信传输;当所述计算设备运行时,所述处理器执行所述机器可读指令,以执行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。

第五方面:本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。

第六方面:本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。

图1是本申请第一实施例提供的数据质量检测方法第一流程示意图;

图2是本申请第一实施例提供的数据质量检测方法第二流程示意图;

图3是本申请第二实施例提供的数据质量检测装置结构示意图;

图4是本申请第三实施例提供的数据质量检测系统结构示意图;

图5是本申请第四实施例提供的计算设备结构示意图。

具体实施方式

为使本申请实施方式的目的、技术方案和优点更加清楚,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。因此,以下对在附图中提供的本申请的实施方式的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本申请保护的范围。

在本申请的描述中,需要理解的是,术语“中心”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

在本申请中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。

第一实施例

如图1所示,本申请提供一种数据质量检测方法,该方法包括:

步骤101:获取待检测数据,根据预设的质量规则对待检测数据进行校验获得校验结果,该校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,转到步骤103。

步骤103:将校验结果转化成预设的json格式的校验结果,转到步骤105。

步骤105:将预设的json格式的校验结果存入弹性搜索,判断预设的json格式的校验结果是否存储完成,若是,则转到步骤107。

步骤107:通过第一标识在弹性搜索中提取校验不合格的数据以及通过第二标识在弹性搜索中提取校验合格的数据,根据校验不合格的数据和校验合格的数据计算数据质量。

对于步骤101中部的获取待检测数据,其中,获取待检测数据的方式可通过从任意数据存储软件读取数据;另外,对于步骤101中的打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,其具体方式可为但不限于:为校验不合格的数据打上false标识,为校验合格的数据打上true标识。

对于步骤103中的将校验结果转化成预设的json格式的校验结果,其中,预设的json格式必须符合以下数据结构:

另外,对于步骤105中的弹性搜索,这里需要说明的是,弹性搜索也就是elasticsearch,缩写为es,elasticsearch是一个基于lucene的搜索服务器,elasticsearch具有实时搜索、稳定、可靠、快速、安装使用方便等优点。

上述方案设计的方法,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

可选地,对于步骤101中的根据预设的质量规则对待检测数据进行校验获得校验结果,该校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,包括:

对待检测数据进行空值校验,获取空值校验结果,该空值校验结果包括打上第一标识的空值校验不合格的数据以及打上第二标识的空值校验合格的数据。

其中,预设的质量规则包括空值校验、精度校验以及长度校验等校验规则,其具体方式可通过数据质量校验组件来进行,另外,如果是进行多种校验规则来进行校验,那么校验不合格的数据的标识是不同的,比如空值校验不合格的数据打上的标识是false1,精度校验不合格的数据打上的标识是false2,这样来区分不同校验规则的不合格的数据。

可选地,对于步骤103中的将校验结果转化成预设的json格式的校验结果,其具体方式可通过将json收集组件嵌入每个数据的数据质量校验组件中,来将校验结果转化成json格式。

可选地,如图2所示,在步骤103将校验结果转化成预设的json格式的校验结果之后,该方法还包括步骤104:将预设的json格式的校验结果存入队列。

上述方案设计的方法,将json格式的校验结果先存储队列,通过队列之后再存入弹性搜索,使得先来的数据线存储,后来的数据后存储,避免数据流量过大引起数据丢失。

可选地,对于步骤107中的根据校验不合格的数据和校验合格的数据计算数据质量,包括:

统计校验不合格的数据的数量以及校验合格的数据的数量,计算校验不合格的数据的数量占总体数据数量的百分比。

其中,总体数据数据可通过校验不合格的数据数量加上校验合格的数据的数量来获得。

另外,如果是进行多种校验规则,那么后续的统计是分类的统计,比如进行空值校验和精度校验两种校验规则,那么后续的统计是分别统计空值校验不合格的数据的数量和精度校验不合格的数据的数量,以此来计算空值校验质量百分比和精度校验不合格百分比。至于在弹性搜索中提取时,则根据前述说的不同的标识来进行提取。

可选地,在分类计算出各个校验规则的质量百分比之后,可形成各项指标的报表进行报表输出,另外,在形成各项指标的报表后,可将该报表存入系统的数据库中进行数据保存。

另外,对于步骤101中的获取待检测数据,包括分批次获取待检测数据,具体的分批次可通过分相同的间隔时间批次来获取待检测数据等,进行分批次获取待检测数据,主要是由于当待检测数据单个数据或者数据量过大时,则需要分批次来进行读取;进行分批次读取之后,后续进行校验时一个批次进行一次校验,这样就会获得多个批次的校验结果,然后将多个批次的校验结果进行合并成校验结果。

第二实施例

如图3所示,本申请提供一种数据质量检测装置,该装置包括:

获取模块201,用于获取待检测数据;

校验模块202,用于根据预设的质量规则对待检测数据进行校验;

获取模块201,还用于在校验模块202对待检测数据进行校验之后获取检验结果,该校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据;

转化模块203,用于将校验结果转化成预设的json格式的校验结果;

存入模块204,用于将预设的json格式的校验结果存入弹性搜索;

判断模块205,用于判断预设的json格式的校验结果是否存储完成;

提取模块206,用于在判断模块205判断预设的json格式的校验结果存储完成之后,通过第一标识在所述弹性搜索提取校验不合格的数据,以及,通过所述第二标识在所述弹性搜索提取所述校验合格的数据;

计算模块207,用于根据校验不合格的数据和校验合格的数据计算数据质量。

上述方案设计的装置,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

第三实施例

如图4所示,本申请提供一种数据质量检测系统,该系统包括数据读取校验模块301、弹性搜索302以及数据质量检测模块303,数据读取校验模块301与弹性搜索302连接,弹性搜索302与数据质量检测模块303连接,

数据读取校验模块301,用于获取待检测数据,根据预设的质量规则对待检测数据进行校验获得校验结果,该校验结果包括打上第一标识的校验不合格的数据以及打上第二标识的校验合格的数据,以及,将校验结果转化成预设的json格式的校验结果,并将预设的json格式的校验结果发送给弹性搜索302;

弹性搜索302,用于存储预设的json格式的校验结果,判断预设的json格式的校验结果是否存储完成,若是,则发送存储完成信息给数据质量检测模块303;

数据质量检测模块303,用于在接收到存储完成信息后,通过第一标识在弹性搜索302中提取校验不合格的数据以及通过第二标识在弹性搜索302中提取校验合格的数据,根据校验不合格的数据和校验合格的数据计算数据质量。

其中,数据读取校验模块301其具体可为extract-transform-load,缩写为etl,弹性搜索302其具体可为elasticsearch,缩写为es。

上述方案设计的系统,通过json作为数据质量检测的存储结构,并配合弹性搜索,使得操作简单,并且极大的提高了数据的检测效率和查询效率,缩短了数据的检测时间,为快速检测海量数据的质量提供了可能。

在第三实施例的可选实施方式中,该系统还包括生成队列模块304,用于接收数据读取校验模块301发送的预设的json格式的校验结果,并将预设的json格式的校验结果存入队列。

第四实施例

如图5所示,本申请提供一种计算设备,包括:处理器401,以及分别与处理器连接的存储器402和通信模块403,存储器402存储有处理器401可执行的机器可读指令,通信模块403用于与外部设备进行通信传输;当所述计算设备运行时,处理器401执行所述机器可读指令,以执行时执行第一实施例、第一实施例的任一可选的实现方式中的所述方法。

本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例、第一实施例的任一可选的实现方式中的所述方法。

本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一实施例、第一实施例的任一可选的实现方式中的所述方法置。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

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