数据校验方法、数据容错方法及装置制造方法及图纸

技术编号:16101689 阅读:96 留言:0更新日期:2017-08-29 22:28
本申请提供一种数据校验方法、数据容错方法及装置。数据校验方法包括:获取待校验数据;获取数据校验规则,数据校验规则包括待校验数据中数据对象的校验规则;根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。本申请可以对数据进行正确性校验,实现对数据更细粒度的校验。

【技术实现步骤摘要】
数据校验方法、数据容错方法及装置
本申请涉及通信
,尤其涉及一种数据校验方法、数据容错方法及装置。
技术介绍
现在各种手机应用(Application,App),例如淘宝、支付宝、微信、QQ等,都依赖于服务端提供的数据,客户端的工作就是把这些数据通过友好的方式展示在用户界面上。然而,服务端发来的数据并不总是正确的,例如数据在传输过程中出现了信息丢失、破损等现象。这时,客户端拿到的就是异常的数据,基于异常的数据无法渲染出正常的用户界面,可能导致白屏甚至崩溃(crash)。现有的解决方案,一般都是在获取数据之后,通过消息摘要的方式对整个数据进行校验,保证数据的完整性。这种方式的缺点是校验的粒度太粗,消息摘要只能说明数据在传输过程中是否损坏,却不能说明数据是否正确。
技术实现思路
本申请的多个方面提供一种数据校验方法、数据容错方法及装置,用以对数据进行正确性校验,实现对数据更细粒度的校验。本申请的一方面,提供一种数据校验方法,包括:获取待校验数据;获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。本申请的另一方面,提供一种数据容错方法,包括:获取未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息;根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。本申请的又一方面,提供一种数据校验装置,包括:数据获取模块,用于获取待校验数据;规则获取模块,用于获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;校验模块,用于根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。本申请的又一方面,提供一种数据容错装置,包括:获取模块,用于获取未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息;容错模块,用于根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。在本申请中,获取待校验数据对象的数据校验规则,该数据校验规则中包括待校验数据中数据对象的校验规则,根据该数据校验规则和待校验数据中数据对象之间的层次关系,可以对待校验数据中的各数据对象进行校验,进而获得该待校验数据是否正确的结果,达到对数据的正确性进行校验的目的,与现有技术相比,能够从更细粒度上对数据进行校验。进一步,本申请还可以针对未通过正确性校验的数据,根据该数据中错误数据对象的信息对该数据进行修正处理,以获容错数据,容错处理更加准确,有利于提高容错效率。【附图说明】为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请一实施例提供的数据校验方法的流程示意图;图2为本申请另一实施例提供的数据校验方法的流程示意图;图3为本申请又一实施例提供的数据容错方法的流程示意图;图4和图5为本申请又一实施例提供的图片展示位置与图片URL之间的对应关系示意图;图6为本申请又一实施例提供的数据校验装置的结构示意图;图7为本申请又一实施例提供的数据容错装置的结构示意图。【具体实施方式】为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。图1为本申请一实施例提供的数据校验方法的流程示意图。如图1所示,该方法包括:101、获取待校验数据。102、获取数据校验规则,该数据校验规则包括待校验数据中数据对象的校验规则。103、根据上述数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。本实施例提供一种数据校验方法,可由数据校验装置来执行,用以对数据的正确性进行校验。在实际应用中,客户端与服务端之间一般会进行数据传输。客户端可以接收服务端发送的数据,服务端也可以接收客户端上报的数据。无论是客户端还是服务端,其接收到的数据有可能是异常数据,而基于异常的数据均无法执行相应业务。例如,客户端基于异常的数据就无法渲染出正常的用户界面,可能导致白屏甚至崩溃(crash)。服务端基于异常的数据就无法识别出客户端的请求等。在现有技术中,可以采用消息摘要的方式,对整个数据进行校验,保证数据的完整性。这种通过消息摘要的校验方式,只能说明数据在传输过程中是否损坏,却不能说明数据是否正确。举个例子,客户端需要展示一张图片,此时需要从服务端获得这张图片的统一资源定位符(UniformResourceLocator,URL)地址,而服务端由于某个原因,传输给客户端的图片的URL地址最后少了一个字符,也就是说服务端发出的数据本身就是不正确的。如果在数据传输过程中没有出现错误,则该数据在客户端就能通过完整性校验,但是这份数据实际上是不正确的,所以客户端无法展示出图片。针对上述问题,本实施例提供一种数据校验方法,具体原理如下:首先,需要获取待校验数据。本实施例不对待校验数据进行限制,凡是需要进行正确性校验的数据均可以作为本实施例中的待校验数据。举例说明,待校验数据可以是商品的详情数据、游戏数据、应用插件、网页内容、URL地址等。在一具体实施方式中,数据校验装置作为客户端,可以接收服务端发送的数据,将接收到的数据作为待校验数据。为了对待校验数据进行校验,还需要获取待校验数据对应的数据校验规则,该数据校验规则包括待校验数据中数据对象的校验规则。可选的,该数据校验规则中数据对象的校验规则可以按照待校验数据中数据对象之间的层次关系定义的,即能够体现待校验数据中数据对象之间的层次关系。其中,待校验数据一般会采用一定编程语言实现,具有确定的数据结构,数据结构由采用的编程语言决定。一般不同编程语言支持不同的数据结构。待校验数据一般包括多个数据对象,待校验数据的数据结构决定了这些数据对象之间的层次关系,且各数据对象具有类型属性。本实施例不限定数据对象的类型,例如可是对象型、数组型、字符串型等。举例说明,本实施例的待校验数据可以是基于JSON(JavaScriptObjectNotationv)格式的数据(简称为JSON数据),相应的,数据校验规则可以是基于JSON模式(Schema)定义的校验规则。JSON模式是一种基于JSON格式定义JSON数据结构的规范。另外,本实施例的待校验数据还可以是其他它结构化数据,例如可扩展标记语言(ExtensibleMarkupLanguage,XML)格式的数据(简称为XML数据),相应的,数据校验规则可以是基于XML模式定义(XMLSchemasDefinition,XSD)定义的校验规则。XSD是一种基于XML格式定义XML数据结构的规范。例如,一种待校验的JSON数据以及基于JSON模式本文档来自技高网...
数据校验方法、数据容错方法及装置

【技术保护点】
一种数据校验方法,其特征在于,包括:获取待校验数据;获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。

【技术特征摘要】
1.一种数据校验方法,其特征在于,包括:获取待校验数据;获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。2.根据权利要求1所述的方法,其特征在于,所述根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验,包括:按照所述待校验数据中数据对象之间的层次关系,依次根据所述数据校验规则中数据对象的校验规则,对所述待校验数据中的相应数据对象进行正确性校验。3.根据权利要求2所述的方法,其特征在于,还包括:根据对所述待校验数据的正确性校验结果,输出校验报告,所述校验报告包括:所述待校验数据是否通过正确性校验的结果信息以及在所述结果信息表示所述待校验数据未通过正确性校验时所述待校验数据中错误数据对象的信息。4.根据权利要求1所述的方法,其特征在于,所述根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验之前,还包括:采用消息摘要的方式,对所述待校验数据的完整性进行校验;若所述待校验数据通过完整性校验,执行根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验的操作。5.根据权利要求1-4任一项所述的方法,其特征在于,所述待校验数据为结构化数据。6.一种数据容错方法,其特征在于,包括:获取未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息;根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。7.根据权利要求6所述的方法,其特征在于,所述根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据,包括:若本地存在所述待容错数据的旧版本数据,则根据所述旧版本数据和所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得所述容错数据。8.根据权利要求7所述的方法,其特征在于,所述根据所述旧版本数据和所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得所述容错数据,包括:根据所述错误数据对象中的信息,获取所述旧版本数据中对应所述错误数据对象的旧版本数据对象;用所述旧版本数据对象替换所述待容错数据中错误数据对象,以获得所述容错数据。9.根据权利要求6所述的方法,其特征在于,所述根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据,包括:根据所述错误数据对象的信息,从服务端重新获取所述错误数据对象对应的正确数据对象;用所述正确数据对象替换所述待容错数据中错误数据对象,以...

【专利技术属性】
技术研发人员:吕翔
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1