一种数据质量评估方法及系统
文献发布时间:2023-06-19 13:45:04
技术领域
本发明涉及数据质量评估领域,特别涉及一种数据质量评估方法及系统。
背景技术
信息化建设一般往往注重在业务功能和流程上,对数据的标准性方面没有关注,随着信息化建设的不断发展,国家卫计委对全国医院信息的可共享性要求越来越高,对数据标准越来越重视,最近五年陆续颁布一系列数据标准,并展开相关标准测评工作,要求医院的业务数据达到标准符合程度。另外一方面随着对数据利用的需求越来越高,数据一致性、数据标准型等问题往往阻碍了数据的利用。
医院要想提高数据标准符合程度,首先需要了解现有数据与标准有多大的距离,基本上只能通过手工写sql语句实现,而且还有很多疏漏,也不好统计,效率很低。
发明内容
基于此,本申请实施例提供了一种数据质量评估方法及系统,提高了数据的质量以及获取数据的效率。
第一方面,提供了一种数据质量评估方法,该方法包括:
提取待进行数据质量评估的医院数据库表元数据信息,补充完善该表的数据模型和显示模型;
将补充完善完成的数据模型和显示模型中的表信息添加到数据资产列表中,成为确定待设置质量检查的对象列表;
通过显示模型可浏览一个表对象的数据信息,通过可维护的检查规则逐一对表对象中的列进行检查规则配置,一个列得到至少一个列检查视图;
针对表可以设置多个表检查方案,一个表检查方案可以对应多个不同的列检查视图,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别;
针对数据资产可以设置多个评估方案,不同的评估方案可以对应多个不同的表检查方案,通过对评估方案的执行得到本次评估数据质量分数和表所属数据质量级别。
可选地,在一个表检查方案中可以设置列的质量权重和质量级别范围,其特征在于,所述一个表检查方案可以对应多个不同的列检查视图,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别,还包括:
所述数据资产列表中可以有多个检查方案,每个检查方案都可以由不同的列检查视图组成,每个检查方案中的列检查视图权重都可以不同、质量级别范围不同;
具体地,可以对表检查方案执行,通过逐一将表检查方案中的列检查视图动态生成SQL语句,对表对象的业务数据进行查询得到检出问题数量,通过检出问题数量与检查记录数得到正确率;
根据所述正确率与列的质量权重得到检查视图的字段得分和列质量级别,通过各个字段得分之和得到表检查方案得分和各列质量级别。
可选地,确定表检查方案所对应的列检查视图,根据确定的列检查视图形成至少一个表检查方案,包括:
通过第一公式形成所述表检查方案,其中,第一公式具体包括:
N=Sum(Fv
其中,N表示表检查方案本次执行得分,所述表检查方案得分用于表征所述检查方案的质量,Sum表示每个列检查视图的字段得分合计,n表示第n个检查视图,Fv表示列检查视图得分,w表示列检查视图在该表质量检查方案的权重。
可选地,在一个评估方案中可以设置表检查方案质量权重和质量级别范围,其特征在于,可以设置多个评估方案,每一个评估方案可以对应多个不同的表检查方案,每个评估方案中的表检查方案权重都可以不同、质量级别范围不同,还包括:
通过表检查方案的质量权重得到表检查方案得分和质量级别,并根据表检查方案得分之和得到评估方案得分和各表质量级别,包括根据第二公式得到评估方案的质量得分,其中,第二公式具体包括:
M=Sum(Tv
M代表本次执行评估方案的质量得分,Tv代表表检查方案的质量得分,w代表表检查方案在本评估方案中的权重,m表示第m个表检查方案。
可选地,所述列检查规则至少包括空值检查、字典检查、SQL检查等可维护检查规则中的一项。
可选地,提取待进行数据质量评估的数据库表元数据信息,补充完善该表的数据模型和显示模型,包括:
数据模型设置和显示模型设置,通过这两个模型的设置,可以实现对任意要评估的表/视图对象做可视化列质量规则设置,也可以实现表数据的可视化增删改查操作。
可选地,所述数据模型的窗口列表包括列基本信息以及检查规则信息,所述列基本信息至少包括列序号、显示名称、列名称、列数据类型、长度以及是否可空,所述检查规则信息中包括预设的检查规则。
第二方面,提供了一种数据质量评估系统,该系统包括:
提取模块,用于提取待进行数据质量评估的医院数据库表元数据信息,补充完善该表的数据模型和显示模型;
窗口模块,用于将已补充完善完成的数据模型和显示模型中的表信息添加到数据资产列表中,成为确定待设置质量检查的对象列表;
第一处理模块,用于通过显示模型可浏览一个表对象的数据信息,通过可维护的检查规则逐一对表对象中的列进行检查规则配置,一个列得到至少一个列检查视图;
第二处理模块,用于针对表设置多个表检查方案,一个表检查方案可以对应多个不同的列检查视图,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别;
第三处理模块,用于针对数据资产设置多个评估方案,不同的评估方案可以对应多个不同的表检查方案,通过对评估方案的执行得到本次评估数据质量分数和表所属数据质量级别。
可选地,所述系统还包括:
显示模块,用于对所述系统中数据资产列表、列检查视图、表检查方案以及评估方案进行显示。
可选地,所述系统还包括:
数据维护模块,用于对表对象中各个列的检查规则进行修改维护。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的技术方案中,首先提取待进行数据质量评估的数据库表元数据信息,补充完善该表的数据模型和显示模型;补充完善后将表信息添加到数据资产列表中;通过可维护的检查规则逐一对表对象中的列进行检查规则配置,一个列得到至少一个列检查视图;针对表可以设置多个表检查方案,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别;最终,针对数据资产可以设置多个评估方案,不同的评估方案可以对应多个不同的表检查方案,通过对评估方案的执行得到本次评估数据质量分数和表所属数据质量级别。可以看出,通过本申请可以快速分析统计数据得到目标数据资产的数据质量评估报告。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本申请实施例提供的一种数据质量评估方法的步骤流程图;
图2为本申请实施例评估方案的功能实现逻辑过程的示意图;
图3为本申请实施例待评估的数据库表管理的示意图;
图4为本申请实施例端点数据模型管理功能的示意图;
图5为本申请实施例列检查规则维护的示意图;
图6为本申请实施例检查表达式维护的示意图;
图7为本申请实施例端点显示模型管理功能的示意图;
图8为本申请实施例设置列检查视图的示意图;
图9为本申请实施例视图保存管理的示意图;
图10为本申请实施例设置对象字段权重分数的示意图;
图11为本申请实施例对指标的计算公式进行设置的示意图;
图12为本申请实施例对检查视图的字段得分计算的示意图;
图13为本申请实施例对检查视图的字段得分计算的示意图;
图14为本申请实施例对表检查方案得分计算的示意图;
图15为本申请实施例对表检查方案得分计算的示意图;
图16为本申请实施例对评估方案得分计算的示意图;
图17为本申请实施例提供的一种数据质量评估系统的示意图。
图18为本申请实施例提供的一种数据质量评估系统的框图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种数据质量评估方法进行详细介绍。
请参考图1,其示出了本申请实施例提供的一种数据质量评估方法的流程图,该方法可以包括以下步骤:
步骤101,提取待进行数据质量评估的数据库表元数据信息,补充完善该表的数据模型和显示模型。
在本申请实施例中,首先提取待进行数据质量评估的数据库表元数据信息,补充完善该表的数据模型和显示模型,通过数据模型设置和显示模型的设置,可以实现对任意要评估的表/视图对象做可视化列质量规则设置,也可以实现表数据的可视化增删改查操作。
具体地,本方法或者系统的功能实现逻辑过程可以如图2所示。首先进行端点的维护,如图3,包括了端点注册、配置数据库连接信息以及配置可写库信息。完成数据库的信息填写与配置,通过填写的JDBC链接信息将目标数据库表与数据模型进行链接。
在一个可选的实施例中,步骤101还可以包括参数设置,具体包括业务集成信息库端点ID的修改。
其中,待评估的数据库表包括了元数据,将待评估的数据库表中的元数据进行信息提取得到元数据信息,为下一步数据模型管理做准备。
步骤102,将表信息添加到数据资产列表中,成为确定待设置质量检查的对象列表。
在本申请实施例中,将步骤101补充完善完成的数据模型和显示模型中的表信息添加到数据资产列表中。
其中,数据资产列表(也即窗口列表)中包括有预设的检查规则。在本申请实施例中,如图4所示,数据模型中包含了列基本信息,内容检查规则信息,对应标准字典信息。其中列基本信息可以包括列序号、显示名称、列名称、列数据类型、长度以及是否可空。检查规则信息可以包括该列(数据字段)的检查规则,其中检查规则可以包括多个检查配置,如NULL代表空值检查,DICT[214]代表字典检查,214是字典的ID值,中间用逗号进行分割。其中,每个内容检查规则至少包括空值检查以及字典检查中的一项,对应标准字典信息即检查规则中的字典检查所对应的具体信息。
在本申请一个可选的实施例中,如图5和图6所示,还包括对检查规则的维护修改、检查表达式维护等。
如图7所示,展示了本申请可选的实施例中的端点显示模型管理功能,端点显示模型用于后续业务数据的展现设置(包括列的显示名称、显示宽度、缺省值、分组信息、显示顺序号、脱敏显示规则等信息)。
步骤103,通过可维护的检查规则逐一对表对象中的列进行检查规则配置,一个列得到至少一个列检查视图。
在本申请实施例中,显示模型可以浏览一个表对象的数据信息,并且操作人员可以通过显示模型与表对象的数据信息进行交互。
具体地,选取数据模型中至少一条需要检查的数据字段,即添加数据检查对象也就是选取哪个表/视图做检查配置;确定每一条需要检查的数据字段中的内容检查规则,质量规则是最小单位,基本上一个列对应一个检查视图,其中,检查视图指的是在一个字段上设定检查规则,形成检查视图(一般为了粒度最小化,一个字段的一个检查规则保存为一个检查视图)
根据至少一项预设的检查规则对待检查的窗口列表中的元数据信息进行检查得到正确率,正确率通过检出问题数量与检查记录数得到;根据正确率与检查规则的权重得到检查视图的字段得分,字段得分用于表征检查视图的质量。
如图8所示展示了一种设置检查视图的示意图,如图8所示,在要进行检查的字段上做勾选,设置检查规则。一个字段上可以做多种检查配置,如NULL代表空值检查,DICT[214]代表字典检查,214是字典的ID值,中间用逗号进行分割。在本申请中,规则表达式决定着具体算法,应用正则表达式实现,后台有正则表达式引擎执行,有的时候正则表达式实现不了的检查,可以使用CSQL检查规则完成。
如图9所示,给出了一种视图保存管理示意图,如图9所示点击保存检查视图,命名这个检查视图,如医嘱编码列检查,系统将这个配置信息存储到数据库。
步骤104,针对表可以设置多个表检查方案,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别。
在本申请实施例中,检查方案指的是表检查方案,一个表检查方案可以对应多个不同的列检查视图,并且每一个表检查方案所采取的列检查视图相互独立,即一张列检查视图可以分别对应多个表检查方案。
并且,一个表检查方案可以包含多个质量规则(质量规则对应字段检查),相当于包含很多字段质量检查规则,由于考虑字段数据重要性的不同,可以在一个表检查方案内针对每个质量规则(字段检查规则)同时,在一个表检查方案中可以设置列的质量权重和质量级别范围,如图10,数据资产列表中可以有多个检查方案,每个检查方案都可以由不同的列检查视图组成,每个检查方案中的列检查视图权重都可以不同、质量级别范围不同。
具体地,遍历所有需要检查的数据字段(执行全表检查的逻辑)具体为:
1)先得到质量检查规则列表(检查规则),获取每个质量检查规则的检查规则定义;
2)可以对表检查方案执行,通过逐一将表检查方案中的列检查视图动态生成SQL语句,即获取检查规则定义所对应的表达式,由程序解析表达式生成对应数据库类型的SQL语句,将执行SQL过滤出来的数据,即不符合规则的记录统计数、规则类别、不合格占比=过滤所得记录数/记录总数*权重、对不合格占比与质量等级范围的比较所得到的质量等级信息写入到质量规则检查结果表中,将记录的主键列(从数据模型定义中获取)的数据合并写入不符合规则明细记录中。
根据正确率与列的质量权重得到检查视图的字段得分和列质量级别,通过各个字段得分之和得到表检查方案得分和各列质量级别。
3)执行质量检查方案中每一个质量检查规则,直到全部执行完毕。
其中,预设权重可以是指每一个数据字段所设置的字段权重,或者某几个数据字段所对应的权重。在本申请实施例中,根据不同数据字段的字段得分以及预设权重得到检查结果,即通过数据字段的字段得分以及预设数据字段权重得到数据字段得分,即正确率*权重=字段得分。
通过第一公式形成检查方案,其中,第一公式具体包括:
N=Sum(Fv
其中,N表示表检查方案本次执行得分,所述表检查方案得分用于表征所述检查方案的质量,Sum表示每个列检查视图的字段得分合计,n表示第n个检查视图,Fv表示列检查视图得分,w表示列检查视图在该表质量检查方案的权重。
步骤105,不同的评估方案可以对应多个不同的表检查方案,通过对评估方案的执行得到本次评估数据质量分数和表所属数据质量级别。
在本申请一个实施例中,评估方案可以包括多个检查方案,在得到各个检查方案的检查方案得分后,将所有检查方案得分进行相加即得到评估方案得分。其中,还可以显示各个检查方案在评估方案得分的占比,以及自定义评级与质量问题的分类等。
具体地,在一个评估方案中可以设置表检查方案质量权重和质量级别范围,每一个评估方案可以对应多个不同的表检查方案,每个评估方案中的表检查方案权重都可以不同、质量级别范围不同,通过表检查方案的质量权重得到表检查方案得分和质量级别,并根据表检查方案得分之和得到评估方案得分和各表质量级别,包括根据第二公式得到评估方案的质量得分,其中,第二公式具体包括:
M=Sum(Tv
M代表本次执行评估方案的质量得分,Tv代表表检查方案的质量得分,w代表表检查方案在本评估方案中的权重值,m表示第m个表检查方案。
以下给出一个应用本申请实施例提供的一种数据质量评估系统的实施实例,可以应用于医院业务系统:
其中,在具体实施中检查规则指的是给字段设定的进行数据质量检查所需要的规则;质量等级指的是数据质量控制的分级;质量问题分类指的是数据质量的评价维度;检查视图指的是在一个字段上设定检查规则,形成检查视图;(一般为了粒度最小化,一个字段的一个检查规则保存为一个检查视图);检查方案指的是一张表内的一个或多个检查视图可形成检查方案;评估方案指的是多个检查方案可形成评估方案。
首先,将所要评估的业务系统及数据库信息的管理,为下一步数据模型管理做准备。
进行数据模型管理,将业务系统的表/视图和字段信息提取到数据模型中,做数据模型和显示模型的管理,包括了列基本信息,内容检查规则信息,对应标准字典信息。其中内容检查规则信息具体包括了检查类别描述、检查代码、规则表达式、指定范围以及格式类型。
之后进行添加数据检查对象,在数据检查对象管理窗口列表中增加已经设置好数据模型和显示模型的对象(表/视图)。打开数据检查对象,定义检查视图的(即定义质量规则/设置字段质量检查规则),选择数据检查对象,系统按照数据对象的显示模型设置列表显示数据。
进行质量检查方案(检查方案检查)可以理解为表检查方案,一个表检查方案可以包含多个质量规则(质量规则对应字段检查),相当于包含很多字段质量检查规则,由于考虑字段数据重要性的不同,可以在一个表检查方案内针对每个质量规则(字段检查规则)设置权重。
有的时候是需要一个评估方案执行完成后得出具体的质量指标结果值,需要对指标进行设置,具体地在如图11的界面中:
点击右侧的【添加】,弹出【表与字段选择】界面;
选择表和字段后,点击【添加】,【计算因子应用字段名称】和【因子别名】会被添加上;
规则类型:通过下拉列表选择规则类型;
因子计算表达式:双击对应的空白处,会弹出【计算因子表达式编辑】界面,编辑好表达式后,点击【确定】;
限定检查视图:双击【限定检查视图】对应的空白处,弹出【选择限定检查视图】界面,如果一个字段上定义了多个同种类型的检查规则,需要限定检查视图,如果不设定检查视图,计算时会用此种规则的结果之和来计算。
指标的计算逻辑是基于质量评估方案计算结果的基础上进行的二次计算,依据公式表达式,将检出记录数、记录总数、计算因子数据,从本次质量规则检查结果表获取出来,用数值替换掉表达式中的变量名称进行计算获得指标结果。
其中,得分的逻辑包括了:
1、字段得分计算,如图12和13:
若该数据字段检出问题数量为985,检查记录数为1114,该数据字段的权重为6.25,则该数据字段的得分具体为:
正确率*权重=(1114-985)/1114*6.25=0.724
2、质量检查方案得分计算,如图14和15:
若该检查方案包括2个数据字段,数据字段1包括检出问题数量为985,检查记录数为1114,该数据字段的权重为6.25,数据字段2包括检出问题数量为1114,检查记录数为1114,该数据字段的权重为6.25,则计算出数据字段1的得分为0.724,数据字段2的得分为0,该检查方案的得分具体为:
(0.724+0)/(6.25+6.25)*50=2.896
3、评估方案得分,如图16:
若评估方案包括3个检查方案,3个检查方案的得分分别为2.896、34.522、14.152,该评估方案得分具体为:
2.896+34.522+14.152=51.57
请参考图17,其示出了本申请实施例提供的一种数据质量评估系统的框图。如图17所示,该系统200可以包括:提取模块201、窗口模块202、第一处理模块203、第二处理模块204、第三处理模块205。
提取模块,用于提取待进行数据质量评估的数据库表元数据信息,补充完善该表的数据模型和显示模型;
窗口模块,用于将已补充完善完成的数据模型和显示模型中的表信息添加到数据资产列表中,成为确定待设置质量检查的对象列表;
第一处理模块,用于通过显示模型可浏览一个表对象的数据信息,通过可维护的检查规则逐一对表对象中的列进行检查规则配置,一个列得到至少一个列检查视图;
第二处理模块,用于针对表设置多个表检查方案,一个表检查方案可以对应多个不同的列检查视图,通过对表检查方案的执行得到表的数据质量分数和列所属数据质量级别;
第三处理模块,用于针对数据资产设置多个评估方案,不同的评估方案可以对应多个不同的表检查方案,通过对评估方案的执行得到本次评估数据质量分数和表所属数据质量级别。
在本申请实施例中,系统200还包括:
显示模块206,用于对所述系统中数据资产列表、列检查视图、表检查方案以及评估方案进行显示,即具体实现显示模型的功能。
在本申请实施例中,系统200还包括:
数据维护模块207,用于对表对象中各个列的检查规则进行修改维护。
关于数据质量评估系统的具体限定可以参见上文中对于数据质量评估方法的限定,在此不再赘述。上述数据质量评估系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
可以看出,通过本申请数据质量评估系统,可以应用不同的标准定义不同的质量评估方案,通过执行质量评估方案的执行,就能够获得数据质量评估结果,可以快速满足信息管理部门对数据质量存在哪些问题,需要做哪些改造的疑问。通过定期执行质量评估方案和评估结果进行比对,可以了解数据质量的变化趋势,给数据质量管理过程一个很好的技术工具,从而实现数据质量的日常化管理。
本申请通过简单操作就能了解到数据存在哪些方面的问题,涉及多少业务系统,具体到哪张表、哪个字段,设置哪些行,得到汇总报告指导业务厂商、或管理人员进行改造,提高了数据的质量以及获取数据的效率.
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的系统及设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
- 一种数据质量评估方法、装置和用于数据质量评估的装置
- 一种互联网数据质量评估方法及系统