本发明涉及计算机,尤其涉及一种数据质量校验方法、系统、电子设备及存储介质。
背景技术:
1、随着大数据技术的不断发展,数据质量越来越受到了人们的重视。在将数据写入数据表时,通常缺乏对数据质量的校验,而由于整体数据量巨大,难以对“脏数据”进行及时排查解决,导致服务崩溃宕机。目前,通常采用人为设定校验规则的方式,对数据表中的数据进行质量校验,如身份证号长度规定为18位等。然而,人为设定的校验规则往往难以应对全部的待校验情况,如旧版身份证号码为15位等特殊的但正常的需求。这就导致数据质量校验不够全面,校验结果的精确度较低,成本较高。
技术实现思路
1、本发明提供一种数据质量校验方法、系统、电子设备及存储介质,用以解决现有技术中通过人为设定校验规则,进行数据质量校验,导致数据质量校验不够全面,校验结果的精确度较低,成本较高的问题。
2、本发明提供一种数据质量校验方法,包括:
3、基于数据表的数据列对应的基础校验规则,和/或所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分,以完成数据质量校验;每个所述数据列均对应至少一个所述基础校验规则,所述元素特征校验规则与所述数据列一一对应;
4、所述基础校验规则为通过对对应的所述数据列的全部属性值的数据属性进行统计得到的,所述元素特征校验规则为通过对对应的所述数据列的全部所述属性值的公共字符元素特征进行规则化处理得到的。
5、根据本发明提供的一种数据质量校验方法,所述基础校验规则的获取步骤包括:
6、对任一所述数据列进行数据属性识别,得到对应的所述数据列的数据属性集,所述数据属性集包括至少一个数据属性子集,在所述数据属性子集的数量大于一个的情况下,每个所述数据属性子集均对应了相应的类型,每个所述数据属性子集均包括对应类型的所述数据属性;
7、对任一所述数据属性子集中的所述数据属性进行统计,得到相同所述数据属性的出现次数;
8、基于所述出现次数超出预设的百分比阈值的所述数据属性,确定校验指标;
9、基于所述校验指标,生成所述基础校验规则,每个所述基础校验规则均对应设有相应的置信度和权重,所述校验指标与所述基础校验规则一一对应。
10、根据本发明提供的一种数据质量校验方法,所述数据属性的类型包括:数据类型、数据字段长度、数据组成类型、以及数据是否为空值,所述数据组成类型指属性值中是否包含有预设的构成要素,所述构成要素包括:特殊符号、标点、数字和字母。
11、根据本发明提供的一种数据质量校验方法,所述公共字符元素特征的获取步骤包括:
12、对任一所述数据列中的全部所述属性值进行字符拆解,得到字符集,所述字符集包括多个字符;
13、对每个所述字符在所述字符集中的出现频次进行统计,得到每个所述字符的所述出现频次;
14、将所述出现频次大于或等于预设的频次阈值的所述字符,确定为公共字符池中的所述公共字符元素特征,所述公共字符池与所述数据列一一对应。
15、根据本发明提供的一种数据质量校验方法,所述元素特征校验规则的获取步骤包括:
16、将任一所述数据列中的全部所述属性值分别与对应的所述公共字符池进行交集处理;
17、对与所述公共字符池存在交集的所述属性值的所述字符进行标记;
18、将被标记的所述字符确定为第一预设数值,将未被标记的所述字符确定为第二预设数值,以得到当前所述数据列中每个所述属性值的属性向量;
19、对全部所述属性向量进行投影操作,得到叠加向量组;
20、将所述叠加向量组中任一点位中密度最大的数值确定为标尺向量点位值;
21、将全部所述点位各自对应的所述标尺向量点位值确定为标尺向量;
22、基于所述标尺向量,生成当前所述数据列的所述元素特征校验规则,所述元素特征校验规则设有相应的置信度和权重。
23、根据本发明提供的一种数据质量校验方法,将被标记的所述字符确定为第一预设数值,将未被标记的所述字符确定为第二预设数值,以得到当前所述数据列中每个所述属性值的属性向量的步骤包括:
24、将被标记的所述字符确定为第一预设数值,将未被标记的所述字符确定为第二预设数值,得到当前所述数据列中每个所述属性值的属性数值序列;
25、对每个所述属性数值序列分别进行定长裁剪处理,得到定长数值序列,所述属性数值序列与所述定长数值序列一一对应;所述定长裁剪处理包括:若存在连续的两个或两个以上的所述第二预设数值,则将对应的两个或两个以上的所述第二预设数值裁剪为一个所述第二预设数值;
26、对当前所述数据列的全部所述定长数值序列进行对齐操作,得到当前所述数据列中每个所述属性值的所述属性向量。
27、根据本发明提供的一种数据质量校验方法,对当前所述数据列的全部所述定长数值序列进行对齐操作,得到当前所述数据列中每个所述属性值的所述属性向量的步骤包括:
28、按照所述定长数值序列中每个数值的先后顺序,对当前所述数据列的全部所述定长数值序列,进行对齐操作;
29、获取当前所述数据列的全部所述定长数值序列的序列长度;
30、将全部所述定长数值序列的序列长度中的最大值确定为目标序列长度;
31、在任一所述定长数值序列的长度小于所述目标序列长度的情况下,利用所述第二预设数值,对当前所述定长数值序列进行长度补齐,以得到当前所述数据列中每个所述属性值的所述属性向量。
32、根据本发明提供的一种数据质量校验方法,基于数据表的数据列对应的基础校验规则,对所述数据表中的行数据进行打分的步骤包括:
33、对所述行数据的每个所述属性值,采用所述属性值所在的所述数据列对应的至少一个所述基础校验规则,分别进行打分,得到所述行数据中每个所述属性值的至少一个基础校验分数。
34、根据本发明提供的一种数据质量校验方法,对所述行数据的每个属性值,采用所述属性值所在的所述数据列对应的至少一个所述基础校验规则,分别进行打分,得到所述行数据中每个所述属性值的至少一个基础校验分数的步骤包括:
35、若所述属性值符合对应的所述基础校验规则,则确定所述属性值在对应的所述基础校验规则下的所述基础校验分数为第一预设基础分;
36、若所述属性值不符合对应的所述基础校验规则,则确定所述属性值在对应的所述基础校验规则下的所述基础校验分数为第二预设基础分。
37、根据本发明提供的一种数据质量校验方法,基于数据表的数据列对应的基础校验规则,对所述数据表中的行数据进行打分,以完成数据质量校验的步骤包括:
38、将所述基础校验分数的平方值依次与对应的所述基础校验规则的置信度、权重相乘,得到与所述基础校验分数一一对应的第一目标分数;
39、将所述行数据的全部所述属性值的所述第一目标分数之间的和值确定为第二目标分数;
40、对所述第二目标分数进行平方根运算,得到所述行数据的最终分数;
41、基于所述最终分数和预设的至少一个风险阈值,确定所述行数据的风险程度。
42、根据本发明提供的一种数据质量校验方法,基于所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分的步骤包括:
43、对所述行数据的每个所述属性值,采用所述属性值所在的所述数据列对应的所述元素特征校验规则,进行打分,得到所述行数据中每个所述属性值的元素特征基础分。
44、根据本发明提供的一种数据质量校验方法,对所述行数据的每个所述属性值,采用所述属性值所在的所述数据列对应的所述元素特征校验规则,进行打分,得到所述行数据中每个所述属性值的元素特征基础分的步骤包括:
45、将所述行数据的每个所述属性值的属性向量,分别与对应的所述元素特征校验规则中的标尺向量进行异或运算,得到异或运算结果,所述异或运算结果与所述属性向量一一对应;
46、将任一所述异或运算结果中的全部数值之间的和值,确定为对应的所述属性值的所述元素特征基础分,以得到所述行数据中每个所述属性值的元素特征基础分。
47、根据本发明提供的一种数据质量校验方法,基于所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分,以完成数据质量校验的步骤包括:
48、将所述元素特征基础分的平方值依次与对应的所述元素特征校验规则的置信度、权重相乘,得到与所述元素特征基础分一一对应的第三目标分数;
49、将所述行数据的全部所述属性值的所述第三目标分数之间的和值确定为第四目标分数;
50、对所述第四目标分数进行平方根运算,得到所述行数据的最终分数;
51、基于所述最终分数和预设的至少一个风险阈值,确定所述行数据的风险程度。
52、根据本发明提供的一种数据质量校验方法,基于数据表的数据列对应的基础校验规则和所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分的步骤包括:
53、对所述行数据的每个所述属性值,采用所述属性值所在的所述数据列对应的至少一个所述基础校验规则,分别进行打分,得到所述行数据中每个所述属性值的至少一个基础校验分数;并且,采用所述属性值所在的所述数据列对应的所述元素特征校验规则,进行打分,得到所述行数据中每个所述属性值的元素特征基础分。
54、根据本发明提供的一种数据质量校验方法,基于数据表的数据列对应的基础校验规则和所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分,以完成数据质量校验的步骤包括:
55、将所述基础校验分数的平方值依次与对应的所述基础校验规则的置信度、权重相乘,得到与所述基础校验分数一一对应的第一目标分数;
56、将所述行数据的全部所述属性值的所述第一目标分数之间的和值确定为第二目标分数;
57、将所述元素特征基础分的平方值依次与对应的所述元素特征校验规则的置信度、权重相乘,得到与所述元素特征基础分一一对应的第三目标分数;
58、将所述行数据的全部所述属性值的所述第三目标分数之间的和值确定为第四目标分数;
59、将所述第二目标分数与所述第四目标分数之间的和值确定为第五目标分数;
60、对所述第五目标分数进行平方根运算,得到所述行数据的最终分数;
61、基于所述最终分数和预设的至少一个风险阈值,确定所述行数据的风险程度。
62、根据本发明提供的一种数据质量校验方法,所述风险阈值分别与所述基础校验规则的权重、以及所述元素特征校验规则的权重正相关,所述风险阈值分别与所述基础校验规则的置信度、以及所述元素特征校验规则的置信度负相关。
63、本发明还提供一种数据质量校验系统,包括:
64、校验模块,用于基于数据表的数据列对应的基础校验规则,和/或所述数据列对应的元素特征校验规则,对所述数据表中的行数据进行打分,以完成数据质量校验;每个所述数据列均对应至少一个所述基础校验规则,所述元素特征校验规则与所述数据列一一对应;
65、所述基础校验规则为通过对对应的所述数据列的全部属性值的数据属性进行统计得到的,所述元素特征校验规则为通过对对应的所述数据列的全部所述属性值的公共字符元素特征进行规则化处理得到的。
66、根据本发明提供的一种数据质量校验系统,还包括:聚集模块,用于基于所述基础校验规则,生成与所述基础校验规则一一对应的基础校验网;基于所述元素特征校验规则,生成与所述元素特征校验规则一一对应的元素特征校验网;
67、所述校验模块具体用于将所述行数据依次通过所述基础校验网和/或所述元素特征校验网,得到所述行数据的最终分数。
68、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据质量校验方法。
69、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据质量校验方法。
70、本发明的有益效果:本发明提供的数据质量校验方法、系统、电子设备及存储介质,通过基于数据表的数据列对应的基础校验规则,和/或数据列对应的元素特征校验规则,对数据表中的行数据进行打分,以完成数据质量校验;每个数据列均对应至少一个基础校验规则,元素特征校验规则与数据列一一对应;基础校验规则为通过对对应的数据列的全部属性值的数据属性进行统计得到的,元素特征校验规则为通过对对应的数据列的全部属性值的公共字符元素特征进行规则化处理得到的。本方法通过对数据表进行无监督地统计,自动生成相应的基础校验规则和/或元素特征校验规则,能够较好地提高数据质量校验的精确度,成本较低,可行性较高。