CN107102908B - 数据校验方法、数据容错方法及装置 - Google Patents

数据校验方法、数据容错方法及装置 Download PDF

Info

Publication number
CN107102908B
CN107102908B CN201610092200.3A CN201610092200A CN107102908B CN 107102908 B CN107102908 B CN 107102908B CN 201610092200 A CN201610092200 A CN 201610092200A CN 107102908 B CN107102908 B CN 107102908B
Authority
CN
China
Prior art keywords
data
verified
fault
verification
tolerant
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.)
Active
Application number
CN201610092200.3A
Other languages
English (en)
Other versions
CN107102908A (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610092200.3A priority Critical patent/CN107102908B/zh
Publication of CN107102908A publication Critical patent/CN107102908A/zh
Application granted granted Critical
Publication of CN107102908B publication Critical patent/CN107102908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据校验方法、数据容错方法及装置。数据校验方法包括:获取待校验数据;获取数据校验规则,数据校验规则包括待校验数据中数据对象的校验规则;根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。本申请可以对数据进行正确性校验,实现对数据更细粒度的校验。

Description

数据校验方法、数据容错方法及装置
【技术领域】
本申请涉及通信技术领域,尤其涉及一种数据校验方法、数据容错方法及装置。
【背景技术】
现在各种手机应用(Application,App),例如淘宝、支付宝、微信、QQ等,都依赖于服务端提供的数据,客户端的工作就是把这些数据通过友好的方式展示在用户界面上。然而,服务端发来的数据并不总是正确的,例如数据在传输过程中出现了信息丢失、破损等现象。这时,客户端拿到的就是异常的数据,基于异常的数据无法渲染出正常的用户界面,可能导致白屏甚至崩溃(crash)。
现有的解决方案,一般都是在获取数据之后,通过消息摘要的方式对整个数据进行校验,保证数据的完整性。这种方式的缺点是校验的粒度太粗,消息摘要只能说明数据在传输过程中是否损坏,却不能说明数据是否正确。
【发明内容】
本申请的多个方面提供一种数据校验方法、数据容错方法及装置,用以对数据进行正确性校验,实现对数据更细粒度的校验。
本申请的一方面,提供一种数据校验方法,包括:
获取待校验数据;
获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;
根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。
本申请的另一方面,提供一种数据容错方法,包括:
获取未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息;
根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。
本申请的又一方面,提供一种数据校验装置,包括:
数据获取模块,用于获取待校验数据;
规则获取模块,用于获取数据校验规则,所述数据校验规则包括所述待校验数据中数据对象的校验规则;
校验模块,用于根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验。
本申请的又一方面,提供一种数据容错装置,包括:
获取模块,用于获取未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息;
容错模块,用于根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。
在本申请中,获取待校验数据对象的数据校验规则,该数据校验规则中包括待校验数据中数据对象的校验规则,根据该数据校验规则和待校验数据中数据对象之间的层次关系,可以对待校验数据中的各数据对象进行校验,进而获得该待校验数据是否正确的结果,达到对数据的正确性进行校验的目的,与现有技术相比,能够从更细粒度上对数据进行校验。
进一步,本申请还可以针对未通过正确性校验的数据,根据该数据中错误数据对象的信息对该数据进行修正处理,以获容错数据,容错处理更加准确,有利于提高容错效率。
【附图说明】
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的数据校验方法的流程示意图;
图2为本申请另一实施例提供的数据校验方法的流程示意图;
图3为本申请又一实施例提供的数据容错方法的流程示意图;
图4和图5为本申请又一实施例提供的图片展示位置与图片URL之间的对应关系示意图;
图6为本申请又一实施例提供的数据校验装置的结构示意图;
图7为本申请又一实施例提供的数据容错装置的结构示意图。
【具体实施方式】
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的数据校验方法的流程示意图。如图1所示,该方法包括:
101、获取待校验数据。
102、获取数据校验规则,该数据校验规则包括待校验数据中数据对象的校验规则。
103、根据上述数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。
本实施例提供一种数据校验方法,可由数据校验装置来执行,用以对数据的正确性进行校验。
在实际应用中,客户端与服务端之间一般会进行数据传输。客户端可以接收服务端发送的数据,服务端也可以接收客户端上报的数据。无论是客户端还是服务端,其接收到的数据有可能是异常数据,而基于异常的数据均无法执行相应业务。例如,客户端基于异常的数据就无法渲染出正常的用户界面,可能导致白屏甚至崩溃(crash)。服务端基于异常的数据就无法识别出客户端的请求等。
在现有技术中,可以采用消息摘要的方式,对整个数据进行校验,保证数据的完整性。这种通过消息摘要的校验方式,只能说明数据在传输过程中是否损坏,却不能说明数据是否正确。
举个例子,客户端需要展示一张图片,此时需要从服务端获得这张图片的统一资源定位符(Uniform Resource Locator,URL)地址,而服务端由于某个原因,传输给客户端的图片的URL地址最后少了一个字符,也就是说服务端发出的数据本身就是不正确的。如果在数据传输过程中没有出现错误,则该数据在客户端就能通过完整性校验,但是这份数据实际上是不正确的,所以客户端无法展示出图片。
针对上述问题,本实施例提供一种数据校验方法,具体原理如下:
首先,需要获取待校验数据。本实施例不对待校验数据进行限制,凡是需要进行正确性校验的数据均可以作为本实施例中的待校验数据。举例说明,待校验数据可以是商品的详情数据、游戏数据、应用插件、网页内容、URL地址等。在一具体实施方式中,数据校验装置作为客户端,可以接收服务端发送的数据,将接收到的数据作为待校验数据。
为了对待校验数据进行校验,还需要获取待校验数据对应的数据校验规则,该数据校验规则包括待校验数据中数据对象的校验规则。
可选的,该数据校验规则中数据对象的校验规则可以按照待校验数据中数据对象之间的层次关系定义的,即能够体现待校验数据中数据对象之间的层次关系。
其中,待校验数据一般会采用一定编程语言实现,具有确定的数据结构,数据结构由采用的编程语言决定。一般不同编程语言支持不同的数据结构。待校验数据一般包括多个数据对象,待校验数据的数据结构决定了这些数据对象之间的层次关系,且各数据对象具有类型属性。本实施例不限定数据对象的类型,例如可是对象型、数组型、字符串型等。举例说明,本实施例的待校验数据可以是基于JSON(JavaScript Object Notationv)格式的数据(简称为JSON数据),相应的,数据校验规则可以是基于JSON模式(Schema)定义的校验规则。JSON模式是一种基于JSON格式定义JSON数据结构的规范。另外,本实施例的待校验数据还可以是其他它结构化数据,例如可扩展标记语言(Extensible Markup Language,XML)格式的数据(简称为XML数据),相应的,数据校验规则可以是基于XML模式定义(XMLSchemas Definition,XSD)定义的校验规则。XSD是一种基于XML格式定义XML数据结构的规范。例如,一种待校验的JSON数据以及基于JSON模式的校验规则分别如下所示:
JSON数据:
Figure BDA0000926296350000051
Figure BDA0000926296350000061
基于JSON模式的校验规则:
Figure BDA0000926296350000062
Figure BDA0000926296350000071
可选的,上述待校验数据的使用者可预先配置好数据校验规则,并存储在指定位置,例如数据校验装置本地或者远端指定存储空间中。
基于上述,可以根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。
由于上述数据校验规则中包括待校验数据中数据对象的校验规则,因此根据该数据校验规则和待校验数据中数据对象之间的层次关系,可以对待校验数据中的各数据对象进行校验,进而获得该待校验数据是否正确的结果,达到对数据的正确性进行校验的目的,与现有技术相比,能够从更细粒度上对数据进行校验。
图2为本申请另一实施例提供的数据校验方法的流程示意图。如图2所示,该方法包括:
201、获取待校验数据。
202、采用消息摘要的方式,对待校验数据的完整性进行校验。
203、若待校验数据通过完整性校验,则获取数据校验规则,并根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。
本实施例与上述图1所示实施例相类似,区别仅在于:在对待校验数据进行正确性校验之前,先对待校验数据进行完整性校验。
在一应用场景中,服务端可以通过MD5算法生成数据摘要,并把它和数据一起传输给客户端。基于此,客户端中的数据校验装置接收服务端发送的数据,将其作为待校验数据,对待校验数据再次生成MD5码,并把生成的MD5码与服务端发来的MD5码进行对比,如果完全一样说明待校验数据在传输过程中保持了完整性,并进入对待校验数据的正确性校验过程;否则说明待校验数据在传输过程中发生破损,可以进入后续的数据容错过程。
可选的,除了采用MD5算法之外,也可以采用SHA-1算法对待校验数据进行完整性校验。
在一种具体实施方式中,上述根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验的方式包括:
按照待校验数据中数据对象之间的层次关系,依次根据数据校验规则中数据对象的校验规则,对待校验数据中的相应数据对象进行正确性校验。
进一步,数据校验装置还可以根据对待校验数据的正确性校验结果,输出校验报告,该校验报告包括:待校验数据是否通过正确性校验的结果信息以及在结果信息表示待校验数据未通过正确性校验时待校验数据中错误数据对象的信息。这里的错误数据对象是指待校验数据中存在错误的数据对象。这里错误数据对象的信息可以是任何能够唯一标识该错误数据对象的信息,例如错误数据对象的名称。
值得说明的是,上述校验报告还可以包括待校验数据是否通过完整性校验的结果信息。一般来说,若待校验数据未通过完整性校验,一般不会进一步对待校验数据进行正确性校验,所以这种情况下的校验报告中一般只包括待校验数据未通过完整性校验的结果信息。反之,若待校验数据通过完整性校验,一般会进一步对待校验数据进行正确性校验,所以这种情况下的校验报告中一般会包括待校验数据通过完整性校验的结果信息、待校验数据是否通过正确性校验的结果信息以及在该结果信息表示待校验数据未通过正确性校验时待校验数据中错误数据对象的信息。
本实施例提供的数据校验方法不仅能够发现数据是否完整,而且能够发现数据是否正确,并且能够确定不正确的数据部分,能够从更细粒度上对数据进行校验,以便于及时发现数据是否完整和正确。
图3为本申请又一实施例提供的数据容错方法的流程示意图。如图3所示,该方法包括:
301、获取未通过正确性校验的数据作为待容错数据,并获取待容错数据中错误数据对象的信息。
302、根据待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据。
本实施例提供一种数据容错方法,可由数据容错装置来执行,用以对未通过正确性校验的数据进行容错处理。
具体的,获取未通过正确性校验的数据作为待容错数据。另外,获取待容错数据中错误数据对象的信息。错误数据对象是指待容错数据中发生错误的数据对象。错误数据对象的信息可以是任何能够唯一标识该错误数据对象的信息,例如错误数据对象的名称。
可选的,在进行容错处理之前,可以先对数据进行校验,并输出校验报告。这里的校验主要是指正确性校验。校验报告中包括该数据是否通过正确性的结果信息以及在该结果信息表示该数据未通过正确性校验时数据中错误数据对象的信息。
进一步,在对数据进行正确性校验之前,还可以对数据进行完整性校验,并在数据通过完整性校验的情况下,对数据进行正确性校验。此时,校验报告中可能包括数据是否通过完整性校验的结果信息,若该结果信息表示数据通过完整性校验,则该校验报告还需要包括表示数据是否通过正确性校验的结果信息以及该结果信息表示数据通过正确性校验时数据中错误数据对象的信息等。
基于上述,可以根据校验报告,判断数据是否通过正确性校验;如果校验报告中的结果信息显示该数据未通过正确性校验,则确定该数据作为待容错数据;如果校验报告中的结果信息显示该数据通过正确性校验,则可以忽略对该数据的容错处理。
值得说明的是,本申请并不限定对数据进行正确性校验的方式,例如可以采用本申请上述实施例提供的方法,但不限于此。
在本实施例中,待容错数据一般采用一定编程语言实现,具有确定的数据结构,数据结构由采用的编程语言决定。一般不同编程语言支持不同的数据结构。待容错数据一般包括多个数据对象,待校验数据的数据结构决定了这些数据对象之间具的层次关系,且各数据对象具有类型属性。本实施例不限定数据对象的类型,例如可是对象型、数组型、字符串型等。举例说明,本实施例的待容错数据可以是JSON数据,除此之外,待容错数据还可以是XML数据。
在确定待容错数据以及待容错数据中错误数据对象的信息之后,数据容错装置可以根据待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据。
在一可选实施方式中,考虑到之前可能已经请求过该待容错数据,将之前请求的待容错数据称为该容错数据的旧版本数据。基于此,一种根据待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据的实施方式可以包括:
判断本地是否存在待容错数据的旧版本数据,若判断结果为存在,则根据旧版本数据和待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据。反之,若本地不存在待容错数据的旧版本数据,则可以重新从服务端获取待容错数据对应的正确数据。
具体的,数据容错装置可以根据待容错数据中错误数据对象的信息,获取旧版本数据中对应该错误数据对象的旧版本数据对象;用该旧版本数据对象替换待容错数据中错误数据对象,以获得容错数据。
其中,上述修正方法能够自动修正完整但不正确的数据,不影响业务执行效率。进一步,在获得容错数据之后,可以根据容错数据进行业务处理。这里并不限定业务处理的类型和方式,具体视应用场景而定。例如,在基于容错数据进行用户界面显示的业务场景中,与直接使用本地的旧版本数据替换待容错数据的方案相比,能够让用户及时看到部分正确的数据,不至于只看到旧数据。另外,如果待容错数据来自于服务端,则采用本实施例的方法,不需要重新向服务端请求数据,因此可以节约数据容错装置的流量。
举例说明:假设一个客户端的组件需要展示三张图片,分别对应三个URL地址。客户端第一次从服务端获取了三张图片的URL地址分别记为u1、u2和u3,基于这三个URL地址获取图片并进行了展示,同时在本地缓存了这三张图片的URL地址,即u1,、u2和u3。之后,客户端需要重新从服务端获取新图片的URL地址,即u4、u5和u6。其中,图片位置与图片URL地址之间的对应关系如图4所示。
通过本申请上述方法实施例的校验发现新数据中的u6是错误的,因此可以采用缓存中的u3替换到新数据中的u6。这样用户可以看到u4和u5对应的新图片以及u3对应的旧图片,最终不仅可以成功显示图片,而且不会对客户端造成任何影响。最终显示的图片及图片URL之间的对应关系如图5所示。
在另一可选实施方式中,一种根据待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据的实施方式可以包括:
根据错误数据对象的信息,从服务端重新获取错误数据对象对应的正确数据对象;
用正确数据对象替换待容错数据中错误数据对象,以获得容错数据。
上述实施方式适用于本地没有缓存待容错数据的旧版本数据的情况,这种只需向服务端申请错误数据对象对应的正确数据对象,数据量相对较小,有利于节约数据容错装置的流量。
进一步,除了上述实施方式之外,还可以向服务端重新请求待容错数据对应的正确数据。例如,当无法通过上述几种实施方式对待容错数据进行修正时,可以采用向服务端重新请求待容错数据对应的正确数据的方式。
可选的,为了避免无限制地向服务端重新请求数据,可以预先设定请求次数的上限值,当重新请求的次数达到预设上线值时,结束操作,并提示用户无法获取正确数据。
进一步,上述校验报告还可以包括数据是否通过完整性校验的结果信息、如果该结果信息显示该数据未通过完整性校验,则说明该数据也需要进行容错处理,数据容错装置还可以对未完整性校验的数据进行容错处理。
具体的,数据容错装置可以判断本地是否缓存有该未通过完整性校验的数据的旧版本数据,如果判断结果为是,则获取旧版本数据并用该旧版本数据替换该未通过完整性校验的数据。或者,数据容错装置也可以重新向服务端请求正确的数据。
由上述可见,本实施针对未通过正确性校验的数据,根据该数据中错误数据对象的信息对该数据进行修正处理,以获容错数据,容错处理更加准确,有利于提高容错效率。进一步,基于容错数据进行业务处理,保证业务能够正常开展。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图6为本申请又一实施例提供的数据校验装置的结构示意图。如图6所示,该装置包括:数据获取模块61、规则获取模块62和校验模块63。
数据获取模块61,用于获取待校验数据。
规则获取模块62,用于获取数据校验规则,数据校验规则包括待校验数据中数据对象的校验规则;
校验模块63,用于根据数据校验规则和待校验数据中数据对象之间的层次关系,对待校验数据的正确性进行校验。
在一可选实施方式中,校验模块63具体用于:
按照待校验数据中数据对象之间的层次关系,依次根据数据校验规则中数据对象的校验规则,对待校验数据中的相应数据对象进行正确性校验。
进一步,校验模块63还用于:在根据数据校验规则,对待校验数据的正确性进行校验之后,根据对待校验数据的正确性校验结果,输出校验报告,校验报告包括:待校验数据是否通过正确性校验的结果信息以及在结果信息表示待校验数据未通过正确性校验时待校验数据中错误数据对象的信息。
进一步,校验模块63还用于:在根据数据校验规则,对待校验数据的正确性进行校验之前,采用消息摘要的方式,对待校验数据的完整性进行校验。
具体的,校验模块63在待校验数据未通过完整性校验时,根据数据校验规则对待校验数据的正确性进行校验。
可选的,上述待校验数据为结构化数据。
本实施例提供的数据校验装置,可以获取待校验数据对象的数据校验规则,该数据校验规则中包括待校验数据中数据对象的校验规则,根据该数据校验规则和待校验数据中数据对象之间的层次关系,可以对待校验数据中的各数据对象进行校验,进而获得该待校验数据是否正确的结果,达到对数据的正确性进行校验的目的,与现有技术相比,能够从更细粒度上对数据进行校验。
图7为本申请又一实施例提供的数据容错装置的结构示意图。如图7所示,该装置包括:获取模块71和容错模块72。
获取模块71,用于获取未通过正确性校验的数据作为待容错数据,并获取待容错数据中错误数据对象的信息。
容错模块72,用于根据待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据。
进一步,数据容错装置还可以包括:业务模块,用于根据容错数据,进行业务处理。
在一可选实施方式中,容错模块72具体可用于:
若本地存在待容错数据的旧版本数据,则根据旧版本数据和待容错数据中错误数据对象的信息,对待容错数据进行修正处理,以获得容错数据。
进一步,容错模块72具体可用于:
根据错误数据对象中的信息,获取旧版本数据中对应错误数据对象的旧版本数据对象;
用旧版本数据对象替换待容错数据中错误数据对象,以获得容错数据。
在一可选实施方式中,容错模块72具体可用于:
根据错误数据对象的信息,从服务端重新获取错误数据对象对应的正确数据对象;
用正确数据对象替换待容错数据中错误数据对象,以获得容错数据。
在一可选实施方式中,获取模块71具体可用于:
根据数据的校验报告,判断数据是否通过正确性校验;
若判断结果为否,则获取数据作为待容错数据。
进一步,获取模块71还用于:在根据数据的校验报告,判断数据是否通过正确性校验之前,根据校验报告,判断数据是否通过完整性校验,并在通过完整性校验时,执行根据数据的校验报告,判断数据是否通过正确性校验的操作。
可选的,上述待容错数据为结构化数据。
本实施例提供的数据容错装置,针对未通过正确性校验的数据,根据该数据中错误数据对象的信息对该数据进行修正处理,以获容错数据,容错处理更加准确,有利于提高容错效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

1.一种数据校验方法,其特征在于,包括:
从服务器获取待校验数据,所述待校验数据是商品详情数据、游戏数据、应用插件、网页内容、URL地址中任意一项或多项;
获取数据校验规则,所述数据校验规则包括按照待校验数据中数据对象之间的层次关系定义的所述待校验数据中数据对象的校验规则,其中基于待校验数据的数据结构确定数据对象之间的层次关系;
根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验;
获取未通过正确性校验的数据作为待容错数据,对所述待容错数据进行修正处理,以获得容错数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验,包括:
按照所述待校验数据中数据对象之间的层次关系,依次根据所述数据校验规则中数据对象的校验规则,对所述待校验数据中的相应数据对象进行正确性校验。
3.根据权利要求2所述的方法,其特征在于,还包括:
根据对所述待校验数据的正确性校验结果,输出校验报告,所述校验报告包括:所述待校验数据是否通过正确性校验的结果信息以及在所述结果信息表示所述待校验数据未通过正确性校验时所述待校验数据中错误数据对象的信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验之前,还包括:
采用消息摘要的方式,对所述待校验数据的完整性进行校验;
若所述待校验数据通过完整性校验,执行根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验的操作。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述待校验数据为结构化数据。
6.一种数据容错方法,其特征在于,包括:
获取根据数据校验规则和待校验数据中数据对象之间的层次关系对所述待校验数据的正确性进行校验中,未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息,所述数据校验规则包括按照待校验数据中数据对象之间的层次关系定义的所述待校验数据中数据对象的校验规则,其中基于待校验数据的数据结构确定数据对象之间的层次关系,所述未通过正确性校验的数据是从服务器接收的商品详情数据、游戏数据、应用插件、网页内容、URL地址中任意一项或多项;
根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据,包括:
若本地存在所述待容错数据的旧版本数据,则根据所述旧版本数据和所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得所述容错数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述旧版本数据和所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得所述容错数据,包括:
根据所述错误数据对象中的信息,获取所述旧版本数据中对应所述错误数据对象的旧版本数据对象;
用所述旧版本数据对象替换所述待容错数据中错误数据对象,以获得所述容错数据。
9.根据权利要求6所述的方法,其特征在于,所述根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据,包括:
根据所述错误数据对象的信息,从服务端重新获取所述错误数据对象对应的正确数据对象;
用所述正确数据对象替换所述待容错数据中错误数据对象,以获得所述容错数据。
10.根据权利要求6-9任一项所述的方法,其特征在于,所述获取未通过正确性校验的数据作为待容错数据,包括:
根据所述数据的校验报告,判断所述数据是否通过正确性校验;
若判断结果为否,则获取所述数据作为所述待容错数据。
11.一种数据校验装置,其特征在于,包括:
数据获取模块,用于从服务器获取待校验数据,所述待校验数据是商品详情数据、游戏数据、应用插件、网页内容、URL地址中任意一项或多项;
规则获取模块,用于获取数据校验规则,所述数据校验规则包括按照待校验数据中数据对象之间的层次关系定义的所述待校验数据中数据对象的校验规则,其中基于待校验数据的数据结构确定数据对象之间的层次关系;
校验模块,用于根据所述数据校验规则和所述待校验数据中数据对象之间的层次关系,对所述待校验数据的正确性进行校验;
校验模块,还用于输出校验报告,以使数据容错装置获取未通过正确性校验的数据作为待容错数据,对所述待容错数据进行修正处理,以获得容错数据。
12.根据权利要求11所述的装置,其特征在于,所述校验模块具体用于:
按照所述待校验数据中数据对象之间的层次关系,依次根据所述数据校验规则中数据对象的校验规则,对所述待校验数据中的相应数据对象进行正确性校验。
13.根据权利要求12所述的装置,其特征在于,所述校验模块还用于:
根据对所述待校验数据的正确性校验结果,输出校验报告,所述校验报告包括:所述待校验数据是否通过正确性校验的结果信息以及在所述结果信息表示所述待校验数据未通过正确性校验时所述待校验数据中错误数据对象的信息。
14.根据权利要求11所述的装置,其特征在于,所述校验模块还用于:
采用消息摘要的方式,对所述待校验数据的完整性进行校验。
15.根据权利要求11-14任一项所述的装置,其特征在于,所述待校验数据为结构化数据。
16.一种数据容错装置,其特征在于,包括:
获取模块,用于获取根据数据校验规则和待校验数据中数据对象之间的层次关系对所述待校验数据的正确性进行校验中,未通过正确性校验的数据作为待容错数据,并获取所述待容错数据中错误数据对象的信息,所述数据校验规则包括按照待校验数据中数据对象之间的层次关系定义的所述待校验数据中数据对象的校验规则,其中基于待校验数据的数据结构确定数据对象之间的层次关系,所述未通过正确性校验的数据是从服务器接收的商品详情数据、游戏数据、应用插件、网页内容、URL地址中任意一项或多项;
容错模块,用于根据所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得容错数据。
17.根据权利要求16所述的装置,其特征在于,所述容错模块具体用于:
若本地存在所述待容错数据的旧版本数据,则根据所述旧版本数据和所述待容错数据中错误数据对象的信息,对所述待容错数据进行修正处理,以获得所述容错数据。
18.根据权利要求17所述的装置,其特征在于,所述容错模块具体用于:
根据所述错误数据对象中的信息,获取所述旧版本数据中对应所述错误数据对象的旧版本数据对象;
用所述旧版本数据对象替换所述待容错数据中错误数据对象,以获得所述容错数据。
19.根据权利要求16所述的装置,其特征在于,所述容错模块具体用于:
根据所述错误数据对象的信息,从服务端重新获取所述错误数据对象对应的正确数据对象;
用所述正确数据对象替换所述待容错数据中错误数据对象,以获得所述容错数据。
20.根据权利要求16-19任一项所述的装置,其特征在于,所述获取模块具体用于:
根据所述数据的校验报告,判断所述数据是否通过正确性校验;
若判断结果为否,则获取所述数据作为所述待容错数据。
CN201610092200.3A 2016-02-19 2016-02-19 数据校验方法、数据容错方法及装置 Active CN107102908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610092200.3A CN107102908B (zh) 2016-02-19 2016-02-19 数据校验方法、数据容错方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610092200.3A CN107102908B (zh) 2016-02-19 2016-02-19 数据校验方法、数据容错方法及装置

Publications (2)

Publication Number Publication Date
CN107102908A CN107102908A (zh) 2017-08-29
CN107102908B true CN107102908B (zh) 2021-02-19

Family

ID=59658596

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610092200.3A Active CN107102908B (zh) 2016-02-19 2016-02-19 数据校验方法、数据容错方法及装置

Country Status (1)

Country Link
CN (1) CN107102908B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483467A (zh) * 2017-08-31 2017-12-15 四川长虹电器股份有限公司 面向互联网接口服务的json报文校验方法
CN107741951B (zh) * 2017-09-08 2021-05-25 创新先进技术有限公司 页面数据处理方法、装置及电子设备
CN110019363A (zh) * 2017-12-11 2019-07-16 北京京东尚科信息技术有限公司 一种校验数据的方法和装置
CN108471433B (zh) * 2018-01-25 2021-07-13 中国平安人寿保险股份有限公司 一种配置化的同步消息验证接收方法、系统及存储介质
CN109582504A (zh) * 2018-12-05 2019-04-05 深圳软牛科技有限公司 一种用于苹果设备的数据恢复方法和装置
CN110400074A (zh) * 2019-07-24 2019-11-01 上海华力微电子有限公司 离子注入程式的正确性验证方法及装置
CN111897842A (zh) * 2020-01-02 2020-11-06 北京京东尚科信息技术有限公司 数据校验的方法、装置、计算机系统及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902315B (zh) * 2009-06-01 2013-04-17 华为技术有限公司 基于前向纠错的重传方法、设备和通信系统
CN104426857B (zh) * 2013-08-26 2018-10-12 中国移动通信集团公司 一种对客户端数据校验的方法、系统及装置
CN105224511A (zh) * 2015-09-23 2016-01-06 山东网聪信息科技有限公司 一种智能变电站scd文件的校验方法

Also Published As

Publication number Publication date
CN107102908A (zh) 2017-08-29

Similar Documents

Publication Publication Date Title
CN107102908B (zh) 数据校验方法、数据容错方法及装置
JP6533236B2 (ja) デジタル証明書の処理及び検証
CN105989098B (zh) 图标包的生成方法及服务器、图标的处理方法及系统
CN106027644B (zh) 一种业务的校验方法及系统
WO2021249356A1 (zh) 表单数据校验方法、系统、服务器和用户终端
US10979532B2 (en) Resource download method, electronic device, and apparatus
CN109144625B (zh) 防重复提交方法、装置和系统
CN103152365A (zh) 对数据进行验证的数据验证方法及服务器
CN112884477B (zh) 一种区块链交易发起方法及系统
US9513997B2 (en) Test data management
CN112685211B (zh) 一种错误信息展示方法、装置、电子设备及介质
CN107347048A (zh) 数据校验的方法、装置及系统
CN111556080A (zh) 网络节点监控方法、装置、介质及电子设备
CN104484167A (zh) 任务处理方法及装置
CN110737548A (zh) 数据请求方法和服务器
US20210365520A1 (en) Webpage loading method, intermediate server and webpage loading system
US9361303B2 (en) Systems and methods to facilitate a request for oilfield services using a data transfer protocol
CN115374098A (zh) 高并发支付订单防重方法、装置、系统、设备、介质和程序产品
CN111241082B (zh) 数据修正方法及装置
CN114675989A (zh) 数据校验方法、装置、电子设备及存储介质
CN107102978B (zh) 数据回填方法、装置及移动终端
CN113626228A (zh) 故障网页的修复方法、装置、设备及存储介质
CN111698227A (zh) 信息同步管理方法、装置、计算机系统及可读存储介质
US20170235771A1 (en) Systems and methods for electronic mail communication based data management
US11842189B2 (en) Infrastructure as code resource definition 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
GR01 Patent grant
GR01 Patent grant