一种表数据质量探查方法及装置与流程

文档序号:20918884发布日期:2020-05-29 13:53阅读:211来源:国知局
一种表数据质量探查方法及装置与流程

本申请涉及表数据质量探查技术领域,具体而言,涉及一种表数据质量探查方法及装置。



背景技术:

数据探查是通过对数据集的查询与分析来达到了解数据特征和数据质量的目的。数据探查是数据质量中非常重要的环节,是决定数据正确性关键的一步。数据探查能够为后续数据的etl提供指导,如需要多少清洗机制、脏数据所占的比率、数据量、数据的结构等信息。

而对于结构化数据库表中的数据探查,现有的方式是通过人工写sql查询指令进行统计分析,这种方式工作量比较繁琐、不够智能、探查效率低,并且人工编写sql查询指令也容易出错,人工投入的工作量较大,提高了表数据质量的探查成本。



技术实现要素:

有鉴于此,本申请的目的在于提供一种表数据质量探查方法及装置,能够达到快速准确完成表数据的质量探查,并节约表数据质量的探查成本的效果。

第一方面,本申请实施例提供了一种表数据质量探查方法,包括:

获取若干预设属性类别分别对应的校验规则;

建立每种所述校验规则与预设字段集的映射关系;

基于待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离,来确定所述待探查的表字段对应的所述预设字段集中的目标表字段;

根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则;

利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据进行质量探查。

结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,在获取若干预设属性类别分别对应的校验规则之前,还包括:

利用若干预设属性类别分别对应的校验规则构建校验规则库。

结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中,在构建所述校验规则库之后,还包括:

接收对所述校验规则库的编辑指令,并基于所述编辑指令对所述校验规则库进行编辑;

其中,所述编辑指令包括:用于修改所述校验规则库的校验规则的修改指令和/或用于增加自定义校验规则的增加指令。

结合第一方面,本申请实施例提供了第三方面的第一种可能的实施方式,其中,基于待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离,来确定所述待探查的表字段对应的所述预设字段集中的目标表字段,包括:

确定待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离;

从多个所述编辑距离中确定最小编辑距离;

若所述最小编辑距离对应所述预设字段集中的一个表字段,则确定该表字段为目标表字段;

若所述最小编辑距离对应所述预设字段集中的至少两个表字段,则随机选取所述至少两个表字段中的一个表字段作为目标表字段。

结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则,包括:

根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;

将推荐的校验规则确定为所述目标表字段对应的校验规则。

结合第一方面,本申请实施例提供了第一方面的第五种可能的实施方式,其中,根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则,包括:

根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;

接收对推荐的校验规则的调整指令,并基于所述调整指令对推荐的校验规则进行调整;

将调整后的校验规则确定为所述目标表字段对应的校验规则。

结合第一方面,本申请实施例提供了第一方面的第六种可能的实施方式,其中,利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据进行质量探查,包括:

利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据逐条进行质量探查;

在对所有表数据进行质量探查后,得到表数据的以下至少一项质量探查结果:表数据总量、不合法字段数、不合法字段所占比例、表字段对应的校验规则。

第二方面,本申请实施例还提供一种表数据质量探查装置,包括:

规则获取模块,用于获取若干预设属性类别分别对应的校验规则;

映射建立模块,用于建立每种所述校验规则与预设字段集的映射关系;

第一确定模块,用于基于待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离,来确定所述待探查的表字段对应的所述预设字段集中的目标表字段;

第二确定模块,用于根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则;

质量探查模块,用于利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据进行质量探查。

第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面中任一种可能的实施方式的步骤。

第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面中任一种可能的实施方式的步骤。

本申请实施例提供的一种表数据质量探查方法及装置,采用建立多种校验规则与预设字段集的映射关系,基于待探查的表字段与预设字段集中的表字段之间的编辑距离来确定目标表字段,基于所述映射关系确定所述目标表字段对应的校验规则,并利用该校验规则对待探查的表字段的实例数据进行质量探查。与现有技术中的通过人工写sql查询指令进行统计分析相比,本申请可以快速准确完成表数据的质量探查,从而提高了数据探查效率和数据探查准确率,且无需人工编写sql查询指令进行统计分析,从而节约表数据质量的探查成本。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例提供的一种表数据质量探查方法的流程图;

图2示出了本申请实施例提供的一种表数据质量探查装置的结构示意图;

图3示出了本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“人员信息表数据质量探查”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕“人员信息表数据质量探查”进行描述,但是应该理解,这仅是一个示例性实施例。

需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。

请参阅图1,图1为本申请实施例提供的一种表数据质量探查方法的流程图。如图1所示,所述方法可以包括:

s101、获取若干预设属性类别分别对应的校验规则。

在一个可能的实施例中,在步骤s101之前,所述方法还包括:利用若干预设属性类别分别对应的校验规则构建校验规则库。这里预设属性类别一般指常用属性类别。校验规则库大致分为两大类:字符型属性规则和数值型属性规则。字符型属性类别包括:二元属性(如性别、是否等)、枚举属性(省份、国家、婚姻状况等)、序数属性(职称、满意度等)、身份证属性、手机号码属性、mac地址属性、车牌号码属性、非空属性等。数值型属性类别包括:区间属性(如温度、分数、年龄等)、比率(百分比等)。

在一个可能的实施例中,在构建所述校验规则库之后,还包括:接收对所述校验规则库的编辑指令,并基于所述编辑指令对所述校验规则库进行编辑。其中,所述编辑指令包括:用于修改所述校验规则库的校验规则的修改指令和/或用于增加自定义校验规则的增加指令。在具体实施中,可为用户提供开放的接口,支持用户根据自己的业务需要,开发自定义的校验规则或者修改现有的校验规则。

s102、建立每种所述校验规则与预设字段集的映射关系。

在步骤s102中,可通过在<r,[f1,f2…fi]>,其中r为1)中建立校验规则名来表示校验规则与预设字段集的映射关系,[f1,f2…fi]中的“f1,f2…fi”为应用该规则的预设字段集中的常用字段英文名称。

s103、基于待探查的表字段与预设字段集中的多个表字段之间的编辑距离,来确定所述待探查的表字段对应的所述预设字段集中的目标表字段。

在一个可能的实施例中,步骤s103包括:确定待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离;从多个所述编辑距离中确定最小编辑距离;若所述最小编辑距离对应所述预设字段集中的一个表字段,则确定该表字段为目标表字段;若所述最小编辑距离对应所述预设字段集中的至少两个表字段,则随机选取所述至少两个表字段中的一个表字段作为目标表字段。具体地,采用编辑距离(editdistance)算法计算待探查的表字段c与预设字段集中的常用字段f{f1,f2…fi}之间的编辑距离d={lcf1,lcf2…lcfi},其中lcfi表示待探查的表字段c与常用字段fi之间的编辑距离,编辑距离越小,则字段的相似度越大。对编辑距离d取最小值dmin,找到dmin的常用字段f;如果同一dmin对应多个字段,则随机选取一个字段作为目标表字段。

s104、根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则。

在一个可能的实施例中,步骤s104包括:根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;将推荐的校验规则确定为所述目标表字段对应的校验规则。本实施例可以为目标表字段自动推荐对应的校验规则。

在另一个可能的实施例中,步骤s104包括:根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;接收对推荐的校验规则的调整指令,并基于所述调整指令对推荐的校验规则进行调整;将调整后的校验规则确定为所述目标表字段对应的校验规则。本实施例可以让用户调整推荐的校验规则,可以更加灵活地适应用户的需求。可选地,用户还可以不使用推荐的校验规则,还可以根据用户的操作指令选择目标校验规则。

s105、利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据进行质量探查。如果该实例数据满足校验逻辑,则校验通过,该实例数据为合法数据,否则为不合法数据。

在一个可能的实施例中,步骤s105包括:利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据逐条进行质量探查;在对所有表数据进行质量探查后,得到表数据的以下至少一项质量探查结果:表数据总量、不合法字段数、不合法字段所占比例、表字段对应的校验规则。

下面以具体实施例来对上述表数据质量探查方法进行详细描述。

1)假设有人员信息表a,表字段及数据如表-a所示:

表-a

2)获取规则库r={<身份证规则,[sfz,sfzh,zjhm]>,<年龄规则,[nl,age,nj]>,<性别规则,[xb,sex]>,<手机号码规则,[sjhm,sjh,sj,dhhm]>,<省份规则,[province,sf,shengfen,szsf]>};

3)建立规则库r中每种检验规则与常用字段集的映射关系,身份证规则对应字段“身份证号”,年龄规则对应字段“年龄”,性别规则对应字段“性别”,手机号码规则对应字段“手机号”,省份规则对应字段“所在省份”;

4)对表中的身份证号(sfzh)、年龄(nl)、性别(xb)、手机号(sjh)、所在省份(szsf),计算与常用字段集[sfz,sfzh,zjhm],[nl,age,nj],[xb,sex],[sjhm,sjh,sj,dhhm],[province,sf,shengfen,szsf]的相似度,也即编辑距离,来确定目标表字段;

5)根据计算结果,身份证号推荐使用身份证规则,年龄使用年龄规则,性别使用性别规则,手机号使用手机号码规则,所在省份使用省份规则;

6)扫描全部数据,规则校验完后,发现身份证不合法2条,年龄不合法1条,性别不合法0条,手机号不合法1条,所在省份不合法1条;

7)探查表a统计结果,数据总量3,不合法字段数5,占比为33.3%(5/15),加载规则数为5等分析指标。

本申请实施例提供的一种表数据质量探查方法,采用建立多种校验规则与预设字段集的映射关系,基于待探查的表字段与预设字段集中的表字段之间的编辑距离来确定目标表字段,基于所述映射关系确定所述目标表字段对应的校验规则,并利用该校验规则对待探查的表字段的实例数据进行质量探查。与现有技术中的通过人工写sql查询指令进行统计分析相比,本申请可以快速准确完成表数据的质量探查,从而提高了数据探查效率和数据探查准确率,且无需人工编写sql查询指令进行统计分析,从而节约表数据质量的探查成本。

基于相同的技术构思,本申请实施例还提供一种表数据质量探查装置、电子设备以及计算机可读存储介质等,具体可参见以下实施例。

请参阅图2,图2为本申请实施例提供的一种表数据质量探查装置的结构示意图。如图2所示,表数据质量探查装置包括:

规则获取模块210,用于获取若干预设属性类别分别对应的校验规则。

映射建立模块220,用于建立每种所述校验规则与预设字段集的映射关系。

第一确定模块230,用于基于待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离,来确定所述待探查的表字段对应的所述预设字段集中的目标表字段。

第二确定模块240,用于根据每种所述校验规则与预设字段集的映射关系,确定所述目标表字段对应的校验规则。

质量探查模块250,用于利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据进行质量探查。

在一个可能的实施例中,表数据质量探查装置还包括:

规则构建模块260,用于利用若干预设属性类别分别对应的校验规则构建校验规则库。

在一个可能的实施例中,表数据质量探查装置还包括:

规则编辑模块270,用于接收对所述校验规则库的编辑指令,并基于所述编辑指令对所述校验规则库进行编辑;

其中,所述编辑指令包括:用于修改所述校验规则库的校验规则的修改指令和/或用于增加自定义校验规则的增加指令。

在一个可能的实施例中,第一确定模块230具体用于:确定待探查的表字段与所述预设字段集中的多个表字段之间的编辑距离;从多个所述编辑距离中确定最小编辑距离;在所述最小编辑距离对应所述预设字段集中的一个表字段时,确定该表字段为目标表字段;在所述最小编辑距离对应所述预设字段集中的至少两个表字段时,随机选取所述至少两个表字段中的一个表字段作为目标表字段。

在一个可能的实施例中,第二确定模块240具体用于:根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;将推荐的校验规则确定为所述目标表字段对应的校验规则。

在一个可能的实施例中,第二确定模块240具体用于:根据每种所述校验规则与预设字段集的映射关系,为所述目标表字段推荐校验规则;接收对推荐的校验规则的调整指令,并基于所述调整指令对推荐的校验规则进行调整;将调整后的校验规则确定为所述目标表字段对应的校验规则。

在一个可能的实施例中,质量探查模块250具体用于:利用所述目标表字段对应的校验规则,对所述待探查的表字段的实例数据逐条进行质量探查;在对所有表数据进行质量探查后,得到表数据的以下至少一项质量探查结果:表数据总量、不合法字段数、不合法字段所占比例、表字段对应的校验规则。

请参阅图3,图3为本申请实施例提供的一种电子设备的结构示意图。如图3所示,包括:处理器301、存储介质302和总线303,存储介质302存储有处理器301可执行的机器可读指令,当电子设备运行时,处理器301与存储介质302之间通过总线303通信,处理器301执行所述机器可读指令,以执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

本申请实施例所提供的表数据质量探查方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

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

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