CN114443678A - 一种数据校验方法、系统及存储介质 - Google Patents
一种数据校验方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114443678A CN114443678A CN202210113886.5A CN202210113886A CN114443678A CN 114443678 A CN114443678 A CN 114443678A CN 202210113886 A CN202210113886 A CN 202210113886A CN 114443678 A CN114443678 A CN 114443678A
- Authority
- CN
- China
- Prior art keywords
- data
- service data
- verification
- rule
- client
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种数据校验方法、系统及存储介质。该方法包括:客户端将接收到的业务办理请求发送给服务端;服务端确定预先配置的与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则发送给客户端,前端校验规则与客户端支持的编程语言匹配;客户端基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端;服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。本发明实施例中的技术方案,在实现前后端同规则校验时,解决了代码冗余的问题,且有效保证了前后端校验规则的一致性。
Description
技术领域
本发明实施例涉及计算机应用技术领域,尤其是涉及一种数据校验方法、系统及存储介质。
背景技术
在银行项目中,为了保证资金安全,客户端和服务端均需基于相同的数据校验规则进行数据校验,目前主要是采用前后端分离框架来实现这一过程。
具体的,在客户端和服务端上均针对同一数据校验规则进行代码部署,以使二者可以分别基于部署在自身上的数据校验规则进行数据校验。
但是,上述方案存在如下两个问题:问题一是需要冗余的分别在客户端和服务端上进行代码部署,研发成本较高;问题二是数据校验规则难以保持一致,当一端进行修改后,另一端也要同步进行手动修改。
发明内容
本发明实施例提供了一种数据校验方法、系统及存储介质,解决了在数据校验过程中存在的研发成本较高和数据校验规则难以保持一致的问题。
第一方面,本发明实施例提供了一种数据校验方法,可以包括:
客户端将接收到的业务办理请求发送给服务端;
服务端确定预先配置的与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则发送给客户端,其中,前端校验规则与客户端支持的编程语言匹配;
客户端基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端;
服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
第二方面,本发明实施例还提供了一种数据校验系统,可以包括:
客户端,用于将接收到的业务办理请求发送给服务端;
服务端,用于确定预先配置的且与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则发送给客户端,前端校验规则与客户端支持的编程语言匹配;
客户端,还用于基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过之后,将目标业务数据发送给服务端;
服务端,还用于基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
第三方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例中所提供的数据校验方法。
本发明实施例的技术方案,服务端通过获取客户端发送的业务办理请求,确定预先配置的与该业务办理请求对应的后端校验规则,并将其转换为与客户端支持的编程语言相匹配前端校验规则,以使客户端可以基于该前端校验规则进行数据校验,然后将前端校验规则发送给客户端;客户端通过接收到的前端校验规则对采集到的目标业务数据进行数据校验,然后在数据校验通过后,将目标业务数据发送给服务端;进而,服务端通过后端校验规则对接收到的目标业务数据进行数据校验,由于前段校验规则和后端校验规则的本质相同,由此实现了前后端同规则校验的效果,然后根据数据校验结果处理目标业务数据。上述技术方案,在实现前后端同规则校验时,只需在服务端部署数据校验规则,由此解决了因为在前后端同时部署数据校验规则而产生冗余代码的问题,而且在无需手动修改代码的情况下,有效保证了前后端校验规则的绝对一致性。
附图说明
图1是本发明实施例一中的一种数据校验方法的流程图;
图2是本发明实施例二中的一种数据校验方法的流程图;
图3是本发明实施例三中的一种数据校验方法的流程图;
图4是本发明实施例四中的一种数据校验方法的时序图;
图5是本发明实施例四中的一种数据校验方法中可选示例的示意图;
图6是本发明实施例五中的一种数据校验系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一中提供的一种数据校验方法的流程图。本实施例可适用于在前后端基于同一数据校验规则进行数据校验的情况,尤其适用于通过部署在后端的数据校验规则来实现前后端均基于该数据校验规则进行数据校验的情况。该方法可以由本发明实施例提供的数据校验系统来执行,该系统可以由软件和/或硬件的方式实现。需要说明的是,在本文中阐述的前端和客户端的含义相同,同理,后端和服务端的含义也相同。
参见图1,本发明实施例的方法具体包括如下步骤:
S110、客户端将接收到的业务办理请求发送给服务端。
其中,业务办理请求可以是由业务办理方触发的用于办理某项业务的请求,如用户在点击业务办理页面上的贷款修改按钮后触发的请求,该业务办理页面可以是通过客户端渲染出的页面。客户端在接收到该业务办理请求后,可以将其发送给服务端,客户端和服务端间通讯连接。
S120、服务端确定预先配置的与接收到的业务办理请求相对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则发送给客户端,其中,前端校验规则与客户端支持的编程语言匹配。
其中,在服务端上可以部署有预先配置完成的后端校验规则,该后端校验规则可以理解为与业务办理请求对应的数据校验规则,即为完成业务办理请求而需要涉及到的数据校验规则。从广义上来说,数据校验规则可以是用于对待校验字段下的待校验数据进行合法性校验的规则,如非空校验规则、长度限制校验规则、正则表达式校验规则等。实际应用中,可选的,后端校验规则可以是基于注解方式配置出的数据校验规则,当然,部署在服务端上的其余的数据校验规则也可以基于注解方式配置得到,如采用JSR303校验标准、基于@NotBlank等方式配置得到。注解方式可以实现数据校验规则与待校验字段间的解耦,以使同一数据校验规则可以应用在至少一个待校验字段上,如以两个为例,非空校验规则可以同时应用在贷款金额字段和贷款周期字段上。
部署在服务端上的后端校验规则可以是与服务端支持的编程语言相匹配的数据校验规则,该服务端支持的编程语言可以是c#、c++、java等。由于服务端支持的编程语言与客户端支持的编程语言并不等同,如客户端支持的编程语言多是vue、jquery等,因此后端校验规则是无法直接被客户端应用的。为了实现后端校验规则能够同时被服务端和客户端应用,可以对后端校验规则进行转换,得到与客户端支持的编程语言匹配的前端校验规则。这样一来,虽然前端校验规则和后端校验规则的表现形式不同,但是二者的本质相同,可以理解为同一数据校验规则。换言之,通过上述转换可实现同一数据校验规则的前后端全栈支持,由此降低了研发成本。服务端将前端校验规则发送给客户端。
S130、客户端基于接收到的前端校验规则对采集得到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端。
其中,目标业务数据可以是客户端为完成业务办理请求而采集得到的业务数据,在实际应用中,可选的,该目标业务数据可以是由业务办理方主动输入的对象业务数据,可以是由客户端直接展示出的不允许业务办理方修改的第一业务数据,也可以是这二者的结合,等;再可选的,客户端可以在接收到前端校验规则后,再进行目标业务数据的采集,或者,二者也可以反过来执行或是同时执行,在此未做具体限定。客户端基于前端校验规则对目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端。实际应用中,可选的,当采集得到至少两个目标业务数据时,可以在全部的目标业务数据均通过数据校验后,将它们一起发送给服务端;也可以在任一目标业务数据通过数据校验后,就将该目标业务数据发送给服务端;等等,在此未做具体限定。
S140、服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
其中,服务端基于后端校验规则对目标业务数据进行数据校验,由于后端校验规则和前端校验规则本质相同,因此S130和S140相互配合,由此实现了前后端同规则校验的效果。进而,根据数据校验结果对目标业务数据进行处理,如在数据校验通过时,保存目标业务数据;再如在数据校验失败时,拒绝保存目标业务数据;等等,在此未做具体限定。
本发明实施例的技术方案,服务端通过获取客户端发送的业务办理请求,确定预先配置的与该业务办理请求对应的后端校验规则,并将其转换为与客户端支持的编程语言相匹配前端校验规则,以使客户端可以基于该前端校验规则进行数据校验,然后将前端校验规则发送给客户端;客户端通过接收到的前端校验规则对采集到的目标业务数据进行数据校验,然后在数据校验通过后,将目标业务数据发送给服务端;进而,服务端通过后端校验规则对接收到的目标业务数据进行数据校验,由于前段校验规则和后端校验规则的本质相同,由此实现了前后端同规则校验的效果,然后根据数据校验结果处理目标业务数据。上述技术方案,在实现前后端同规则校验时,只需在服务端部署数据校验规则,由此解决了因为在前后端同时部署数据校验规则而产生冗余代码的问题,而且在无需手动修改代码的情况下,有效保证了前后端校验规则的绝对一致性。
一种可选的技术方案,服务端确定预先配置的与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,可以包括:服务端从预先配置的各候选校验规则中确定与接收到的业务办理请求对应的后端校验规则,针对每个后端校验规则,对后端校验规则进行解析,将解析后的各后端校验规则进行组装,得到前端校验规则。其中,候选校验规则可以是预先配置在服务端中的数据校验规则,这些候选校验规则中包括为完成本次的业务办理请求而需要的后端校验规则。当后端校验规则的数量是至少两个时,可以对各后端校验规则分别进行解析,以使解析后的各后端校验规则均与客户端可支持的编程语言相匹配;然后,将这些解析后的后端校验规则进行组装,得到前端校验规则,以便将前端校验规则(即这些解析后的后端校验规则)一次性传输给客户端,由此达到了前端校验规则的快速传输的效果。
另一种可选的技术方案,将前端校验规则发送给客户端,可以包括:将前端校验规则的规则格式转换为可被客户端应用的应用格式,基于转换结果更新前端校验规则,并将更新结果发送给客户端;相应的,上述数据校验方法,还可以包括:客户端对接收到的前端校验规则解析,并根据解析结果生效前端校验规则,以使生效后的前端校验规则可被用于进行数据校验;相应的,客户端基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,可以包括:客户端基于生效后的前端校验规则对采集到的目标业务数据进行数据校验。其中,应用格式可以是可被客户端应用的格式,将前端校验规则的规则格式转换为应用格式,以便通过应用格式的方式将前端校验规则传输给客户端。示例性的,假设应用格式是json格式,服务端将前端校验规则转换为json格式,生成json串,然后将该json串返回给客户端,即通过json方式将前端校验规则输出到客户端,由此在客户端上动态生成了前端校验规则的效果。进而,客户端对接收到的前端校验规则进行解析,并根据解析结果生效前端校验规则,生效后的前端校验规则才可以被客户端应用,由此达到了前端校验规则的有效应用的效果。
实施例二
图2是本发明实施例二中提供的一种数据校验方法的流程图。本实施例以上述各技术方案为基础进行优化。在本实施例中,可选的,上述数据校验方法,还可以包括:服务端获取与接收到的业务办理请求对应的历史业务数据,并将历史业务数据发送给客户端;客户端基于接收到的历史业务数据进行页面渲染,并在渲染出的待采集页面上采集目标业务数据。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图2,本实施例的方法具体可以包括如下步骤:
S210、客户端将接收到的业务办理请求发送给服务端。
S220、服务端获取与接收到的业务办理请求对应的历史业务数据、且确定预先配置的与业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将历史业务数据和前端校验规则发送给客户端,其中,前端校验规则与客户端支持的编程语言匹配。
其中,历史业务数据可以是服务端获取的与业务办理请求对应的业务数据,如业务办理请求是贷款申请请求时,历史业务数据可以包括业务办理方的征信数据,这便于让业务办理方进行数据确认;再如业务办理请求是贷款修改请求时,历史业务数据可以包括业务办理方在历史的贷款申请请求中的贷款数据,这便于让业务办理方进行数据修改;等等。将历史业务数据发送给客户端。
S230、客户端基于接收到的历史业务数据进行页面渲染,并在渲染出的待采集页面上采集目标业务数据,基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端。
其中,客户端在接收到业务办理请求后,可以渲染出相应的业务办理页面(即待采集页面),以便在待采集页面上进行目标业务数据的采集,而历史业务数据正是待采集页面渲染的重要依据,因为基于历史业务数据方可以确定在待采集页面上展示出什么样的业务数据。示例性的,可以将历史业务数据展示在待采集页面的相应字段内,如将贷款周期数据展示在贷款周期字段内。
S240、服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
本发明实施例的技术方案,服务端通过获取与接收到的业务办理请求对应的历史业务数据,然后将历史业务数据发送给客户端,由此可以让客户端通过该历史业务数据进行页面渲染,以在渲染出的待采集页面上采集目标业务数据,从而实现了目标业务数据的有效采集的效果。
一种可选的技术方案,在渲染出的待采集页面上采集目标业务数据,可以包括:针对渲染出的待采集页面,当待采集页面上的被激活对象出现变化时,将与当前激活的上一激活的被激活对象对应的对象业务数据作为目标业务数据,并对目标业务数据进行采集;客户端基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,可以包括:客户端每采集到目标业务数据,则基于接收到的前端校验规则对当前采集到的目标业务数据进行数据校验。其中,被激活对象可以是待采集页面上的在被激活后方能允许业务办理方在自身上输入某对象业务数据的对象,如选择框(如单选框、复选框)、输入框等,该对象业务数据可以是在该被激活对象上直接输入(如在输入框上直接输入)或间接输入(如通过对选择框的选择来间接输入)的业务数据。业务办理方通过在待采集页面上激活某被激活对象来实现对象业务数据的输入,那么当待采集页面上的被激活对象出现变化时,这说明业务办理方已经完成一个对象业务数据的输入,并准备进行下一个对象业务数据的输入,因此可以将与当前激活的上一激活的被激活对象对应的对象业务数据作为目标业务数据,并对其进行采集。进而,为了提高业务办理方的使用体验,避免出现业务办理方在完成各项数据输入并进行数据提交时,才对数据校验失败的目标业务数据进行提示的情况,可以在每采集到一个目标业务数据时,就对其进行数据校验,由此可以让业务办理方即时获知自己输入错误的目标业务数据,从而提升了使用体验。
在此基础上,可选的,在数据校验通过后,将目标业务数据发送给服务端,可以包括:响应于数据提交指令,当采集到的各目标业务数据均数据校验通过时,将各目标业务数据发送给服务端。其中,数据提交指令可以是在业务办理方进行数据提交时触发的指令,当采集到的各目标业务数据均数据校验通过时,将这些目标业务数据一起发送给服务端,由此有效保证了服务端可以一次接收到与业务办理请求相关的全部目标业务数据。
实施例三
图3是本发明实施例三中提供的一种数据校验方法的流程图。本实施例是以上述实施例二中的各技术方案为基础进行优化。在本实施例中,可选的,将历史业务数据发送给客户端,可以包括:基于已存储密钥对历史业务数据中的第一业务数据进行加盐哈希处理,其中第一业务数据是历史业务数据中不允许修改的业务数据;将历史业务数据、或是基于加盐哈希处理结果更新后的历史业务数据发送给客户端;相应的,上述数据校验方法,还可包括:服务端确定接收到的目标业务数据中与第一业务数据对应的第二业务数据的第二哈希值,并将第二哈希值与对第一业务数据进行加盐哈希处理后得到的第一哈希值进行对比;相应的,根据数据校验结果对目标业务数据进行处理,可以包括:根据数据校验结果和哈希值对比结果对目标业务数据进行处理。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
参见图3,本实施例的方法具体可以包括如下步骤:
S310、客户端将接收到的业务办理请求发送给服务端。
S320、服务端获取与接收到的业务办理请求对应的历史业务数据、且确定预先配置的与业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,其中,前端校验规则与客户端支持的编程语言匹配。
S330、服务端基于已存储密钥对历史业务数据中的第一业务数据进行加盐哈希处理,并将前端校验规则、以及历史业务数据或是基于加盐哈希处理结果更新后的历史业务数据发送给客户端,其中,第一业务数据是历史业务数据中不允许修改的业务数据。
其中,已存储密钥可以包括存储在服务端上的密钥,第一业务数据可以是历史业务数据中不允许被业务办理方修改的业务数据,基于已存储密钥对第一业务数据进行加盐哈希处理,由此实现了对第一业务数据进行加密以提高其的安全等级的效果。在实际应用中,可选的,上述加盐哈希处理可以理解为依次进行的加盐处理和哈希处理,其中,盐可以是一串随机数据,加盐可以理解为基于已存储密钥生成随即数据,然后将这串随即数据并列到第一业务数据上,以便进行哈希处理时,将这串随机数据和第一业务数据均作为一个单项函数(如哈希函数)的输入数据,即对第一业务数据和随机数据一起进行哈希。进而,服务端可以将原始的历史业务数据、或是基于加盐哈希处理结果更新后的历史业务数据发送给客户端,两种方式各有利弊,这会在后续步骤中进行阐述。
S340、客户端基于接收到的历史业务数据进行页面渲染,并在渲染出的待采集页面上采集目标业务数据,基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端。
S350、服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并且确定接收到的目标业务数据中与第一业务数据对应的第二业务数据的第二哈希值,并将第二哈希值、与对第一业务数据进行加盐哈希处理后得到的第一哈希值进行对比。
其中,考虑到本发明实施例可能涉及到的应用场景,业务办理方可能采取某些手段绕过了客户端上的数据校验,以使客户端将篡改后的第一业务数据(即与第一业务数据对应的第二业务数据)发送给服务端。为此,为了在最大程度上保证数据安全,服务端在接收到目标业务数据后,除了对其进行数据校验外,还可以确定其中的第二业务数据的第二哈希值。需要说明的是,由于客户端上并未存储有服务端上存储的已存储密钥,这意味着客户端并不知道如何对第二业务数据进行加盐处理,因此在第二业务数据不等同于第一业务数据,即第一业务数据被篡改的情况下,第二哈希值与对第一业务数据进行加盐哈希处理后得到的第一哈希值必然不同,由此可以通过对比这两个哈希值来确定第一业务数据是否被篡改。在实际应用中,可选的,如果服务端将原始的历史业务数据发送给客户端,则服务端需要存储第一哈希值,以便进行这两个哈希值的对比;如果服务端将基于加盐哈希处理结果更新后的历史业务数据发送给客户端,则服务端无需存储此时计算的第一哈希值,而是可以在接收到客户端返回的目标业务数据后,根据已存储密钥重新计算第一哈希值,然后进行哈希值的对比。再可选的,哈希值比对过程可以理解为数据校验过程中的一部分,也可以理解为独立于数据校验过程之外的过程,在此未做具体限定。
S360、服务端根据数据校验结果和哈希值对比结果处理目标业务数据。
其中,服务端根据数据校验结果和哈希值对比结果来共同对目标业务数据进行处理,由此在最大程度上保证了数据安全。在实际应用中,可选的,上述处理过程可以是,如果数据校验结果是数据校验通过且哈希值对比结果是哈希值一致,则保存目标业务数据;否则,拒绝保存目标业务数据。
本发明实施例的技术方案,服务端通过已存储密钥对历史业务数据中不被允许修改的第一业务数据进行加盐哈希处理,然后将历史业务数据、或是基于加盐哈希处理结果更新后的历史业务数据发送给客户端;进一步,服务端通过确定接收到的目标业务数据中与第一业务数据对应的第二业务数据的第二哈希值,然后将第二哈希值与第一哈希值(即对第一业务数据进行加盐哈希处理后得到的哈希值)进行对比来确定第一业务数据是否发生篡改,从而可以将数据校验结果和哈希值对比结果相结合来处理目标业务数据,由此达到了防止不被允许修改的第一业务数据被篡改的效果。
实施例四
图4是本发明实施例四中提供的一种数据校验方法的时序图,并且图5是本发明实施例四中的一种数据校验方法中可选示例的示意图,两张图可以相互配合理解。本实施例以上述实施例中各个可选方案为基础进行优化。其中,与上述各实施例相同或是相应的术语的解释在此不再赘述。
相应的,如图4所示,本实施例的方法涉及到客户端410与服务端420,该方法具体可以包括如下步骤:
S1、在服务端420上部署基于注解方式预先配置的各候选校验规则。
S2、客户端410将接收到的业务办理请求发送给服务端420。
S3、服务端420从各候选校验规则中确定与接收到的业务办理请求对应的后端校验规则,并对各后端校验规则分别进行解析,将解析得到的各后端校验规则进行组装,得到前端校验规则。
S4、服务端420获取与接收到的业务办理请求对应的历史业务数据,基于存储在服务端420上的已存储密钥对历史业务数据中的第一业务数据进行加盐哈希处理,并根据加盐哈希处理结果更新历史业务数据,其中,第一业务数据是历史业务数据中不允许修改的业务数据。
S5、服务端420将前端校验规则和历史业务数据均转换为客户端410可用的json格式,生成json串,然后将该json串返回给客户端410。
S6、客户端410对接收到的前端校验规则进行解析,并根据解析结果生效前端校验规则,以使生效后的前端校验规则可被用于进行数据校验。
S7、客户端410基于接收到的历史业务数据进行页面渲染,渲染出待采集页面,并在待采集页面上的被激活对象出现变化时,对与当前激活的上一激活的被激活对象对应的对象业务数据进行采集。
S8、客户端410每次采集到目标业务数据,基于生效后的前端校验规则对当前采集到的目标业务数据进行数据校验,其中,目标业务数据包括对象业务数据或第二业务数据。
其中,本步骤采集到的目标业务数据有可能是上个步骤中的对象业务数据(即业务办理方输入的业务数据),也可能是与第一业务数据对应的第二业务数据(即不被允许修改的业务数据),这些业务数据均可以作为目标业务数据。
S9、客户端410响应于数据提交指令,当采集到的各目标业务数据均数据校验通过时,将各目标业务数据发送给服务端420。
S10、服务端420基于后端校验规则对接收到的目标业务数据进行数据校验,且确定接收到的目标业务数据中的第二业务数据的第二哈希值,并将第二哈希值与对第一业务数据进行加盐哈希处理后得到的第一哈希值进行对比。
S11、服务端420在确定数据校验结果是数据校验通过并且哈希值对比结果是哈希值一致时,保存目标业务数据,否则拒绝保存目标业务数据。
本发明实施例的技术方案,通过上述各步骤的相互配合,至少实现了如下效果:在实现前后端同规则校验时,减少了冗余代码并且保证了前后端的数据校验规则的绝对一致性;通过加盐哈希处理提高了服务端的安全防护等级,这有效降低了第一业务数据被篡改的可能性;支持前后端全栈的数据校验规则的维护及转换,减少了研发成本。
实施例五
图6为本发明实施例五提供的数据校验系统的结构框图,该系统用于执行上述任意实施例所提供的数据校验方法。该系统与上述各实施例中的数据校验方法属于同一个发明构思,在数据校验系统的实施例中未详尽描述的细节内容,可以参考上述数据校验方法的实施例。参见图6,该系统具体可包括:客户端510和服务端520。
其中,客户端510,用于将接收到的业务办理请求发送给服务端520;
服务端520,用于确定预先配置的且与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并且将前端校验规则发送给客户端510,其中,前端校验规则与客户端510支持的编程语言匹配;
客户端510,还用于基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端520;
服务端520,还用于基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
可选的,服务端520,具体用于:
从预先配置的各候选校验规则中确定与接收到的业务办理请求对应的后端校验规则,针对每个后端校验规则,对后端校验规则进行解析,并将解析后的各后端校验规则进行组装,得到前端校验规则,将前端校验规则发送给客户端510,其中,前端校验规则与客户端510支持的编程语言匹配;
和/或,
后端校验规则是部署在服务端520上的基于注解方式配置的数据校验规则。
可选的,服务端520,具体用于:
确定预先配置的与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则的规则格式转换为可被客户端510应用的应用格式,基于转换结果更新前端校验规则,并将更新结果发送给客户端510,其中,前端校验规则与客户端510支持的编程语言匹配;
客户端510,还用于对接收到的前端校验规则解析,并根据解析结果生效前端校验规则,以使生效后的前端校验规则可被用于进行数据校验;
客户端510,具体用于:
基于生效后的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端520。
可选的,服务端520,还用于获取与接收到的业务办理请求相对应的历史业务数据,并将历史业务数据发送给客户端510;
客户端510,还用于基于接收到的历史业务数据进行页面渲染,并在渲染出的待采集页面上采集目标业务数据。
在此基础上,第一可选的,客户端510,具体用于:
基于接收到的历史业务数据进行页面渲染,并针对渲染出的待采集页面,当待采集页面上的被激活对象出现变化时,将与当前激活的上一激活的被激活对象对应的对象业务数据作为目标业务数据,并对目标业务数据进行采集;
客户端510,具体用于:
每采集到目标业务数据,基于接收到的前端校验规则对当前采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端520。
在此基础上,可选的,客户端510,具体用于:
每采集到目标业务数据,基于接收到的前端校验规则对当前采集到的目标业务数据进行数据校验,并响应于数据提交指令,当采集到的各目标业务数据均数据校验通过时,将各目标业务数据发送给服务端520。
第二可选的,服务端520,具体用于:
获取与接收到的业务办理请求对应的历史业务数据,并基于已存储密钥对历史业务数据中的第一业务数据进行加盐哈希处理,其中第一业务数据是历史业务数据中不允许修改的业务数据;
将历史业务数据、或是基于加盐哈希处理结果更新后的历史业务数据发送给客户端510;
相应的,服务端520,还用于:
确定接收到的目标业务数据中与第一业务数据对应的第二业务数据的第二哈希值,并将第二哈希值与对第一业务数据进行加盐哈希处理后得到的第一哈希值进行对比;
相应的,服务端520,具体用于:
基于后端校验规则对接收到的目标业务数据进行数据校验,根据数据校验结果和哈希值对比结果对目标业务数据进行处理。
在此基础上,可选的,服务端520,具体用于:
基于后端校验规则对接收到的目标业务数据进行数据校验;
如果数据校验结果是数据校验通过并且哈希值对比结果是哈希值一致,则保存目标业务数据;
否则,拒绝保存目标业务数据。
本发明实施例五提供的数据校验系统,通过服务端获取客户端发送的业务办理请求,确定预先配置的与该业务办理请求对应的后端校验规则,将其转换为与客户端支持的编程语言相匹配前端校验规则,以使客户端可以基于该前端校验规则进行数据校验,然后将前端校验规则发送给客户端;通过客户端接收到的前端校验规则对采集到的目标业务数据进行数据校验,在数据校验通过后,将目标业务数据发送给服务端;进而,通过服务端基于后端校验规则对接收到的目标业务数据进行数据校验,由于前段校验规则和后端校验规则的本质相同,由此实现了前后端同规则校验的效果,并根据数据校验结果处理目标业务数据。上述技术方案,在实现前后端同规则校验时,只需在服务端部署数据校验规则,由此解决了因为在前后端同时部署数据校验规则而产生冗余代码的问题,而且在无需手动修改代码的情况下,有效保证了前后端校验规则的绝对一致性。
本发明实施例所提供的数据校验系统可执行本发明任意实施例所提供的数据校验方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述数据校验系统的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
本发明实施例六提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据校验方法,该方法包括:
客户端将接收到的业务办理请求发送给服务端;
服务端确定预先配置的与接收到的业务办理请求对应的后端校验规则,将后端校验规则转换为前端校验规则,并将前端校验规则发送给客户端,其中,前端校验规则与客户端支持的编程语言匹配;
客户端基于接收到的前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将目标业务数据发送给服务端;
服务端基于后端校验规则对接收到的目标业务数据进行数据校验,并根据数据校验结果对目标业务数据进行处理。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据校验方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。依据这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
客户端将接收到的业务办理请求发送给服务端;
所述服务端确定预先配置的与接收到的所述业务办理请求对应的后端校验规则,将所述后端校验规则转换为前端校验规则,并将所述前端校验规则发送给所述客户端,其中,所述前端校验规则与所述客户端支持的编程语言匹配;
所述客户端基于接收到的所述前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过后,将所述目标业务数据发送给所述服务端;
所述服务端基于所述后端校验规则对接收到的所述目标业务数据进行数据校验,并根据数据校验结果对所述目标业务数据进行处理。
2.根据权利要求1所述的方法,其特征在于:
所述服务端确定预先配置的与接收到的所述业务办理请求对应的后端校验规则,将所述后端校验规则转换为前端校验规则,包括:
所述服务端从预先配置的各候选校验规则中确定与接收到的所述业务办理请求对应的后端校验规则,针对每个所述后端校验规则,对所述后端校验规则进行解析,并将解析后的各所述后端校验规则进行组装,得到前端校验规则;
和/或,
所述后端校验规则是部署在所述服务端上的基于注解方式配置的数据校验规则。
3.根据权利要求1所述的方法,其特征在于,所述将所述前端校验规则发送给所述客户端,包括:
将所述前端校验规则的规则格式转换为可被所述客户端应用的应用格式,基于转换结果更新所述前端校验规则,并将更新结果发送给所述客户端;
相应的,所述方法还包括:
所述客户端对接收到的所述前端校验规则解析,并根据解析结果生效所述前端校验规则,以使生效后的所述前端校验规则可被用于进行数据校验;
相应的,所述客户端基于接收到的所述前端校验规则对采集到的目标业务数据进行数据校验,包括:
所述客户端基于所述生效后的所述前端校验规则对采集到的目标业务数据进行数据校验。
4.根据权利要求1所述的方法,其特征在于,还包括:
所述服务端获取与接收到的所述业务办理请求对应的历史业务数据,并将所述历史业务数据发送给所述客户端;
所述客户端基于接收到的所述历史业务数据进行页面渲染,并在渲染出的待采集页面上采集所述目标业务数据。
5.根据权利要求4所述的方法,其特征在于,所述在渲染出的待采集页面上采集所述目标业务数据,包括:
针对渲染出的待采集页面,当所述待采集页面上的被激活对象出现变化时,将与当前激活的上一激活的所述被激活对象对应的对象业务数据作为所述目标业务数据,并对所述目标业务数据进行采集;
所述客户端基于接收到的所述前端校验规则对采集到的目标业务数据进行数据校验,包括:
所述客户端每采集到目标业务数据,则基于接收到的所述前端校验规则对当前采集到的所述目标业务数据进行数据校验。
6.根据权利要求5所述的方法,其特征在于,所述在数据校验通过后,将所述目标业务数据发送给所述服务端,包括:
响应于数据提交指令,当采集到的各所述目标业务数据均数据校验通过时,将各所述目标业务数据发送给所述服务端。
7.根据权利要求4所述的方法,其特征在于,所述将所述历史业务数据发送给所述客户端,包括:
基于已存储密钥对所述历史业务数据中的第一业务数据进行加盐哈希处理,其中,所述第一业务数据是所述历史业务数据中不允许修改的业务数据;
将所述历史业务数据、或是基于加盐哈希处理结果更新后的所述历史业务数据发送给所述客户端;
相应的,所述方法还包括:
所述服务端确定接收到的所述目标业务数据中与所述第一业务数据对应的第二业务数据的第二哈希值,并将所述第二哈希值与对所述第一业务数据进行加盐哈希处理后得到的第一哈希值进行对比;
相应的,所述根据数据校验结果对所述目标业务数据进行处理,包括:
根据数据校验结果和哈希值对比结果对所述目标业务数据进行处理。
8.根据权利要求7所述的方法,其特征在于,所述根据数据校验结果和哈希值对比结果对所述目标业务数据进行处理,包括:
如果数据校验结果是数据校验通过并且哈希值对比结果是哈希值一致,则保存所述目标业务数据;
否则,拒绝保存所述目标业务数据。
9.一种数据校验系统,其特征在于,包括:客户端和服务端;其中,
所述客户端,用于将接收到的业务办理请求发送给所述服务端;
所述服务端,用于确定预先配置的与接收到的所述业务办理请求对应的后端校验规则,将所述后端校验规则转换为前端校验规则,并将所述前端校验规则发送给所述客户端,所述前端校验规则与所述客户端支持的编程语言匹配;
所述客户端,还用于基于接收到的所述前端校验规则对采集到的目标业务数据进行数据校验,并在数据校验通过之后,将所述目标业务数据发送给所述服务端;
所述服务端,还用于基于所述后端校验规则对接收到的所述目标业务数据进行数据校验,并根据数据校验结果对所述目标业务数据进行处理。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一所述的数据校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210113886.5A CN114443678A (zh) | 2022-01-30 | 2022-01-30 | 一种数据校验方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210113886.5A CN114443678A (zh) | 2022-01-30 | 2022-01-30 | 一种数据校验方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114443678A true CN114443678A (zh) | 2022-05-06 |
Family
ID=81372567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210113886.5A Pending CN114443678A (zh) | 2022-01-30 | 2022-01-30 | 一种数据校验方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114443678A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334145A (zh) * | 2022-08-09 | 2022-11-11 | 中国建设银行股份有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-30 CN CN202210113886.5A patent/CN114443678A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334145A (zh) * | 2022-08-09 | 2022-11-11 | 中国建设银行股份有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
CN115334145B (zh) * | 2022-08-09 | 2024-04-12 | 中国建设银行股份有限公司 | 一种业务处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020258655A1 (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
US8667565B2 (en) | Security restructuring for web media | |
CN106020948B (zh) | 一种流程调度方法及装置 | |
CN107920094B (zh) | 数据获取方法、装置、服务器及网络设备 | |
US20200034126A1 (en) | File generation method, device, server, and storage medium | |
US9934229B2 (en) | Telemetry file hash and conflict detection | |
US20200366485A1 (en) | Method and apparatus for inter-blockchain transmission of authenticable message | |
CN111275438B (zh) | 区块链网络的共识方法、装置、设备和存储介质 | |
JP4820408B2 (ja) | 属性エンジン | |
CN110852816A (zh) | 基于区块链的自动开具发票方法、终端设备及存储介质 | |
CN114443678A (zh) | 一种数据校验方法、系统及存储介质 | |
CN114640957A (zh) | 短信发送方法、系统、设备及计算机可读存储介质 | |
CN113627913A (zh) | 客户端收银方法、装置、设备及存储介质 | |
CN109783606A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN117407388A (zh) | 幂等控制方法及其装置、电子设备 | |
CN114866628A (zh) | 一种报文处理的方法、装置、设备及存储介质 | |
CN109345215B (zh) | 数字货币处理方法、装置、计算机设备及存储介质 | |
CN114493570A (zh) | 基于集团内部专线的跨境汇款处理方法及装置 | |
CN111932326A (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN111985186A (zh) | 一种字典项转换方法、api网关系统、设备及存储介质 | |
US10671505B2 (en) | System and method for monitoring service | |
CN111754348A (zh) | 场景化组合交易方法及装置 | |
CN112363705B (zh) | 系统包生成方法、装置、计算机设备及存储介质 | |
CN117331722B (zh) | 一种多路输入的事件信息处理系统 | |
CN111292051B (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 |