CN114546483A - 一种数据校验方法、装置、计算机设备及存储介质 - Google Patents
一种数据校验方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114546483A CN114546483A CN202210214281.5A CN202210214281A CN114546483A CN 114546483 A CN114546483 A CN 114546483A CN 202210214281 A CN202210214281 A CN 202210214281A CN 114546483 A CN114546483 A CN 114546483A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- verification
- check
- verified
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/77—Software metrics
Abstract
本申请涉及数据处理领域,公开了一种数据校验方法、装置、计算机设备及存储介质,包括:获取第一待校验数据,并确定第一待校验数据对应的第一数据类型;根据第一数据类型从参考校验规则集中,确定第一待校验数据对应的第一校验规则,并利用第一校验规则对第一待校验数据进行数据校验,参考校验规则集中包括多个参考校验规则;当检测到第二待校验数据时,确定第二待校验数据对应的第二数据类型,并判断第二校验类型和第一数据类型是否一致;根据判断结果确定第二待校验数据对应的第二校验规则,并利用第二校验规则对第二待校验数据进行数据校验。可以提高数据校验效率。本申请涉及区块链技术,如可将上述数据写入区块链中,以用于数据校验等场景。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据校验方法、装置、计算机设备及存储介质。
背景技术
在系统的开发或使用中,通常需要对用户的输入信息进行校验。目前,一般是对每个用户的输入信息编写相应的程序代码以进行输入信息的校验,这种校验方式可以实现定制化,即针对不同的用户输入做相应的校验。但也存在以下问题:如果校验规则发生一点变化,则需要修改原有的程序代码以进行适配;而且,上述校验方式也可能会存在重复开发的操作。可以看出,上述问题通常会降低数据校验的效率,因此,如何提高数据校验的效率成为了亟需解决的问题。
发明内容
本申请实施例提供了一种数据校验方法、装置、计算机设备及存储介质,可以提高数据校验效率。
第一方面,本申请实施例公开了一种数据校验方法,所述方法包括:
获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
第二方面,本申请实施例公开了一种数据校验装置,所述装置包括:
确定单元,用于获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
第一校验单元,用于根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
检测单元,用于当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
第二校验单元,用于根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
第三方面,本申请实施例公开了一种计算机设备,包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本申请实施例中,可以获取第一待校验数据,并确定第一待校验数据对应的第一数据类型;然后,可以根据第一数据类型从包括多个参考校验规则的参考校验规则集中,确定第一待校验数据对应的第一校验规则,并利用第一校验规则对第一待校验数据进行数据校验。而当检测到第二待校验数据时,可以确定第二待校验数据对应的第二数据类型,并判断第二校验类型和第一数据类型是否一致;以进一步可以根据判断结果确定第二待校验数据对应的第二校验规则,并利用第二校验规则对第二待校验数据进行数据校验。通过实施上述方法,可以在获取到下一个待校验数据时,可以先根据下一个待校验数据和上一个待校验数据的数据类型确定是否需要进行校验规则的调整,以简化校验规则的确定操作,从而可以加快数据校验效率,进而可以提高数据校验效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据校验系统的架构示意图;
图2是本申请实施例提供的一种数据校验方法的流程示意图;
图3是本申请实施例提供的一种数据校验方法的流程示意图;
图4是本申请实施例提供的一种数据校验装置的结构示意图;
图5是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高数据校验的效率,本申请实施例提供一种数据校验方案,该数据校验方案的大致原理如下:可以获取第一待校验数据,并确定第一待校验数据对应的第一数据类型;然后,可以根据第一数据类型从包括多个参考校验规则的参考校验规则集中,确定第一待校验数据对应的第一校验规则,并利用第一校验规则对第一待校验数据进行数据校验。而当检测到第二待校验数据时,可以确定第二待校验数据对应的第二数据类型,并判断第二校验类型和第一数据类型是否一致;以进一步可以根据判断结果确定第二待校验数据对应的第二校验规则,并利用第二校验规则对第二待校验数据进行数据校验。通过实施上述方法,可以在获取到下一个待校验数据时,可以先根据下一个待校验数据和上一个待校验数据的数据类型确定是否需要进行校验规则的调整,以简化校验规则的确定操作,从而可以加快数据校验效率,进而可以提高数据校验效率。
在具体实现中,上述所提及的数据校验方案的执行主体可以是计算机设备,该计算机设备可以是终端或者服务器。此处所提及的终端可以是智能手机、平板电脑、笔记本电脑、台式电脑等设备,还可以是例如手柄、触摸屏等外设设备;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。需要说明的是,当计算机设备为服务器时,计算机设备在执行上述所提及的数据校验方案时,终端可以获取第一待校验数据和第二待校验数据,并将该第一待校验数据和第二待校验数据上传至服务器,从而使得服务器对第一待校验数据和第二待校验数据进行数据校验,如图1所示。
或者,上述所提及的数据校验方案也可由终端和服务器共同执行。例如,终端在获取到第一待校验数据之后,也可由终端确定该第一待校验数据的第一数据类型;然后,将第一待校验数据以及对应的第一数据类型上传至服务器,使服务器可以根据接收到的第一数据类型确定第一待校验数据的第一校验规则,并利用该第一校验规则对第一待校验数据进行数据校验。对于终点在检测到第二待校验数据时,也可以利用上述方式实现对第二待校验数据的校验。又如,终端在获取到第一待校验数据之后,可由终端执行第一数据类型的确定操作、以及第一校验规则的确定操作;然后,由终端将第一待校验数据以及确定的第一校验规则上传至服务器,以使服务器可以直接根据接收到的第一校验规则对第一待校验数据进行数据校验。对于终点在检测到第二待校验数据时,也可以利用上述方式实现对第二待校验数据的校验。需要说明的是,当该数据校验方案由终端和服务器共同执行时,该终端和服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例在此不做限制。
在一种实现方式中,本申请所提供的数据校验方案可以通过代码集成到数据校验系统中,或者,也可以通过过滤器进行无侵入式集成到数据校验系统中,或者,也可以通过注解方式完成在数据校验系统中的数据校验。在一种实现方式中,在数据校验系统启动时,可以先校验该数据校验系统所关联的所有校验规则的可用性,对于不可用的校验规则可以进行打标,以保证后续数据校验任务的正常运行。
基于上述所提供的数据校验方案,本申请实施例提供了一种数据校验方法,该数据校验方法可由上述所提及的计算机设备执行,该计算机设备可以是终端或服务器;或者,该数据校验方法可由终端和服务器共同执行。为便于阐述,本申请实施例以计算机设备执行该数据校验方法为例进行说明;请参阅图2,该数据校验方法可包括以下步骤S201-S204:
S201:获取第一待校验数据,并确定第一待校验数据对应的第一数据类型;
在一种实现方式中,第一待校验数据可以是任意的待校验数据。例如,在系统的开发或使用中,需要对用户的输入数据进行规范时,或在对输入数据对应的用户不信任,以保证数据的安全性时,均可以获取对应的输入数据,并将该输入数据作为第一待校验数据,以对该第一待校验数据进行数据校验。在计算机设备获取到第一待校验数据之后,可以进一步确定该第一待校验数据对应的数据类型,例如,可以对第一待校验数据进行解析,以得到该第一待校验数据对应的属性信息,该属性信息可以包括数据类型,数据格式等等。其中,可以将数据类型称之为第一数据类型。
S202:根据第一数据类型从参考校验规则集中,确定第一待校验数据对应的第一校验规则,并利用第一校验规则对第一待校验数据进行数据校验,参考校验规则集中包括多个参考校验规则;
在一种实现方式中,参考校验规则集可以预先存储在数据库中,但执行数据校验任务时,计算机设备上可以获取预先存储的参考校验规则集;或者,该参数校验规则集可以是实时通过在校验规则配置界面上的配置所获得的。该参考校验规则集中可以包括多种参考校验规则,该多种参考校验规则可以包括以下类型的规则,如默认规则、自定义规则、自定义脚本规则、低代码规则等等,本申请主要默认规则、自定义规则、自定义脚本规则、低代码规则为例进行阐述。其中,默认规则可以理解为系统提供的校验规则,例如,默认规则可以包括数据长度上下限校验规则、非空校验规则、以某字符开头或结尾的校验规则等等;自定义规则可以理解为通过二次开发并继承自系统的默认规则,或用户自定义的新校验规则,自定义规则通常可以用来实现校验逻辑比较复杂的校验。自定义脚本规则可以理解为利用脚本实现的校验规则,这种校验规则通常需要通过规则解析器进行解析,然后再利用解析后的校验规则进行数据校验,自定义脚本规则通常可以是比较个性、简单的校验规则;低代码规则可以理解为通过系统提供的低代码生成器所生成的规则,也可以理解为脚本化的校验规则。
每一种参考校验规则可以具备对应的校验数据类型,即对于一种参考校验规则而言,该参考校验规则可以用于对其对应的校验数据类型所对应的数据进行数据校验。那么,在具体实现中,可以将第一数据类型与参考校验规则集中各个参考校验规则所对应的校验数据类型进行匹配,如果第一数据类型可以匹配到参考校验规则所对应的校验数据类型,则可以将匹配到的参考校验规则作为初始校验规则。其中,上述的匹配操作可以理解为第一数据类型是否与参考校验规则所对应的校验数据类型一致,如果第一数据类型与某一参考校验规则所对应的校验数据类型是一致的,则可以将该参考校验规则作为初始校验规则。可选的,参考校验规则集中的参考校验规则所对应的校验数据类型可以存在交集,即可以存在多种参考校验规则可以用于对同一种校验数据类型的数据进行数据校验。那么,上述所得到的初始校验规则的数量可以是一个,也可以是多个。
在一种实现方式中,在初始校验规则的数量为一个的情况下,该初始校验规则即可以作为用于对第一待校验数据进行数据校验的校验规则,该校验规则可以称之为诶第一校验规则。
在一种实现方式中,在初始校验规则的数量为多个的情况下,可以从该多个初始校验规则中随机选择一个初始校验规则作为第一校验规则,也可以按照预设的规则选择标准从多个初始校验规则中确定第一校验规则。例如,该规则选择标准可以是基于各个初始校验规则对应的规则优先级进行第一校验规则的选择。则在具体实现中,在初始校验规则的数量为多个的情况下,可以先确定多个初始校验规则中各个初始校验规则对应的规则优先级,然后,从各个初始校验规则对应的规则优先级中选出最高规则优先级对应的初始校验规则,作为第一校验规则。可选的,可以基于初始校验规则对应的规则属性信息来确定初始校验规则对应的规则优先级,例如,该规则属性信息可以包括初始校验规则对应的校验规则算法的算法复杂度、初始校验规则进行数据校验的历史校验时长中的一种或多种,也可以包括其他规则属性信息,在本申请不做限定。
可选的,以规则属性信息包括初始校验规则对应的校验规则算法的算法复杂度为例进行说明。计算机设备可以获取各个初始校验规则对应的校验规则算法的算法复杂度,其中,每一种初始校验规则均具备对应的校验规则算法,一种初始校验规则具备的校验规则算法的数量可以为一个也可以为多个,在本申请不做限定。在一种初始校验规则具备的校验规则算法的数量可以为多个的情况下,初始校验规则对应的算法复杂度可以是指:这多个校验规则算法的算法复杂度中最低的算法复杂度。在确定各个初始校验规则对应的算法复杂度之后,即可以根据算法复杂度确定各个初始校验规则对应的规则优先级。其中,初始校验规则对应的算法复杂度和规则优先级可以呈负相关,即某一初始校验规则对应的算法复杂度越高,则该初始校验规则的规则优先级越低。则上述描述的最高规则优先级对应的初始校验规则也就是算法复杂度最低所对应的初始校验规则,即可以将算法复杂度最低对应的初始校验规则作为第一校验规则。可以理解的是,算法复杂度越低,则对应的算法所对应的计算时间也就越低,那么,通过选择算法复杂度最低对应的初始校验规则作为第一校验规则,也可以提高数据校验速度。
可选的,以规则属性信息包括初始校验规则进行数据校验的历史校验时长为例进行说明。计算机设备获取各个初始校验规则进行数据校验的历史校验时长,例如,针对多个初始校验规则中的任一初始校验规则,可以获取该初始校验规则上一次进行数据校验所利用到的时长,并将该时长作为历史校验时长;又如,可以获取该初始校验规则前N次进行数据校验所利用到的时长,并对该N个时长的均值作为历史校验时长,其中,该N为正整数,如可以是2、4等数值。在得到各个初始校验规则进行数据校验的历史校验时长之后,则可以根据历史校验时长确定各个初始校验规则对应的规则优先级。其中,初始校验规则对应的历史校验时长和规则优先级可以呈负相关,即某一初始校验规则对应的历史校验时长越长,则该初始校验规则的规则优先级越低。则上述描述的最高规则优先级对应的初始校验规则也就是历史校验时长最短所对应的初始校验规则,即可以将历史校验时长最短对应的初始校验规则作为第一校验规则。那么,通过选择历史校验时长最短对应的初始校验规则作为第一校验规则,也可以提高数据校验速度。
可选的,还可以从多个维度的规则属性信息类确定初始校验规则对应的规则优先级,以更加合理的选择出第一校验规则。例如,以规则属性信息包括初始校验规则对应的校验规则算法的算法复杂度、以及初始校验规则进行数据校验的历史校验时长为例进行说明。计算机设备可以获取各个初始校验规则对应的校验规则算法的算法复杂度,并根据算法复杂度确定各个初始校验规则对应的第一优先级。计算机设备还可以获取各个初始校验规则进行数据校验的历史校验时长,并根据历史校验时长确定各个初始校验规则对应的第二优先级。其中,第一优先级和第二优先级的确定方式可以参考上述描述,在此处不再赘述。在得到第一优先级和第二优先级之后,则可以根据第一优先级和第二优先级确定各个初始校验规则对应的规则优先级。
例如,针对多个初始校验规则中的任一初始校验规则,可以将该初始校验规则对应的第一优先级与第二优先级进行求和运算,以将求和结果作为该初始校验规则对应的规则优先级。又如,可以先获取第一优先级和第二优先级分别对应的优先级权重,该优先级权重可以包括第一优先级对应的第一权重和第二优先级对应的第二权重;然后,再利用第一权重对第一优先级进行加权处理,得到第一加权结果,并利用第二权重对第二优先级进行加权处理,得到第二加权结果;再将第一加权结果和第二加权结果进行求和处理,并将求和结果作为初始校验规则对应的规则优先级。
在一种实现方式中,计算机设备可以预先存储一个数据校验规则表,该数据校验规则表中可以存储有多个参考校验规则以及各个参考校验规则的相关信息。以便于后续可以根据该数据校验数据表中的信息确定各种待校验数据对应的校验规则,并根据确定的校验规则进行数据校验。例如,该数据校验规则表可以如下表1所示:
表1:
参考校验规则 | 校验数据类型 | 规则优先级 | 校验规则算法 |
默认规则 | 数据类型1、数据类型2 | 4 | 算法1、算法2 |
自定义规则 | 数据类型3 | 3 | 算法3、算法4 |
自定义脚本规则 | 数据类型4、数据类型5 | 2 | 算法5 |
低代码规则 | 数据类型1、数据类型6 | 1 | 算法2、算法6 |
如表1所示,数据校验规则表中可以包括校验规则类型、校验数据类型、校验优先级以及校验规则算法,该数据校验规则表中还可以包括参考校验规则的其他信息,例如参考校验规则的规则标识等,此处仅是示例性举例。
在一种实现方式中,为了提升校验效率,在执行数据校验任务时可以实行规则智能路由。例如,可以首先按照规则类型,适用对象(即校验数据类型),规则优先级,历史校验时长,算法复杂度对参考校验规则集中的参考校验规则进行分类,形成一个有向图。然后,根据Dijkstra算法计算最短路径,以找到最优的校验规则,从而提高校验效率。其中,Dijkstra算法是利用贪心思想实现的一种路由算法,Dijkstra算法的实现可以理解为:首先,把有向图中的起点到所有点的距离存下来,并在这些距离中找出最短距离,然后,松弛一次再找出最短距离。松弛操作可以是指:将执行松弛操作之前所确定的最短距离对应的点作为中转站,然后在该点确定为中转站之后,再遍历该中转站到有向图其他点的距离,确定这些距离是否存在比执行松弛操作之前所确定的最短距离更短的距离,如果存在,则可以将执行松弛操作之前所得到的距离更新为执行松弛操作之后所得到的距离,并从执行松弛操作之后所得到的距离中找出最短距离。
在一种实现方式中,在确定第一待校验数据对应的第一校验规则之后,即可以利用第一校验规则对第一待校验数据进行数据校验。上述可知,参考校验规则集中可以包括脚本化的校验规则(如自定义脚本规则和低代码规则),则第一校验规则也有可能是脚本化的校验规则,对于脚本化的校验规则在进行数据校验时,可以利用规则解析器对脚本化的校验规则进行编译并执行。其中,规则解析器主要基于Python的内建函数compile()将脚本(即脚本化的校验规则)动态编译成字节码,然后,使用内建函数exec()或eval()进行执行,从而达到脚本执行的效果,实现对数据进行校验的目的。那么,在具体实现中,可以先检测第一校验规则是否为目标校验规则,该目标校验规则可以是指上述描述的脚本化的校验规则,如果检测结果为第一校验规则为目标校验规则,则可以对该第一校验规则进行解析处理,以得到解析后的第一校验规则,并利用解析后的第一校验规则对第一待校验数据进行数据校验。
可选的,脚本化的校验规则可以携带有指定标识,该指定标识可以用来指示对应的校验规则为脚本化的校验规则,则检测第一校验规则是否为目标校验规则的具体实现方式可以是检测第一校验规则是否携带有该指定标识,如果该第一校验规则携带有该指定标识,则可以确定该第一校验规则为目标校验规则,而如果该第一校验规则不携带有该指定标识,则可以确定该第一校验规则不为目标校验规则。
在一种实现方式中,在进行数据校验的过程中,可以将第一校验规则(或解析后的第一校验规则)以及第一待校验数据输入到对应的校验器中进行数据校验,以得到针对第一待校验数据对应的校验结果,其中,校验器可以包括正则校验器、数值校验器、数据库校验器、自定义校验器等等。可选的,在得到校验结果后,还可以执行下一步操作,例如该校验结果可以包括:校验通过或校验未通过。如果该校验结果为校验通过,则可以直接放行该第一待校验数据,以利用该第一待校验数据进行后续的操作;如果校验结果为校验未通过,则可以对该第一待校验数据进行拦截,或者在拦截该第一待校验数据时,也可以显示提示信息,该提示信息可以用于指示该第一待校验数据存在的问题。
S203:当检测到第二待校验数据时,确定第二待校验数据对应的第二数据类型,并判断第二校验类型和第一数据类型是否一致。
S204:根据判断结果确定第二待校验数据对应的第二校验规则,并利用第二校验规则对第二待校验数据进行数据校验。
在步骤S203和步骤S204中,在执行数据校验任务时,计算机设备可以在同一时刻获取到一个或多个待校验任务,在获取到多个待校验任务的情况下,可以对该多个待校验数据进行并行处理,即可以分别确定各自的校验规则进行数据校验,以实现同时对多个待校验数据进行数据校验。在获取到一个待校验数据的情况下,在检测到下一个待校验数据时,可以根据上一个待校验数据所确定的校验规则来确定下一个待校验数据的校验规则,以减少确定校验规则所花费的时间,从而提高数据的校验速度。例如,可以根据待校验数据的数据类型来确定下一个待校验数据的校验规则。在具体实现中,当检测到第二待校验数据时,可以确定该第二待校验数据对应的数据类型,可以将该数据类型称之第二校验数据,在确定第二校验数据之后,再进一步判断第二校验类型和第一数据类型是否是一致的,以便于后续可以根据判断结果确定该第二待校验数据对应的校验规则,可以将该校验规则称之为第二校验规则。其中,上述的第一待校验数据可以理解为上一个待校验数据,第二待校验数据可以理解为下一个待校验数据,第一待校验数据和第二待校验数据可以是在两个连续时刻所获取到的待校验数据。
在一种实现方式中,如果判断结果为一致,则可以将第一待校验数据对应的第一校验规则,作为第二待校验数据对应的第二校验规则,即在数据类型相同的情况下,可以直接采用上一个待校验数据对应的校验规则对下一个待校验数据进行数据校验,从而无需确定待校验数据对应的校验规则的步骤,进而也可以加快数据校验速度,提高校验效率。如果判断结果为不一致,则可以进一步确定参考校验规则集中是否存在与第二数据类型匹配的参考校验规则。如果参考校验规则集中存在与第二数据类型匹配的参考校验规则,则可以根据匹配到的参考校验规则确定第二待校验数据对应的第二校验规则,其中,在这种情况下确定第二校验规则的方式可以参考上述第一校验规则的确定方式,在此处不再赘述。
如果参考校验规则集中不存在与第二数据类型匹配的参考校验规则,则可以输出校验规则配置界面,该校验规则配置界面可以供开发人员进行校验规则的配置,例如,上述的自定义规则、自定义脚本规则、低代码规则均可以通过该校验规则配置界面进行配置,并获取校验规则配置界面上所配置的校验规则,从而可以将所配置的校验规则确定为第二待校验数据对应的第二校验规则。可选的,开发人员可以在校验规则配置界面上针对不同的参考校验规则进行增加、删除、或者修改等操作,在对参考校验规则进行调整的过程中,可以只需更改参考校验规则中的某些参数即可,例如,可以对参考校验规则所对应的校验数据类型、规则优先级以及校验规则算法等中的一种或者多种进行修改,以得到满足当前第二待校验数据所需要的第二校验规则的需求。通过这种方式,无需重新配置整个校验规则,节省了重新导入并编译执行的时间,现改现用,从而可以提升对数据校验的效率。可选的,除了利用上述通过校验规则配置界面上的配置操作来实现对校验规则的配置之外,还可以利用低代码方式来实现校验规则的配置。即开发人员或者系统运营人员或者系统运维人员可以通过配置或低代码方式实现对校验规则增加、修改、删除、启用、停用等功能;同时,也可以为系统提供统一的校验方式,统一的校验风格,统一的校验结果,从而有利用实现对数据校验任务的管理。
本申请实施例中,可以获取第一待校验数据,并确定第一待校验数据对应的第一数据类型;然后,可以根据第一数据类型从包括多个参考校验规则的参考校验规则集中,确定第一待校验数据对应的第一校验规则,并利用第一校验规则对第一待校验数据进行数据校验。而当检测到第二待校验数据时,可以确定第二待校验数据对应的第二数据类型,并判断第二校验类型和第一数据类型是否一致;以进一步可以根据判断结果确定第二待校验数据对应的第二校验规则,并利用第二校验规则对第二待校验数据进行数据校验。通过实施上述方法,可以在获取到下一个待校验数据时,可以先根据下一个待校验数据和上一个待校验数据的数据类型确定是否需要进行校验规则的调整,在数据类型相同的情况下,可以直接采用上一个待校验数据对应的校验规则对下一个待校验数据进行数据校验,从而无需确定待校验数据对应的校验规则的步骤,进而也可以加快数据校验速度,提高校验效率。而在现有的参考校验规则集中不存在下一个待校验数据的校验规则时,也只需更改参考校验规则中的某些参数即可,无需重新配置整个校验规则,节省了重新导入并编译执行的时间,现改现用,也可以有效提升对数据校验的效率。
为更好的理解本申请实施例所提供的数据校验方法,下面结合图3所示的流程进行进一步说明。如图3所示,在执行数据校验任务中,可以同时对多个带校验数据进行数据校验,也可以对一个待校验数据进行数据校验,即计算机设备可以获取一个待校验数据或多个待校验数据。下述主要以对一个待校验数据进行数据校验的过程进行描述。在计算机设备获取到一个待校验数据之后,可以获取该待校验数据对应的校验规则,该校验规则可以是从默认规则以及开发人员配置的规则中获取的,开发人员所配置的规则可以为上述描述的自定义规则、自定义脚本规则、低代码规则等等。在确定了待校验数据的校验规则之后,进一步确定该校验规则是否为目标校验规则,如果确定该校验规则为目标校验规则,则可以利用规则解析器对该校验规则进行解析,以利用解析后的校验规则对待校验数据进行数据校验,如果该校验规则为低代码规则,还可以利用低代码解析器对低代码规则进行解析,解析为脚本化的校验规则,再利用规则解析器对脚本化的规则再一次解析,得到最终可以进行数据校验的校验规则。然后,再利用校验规则对待校验数据进行数据校验,具体的,可以利用规则校验器进行数据校验,以得到校验结果。其中,规则校验器可以包括正则校验器、数值校验器、数据库校验器、自定义校验器等等。上述可知,本申请可以提供一个通用的数据校验框架,该数据校验框架可以统一校验入口,以提供统一的校验方式,控制数据校验过程,如具体可以提供同步或异步数据校验流程,从而有利用实现对数据校验任务的管理。
请参阅图4,图4是本申请实施例提供的一种数据校验装置的结构示意图。所述数据校验装置包括:
确定单元401,用于获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
第一校验单元402,用于根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
检测单元403,用于当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
第二校验单元404,用于根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
在一种实现方式中,所述第二校验单元404,具体用于:
若判断结果为一致,则将所述第一待校验数据对应的第一校验规则,作为所述第二待校验数据对应的第二校验规则;
若判断结果为不一致,则确定所述参考校验规则集中是否存在与所述第二数据类型匹配的参考校验规则;
若所述参考校验规则集中存在与所述第二数据类型匹配的参考校验规则,则根据匹配到的参考校验规则确定所述第二待校验数据对应的第二校验规则。
在一种实现方式中,所述第二校验单元404,还用于:
若所述参考校验规则集中不存在与所述第二数据类型匹配的参考校验规则,则输出校验规则配置界面;
获取所述校验规则配置界面上所配置的校验规则,将所述所配置的校验规则确定为所述第二待校验数据对应的第二校验规则。
在一种实现方式中,所述第一校验单元402,具体用于:
将所述第一数据类型与所述参考校验规则集中各个参考校验规则所对应的校验数据类型进行匹配,将匹配到的参考校验规则作为初始校验规则;
在所述初始校验规则的数量为多个的情况下,确定多个初始校验规则中各个初始校验规则对应的规则优先级;
从所述各个初始校验规则对应的规则优先级中选出最高规则优先级对应的初始校验规则,作为第一校验规则。
在一种实现方式中,所述第一校验单元402,具体用于:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的第一优先级;
获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的第二优先级;
根据所述第一优先级和所述第二优先级确定所述各个初始校验规则对应的规则优先级。
在一种实现方式中,所述第一校验单元402,具体用于:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的规则优先级;
或者,获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的规则优先级。
在一种实现方式中,所述第一校验单元402,具体用于:
检测所述第一校验规则是否为目标校验规则;
若检测结果为所述第一校验规则为目标校验规则,则对所述第一校验规则进行解析处理,得到解析后的第一校验规则;
利用所述解析后的第一校验规则对所述第一待校验数据进行数据校验。
可以理解的是,本申请实施例所描述的数据校验装置的各功能单元的功能可根据图2所述的方法实施例中的方法具体实现,其具体实现过程可以参照图2的方法实施例的相关描述,此处不再赘述。
本申请实施例中,确定单元401获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;第一校验单元402根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;检测单元403当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;第二校验单元404根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。通过实施上述方法,可以有效提高数据校验效率。
请参阅图5,图5是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备包括:处理器501、存储器502以及网络接口503。上述处理器501、存储器502以及网络接口503之间可以交互数据。
上述处理器501可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述存储器502可以包括只读存储器和随机存取存储器,并向处理器501提供程序指令和数据。存储器502的一部分还可以包括随机存取存储器。其中,所述处理器501调用所述程序指令时用于执行:
获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
在一种实现方式中,所述处理器501,具体用于:
若判断结果为一致,则将所述第一待校验数据对应的第一校验规则,作为所述第二待校验数据对应的第二校验规则;
若判断结果为不一致,则确定所述参考校验规则集中是否存在与所述第二数据类型匹配的参考校验规则;
若所述参考校验规则集中存在与所述第二数据类型匹配的参考校验规则,则根据匹配到的参考校验规则确定所述第二待校验数据对应的第二校验规则。
在一种实现方式中,所述处理器501,还用于:
若所述参考校验规则集中不存在与所述第二数据类型匹配的参考校验规则,则输出校验规则配置界面;
获取所述校验规则配置界面上所配置的校验规则,将所述所配置的校验规则确定为所述第二待校验数据对应的第二校验规则。
在一种实现方式中,所述处理器501,具体用于:
将所述第一数据类型与所述参考校验规则集中各个参考校验规则所对应的校验数据类型进行匹配,将匹配到的参考校验规则作为初始校验规则;
在所述初始校验规则的数量为多个的情况下,确定多个初始校验规则中各个初始校验规则对应的规则优先级;
从所述各个初始校验规则对应的规则优先级中选出最高规则优先级对应的初始校验规则,作为第一校验规则。
在一种实现方式中,所述处理器501,具体用于:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的第一优先级;
获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的第二优先级;
根据所述第一优先级和所述第二优先级确定所述各个初始校验规则对应的规则优先级。
在一种实现方式中,所述处理器501,具体用于:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的规则优先级;
或者,获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的规则优先级。
在一种实现方式中,所述处理器501,具体用于:
检测所述第一校验规则是否为目标校验规则;
若检测结果为所述第一校验规则为目标校验规则,则对所述第一校验规则进行解析处理,得到解析后的第一校验规则;
利用所述解析后的第一校验规则对所述第一待校验数据进行数据校验。
具体实现中,本申请实施例中所描述的处理器501和存储器502可执行本申请实施例图2提供的数据校验方法中所描述的实现方式,也可执行本申请实施例图4所描述的数据校验装置的实现方式,在此不再赘述。
本申请实施例中,处理器501可以获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。通过实施上述方法,可以有效提高数据校验效率。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序执行时可包括如图2对应实施例中的数据校验方法的部分或全部步骤。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
需要强调的是,为进一步保证上述数据的私密和安全性,上述数据还可以存储于一区块链的节点中。其中,本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上对本申请实施例所提供的一种数据校验方法、装置、计算机设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
2.根据权利要求1所述的方法,其特征在于,所述根据检测结果确定所述第二待校验数据对应的第二校验规则,包括:
若判断结果为一致,则将所述第一待校验数据对应的第一校验规则,作为所述第二待校验数据对应的第二校验规则;
若判断结果为不一致,则确定所述参考校验规则集中是否存在与所述第二数据类型匹配的参考校验规则;
若所述参考校验规则集中存在与所述第二数据类型匹配的参考校验规则,则根据匹配到的参考校验规则确定所述第二待校验数据对应的第二校验规则。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述参考校验规则集中不存在与所述第二数据类型匹配的参考校验规则,则输出校验规则配置界面;
获取所述校验规则配置界面上所配置的校验规则,将所述所配置的校验规则确定为所述第二待校验数据对应的第二校验规则。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,包括:
将所述第一数据类型与所述参考校验规则集中各个参考校验规则所对应的校验数据类型进行匹配,将匹配到的参考校验规则作为初始校验规则;
在所述初始校验规则的数量为多个的情况下,确定多个初始校验规则中各个初始校验规则对应的规则优先级;
从所述各个初始校验规则对应的规则优先级中选出最高规则优先级对应的初始校验规则,作为第一校验规则。
5.根据权利要求4所述的方法,其特征在于,所述确定多个初始校验规则中各个初始校验规则对应的规则优先级,包括:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的第一优先级;
获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的第二优先级;
根据所述第一优先级和所述第二优先级确定所述各个初始校验规则对应的规则优先级。
6.根据权利要求4所述的方法,其特征在于,所述确定所述多个初始校验规则中各个初始校验规则对应的规则优先级,包括:
获取所述各个初始校验规则对应的校验规则算法的算法复杂度,根据所述算法复杂度确定所述各个初始校验规则对应的规则优先级;
或者,获取所述各个初始校验规则进行数据校验的历史校验时长,并根据所述历史校验时长确定所述各个初始校验规则对应的规则优先级。
7.根据权利要求1所述的方法,其特征在于,所述利用所述第一校验规则对所述第一待校验数据进行数据校验,包括:
检测所述第一校验规则是否为目标校验规则;
若检测结果为所述第一校验规则为目标校验规则,则对所述第一校验规则进行解析处理,得到解析后的第一校验规则;
利用所述解析后的第一校验规则对所述第一待校验数据进行数据校验。
8.一种数据校验装置,其特征在于,包括:
确定单元,用于获取第一待校验数据,并确定所述第一待校验数据对应的第一数据类型;
第一校验单元,用于根据所述第一数据类型从参考校验规则集中,确定所述第一待校验数据对应的第一校验规则,并利用所述第一校验规则对所述第一待校验数据进行数据校验,所述参考校验规则集中包括多个参考校验规则;
检测单元,用于当检测到第二待校验数据时,确定所述第二待校验数据对应的第二数据类型,并判断所述第二校验类型和所述第一数据类型是否一致;
第二校验单元,用于根据判断结果确定所述第二待校验数据对应的第二校验规则,并利用所述第二校验规则对所述第二待校验数据进行数据校验。
9.一种计算机设备,其特征在于,包括处理器、存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210214281.5A CN114546483A (zh) | 2022-03-04 | 2022-03-04 | 一种数据校验方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210214281.5A CN114546483A (zh) | 2022-03-04 | 2022-03-04 | 一种数据校验方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546483A true CN114546483A (zh) | 2022-05-27 |
Family
ID=81662369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210214281.5A Pending CN114546483A (zh) | 2022-03-04 | 2022-03-04 | 一种数据校验方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546483A (zh) |
-
2022
- 2022-03-04 CN CN202210214281.5A patent/CN114546483A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11184241B2 (en) | Topology-aware continuous evaluation of microservice-based applications | |
US11868242B1 (en) | Method, apparatus, and computer program product for predictive API test suite selection | |
US11295242B2 (en) | Automated data and label creation for supervised machine learning regression testing | |
CN106656932A (zh) | 一种业务处理方法及装置 | |
CN111404759A (zh) | 服务检测方法、规则配置方法、相关设备及介质 | |
WO2019169723A1 (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN112181804A (zh) | 一种参数校验方法、设备以及存储介质 | |
CN109729094A (zh) | 恶意攻击检测方法、系统、计算机装置及可读存储介质 | |
EP3850513A1 (en) | Malchain detection | |
CN112073374B (zh) | 信息拦截方法、装置及设备 | |
US20210160142A1 (en) | Generalized correlation of network resources and associated data records in dynamic network environments | |
CN111679968A (zh) | 接口调用异常的检测方法、装置、计算机设备及存储介质 | |
CN112861346A (zh) | 数据处理系统、方法及电子设备 | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN109614327B (zh) | 用于输出信息的方法和装置 | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN113468212A (zh) | 事件执行的方法、装置及电子设备 | |
CN111340574B (zh) | 风险用户的识别方法、装置和电子设备 | |
CN112712125A (zh) | 事件流的模式匹配方法、装置、存储介质及处理器 | |
CN112181599A (zh) | 模型训练方法、装置及存储介质 | |
CN109800775B (zh) | 文件聚类方法、装置、设备及可读介质 | |
CN114546483A (zh) | 一种数据校验方法、装置、计算机设备及存储介质 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN113703996B (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN114281549A (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 |