CN116955341A - 数据库完整性评价方法、系统及其应用 - Google Patents

数据库完整性评价方法、系统及其应用 Download PDF

Info

Publication number
CN116955341A
CN116955341A CN202311102124.6A CN202311102124A CN116955341A CN 116955341 A CN116955341 A CN 116955341A CN 202311102124 A CN202311102124 A CN 202311102124A CN 116955341 A CN116955341 A CN 116955341A
Authority
CN
China
Prior art keywords
rule
data
scoring
matrix
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311102124.6A
Other languages
English (en)
Inventor
李圣权
刘常军
任通
黄红叶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCI China Co Ltd
Original Assignee
CCI China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CCI China Co Ltd filed Critical CCI China Co Ltd
Priority to CN202311102124.6A priority Critical patent/CN116955341A/zh
Publication of CN116955341A publication Critical patent/CN116955341A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请提出了数据库完整性评价方法、系统及其应用,包括以下步骤:以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵;根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵;遍历评分表,判断是否能够匹配对应的评分规则逻辑;基于最终遍历结果生成当前记录匹配规则明细数据;根据第一矩阵和权重规则矩阵得到最终矩阵;根据最终矩阵对评分表的数据进行评分,并形成数据质量报告。

Description

数据库完整性评价方法、系统及其应用
技术领域
本申请涉及计算机数据处理技术领域,特别是涉及一种面向智慧城市行业业务系统的数据库完整性评价方法、系统及其应用。
背景技术
随着城市化进程的加速,我国各地积极推进智慧城市建设。智慧城市以互联网、云计算、大数据、物联网等现代信息技术为支撑,通过建立城市运行的网络化和智能化系统,实现对城市的有效管理和服务,提高资源利用效率,创造良好生活环境。
然而,随着各类业务系统应用的数据量急剧增长,对数据质量的要求也越来越高。对于数据完整性评估方法的研究,关键在于解决关系数据完整性度量问题。现有的数据完整性评估方法大多通过关系数据库约束和数据入库时数据校验实现。目前,对数据完整性研究的重点集中在完整性的定义、支撑技术及其应用,而对数据完整性评估方法的研究多集中在对数据的校验上,然而这对于拥有海量数据的智慧城市行业来说工作效率低下,成本高。如何实现对大数据环境下的业务数据进行快速、准确、低成本地评估完整性,是智慧城市建设中亟待解决的问题。
具体来说,目前数据库完整性评估存在以下问题:
1.没有统一的量化指标对数据库完整性进行评估,缺乏直观的评估结果;
2.依赖人工规则设计验证,无法应对海量数据,评估效率较低;
3.不同业务系统需要各自设计评估方案,重复建设,评估成本高。
为了解决上述问题,亟待一种通用的、基于规则的数据库完整性评价方法尤为必要,这将大幅提升评估效率,降低评估成本,并可以推广应用到各类智慧城市业务系统,有效支撑智慧城市建设。
发明内容
本申请实施例提供了数据库完整性评价方法、系统及其应用,针对目前技术工作效率低下且成本高的问题。
本发明核心技术主要是通过配置评分表和对应的规则即可实现任意评分表的数据质量校验,不用改动业务代码,做到了灵活和易用;根据输出的数据质量报告,数据人员可以快速修正有问题的数据,提高部门数据资产的质量和绩效。
第一方面,本申请提供了数据库完整性评价方法,面向智慧城市行业业务系统,所述方法包括以下步骤:
S00、以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;
其中,目标字段为待验证的字段;
S10、根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;
其中,每个校验规则字段对应一种评分规则逻辑;
S20、获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重,且所有权重之和为1;
S30、根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵,以评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;
S40、遍历评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;
S50、基于最终遍历结果生成当前记录匹配规则明细数据;
S60、根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
S70、根据最终矩阵对评分表的数据进行评分,并形成数据质量报告。
进一步地,还包括S80步骤、若数据质量报告中评分表的数据分数小于基础分数,则进行人工或自动修正,以完成数据资产的管理。
进一步地,S10步骤中,校验规则字段包括空值、手机号、邮箱、数字、日期、数字范围、日期范围、正则表达式、字符串长度、等值、枚举以及唯一的其中一个或多个。
进一步地,S10步骤中,以不同规则表达式表示规则类型。
进一步地,S40步骤中,若匹配不成功,则需要扣分,以0表示。
进一步地,S40步骤中,评分规则逻辑包括行空值率、列空值率以及对角线空值率。
进一步地,S00步骤中,通过重复当前步骤添加新的评分表。
第二方面,本申请提供了一种数据库完整性评价系统,包括:
评价表单元,以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;其中,目标字段为待验证的字段;
评价规则引擎,根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;其中,每个校验规则字段对应一种评分规则逻辑;
评分单元,获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重;根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵,以评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;遍历评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;基于最终遍历结果生成当前记录匹配规则明细数据;根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
数据质量单元,根据最终矩阵对评分表的数据进行评分,并形成数据质量报告。
第三方面,本申请提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的数据库完整性评价方法。
第四方面,本申请提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据上述的数据库完整性评价方法。
本发明的主要贡献和创新点如下:1、与现有技术相比,本申请校验规则和评分规则设置可以对资产表任意字段进行多种类型的规范性校验,扩展评分规则,只需要添加对应的规则校验逻辑,程序易扩展,提高开发效率;通过数据质量报告可以精确定位到表中某个字段是否通过校验,结果一目了然,方便数据人员对数据进行修正,提高部门数据资产的质量。
2、与现有技术相比,本申请实现了高效快速地对数据资产中的数据的数据质量进行规范性校验并给出问题;数据人员可以通过配置评分表和对应的规则即可实现任意评分表的数据质量校验,不用改动业务代码,做到了灵活和易用;根据输出的数据质量报告,数据人员可以快速修正有问题的数据,提高部门数据资产的质量和绩效。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实例的基于业务系统的数据库评分方法及系统的系统架构图;
图2是本申请实例的基于业务系统的数据库评分方法及系统的典型应用场景;
图3是本申请实例的基于业务系统的数据库评分方法及系统的流程图;
图4是根据本申请实施例的电子装置的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
图1中101步骤包含了数据人员交互界面,用于进行评分规则配置及数据浏览;图1中102步骤包含了评分表单元,主要用于配置评分表及基础分数配置项;图1中103步骤包含了评分规则设置单元,用于配置评分表要进行的规范校验的字段及评分规则配置项;图1中104步骤包含了评分单元,主要用于启动评分表评分操作;图1中105步骤主要存储评分表得分及评分表数据字段匹配规则明细数据;图1中106步骤包含数据质量报表单元,用于数据人员查看评分结果及导出评分明细报告。
图2中201步骤存储外部归集的数据资产,来源主要有DBA通过SQL脚本导入的数据,通过消费中间件(比如Kafka,ActiveMQ)写入的数据,调用公共开放的Rest API写入的数据等;图2中202步骤是评分规则引擎,数据人员配置要评分的数据资产表及校验规范的字段,调用规则引擎完成数据资产的评分;图2中203步骤保存生成的数据资产评分结果数据,用户向用户提供数据资产表的数据质量和规范性报告,便于及时发现问题;图2中204步骤数据人员根据生成的数据质量报告,将问题发送给相关的人员,便于及时更新修正数据,提高数据资产的质量;
实施例一
本申请旨在提出一种数据库完整性评价方法,具体地,参考图1-3,所述方法包括以下步骤:
S00、以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;其中,目标字段为待验证的字段;
在本实施例中,选择数据资产要保证质量和规范的字段;
选择规则类型,包括“空值”“手机号”“邮箱”“数字”“日期”“数字范围”“日期范围”“正则表达”“字符串长度”“等值”“枚举”“唯一”;
例如,DBA在数据库中,执行了SQL脚本,导入了部门接口服务信息数据表department_api_info(图2的201),其包含了部门编号(dept_code),部门名称(dept_name),负责人手机号(phone)等字段。当然,目标表的来源主要有DBA(DatabaseAdministrator,数据库管理员)通过SQL脚本导入的数据,通过消费中间件(比如Kafka,ActiveMQ)写入的数据,调用公共开放的Rest API写入的数据等。
如图2中202部分开始调用评分规则引擎开始评分,首先数据人员在评分单元中选中department_api_info表作为评分表,并填写基础分数;
S10、根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;其中,每个校验规则字段对应一种评分规则逻辑;
在本实施例中,规则类型描述如下:
(1)空值:该类规则主要验证某字段内容是否为空值;
(2)手机号:该类规则主要验证字段内容是否符合手机号格式;
(3)邮箱:该类规则主要验证字段内容是否符合邮箱格式;
(4)日期:该类规则主要验证字段内容是否符合指定格式,其格式填写在规则表达式中;
(5)数字范围:该类规则主要验证数字内容是否在某个范围,其数值范围填写子在规则表达式中;
(6)日期范围:该类规则验证字段日期是否在某个范围,其值范围填写在规则表达式中;
(7)正则表达式:该类规则根据规则表达式填写的正则字符串验证字段内容;
(8)字符串长度:该类规则验证字段的长度;
(9)等值:该类规则验证字段内容和规则表达式内容相同;
(10)枚举:该类规则验证字段内容是否在填写的规则表达式中;
(11)唯一:该类规则验证字段内容在评分表中是唯一的;
其中,规则表达式的值根据规则类型填写;规则权重设置不同类规则的权重,表所有规则权重和为1;
优选地,根据评分规则类型编写统一评分规则逻辑;对不同的“规则类型”,编写不同的校验数据逻辑。
例如,在评分规则配置单元中,添加校验规则字段:
(1)规则字段dept_code,规则类型为“正则表达式”,要求部门编码以S开头,后面10位数字,那么规则表达式值“^S\d{10}$”,规则权重为0.2;
(2)规则字段dept_name,规则类型为“空值”,要求部门名称不能为空,规则权重为0.3;
(3)规则字段phone,规则类型为“手机号”,要求负责人手机号必须符合手机号规则,规则权重为0.5;
S20、获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重,且所有权重之和为1;
在本实施例中,根据规则数据的权重值,定一个权重矩阵,记为W,例如一个4x 1的权重矩阵W,其中每个元素表示一个规则的权重:
W=[0.4;
0.3;
0.2;
0.1]
又例如根据department_api_info评分表的规范数据的规则权重创建一个3X1的权重矩阵W,其中每一个元素表示一个规则权重:
W=[0.2;
0.3;
0.5]
S30、根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵,以评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;
在本实施例中,根据评分表的数据,计算表的行为m,列为n,创建一个mx n的1矩阵,记为A,例如一个3x 4的矩阵:
A=[1,1,1,1;
1,1,1,1;
1,1,1,1]
又例如根据校验规范中的字段获取department_api_info的对应字段的数据;根据前一步的数据,创建一个A矩阵,行为表的行数,列为规则字段数的全1矩阵,假设行为500,列是3,那么:
A=[1,1,1;
1,1,1;
...
1,1,1]
S40、遍历评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;
在本实施例中,根据评分规则字段获取对应的评分表的字段数据,应用S10中编写的统一评分规则逻辑,计算字段是否满足要求,如果不满足要求修改矩阵A对应的位置的值为0;通过遍历评分表可以得到评分表每一项的匹配结果。
优选地,评分规则逻辑为使用矩阵A,计算行空值率,列空值率,对角线空值率,计算逻辑如下:
行是0的元素个数:对于每一行i,计算A[i][j](j=1,2,…,n)的和,如果和为0,则该行是0的元素个数为n,即如果存在一个1的话(每个元素只能是0或者1),和不可能是0,和是0意味着所有元素都是0,0占总元素的比例就是行空值率,后续的列空值率和对角线空值率一样的意思;否则,该行是0的元素个数为n减去和。
列是0的元素个数:对于每一列j,计算A[i][j](i=1,2,…,m)的和,如果和为0,则该列是0的元素个数为m;否则,该列是0的元素个数为m减去和。
对角线是0的元素个数:如果m=n,则A是方阵,有主对角线和副对角线,即两条交叉的对角线;否则,A没有对角线。对于主对角线,计算A[i][i](i=1,2,…,n)的和,如果和为0,则主对角线是0的元素个数为n;否则,主对角线是0的元素个数为n减去和。对于副对角线,计算A[i][n-i+1](i=1,2,…,n)的和,如果和为0,则副对角线是0的元素个数为n;否则,副对角线是0的元素个数为n减去和。
S50、基于最终遍历结果生成当前记录匹配规则明细数据;
例如遍历department_api_info表的数据,传入一条数据;然后调用评分规则引擎,遍历规则,根据规则字段获取对应记录的数据,然后根据规则分类,调用相应的评分规则逻辑,返回是否匹配成功,如果匹配失败修改矩阵A对应位置为0;进一步生成当前记录匹配规则明细数据;重复上述步骤,直到处理了department_api_info表所有数据;
S60、根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
如此就可以使用矩阵乘法来计算每条记录的得分情况。具体地,可以计算矩阵乘积AW,并将结果存储在一个3x1的矩阵S中。例如:
S=AW
=[1,1,1,1;
0,1,1,1;
1,0,1,1]*[0.4;
0.3;
0.2;
0.1]
=[1;
0.6;
0.7]
上述矩阵表示第一条记录的得分为100*(S[0]W)=100*(1*0.4+1*0.3+1*0.2+1*0.1)=100;第二条记录的得分为100*(S[1]W)=100*(0*0.4+1*0.3+1*0.2+1*0.1)=96;第三条记录的得分为100*(S[2]W)=100*(1*0.4+0*0.3+1*0.2+1*0.1)=97。其中,S[0]表示S矩阵的第一行,W表示权重向量矩阵。同时生成当前记录得分数据;在本实施例中,基于S40步骤的计算,遍历表中每条记录的得分情况,可以生成当前记录匹配规则明细数据,即当前记录得分数据。也就实现了评分表中每一项的得分情况。
又例如假如根据规则处理了所有的数据,最终矩阵如下:
S=AW
=[1,0,1;
0,0,0;
...
1,1,1]*[0.2;
0.3;
0.5]
=[0.7;
0;
1]
上述矩阵表示第一条记录的得分为100*(S[0]W)=100*(1*0.2+0*0.3+1*0.5)=97;第二条记录的得分为100*(S[1]W)=100*(0*0.2+0*0.3+0*0.5=0;最后一条记录的得分为100*(S[2]W)=100*(1*0.2+1*0.3+1*0.5)=100。
在上述例子中,S=AW表示一个矩阵乘法的过程,其中:
S:这是一个列向量,表示每条记录的得分。在这个例子中,有500条记录,所以S是一个500x1的列向量,其中每个元素S[i]表示第i条记录的得分。
A:这是一个矩阵,称为匹配矩阵,它是由1和0构成的矩阵,维度为500x3。在这个例子中,每一行对应一个记录,每一列对应一个规则。A[i,j]的值为1表示第i条记录的第j个规则匹配成功,值为0表示不匹配。
W:这是一个列向量,表示每个规则的权重。在这个例子中,W是一个3x1的列向量,其中每个元素W[j]表示第j个规则的权重。
矩阵乘法S=AW的结果是一个列向量,表示每条记录的综合得分。具体地,乘法的过程是这样的:
S[0]=A[0,0]*W[0]+A[0,1]*W[1]+A[0,2]*W[2]
S[1]=A[1,0]*W[0]+A[1,1]*W[1]+A[1,2]*W[2]
...
S[499]=A[499,0]*W[0]+A[499,1]*W[1]+A[499,2]*W[2]
这表示对于每条记录,根据它的规则匹配情况和对应规则的权重,计算出一个综合得分S[i]。这个得分可以用来衡量每条记录的数据质量。
在这个例子中,S矩阵的计算步骤如下:
S[0]=1*0.2+0*0.3+1*0.5=0.2+0+0.5=0.7
S[1]=0*0.2+0*0.3+0*0.5=0
...
S[499]=1*0.2+1*0.3+1*0.5=0.2+0.3+0.5=1
这样,对于每条记录,通过计算规则匹配情况和权重的乘积,得到了相应的综合得分。这些得分可以用来评估数据质量,并根据得分是否满足预定的标准,进行后续的数据修正或管理。
S70、根据最终矩阵对评分表的数据进行评分,并形成数据质量报告;
在本实施例中,如图2所示,即图2中的203,根据前一步评分生成的数据,形成数据质量报告。
S80、若数据质量报告中评分表的数据分数小于基础分数,则进行人工或自动修正,以完成数据资产的管理。
在本实施例中,如果评分生成的数据质量分数为值小于S00步骤中评分表配置的基础分数,数据人员根据明细对数据进行修正(图2中的204),完成数据资产的管理。如前面例子中提到的两种数据,小于基础分数100就表示需要修正。当然基础分数也可以设置为80或60等等,根据需求或者经验进行设定。
实施例二
基于相同的构思,本申请还提出了一种数据库完整性评价系统,包括:
评价表单元,以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;其中,目标字段为待验证的字段;
评价规则引擎,根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;其中,每个校验规则字段对应一种评分规则逻辑;
评分单元,获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重;根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵,以评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;遍历评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;基于最终遍历结果生成当前记录匹配规则明细数据;根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
数据质量单元,根据最终矩阵对评分表的数据进行评分,并形成数据质量报告。
例如,如图3所示,本实施例提供了一种基于规则的数据资产评分方法装置,步骤如下:
步骤1:数据人员进入评分系统交互界面(图3中的301);
步骤2:进入评分单元管理(图3中的302);
用户从下拉列表中,选择要进行评分的表,并设置基础分数,该分数阈值用于评分结果比较,是否符合预期,确定是否进行数据更新;
重复当前操作,可以继续添加其他的资产评分表;
步骤3:设置字段规则(图3中的303);
配置评分表的评分规则,包括“评分表id”,“字段”,“规则类型”,“规则表达式”,“规则分数”,重复此操作,完成评分表规则字段的添加;
具体包括如下:
选择要配置规则的评分表,从步骤2中获取;
选择评分表要保证质量和规范的字段;
选择规则类型,包括:“空值”“手机号”“邮箱”“数字”“日期”“数字范围”“日期范围”“正则表达”“字符串长度”“等值”“枚举”“唯一”;
规则类型描述如下:
(1)空值:该类规则主要验证某字段内容是否为空值;
(2)手机号:该类规则主要验证字段内容是否符合手机号格式;
(3)邮箱:该类规则主要验证字段内容是否符合邮箱格式;
(4)日期:该类规则主要验证字段内容是否符合指定格式,其格式填写在规则表达式中;
(5)数字范围:该类规则主要验证数字内容是否在某个范围,其数值范围填写子在规则表达式中;
(6)日期范围:该类规则验证字段日期是否在某个范围,其值范围填写在规则表达式中;
(7)正则表达式:该类规则根据规则表达式填写的正则字符串验证字段内容;
(8)字符串长度:该类规则验证字段的长度;
(9)等值:该类规则验证字段内容和规则表达式内容相同;
(10)枚举:该类规则验证字段内容是否在填写的规则表达式中;
(11)唯一:该类规则验证字段内容在评分表中是唯一的;
规则表达式的值要根据规则类型填写:
(1)选择规则类型为“空值”“手机号”“邮箱”“数字”“日期”“唯一”时,规则表达式为空,不填写;
(2)选择规则类型为“数字范围”时,规则表达式值为“数字-数字”;
(3)选择规则类型为“日期范围”时,规则表达式值为“2021-02-1212:12:21--2022-02-12 12:12:21”,时间之间用两个连字符分隔;
(3)选择规则类型为“等值”时,规则表达式值为“某一个固定的值”;
(4)选择规则类型为“枚举”时,规则表达式值为“值1,值2,值3,...”,多个值之间用英文逗号分隔;
(5)选择规则类型为“正则表达式”时,规则表达式的值要符合正则表达式的格式要求,比如“\d{11}”表示字段的内容为11位数字组成;
(6)选择规则类型为“字符串长度”时,规则表达式的值,填写一个数值表示长度;
规则分数设置不匹配规则时要扣分分值;
步骤4:编写统一的评分规则引擎逻辑;
编写包括“空值”“手机号”“邮箱”“数字”“日期”“数字范围”“日期范围”“正则表达”“字符串长度”“等值”“枚举”“唯一”等规则的判断逻辑;
具体的评分规则逻辑如下:
(1)空值:实现校验当前字段内容是否为空;
(2)手机号:实现校验当前字段值是否符合手机正则规则“1\d{10}”;
(3)邮箱:实现校验当前字段值是否符合邮箱规则,必须包含字符@;
(4)数字:实现校验当前字段值不为空,并且只含数字字符;
(5)日期:实现校验当前字段值是否是日期数据;
(6)数字范围:实现校验当前字段值是否在规则表达式中指定的数据范围内;
(7)日期范围:实现校验当前字段值是否是日期,并且值是否位于规则表达式指定的值范围内;
(8)正则表达式:实现校验当前字段值是否匹配规则表达式中的正则字符串;
(9)字符串长度:实现校验当前字段值的长度是否大于等于规则表达式中的值;
(10)等值:实现校验当前字段值是否等于规则表达式中指定的值;
(11)枚举:实现校验当前字段值是否在规则表达式中指定的列表中;
(12)唯一:实现校验当前字段值在评分表中这一列是否唯一不重复;
步骤5:开始评分(图3中的304)
数据人员完成资产评分表及评分规则设置后,开始评分,具体包括如下:
(1)首先获取待评分的评分表的所有的校验规范数据;
(2)然后根据校验规范中的字段,获取评分表的对应字段的数据,不是获取评分表的所有的列的数据;
(3)进一步地遍历评分表的数据,获取一条待评分的数据;
(4)接着遍历评分规则数据:
根据规则字段获取对应待评分数据的字段数据和规则分类;
进一步地调用评分规则引擎(步骤4),完成字段的校验;
确定返回的校验结果是否成功,如果成功就不扣分,否则就进行扣分;
进一步生成当前字段匹配规则明细数据;
(5)重复操作(4)完成当前记录的评分;
进一步生成当前记录的匹配规则明细;
(6)重复操作(3),获取下一条待评分的数据;
(7)当完成评分表所有的记录数据的评分规则校验后,记录当前表的总的扣分值以及所有记录的评分规则匹配明细;
保存评分结果数据到表中;
步骤6:获取数据质量报告(图3中的305)
数据人员操作步骤5,得到评分表的评分结果数据;
查看报告详情或导出报告,可以清晰地得到评分表的总的扣分值,基础分,以及每条记录匹配规则的明细数据;
数据人员根据报告可以发现表中有哪些记录的哪些字段数据不符合要求,然后就可以对数据进行修正;
有了得分数据,就可以进行各种维度的数据统计,比如表中数据的合格率,有多少表是符合要求的,如果表有部门,那么就可以统计部门下表的数据质量,作为考核指标,最终达成实现数据资产的管理。如此,数据人员通过简单的配置,可以完成任何资产表的数据质量和规范校验,操作灵活易用,不需要懂SQL或编程知识;评分规则设置,可以对资产表任意字段进行多种类型的规范性校验,扩展评分规则,只需要添加对应的规则校验逻辑,程序易扩展,提高开发效率;数据质量报告,可以精确定位到表中某个字段是否通过校验,结果一目了然,方便数据人员对数据进行修正,提高部门数据资产的质量。
实施例三
本实施例还提供了一种电子装置,参考图4,包括存储器404和处理器402,该存储器404中存储有计算机程序,该处理器402被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
具体地,上述处理器402可以包括中央处理器(CPU),或者特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器404可以包括用于数据或指令的大容量存储器404。举例来说而非限制,存储器404可包括硬盘驱动器(HardDiskDrive,简称为HDD)、软盘驱动器、固态驱动器(SolidStateDrive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(UniversalSerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在数据处理装置的内部或外部。在特定实施例中,存储器404是非易失性(Non-Volatile)存储器。在特定实施例中,存储器404包括只读存储器(Read-OnlyMemory,简称为ROM)和随机存取存储器(RandomAccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(ProgrammableRead-OnlyMemory,简称为PROM)、可擦除PROM(ErasableProgrammableRead-OnlyMemory,简称为EPROM)、电可擦除PROM(ElectricallyErasableProgrammableRead-OnlyMemory,简称为EEPROM)、电可改写ROM(ElectricallyAlterableRead-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(StaticRandom-AccessMemory,简称为SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器404(FastPageModeDynamicRandomAccessMemory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDateOutDynamicRandomAccessMemory,简称为EDODRAM)、同步动态随机存取内存(SynchronousDynamicRandom-AccessMemory,简称SDRAM)等。
存储器404可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器402所执行的可能的计算机程序指令。
处理器402通过读取并执行存储器404中存储的计算机程序指令,以实现上述实施例中的任意数据库完整性评价方法。
可选地,上述电子装置还可以包括传输设备406以及输入输出设备408,其中,该传输设备406和上述处理器402连接,该输入输出设备408和上述处理器402连接。
传输设备406可以用来经由一个网络接收或者发送数据。上述的网络具体实例可包括电子装置的通信供应商提供的有线或无线网络。在一个实例中,传输设备包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备406可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备408用于输入或输出信息。在本实施例中,输入的信息可以是评分表等,输出的信息可以是数据质量报告等。
实施例四
本实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序包括用于控制过程以执行过程的程序代码,过程包括根据实施例一的数据库完整性评价方法。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通常,各种实施例可以以硬件或专用电路、软件、逻辑或其任何组合来实现。本发明的一些方面可以以硬件来实现,而其他方面可以由控制器、微处理器或其他计算设备执行的固件或软件来实现,但是本发明不限于此。尽管本发明的各个方面可以被示出和描述为框图、流程图或使用一些其他图形表示,但是应当理解,作为非限制性示例,本文中描述的这些框、装置、系统、技术或方法可以以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备或其某种组合来实现。
本发明的实施例可以由计算机软件来实现,该计算机软件由移动设备的数据处理器诸如在处理器实体中可执行,或者由硬件来实现,或者由软件和硬件的组合来实现。包括软件例程、小程序和/或宏的计算机软件或程序(也称为程序产品)可以存储在任何装置可读数据存储介质中,并且它们包括用于执行特定任务的程序指令。计算机程序产品可以包括当程序运行时被配置为执行实施例的一个或多个计算机可执行组件。一个或多个计算机可执行组件可以是至少一个软件代码或其一部分。另外,在这一点上,应当注意,如图中的逻辑流程的任何框可以表示程序步骤,或者互连的逻辑电路、框和功能,或者程序步骤和逻辑电路、框和功能的组合。软件可以存储在诸如存储器芯片或在处理器内实现的存储块等物理介质、诸如硬盘或软盘等磁性介质,以及诸如例如DVD及其数据变体、CD等光学介质上。物理介质是非瞬态介质。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以作出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.数据库完整性评价方法,面向智慧城市行业业务系统,其特征在于,包括以下步骤:
S00、以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;
其中,所述目标字段为待验证的字段;
S10、根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;
其中,每个所述校验规则字段对应一种评分规则逻辑;
S20、获取所述评分表中所有的校验规范数据,根据所述校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重,且所有权重之和为1;
S30、根据所述校验规则字段获取所述评分表中对应字段的数据,并创建第一矩阵,以所述评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;
S40、遍历所述评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改所述第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;
S50、基于最终遍历结果生成当前记录匹配规则明细数据;
S60、根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
S70、根据所述最终矩阵对所述评分表的数据进行评分,并形成数据质量报告。
2.如权利要求1所述的数据库完整性评价方法,其特征在于,还包括S80步骤、若所述数据质量报告中所述评分表的数据分数小于所述基础分数,则进行人工或自动修正,以完成数据资产的管理。
3.如权利要求1所述的数据库完整性评价方法,其特征在于,S10步骤中,所述校验规则字段包括空值、手机号、邮箱、数字、日期、数字范围、日期范围、正则表达式、字符串长度、等值、枚举以及唯一的其中一个或多个。
4.如权利要求3所述的数据库完整性评价方法,其特征在于,S10步骤中,以不同规则表达式表示规则类型。
5.如权利要求4所述的数据库完整性评价方法,其特征在于,S40步骤中,若匹配不成功,则需要扣分,以0表示。
6.如权利要求5所述的数据库完整性评价方法,其特征在于,S40步骤中,所述评分规则逻辑包括行空值率、列空值率以及对角线空值率。
7.如权利要求1-6任意一项所述的数据库完整性评价方法,其特征在于,S00步骤中,通过重复当前步骤添加新的评分表。
8.一种数据库完整性评价系统,其特征在于,包括:
评价表单元,以输入的待打分的目标表作为评分表,选择该评分表中的目标字段并赋予基础分数;其中,目标字段为待验证的字段;
评价规则引擎,根据目标字段调用不同类型的校验规则字段并设置对应的规则权重,以作为校验规范数据;其中,每个校验规则字段对应一种评分规则逻辑;
评分单元,获取评分表中所有的校验规范数据,根据校验规范数据中的规则权重创建权重矩阵,其中每一个元素表示一个规则权重;根据校验规则字段获取评分表中对应字段的数据,并创建第一矩阵,以评分表的行数为行,以校验规则字段的字段数为列,其中每一个元素均为1;遍历评分表,判断是否能够匹配对应的评分规则逻辑,若匹配失败则修改第一矩阵中对应位置为0,若匹配成功,则返回匹配成功;基于最终遍历结果生成当前记录匹配规则明细数据;根据第一矩阵和权重规则矩阵得到最终矩阵,以最终矩阵=第一矩阵X权重规则矩阵;
数据质量单元,根据最终矩阵对评分表的数据进行评分,并形成数据质量报告。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项所述的数据库完整性评价方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序包括用于控制过程以执行过程的程序代码,所述过程包括根据权利要求1至7任一项所述的数据库完整性评价方法。
CN202311102124.6A 2023-08-29 2023-08-29 数据库完整性评价方法、系统及其应用 Pending CN116955341A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311102124.6A CN116955341A (zh) 2023-08-29 2023-08-29 数据库完整性评价方法、系统及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311102124.6A CN116955341A (zh) 2023-08-29 2023-08-29 数据库完整性评价方法、系统及其应用

Publications (1)

Publication Number Publication Date
CN116955341A true CN116955341A (zh) 2023-10-27

Family

ID=88449389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311102124.6A Pending CN116955341A (zh) 2023-08-29 2023-08-29 数据库完整性评价方法、系统及其应用

Country Status (1)

Country Link
CN (1) CN116955341A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117150246A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 数据质量校验方法、系统、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117150246A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 数据质量校验方法、系统、电子设备及存储介质
CN117150246B (zh) * 2023-10-30 2024-02-09 苏州元脑智能科技有限公司 数据质量校验方法、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110427434B (zh) 一种多维数据查询方法及装置
CN110292775B (zh) 获取差异数据的方法及装置
CN107807982B (zh) 一种异构数据库的一致性校验方法及装置
US20090024607A1 (en) Query selection for effectively learning ranking functions
US20160328445A1 (en) Data Query Method and Apparatus
CN105022739B (zh) 数据的存储方法及装置
CN109062936B (zh) 一种数据查询方法、计算机可读存储介质及终端设备
CN109117440B (zh) 一种元数据信息获取方法、系统和计算机可读存储介质
CN110968585B (zh) 面向列的存储方法、装置、设备及计算机可读存储介质
CN105117442B (zh) 一种基于概率的大数据查询方法
CN107577787B (zh) 关联数据信息入库的方法及系统
CN116955341A (zh) 数据库完整性评价方法、系统及其应用
US10664459B2 (en) Database managing method, database managing system, and database tree structure
CN112015741A (zh) 一种海量数据的分库分表存储方法与装置
CN114218263B (zh) 物化视图的自动创建方法及基于物化视图的快速查询方法
CN109471874A (zh) 数据分析方法、设备及存储介质
CN114328612A (zh) 查询优化器的数据处理方法、装置及电子设备
CN114328632A (zh) 基于位图的用户数据分析方法、装置及计算机设备
CN114564501A (zh) 一种数据库数据存储、查询方法、装置、设备及介质
CN110659286B (zh) 基于弱平衡空间树动态空间索引方法及其存储介质、装置
CN114416741A (zh) 基于多级索引的kv数据写入读取方法、装置及存储介质
CN110032445B (zh) 大数据聚集计算方法及装置
CN113342647A (zh) 一种测试数据的生成方法及装置
CN107729013B (zh) 管理网页上操作按钮的方法和计算机可读存储介质
CN111930313B (zh) 主机中数据关联访问的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination