CN114139220A - 一种数据校验方法及装置 - Google Patents
一种数据校验方法及装置 Download PDFInfo
- Publication number
- CN114139220A CN114139220A CN202111525790.1A CN202111525790A CN114139220A CN 114139220 A CN114139220 A CN 114139220A CN 202111525790 A CN202111525790 A CN 202111525790A CN 114139220 A CN114139220 A CN 114139220A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- verified
- request
- rule
- 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
- 238000013524 data verification Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012795 verification Methods 0.000 claims abstract description 148
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000004048 modification Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000000243 solution Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001655736 Catalpa bignonioides Species 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种数据校验方法及装置,当接收到业务数据请求时,确定业务数据请求对应的待校验数据,通过数据校验设计器将获取到的动态校验规则对待校验数据进行校验,若校验通过,则执行业务数据请求对应的业务处理操作。通过上述方案,在对业务数据进行校验时,无需对每个业务数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。
Description
技术领域
本申请涉及数据校验技术领域,更具体地说,涉及一种数据校验方法及装置。
背景技术
数据校验是业务系统常见功能,数据校验是为保证数据的完整性进行的一种验证操作。各业务系统的数据校验的实现都有不同特点和优势。
在传统的数据校验对单个数据校验时,需要对每个数据的字段进行校验,若遇到大型数据项目,则需要校验的数据量大,从而造成数据校验的工作量大。而且,同一个字段在业务系统中可能多次出现,不同字段的类型相同,因而需要对数据进行多次校验,导致数据校验代码重复性高。并且需要在复杂的业务系统中查找到哪个字段需要校验时,需进行定位,在定位过程中会翻找代码,并可能对多处代码进行修改,这样的方式需要重新对前后端代码进行处理,导致数据校验工作繁琐。
因此,现有的数据校验的工作量大,数据校验代码的重复性高,且数据校验的效率低。
发明内容
有鉴于此,本申请公开了一种数据校验方法及装置,旨在降低数据校验的工作量,降低数据校验代码重复性和提高数据校验的效率。
为了实现上述目的,其公开的技术方案如下:
本申请第一方面公开了一种数据校验方法,所述方法包括:
当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据;所述待校验数据由所述业务数据请求的请求路径和数据字段确定;
从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验;
若校验通过,则执行所述业务数据请求对应的业务处理操作;所述业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
优选的,所述当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据,包括:
当接收到业务数据请求时,通过预设拦截方式将所述业务数据请求进行拦截并解析,得到所述业务数据请求对应的请求路径;
将所述请求路径与数据校验设计器中的预设路径进行匹配;
若所述请求路径与所述数据校验设计器中的预设路径一致,获取所述数据校验设计器中所述请求路径所对应的数据字段;
解析所述数据字段,得到所述业务数据请求对应的待校验数据。
优选的,所述从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验,包括:
确定所述待校验数据对应的数据字段类型;
将所述待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配;
若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过;
若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型不一致,则确定对所述待校验数据的校验未通过。
优选的,还包括:
若校验未通过,生成校验失败信息;所述校验失败信息用于对校验未通过所作出的提示。
优选的,在所述若所述待校验数据对应的数据字段类型与所述数据校验设计器中的所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过之后,还包括:
对所述待校验数据的请求对象进行封装操作。
本申请第二方面公开了一种数据校验装置,所述装置包括:
确定单元,用于当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据;所述待校验数据由所述业务数据请求的请求路径和数据字段确定;
校验单元,用于从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验;
执行单元,用于若校验通过,则执行所述业务数据请求对应的业务处理操作;所述业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
优选的,所述确定单元,包括:
拦截解析模块,用于当接收到数据请求时,通过预设拦截方式将所述数据请求进行拦截并解析,得到所述数据请求对应的请求路径;
第一匹配模块,用于将所述请求路径与数据校验设计器中的预设路径进行匹配;
获取模块,用于若所述请求路径与所述数据校验设计器中的预设路径一致,获取所述数据校验设计器中所述请求路径所对应的数据字段;
解析模块,用于解析所述数据字段,得到所述业务数据请求对应的待校验数据。
优选的,所述校验单元,包括:
第一确定模块,确定所述待校验数据对应的数据字段类型;
第二匹配模块,用于将所述待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配;
第二确定模块,用于若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过;
第三确定模块,用于若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型不一致,则确定对所述待校验数据的校验未通过。
本申请第三方面公开了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如第一方面任意一项所述的数据校验方法。
本申请第四方面公开了一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面任意一项所述的数据校验方法。
经由上述技术方案可知,本申请公开了一种数据校验方法及装置,当接收到业务数据请求时,确定业务数据请求对应的待校验数据;待校验数据由业务数据请求的请求路径和数据字段确定,通过数据校验设计器中预先配置的动态校验规则对待校验数据进行校验,若校验通过,则执行业务数据请求对应的业务处理操作;业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。基于上述方案,在对业务数据进行校验时,无需对每个业务数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种数据校验系统的架构图;
图2为本申请实施例公开的一种数据校验方法的流程示意图;
图3为本申请实施例公开的当接收到业务数据请求时,确定业务数据请求对应的待校验数据的流程示意图;
图4为本申请实施例公开的从数据校验设计器中获取的动态校验规则对待校验数据进行校验的流程示意图;
图5为本申请实施例公开的一种数据校验装置的结构示意图;
图6为本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,现有的数据校验的工作量大,数据校验代码的重复性高,且数据校验的效率低。
为了解决上述问题,本申请实施例公开了一种数据校验方法及装置,在对单个数据校验时,无需对每个数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。具体实现方式通过下述实施例进行说明。
以下首先介绍本申请的数据校验方法及装置所适用的数据校验系统的架构图,具体数据校验系统的架构图可参考图1所示,该数据校验系统包括数据前端11和后端12,前端11中设置数据校验设计器13,后端12中设置网关过滤器14。
前端11和后端12之间的数据交互的过程如下:
当前端11接收到业务数据请求时,确定业务数据请求对应的待校验数据;待校验数据由业务数据请求的请求路径和数据字段确定。
具体的,当前端11接收到数据请求时,后端12中的网关过滤器14通过预设拦截方式将数据请求进行拦截并解析,得到数据请求对应的请求路径;将请求路径与数据校验设计器中的预设路径进行匹配;若请求路径与数据校验设计器中的预设路径一致,获取数据校验设计器中请求路径所对应的数据字段;解析数据字段,得到业务数据请求对应的待校验数据。
其中,在开发阶段(开发态)时,通过可视化页面编辑校验规则信息,生成前端11的JavaScrip校验规则代码,嵌入到前端11;在运行阶段(运行态)时,前端11通过对请求方法封装待校验数据(javascrip校验数据)。
后端12通过网关过滤器14统一拦截javaScrip校验数据。
其中,预设拦截方式可以是切面拦截方式,也可是其他拦截方式,本申请的预设拦截方式不做具体限定。本申请的预设拦截方式优选切面拦截方式。所有的请求路径获取方式,可以在开发阶段,通过切面拦截方式,把所有的请求路径进行拦截记录。
其中,数据校验设计器13预先配置需要校验的路径、请求数据及请求数据的校验方式。
其中,数据校验设计器13需要配置前端请求的请求路径、请求方式(post,get等前后端数据交互的参数存放方式不同)、请求数据中哪个数据字段需要校验及选择需校验的方式。数据校验设计器13默认内嵌了多种校验规则,包括单字段的校验方式的主要已正则表式方式校验,如身份证、手机号、邮箱、银行卡号、单位名称等多种敏感信息(请求数据中可能存在这些类型的数据,针对不同类型数据进行校验,应该满足响应的数据类型格式要求)进行校验。设计器支持规则配置的增加、修改、删除、查询等功能。
后端12从数据校验设计器13中获取预先配置的动态校验规则对待校验数据进行校验。
具体的,后端12从数据校验设计器13确定待校验数据对应的数据字段类型,将待校验数据对应的数据字段类型与数据校验设计器13中预先配置的动态校验规则所对应的规则类型进行匹配,若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型一致,则确定对待校验数据的校验通过,若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型不一致,则确定对待校验数据的校验未通过。
其中,对待校验数据进行校验的校验方式可以是正则校验,也可以是其他形式的校验,本申请的校验方式不做具体限定。本申请的校验方式优选正则校验。
其中,数据校验设计器13是针对需要进行数据校验的内容,提前配置校验的数据格式要求,在实际请求的过程中,拦截需要校验的数据再跟之前配置的数据格式进行匹配,看是否满足规定的格式要求。
其中,这样就可以通过配置方式动态增加数据校验功能。由于现有的数据校验实现方式一般固化在代码中,哪个字段需要校验,在后台的接口中进行具体代码实现校验,如果业务需求变了,就需要重新改代码,发布并部署程序,从而加大了数据校验的工作量。因此,数据校验设计器13通过配置方式,把需要校验的规则存储在数据库中,运行时动态从数据库中获取校验规则。当配置校验规则需要变更时,只要通过数据校验设计器13配置改变的规则信息,就能实现配置校验规则的改变。
其中,数据校验设计器13实现了规则信息进行编辑、维护、查询、导出前端js脚本等功能。数据校验设计器13配置规则时默认提供常用24种规则,如身份证、手机号、邮箱等规则类型供选择,支持自定义校验规则。
其中,网关过滤器14根据请求路径从缓存中查询待校验数据所对应的校验规则,并将待校验数据所对应的校验规则存储至缓存中,从缓存中获取校验规则进行正则校验。
若校验通过,则后端12执行业务数据请求对应的业务处理操作;业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
在校验通过之后,后端12对待校验数据的请求对象进行封装操作。
其中,对请求对象进行重新封装,防止待校验数据被读取之后无法在此再次读取。重新封装后则可以再次对待校验数据进行读取。
若校验未通过,则后端12生成校验失败信息;校验失败信息用于对校验未通过所作出的提示。
本申请实施例中,在对业务数据进行校验时,无需对每个业务数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。
参考图2所示,为本申请实施例公开的一种数据校验方法的流程示意图,该数据校验方法主要包括如下步骤:
S201:当接收到业务数据请求时,确定业务数据请求对应的待校验数据;待校验数据由业务数据请求的请求路径和数据字段确定。
在S201中,通过数据校验设计器设计的校验规则,生成前端的javascript校验规则代码,通过javascript校验规则代码拦截业务数据请求。
业务数据请求通过预设信息来源得到。
其中,预设信息来源可以是客户端、业务系统等。
业务系统包括核心交易系统、财务系统等。
具体当接收到业务数据请求时,确定业务数据请求对应的待校验数据的过程如A1-A4所示。
A1:当接收到业务数据请求时,通过预设拦截方式将业务数据请求进行拦截并解析,得到业务数据请求对应的请求路径。
其中,通过数据校验设计器配置需拦截的请求路径,及拦截业务数据请求中需校验的数据字段,配置该数据字段需要校验的类型或自定义校验规则。
为了方便理解配置该数据字段需要校验的类型或自定义校验规则,这里举例进行说明:
例如,通过数据校验设计器配置需拦截的请求路径,及数据请求中需校验的数据字段,该数据字段为邮箱类型的字段,则配置该数据字段需要校验的邮箱格式的校验规则。
A2:将请求路径与数据校验设计器中的预设路径进行匹配。
其中,数据校验设计器中的预设路径已预先配置好。数据校验设计器中的预设路径由技术人员根据实际情况进行设置,本申请不做具体限定。
通过网关过滤器对所有数据请求的请求路径、请求方式、请求字段等进行拦截,拦截后,查询数据校验设计器中已配置好的校验规则的信息,该校验规则的信息的数据字段的类型与待校验数据的数据字段的类型一致。
A3:若请求路径与数据校验设计器中的预设路径一致,获取数据校验设计器中请求路径所对应的数据字段。
A4:解析数据字段,得到业务数据请求对应的待校验数据。
其中,根据拦截的数据请求与获取设计器中配置到数据请求中的请求路径对应的需校验的数据字段,解析出数据请求中需要校验的数据,即待校验数据。
通过可视化方式配置校验规则信息(页面配置的方式),首先通过页面配置待校验数据和待校验数据对应的校验规则信息,确定待校验数据的请求路径,请求方式及数据字段,针对待校验数据的数据字段配置需要校验的规则类型,如身份证,手机,邮箱等规则格式要求,将要求的校验规则信息存储到数据库中,启动已配置好的校验规则信息加载至缓存(本地缓存和redis缓存)中,后端从缓存中获取待校验数据对应的校验规则的信息。通过采用本地缓存和redis缓存,提高性能。
通过采用网关过滤器,在微服务盛行的今天,网关作为控制所有微服务之间连接、权限、负载均衡的功能,通过网关过滤器中对参数进行过滤可以最大程度的保证微服务的安全性和解耦。
目前网关过滤器采用网关Gateway,在网关过滤器中处理校验规则可以最大程度的实现与业务代码解耦。同时对xss攻击以及sql注入依旧处于主流的网站攻击手段,加强系统的安全性,对于非法请求需要进行单独的优先处理,防止系统数据的丢失以及系统安全漏洞问题,实现数据安全。
在数据安全方面,通过网关过滤器中校验的特殊字符的正则表达式方式,过滤非法字符及关键梓等信息,将防止结构化查询语言(Structured Query Language,sql)注入,跨站脚本攻击,跨站请求伪造攻击等安全问题。
S202:从数据校验设计器中获取预先配置的动态校验规则对待校验数据进行校验,若校验通过,则执行S203,若校验未通过,则执行S204。
在S202中,数据校验设计器可以导出前端校验需要的前端校验规则,将需要校验的路径,数据、及校验规则等信息导出生成javascript校验规则代码。将该javascript校验规则代码嵌入到前端的请求关口处。每次请求都过该方法时,将请求路径和请求数据解析,与嵌入javascript校验规则代码对待校验数据进行校验,判断是否通过校验。
从数据校验设计器中获取预先配置的动态校验规则对待校验数据进行校验的过程如B1-B4所示。
B1:确定待校验数据对应的数据字段类型。
其中,数据字段类型可以是身份证、手机号、邮箱、银行卡号、单位名称等类型。
B2:将待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配。
为了方便理解将待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配的过程,这里举例进行说明:
例如,待校验数据对应的数据字段类型为身份证类型,从数据校验设计器中获取预先配置的身份证类型的校验规则来进行匹配,若待校验数据的身份证类型的数据字段与校验身份证类型规则一致,则校验通过,若待校验数据的手机类型的数据字段与校验手机号格式规则不一致,则校验未通过,
B3:若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型一致,则确定对待校验数据的校验通过。
为了方便理解若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型一致,则确定待校验数据的校验通过的过程,这里举例进行说明:
例如,待校验数据对应的数据字段类型为身份证类型,从数据校验设计器中获取预先配置的身份证类型的校验规则来进行匹配,若待校验数据对应的身份证类型与校验规则的身份证类型一致,则确定待校验数据的校验通过。
B4:若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型不一致,则确定对待校验数据的校验未通过。
为了方便理解若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型不一致,则确定待校验数据的校验未通过的过程,这里举例进行说明:
例如,待校验数据对应的数据字段类型为邮箱类型,从数据校验设计器中获取预先配置的邮箱类型的校验规则来进行匹配,若待校验数据对应的邮箱类型与校验规则的邮箱类型不一致,则确定待校验数据的校验未通过。
其中,若校验未通过,则向调用端返回生成校验失败信息,并在后端提示具体的错误内容,如错误的请求路径、错误的请求方法、错误的参数类型、错误的参数名、错误的参数值、错误的参数校验用的正则表达式等。
校验失败信息可以是400错误码的失败信息,也可以是其他形式的失败信息,具体校验失败信息的格式本申请不做具体限定。
为了方便理解从数据校验设计器中获取动态校验规则对待校验数据进行校验的过程,这里举例进行说明:
例如,在网站上经常会填写一些信息,如手机号,如果填写的格式少一位或不是手机号格式,页面或保存时会提示“手机号填写不符合要求”。这就是数据校验场景。
在该数据校验场景中,通过数据检验设计器提交设计校验规则(校验手机号格式规则),待校验数据的数据字段的类型为手机类型时,当待校验数据的手机类型的数据字段需要校验时,从数据检验设计器中获取校验手机号格式规则进行比对,若待校验数据的手机类型的数据字段与校验手机号格式规则一致,则校验通过,若待校验数据的手机类型的数据字段与校验手机号格式规则不一致,则校验未通过,否则页面给出异常提示信息,让修改填写信息,来整体解决输入数据的安全性。
S203:执行业务数据请求对应的业务处理操作;业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
在S203中,业务处理操作为通过业务系统进行修改操作、删除操作、保存操作等。
业务系统包括银行业务系统、信贷系统、核心交易系统、财务系统、报表加工系统等。
S204:生成校验失败信息;校验失败信息用于对校验未通过所作出的提示。
鉴于本申请在数据校验的通用性,可以将本申请作为应用装置或者平台软件中的基础工具,以组件的形式提供给各业务装置使用,满足业务装置异常问题分析,以提高软件的复用性,降低各业务装置的开发成本。
本申请实施例中,在对业务数据进行校验时,无需对每个业务数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。
可选的,在若待校验数据对应的数据字段类型与数据校验设计器中的动态校验规则所对应的规则类型一致,则确定对待校验数据的校验通过之后,对待校验数据的请求对象进行封装操作。
其中,对请求对象进行重新封装,防止待校验数据被读取之后无法在此再次读取,重新封装后则可以再次对待校验数据进行读取。
本申请实施例中,对请求对象进行重新封装,防止待校验数据被读取之后无法在此再次读取,实现重新封装后则可以再次对待校验数据进行读取的目的。
参考图3所示,为上述S201中涉及到的当接收到业务数据请求时,确定业务数据请求对应的待校验数据的过程,主要包括如下步骤:
S301:当接收到业务数据请求时,通过预设拦截方式将业务数据请求进行拦截并解析,得到数据请求对应的请求路径。
S302:将请求路径与数据校验设计器中的预设路径进行匹配,若请求路径与数据校验设计器中的预设路径一致,则执行S303,若请求路径与数据校验设计器中的预设路径不一致,则执行S305。
S303:获取数据校验设计器中请求路径所对应的数据字段。
S304:解析数据字段,得到业务数据请求对应的待校验数据。
S305:结束匹配操作。
S301-S305的执行过程与执行原理与上述S201的执行过程和执行原理一致,可参考,此处不再进行赘述。
本申请实施例中,当接收到业务数据请求时,得到数据请求对应的请求路径,获取数据校验设计器中请求路径所对应的数据字段,解析数据字段,实现得到业务数据请求对应的待校验数据的目的。
参考图4所示,为上述S202中涉及到的从数据校验设计器中获取预先配置的动态校验规则对待校验数据进行校验的过程,主要包括如下步骤:
S401:确定待校验数据对应的数据字段类型。
S402:将待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配,若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型一致,则执行S403,若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型不一致,则执行S404。
S403:确定对待校验数据的校验通过。
S404:确定对待校验数据的校验未通过。
S401-S404的执行过程和执行原理与上述S202中的执行过程和执行原理一致,可参考,此处不再进行赘述。
本申请实施例中,从数据校验设计器中获取预先配置的动态校验规则,实现通过动态校验规则对待校验数据进行校验的目的。
基于上述实施例图2公开的一种数据校验方法,本申请实施例还对应公开了一种数据校验装置,如图5所示,该数据校验装置主要包括确定单元501、校验单元502和执行单元503。
确定单元501,用于当接收到业务数据请求时,确定业务数据请求对应的待校验数据;待校验数据由所述业务数据请求的请求路径和数据字段确定。
校验单元502,用于从数据校验设计器中获取预先配置的动态校验规则对待校验数据进行校验。
执行单元503,用于若校验通过,则执行业务数据请求对应的业务处理操作;业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
进一步的,确定单元501,包括拦截解析模块、第一匹配模块、获取模块和解析模块。
拦截解析模块,用于当接收到业务数据请求时,通过预设拦截方式将业务数据请求进行拦截并解析,得到业务数据请求对应的请求路径。
第一匹配模块,用于将请求路径与数据校验设计器中的预设路径进行匹配。
获取模块,用于若请求路径与数据校验设计器中的预设路径一致,获取数据校验设计器中请求路径所对应的数据字段。
解析模块,用于解析数据字段,得到业务数据请求对应的待校验数据。
进一步的,校验单元502,包括第一确定模块、第二匹配模块、第二确定模块和第三确定模块。
第一确定模块,确定待校验数据对应的数据字段类型。
第二匹配模块,用于将待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配。
第二确定模块,用于若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型一致,则确定对待校验数据的校验通过。
第三确定模块,用于若待校验数据对应的数据字段类型与动态校验规则所对应的规则类型不一致,则确定对待校验数据的校验未通过。
进一步的,数据校验模块还包括生成单元。
生成单元,用于若校验未通过,生成校验失败信息;校验失败信息用于对校验未通过所作出的提示。
进一步的,数据校验模块还包括封装单元。
封装单元,用于对待校验数据的请求对象进行封装操作。
本申请实施例中,在对业务数据进行校验时,无需对每个业务数据的字段进行校验,只需通过由业务数据请求的请求路径和数据字段确定的待校验数据进行校验,降低数据校验的工作量。通过动态校验规则对于不同字段,类型相同的数据进行一次校验,降低数据校验代码重复性。此外,在复杂的业务系统中对字段进行定位时,无需对数据校验的开发代码进行修改,只需配置待校验数据对应的动态校验规则来进行数据校验,提高数据校验的效率。
本申请实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述数据校验方法。
本申请实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602执行上述数据校验方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据校验方法,其特征在于,所述方法包括:
当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据;所述待校验数据由所述业务数据请求的请求路径和数据字段确定;
从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验;
若校验通过,则执行所述业务数据请求对应的业务处理操作;所述业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据,包括:
当接收到业务数据请求时,通过预设拦截方式将所述业务数据请求进行拦截并解析,得到所述业务数据请求对应的请求路径;
将所述请求路径与数据校验设计器中的预设路径进行匹配;
若所述请求路径与所述数据校验设计器中的预设路径一致,获取所述数据校验设计器中所述请求路径所对应的数据字段;
解析所述数据字段,得到所述业务数据请求对应的待校验数据。
3.根据权利要求1所述的方法,其特征在于,所述从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验,包括:
确定所述待校验数据对应的数据字段类型;
将所述待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配;
若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过;
若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型不一致,则确定对所述待校验数据的校验未通过。
4.根据权利要求3所述的方法,其特征在于,还包括:
若校验未通过,生成校验失败信息;所述校验失败信息用于对校验未通过所作出的提示。
5.根据权利要求3所述的方法,其特征在于,在所述若所述待校验数据对应的数据字段类型与所述数据校验设计器中的所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过之后,还包括:
对所述待校验数据的请求对象进行封装操作。
6.一种数据校验装置,其特征在于,所述装置包括:
确定单元,用于当接收到业务数据请求时,确定所述业务数据请求对应的待校验数据;所述待校验数据由所述业务数据请求的请求路径和数据字段确定;
校验单元,用于从数据校验设计器中获取预先配置的动态校验规则对所述待校验数据进行校验;
执行单元,用于若校验通过,则执行所述业务数据请求对应的业务处理操作;所述业务处理操作至少包括修改操作、删除操作、保存操作中的一种或多种。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,包括:
拦截解析模块,用于当接收到数据请求时,通过预设拦截方式将所述数据请求进行拦截并解析,得到所述数据请求对应的请求路径;
第一匹配模块,用于将所述请求路径与数据校验设计器中的预设路径进行匹配;
获取模块,用于若所述请求路径与所述数据校验设计器中的预设路径一致,获取所述数据校验设计器中所述请求路径所对应的数据字段;
解析模块,用于解析所述数据字段,得到所述业务数据请求对应的待校验数据。
8.根据权利要求6所述的装置,其特征在于,所述校验单元,包括:
第一确定模块,确定所述待校验数据对应的数据字段类型;
第二匹配模块,用于将所述待校验数据对应的数据字段类型与数据校验设计器中预先配置的动态校验规则所对应的规则类型进行匹配;
第二确定模块,用于若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型一致,则确定对所述待校验数据的校验通过;
第三确定模块,用于若所述待校验数据对应的数据字段类型与所述动态校验规则所对应的规则类型不一致,则确定对所述待校验数据的校验未通过。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1至5任意一项所述的数据校验方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1至5任意一项所述的数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525790.1A CN114139220A (zh) | 2021-12-14 | 2021-12-14 | 一种数据校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111525790.1A CN114139220A (zh) | 2021-12-14 | 2021-12-14 | 一种数据校验方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114139220A true CN114139220A (zh) | 2022-03-04 |
Family
ID=80382153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111525790.1A Pending CN114139220A (zh) | 2021-12-14 | 2021-12-14 | 一种数据校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114139220A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955342A (zh) * | 2023-09-20 | 2023-10-27 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
WO2024012195A1 (zh) * | 2022-07-14 | 2024-01-18 | 苏宁易购集团股份有限公司 | 统一校验方法、装置、设备和存储介质 |
-
2021
- 2021-12-14 CN CN202111525790.1A patent/CN114139220A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024012195A1 (zh) * | 2022-07-14 | 2024-01-18 | 苏宁易购集团股份有限公司 | 统一校验方法、装置、设备和存储介质 |
CN116955342A (zh) * | 2023-09-20 | 2023-10-27 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
CN116955342B (zh) * | 2023-09-20 | 2023-12-15 | 彩讯科技股份有限公司 | 业务数据一致率校验方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114139220A (zh) | 一种数据校验方法及装置 | |
US10636084B2 (en) | Methods and systems for implementing on-line financial institution services via a single platform | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN109344605B (zh) | 一种智能pos机的权限控制方法及其控制系统 | |
CN110633160A (zh) | 接口调用方法、装置、计算机设备和存储介质 | |
CN112306879A (zh) | 接口参数校验方法、装置、设备及存储介质 | |
CN110083338B (zh) | 基于智能网关的服务系统 | |
US10148440B2 (en) | Binary code authentication | |
CN111526143B (zh) | 一种crm系统防越权的实现方法及其装置和存储介质 | |
CN105099983A (zh) | 授权方法、权限设置方法及装置 | |
CN111708632A (zh) | 一种云资源管理方法及装置 | |
CN115934202A (zh) | 一种数据管理方法、系统、数据服务网关及存储介质 | |
US20150347777A1 (en) | A database access system and method for a multi-tier computer architecture | |
CN114095177B (zh) | 信息安全处理的方法及装置、电子设备、存储介质 | |
CN114282221B (zh) | 注入类漏洞检测方法、系统、终端及存储介质 | |
US8806589B2 (en) | Credential collection in an authentication server employing diverse authentication schemes | |
CN112788017B (zh) | 一种安全校验方法、装置、设备及介质 | |
CN112422643B (zh) | 一种第三方接口保护的请求转发方法和装置 | |
CN111953746B (zh) | 一种Web路由保护方法、系统、终端及存储介质 | |
CN115865436B (zh) | 多应用多页面权限管理方法、装置及计算机设备 | |
CN108897550B (zh) | 通过封装浏览器实现程序部署、访问、升级的系统及方法 | |
CN112968866B (zh) | 用户账号信息与用户身份信息的绑定方法、装置及系统 | |
EP1810133A2 (en) | Methods and systems for implementing on-line financial institution services via a single platform | |
CN117176454A (zh) | 一种api请求垂直越权的控制方法、设备及介质 | |
CN117540365A (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 |