CN114168582A - 基于数据质量规则的数据校验方法、***、设备及介质 - Google Patents
基于数据质量规则的数据校验方法、***、设备及介质 Download PDFInfo
- Publication number
- CN114168582A CN114168582A CN202111521747.8A CN202111521747A CN114168582A CN 114168582 A CN114168582 A CN 114168582A CN 202111521747 A CN202111521747 A CN 202111521747A CN 114168582 A CN114168582 A CN 114168582A
- Authority
- CN
- China
- Prior art keywords
- target task
- task
- ith
- verification
- data
- 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
Links
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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及基架运维领域,提供了一种基于数据质量规则的数据校验方法,所述方法包括:执行第一目标任务的第i个运行操作;当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作;判断所述第i个校验结果是否为校验失败;若第i个校验结果为校验失败,则根据第i‑1个任务脚本对所述第一目标任务进行第i个修改操作,以得到第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作;及若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。本发明提高了整体数据的正确性,降低了错误数据的修复时间和修复成本。
Description
技术领域
本发明实施例涉及基架运维领域,尤其涉及一种基于数据质量规则的数据校验方法、***、设备及介质。
背景技术
ETL(Extract-Transform-Load数据仓库技术)调度***是大数据平台或数据仓库***里不可或缺的模块,所述ETL调度***可以根据一定的规则去触发一个或一系列的ETL作业,比如,定时触发和通过任务依赖触发。在大数据平台离线处理作业的情况下,ETL调度***触发ETL作业运行相应的任务时所产生的数据通常存储在HDFS(Hadoop DistributedFile System分布式文件***)的数据表,由于HDFS不具有传统数据库对数据表的完整性约束能力,所以在任务运行过程中,可能会有一些异常数据(脏数据或不符合规范的数据)进入到数据表里,而任务依然是显示运行正常。
现有的数据质量管理平台的往往是在任务结束后对数据表中的数据进行质量规则检验,即,在一些异常数据已经进入到数据表之后进行质量规则检验,虽然,这种方式也可以检测出数据表中的异常数据,并根据异常数据进行事后的提醒,但是,这种方式无法及时数据表中的异常数据,也实现无法及时处理数据表中的异常数据,只能根据异常数据进行事后的提醒;从而导致数据表中整体数据的正确性较差,且对数据表异常数据的修复时间较长、修复成本较高。因此,如何解决现有技术中数据质量管理平台无法及时发现数据表中的异常数据,导致无法及时处理异常数据的问题,从而解决数据表中整体数据的正确性较差,对异常数据的修复时间较长、修复成本较高的问题,成为了当前急需解决的技术问题。
发明内容
有鉴于此,有必要提供一种基于数据质量规则的数据校验方法、***、设备及可读存储介质,以解决现有技术中数据质量管理平台无法及时发现数据表中的异常数据,也无法及时处理异常数据,导致数据表中整体数据的正确性较差,对异常数据的修复时间较长、修复成本较高的问题。
为实现上述目的,本发明实施例提供了一种基于数据质量规则的数据校验方法,所述方法步骤包括:
执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,当所述i=1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;当所述i>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果;
当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果;
判断所述第i个校验结果是否为校验失败;
若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作;及
若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
可选的,所述调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果的步骤,包括:
根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;
调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。
可选的,还包括:
若所述第i个校验结果为校验失败,则判断i是否大于预设阈值;
如果i大于所述预设阈值,则执行所述第二目标任务的第1个运行操作;
如果i不大于所述预设阈值,则触发所述根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作的步骤。
可选的,还包括:
若所述第i个校验结果为校验失败,则计算所述第一目标任务的i个校验操作的验证总时长;
判断所述第一目标任务的i个校验操作的验证总时长是否大于预设时长;
如果所述第一目标任务的i个校验操作的验证总时长大于所述预设时长,则执行所述第二目标任务的第1个运行操作;
如果i不大于所述预设时长,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作。
可选的,还包括:
判断所述第一目标任务是否为最后一个任务;
若所述第一目标任务不是最后一个任务,则执行第二目标任务的第1个运行操作。
可选的,还包括:将所述第i个校验结果上传到区块链。
为实现上述目的,本发明实施例还提供了一种基于数据质量规则的数据校验***,包括:
第一运行模块,用于执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,所述i为1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;所述i为>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果;
任务校验模块,用于当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果;
结果判断模块,用于判断所述第i个校验结果是否为校验失败;
脚本修改模块,用于若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作;及
第二运行模块,用于若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
可选的,所述任务校验模块,还用于:
根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;
调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上述的基于数据质量规则的数据校验方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的基于数据质量规则的数据校验方法的步骤。
本发明实施例提供的基于数据质量规则的数据校验方法、***、计算机设备及计算机可读存储介质,本实施例通过检测每个目标任务的运行,在每个目标任务运行时通过预先配置的数据质量规则对每个目标任务进行循环校验,以提前检测出目标任务在运行过程中出现的异常,并在异常出现时对目标任务进行实时处理,以避免异常数据进入到数据表中;直到目标任务中不存在异常数据,则将目标任务最后一次运行时产生的数据存储到数据表中,并运行下一个目标任务;解决了现有技术中数据质量管理平台无法及时发现数据表中的异常数据和无法及时处理异常数据的问题;提高了数据表中整体数据的的正确性,降低了异常数据的修复时间和修复成本。
附图说明
图1为本发明实施例基于数据质量规则的数据校验方法的流程示意图;
图2为本发明基于数据质量规则的数据校验***实施例二的程序模块示意图;
图3为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1,示出了本发明实施例之基于数据质量规则的数据校验方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。本实施例中的基于数据质量规则的数据校验***可以被执行在计算机设备2中,下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,当所述i=1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;当所述i>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果。
所述第一目标任务可以是ETL(Extract,transform,load数据仓库技术)调度***中的一个通过或不通过线程实现的并发操作的任务(Task),所述第一目标任务还可以是多延续(continuation)的串联在一起的多个任务(Task)组合成的组合任务。
ETL(Extract-Transform-Load数据仓库技术)调度***是大数据平台或数据仓库***里不可或缺的模块,所述ETL调度***可以根据一定的规则去触发一个或一系列的ETL作业,比如,定时触发和通过任务依赖触发。
在大数据平台离线处理作业的情况下,底层的数据通常是存储在HDFS(HadoopDistributed File System分布式文件***)上的文件,并不像传统数据库对表可以设置完整性约束(如值不为空,字段唯一等),所以在任务运行过程中,可能会有一些异常数据(脏数据或不符合规范的数据)进入到数据表里,而任务依然是显示运行正常。现有的数据质量管理平台的往往是在任务结束后对数据表中的数据进行质量规则检验,即,在一些异常数据已经进入到数据表之后进行质量规则检验,虽然,这种方式也可以检测出数据表中的异常数据,并根据异常数据进行事后的提醒,但是,这种方式无法及时数据表中的异常数据,也实现无法及时处理数据表中的异常数据,只能根据异常数据进行事后的提醒;从而导致数据表中整体数据的正确性较差,且对数据表异常数据的修复时间较长、修复成本较高。为了解决上述问题,本实施例通过在每个目标任务运行结束后的第一时间对目标任务进行验证,以根据验证结果对数据表中的不符合规范的数据进行处理,其中,对所述目标任务进行验证具体步骤如下。
步骤S102,当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果。
所述数据质量规则可以是在新增在底层任务调度代码上的“数据质量规则”调用接口,可以根据输入“传入参数”输出对应的“返回代码”。
在示例性的实施例中,所述步骤S102可以包括步骤S200~步骤S202,其中:步骤S200,根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;步骤S202,调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。其中,所述传入参数可以支持标准的质量规则模块:支持质量管理平台配置的质量规则任务的唯一编码,即,所述传入参数可以是所述第一目标任务的任务代码。所述传入参数还可以支持灵活的自定义校验脚本:支持自定义SQL质量校验脚本配置,即,所述传入参数可以是自定义SQL质量校验脚本配置所对应的SQL脚本名称。
步骤S104,判断所述第i个校验结果是否为校验失败。
在一些实施例中,需要通过自定义SQL质量校验脚本来实现一些特定的场景,例如,在SQL里定义SELECT COUNT(*)AS RETURN_CODE作为最终的返回结果,其中,自定义SQL校验脚本样例如下:
SELECT COUNT(1)AS RETURN_CODE
FROM(
SELECT
*
FROM ADS_DB.ADS_DATAMAP_TBL_INFO
WHERE part_date=current_date
and tbl_name is null
)B
;
在本实施例中,可以在数据质量管理平台的任务开发界面增加“校验脚本”入口。当所述第一目标任务的第1个运行操作结束后,可以通过数据质量规则对所述第一目标任务的任务代码进行校验操作,以判断所述第i个校验结果是否为校验失败。为了便于理解,本实施提供了一个具体实例:对于配置了校验脚本的ADS_DATAMAP_TBL_INFO,会在原来的执行脚本结束后,立即执行校验脚本,及时的检测预先创建的临时数据表中的数据质量,其中,所述临时数据表用于记录目标任务在循环校验过程所产生的数据;根据检测结果,及时反馈任务的成功,失败状态。其中,ADS_DATAMAP_TBL_INFO执行log会额外增加质量规则校验脚本log,当return_code为0,则返回执行成功的结果。在一些实施例中,也可以将目标任务在循环校验过程所产生的数据直接存储到数据表中,其中,目标任务每次产生新数据存储到数据表中会覆盖目标任务上一次所产生的数据;在目标任务的执行脚本每次执行结束后,立即执行校验脚本,对目标任务所产生的新数据进行校验,根据校验结果判断是否继续对所述目标任务进行校验。
步骤S106,若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作。
在示例性的实施例中,所述基于数据质量规则的数据校验方法还包括步骤S300~步骤S304,其中:步骤S300,若所述第i个校验结果为校验失败,则判断i是否大于预设阈值;步骤S302,如果i大于所述预设阈值,则执行所述第二目标任务的第1个运行操作;步骤S304,如果i不大于所述预设阈值,则触发所述根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作的步骤。为了避免出现无限循环执行修改操作的问题,当i大于预设阈值,即,修改操作个数太多时,本实施可以跳过该目标任务执行下一个目标任务,并生成超时信息,以提醒数据质量管理平台相关技术员对所述第一目标任务进行处理,提高了对所述第一目标任务的验证效率。
在示例性的实施例中,所述基于数据质量规则的数据校验方法还包括步骤S400~步骤S406,其中:步骤S400,若所述第i个校验结果为校验失败,则计算所述第一目标任务的i个校验操作的验证总时长;步骤S402,判断所述第一目标任务的i个校验操作的验证总时长是否大于预设时长;步骤S404,如果所述第一目标任务的i个校验操作的验证总时长大于所述预设时长,则执行所述第二目标任务的第1个运行操作;步骤S406,如果所述第一目标任务的i个校验操作的验证总时长不大于所述预设时长,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作。需要说明的是,如果i个修改操作所消耗的时间太长,则会导致任务校验的整体校验效率降低。为了提高任务校验的整体校验效率,当i个校验操作的验证总时长大于预设时长时,本实施可以跳过该目标任务执行下一个目标任务,并生成超时信息,以提醒数据质量管理平台相关技术员对所述第一目标任务进行处理,提高了对所述第一目标任务的验证效率。
步骤S108,若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
在示例性的实施例中,所述基于数据质量规则的数据校验方法还包括步骤S500~步骤S502,其中:步骤S500,判断所述第一目标任务是否为最后一个目标任务;步骤S502,若所述第一目标任务是否为最后一个目标任务,则执行第二目标任务的第1个运行操作。为了避免出现无限循环运行操作的问题,本实施通过判断所述第一目标任务是否为最后一个目标任务,确定是否结束运行操作,进一步地提高了对所述第一目标任务的验证效率。
本实施例通过检测每个目标任务的运行,在每个目标任务运行时通过预先配置的数据质量规则对每个目标任务进行循环校验,以提前检测出目标任务在运行过程中出现的异常,并在异常出现时对目标任务进行实时处理,以避免异常数据进入到数据表中;直到目标任务中不存在异常数据,则将目标任务最后一次运行时产生的数据存储到数据表中,并运行下一个目标任务;解决了现有技术中数据质量管理平台无法及时发现数据表中的异常数据和无法及时处理异常数据的问题;提高了数据表中整体数据的的正确性,降低了异常数据的修复时间和修复成本。
本实施例通过引入数据质量校验脚本,把数据校验结果直接反馈到任务的工作状态中,提高开发者代码开发质量;并通过对接数据质量管理平台的规则调用接口,实现了任务调度***与数据质量管理平台的对接,对质量监控的实时性提供了保证,从事后监控提升到事中监控;以及通过引入数据质量校验脚本到工作流中,提升了数据质量,提高了错误数据的修复时效,同时错误数据也不会污染下游表,减少用户数据质量的反馈。
在示例性的实施例中,所述基于数据质量规则的数据校验方法还包括步骤S600:将所述第i个校验结果上传到区块链。
示例性的,将所述第i个校验结果上传至区块链可保证其安全性和公正透明性。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批个网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例二
图2为本发明基于数据质量规则的数据校验***实施例二的程序模块示意图。基于数据质量规则的数据校验***20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于数据质量规则的数据校验方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于数据质量规则的数据校验***20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一运行模块200,用于执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,当所述i=1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;当所述i>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果。
任务校验模块202,用于当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果。
结果判断模块204,用于判断所述第i个校验结果是否为校验失败。
脚本修改模块206,用于若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作。
第二运行模块208,用于若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
示例性的,所述任务校验模块202,还用于:根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。
示例性的,所述基于数据质量规则的数据校验***20还包括,阈值判断模块,所述阈值判断模块,用于若所述第i个校验结果为校验失败,则判断i是否大于预设阈值;如果i大于所述预设阈值,则执行所述第二目标任务的第1个运行操作;如果i不大于所述预设阈值,则触发所述根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作的步骤。
示例性的,所述基于数据质量规则的数据校验***20还包括,时长判断模块,所述时长判断模块,用于若所述第i个校验结果为校验失败,则计算所述第一目标任务的i个校验操作的验证总时长;判断所述第一目标任务的i个校验操作的验证总时长是否大于预设时长;如果所述第一目标任务的i个校验操作的验证总时长大于所述预设时长,则执行所述第二目标任务的第1个运行操作;如果所述第一目标任务的i个校验操作的验证总时长不大于所述预设时长,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作。
示例性的,所述基于数据质量规则的数据校验***20还包括,任务判断模块,所述任务判断模块,用于判断所述第一目标任务是否为最后一个目标任务;若所述第一目标任务是否为最后一个目标任务,则执行第二目标任务的第1个运行操作。
示例性的,所述基于数据质量规则的数据校验***20还包括,上传模块,所述上传模块,用于将所述第i个校验结果上传到区块链。
实施例三
参阅图3,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,计算机设备2至少包括,但不限于,可通过***总线相互通信连接存储器21、处理器22、网络接口23、以及基于数据质量规则的数据校验***20。
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作***和各类应用软件,例如实施例二的基于数据质量规则的数据校验***20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于数据质量规则的数据校验***20,以实现实施例一的基于数据质量规则的数据校验方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(Global System of Mobile communicatI/On,GSM)、宽带码分多址(Wideband CodeDivisI/On Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图3仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的基于数据质量规则的数据校验***20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图2示出了本发明实施例二之所述实现基于数据质量规则的数据校验***20的程序模块示意图,该实施例中,所述基于数据质量规则的数据校验***20可以被划分为第一运行模块200、任务校验模块202、结果判断模块204、脚本修改模块206和第二运行模块208。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述基于数据质量规则的数据校验***20在计算机设备2中的执行过程。所述程序模块200-210的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质基于数据质量规则的数据校验***20,被处理器执行时实现实施例一的基于数据质量规则的数据校验方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于数据质量规则的数据校验方法,其特征在于,所述方法包括:
执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,当所述i=1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;当所述i>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果;
当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果;
判断所述第i个校验结果是否为校验失败;
若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作;及
若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
2.如权利要求1所述的基于数据质量规则的数据校验方法,其特征在于,所述调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果的步骤,包括:
根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;
调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。
3.如权利要求2所述的基于数据质量规则的数据校验方法,其特征在于,还包括:
若所述第i个校验结果为校验失败,则判断i是否大于预设阈值;
如果i大于所述预设阈值,则执行所述第二目标任务的第1个运行操作;
如果i不大于所述预设阈值,则触发所述根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作的步骤。
4.如权利要求2所述的基于数据质量规则的数据校验方法,其特征在于,还包括:
若所述第i个校验结果为校验失败,则计算所述第一目标任务的i个校验操作的验证总时长;
判断所述第一目标任务的i个校验操作的验证总时长是否大于预设时长;
如果所述第一目标任务的i个校验操作的验证总时长大于所述预设时长,则执行所述第二目标任务的第1个运行操作;
如果所述第一目标任务的i个校验操作的验证总时长不大于所述预设时长,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作。
5.如权利要求1所述的基于数据质量规则的数据校验方法,其特征在于,还包括:
判断所述第一目标任务是否为最后一个目标任务;
若所述第一目标任务不是最后一个目标任务,则执行第二目标任务的第1个运行操作。
6.如权利要求1至5中任一项所述的基于数据质量规则的数据校验方法,其特征在于,还包括:将所述第i个校验结果上传到区块链。
7.一种基于数据质量规则的数据校验***,其特征在于,包括:
第一运行模块,用于执行第一目标任务的第i个运行操作:根据第一目标任务的第i-1个任务脚本,运行所述第一目标任务;其中,i为正整数,当所述i=1时,所述第i-1个任务脚本为所述第一目标任务的原始脚本;当所述i>1时,所述第i-1个任务脚本为第i个修改操作得到的修改结果;
任务校验模块,用于当所述第一目标任务的第i个运行操作结束后,执行所述第一目标任务的第i个校验操作:调用预先配置的数据质量规则对所述第i-1个任务脚本进行校验,以得到第i个校验结果;
结果判断模块,用于判断所述第i个校验结果是否为校验失败;
脚本修改模块,用于若所述第i个校验结果为校验失败,则根据所述第i-1个任务脚本对所述第一目标任务进行第i个修改操作,以得到所述第一目标任务的第i个任务脚本,并执行所述第一目标任务的第i+1个运行操作;及
第二运行模块,用于若所述第i个校验结果为校验成功,则执行第二目标任务的第1个运行操作,其中,所述第二目标任务为所述第一目标任务的下一个目标任务。
8.如权利要求7所述的基于数据质量规则的数据校验***,其特征在于,所述任务校验模块,还用于:
根据所述第i-1个任务脚本获取所述第i-1个任务脚本的传入参数;
调用所述数据质量规则对所述传入参数进行校验,以得到第i个校验结果。
9.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于数据质量规则的数据校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至6中任一项所述的基于数据质量规则的数据校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111521747.8A CN114168582A (zh) | 2021-12-13 | 2021-12-13 | 基于数据质量规则的数据校验方法、***、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111521747.8A CN114168582A (zh) | 2021-12-13 | 2021-12-13 | 基于数据质量规则的数据校验方法、***、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168582A true CN114168582A (zh) | 2022-03-11 |
Family
ID=80486055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111521747.8A Pending CN114168582A (zh) | 2021-12-13 | 2021-12-13 | 基于数据质量规则的数据校验方法、***、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168582A (zh) |
-
2021
- 2021-12-13 CN CN202111521747.8A patent/CN114168582A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111679968A (zh) | 接口调用异常的检测方法、装置、计算机设备及存储介质 | |
CN112039900B (zh) | 网络安全风险检测方法、***、计算机设备和存储介质 | |
CN110222535B (zh) | 区块链配置文件的处理装置、方法及存储介质 | |
CN109740760B (zh) | 文本质检自动化训练方法、电子装置及计算机设备 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN113220540B (zh) | 业务管理方法、装置、计算机设备和存储介质 | |
CN111309506A (zh) | 一种编译错误的定位方法、设备、服务器及可读存储介质 | |
CN112527484A (zh) | 工作流断点续跑方法、装置、计算机设备及可读存储介质 | |
CN112561370A (zh) | 软件发版的管理方法、装置、计算机设备及存储介质 | |
CN110866834B (zh) | 批处理程序的执行方法及*** | |
CN111831365A (zh) | 接口路由转发方法、***、计算机设备及可读存储介质 | |
CN112256532A (zh) | 测试界面生成方法、装置、计算机设备及可读存储介质 | |
CN112181836A (zh) | 测试用例生成方法、***、设备及存储介质 | |
CN112685077A (zh) | 数据修改方法、***、计算机设备及计算机可读存储介质 | |
CN112416648A (zh) | 数据校验方法及装置 | |
CN111338644A (zh) | 任务脚本部署方法及*** | |
CN112001707A (zh) | 基于业务数据的业务工作流生成方法及*** | |
CN114168582A (zh) | 基于数据质量规则的数据校验方法、***、设备及介质 | |
CN114780412A (zh) | 页面测试方法、***、设备及介质 | |
CN113419949B (zh) | 数据处理的异常检测方法、装置、设备及存储介质 | |
CN114490196A (zh) | 数据库切换方法、***、设备及介质 | |
CN112860702B (zh) | 试验执行工单验证方法、装置、计算机设备和存储介质 | |
CN111752600B (zh) | 代码异常检测方法、装置、计算机设备及存储介质 | |
CN114386047A (zh) | 应用漏洞检测方法、装置、电子设备及存储介质 | |
CN114037539A (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 |