CN104426857A - 一种对客户端数据校验的方法、系统及装置 - Google Patents
一种对客户端数据校验的方法、系统及装置 Download PDFInfo
- Publication number
- CN104426857A CN104426857A CN201310375808.3A CN201310375808A CN104426857A CN 104426857 A CN104426857 A CN 104426857A CN 201310375808 A CN201310375808 A CN 201310375808A CN 104426857 A CN104426857 A CN 104426857A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- verification
- check
- built
- 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.)
- Granted
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种对客户端数据校验的方法、系统及装置,本发明设置具有多个数据单元的同一数据集,每一个数据单元设置内部校验规则和外部逻辑校验规则,将同一数据集发送给客户端,接收客户端反馈的已经输入客户端数据的同一数据集,针对每一个数据单元内的客户端数据,采用对应的内部校验规则和外部逻辑校验规则校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果。这样,本发明提供的方法、系统及装置就可以对单个客户端数据校验,而且能够对单个客户端数据之间的逻辑关系校验。
Description
技术领域
本发明涉及互联网领域,特别涉及一种对客户端数据校验的方法、系统及装置。
背景技术
在互联网应用中,对客户端数据的校验是基本需求。对客户端数据的校验可以通过客户端的浏览器或互联网网络侧的服务器完成,当校验确认客户端数据,诸如用户通过浏览器输入的客户端数据不正确时,可以进行提示并要求更正,以保证客户端数据符合互联网网络侧设置的服务规则。
通过客户端浏览器对客户端数据的校验
通过客户端浏览器对客户端数据的校验主要是通过嵌入浏览器页面的Java脚本及其链接的诸如JQuery衍生库实现。开发者针对可以嵌入到浏览器中的超文本标记语言(HTML)页面的表单控件,如文本输入、下拉菜单或复选框设置编写对应的校验脚本,该校验脚本定义了校验规则,从而限定用户通过客户端浏览器输入或选择数据符合服务规则。校验规则包括:输入非空、输入字符类型、输入字符长度或特殊格式等,其中,输入的字符类型可以为中英文、数字或特殊符号等,特殊格式可以为邮件、手机号码或身份证等。校验规则也可以采用正则表达式,理论上可以任意灵活。当用户通过浏览器访问具有校验规则的HTML页面时,校验脚本及链接的衍生库与HTML页面一起被下载到客户端浏览器上并运行,实现获取客户端数据的同时并被校验。
通过互联网网络侧的服务器对客户端数据的校验
通过客户端浏览器对客户端数据的校验依赖于客户端的浏览器运行环境,可能因为兼容性问题失效或被攻击者刻意绕过。因此,为了保证对客户端数据验证安全可靠,采用通过互联网网络侧的服务器对客户端数据的校验。服务器对客户端数据的校验基本原理与通过客户端浏览器对客户端数据的校验相同,主要区别在于前者的校验是在服务器上完成的,由客户端将通过浏览器输入的客户端数据发送给服务器上校验,不会受到客户端浏览器的兼容性和绕过浏览器提交客户端数据的影响。各种主流的互联网编程框架都对服务器进行客户端数据的校验提供了完善的支持,开发者只要编写可扩展标记语言(XML)格式的校验文件并设置在服务器中对应的HTML页面中,就可以实现对应的客户端数据校验。
当然,为了进一步提高客户端数据校验的安全性和可靠性,还可以同时通过客户端浏览器对客户端数据的校验及通过互联网网络侧的服务器对客户端数据的校验。
对客户端数据进行校验方法对于数据单元中输入的客户端数据能够很好地进行校验,并提示不合法的包括多个数据单元的数据段。但是,对于诸如网络调研等复杂场景下,客户端数据校验不仅取决于单个数据单元所输入客户端数据的校验,还取决于数据单元所输入客户端数据之间的逻辑关系校验,比如网络调研场景下的多个数据单元输入的客户端数据之间的互斥、跳转或/和隐藏等。因此,在对客户端数据进行校验时还需要对多个数据单元所输入客户端数据之间的逻辑关系校验,但是,目前还没有实现对多个数据单元所输入客户端数据之间的逻辑关系校验的方案。
发明内容
有鉴于此,本发明提供一种对客户端数据校验的方法,该方法不仅能够对单个客户端数据校验,而且能够对客户端数据之间的逻辑关系校验。
本发明还提供一种对客户端数据校验的系统,该系统不仅能够对单个客户端数据校验,而且能够对客户端数据之间的逻辑关系校验。
本发明还提供一种对客户端数据校验的装置,该装置不仅能够对单个客户端数据校验,而且能够对客户端数据之间的逻辑关系校验。
为达到上述目的,本发明实施的具体是这样实现的:
一种对客户端数据校验的方法,将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则该方法包括:
将同一数据集的多个数据单元发送给客户端,接收客户端反馈的分别输入客户端数据的多个数据单元;
对接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果;
汇总统计后作为同一数据集的校验结果。
所述汇总统计后作为同一数据集的校验结果为:
将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
该方法还包括:
根据内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据;
采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并。
该方法还包括:
根据同一数据集的校验结果进行统计时,忽略内部校验异常数据段内的数据单元输入的客户端数据,忽略外部校验异常数据段内的数据单元输入的客户端数据。
一种对客户端数据校验的装置,包括:业务服务器、持久化服务器及数据校验服务器,其中,
业务服务器,用于将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则,发送给持久化服务器存储;将同一数据集的多个数据单元发送给客户端;接收客户端反馈的同一数据集中的分别输入客户端数据的多个数据单元,发送给数据校验服务器;
持久化服务器,用于存储同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则;
数据校验服务器,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储到持久化服务器中。
数据校验服务器包括校验单元和确定单元,其中,
校验单元,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验。得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果;
确定单元,用于从校验单元获取得到该同一数据集的校验结果,存储到持久化服务器中。
所述验证单元,还用于将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
所述业务服务器,还用于根据从确认单元获取的同一数据集的内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据,发送给验证单元;
验证单元,还用于采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并,发送给确定单元。
一种对客户端数据校验的系统,包括:互联网网络侧的服务器及客户端,其中,
互联网网络侧的服务器,用于与客户端交互,将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则;将同一数据集的多个数据单元发送给客户端,接收客户端反馈的同一数据集中的分别输入客户端数据的多个数据单元,对该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储;
客户端,用于与互联网网络侧的服务器交互,发送同一数据集中的分别输入客户端数据的多个数据单元。
由上述方案可以看出,本发明设置具有多个数据单元的同一数据集,每一个数据单元设置内部校验规则和外部逻辑校验规则,将同一数据集发送给客户端,接收客户端反馈的已经输入客户端数据的同一数据集,针对每一个数据单元内的客户端数据,采用对应的内部校验规则和外部逻辑校验规则校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果。这样,本发明提供的方法、系统及装置就可以对单个客户端数据校验,而且能够对单个客户端数据之间的逻辑关系校验。
附图说明
图1为本发明实施例提供的一种对客户端数据校验的方法流程图;
图2为本发明实施例提供的一种对客户端数据校验的系统结构示意图;
图3为本发明实施例提供的一种对客户端数据校验的装置结构示意图;
图4为本发明实施例提供的对客户端数据校验的方法具体例子流程图;
图5为本发明实施例提供的互联网网络侧对同一数据集中的数据单元中输入的客户端数据校验的方法流程图;
图6为本发明实施例提供的对数据单元输入的客户端数据进行校验的具体方法流程图;
图7为本发明实施例提供的合法校验路径例子示意图;
图8为本发明实施例提供的一个内部校验异常数据段的实施例示意图;
图9为本发明实施例提供的一个外部校验异常数据段的实施例示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
本发明为了不仅对单个客户端数据校验,而且对客户端数据之间的逻辑关系校验,设置具有多个数据单元的同一数据集,每一个数据单元设置内部校验规则和外部逻辑校验规则,将同一数据集发送给客户端,接收客户端反馈的已经输入客户端数据的同一数据集,针对每一个数据单元内的客户端数据,采用对应的内部校验规则和外部逻辑校验规则校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果。
本发明通过互联网网络侧的服务器对客户端数据的校验,在互联网网络侧的服务器增加了数据校验服务器,实现对客户端数据的内部校验和外部逻辑校验。所设置的数据校验服务器不仅校验同一数据集中单个数据单元中的客户端数据是否符合校验规则,该校验规则称为内部校验规则;还可以进行同一数据集中各个数据单元中的客户端数据之间的逻辑关系,称为外部逻辑校验,在完成同一数据集中的每个数据单元中的客户端数据校验后,将校验结果合并,得到同一数据集的内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。数据校验服务器可以将内部校验异常数据段及外部校验异常数据段反馈给互联网网络侧的服务器端进行后续处理,比如提示客户端更换当前浏览器修正输入的客户端数据。如果客户端经互联网网络侧的服务器端传输给数据校验服务器的修正客户端数据通过校验,则将该修改正客户端数据与该同一数据集中的校验结果合并,构成合法的同一数据集。
本发明可以应用在网络调研或用户注册等业务服务中,也可以广泛存在各类互联网应用中,背景技术中对客户端数据主要针对的是单个客户端数据,例如在HTML页面嵌入校验脚本及其链接的JQuery库,就可以对单个客户端数据的输入格式及是否为空进行校验规则的限定,也能够实现简单的关系判断,例如判断输入的密码和输入的再次确认密码是否相等,但是无法实现对单个客户端数据之间的复杂逻辑关系进行判断。本发明考虑到一个用户注册的场景:根据用户的基本人口信息,比如地域、年龄或职业等请求用户输入相关的客户端数据。为了增强用户体验,互联网通常会采用异步请求或Java脚本对页面中输入的客户端数据进行隐藏或呈现,存在因为客户端的浏览器兼容性问题或安全设置导致的失效问题。如果不考虑输入的客户端数据之间逻辑关系,单个的客户端数据的输入是符合校验规则的,但是整体的客户端数据输入会存在问题。当按照属性进行统计分析时,输入的客户端数据之间逻辑关系就会对统计结果造成影响。举例来说,假定有些数据单元是针对男性的,有些数据单元是针对女性的,由于没有客户端数据之间逻辑关系的校验,导致一些用户在输入时,不仅输入针对男性的数据单元输入客户端数据,又针对女性的数据单元输入客户端数据,当按照“性别”属性进行分析时,得到的分析结果就是不准确的。
本发明就可以针对上述场景,将网络调研的每份问卷作为同一数据集,每份问卷对应一项服务。同一数据集采用校验脚本生成,校验脚本包括了单个数据单元的内部校验规则,还包括了各个数据单元之间逻辑的外部逻辑校验规则,逻辑可以为各个数据单元之间的互斥、跳转或/和隐藏等逻辑信息。这时,就可以将每份问卷中的每个题目称为单个数据单元,对应一个输入的客户端数据,输入可以采用HTML标准的输入或选择等输入控件实现,单个数据单元对应有零个或多个内部校验规则,以及零个或多个外部逻辑校验规则,取决于输入控件类型及针对该单个数据单元设置的校验规则,单个数据单元输入客户端数据可以为单值、多值或为空。
图1为本发明实施例提供的一种对客户端数据校验的方法流程图,其具体步骤为:
步骤101、将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则;
在该步骤中,事务为一次完整的客户端数据的获取,比如网络调研中的一份问卷,其中包含了多个数据单元;
在该步骤中,每个数据单元的内部校验规则就是针对该数据单元输入的客户端数据的校验,不涉及其他数据单元,每个数据单元的外部逻辑校验规则就是针对该数据单元输入的客户端数据与其他数据单元输入的客户端数据之间逻辑关系的校验;
步骤102、将承载同一数据集的多个数据单元的页面发送给客户端浏览器,接收客户端通过浏览器反馈的分别输入客户端数据的多个数据单元;
步骤103、对接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果;
步骤104、汇总统计后作为同一数据集的校验结果。
在该方法中,所述步骤104的过程为:
将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
在该方法中,在步骤104之后,该方法还包括:
根据内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据;
采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并。
在该方法中,在步骤104之后,该方法还包括:
根据同一数据集的校验结果进行统计时,忽略内部校验异常数据段内的数据单元输入的客户端数据,忽略外部校验异常数据段内的数据单元输入的客户端数据。
图2为本发明实施例提供的对客户端数据校验的装置结构示意图,包括:业务服务器、持久化服务器及数据校验服务器,其中,
业务服务器,与客户端浏览器交互,用户通过客户端浏览器访问该业务服务器,用于将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则,发送给持久化服务器存储;将承载同一数据集的多个数据单元的页面发送给客户端浏览器;接收客户端浏览器反馈的同一数据集中的分别输入客户端数据的多个数据单元,发送给数据校验服务器;
持久化服务器,用于存储同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则;
数据校验服务器,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储到持久化服务器中。
在该装置中,持久化服务器用于将业务服务器设置的同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则存储,并接受数据校验服务器的访问,存储同一数据集的校验结果。其底层实现可以是关系型数据、键值型数据库、半结构化数据库及文件等。
在该装置中,数据校验服务器包括校验单元和确定单元,其中,
校验单元,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验。得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果;
确定单元,用于从校验单元获取得到该同一数据集的校验结果,存储到持久化服务器中。
在该装置中,所述验证单元,还用于将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
在该装置中,所述业务服务器,还用于根据从确认单元获取的同一数据集的内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据,发送给验证单元;
验证单元,还用于采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并,发送给确定单元。
图3为本发明实施例提供的对客户端数据校验的系统结构示意图,包括:互联网网络侧的服务器及客户端,其中,
互联网网络侧的服务器,用于与客户端交互,将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则;将同一数据集的多个数据单元发送给客户端,接收客户端反馈的同一数据集中的分别输入客户端数据的多个数据单元,对该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储;
客户端,用于与互联网网络侧的服务器交互,发送同一数据集中的分别输入客户端数据的多个数据单元。
在该系统中,互联网网络侧的服务器包括:业务服务器、持久化服务器及数据校验服务器,其中,
业务服务器,与客户端浏览器交互,用户通过客户端浏览器访问该业务服务器,用于将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则,发送给持久化服务器存储;将承载同一数据集的多个数据单元的页面发送给客户端浏览器;接收客户端浏览器反馈的同一数据集中的分别输入客户端数据的多个数据单元,发送给数据校验服务器;
持久化服务器,用于存储同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则;
数据校验服务器,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储到持久化服务器中。
在该系统中,持久化服务器用于将业务服务器设置的同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则存储,并接受数据校验服务器的访问,存储同一数据集的校验结果。其底层实现可以是关系型数据、键值型数据库、半结构化数据库及文件等。
在该系统中,数据校验服务器包括校验单元和确定单元,其中,
校验单元,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验。得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果;
确定单元,用于从校验单元获取得到该同一数据集的校验结果,存储到持久化服务器中。
在该系统中,所述验证单元,还用于将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
在该系统中,所述业务服务器,还用于根据从确认单元获取的同一数据集的内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据,发送给验证单元;
验证单元,还用于采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并,发送给确定单元;
客户端,还用于接收所确定的异常数据单元,在所确定的异常数据单元输入修正客户端数据,发送给业务服务器。
图4为本发明实施例提供的对客户端数据校验的方法具体例子流程图,其具体步骤为:
步骤401、客户端访问互联网网络侧设置的业务服务器,获得同一数据集,其中包括多个数据单元;
步骤402、客户端通过浏览器在该多个数据单元输入客户端数据,发送给互联网网络侧设置的业务服务器;
步骤403、互联网网络侧设置的业务服务器将输入客户端数据的多个数据单元发送给数据校验服务器,进行校验流程,得到校验结果;
步骤404、互联网网络侧设置的业务服务器判断同一数据集中是否存在异常数据段,如果是,执行步骤405;如果否,则结束本流程;
步骤405、互联网网络侧设置的业务服务器确定是否将异常数据段标识的异常数据单元发送给客户端,如果是,则执行步骤406;如果否,则结束本流程;
步骤406、互联网网络侧设置的业务服务器将异常数据单元发送给客户端,返回步骤402执行。
在该方法中,业务服务器根据从数据议校验服务器接收到的校验结果,可以将校验结果发送给客户端的浏览器呈现。在必要情况下,可以根据所确定的异常数据单元生成新的数据单元,邀请客户端进行客户端数据的修正。在这个实施例中,可能处理的方式包括但不限于:1)提示可能因为客户端浏览器兼容性问题导致提交的客户端数据异常,并生成一个新的链接让用户更换兼容的客户端浏览器后对异常数据单元中的客户端数据修正;2)直接通过其他方式,比如短信等方式,不通过客户端浏览器,获取异常数据单元中的客户端数据修正;3)忽略异常数据单元中输入的客户端数据,在采用同一数据集进行数据分析时仅仅考虑正常数据单元中的客户端数据。
在该方法中,如果对异常数据单元中的客户端数据进行了修正,则再次校验,并在校验通过后更新已异常数据段,构成完整的“同一数据集”。
图5为本发明实施例提供的互联网网络侧对同一数据集中的数据单元中输入的客户端数据校验的方法流程图,其具体步骤为:
步骤501、业务服务器将接收到的同一数据集中的数据单元中输入的客户端数据发送到数据校验服务器中;
步骤502、数据校验服务器对接收到的同一数据集中的数据单元中输入的客户端数据分别采用设置的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,划分得到正常数据段和异常数据段;
步骤503、数据校验服务器将同一数据集的校验结果发送给持久服务器存储;
步骤504、数据校验服务器判断同一数据集中是否有异常数据段,如果是,执行步骤505;如果否,执行步骤506;
步骤505、数据校验服务器向业务服务器发送异常数据段,该异常数据段携带有异常数据单元标识及异常状态码;
步骤506、校验服务器向业务服务器发送成功状态码。
图6为本发明实施例提供的对数据单元输入的客户端数据进行校验的具体方法流程图,其具体步骤为:
步骤601、数据校验服务器顺序读取同一数据中输入客户端数据的数据单元,并从持久化服务器获取对应该数据单元的内部校验规则及外部逻辑校验规则;
步骤602、数据校验服务器检测该数据单元对应的内部校验规则;
步骤603、数据校验服务器判断该数据单元是否满足对应的内部校验规则,如果是,则执行步骤604;如果否,则执行步骤605;
步骤604、数据校验服务器将该数据单元放入到内部校验正常数据段中,转入步骤606;
步骤605、数据校验服务器将该数据单元放入到内部校验异常数据段中,转入步骤606;
步骤606、数据校验服务器根据外部逻辑校验规则确定该数据单元的上一数据单元到该数据单元的跳转是否合法,如果是,则转入步骤607;如果否,则转入步骤608;
步骤607、数据校验服务器将该数据单元放入到外部校验正常数据段中,转入步骤609;
步骤608、数据校验服务器将该数据单元放入到外部校验异常数据段中,转入步骤609;
步骤609、数据校验服务器将该数据单元从待校验数据单元队列中移除;
步骤610、校验服务器确认是否将同一数据集中的数据单元都检验完成,如果是,执行步骤611;如果否,则返回步骤601执行;
步骤611、数据校验服务器将校验结果存储。
在根据图6所述的过程对数据单元进行校验时,可能会产生:1)内部校验正常数据段G;2)内部校验异常数据段N;3)外部校验正常数据段GL;4)外部校验异常数据段NL。
为了实现数据单元之间的逻辑关系校验,数据校验服务器从持久化服务器读取同一数据集中的多个数据单元分别对应的内部校验规则和外部逻辑校验规则,得到如图7所示的合法校验路径例子示意图。在该合法校验路径示意图中,每个点对应一个数据单元,每个数据单元包括零个或多个内部校验规则,比如选项互斥校验规则,MUTEX[6:1,2,3,4,5]表示数据单元6和数据单元1,2,3,4,5互斥;每个数据单元还包括零个或多个外部逻辑校验规则,比如跳转,Q==1jumpto Q4表示如果数据单元Q2被选中,则跳转到数据单元Q4上。数据单元的内部校验规则设置取决于具体的应用场景需求。在网络调研应用场景中,常见的内部校验规则包括非空、正则表达式、选项互斥、选项数量及表格题型关系等等,常见的外部逻辑校验规则包括问题跳转、题目隐藏、题目显示、选项隐藏及选项显示等等。在这里需要注意,如果数据单元上不存在外部逻辑校验规则,则默认校验完该数据单元后直接顺序转到下一个数据单元上进行校验。
在进行校验时,对于同一数据集,校验服务器顺序检查同一数据集中的所有的数据单元。在检查每一数据单元时,不仅检查数据单元的内部校验规则,还检查数据单元的前一数据单元的转换是否合法。根据数据单元的内部校验规则及外部逻辑校验规则,要校验合法性的过程为:
a)数据单元的前一数据单元已经被加入到了内部校验正常数据段和外部校验正常数据段中,前一数据单元对应的所有外部逻辑校验规则都得到了满足;
b)数据单元的前一数据单元已经被加入到了内部校验异常数据段和外部校验正常数据段中,不存在与前一数据数据单元相关的外部逻辑校验规则,且前一数据单元对应的所有外部逻辑校验规则都得到了满足;这种情况多见于针对前一数据单元设置了无条件的跳转逻辑关系或默认的跳转逻辑关系上;
c)前一数据单元已经被加入了外部校验异常数据段,但是在外部正常数据段内存在某个数据单元,使得某个数据单元到本数据单元的转换是合法的。
图8为本发明实施例提供的一个内部校验异常数据段的实施例示意图。在该实施例中,在合法校验路径上,数据单元Q4的内部校验出现了异常,比如与数据单元Q6的互斥内部校验规则。因此,得到的该同一数据集中的校验结果为:内部校验正常数据段=[1,2,6,7],外部校验正常数据段=[1,2,4,6,7],内部校验异常数据段=[4]。
图9为本发明实施例提供的一个外部校验异常数据段的实施例。在该实施例中,每个数据单元输入的客户端数据的内部校验都是通过的,但是在进行外部校验时发现数据单元Q2=1应当可以跳转到数据单元Q4,所有数据单元Q3和数据单元Q4都被放入到一个外部校验异常数据段中。因此,图7得到该同一数据集中的校验结果为:内部校验正常数据段=[1,2,3,4,5,6,7],外部校验正常数据段=[1,2,4,6,7],外部校验异常数据段=[3,5],数据单元Q3的外部校验异常发生在数据单元Q2之后,数据单元Q5的外部校验异常发生在数据单元Q4之后。
优选地,数据校验服务器当得到校验结果后,再反馈业务服务器之前,可以事先对异常数据段进行处理,并以容错方式修正不影响数据单元输入的客户端数据使用的错误。以图9为例,校验结果显示尽管数据单元输入的客户端数据存在错误,但是只限于跳转错误,且能够将外部校验正常数据段作为合法验证路径,这种情况下,则反馈业务服务器时,只反馈一个警告信息,而非异常信息,避免业务服务器使得客户端重新输入数据单元的客户端数据。
本发明扩展了对客户端数据的校验范围,不仅能够验证数据单元输入的客户端数据是否符合内部校验规则,还可以验证数据单元输入的客户端数据之间的外部逻辑关系。
本发明采用分段方式汇总同一数据集的验证方法,进一步区分异常数据单元,可以实现对异常数据单元中输入的客户端数据修正或补录。这会赋予互联网网络侧提供服务较强的灵活性,互联网网络侧根据具体的情况,确定是否要求客户端补录,以何种形成补录或忽略异常数据单元,直接使用正常数据单元中输入的客户端数据。
以上举较佳实施例,对本发明的目的、技术方案和优点进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种对客户端数据校验的方法,其特征在于,将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则该方法包括:
将同一数据集的多个数据单元发送给客户端,接收客户端反馈的分别输入客户端数据的多个数据单元;
对接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果;
汇总统计后作为同一数据集的校验结果。
2.如权利要求1所述的方法,其特征在于,所述汇总统计后作为同一数据集的校验结果为:
将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
3.如权利要求2所述的方法,其特征在于,该方法还包括:
根据内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据;
采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并。
4.如权利要求2所述的方法,其特征在于,该方法还包括:
根据同一数据集的校验结果进行统计时,忽略内部校验异常数据段内的数据单元输入的客户端数据,忽略外部校验异常数据段内的数据单元输入的客户端数据。
5.一种对客户端数据校验的装置,其特征在于,包括:业务服务器、持久化服务器及数据校验服务器,其中,
业务服务器,用于将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则,发送给持久化服务器存储;将同一数据集的多个数据单元发送给客户端;接收客户端反馈的同一数据集中的分别输入客户端数据的多个数据单元,发送给数据校验服务器;
持久化服务器,用于存储同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则;
数据校验服务器,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储到持久化服务器中。
6.如权利要求5所述的装置,其特征在于,数据校验服务器包括校验单元和确定单元,其中,
校验单元,用于从持久化服务器获取到同一数据集中每个数据单元的内部校验规则及外部逻辑校验规则,对从业务服务器接收的该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验。得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果;
确定单元,用于从校验单元获取得到该同一数据集的校验结果,存储到持久化服务器中。
7.如权利要求6所述的装置,其特征在于,所述验证单元,还用于将同一数据集中的每个数据单元的校验结果合并,得到同一数据集的校验结果为:内部校验正常数据段,携带内部校验通过的数据单元标识;外部校验正常数据段,携带外部校验通过的数据单元标识;内部校验异常数据段,携带内部校验未通过的数据单元标识;外部校验异常数据段,携带外部校验未通过的数据单元标识及异常状态码。
8.如权利要求7所述的装置,其特征在于,所述业务服务器,还用于根据从确认单元获取的同一数据集的内部校验异常数据段及外部校验异常数据段,得到异常数据单元,承载在页面上发送给客户端或直接发送给客户端,接收客户端反馈的异常数据单元输入的修正客户端数据,发送给验证单元;
验证单元,还用于采用该异常数据单元的内部校验规则和外部逻辑校验规则校验输入的修正客户端数据,校验通过后,与该同一数据集的校验结果合并,发送给确定单元。
9.一种对客户端数据校验的系统,其特征在于,包括:互联网网络侧的服务器及客户端,其中,
互联网网络侧的服务器,用于与客户端交互,将事务的多个数据单元组成同一数据集,设置每个数据单元的内部校验规则及外部逻辑校验规则;将同一数据集的多个数据单元发送给客户端,接收客户端反馈的同一数据集中的分别输入客户端数据的多个数据单元,对该同一数据集中的每一个数据单元中输入的客户端数据,分别采用对应的内部校验规则和外部逻辑校验规则进行校验,得到每个数据单元的校验结果,汇总统计后作为同一数据集的校验结果,存储;
客户端,用于与互联网网络侧的服务器交互,发送同一数据集中的分别输入客户端数据的多个数据单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375808.3A CN104426857B (zh) | 2013-08-26 | 2013-08-26 | 一种对客户端数据校验的方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375808.3A CN104426857B (zh) | 2013-08-26 | 2013-08-26 | 一种对客户端数据校验的方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426857A true CN104426857A (zh) | 2015-03-18 |
CN104426857B CN104426857B (zh) | 2018-10-12 |
Family
ID=52974814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310375808.3A Active CN104426857B (zh) | 2013-08-26 | 2013-08-26 | 一种对客户端数据校验的方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104426857B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107102908A (zh) * | 2016-02-19 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 数据校验方法、数据容错方法及装置 |
CN107430859A (zh) * | 2015-04-08 | 2017-12-01 | 谷歌公司 | 将输入映射到表单域 |
CN107741951A (zh) * | 2017-09-08 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 页面数据处理方法、装置及电子设备 |
CN107896224A (zh) * | 2017-12-04 | 2018-04-10 | 宁波升维信息技术有限公司 | 一种基于双链路安全校验的网络信息发布方法 |
CN109117300A (zh) * | 2018-07-03 | 2019-01-01 | 千寻位置网络有限公司 | 数据的校验方法及系统、定位终端 |
CN109474578A (zh) * | 2018-10-17 | 2019-03-15 | 平安健康保险股份有限公司 | 报文消息校验方法、装置、计算机设备和存储介质 |
CN109710721A (zh) * | 2018-12-27 | 2019-05-03 | 深圳市海能达通信有限公司 | 用户数据处理方法、gnss源模拟器、存储介质及计算机设备 |
CN110675955A (zh) * | 2019-08-15 | 2020-01-10 | 深圳大学 | 心理健康预警和管理方法、系统、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151602A (en) * | 1997-11-07 | 2000-11-21 | Inprise Corporation | Database system with methods providing a platform-independent self-describing data packet for transmitting information |
CN101437031A (zh) * | 2008-12-03 | 2009-05-20 | 腾讯科技(深圳)有限公司 | 计算机网络数据的传输处理方法与系统 |
CN103106186A (zh) * | 2013-01-22 | 2013-05-15 | 百度在线网络技术(北京)有限公司 | 一种表单校验方法及系统 |
-
2013
- 2013-08-26 CN CN201310375808.3A patent/CN104426857B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151602A (en) * | 1997-11-07 | 2000-11-21 | Inprise Corporation | Database system with methods providing a platform-independent self-describing data packet for transmitting information |
CN101437031A (zh) * | 2008-12-03 | 2009-05-20 | 腾讯科技(深圳)有限公司 | 计算机网络数据的传输处理方法与系统 |
CN103106186A (zh) * | 2013-01-22 | 2013-05-15 | 百度在线网络技术(北京)有限公司 | 一种表单校验方法及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107430859A (zh) * | 2015-04-08 | 2017-12-01 | 谷歌公司 | 将输入映射到表单域 |
CN107102908A (zh) * | 2016-02-19 | 2017-08-29 | 阿里巴巴集团控股有限公司 | 数据校验方法、数据容错方法及装置 |
CN107741951A (zh) * | 2017-09-08 | 2018-02-27 | 阿里巴巴集团控股有限公司 | 页面数据处理方法、装置及电子设备 |
CN107741951B (zh) * | 2017-09-08 | 2021-05-25 | 创新先进技术有限公司 | 页面数据处理方法、装置及电子设备 |
CN107896224A (zh) * | 2017-12-04 | 2018-04-10 | 宁波升维信息技术有限公司 | 一种基于双链路安全校验的网络信息发布方法 |
CN109117300A (zh) * | 2018-07-03 | 2019-01-01 | 千寻位置网络有限公司 | 数据的校验方法及系统、定位终端 |
CN109474578A (zh) * | 2018-10-17 | 2019-03-15 | 平安健康保险股份有限公司 | 报文消息校验方法、装置、计算机设备和存储介质 |
CN109710721A (zh) * | 2018-12-27 | 2019-05-03 | 深圳市海能达通信有限公司 | 用户数据处理方法、gnss源模拟器、存储介质及计算机设备 |
CN110675955A (zh) * | 2019-08-15 | 2020-01-10 | 深圳大学 | 心理健康预警和管理方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104426857B (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104426857A (zh) | 一种对客户端数据校验的方法、系统及装置 | |
CN110602052B (zh) | 微服务处理方法及服务器 | |
US9239705B2 (en) | Method and apparatus for customized software development kit (SDK) generation | |
US20120216251A1 (en) | Security restructuring for web media | |
US9436439B2 (en) | Method and apparatus for code virtualization and remote process call generation | |
CN107450919A (zh) | 业务流程管理方法、设备及计算机可读存储介质 | |
CN104205721A (zh) | 情景感知自适应认证方法和装置 | |
KR20180089564A (ko) | 광고 내의 광고주 식별자의 자동 검증 | |
CN106656953A (zh) | 一种基于互联网的系统间安全调用接口实现方法 | |
CN103198130A (zh) | 在客户端处实现与网页统一的登录的方法和装置 | |
CN101539974A (zh) | 检测、捕获以及处理有效登录凭证 | |
CN102187314A (zh) | 可视地建模、调试和执行面向资源的程序的交互式设计环境 | |
CN102075507A (zh) | 一种用于基于词句验证图进行用户验证的方法与设备 | |
CN107995153B (zh) | 表单数据验证方法及表单数据验证装置 | |
JP6422583B2 (ja) | ウェブページ上で認証情報を提供する方法、装置、システム、記憶媒体、プログラム、及びコンピュータ装置 | |
CN103310139A (zh) | 一种输入验证方法和输入验证装置 | |
CN104049972A (zh) | 一种数据验证方法及系统 | |
CN104598218A (zh) | 用于合并和重用门户信息的方法和系统 | |
WO2007062026A2 (en) | Distributed content exchange and presentation system | |
US12013930B2 (en) | Data integrity with trusted code attestation tokens | |
CN104025089B (zh) | 基于情形的爬行的方法和系统 | |
CN109857634A (zh) | 接口测试参数校验方法、装置、电子设备及存储介质 | |
CN117435106A (zh) | 一种页面生成方法、装置、电子设备及存储介质 | |
CN112148334A (zh) | 固件升级方法、装置、系统、终端、灯具和存储介质 | |
CN115811513A (zh) | 第三方接口请求设计方法、装置、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |