CN111914537A - 一种数据校验方法、装置、设备及可读存储介质 - Google Patents
一种数据校验方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111914537A CN111914537A CN202010805466.4A CN202010805466A CN111914537A CN 111914537 A CN111914537 A CN 111914537A CN 202010805466 A CN202010805466 A CN 202010805466A CN 111914537 A CN111914537 A CN 111914537A
- Authority
- CN
- China
- Prior art keywords
- verification
- data
- entity class
- attribute
- entity
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000013524 data verification Methods 0.000 title claims abstract description 62
- 238000012795 verification Methods 0.000 claims abstract description 110
- 238000007726 management method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据校验方法、装置、设备及可读存储介质,该方法包括:获取目标数据库的数据库连接信息;利用数据库连接信息,实时获取目标数据库的表单属性;生成表单属性对应的实体类,以及实体类的实体类校验代码;利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。可见,在本方法中,在无需开发人员撰写或改写校验代码的情况下,通过根据表单属性自动生成实体类和实体类校验代码,并基于实体类校验代码对待校验数据进行校验,能够降低开发人员工作量。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据校验方法、装置、设备及可读存储介质。
背景技术
很多程序开发都需要进行表单校验,避免直接对存储介质的操作带来数据安全影响。很多接口和请求都需要进行参数校验,开发者都需要写对应的代码进行参数校验,给开发者带来很多负担。随着时间推移,接口变多,代码变多,若表单属性(参数)发生了变化,那么开发者也要对所有相关校验的接口和方法都进行修改,这样很费时费力。现有的解决方案有:
方案1:根据表单对象接收与表单页面对应的表单数据,所述表单数据包括用户的各项属性信息;根据所述表单数据的各项属性信息获取对应的校验规则;根据所述对应的校验规则对所述表单数据进行校验。该方案统一对同一字段多种规则的处理流程,对于多步骤和同一字段基于不同的校验规则进行校验,针对同一字段避免因为不同的校验规则而建立多个表单,避免使后端代码冗余量大不好维护。
方案2:根据用户的配置信息,生成规则文件,其中,所述规则文件包括可配置的校验规则组和校验规则项;建立财务表单界面与所述规则文件的对应关系;根据所述对应关系,确定校验规则组和校验规则项;依据所述校验规则项对财务表单对应的表单值进行校验,获得校验结果。该方案由于校验规则是可配置的,解决了现有技术中将固定的校验规则写入到程序代码中不灵活的问题,去除了程序的业务相关性,减少了程序代码的修改,提高了开发效率。
虽然以上2种方案都能进行校验,但是最终还是需要人工不断的去写校验代码,只要原有的逻辑变更,所有相关校验代码都需要修改,开发人员工作量较大。
综上所述,如何有效地解决数据校验等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种数据校验方法、装置、设备及可读存储介质,在无需开发人员撰写或改写校验代码的情况下,通过根据表单属性自动生成实体类和实体类校验代码,并基于实体类校验代码对待校验数据进行校验,能够降低开发人员工作量。
为解决上述技术问题,本发明提供如下技术方案:
一种数据校验方法,包括:
获取目标数据库的数据库连接信息;
利用所述数据库连接信息,实时获取所述目标数据库的表单属性;
生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码;
利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果。
优选地,所述利用所述数据库连接信息,实时获取所述目标数据库的表单属性,包括:
利用所述数据库连接信息与所述目标数据库建立通信连接;
利用所述通信连接,实时查询所述目标数据库中所有表名称;
根据所述表名称获取对应表数据的所述表单属性;所述表单属性包括属性名称、属性类型、属性约束和属性长度中的至少一种属性。
优选地,所述生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码,包括:
利用所述表单属性构建列表;
根据所述表名称生成实体名;
根据所述列表的字段类型生成实体属性类型;
根据所述属性约束生成约束校验代码;
根据字段长度生成校验长度代码;
将与同一个所述实体属性对应的所述约束校验代码和所述校验长度代码作为所述实体属性的实体类校验代码。
优选地,利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果,包括:
依次调用所述约束校验代码和所述校验长度代码对所述待校验数据进行校验,得到所述校验结果。
优选地,所述利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果,包括:
接收应用系统中表单校验接口的数据校验请求;所述目标数据库为所述应用系统的数据库;
利用所述数据校验请求中的参数创建并组装校验实体类;
利用所述校验实体类的唯一标识对应所述实体类校验代码,对所述待校验数据进行校验,得到所述校验结果。
一种数据校验装置,包括:
应用系统、数据库管理系统和数据表单校验系统;
其中,所述应用系统为需进行数据校验的系统,该系统包括目标数据库;
所述数据库管理系统,用于获取所述目标数据库的数据库连接信息;利用所述数据库连接信息,实时获取所述目标数据库的表单属性;生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码;
所述数据表单校验系统,用于利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果。
优选地,所述应用系统具体用于:
将所述实体类以及所述实体类校验代码对应的实体依赖包进行依赖并运行;
接收数据接口的数据请求,并判断所述数据请求是否需要进行表单校验;
如果是,则利用所述数据接口的参数创建并组装校验实体类;
将所述校验实体类发送给所述数据表单校验系统。
一种数据校验设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述数据校验方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据校验方法的步骤。
应用本发明实施例所提供的方法,获取目标数据库的数据库连接信息;利用数据库连接信息,实时获取目标数据库的表单属性;生成表单属性对应的实体类,以及实体类的实体类校验代码;利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。
在本方法中,基于数据库连接信息可获取目标数据库的表单属性。生成与该表单属性的对应的实体类以及实体类的实体类校验代码。如此,便可利用实体类校验代码对实体类对应的待校验数据进行校验,得到校验结果。另外,由于在本申请中用于生成实体类校验代码的表单数据是实时获取的,因此,即便在表单属性发生变化的情况下,也无需开发人员修改校验逻辑,也能进行有效地数据校验。可见,在本方法中,在无需开发人员撰写或改写校验代码的情况下,通过根据表单属性自动生成实体类和实体类校验代码,并基于实体类校验代码对待校验数据进行校验,能够降低开发人员工作量。
相应地,本发明实施例还提供了与上述数据校验方法相对应的数据校验装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据校验方法的实施流程图;
图2为本发明实施例中实体类校验代码示意图;
图3为本发明实施例中一种数据校验装置的结构示意图;
图4为本发明实施例中一种校验数据处理时序图;
图5为本发明实施例中一种数据校验设备的结构示意图;
图6为本发明实施例中一种数据校验设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种数据校验方法的流程图,该方法包括以下步骤:
S101、获取目标数据库的数据库连接信息。
其中,目标数据库即为续进行数据校验的数据库。该目标数据库可以具体属于待进行数据校验的某个应用系统(如图书馆管理系统,公交系统)的数据库。
数据库连接信息可具体包括ip,端口,数据库名称(db),用户名,密码等用于与目标数据库建立连接的信息。
具体来说,可以通过输入设备获取数据库连接信息,也可通过从存储中读取的方式获取数据库连接信息。
S102、利用数据库连接信息,实时获取目标数据库的表单属性。
得到数据库连接信息之后,便可基于该数据库连接信息与目标数据库建立通信连接,进而获得目标数据库的表单属性。其中,表单属性可以具体为存储介质表(如mysql数据库中表的属性信息)或索引信息(如搜索引擎的数据表单属性信息)。
具体的,获取表单属性的过程,包括:
步骤一、利用数据库连接信息与目标数据库建立通信连接;
步骤二、利用通信连接,实时查询目标数据库中所有表名称;
步骤三、根据表名称获取对应表数据的表单属性;表单属性包括属性名称、属性类型、属性约束和属性长度中的至少一种属性。
为便于描述,下面将上述三个步骤结合起来进行说明。
基于ip,端口,数据库名称(db),用户名和密码可以与目标数据库建立通信理解,即登录到目标数据库中。然后可通过实时查询的方式得到目标数据库中所有表的名称。然后,基于表名称获取对应表数据的表单属性。
举例说明:可通过查询命令:select table_name from information_schema.tables where table_schema='数据库名db',查询该目标数据库中所有表名称;然后,可根据每个表名称获取该表数据所有属性名称,属性类型,属性约束和属性长度。具体的,查询表的列名column_name,描述,column_comment,数据类型data_type,长度column_type命令:select column_name,column_comment,data_type,column_type frominformation_schema.columns where table_name='表名table'。
S103、生成表单属性对应的实体类,以及实体类的实体类校验代码。
得到表单属性之后,便可生成表单属性对应的实体类。在本实施例中,实体类和数据库中的表是一一对应的,但这并不是一个限制,在复杂的数据库设计中,有可能出现一个实体类对应多个表,或者交叉对应的情况。另外,实体类中的属性和表中的字段也是对应的。
生成实体类的同时,也生成实体类的实体类校验代码。具体的,实体类和校验代码生成过程,包括:
步骤一、利用表单属性构建列表;
步骤二、根据表名称生成实体名;
步骤三、根据列表的字段类型生成实体属性类型;
步骤四、根据类别的字段名生成实体属性名,并生成每一种实体属性对应的get方法和set方法;
步骤五、根据属性约束生成约束校验代码;
步骤六、根据字段长度生成校验长度代码;
步骤七、将与同一个实体属性对应的get方法、set方法、约束校验代码和校验长度代码作为实体属性的实体类校验代码。
为便于描述下面将上述七个步骤结合起来进行说明。
具体的,将表单属性形成列表,并生成该类的唯一标识,便于校验代码查找。可以利用JDK反射机制,根据表名生成实体名,根据字段类型生成属性类型,根据字段名生产实体属性名同时生成该属性的get方法与set方法,根据字段约束生成约束校验代码方法(checkSubjected)和根据字段长度生成校验长度代码方法(checkLength)。那么意味着每个属性都有自己的set、get、checkSubjected和checkLength四个方法。
其中,JDK反射机制,指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法。这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制。
请参考表1,比如mysql数据类型与java数据类型对应关系,当数据类型是CHAR时,生成类的属性类型将是java.lang.String。
类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型索引(int) |
VARchar | L+N | VARchar | java.lang.String | 12 |
char | N | char | java.lang.String | 1 |
BLOB | L+N | BLOB | java.lang.byte[] | -4 |
TEXT | 65535 | VARchar | java.lang.String | -1 |
INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 |
TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 |
SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 |
MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 |
BIT | 1 | BIT | java.lang.Boolean | -7 |
表1
为便于理解,下面以在以在数据库mysql新创建一个表为例对具体如何生成实体类和实体类校验代码进行详细说明。需要说明的是,当然也可基于搜索引擎数据表单数据生成相应的实体类和实体类校验代码,以便对搜索引擎数据表单数据进行校验。
可创建数据库db:create database db;
创建表及其属性约束长度,描述,例如,建立一个名为student的学生表,表结构信息如表2所示:
表2
生成的实体类名:Student,并生成实体的属性字段id,name,sex,degree以及类的唯一标识(uniqId),同时生成set,get,checkSubjected,checkLength方法如图2所示。
结合上文以及图2可知,对应关系如下:
数据库表名student->生成实体Student;
数据库字段名name->生成属性name;
数据库字段类型varchar->生成实体属性类型String(varchar按照图2对应);
数据库约束NOT NULL->生成checkSubjected约束校验代码方法,当验证不通过,生成返回异常信,信息规则为数据库字段描述字段+不为空。
数据库字段长度字段->生成checkLength校验长度方法,当验证不通过,生成返回有异常信息,信息规则为数据字段描述+长度不能超过多少字符(或者提示最大值与最小值)。
S104、利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。
当生成了实体类和实体类校验代码之后,便可基于实体类校验代码对实体类对应的待校验数据进行校验,得到包括校验是否通过,未通过字段、未通过原因的校验结果。
具体的,对待检验数据进行校验可具体包括:依次调用约束校验代码和校验长度代码对待校验数据进行校验,得到校验结果。也就是说,校验过程中,可依次调用约束校验代码和校验长度代码对待校验数据进行校验。
在本发明的一种具体实现方式中,对待校验数据进行校验的具体过程包括:
步骤一、接收应用系统中表单校验接口的数据校验请求;目标数据库为应用系统的数据库;
步骤二、利用数据校验请求中的参数创建并组装校验实体类;
步骤三、利用校验实体类的唯一标识对应实体类校验代码,对待校验数据进行校验,得到校验结果。
为便于描述,下面将上述三个步骤结合起来进行说明。
其中,应用系统即需要进行数据校验的系统。其中,表单校验接口即需要进行数据校验的接口。数据校验请求可具体为POST(其参数是在request body(请求体)中的,以键值对的形式传递参数),PUT(数据存储请求),DELETE(删除)请求。即若表单校验接口产生的是GET(数据访问)请求可过滤掉。
利用数据校验请求中携带的参数创建并组装校验实体类。然后,可根据校验实体类的uniqId从诸如redis的存储系统中,获取对应的实体类校验方法进行校验。若校验成功返回成功信息,失败返回校验失败原因。对于应用系统而言在得到校验结果后,若校验成功,则可进行下一步业务处理;若校验失败,则返回错误信息给接口或者请求者。
应用本发明实施例所提供的方法,获取目标数据库的数据库连接信息;利用数据库连接信息,实时获取目标数据库的表单属性;生成表单属性对应的实体类,以及实体类的实体类校验代码;利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。
在本方法中,基于数据库连接信息可获取目标数据库的表单属性。生成与该表单属性的对应的实体类以及实体类的实体类校验代码。如此,便可利用实体类校验代码对实体类对应的待校验数据进行校验,得到校验结果。另外,由于在本申请中用于生成实体类校验代码的表单数据是实时获取的,因此,即便在表单属性发生变化的情况下,也无需开发人员修改校验逻辑,也能进行有效地数据校验。可见,在本方法中,在无需开发人员撰写或改写校验代码的情况下,通过根据表单属性自动生成实体类和实体类校验代码,并基于实体类校验代码对待校验数据进行校验,能够降低开发人员工作量。
相应于上面的方法实施例,本发明实施例还提供了一种数据校验装置,下文描述的数据校验装置与上文描述的数据校验方法可相互对应参照。
参见图3所示,该装置包括以下模块:
应用系统、数据库管理系统和数据表单校验系统;
其中,应用系统为需进行数据校验的系统,该系统包括目标数据库;
数据库管理系统,用于获取目标数据库的数据库连接信息;利用数据库连接信息,实时获取目标数据库的表单属性;生成表单属性对应的实体类,以及实体类的实体类校验代码;
数据表单校验系统,用于利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。
应用本发明实施例所提供的装置,获取目标数据库的数据库连接信息;利用数据库连接信息,实时获取目标数据库的表单属性;生成表单属性对应的实体类,以及实体类的实体类校验代码;利用实体类校验代码,对实体类对应的待校验数据进行校验,得到校验结果。
在本装置中,基于数据库连接信息可获取目标数据库的表单属性。生成与该表单属性的对应的实体类以及实体类的实体类校验代码。如此,便可利用实体类校验代码对实体类对应的待校验数据进行校验,得到校验结果。另外,由于在本申请中用于生成实体类校验代码的表单数据是实时获取的,因此,即便在表单属性发生变化的情况下,也无需开发人员修改校验逻辑,也能进行有效地数据校验。可见,在本装置中,在无需开发人员撰写或改写校验代码的情况下,通过根据表单属性自动生成实体类和实体类校验代码,并基于实体类校验代码对待校验数据进行校验,能够降低开发人员工作量。
在本发明的一种具体实施方式中,数据库管理系统,具体用于利用数据库连接信息与目标数据库建立通信连接;利用通信连接,实时查询目标数据库中所有表名称;根据表名称获取对应表数据的表单属性;表单属性包括属性名称、属性类型、属性约束和属性长度中的至少一种属性。
在本发明的一种具体实施方式中,数据库管理系统,具体用于利用表单属性构建列表;根据表名称生成实体名;根据列表的字段类型生成实体属性类型;根据属性约束生成约束校验代码;根据字段长度生成校验长度代码;将与同一个实体属性对应的约束校验代码和校验长度代码作为实体属性的实体类校验代码。
在本发明的一种具体实施方式中,数据表单校验系统,具体用于依次调用约束校验代码和校验长度代码对待校验数据进行校验,得到校验结果。
在本发明的一种具体实施方式中,数据表单校验系统,具体用于接收应用系统中表单校验接口的数据校验请求;目标数据库为应用系统的数据库;利用数据校验请求中的参数创建并组装校验实体类;利用校验实体类的唯一标识对应实体类校验代码,对待校验数据进行校验,得到校验结果。
需要说明的是,上述方法实施例所描述的技术方案可在该装置的实现,具体的实现过程请参考图4。具体的数据校验过程,包括:
第一步:当有需要数据校验的数据库时,需提供该数据库连接信息给该数据库管理系统,包括数据库连接IP,端口port,数据库名称db,账户root,密码password。若该数据库时首次进行校验,则会存储该数据库上述信息于该数据库管理系统中,便于下次生成并更新校验代码,并立即触发生成实体类和实体类校验方法。
第二步:若不是首次进行校验,数据库管理系统会实时轮训所有数据库表tables获取表单数据的变更信息,若有变更将触发实体类生成机制和校验代码生成机制。
第三步:将生成的实体类和校验代码的model(依赖包)发送给表单校验系统和应用系统实时跟新实体信息和校验信息,便于使用最新实体校验。
第四步:当数据校验系统接收到实体类和校验信息uniqId时,存储于redis,当应用系统接收到实体类时,将该依赖实体实时依赖进来。
第五步:当应用系统接收到数据请求,首先判断是否要进行数据校验,若不校验,忽略,若校验会根据校接口参数信息创建并组装校验实体类。
第六步:应用系统将生成的校验实体类,发送给数据校验系统,发起表单校验请求。
第七步:当数据校验系统,接收到表单校验请求时,根据实体校验uniqId从redis获取校验方法信息进行校验。若校验成功返回成功信息,失败返回校验失败原因。
第八步:应用系统,拿到校验结果,成功进行下一步业务处理,失败返回错误信息给接口或者请求者。
相应于上面的方法实施例,本发明实施例还提供了一种数据校验设备,下文描述的一种数据校验设备与上文描述的一种数据校验方法可相互对应参照。
参见图5所示,该数据校验设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的数据校验方法的步骤。
具体的,请参考图5,图5为本实施例提供的一种数据校验设备的具体结构示意图,该数据校验设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在数据校验设备301上执行存储器332中的一系列指令操作。
数据校验设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的数据校验方法中的步骤可以由数据校验设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种数据校验方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的数据校验方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (9)
1.一种数据校验方法,其特征在于,包括:
获取目标数据库的数据库连接信息;
利用所述数据库连接信息,实时获取所述目标数据库的表单属性;
生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码;
利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果。
2.根据权利要求1所述的数据校验方法,其特征在于,所述利用所述数据库连接信息,实时获取所述目标数据库的表单属性,包括:
利用所述数据库连接信息与所述目标数据库建立通信连接;
利用所述通信连接,实时查询所述目标数据库中所有表名称;
根据所述表名称获取对应表数据的所述表单属性;所述表单属性包括属性名称、属性类型、属性约束和属性长度中的至少一种属性。
3.根据权利要求2所述的数据校验方法,其特征在于,所述生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码,包括:
利用所述表单属性构建列表;
根据所述表名称生成实体名;
根据所述列表的字段类型生成实体属性类型;
根据所述属性约束生成约束校验代码;
根据字段长度生成校验长度代码;
将与同一个所述实体属性对应的所述约束校验代码和所述校验长度代码作为所述实体属性的实体类校验代码。
4.根据权利要求3所述的数据校验方法,其特征在于,利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果,包括:
依次调用所述约束校验代码和所述校验长度代码对所述待校验数据进行校验,得到所述校验结果。
5.根据权利要求1所述的数据校验方法,其特征在于,所述利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果,包括:
接收应用系统中表单校验接口的数据校验请求;所述目标数据库为所述应用系统的数据库;
利用所述数据校验请求中的参数创建并组装校验实体类;
利用所述校验实体类的唯一标识对应所述实体类校验代码,对所述待校验数据进行校验,得到所述校验结果。
6.一种数据校验装置,其特征在于,包括:
应用系统、数据库管理系统和数据表单校验系统;
其中,所述应用系统为需进行数据校验的系统,该系统包括目标数据库;
所述数据库管理系统,用于获取所述目标数据库的数据库连接信息;利用所述数据库连接信息,实时获取所述目标数据库的表单属性;生成所述表单属性对应的实体类,以及所述实体类的实体类校验代码;
所述数据表单校验系统,用于利用所述实体类校验代码,对所述实体类对应的待校验数据进行校验,得到校验结果。
7.根据权利要求6所述的数据校验装置,其特征在于,所述应用系统具体用于:
将所述实体类以及所述实体类校验代码对应的实体依赖包进行依赖并运行;
接收数据接口的数据请求,并判断所述数据请求是否需要进行表单校验;
如果是,则利用所述数据接口的参数创建并组装校验实体类;
将所述校验实体类发送给所述数据表单校验系统。
8.一种数据校验设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述数据校验方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805466.4A CN111914537A (zh) | 2020-08-12 | 2020-08-12 | 一种数据校验方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010805466.4A CN111914537A (zh) | 2020-08-12 | 2020-08-12 | 一种数据校验方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914537A true CN111914537A (zh) | 2020-11-10 |
Family
ID=73284227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010805466.4A Withdrawn CN111914537A (zh) | 2020-08-12 | 2020-08-12 | 一种数据校验方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914537A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112767171A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 理财产品属性校验方法及装置 |
CN113792048A (zh) * | 2021-09-06 | 2021-12-14 | 杭州安恒信息安全技术有限公司 | 非关系型数据库的表单校验规则生成方法和系统 |
CN115756425A (zh) * | 2022-11-28 | 2023-03-07 | 中国人民财产保险股份有限公司 | 一种中台代码自动生成方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193620A (zh) * | 2017-04-25 | 2017-09-22 | 深圳市景阳科技股份有限公司 | 字段校验的方法及装置 |
CN109753639A (zh) * | 2018-12-29 | 2019-05-14 | 东软集团股份有限公司 | 前后台统一校验方法,装置,存储介质及电子设备 |
CN111026777A (zh) * | 2019-12-13 | 2020-04-17 | 中国南方电网有限责任公司 | 实体类代码生成方法、装置、计算机设备及存储介质 |
CN111078761A (zh) * | 2019-12-27 | 2020-04-28 | 天津幸福生命科技有限公司 | 数据探查方法、装置、设备及存储介质 |
-
2020
- 2020-08-12 CN CN202010805466.4A patent/CN111914537A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193620A (zh) * | 2017-04-25 | 2017-09-22 | 深圳市景阳科技股份有限公司 | 字段校验的方法及装置 |
CN109753639A (zh) * | 2018-12-29 | 2019-05-14 | 东软集团股份有限公司 | 前后台统一校验方法,装置,存储介质及电子设备 |
CN111026777A (zh) * | 2019-12-13 | 2020-04-17 | 中国南方电网有限责任公司 | 实体类代码生成方法、装置、计算机设备及存储介质 |
CN111078761A (zh) * | 2019-12-27 | 2020-04-28 | 天津幸福生命科技有限公司 | 数据探查方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112767171A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 理财产品属性校验方法及装置 |
CN112767171B (zh) * | 2021-01-18 | 2024-02-02 | 中国工商银行股份有限公司 | 理财产品属性校验方法及装置 |
CN113792048A (zh) * | 2021-09-06 | 2021-12-14 | 杭州安恒信息安全技术有限公司 | 非关系型数据库的表单校验规则生成方法和系统 |
CN113792048B (zh) * | 2021-09-06 | 2024-04-16 | 杭州安恒信息安全技术有限公司 | 非关系型数据库的表单校验规则生成方法和系统 |
CN115756425A (zh) * | 2022-11-28 | 2023-03-07 | 中国人民财产保险股份有限公司 | 一种中台代码自动生成方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558434B2 (en) | Rule-based automatic class generation from a JSON message | |
CN111914537A (zh) | 一种数据校验方法、装置、设备及可读存储介质 | |
US6182245B1 (en) | Software test case client/server system and method | |
US9075750B2 (en) | Oracle rewind: metadata-driven undo | |
US20180121326A1 (en) | Provision of position data for query runtime errors | |
CA2172221A1 (en) | Method and apparatus for managing relationships among objects in a distributed object environment | |
WO2004053634A2 (en) | Generating java bean code | |
US20090164478A1 (en) | Relations in fuzzing data | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN113220633B (zh) | 统一文件编码管理方法及系统 | |
CN111752846A (zh) | 一种接口测试方法及装置 | |
CN115168341A (zh) | 一种业务处理方法、系统、介质及设备 | |
US20090055331A1 (en) | Method and apparatus for model-based testing of a graphical user interface | |
CN117785975A (zh) | 一种使用规则集校验业务数据的系统 | |
US6571297B1 (en) | Service interface repository application programming models | |
CN117235041A (zh) | 数据库迁移方法、装置、终端设备以及存储介质 | |
CN116957512A (zh) | 支付平台报文管理方法、设备及计算机可读存储介质 | |
CN113626423B (zh) | 业务数据库的日志管理方法、装置、系统 | |
CN113364806B (zh) | 一种服务接口迁移的校验方法及装置 | |
CN117573199B (zh) | 一种模型差异对比分析方法、装置、设备及介质 | |
CN114416106B (zh) | 更新编译计数值的方法、系统、电子设备以及存储介质 | |
US11842189B2 (en) | Infrastructure as code resource definition correction system | |
CN115250231B (zh) | 应用配置方法及装置 | |
CN114547404B (zh) | 一种大数据平台系统 | |
US20240061675A1 (en) | Source code correction system |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201110 |