CN115203300A - 一种数据验证方法及装置 - Google Patents
一种数据验证方法及装置 Download PDFInfo
- Publication number
- CN115203300A CN115203300A CN202210712841.XA CN202210712841A CN115203300A CN 115203300 A CN115203300 A CN 115203300A CN 202210712841 A CN202210712841 A CN 202210712841A CN 115203300 A CN115203300 A CN 115203300A
- Authority
- CN
- China
- Prior art keywords
- data
- attribute field
- verification
- verified
- 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.)
- Granted
Links
- 238000013524 data verification Methods 0.000 title claims abstract description 52
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 161
- 238000013515 script Methods 0.000 claims abstract description 60
- 238000012360 testing method Methods 0.000 claims abstract description 44
- 238000012545 processing Methods 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 17
- 238000013502 data validation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种数据验证方法及装置,包括:获取待校验数据表,待校验数据表包括多个属性字段;根据预先创建的针对待校验数据表的数据验证规则,确定针对待校验数据表中的每个属性字段的测试意图,测试意图用于指示针对对应属性字段的验证策略;针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;根据每个属性字段的数据完整性和数据准确性,确定待校验数据表的数据完整性和数据准确性。本申请通过验证脚本,在实现数据全覆盖验证的同时,保证数据库表数据的准确性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据验证方法及装置。
背景技术
随着各大金融机构业务的快速发展与信息系统的不断建设,各大金融机构对于获取到的到量数据,需要大规模启动数据测试工作。
目前大多采用人工比对的方式,或者是由开发人员进行正向的单元测试工作,如:ETL任务能否跑通、数据量是否正确,随着数据量的增长,人工测试一般采用抽测的方式,很难做到数据全覆盖,且测试效率低。
发明内容
有鉴于此,本申请的目的在于至少提供一种数据验证方法及装置,通过验证脚本,在实现数据全覆盖验证的同时,保证数据库表数据的准确性。
本申请主要包括以下几个方面:
第一方面,本申请实施例提供一种数据验证方法,数据验证方法包括:获取待校验数据表,待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;根据预先创建的针对待校验数据表的数据验证规则,确定针对待校验数据表中的每个属性字段的测试意图,测试意图用于指示针对对应属性字段的验证策略;针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;根据每个属性字段的数据完整性和数据准确性,确定待校验数据表的数据完整性和数据准确性。
在一种可能的实施方式中,待校验数据表中的每个属性字段是通过与该字段对应的预设ETL处理逻辑得到的,其中,数据验证方法还包括:针对每个属性字段,根据该属性字段的数据完整性和数据准确性,确定与该属性字段对应的预设ETL处理逻辑的准确性。
在一种可能的实施方式中,验证策略包括完整性验证策略和准确性验证策略,以及与准确性验证策略对应的第二验证脚本;完整性验证策略用于验证每个属性字段对应的实际数据数量与验证数据数量是否一致,针对每个属性字段,实际数据数量为待校验数据表中该属性字段对应的数据数量,验证数据数量为与该属性字段对应的数据源表中的源字段的数据数量;准确性验证策略用于验证该属性字段对应的实际数据值与验证数据值是否一致,针对每个属性字段,实际数据值为待校验数据表中该属性字段对应的数据值,验证数据值为与该属性字段对应的数据源表中的源字段的数据值。
在一种可能的实施方式中,验证脚本包括与完整性验证策略对应的第一验证脚本,其中,通过以下方式创建每个属性字段对应的第一验证脚本:创建第一逻辑语句,第一逻辑语句用于获取待校验数据表中该属性字段对应的实际数据数量;创建第二逻辑语句,第二逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据数量;创建第三逻辑语句,第三逻辑语句用于获取该属性字段对应的实际数据数量与验证数据数量之间的第一比较结果,第一比较结果指示该属性字段的数据完整性;根据第一逻辑语句、第二逻辑语句以及第三逻辑语句,形成第一验证脚本。
在一种可能的实施方式中,验证脚本包括与准确性验证策略对应的第二验证脚本,通过以下方式创建每个属性字段对应的第二验证脚本:创建第四逻辑语句,第四逻辑语句用于获取待校验数据表中该属性字段对应的实际数据值;根据预先创建的映射关系逻辑文档,创建第五逻辑语句,第五逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据值;创建第六逻辑语句,第六逻辑语句用于获取该属性字段对应的实际数据值与验证数据值之间的第二比较结果,第二比较结果指示该属性字段的数据准确性;根据第四逻辑语句、第五逻辑语句以及第六逻辑语句,确定形成第二验证脚本。
在一种可能的实施方式中,映射关系逻辑文档包括多个属性字段、与每个属性字段对应的数据源表、与每个属性字段对应的数据源表中的与该属性字段对应的源字段、以及待校验数据表中的每个属性字段与数据源表中对应的源字段之间的数据加工逻辑,其中,通过以下方式创建每个属性字段对应的第五逻辑语句:根据待校验数据表中的多个属性字段、与每个属性字段对应的数据源表以及与每个属性字段对应的数据源表中的与该属性字段对应的源字段,确定该属性字段对应的数据源表中的源字段;根据待校验数据表中的每个属性字段与对应的数据源表中的源字段之间的数据加工逻辑,获取该属性字段对应的验证数据值,以形成第五逻辑语句。
在一种可能的实施方式中,通过以下方式确定待校验数据表的数据完整性:判断每个属性字段对应的数据数量是否完整;若每个属性字段对应的数据数量完整,则确定待校验数据表的数据完整;若任一属性字段对应的数据数量不完整,则确定待校验数据表的数据不完整。
在一种可能的实施方式中,通过以下方式确定待校验数据表的数据准确性:判断每个属性字段的对应的数据值是否准确;若每个属性字段对应的数据值准确,则确定待校验数据表的数据准确;若任一属性字段对应的数据值不准确,则确定待校验数据表的数据不准确。
第二方面,本申请实施例还提供一种数据验证装置,数据验证装置包括:第一获取模块,用于获取待校验数据表,待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;第一确定模块,用于根据预先创建的针对待校验数据表的数据验证规则,确定针对待校验数据表中的每个属性字段的测试意图,测试意图用于指示针对对应属性字段的验证策略;创建模块,用于针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;第一获取模块,用于针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;第二确定模块,用于根据每个属性字段的数据完整性和数据准确性,确定待校验数据表的数据完整性和数据准确性。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,存储器存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储器之间通过总线进行通信,机器可读指令被处理器运行时执行如上述第一方面或第一方面中任一种可能的实施方式中所述的数据验证方法的步骤。
本申请实施例提供的一种数据验证方法,包括:获取待校验数据表,待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;根据预先创建的针对待校验数据表的数据验证规则,确定针对待校验数据表中的每个属性字段的测试意图,测试意图用于指示针对对应属性字段的验证策略;针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;根据所有属性字段的数据完整性和数据准确性,确定待校验数据表的数据完整性和数据准确性。本申请通过验证脚本,在实现数据全覆盖验证的同时,保证数据库表数据的准确性。
本申请的有益之处在于:
1、开发人员在对数据库中的待校验表进行自测时,一般都是正向思维,仅仅测试数据程序是否能跑通,数据量是否正确,无法对获取待校验表的预设数据仓储(ETL)处理逻辑进行反向验证,本申请引入用于对预设数据仓储(ETL)处理逻辑进行反向验证的验证策略,能够对数据表的数据进行验证的同时验证预设数据仓储(ETL)处理逻辑的准确性。
2、相较于现有技术中人工通过抽测方式进行数据验证导致的数据验证有遗漏的问题,本申请通过验证脚本一一获取数据库字段的准确性,能够实现数据的全覆盖验证。
3、现有技术中,对于待校验数据表的测试,维度狭窄,不够全面,本申请从数据完整性和数据准确性两个方面对待校验数据表进行验证,增加了验证结果的可靠性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种数据验证方法的流程图;
图2示出了本申请实施提供的映射关系逻辑文档的部分示意图;
图3示出了本申请实施例所提供的一种数据验证装置的结构示意图;
图4示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中的附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应当理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的全部其他实施例,都属于本申请保护的范围。
开发人员通过预先设置好的数据加工逻辑表确定用于生成待校验数据表的相关程序脚本,数据加工逻辑表中明确了待校验数据表中每个属性字段对应的加工逻辑,开发人员按照数据加工逻辑表撰写相关程序脚本运行并获取待校验数据表。
对于待校验数据表的验证,目前一般还是采用人工抽测比对的方式,或者是由开发人员进行正向的单元测试,如:ETL任务能否跑通,数据量是否正确,随着数据量的增长。
但是人工抽测比对的方式无法做到数据测试的完全覆盖,且测试效率低,开发人员进行正向的单元测试的方式,一般都是正向思维,没有反向对获取到的待校验数据表进行验证,且上述两种方式进行验证测试的维度狭窄,不够全面。
基于此,本申请实施例提供了一种数据验证方法及装置,通过验证脚本,在实现数据全覆盖验证的同时,保证数据库表数据的准确性,具体如下:
请参阅图1,图1为本申请实施例所提供的一种数据验证方法的流程图。如图1所示,本申请实施例提供的数据验证方法,包括以下步骤:
S100、获取待校验数据表。
其中,待校验数据表包括多条数据记录,每条数据记录包括多个属性字段,待校验数据表中的每个属性字段是通过与该字段对应的预设数据仓库(ETL)处理逻辑得到的。
在一具体实施例中,根据用户对数据的实际需求,常常需要对数据库中存储的各类型的数据进行相应的加工逻辑处理,以获取满足用户实际需求的数据,例如,某银行关于对公定期存款分户账表的管理,对客户统一编号的设置是该银行自定义化的,例如,该银行规定客户统一编号为身份证号的后六位与手机号后四位拼接而成,这里仅仅为示例,而与该银行对接的其它系统中,对于客户统一编号的数据类型是多种多样的,且每个其它系统都有自身对应的数据源表且数据库中存储有与其它系统一一对应的多个数据源表,每个数据源表中包括多条源数据记录,每条源数据记录包括多个源字段,也就是说,针对待校验数据表中的每个属性字段,需要通过运行用户预先创建的用于获取该属性字段对应的ETL处理逻辑,从数据库中与该属性字段对应的数据源表中的对应源字段中,获取所需要的数据,以形成该属性字段,根据获取的多个属性字段,得到待校验数据表,ETL处理逻辑指示了需要对与属性字段对应的数据源表中的源字段进行哪些处理才能获取对应的属性字段。
S200、根据预先创建的针对待校验数据表的数据验证规则,确定针对待校验数据表中的每个属性字段的测试意图。
其中,测试意图用于指示针对对应属性字段的验证策略,具体的,每确定一个待校验数据表,需要对待校验数据表进行验证,在验证待校验数据表中的数据准确性的同时,还可以确定用于获取每个属性字段对应的用户预先创建的ETL处理逻辑是否出现错误。
在一具体实施例中,数据验证规则包括待校验数据表中的每个属性字段对应的测试意图、测试类型、测试的前置条件以及测试数据需求等。
具体的,验证策略包括完整性验证策略和准确性验证策略,完整性验证策略用于验证每个属性字段对应的实际数据数量与验证数据数量是否一致,针对每个属性字段,实际数据数量为待校验数据表中该属性字段对应的数据数量,验证数据数量为与该属性字段对应的数据源表中的源字段的数据数量。
准确性验证策略用于验证每个属性字段对应的实际数据值与验证数据值是否一致,针对每个属性字段,实际数据值为待校验数据表中该属性字段对应的数据值,验证数据值为与该属性字段对应的数据源表中的源字段的数据值。
在具体实施中,可以从待校验数据表的数据完整性以及数据准确性两个维度分别确定对应的验证策略,这里不限于从其它维度对待校验数据表进行验证。
S300、针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本。
其中,验证脚本包括与完整性验证策略对应的第一验证脚本。
在一具体实施例中,通过以下方式创建每个属性字段对应的第一验证脚本:
创建第一逻辑语句,第一逻辑语句用于获取待校验数据表中该属性字段对应的实际数据数量;创建第二逻辑语句,第二逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据数量;创建第三逻辑语句,第三逻辑语句用于获取该属性字段对应的实际数据数量与验证数据数量之间的第一比较结果;根据第一逻辑语句、第二逻辑语句以及第三逻辑语句,形成第一验证脚本。
其中,第一比较结果指示该属性字段的数据完整性。
在一具体实施例中,数据验证规则中还包括与每个验证策略对应的脚本创建逻辑或脚本创建框架模板,可以根据数据验证规则中每个属性字段对应的验证策略调用对应的脚本创建框架模板,完成对验证脚本的创建,在本申请一优选示例中,在获取到待校验数据表后,可以首先对待校验数据表中的记录数量或数据数量进行验证,即完整性验证策略,通过完整性验证策略对应的第一验证脚本,可以确定待校验数据表是否存在数据缺失,从而从数据的完整性的角度对获取到的待校验数据表的准确性进行验证,具体实施方式可以通过获取待校验数据表中的实际数据数量,在第一验证脚本中,针对每个属性字段,通过判断该属性字段对应的实际数据数量与验证数据数量是否一致,即将实际数据数量与验证数据数量进行比较,从而可以确定所获取的待校验数据表中的该字段是否存在数据缺失。
在一优选实施例中,第二逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据数量,具体的,可以通过预先创建的映射关系逻辑文档来确定每个属性字段对应的数据源表以及在该对应的数据源表中对应的源字段,具体的,用户在获取到待校验数据表后,同时可以获取预先创建的针对待校验数据表的映射关系逻辑文档,具体的,映射关系逻辑文档包括多个属性字段、与每个属性字段对应的数据源表、与每个属性字段对应的数据源表中的与该属性字段对应的源字段、以及待校验数据表中的每个属性字段与数据源表中对应的源字段之间的数据加工逻辑,也就是说,映射关系逻辑文档指示了针对待校验数据表中的每个属性字段,具体指示了需要对哪一个表中的哪一个字段数据进行怎样的处理才能得到该属性字段,可以通过映射关系逻辑文档,确定每个属性字段对应的数据源表以及在该属性源表中对应的源字段,从而有针对性的创建第二逻辑语句。
验证脚本包括与准确性验证策略对应的第二验证脚本,通过以下方式创建每个属性字段对应的第二验证脚本:
创建第四逻辑语句,第四逻辑语句用于获取待校验数据表中该属性字段对应的实际数据值;根据预先创建的映射关系逻辑文档,创建第五逻辑语句,第五逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据值;创建第六逻辑语句,第六逻辑语句用于获取该属性字段对应的实际数据值与验证数据值之间的第二比较结果,第二比较结果指示该属性字段的数据准确性;根据第四逻辑语句、第五逻辑语句以及第六逻辑语句,确定形成第二验证脚本。
在一优选实施例中,在获取到待校验数据表后,还可以对待校验数据表中的各数据值的准确性进行验证,即准确性验证策略,通过准确性验证策略对应的第二验证脚本,可以确定待校验数据表是否存在数据错误,从而从数据的准确性的角度对获取到的待校验数据表的准确性进行验证,具体实施方式可以通过获取待校验数据表中的实际数据值,在第二验证脚本中,针对每个属性字段,通过判断该属性字段对应的实际数据值与验证数据值是否一致,即将实际数据值与验证数据值进行比较,从而可以确定所获取的待校验数据表中的该字段是否存在数据值错误,若数据值错误,则说明预先创建的获取到错误数据的预设ETL处理逻辑存在错误,进行相关错误提示,以便于用户进行相关修正。
在一优选实施例中,其中,通过以下方式创建每个属性字段对应的第五逻辑语句:
根据待校验数据表中的多个属性字段、与每个属性字段对应的数据源表以及与每个属性字段对应的数据源表中的与该属性字段对应的源字段,确定该属性字段对应的数据源表中的源字段;根据待校验数据表中的每个属性字段与对应的数据源表中的源字段之间的数据加工逻辑,获取该属性字段对应的验证数据值,以形成第五逻辑语句。
在一具体实施例中,数据加工逻辑包括但不限于以下项中至少一项:
拼接逻辑,可以用于将两个字段拼接进行拼接;
直取逻辑,可以直接获取对应字段数据并赋予待校验目标表;
码值字段验证逻辑,用于根据码值验证身份类别。
请参阅图2,图2示出了本申请实施提供的映射关系逻辑文档的部分示意图,在图2示出的映射关系逻辑文档中,待校验数据表名为对公定期存款分户账,在该待校验数据表中,包括属性字段定期存款账号、客户统一编号以及银行机构代码,6211XX70、6211XX80以及6211XX90分别为定期存款账号、客户统一编号以及银行机构代码对应的数据值,EAS_F_COR_HL10PF、EAS_F_COR_CFCD20PF和EAST.EBL_001_JGXXB分别为定期存款账号、客户统一编号和银行机构代码对应的数据源表,T1.HLIACN为定期存款账号在其对应的数据源表EAS_F_COR_HL10PF中的源字段,T3.CFCD2C为客户统一编号在其对应的数据源表EAS_F_COR_CFCD20PF中的源字段,T8.YXJGDM为银行机构代码在其对应的数据源表EAST.EBL_001_JGXXB中的源字段,T1.HLIACN0∥T1.HLIACN1表示定期存款账号对应的源字段与定期存款账号之间的数据加工逻辑,T3.CFCD2C表示客户统一编号对应的源字段与客户统一编号之间的数据加工逻辑,NVL(T8.YXJGDM,'313100001104')表示银行机构代码对应的源字段与银行机构代码之间的数据加工逻辑,其中,T1.HLIACN0∥T1.HLIACN1表示对数据源表EAS_F_COR_HL10PF中的源字段T1.HLIACN中的第一个数据和第二个数据进行拼接处理,T3.CFCD2C表示对源字段T3.CFCD2C进行直接取值,NVL(T8.YXJGDM,'313100001104')表示源字段T8.YXJGDM不为空时,返回T8.YXJGDM值,源字段T8.YXJGDM为空时,赋值'313100001104'。
通过该映射关系文档可以看出,以定期存款账号为例,其对应的数据源表为EAS_F_COR_HL10PF,其对应的数据源表中的与定期存款账号对应的源字段为T1.HLIACN,定期存款账号与对应的数据源表EAS_F_COR_HL10PF中对应的源字段T1.HLIACN之间的数据加工逻辑为T1.HLIACN0∥T1.HLIACN1,表示对数据源表EAS_F_COR_HL10PF中的源字段T1.HLIACN中的第一个数据和第二个数据进行拼接处理,得到定期存款账号对应的数据值6211XX70。
用户可以通过映射关系文档中每个属性字段对应的数据加工逻辑,创建用于获取验证数据值的逻辑语句,从而通过第五逻辑语句对数据源表中与该属性字段对应的源字段进行处理,以得到该属性字段对应的验证数据值。
返回图1,S400、针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性。
S500、根据所有属性字段的数据完整性和数据准确性,确定待校验数据表的数据完整性和数据准确性。
通过以下方式确定待校验数据表的数据完整性:判断每个属性字段对应的数据数量是否完整;若每个属性字段对应的数据数量完整,则确定待校验数据表的数据完整;若任一属性字段对应的数据数量不完整,则确定待校验数据表的数据不完整。
在一具体实施例中,针对待校验数据表中的每个属性字段,在运行第一脚本后,可以直接获取数据完整性,即第一比较结果指示了数据完整性,其中,第一比较结果包括该属性字段对应的实际数据数量与验证数据数量一致和该属性字段对应的实际数据数量与验证数据数量不一致,当第一比较结果为该属性字段对应的实际数据数量与验证数据数量一致,则说明该属性字段对应的数据数量完整,当第一比较结果为该属性字段对应的实际数据数量与验证数据数量不一致,则说明该属性字段对应的数据数量不完整。
通过以下方式确定待校验数据表的数据准确性:判断每个属性字段的对应的数据值是否准确;若每个属性字段对应的数据值准确,则确定待校验数据表的数据准确;若任一属性字段对应的数据值不准确,则确定待校验数据表的数据不准确。
在一优选实施例中,在任一属性字段对应的数据值不准确时,则说明待校验数据表的数据不准确,即待校验数据表中存在不准确的数据,输出存在数据不准确或数据错误的属性字段,进行相关错误提示。
在一优选实施例中,针对待校验数据表中的每个属性字段,在运行第二脚本后,可以直接获取数据准确性,即第二比较结果所指示的数据准确性,其中,第二比较结果包括该属性字段对应的实际数据值与验证数据值一致和该属性字段对应的实际数据值与验证数据值不一致,当第二比较结果为该属性字段对应的实际数据值与验证数据值一致,则说明该属性字段对应的数据准确,当第二比较结果为该属性字段对应的实际数据值与验证数据值不一致,则说明该属性字段对应的数据不准确。
在一种可能的实施方式中,如果第二比较结果为该属性字段对应的实际数据值与验证数据值不一致,则还可以输出数据源表中的数据总数、待校验数据表中的数据总数、以及具体哪个属性字段对应的数据值不一致,以用于进行出错提示。
在一具体实施例中,数据验证方法还包括:
针对每个属性字段,根据该属性字段的数据完整性和数据准确性,确定与该属性字段对应的预设ETL处理逻辑的准确性。
具体的,针对每个属性字段,分别判断该属性字段的数据完整性和数据准确性,若该属性字段对应的数据数量完整且数据值准确,则确定与该属性字段对应的预设ETL处理逻辑准确,若该属性字段对应的数据数量不完整和/或数据值不准确,则确定与该属性字段对应的预设ETL处理逻辑不准确或存在错误,需要进行相关错误提示,以便于用户进行相关修正。
基于同一申请构思,本申请实施例中还提供了与上述实施例提供的数据验证方法对应的数据验证装置,由于本申请实施例中的装置解决问题的原理与本申请上述实施例的数据验证方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图3,图3示出了本申请实施例提供的一种数据验证装置300的结构示意图,数据验证装置包括:
第一获取模块600,用于获取待校验数据表,所述待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;
第一确定模块610,用于根据预先创建的针对所述待校验数据表的数据验证规则,确定针对所述待校验数据表中的每个属性字段的测试意图,所述测试意图用于指示针对对应属性字段的验证策略;
创建模块620,用于针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;
第一获取模块630,用于针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;
第二确定模块640,用于根据每个属性字段的数据完整性和数据准确性,确定所述待校验数据表的数据完整性和数据准确性。
优选地,验证策略包括完整性验证策略和准确性验证策略,以及与准确性验证策略对应的第二验证脚本;完整性验证策略用于验证每个属性字段对应的实际数据数量与验证数据数量是否一致,针对每个属性字段,实际数据数量为待校验数据表中该属性字段对应的数据数量,验证数据数量为与该属性字段对应的数据源表中的源字段的数据数量;准确性验证策略用于验证该每个属性字段对应的实际数据值与验证数据值是否一致,针对每个属性字段,实际数据值为待校验数据表中该属性字段对应的数据值,验证数据值为与该属性字段对应的数据源表中的源字段的数据值。
优选地,验证脚本包括与完整性验证策略对应的第一验证脚本,其中,创建模块620还用于:创建第一逻辑语句,第一逻辑语句用于获取待校验数据表中该属性字段对应的实际数据数量;创建第二逻辑语句,第二逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据数量;创建第三逻辑语句,第三逻辑语句用于获取该属性字段对应的实际数据数量与验证数据数量之间的第一比较结果,第一比较结果指示该属性字段的数据完整性;根据第一逻辑语句、第二逻辑语句以及第三逻辑语句,形成第一验证脚本。
优选地,验证脚本包括与准确性验证策略对应的第二验证脚本,创建模块620还用于:创建第四逻辑语句,第四逻辑语句用于获取待校验数据表中该属性字段对应的实际数据值;根据预先创建的映射关系逻辑文档,创建第五逻辑语句,第五逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据值;创建第六逻辑语句,第六逻辑语句用于获取该属性字段对应的实际数据值与验证数据值之间的第二比较结果,第二比较结果指示该属性字段的数据准确性;根据第四逻辑语句、第五逻辑语句以及第六逻辑语句,确定形成第二验证脚本。
优选地,映射关系逻辑文档包括多个属性字段、与每个属性字段对应的数据源表、与每个属性字段对应的数据源表中的与该属性字段对应的源字段、以及待校验数据表中的每个属性字段与数据源表中对应的源字段之间的数据加工逻辑,其中,创建模块620还用于:根据待校验数据表中的多个属性字段、与每个属性字段对应的数据源表以及与每个属性字段对应的数据源表中的与该属性字段对应的源字段,确定该属性字段对应的数据源表中的源字段;根据待校验数据表中的每个属性字段与对应的数据源表中的源字段之间的数据加工逻辑,获取该属性字段对应的验证数据值,以形成第五逻辑语句。
优选地,第二确定模块640还用于:判断每个属性字段对应的数据数量是否完整;若每个属性字段对应的数据数量完整,则确定待校验数据表的数据完整;若任一属性字段对应的数据数量不完整,则确定待校验数据表的数据不完整。
优选地,第二确定模块640还用于:判断每个属性字段的对应的数据值是否准确;若每个属性字段对应的数据值准确,则确定待校验数据表的数据准确;若任一属性字段对应的数据值不准确,则确定待校验数据表的数据不准确。
基于同一申请构思,请参阅图4,图4示出了本申请实施例提供的一种电子设备的结构示意图,包括:处理器710、存储器720和总线730,所述存储器720存储有所述处理器710可执行的机器可读指令,当电子设备700运行时,所述处理器710与所述存储器720之间通过所述总线730进行通信,所述机器可读指令被所述处理器710运行时执行如上述实施例中任一所述的数据验证方法的步骤。
具体地,所述机器可读指令被所述处理器710执行时可以执行如下处理:
基于同一申请构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述实施例提供的数据验证方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据验证方法,其特征在于,所述数据验证方法包括:
获取待校验数据表,所述待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;
确定针对所述待校验数据表中的每个属性字段的测试意图,所述测试意图用于指示针对对应属性字段的验证策略;
针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;
针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;
根据每个属性字段的数据完整性和数据准确性,确定所述待校验数据表的数据完整性和数据准确性。
2.根据权利要求1所述的数据验证方法,其特征在于,所述待校验数据表中的每个属性字段是通过与该字段对应的预设数据仓储处理逻辑得到的,
其中,所述数据验证方法还包括:
针对每个属性字段,根据该属性字段的数据完整性和数据准确性,确定与该属性字段对应的预设数据仓储处理逻辑的准确性。
3.根据权利要求1所述的数据验证方法,其特征在于,所述验证策略包括完整性验证策略和准确性验证策略;
所述完整性验证策略用于验证每个属性字段对应的实际数据数量与验证据数量是否一致,针对每个属性字段,实际数据数量为待校验数据表中该属性字段对应的数据数量,验证数据数量为与该属性字段对应的数据源表中的源字段的数据数量;
所述准确性验证策略用于验证该属性字段对应的实际数据值与验证数据值是否一致,针对每个属性字段,实际数据值为待校验数据表中该属性字段对应的数据值,验证数据值为与该属性字段对应的数据源表中的源字段的数据值。
4.根据权利要求3所述的数据验证方法,其特征在于,所述验证脚本包括与所述完整性验证策略对应的第一验证脚本,
其中,通过以下方式创建每个属性字段对应的第一验证脚本:
创建第一逻辑语句,所述第一逻辑语句用于获取待校验数据表中该属性字段对应的实际数据数量;
创建第二逻辑语句,所述第二逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据数量;
创建第三逻辑语句,所述第三逻辑语句用于获取该属性字段对应的实际数据数量与验证数据数量之间的第一比较结果,所述第一比较结果指示该属性字段的数据完整性;
根据所述第一逻辑语句、第二逻辑语句以及第三逻辑语句,形成第一验证脚本。
5.根据权利要求3所述的数据验证方法,其特征在于,所述验证脚本包括与所述准确性验证策略对应的第二验证脚本,
通过以下方式创建每个属性字段对应的第二验证脚本:
创建第四逻辑语句,所述第四逻辑语句用于获取待校验数据表中该属性字段对应的实际数据值;
根据预先创建的映射关系逻辑文档,创建第五逻辑语句,所述第五逻辑语句用于从与该属性字段对应的数据源表中获取该属性字段对应的验证数据值;
创建第六逻辑语句,所述第六逻辑语句用于获取该属性字段对应的实际数据值与验证数据值之间的第二比较结果,所述第二比较结果指示该属性字段的数据准确性;
根据所述第四逻辑语句、第五逻辑语句以及第六逻辑语句,确定形成第二验证脚本。
6.根据权利要求5所述的数据验证方法,其特征在于,所述映射关系逻辑文档包括多个属性字段、与每个属性字段对应的数据源表、与每个属性字段对应的数据源表中的与该属性字段对应的源字段、以及待校验数据表中的每个属性字段与数据源表中对应的源字段之间的数据加工逻辑,
其中,通过以下方式创建每个属性字段对应的第五逻辑语句:
根据待校验数据表中的多个属性字段、与每个属性字段对应的数据源表以及与每个属性字段对应的数据源表中的与该属性字段对应的源字段,确定该属性字段对应的数据源表中的源字段;
根据待校验数据表中的每个属性字段与对应的数据源表中的源字段之间的数据加工逻辑,获取该属性字段对应的验证数据值,以形成第五逻辑语句。
7.根据权利要求4所述的数据验证方法,其特征在于,通过以下方式确定所述待校验数据表的数据完整性:
判断每个属性字段对应的数据数量是否完整;
若每个属性字段对应的数据数量完整,则确定所述待校验数据表的数据完整;
若任一属性字段对应的数据数量不完整,则确定所述待校验数据表的数据不完整。
8.根据权利要求5所述的数据验证方法,其特征在于,通过以下方式确定所述待校验数据表的数据准确性:
判断每个属性字段对应的数据值是否准确;
若每个属性字段对应的数据值准确,则确定所述待校验数据表的数据准确;
若任一属性字段对应的数据值不准确,则确定所述待校验数据表的数据不准确。
9.一种数据验证装置,其特征在于,所述数据验证装置包括:
第一获取模块,用于获取待校验数据表,所述待校验数据表包括多条数据记录,每条数据记录包括多个属性字段;
第一确定模块,用于根据预先创建的针对所述待校验数据表的数据验证规则,确定针对所述待校验数据表中的每个属性字段的测试意图,所述测试意图用于指示针对对应属性字段的验证策略;
创建模块,用于针对每个属性字段,根据该属性字段对应的测试意图所指示的针对该属性字段的验证策略,创建对应的验证脚本;
第一获取模块,用于针对每个属性字段,运行该属性字段对应的验证脚本,以获得该属性字段的数据完整性和数据准确性;
第二确定模块,用于根据每个属性字段的数据完整性和数据准确性,确定所述待校验数据表的数据完整性和数据准确性。
10.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至8任一所述的数据验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210712841.XA CN115203300B (zh) | 2022-06-22 | 2022-06-22 | 一种数据验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210712841.XA CN115203300B (zh) | 2022-06-22 | 2022-06-22 | 一种数据验证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115203300A true CN115203300A (zh) | 2022-10-18 |
CN115203300B CN115203300B (zh) | 2023-10-31 |
Family
ID=83575413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210712841.XA Active CN115203300B (zh) | 2022-06-22 | 2022-06-22 | 一种数据验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203300B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040088283A1 (en) * | 2002-10-31 | 2004-05-06 | Elecdecom, Inc. | Data entry, cross reference database and search systems and methods thereof |
CN107193681A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 数据校验方法及装置 |
CN108647358A (zh) * | 2018-05-17 | 2018-10-12 | 东软集团股份有限公司 | 数据质量校验方法、装置、存储介质及电子设备 |
CN109359277A (zh) * | 2018-10-22 | 2019-02-19 | 众安在线财产保险股份有限公司 | 数据监控方法、设备及计算机存储介质 |
CN111797005A (zh) * | 2020-05-29 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 网关接口解析方法、装置、计算机设备和存储介质 |
CN111897803A (zh) * | 2020-08-17 | 2020-11-06 | 国网辽宁省电力有限公司信息通信分公司 | 一种面向电力行业业务系统的数据库完整性评价方法 |
US20210406000A1 (en) * | 2020-06-24 | 2021-12-30 | Microsoft Technology Licensing, Llc | Reduced processing loads via selective validation specifications |
-
2022
- 2022-06-22 CN CN202210712841.XA patent/CN115203300B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040088283A1 (en) * | 2002-10-31 | 2004-05-06 | Elecdecom, Inc. | Data entry, cross reference database and search systems and methods thereof |
CN107193681A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 数据校验方法及装置 |
CN108647358A (zh) * | 2018-05-17 | 2018-10-12 | 东软集团股份有限公司 | 数据质量校验方法、装置、存储介质及电子设备 |
CN109359277A (zh) * | 2018-10-22 | 2019-02-19 | 众安在线财产保险股份有限公司 | 数据监控方法、设备及计算机存储介质 |
CN111797005A (zh) * | 2020-05-29 | 2020-10-20 | 深圳壹账通智能科技有限公司 | 网关接口解析方法、装置、计算机设备和存储介质 |
US20210406000A1 (en) * | 2020-06-24 | 2021-12-30 | Microsoft Technology Licensing, Llc | Reduced processing loads via selective validation specifications |
CN111897803A (zh) * | 2020-08-17 | 2020-11-06 | 国网辽宁省电力有限公司信息通信分公司 | 一种面向电力行业业务系统的数据库完整性评价方法 |
Non-Patent Citations (2)
Title |
---|
童争雄, 刘特: "数据完整性检验策略的构建", 江西科学, no. 03 * |
陈建华;: "油田中心数据库建设思路与方法", no. 01, pages 63 - 65 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
CN117707653B (zh) * | 2024-02-06 | 2024-05-10 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115203300B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6916403B2 (ja) | データへの論理的妥当性検査規則の指定および適用 | |
JP6720144B2 (ja) | 条件付き検証規則 | |
US10127264B1 (en) | Techniques for automated data analysis | |
CN115203300A (zh) | 一种数据验证方法及装置 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
US8793167B2 (en) | Account conversion of information technology systems | |
US20080052587A1 (en) | Unit Test Extender | |
CN112130838B (zh) | 交易数据处理方法及装置 | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN110609790A (zh) | 解析程序测试方法、装置、介质和计算机设备 | |
CN112416417A (zh) | 一种代码量统计方法、装置、电子设备及存储介质 | |
CN114677186B (zh) | 金融产品的报价计算方法、装置、计算机设备和存储介质 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN116521572B (zh) | 网页脚本可视化验证方法、系统、终端设备和存储介质 | |
CN114327377B (zh) | 需求跟踪矩阵生成方法、装置、计算机设备及存储介质 | |
EP3128479A1 (en) | Methods and systems for transaction processing | |
CN114003494A (zh) | 数据模型自动测试方法、装置与电子设备 | |
CN117331812A (zh) | 业务代码验证方法、装置、计算机设备、存储介质和产品 | |
CN116433392A (zh) | 一种再保险测算方法、装置及设备 | |
CN117291696A (zh) | 清算系统测试方法、装置、电子设备和存储介质 | |
CN117350872A (zh) | 一种数据对账方法及装置 | |
CN113743948A (zh) | 交易信息文件的生成方法及装置、电子设备、存储介质 | |
CN116881167A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |