CN112613298A - 数据校验方法、系统、计算机程序产品和电子设备 - Google Patents

数据校验方法、系统、计算机程序产品和电子设备 Download PDF

Info

Publication number
CN112613298A
CN112613298A CN202011592694.4A CN202011592694A CN112613298A CN 112613298 A CN112613298 A CN 112613298A CN 202011592694 A CN202011592694 A CN 202011592694A CN 112613298 A CN112613298 A CN 112613298A
Authority
CN
China
Prior art keywords
data
checker
service module
verification
object queue
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
Application number
CN202011592694.4A
Other languages
English (en)
Inventor
安凤翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202011592694.4A priority Critical patent/CN112613298A/zh
Publication of CN112613298A publication Critical patent/CN112613298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例公开了一种数据校验方法、系统、计算机程序产品和电子设备,所述方法包括获取待校验业务模块组,根据待校验业务模块组生成校验器对象队列,基于校验器对象队列执行数据校验流程。由此,通过校验器对象队列中的校验器对象校验对应业务模块内的目标表单,降低数据校验过程中不同业务模块的数据之间的耦合性,数据校验的复杂度低,数据校验效率高,同时有利于降低数据校验成本。

Description

数据校验方法、系统、计算机程序产品和电子设备
技术领域
本发明涉及计算机技术领域,具体涉及一种数据校验方法、系统、计算机程序产品和电子设备。
背景技术
网站的前端页面通常由多种模块和多个表单构成,用户在提交和保存表单数据时,需要对表单数据进行校验。然而,随着模块和表单中数据量的增加以及不同表单之间数据的耦合关系的增强,使得数据校验的复杂度提高,数据校验效率降低,数据校验成本升高。
发明内容
有鉴于此,本发明实施例旨在提供一种数据校验方法、系统、计算机程序产品和电子设备,以降低数据校验的复杂度,提高数据校验效率,降低数据校验成本。
第一方面,本发明实施例旨在提供一种数据校验方法,所述方法包括:
获取待校验业务模块组,所述待校验业务模块组包括至少一个待校验业务模块,各所述待校验业务模块包括至少一个目标表单;
根据所述待校验业务模块组生成校验器对象队列,所述校验器对象队列包括至少一个校验器对象,所述校验器对象用于校验对应业务模块的目标表单;
基于所述校验器对象队列执行数据校验流程。
进一步地,所述校验器对象与目标表单一一对应;
所述根据所述待校验业务模块组生成校验器对象队列具体为:
根据各所述待校验业务模块内的目标表单对应的校验器对象生成校验器对象队列。
进一步地,所述校验器对象与业务模块一一对应;
所述根据所述待校验业务模块组生成校验器对象队列具体为:
根据各所述待校验业务模块对应的校验器对象生成校验器对象队列。
进一步地,所述基于所述校验器对象队列执行数据校验流程包括:
依次选取所述校验器对象队列中的校验器对象校验对应的待校验业务模块;
输出校验结果,所述校验结果为当前校验器对象校验完成对应的校验结果。
进一步地,所述输出校验结果具体为:
通过异步操作输出校验结果。
进一步地,所述基于所述校验器对象队列执行数据校验流程还包括:
响应于所述校验结果表征校验通过,确定校验器对象数量,所述校验器对象数量用于表征所述校验器对象队列中位于所述当前校验器对象之后的校验器对象的数量;
响应于所述校验器对象数量为零,向对应的业务模块发送保存成功消息;
响应于所述校验器对象数量不为零,选取当前校验器对象之后的校验器对象校验对应的目标数据。
进一步地,所述基于所述校验器对象队列执行数据校验流程还包括:
响应于当前校验器输出的校验结果表征校验未通过,执行非法数据处理流程。
进一步地,所述执行非法数据处理流程包括:
根据所述校验结果调整所述校验器对象队列的工作状态;
发送数据非法信息至对应的业务模块提示修改。
进一步地,所述工作状态包括执行状态、暂停状态和闲置状态;
所述根据所述校验结果调整所述校验器对象队列的工作状态包括:
响应于所述校验结果表征数据可自愈,将所述校验器对象队列的工作状态由执行状态调整为暂停状态,所述数据可自愈为所述目标数据与预设数据的误差在预设范围内;
响应于所述校验结果表征数据不可自愈,将所述校验器对象队列的工作状态由执行状态调整为闲置状态。
进一步地,在所述发送数据非法信息至对应的业务模块提示修改之后,所述执行非法数据处理流程还包括:
响应于接收到修改完成信息,重启校验器对象队列,以校验修改数据。
进一步地,所述执行非法数据流程还包括:
响应于未接收到修改完成信息,向所述业务模块发送保存失败消息。
进一步地,所述业务模块组与校验器对象队列之间采用发布订阅模式进行消息通信。
进一步地,所述待校验业务模块组基于以下步骤确定:
确定目标页面的业务模块;
根据配置文件确定所述目标页面的一类模块,所述一类模块为配置文件指定默认进行校验的业务模块;
根据用户操作确定所述目标页面的二类模块,所述二类模块为接收到用户操作的业务模块;
根据所述一类模块和二类模块的并集确定所述待校验业务模块组。
第二方面,本发明实施例旨在提供一种数据校验系统,所述系统包括:
业务模块层,包括至少一个业务模块,所述业务模块内存储有至少一个目标表单;
校验器管理层,用于根据待校验业务模块组生成校验器对象队列,并管理校验器对象队列以执行数据校验流程,所述校验器对象队列包括至少一个校验器对象,所述校验器对象用于校验对应业务模块的目标表单;
业务接口层,用于实现所述业务模块和校验器对象队列之间的消息通信。
第三方面,本发明实施例提供一种计算机程序产品,包括计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现如上所述方法的步骤。
第四方面,本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如上所述的方法。
第五方面,本发明实施例提供一种可读存储介质,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
本发明实施例的技术方案通过获取待校验业务模块组,根据待校验业务模块组生成校验器对象队列,并基于校验器对象队列执行校数据校验流程,能够简化数据校验流程,降低数据校验复杂度。同时,通过校验器对象队列中的校验器对象分别校验对应业务模块内的目标表单,能够降低数据校验过程中不同业务模块的数据之间的耦合性和校验的复杂度,进而提高数据校验效率,降低数据校验成本。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的数据校验系统的示意图;
图2是本发明实施例的数据校验方法的流程图;
图3是本发明实施例的获取待校验业务模块组的流程图;
图4是本发明实施例的执行数据校验流程的流程图;
图5是本发明实施例的执行非法数据处理流程的流程图;
图6是本发明实施例的数据校验过程的流程图;
图7是本发明实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在现有技术中,通常采用局部数据校验、分流程数据校验或者全局数据校验方法对前端页面的表单数据进行校验。
局部校验为每个表单提供独立的数据校验逻辑,并在用户进行表单数据输入时,自动进行校验。然而,由于数据校验逻辑是针对每一个独立表单的,无法对全部表单进行校验。另外,由于局部校验发生在用户输入数据时,并且用户无法同时对所有表单进行输入。当对其他表单进行输入并导致之前校验数据发生错误时,局部数据校验的方式无法及时校验出来。因此,局部校验的方式无法适用于多模块耦合的使用情况。
分流程校验在局部校验的基础上,将存在耦合的模块进行分割,并按照明确的先后顺序执行多个操作。但是,由于用户只能在输入和校验完成一个表单数据后,才能进行下一个表单数据的输入,并且进入下一步后,不能修改之前完成的数据。因此,这种方式虽然解决了校验出错的情况,但只能应用于具有明确先后顺序的表单数据校验过程,适应性差,用户体验不佳。
全局数据校验克服了全局校验和分流程校验的弊端,通过将所有模块的数据校验逻辑后置到保存阶段进行统一的收口处理,实现多模块的具有耦合性的表单数据的校验。然而,由于需要对所有的校验逻辑进行集中收口,校验逻辑中往往包含有大量条件判断,而条件判断的数量和复杂性的增多会提高对系统维护难度和成本。
基于此,本发明实施例提供一种数据校验方法、系统、电子设备和可读存储介质,在实现多模块多表单耦合数据的数据校验的同时,能够降低数据之间的耦合性和数据校验的复杂度,提高数据校验效率,降低数据校验成本。
以下,以一个前端页面上多个模块内的表单数据的数据结构的校验过程为例做详细说明,并对相关概念做相应介绍。
本实施例的前端页面指网站产品中除服务器端以外的面向用户的部分,包括用户可见的页面内容及其交互操作。通常,一个前端页面包括至少一个模块。
模块指前端页面中用以完成特定功能的空间。通常,一个模块包括至少一个表单。
表单为前端页面中提供给用户用以填写数据的空间,通常需要支持数据校验和数据提交的功能。
数据结构指用户在一个前端页面中多个模块内填写的所有表单数据组合而成的特定数据结构。
为方便理解,对以上概念做示例性解释。例如,前端页面可以是一个网站中的注册界面,注册界面上共设置有四个输入框,分别对应手机号表单、用户名表单、第一次输入密码的验证表单和第二次输入密码的确认表单。其中,用户分别基于手机号表单输入注册手机号、基于用户名表单输入用户名、基于验证表单第一次输入密码和基于确认表单第二次输入密码。手机号满足一般手机号码格式。用户名为英文字母组成的字符串。密码为6位数字。在进行数据校验时,通过数据校验方法校验用户输入的数据结构与上述预设的手机号码、用户名和两次密码组合形成的数据结构是否一致。
图1是本发明实施例的数据校验系统的示意图。如图1所示,本实施例的数据校验系统包括业务模块层1、校验器管理层2和业务接口层3。
业务模块层1包括至少一个业务模块11,各业务模块11内存储有至少一个目标表单,目标表单包括至少一个目标数据。
校验器管理层2,用于根据待校验业务模块组生成校验器对象队列,并对校验器对象队列进行管理以执行数据校验流程。其中,校验器对象队列包括至少一个校验器对象。校验器对象用于校验对应待校验业务模块内的目标表单。
业务接口层3,用于建立业务模块层1和校验器管理层2之间的通信连接,进而实现业务模块和校验器对象队列之间的消息通信。
由此,通过业务模块层、校验器管理层和业务接口层的相互配合,实现不同业务模块目标表单内目标数据的校验。
可选地,本实施例中可以根据实际业务场景和使用需要确定待校验业务模块,校验器对象与待校验业务模块或待校验业务模块内的目标表单一一对应,各校验器对象内封装有特定的校验逻辑,校验器对象通过校验逻辑校验对应待校验业务模块中的目标表单的目标数据。由此,通过不同的校验器对象校验对应的待校验业务模块,在实现目标表单中目标数据校验的同时,使得校验器对象的分工更加明确,能够降低不同业务模块内不同目标表单数据之间的耦合性和数据校验的复杂度,进而提高数据校验效率,降低数据校验成本。
可选地,本实施例中采用异步操作封装校验逻辑,由各校验器对象在校验完成后通过异步操作输出校验结果,并由校验器管理层输出校验结果。由此,在进行数据校验时,方便快速调用校验逻辑,能够减少系统闲置时间,提高系统性能。
进一步地,本实施例中采用Promise模式的异步操作封装校验逻辑,并由校验器对象输出Promise异步校验对象,提供给校验器队列使用。
Promise是ECMAScript6协议中提出的一种异步操作模式,通常用来将多个异步操作按先后顺序串行成同步操作。
进一步地,本实施例中的校验器对象队列可以根据实际业务场景和使用需要,按照预定的顺序依次将待校验业务模块对应的校验器对象推入校验器对象队列中。
在执行数据校验流程时,依次从校验器对象队列中选取一个校验器对象校验对应的待校验业务模块,并通过校验器管理层输出校验结果。当目标数据与预设数据结构一致时,表征当前目标表单中的目标数据合法以及当前目标表单校验通过,选取校验器对象队列中的后续校验器对象进行数据校验。当目标数据与预设数据结构不一致时,表征当前目标表单中的目标数据非法以及当前目标表单校验未通过,由校验器对象队列将非法信息经业务接口层传递至业务模块层。
进一步地,本实施例中的业务接口层接收校验器管理层输出的校验结果,并采用发布订阅模式实现业务模块层与校验器对象队列之间的消息通信。在当前目标表单中的目标数据非法时,校验器对象队列停止检验,并将非法信息发送给业务接口层,再由业务接口层通过广播的方式将非法信息发布至对应的业务模块,提示业务模块对非法数据进行修改。
进一步地,业务接口层还用于订阅监听事件,用于接收业务模块返回的修改完成信息,并根据业务模块返回的修改完成信息和修改完成信息对应的修改数据通知校验器对象队列执行下一步操作。
本实施例的技术方案通过建立业务模块与校验器对象之间的对应关系,并由校验器对象校验对应待校验业务模块内目标表单的目标数据,能够减少校验逻辑的大量冗余,避免业务模块之间数据耦合对校验结果的影响,进而降低数据校验的复杂度,提高数据校验效率,降低数据校验成本。另外,通过校验器管理层对校验器队列进行集中管理以执行数据校验流程,有利于提高校验器对象的管理效率,同时通过业务接口层的发布订阅功能保证业务模块层与校验器管理层的快速有效通信,使得数据校验结果能够及时发送给相应的业务模块进行修改,有利于进一步提高数据校验效率。
图2是本发明实施例的数据校验方法的流程图。如图2所示,本实施例的数据校验方法包括如下步骤:
在步骤S110,获取待校验业务模块组。其中,待校验业务模块组包括至少一个待校验业务模块,各待校验业务模块包括至少一个目标表单,各目标表单包括至少一个目标数据。
本实施例中,以用户在前端页面上的操作作为数据校验的触发条件,包括但不限于用户的输入操作、保存操作和提交操作。在通过用户的输入操作进行触发时,可以响应于用户输入单个或预设数量的多个表单数据时实现校验对应表单数据的触发。在通过用户的保存或提交操作进行触发时,通过响应于用户点击前端页面上的保存或提交选项实现触发。
可选地,本实施例的数据校验方法响应于用户进行保存操作,获取待校验业务模块组,并执行后续数据校验方法步骤。
在步骤S120,根据待校验业务模块组生成校验器对象队列,校验器对象队列包括至少一个校验器对象,校验器对象用于校验对应业务模块的目标表单。
可选地,本实施例中的校验器对象可以与业务模块一一对应,也可以与业务模块内的目标表单一一对应。当校验器对象与业务模块一一对应时,本实施例的根据待校验业务模块生成校验器对象队列具体为根据各待校验业务模块对应的校验器对象生成校验器对象队列。当校验器对象与业务模块内的目标表单一一对应时,本实施例的根据待校验业务模块生成校验器对象队列具体为根据各待校验业务模块内的目标表单对应的校验器对象生成校验器对象队列。
为进一步提高数据校验效率,本实施例中的校验器对象与业务模块一一对应,校验器对象内封装有校验逻辑,通过校验逻辑对对应的业务模块内的目标表单进行校验。由此,通过建立校验器对象与业务模块之间一一对应的关系,并由校验器对象校验对应待校验业务模块内的目标数据,使得各校验器对象的校验分工更加明确,专一性高,能够降低校验逻辑对其他业务模块内目标表单的影响以及不同目标表单目标数据之间的耦合性对数据校验的影响,进而降低数据校验的复杂度,提高数据校验的效率,降低数据校验的时间成本。
进一步地,在根据待校验业务模块组生成校验器对象队列时,首先将获取到的待校验业务模块组按照预定的顺序进行排列,再按照相同的预定的顺序将各待校验业务模块组对应的校验器对象进行排列生成校验器对象队列。由此,在每次使用时,只需获取待校验业务模块组,并根据待校验业务模块组对应的校验器对象生成校验器对象,减少待校验业务模块组之外的其他业务模块内数据对当前数据校验过程的影响,进一步减少业务模块之间的耦合性,降低数据校验的复杂度,提高数据校验效率和降低数据校验成本。
另外,当一个业务模块内的目标表单发生变化或增加时,只需改变或增加对应校验器对象中的校验逻辑,而无需对其他校验逻辑进行修改。由此,只通过改变业务模块对应的校验器对象中的校验逻辑即可解决业务模块内目标表单的数据校验,有利于提高数据校验系统的可扩展性,减少数据校验的使用和维护成本,进一步降低数据校验成本。
在步骤S130,基于校验器对象队列执行数据校验流程。
本发明实施例的技术方案通过获取待校验业务模块组,根据各待校验业务模块对应的校验器对象生成校验器对象队列,并基于校验器对象队列执行校数据校验流程,在实现待校验业务模块内目标表单的目标数据的校验的同时,能够简化数据校验流程,降低数据校验复杂度。再者,整个过程中,通过各校验器对象封装对应目标表单的校验逻辑以及不同校验器对象对应不同的业务模块,能提高校验逻辑和校验器对象使用的专一性,减少校验逻辑融合,降低校验逻辑的冗余度,以及减少校验过程中不同业务模块内目标数据的耦合性,进而降低数据校验复杂度,提高数据校验效率,降低数据校验的使用和维护成本。
图3是本发明实施例的获取待校验业务模块组的流程图。如图3所示,本实施例在待校验业务模块组基于以下步骤S210-S240确定。
在步骤S210,确定目标页面的业务模块。
本实施例中,目标页面为待校验的目标前端页面,目标页面的业务模块包括目标前端页面内的全部业务模块。
在步骤S220,根据配置文件确定目标页面的一类模块,一类模块为配置文件指定默认进行校验的业务模块。
本实施例中,在每次数据校验过程中,目标前端页面默认有需要进行数据校验的目标表单,并将默认需要进行数据校验的目标表单所在的业务模块作为一类模块。也即一类模块为数据校验过程中的必要模块。
在步骤S230,根据用户操作确定目标页面的二类模块,二类模块为接收到用户操作的业务模块。
在本步骤中,通过用户操作确定目标表单,并在接收到用户操作后将目标表单对应的业务模块作为二类模块。
在步骤S240,根据一类模块和二类模块的并集确定待校验业务模块组。
本实施例中,根据系统配置文件和用户操作分别确定的一类模块和二类模块共同构成待校验业务模块组。
可选地,对于相同目标前端页面,不同数据校验过程中的一类模块可以是相同的。但当用户操作不同时,确定的二类模块是不同的。基于此,能够根据用户的不同操作来实现目标前端页面全部表单数据的校验,应用灵活,适用范围广。
图4是本发明实施例的执行数据校验流程的流程图。如图4所示,本实施例的基于校验器对象队列执行数据校验流程包括以下步骤:
在步骤S310,开始执行数据校验流程。
在步骤S320,依次选取校验器对象队列中的校验器对象校验对应的待校验业务模块。
本实施例中,通过依次选取校验器对象实现对应待校验业务模块内目标数据的校验,便于校验器管理层对校验器对象队列的管理,有利于提高数据校验序列。
在步骤S330,输出校验结果,校验结果为当前校验器对象校验完成对应的校验结果。
可选地,本实施例中的校验器对象对对应的待校验业务模块进行校验,并通过异步操作(Promise)由校验器管理层输出校验结果。
进一步地,为完善目标表单数据校验的处理过程,如图4所示,本实施例中的基于校验器对象队列执行数据校验流程还包括如下步骤:
在步骤S340,确定校验结果是否通过。
本实施例中的数据校验结果用于表征当前校验的目标数据是否合法。若当前目标数据合法,表明目标数据的数据结构与预设的数据结构一致,校验通过。若当前目标数据非法,表明当前目标数据的数据结构与预设的数据结构不一致,校验未通过。例如,当用户输入的手机号码与预先设置的手机号码格式一致时,确定当前输入的手机号码对应的数据合法;当用户输入的手机号码与预先设置的手机号码格式不一致时,确定当前输入的手机号码对应的数据非法。
在步骤S350,响应于校验结果表征校验未通过,执行非法数据处理流程。
在步骤S360,响应于校验结果表征校验通过,确定校验器对象数量。其中,校验器对象数量用于表征校验器对象队列中位于当前校验器对象之后的校验器对象的数量。
在步骤S370,确定校验器对象数量是否为零。
在步骤S380,响应于校验器对象数量为零,向对应的业务模块发送保存成功消息。
本实施例中,响应于校验器对象数量为零,系统将校验器对象队列状态由执行状态调整为闲置状态,并由校验器管理层向业务接口层发送保存成功消息。业务接口层接收保存成功消息,并通过广播的方式向当前校验器对象对应的业务模块发送保存成功消息,用以提示用户当前目标前端页面的全部目标表单保存成功。
在步骤S390,响应于校验器对象数量不为零,返回至步骤S320,选取当前校验器对象之后的校验器对象校验对应的目标数据。
图5是本发明实施例的执行非法数据处理流程的流程图。如图5所示,本实施例的执行非法数据处理流程包括以下步骤。
在步骤S410,开始执行非法数据处理流程。
在步骤S420,根据校验结果调整校验器对象队列的工作状态。
可选地,本实施例的工作状态包括执行状态、暂停状态和闲置状态。本实施例中的数据校验结果还用于表征当前校验的目标数据是否可自愈。基于此,本实施的步骤S420可以按如下方式实施。
可选地,响应于校验结果表征目标数据可自愈,将校验器对象队列的工作状态由执行状态调整为暂停状态。
进一步地,响应于校验结果表征目标数据不可自愈,清空校验器对象队列,并将校验器对象队列的工作状态由执行状态调整为闲置状态。其中,数据可自愈为目标数据与预设数据的误差在预设范围内。
可选地,本实施例的数据可自愈,表明目标数据的数据结构与预设的数据结构之间的误差在预设范围内。本实施例的数据不可自愈,表明当前目标数据的数据结构与预设的数据结构之间的误差已超出预设范围。其中,预设范围的设定可以根据使用场景和开发人员的使用经验进行设定。
在步骤S430,发送数据非法信息至对应的业务模块提示修改。
可选地,本实施例中的业务模块组与校验器对象队列之间采用发布订阅模式进行消息通信。
具体地,本实施例根据校验结果调整校验器对象队列,并在调整校验器对象队列工作状态后,通过校验器管理层将目标数据对应的数据非法信息发送至业务接口层。业务接口层接收数据非法信息,并通过广播的方式向当前校验器对象对应的业务模块发送数据非法信息,用以提示用户修改当前目标数据。
在步骤S440,确定是否有接收到修改完成信息。
本实施例中,若数据校验系统未接收到修改完成信息,执行步骤S450,发送保存失败消息。若数据校验系统有接收到修改完成信息,执行步骤S460,重启校验器对象队列,以校验修改数据。
在步骤S450,响应于未接收到修改完成信息,向对应的业务模块发送保存失败消息。
本实施例中,若用户未修改目标数据或者校验管理层在预设的一定时间内未接收到业务模块层反馈的修改完成信息,则由校验管理层向业务接口层发送保存失败消息。业务接口层接收保存失败消息并将保存失败消息发送至对应的业务模块,以提示用户本次保存操作失败。
在步骤S460,响应于接收到修改完成信息,重启校验器对象队列,以校验修改数据,其中,修改数据为当前非法目标数据修改后对应的数据。
本实施例中,业务接口层在接收到业务模块层反馈的修改完成信息后,向校验器对象管理层发送校验器对象队列重启指令,重启校验器对象队列。校验器管理层在接收到校验器对象队列重启指令后,将校验器对象队列由暂停状态调整至执行状态,或者将校验器对象队列由闲置状态调整至执行状态。
进一步地,在校验修改数据时,若校验器对象队列由暂停状态调整为执行状态,则调用当前校验器对象校验修改数据,也即调用校验出目标数据为非法数据的校验器对象重新校验修改数据。
进一步地,在校验修改数据时,若校验器对象队列由闲置状态调整为执行状态,则需要重新构建校验器对象队列重新进行校验。
图6是本发明实施例的数据校验过程的流程图,如图6所示,本实施例的数据校验过程包括以下步骤:
在步骤S510,用户保存数据。
本实施例中,基于用户的保存操作触发数据校验方法的执行。
在步骤S520,配置校验器对象。
本实施例中,通过Promise异步操作封装校验逻辑,以完成校验器对象的配置。
进一步地,本实施例的校验器对象与业务模块一一对应。各业务模块包括至少一个目标表单。各目标表单包括至少一个目标数据。每个校验器对象中封装有用于校验对应业务模块内目标数据的校验逻辑。
在步骤S530,构建校验器对象队列。
本实施例中,根据系统配置文件和用户操作确定待校验业务模块组,并按照待校验业务模块组中各待校验业务模块的排列顺序,将各待校验业务模块对应的校验器对象进行排列,构建出校验器对象队列。
在步骤S540,执行校验流程。
本实施例中,通过校验器管理层管理校验器对象队列,并控制对应的校验器对象开始执行校验流程。
在步骤S550,判断校验器对象队列是否为空。
本实施例中,响应于校验器对象队列为空,执行步骤S560。响应于校验器对象队列不为空,执行步骤S610。
具体地,在首次校验过程中,校验器对象队列中的校验器对象数量为全部待使用的校验器对象的数量。在执行数据校验方法返回步骤S550时,校验器对象队列中的校验器对象数量为校验器对象队列中当前校验器对象之后的校验器对象数量。当校验器对象队列中的校验器数量为零时,确定校验器对象队列为空,当校验器对象队列中的校验器数量不为零时,确定校验器对象队列不为空。
在步骤S560,响应于校验器对象队列为空,发送保存成功消息。
本实施例中,校验器管理层响应于校验器对象队列为空,通过业务接口层向业务模块层发送保存成功信息,以提示用户目标表单保存成功。
在步骤S610,响应于校验器对象队列不为空,依次选取校验器对象队列中的校验器对象校验对应的待校验业务模块。
具体地,在校验过程中,按照对头到队尾的顺序依次选取校验器对象队列中的校验器对象。
在步骤S620,根据校验结果判断校验是否通过。
可选地,本步骤中的校验结果为当前校验器对象校验对应的待校验业务模块后对应的校验结果,并由校验器对象基于异步操作的方式输出。
进一步地,本实施例中,响应于校验结果表征校验通过,将对应的校验器对象从校验器对象队列中移出,返回执行步骤S550。响应于校验结果表征校验未通过,继续执行步骤S630。
其中,校验结果表征校验未通过,表明当前校验的目标数据的数据结构与预设的数据结构不一致,当前目标数据非法。校验结果表征校验通过,表明当前校验的目标数据的数据结构与预设的数据结构一致,当前目标数据合法。
在步骤S630,响应于校验结果表征校验未通过,调整校验器对象队列的工作状态。
本实施例中,响应于校验结果表征校验未通过以及当前目标数据可自愈,将校验器对象队列的工作状态由执行状态调整为暂停状态。响应于校验结果表征校验未通过以及当前目标数据不可自愈,将校验器对象队列的工作状态由执行状态调整为闲置状态。
在步骤S640,判断校验器管理层是否接收到修改完成信息。
本实施例中,在校验结果表征校验未通过时,校验器管理层会发送非法信息给对应的业务模块,以提示用户进行修改。
具体地,校验器管理层将非法信息发送给业务接口层,并由业务接口层以广播的形式发送给业务模块层中对应的业务模块。在业务模块接收到非法信息之后,业务接口层订阅监听事件,监听业务模块发送的修改完成信息,并在接收到修改完成信息后将修改完成信息传递至校验器管理层。
本实施例中,响应于校验器管理层接收到修改完成信息,执行步骤S660。响应于校验器管理层未接收到修改完成信息,执行步骤S650。
在步骤S650,响应于校验器管理层未接收到修改完成信息,向用户发送保存失败消息。
在步骤S660,响应于校验器管理层接收到修改完成信息,确定非法数据是否可自愈。
本实施例中,修改数据为当前非法目标数据修改后对应的数据。在重启校验器对象队列时,将校验器对象队列的工作状态由当前的闲置状态或暂停状态调整为执行状态。
进一步地,若修改前的非法数据可自愈,校验器对象队列的工作状态由暂停状态调整为执行状态,返回执行步骤S550,并调用当前校验器对象也即校验出修改前目标数据非法的校验器对象校验修改数据。
进一步地,若修改前的非法数据不可自愈,校验器对象队列的工作状态由闲置状态调整为执行状态,返回执行步骤S530,重新构建校验器对象队列,并执行后续的校验步骤校验修改数据。
本发明实施例的技术方案通过获取待校验业务模块组,根据待校验业务模块组生成校验器对象队列,并基于校验器对象队列执行校数据校验流程,能够简化数据校验流程,降低数据校验复杂度。同时,通过校验器对象队列中的校验器对象分别校验对应业务模块内的目标表单,建立表单与业务模块以及业务模块与校验器对象之间的对应的关系,能够降低数据校验过程中不同表单数据之间的耦合性,进一步降低数据校验复杂度,提高数据校验效率,降低数据校验成本。
图7是本发明实施例的电子设备的示意图。如图7所示,图7所示的电子设备为通用地址查询装置,其包括通用的计算机硬件结构,其至少包括处理器71和存储器72。处理器71和存储器72通过总线73连接。存储器72适于存储处理器71可执行的指令或程序。处理器71可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器71通过执行存储器72所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线73将上述多个组件连接在一起,同时将上述组件连接到显示控制器74、显示装置以及输入/输出(I/O)装置75。输入/输出(I/O)装置75可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置75通过输入/输出(I/O)控制器76与系统相连。
其中,存储器72可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种数据校验方法,其特征在于,所述方法包括:
获取待校验业务模块组,所述待校验业务模块组包括至少一个待校验业务模块,各所述待校验业务模块包括至少一个目标表单;
根据所述待校验业务模块组生成校验器对象队列,所述校验器对象队列包括至少一个校验器对象,所述校验器对象用于校验对应业务模块的目标表单;
基于所述校验器对象队列执行数据校验流程。
2.根据权利要求1所述的数据校验方法,其特征在于,所述校验器对象与目标表单一一对应;
所述根据所述待校验业务模块组生成校验器对象队列具体为:
根据各所述待校验业务模块内的目标表单对应的校验器对象生成校验器对象队列。
3.根据权利要求1所述的数据校验方法,其特征在于,所述校验器对象与业务模块一一对应;
所述根据所述待校验业务模块组生成校验器对象队列具体为:
根据各所述待校验业务模块对应的校验器对象生成校验器对象队列。
4.根据权利要求1所述的数据校验方法,其特征在于,所述基于所述校验器对象队列执行数据校验流程包括:
依次选取所述校验器对象队列中的校验器对象校验对应的待校验业务模块;
输出校验结果,所述校验结果为当前校验器对象校验完成对应的校验结果。
5.根据权利要求4所述的数据校验方法,其特征在于,所述输出校验结果具体为:
通过异步操作输出校验结果。
6.根据权利要求4所述的数据校验方法,其特征在于,所述基于所述校验器对象队列执行数据校验流程还包括:
响应于所述校验结果表征校验通过,确定校验器对象数量,所述校验器对象数量用于表征所述校验器对象队列中位于所述当前校验器对象之后的校验器对象的数量;
响应于所述校验器对象数量为零,向对应的业务模块发送保存成功消息;
响应于所述校验器对象数量不为零,选取当前校验器对象之后的校验器对象校验对应的目标数据。
7.根据权利要求4所述的数据校验方法,其特征在于,所述基于所述校验器对象队列执行数据校验流程还包括:
响应于当前校验器输出的校验结果表征校验未通过,执行非法数据处理流程。
8.根据权利要求7所述的数据校验方法,其特征在于,所述执行非法数据处理流程包括:
根据所述校验结果调整所述校验器对象队列的工作状态;
发送数据非法信息至对应的业务模块提示修改。
9.根据权利要求8所述的数据校验方法,其特征在于,所述工作状态包括执行状态、暂停状态和闲置状态;
所述根据所述校验结果调整所述校验器对象队列的工作状态包括:
响应于所述校验结果表征数据可自愈,将所述校验器对象队列的工作状态由执行状态调整为暂停状态,所述数据可自愈为所述目标数据与预设数据的误差在预设范围内;
响应于所述校验结果表征数据不可自愈,将所述校验器对象队列的工作状态由执行状态调整为闲置状态。
10.根据权利要求8所述的数据校验方法,其特征在于,在所述发送数据非法信息至对应的业务模块提示修改之后,所述执行非法数据处理流程还包括:
响应于接收到修改完成信息,重启校验器对象队列,以校验修改数据。
11.根据权利要求8所述的数据校验方法,其特征在于,所述执行非法数据流程还包括:
响应于未接收到修改完成信息,向所述业务模块发送保存失败消息。
12.根据权利要求1所述的数据校验方法,其特征在于,所述业务模块组与校验器对象队列之间采用发布订阅模式进行消息通信。
13.根据权利要求1所述的数据校验方法,其特征在于,所述待校验业务模块组基于以下步骤确定:
确定目标页面的业务模块;
根据配置文件确定所述目标页面的一类模块,所述一类模块为配置文件指定默认进行校验的业务模块;
根据用户操作确定所述目标页面的二类模块,所述二类模块为接收到用户操作的业务模块;
根据所述一类模块和二类模块的并集确定所述待校验业务模块组。
14.一种数据校验系统,其特征在于,所述系统包括:
业务模块层,包括至少一个业务模块,所述业务模块内存储有至少一个目标表单;
校验器管理层,用于根据待校验业务模块组生成校验器对象队列,并管理校验器对象队列以执行数据校验流程,所述校验器对象队列包括至少一个校验器对象,所述校验器对象用于校验对应业务模块的目标表单;
业务接口层,用于实现所述业务模块和校验器对象队列之间的消息通信。
15.一种计算机程序产品,包括计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1所述方法的步骤。
16.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现权利要求1-13中任一项所述的方法。
17.一种可读存储介质,其特征在于,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-13中任一项所述的方法步骤。
CN202011592694.4A 2020-12-29 2020-12-29 数据校验方法、系统、计算机程序产品和电子设备 Pending CN112613298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011592694.4A CN112613298A (zh) 2020-12-29 2020-12-29 数据校验方法、系统、计算机程序产品和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011592694.4A CN112613298A (zh) 2020-12-29 2020-12-29 数据校验方法、系统、计算机程序产品和电子设备

Publications (1)

Publication Number Publication Date
CN112613298A true CN112613298A (zh) 2021-04-06

Family

ID=75248762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011592694.4A Pending CN112613298A (zh) 2020-12-29 2020-12-29 数据校验方法、系统、计算机程序产品和电子设备

Country Status (1)

Country Link
CN (1) CN112613298A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377417A (zh) * 2021-06-29 2021-09-10 中国平安财产保险股份有限公司 表单数据的校验方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206840A1 (en) * 2005-03-08 2006-09-14 Toshiba America Electronic Components Systems and methods for design verification using selectively enabled checkers
WO2017215650A1 (zh) * 2016-06-17 2017-12-21 北京奇虎科技有限公司 微端的自动登录方法、装置、程序及介质
CN108959218A (zh) * 2018-04-26 2018-12-07 北京五八信息技术有限公司 表单验证方法及装置、电子设备和计算机可读存储介质
CN109284198A (zh) * 2017-07-21 2019-01-29 北京京东尚科信息技术有限公司 一种校验数据的方法和装置
CN110765422A (zh) * 2018-07-25 2020-02-07 北京京东尚科信息技术有限公司 一种参数校验方法和装置
US10579449B1 (en) * 2018-11-02 2020-03-03 Dell Products, L.P. Message queue architectures framework converter
CN111338746A (zh) * 2019-12-31 2020-06-26 南京控维通信科技有限公司 基于vue的校验表单组件实现方法
CN111539198A (zh) * 2020-04-15 2020-08-14 北京宝兰德软件股份有限公司 一种基于Java的表单验证方法及装置
CN111563075A (zh) * 2020-05-06 2020-08-21 政采云有限公司 一种业务校验系统、方法及设备和存储介质
CN111737528A (zh) * 2020-06-23 2020-10-02 Oppo(重庆)智能科技有限公司 一种数据采集校验方法、装置、电子设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206840A1 (en) * 2005-03-08 2006-09-14 Toshiba America Electronic Components Systems and methods for design verification using selectively enabled checkers
WO2017215650A1 (zh) * 2016-06-17 2017-12-21 北京奇虎科技有限公司 微端的自动登录方法、装置、程序及介质
CN109284198A (zh) * 2017-07-21 2019-01-29 北京京东尚科信息技术有限公司 一种校验数据的方法和装置
CN108959218A (zh) * 2018-04-26 2018-12-07 北京五八信息技术有限公司 表单验证方法及装置、电子设备和计算机可读存储介质
CN110765422A (zh) * 2018-07-25 2020-02-07 北京京东尚科信息技术有限公司 一种参数校验方法和装置
US10579449B1 (en) * 2018-11-02 2020-03-03 Dell Products, L.P. Message queue architectures framework converter
CN111338746A (zh) * 2019-12-31 2020-06-26 南京控维通信科技有限公司 基于vue的校验表单组件实现方法
CN111539198A (zh) * 2020-04-15 2020-08-14 北京宝兰德软件股份有限公司 一种基于Java的表单验证方法及装置
CN111563075A (zh) * 2020-05-06 2020-08-21 政采云有限公司 一种业务校验系统、方法及设备和存储介质
CN111737528A (zh) * 2020-06-23 2020-10-02 Oppo(重庆)智能科技有限公司 一种数据采集校验方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
吴啸鹏;孙建伶;: "语义Web技术在基金数据校验中的应用", 江南大学学报(自然科学版), no. 05, 30 October 2006 (2006-10-30) *
张增波;陈仲林;肖刘;: "基于FPGA的内置并行CRC校验的UART", 自动化与仪表, no. 02, 15 February 2013 (2013-02-15) *
聂常红;: "基于Struts2的数据输入处理的应用研究", 信息技术与信息化, no. 10, 25 October 2016 (2016-10-25) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113377417A (zh) * 2021-06-29 2021-09-10 中国平安财产保险股份有限公司 表单数据的校验方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
EP4120166A1 (en) Blockchain message processing method and apparatus, computer and readable storage medium
US20190158626A1 (en) Method, apparatus and computer readable storage medium for processing service
CN103106186A (zh) 一种表单校验方法及系统
CN110750415B (zh) 接口服务配置方法、装置、介质和计算机设备
CN113806037A (zh) 服务的调用方法、装置、存储介质及电子设备
CN108900627B (zh) 一种网络请求方法、终端装置及存储介质
CN111988418B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN109040263B (zh) 基于分布式系统的业务处理方法及装置
CN110138753B (zh) 分布式消息服务系统、方法、设备及计算机可读存储介质
CN112613298A (zh) 数据校验方法、系统、计算机程序产品和电子设备
CN109948332A (zh) 一种物理机登录密码重置方法及装置
CN104731564A (zh) 系统接口调用记录的生成方法和装置
CN108345508B (zh) 接口调用测试方法和装置
CN111131440B (zh) 资源调度方法、装置和服务器
CN103024545B (zh) 一种机顶盒的操作系统启动方法及机顶盒、服务器
CN106131020B (zh) 一种防火墙虚拟化的模块以及管理方法
CN111857985A (zh) 浏览器插件的调用方法、装置、存储介质及终端
CN114003384B (zh) 任务管理的方法、装置和设备
CN111740851A (zh) 配置报文生成方法、设备以及系统
US10038604B2 (en) Processing method and apparatus for signaling tracing
CN106301906B (zh) 基于分布式系统的对象配置方法及装置
CN111865935B (zh) 一种数据传输系统
CN113919821A (zh) 业务的流转方法、装置、计算机设备和存储介质
CN113965360A (zh) 智能设备云服务器接入方法、装置、介质、设备和系统
CN110213322B (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