CN110554929B - 数据校验方法、装置、计算机设备及存储介质 - Google Patents

数据校验方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110554929B
CN110554929B CN201810565142.0A CN201810565142A CN110554929B CN 110554929 B CN110554929 B CN 110554929B CN 201810565142 A CN201810565142 A CN 201810565142A CN 110554929 B CN110554929 B CN 110554929B
Authority
CN
China
Prior art keywords
data
port
field
backed
abnormal
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
CN201810565142.0A
Other languages
English (en)
Other versions
CN110554929A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810565142.0A priority Critical patent/CN110554929B/zh
Publication of CN110554929A publication Critical patent/CN110554929A/zh
Application granted granted Critical
Publication of CN110554929B publication Critical patent/CN110554929B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

数据校验方法、装置、计算机设备及存储介质
技术领域
本申请涉及数据校验技术领域,尤其涉及一种数据校验方法、装置、计算机设备及存储介质。
背景技术
JSON(Java Script Object Notation,JS对象标识)是一种轻量级的数据交换格式,具有数据体量小、网络传输快、方便转换等特点,是目前互联网应用数据传输的主要数据传输格式,大量的服务端接口通过JSON格式来传递数据。
服务端接口数据的正确性对客户端的正常使用存在着重要影响,接口数据错误往往会导致客户端出错,例如服务端接口返回的数据中缺少了某些必须字段,则可能导致客户端崩溃。因此,需要对服务端接口数据进行校验。
传统的对服务端接口数据进行校验的方式是人工校验,利用人工对服务端输出的JSON数据的准确性进行校验,这种人工校验的方式,不仅要耗费较高的人力成本,而且校验效率低,实时性差。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种数据校验方法,以实现服务端接口数据的自动校验,提高数据校验的效率和实时性,解决现有技术中人工进行数据校验效率低、实时性差的技术问题。
本申请的第二个目的在于提出一种数据校验装置。
本申请的第三个目的在于提出一种计算机设备。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
本申请的第五个目的在于提出一种计算机程序产品。
为达上述目的,本申请第一方面实施例提出了一种数据校验方法,包括:
在监测到服务器任一端口有数据输出时,将所述数据备份入缓存区;
根据预设的校验文件,对备份入所述缓存区的数据中各字段的属性进行校验;
在确定所述备份入缓存区的数据中任一字段的属性异常时,根据所述任一字段的异常状态,更新所述服务器任一端口对应的异常日志。
本申请实施例的数据校验方法,通过在监测到服务器任一端口有数据输出时,将输出数据备份入缓存区,根据预设的校验文件对备份入缓存区的数据中各字段的属性进行校验,在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。由此,通过将服务器端口输出的数据备份入缓存区,对缓存区中的数据进行校验,能够保证数据校验过程中不影响服务器端口的正常输出,提高端口的可用性;通过根据预设的校验文件对缓存区的数据进行校验,在确定数据异常时更新端口对应的异常日志,实现了服务端接口数据的自动校验,提高了数据校验的效率和实时性,从而为服务器端口的及时更新提供了可靠的依据。
为达上述目的,本申请第二方面实施例提出了一种数据校验装置,包括:
备份模块,用于在监测到服务器任一端口有数据输出时,将所述数据备份入缓存区;
校验模块,用于根据预设的校验文件,对备份入所述缓存区的数据中各字段的属性进行校验;
日志更新模块,用于在确定所述备份入缓存区的数据中任一字段的属性异常时,根据所述任一字段的异常状态,更新所述服务器任一端口对应的异常日志。
本申请实施例的数据校验装置,通过在监测到服务器任一端口有数据输出时,将输出数据备份入缓存区,根据预设的校验文件对备份入缓存区的数据中各字段的属性进行校验,在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。由此,通过将服务器端口输出的数据备份入缓存区,对缓存区中的数据进行校验,能够保证数据校验过程中不影响服务器端口的正常输出,提高端口的可用性;通过根据预设的校验文件对缓存区的数据进行校验,在确定数据异常时更新端口对应的异常日志,实现了服务端接口数据的自动校验,提高了数据校验的效率和实时性,从而为服务器端口的及时更新提供了可靠的依据。
为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的数据校验方法。
为达上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面实施例所述的数据校验方法。
为达上述目的,本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时实现如第一方面实施例所述的数据校验方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种数据校验方法的流程示意图;
图2为本申请实施例所提供的另一种数据校验方法的流程示意图;
图3为本申请实施例所提供的又一种数据校验方法的流程示意图;
图4为本申请实施例所提供的再一种数据校验方法的流程示意图;
图5为本申请实施例所提供的一种数据校验装置的结构示意图;
图6为本申请实施例所提供的另一种数据校验装置的结构示意图;
图7为本申请实施例所提供的又一种数据校验装置的结构示意图;
图8为本申请实施例所提供的再一种数据校验装置的结构示意图;以及
图9为本申请一实施例提出的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的数据校验方法、装置、计算机设备及存储介质。
图1为本申请实施例所提供的一种数据校验方法的流程示意图。
如图1所示,该数据校验方法可以包括以下步骤:
步骤101,在监测到服务器任一端口有数据输出时,将数据备份入缓存区。
一台服务器通常提供有多种不同的服务,例如,同一台服务器可以同时是web服务器、邮件服务器、FTP服务器等,这些不同的服务是由不同的端口提供的,比如,web采用80号端口,FTP采用21号端口,邮件服务器采用25号端口等。服务器端口数最大可以由65547个,通过不同的端口,客户端可以从服务器获取不同的服务。
本实施例中,可以针对服务器端口设置监测程序,用于对服务器端口的输出进行监测。当监测到任意一个服务器端口有数据输出时,将服务器端口输出的数据缓存在缓存区,以进行备份。
步骤102,根据预设的校验文件,对备份入缓存区的数据中各字段的属性进行校验。
其中,字段的属性可以包括但不限于字段的数据类型、大小等。
本实施例中,对于缓存区中存储的数据,可以根据预设的校验文件,对备份入缓存区的数据中各字段的属性进行校验。
其中,预设的校验文件例如可以为schema文件,schema文件是用来描述JSON数据格式的标准,可以按照JsonSchema语法规范对接口数据格式进行详细定义,schema文件定义的内容包括但不限于errno(用于记录***的最后一次错误)等于0、data数组中各个字段的类型、必须字段定义、数组元素数量定义等。
由于服务器端口为多个,每个端口所输出数据的数据类型可能不同,可以针对每一个端口预先配置对应的校验文件,并存储端口与校验文件的对应关系,例如,可以存储每个端口的端口号与校验文件的对应关系。本实施例中,当监测到任一端口有数据输出时,除了将该端口输出的数据备份入缓存区外,还可以获取该端口的端口号,再通过查询预先存储的对应关系,确定与该端口对应的校验文件,进而利用所确定的校验文件,对备份入缓存区的数据中各字段的属性进行校验。
进一步地,在本申请实施例一种可能的实现方式中,在对缓存区的数据中各字段的属性进行校验之前,还可以对缓存区中数据的校验时机进行确认,当符合校验时机时,再对缓存区中的数据进行校验。
作为一种示例,可以在确定当前已完成的校验次数小于第二阈值时,确定当前符合校验时机。由于校验器每次在进行数据校验时,会占用一定的服务资源,因此,为了尽量减小校验器对服务的影响次数,可以预先设置一个校验次数,即第二阈值。其中,第二阈值可以根据缓存区存储的数据量达到最大时,完成对缓存区数据的校验所需的总的校验次数确定。如果当前已完成的校验次数未达到第二阈值,则对备份入缓存区的数据进行校验。由此,能够确保备份入缓存区的数据均能够得到校验,避免遗漏。
作为一种示例,还可以在确定当前时刻与前一次进行校验的时刻间的时间间隔,大于第三阈值时,确定当前满足校验时机。其中,第三阈值可以根据完成一次数据校验所需的最长时间确定,第三阈值可以设置为大于或等于完成一次数据校验所需的最长时间。数据校验需要耗费一定的时长,为了避免当前的数据校验过程未完成时,便开始新的数据校验,导致数据校验过程冲突的问题,可以预先设置一个第三阈值,如果当前时刻与前一次进行校验的时刻间的时间间隔大于第三阈值,可以认为前一次校验过程已完成,则对备份入缓存区的数据进行校验。由此,能够避免数据校验过程冲突,保证校验顺利进行。
作为一种示例,还可以在确定预设的校验文件中,包含标识与备份入缓存区的数据标识相同的校验字段时,确定当前满足校验时机。在实际使用时,校验文件中定义了不同字段的类型,用于对对应的服务器端口所输出的数据进行校验。在校验时,根据校验文件中所定义的字段类型来判断输出数据中对应字段的类型是否正确。从而,本示例中,可以对校验文件和服务器端口所输出数据中各个字段进行标识,利用相同的标识来表示相同的字段,当确定预设的校验文件中,包含标识与备份入缓存区的数据标识相同的校验字段时,可以认为该校验文件能够用于对缓存区中的数据进行校验,则进一步根据校验文件对备份入缓存区的数据进行校验。由此,能够实现有针对性的数据校验,避免校验失误。
作为一种示例,还可以在校验功能开启,且获取到与有数据输出的端口匹配的校验文件时,确定当前满足校验时机。本示例中,当监测到任一服务器端口有数据输出时,可以获取与该端口对应的校验文件,并检测当前是否开启了校验功能,当检测到校验功能开启,并且或到对应的校验文件时,则对备份入缓存区的数据进行校验。
在本申请实施例一种可能的实现方式中,对备份入缓存区的数据中各字段的属性进行校验时,可以对备份入缓存区、且未进行校验的所有数据中各字段的属性进行校验,以避免对同一数据进行多次校验,浪费校验资源和时间,提高数据校验效率。
步骤103,在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。
本实施例中,当校验确定备份入缓存区的数据中,任一字段的属性异常时,可以根据异常状态,更新对应的服务器端口的异常日志。
例如,服务器某一端口约定的某个字段的数据类型为字符(String)型,与该服务器端口对应的校验文件中,相应字段的类型定义为String类型,而该端口实际输出数据的类型为整(int)型,则利用校验文件对缓存区的数据进行校验时,可以确定字段的类型错误,进而可以将校验结果和字段的异常信息记录在该端口对应的异常日志中。
本实施例的数据校验方法,通过在监测到服务器任一端口有数据输出时,将输出数据备份入缓存区,根据预设的校验文件对备份入缓存区的数据中各字段的属性进行校验,在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。由此,通过将服务器端口输出的数据备份入缓存区,对缓存区中的数据进行校验,能够保证数据校验过程中不影响服务器端口的正常输出,提高端口的可用性;通过根据预设的校验文件对缓存区的数据进行校验,在确定数据异常时更新端口对应的异常日志,实现了服务端接口数据的自动校验,提高了数据校验的效率和实时性,从而为服务器端口的及时更新提供了可靠的依据。
在对缓存区中的数据进行数据校验的过程中,服务器端口仍处于正常工作状态,将服务器端口输出的数据发送至客户端。为了避免客户端再次使用到异常数据,导致客户端故障或崩溃,在本申请实施例一种可能的实现方式中,当校验确定数据中任一字段的属性异常时,可以向接收数据的客户端反馈异常预警消息,以使客户端对接收到的异常数据进行处理。从而,本申请实施例提出了另一种数据校验方法,图2为本申请实施例所提供的另一种数据校验方法的流程示意图。
如图2所示,在如图1所示实施例的基础上,步骤103之后,还可以包括以下步骤:
步骤201,确定备份入缓存区的数据对应的接收客户端。
当服务器端口输出数据时,相应地,会有客户端接收服务器端口输出的数据。本实施例中,可以确定与输出数据的服务器端口进行通信的客户端。在实际使用时,服务器端口输出的数据中通常会包含接收客户端的标识,从而可以直接根据备份入缓存区中的数据,确定对应的接收客户端。
步骤202,向接收客户端发送任一字段异常的预警消息,以使接收客户端根据获取的预警消息,清除接收客户端中已缓存的任一字段所在的数据。
在客户端与服务器正常通信的情况中,客户端从服务器获取到所请求的数据后,会将所接收的数据缓存在客户端的存储区域中,以在下次请求同样的数据时,优先从客户端的存储区域中调取先前缓存的数据。从而,本实施例中,当确定备份入缓存区的数据中任一字段的属性异常时,则客户端从服务器接收并缓存在客户端的存储区域内的数据也存在异常。
为了避免存储在客户端内的异常数据影响客户端的正常使用,在确定备份入缓存区的数据中任一字段的属性异常后,可以向接收客户端发送任一字段异常的预警消息,以使接收客户端根据获取的预警消息,清除接收客户端中已缓存的异常数据。
本实施例的数据校验方法,通过在确定备份入缓存区的数据中任一字段的属性异常时,进一步确定备份入缓存区的数据对应的接收客户端,并向接收客户端发送任一字段异常的预警消息,以使接收客户端根据获取的预警消息,清除接收客户端中已缓存的任一字段所在的数据,从而能够避免异常数据遗留在客户端内,避免客户端再次获取到同一异常数据,降低客户端故障或崩溃的概率。
在本申请实施例一种可能的实现方式中,当校验确定数据中任一字段的属性异常时,可以根据存在的异常对端口进行更新,以使更新后的端口能够输出正常数据。从而,本申请实施例提出了另一种数据校验方法,图3为本申请实施例所提供的又一种数据校验方法的流程示意图。
如图3所示,在如图1所示实施例的基础上,步骤103之后还可以包括:
步骤301,对任一端口对应的异常日志进行解析处理,确定任一端口对应的更新方式。
本实施例中,当确定备份入缓存区的数据中任一字段的属性异常,并根据异常状态对异常日志进行更新后,可以对异常日志进行解析处理,以确定出输出数据异常的端口对应的更新方式。
其中,针对不同的异常状态,可以设置不同的更新方式。例如,当异常状态为字段类型错误时,更新方式可以为更新服务器端口输出数据中字段的类型;当异常状态为字段大小错误时,更新方式可以为调整服务器端口输出数据中字段的大小。
步骤302,根据更新方式,对任一端口进行更新处理。
本实施例中,确定了输出异常数据的服务器端口对应的更新方式后,可以根据更新方式,对该端口进行更新处理,以使更新后的端口能够输出正常数据。
具体实现时,可以设置一个监控报警平台来对异常日志进行监控,监控预警平台实时采集日志信息,当监测到新的异常日志时,监控预警平台可以通过短信、邮件等方式,将异常日志中记录的异常信息反馈给技术人员进行报警,例如,可以向技术人员反馈输出异常数据的端口的名称、端口号、异常发生时间、异常状态等信息,技术人员根据接收的报警信息对出现异常的端口进行更新处理。
本实施例的数据校验方法,通过对任一端口对应的异常日志进行解析处理,确定任一端口对应的更新方式,进而根据更新方式对端口进行更新处理,能够对异常端口进行处理,从而使得更新后的端口输出正常数据,降低服务器端口再次输出异常数据的风险。
此处需要说明的是,图2和图3记载的方案可以仅执行其中一个,也可以共同执行,以在对服务器端口进行更新,确保服务器端口后续输出的数据正常的同时,删除客户端中已存储的异常数据,避免同一种异常数据在客户端中频繁出现。
为了避免对同一个数据进行重复校验,在本申请实施例一种可能的实现方式中,可以对缓存区中的数据进行清除。从而,本申请实施例提出了另一种数据校验方法,图4为本申请实施例所提供的再一种数据校验方法的流程示意图。
如图4所示,在如图1所示实施例的基础上,该数据校验方法还可以包括以下步骤:
步骤401,确定缓存区中已备份的数据均已完成校验、且当前时刻与前一次清除缓存区中数据的时刻间的时间间隔大于第一阈值,则将缓存区中的数据进行清除。
对于最近一次备份入缓存区的数据,在对缓存区中的数据进行校验时,可以在对缓存区中的数据进行校验的过程中,对缓存区中已校验的数据进行监控。例如,每完成一次数据校验,可以对此次数据校验所对应的数据,设置校验完成标签,当缓存区中的数据均被设置了校验完成标签后,可以认为缓存区中已备份的数据均完成校验。当确定缓存区中的数据均完成校验后,可以进一步获取当前时间,并根据当前时间与前一次清除缓存区中数据的时刻,计算两者之间的时间间隔,进而将时间间隔与预设的第一阈值进行比较,当时间间隔大于第一阈值时,将缓存区中的数据清除。其中,第一阈值可以根据缓存区中存储的数据量最大时,完成数据校验所耗费的总时长确定,可以将第一阈值设置为不小于总时长。
本实施例的数据校验方法,通过在确定缓存区中已备份的数据均已完成校验、且当前时刻与前一次清除缓存区中数据的时刻间的时间间隔大于第一阈值时,将缓存区中的数据进行清除,能够实现对缓存区中备份的数据进行定期更新,避免对同一个数据进行重复校验。
为了实现上述实施例,本申请还提出一种数据校验装置。
图5为本申请实施例所提供的一种数据校验装置的结构示意图。
如图5所示,该数据校验装置50可以包括:备份模块510、校验模块520,以及日志更新模块530。
其中,备份模块510,用于在监测到服务器任一端口有数据输出时,将数据备份入缓存区。
校验模块520,用于根据预设的校验文件,对备份入缓存区的数据中各字段的属性进行校验。
在本申请实施例一种可能的实现方式中,校验模块520还用于在对备份入缓存区的数据中各字段的属性进行校验之前,先确定校验时机。具体地,校验模块520先确定当前已完成的校验次数小于第二阈值;或者,确定当前时刻与前一次进行校验的时刻间的时间间隔,大于第三阈值;或者,确定预设的校验文件中,包含标识与备份入缓存区的数据标识相同的校验字段。校验模块520确定满足校验时机之后,才根据预设的校验文件,对备份入缓存区的数据中各字段的属性进行校验。
在本申请实施例一种可能的实现方式中,校验模块520对备份入缓存区的数据中各字段的属性进行校验时,具体地,对备份入缓存区、且未进行校验的所有数据中各字段的属性进行校验。
日志更新模块530,用于在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。
进一步地,在本申请实施例一种可能的实现方式中,如图6所示,在如图5所示实施例的基础上,该数据校验装置50还可以包括:
报警模块540,用于确定备份入缓存区的数据对应的接收客户端,并向接收客户端发送任一字段异常的预警消息,以使接收客户端根据获取的预警消息,清除接收客户端中已缓存的任一字段所在的数据。
通过确定备份入缓存区的数据对应的接收客户端,并向接收客户端发送任一字段异常的预警消息,以使接收客户端根据获取的预警消息,清除接收客户端中已缓存的任一字段所在的数据,从而能够避免异常数据遗留在客户端内,避免客户端再次获取到同一异常数据,降低客户端故障或崩溃的概率。
在本申请实施例一种可能的实现方式中,如图7所示,在如图5所示实施例的基础上,该数据校验装置50还可以包括:
端口更新模块550,用于对任一端口对应的异常日志进行解析处理,确定任一端口对应的更新方式;根据更新方式,对任一端口进行更新处理。
通过对任一端口对应的异常日志进行解析处理,确定任一端口对应的更新方式,进而根据更新方式对端口进行更新处理,能够对异常端口进行处理,从而使得更新后的端口输出正常数据,降低服务器端口再次输出异常数据的风险。
此处需要说明的是,该数据校验装置50还可以同时包括报警模块540和端口更新模块550,以在对服务器端口进行更新,确保服务器端口后续输出的数据正常的同时,删除客户端中已存储的异常数据,避免同一种异常数据在客户端中频繁出现。
在本申请实施例一种可能的实现方式中,如图8所示,在如图5所示实施例的基础上,该数据校验装置50还可以包括:
数据清除模块560,用于在确定缓存区中已备份的数据均已完成校验、且当前时刻与前一次清除缓存区中数据的时刻间的时间间隔大于第一阈值时,将缓存区中的数据进行清除。
通过在确定缓存区中已备份的数据均已完成校验、且当前时刻与前一次清除缓存区中数据的时刻间的时间间隔大于第一阈值时,将缓存区中的数据进行清除,能够实现对缓存区中备份的数据进行定期更新,避免对同一个数据进行重复校验。
需要说明的是,前述对数据校验方法实施例的解释说明也适用于该实施例的数据校验装置,其实现原理类似,此处不再赘述。
本实施例的数据校验装置,通过在监测到服务器任一端口有数据输出时,将输出数据备份入缓存区,根据预设的校验文件对备份入缓存区的数据中各字段的属性进行校验,在确定备份入缓存区的数据中任一字段的属性异常时,根据任一字段的异常状态,更新服务器任一端口对应的异常日志。由此,通过将服务器端口输出的数据备份入缓存区,对缓存区中的数据进行校验,能够保证数据校验过程中不影响服务器端口的正常输出,提高端口的可用性;通过根据预设的校验文件对缓存区的数据进行校验,在确定数据异常时更新端口对应的异常日志,实现了服务端接口数据的自动校验,提高了数据校验的效率和实时性,从而为服务器端口的及时更新提供了可靠的依据。
为了实现上述实施例,本申请还提出一种计算机设备,包括:处理器和存储器。其中,处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现如前述实施例所述的数据校验方法。
图9为本申请一实施例提出的计算机设备的结构示意图,示出了适于用来实现本申请实施方式的示例性计算机设备90的框图。图9显示的计算机设备90仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图9所示,计算机设备90以通用计算机设备的形式表现。计算机设备90的组件可以包括但不限于:一个或者多个处理器或者处理单元906,***存储器910,连接不同***组件(包括***存储器910和处理单元906)的总线908。
总线908表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及***组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备90典型地包括多种计算机***可读介质。这些介质可以是任何能够被计算机设备90访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器910可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)911和/或高速缓存存储器912。计算机设备90可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***913可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc ReadOnly Memory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线908相连。***存储器910可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
具有一组(至少一个)程序模块9140的程序/实用工具914,可以存储在例如***存储器910中,这样的程序模块9140包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块9140通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备90也可以与一个或多个外部设备10(例如键盘、指向设备、显示器100等)通信,还可与一个或者多个使得用户能与该终端设备90交互的设备通信,和/或与使得该计算机设备90能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口902进行。并且,计算机设备90还可以通过网络适配器900与一个或者多个网络(例如局域网(Local Area Network;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器900通过总线908与计算机设备90的其它模块通信。应当明白,尽管图9中未示出,可以结合计算机设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元906通过运行存储在***存储器910中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的数据校验方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如前述实施例所述的数据校验方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,实现如前述实施例所述的数据校验方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

1.一种数据校验方法,应用于服务器端,其特征在于,包括:
在监测到服务器任一端口有数据输出时,将所述数据备份入缓存区;
根据预设的校验文件,对备份入所述缓存区的数据中各字段的属性进行校验;
在确定所述备份入缓存区的数据中任一字段的属性异常时,根据所述任一字段的异常状态,更新所述服务器任一端口对应的异常日志;
根据接收客户端的标识,确定备份入所述缓存区的数据对应的接收客户端,其中,所述备份入缓存区的数据中包含所述接收客户端的标识;
向所述接收客户端发送所述任一字段异常的预警消息,以使所述接收客户端根据获取的预警消息,清除所述接收客户端中已缓存的任一字段所在的数据。
2.如权利要求1所述的方法,其特征在于,所述更新所述服务器任一端口对应的异常日志之后,还包括:
对所述任一端口对应的异常日志进行解析处理,确定所述任一端口对应的更新方式;
根据所述更新方式,对所述任一端口进行更新处理。
3.如权利要求1所述的方法,其特征在于,所述方法,还包括:
确定所述缓存区中已备份的数据均已完成校验、且当前时刻与前一次清除缓存区中数据的时刻间的时间间隔大于第一阈值,则将所述缓存区中的数据进行清除。
4.如权利要求1所述的方法,其特征在,所述对备份入所述缓存区的数据中各字段的属性进行校验之前,还包括:
确定当前已完成的校验次数小于第二阈值;
或者,
确定当前时刻与前一次进行校验的时刻间的时间间隔,大于第三阈值;
或者,
确定所述预设的校验文件中,包含标识与备份入所述缓存区的数据标识相同的校验字段。
5.如权利要求1-4任一项所述的方法,其特征在于,所述对备份入所述缓存区的数据中各字段的属性进行校验,包括:
对备份入所述缓存区、且未进行校验的所有数据中各字段的属性进行校验。
6.一种数据校验装置,应用于服务器端,其特征在于,包括:
备份模块,用于在监测到服务器任一端口有数据输出时,将所述数据备份入缓存区;
校验模块,用于根据预设的校验文件,对备份入所述缓存区的数据中各字段的属性进行校验;
日志更新模块,用于在确定所述备份入缓存区的数据中任一字段的属性异常时,根据所述任一字段的异常状态,更新所述服务器任一端口对应的异常日志;
报警模块,用于根据接收客户端的标识,确定备份入缓存区的数据对应的接收客户端,并向所述接收客户端发送任一字段异常的预警消息,以使所述接收客户端根据获取的预警消息,清除所述接收客户端中已缓存的任一字段所在的数据,其中,所述备份入缓存区的数据中包含所述接收客户端的标识。
7.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-5中任一项所述的数据校验方法。
8.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的数据校验方法。
CN201810565142.0A 2018-06-04 2018-06-04 数据校验方法、装置、计算机设备及存储介质 Active CN110554929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810565142.0A CN110554929B (zh) 2018-06-04 2018-06-04 数据校验方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810565142.0A CN110554929B (zh) 2018-06-04 2018-06-04 数据校验方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110554929A CN110554929A (zh) 2019-12-10
CN110554929B true CN110554929B (zh) 2023-07-07

Family

ID=68736088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810565142.0A Active CN110554929B (zh) 2018-06-04 2018-06-04 数据校验方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110554929B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176685A (zh) * 2019-12-27 2020-05-19 深圳市优必选科技股份有限公司 一种升级方法及装置
CN113128943B (zh) * 2019-12-30 2023-12-05 北京懿医云科技有限公司 数据质量监控方法、装置、电子设备、存储介质
CN111158960A (zh) * 2019-12-31 2020-05-15 北京讯鸟软件有限公司 一种基于内存的分布式异常数据处理方法和设备
CN112631695B (zh) * 2020-12-22 2024-06-11 北京达佳互联信息技术有限公司 一种数据校验方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100483419C (zh) * 2007-07-27 2009-04-29 华为技术有限公司 一种数据格式的校验方法及装置
US8615496B2 (en) * 2007-10-19 2013-12-24 Apple Inc. File system reliability using journaling on a storage medium
CN104182228B (zh) * 2014-08-22 2018-01-26 徐增超 一种创建网络应用的方法和***
CN106155891B (zh) * 2015-04-02 2019-07-05 阿里巴巴集团控股有限公司 接口测试方法、接口描述数据库生成方法及装置
CN107347048B (zh) * 2016-05-04 2021-04-30 北京京东尚科信息技术有限公司 数据校验的方法、装置及***
CN106991023B (zh) * 2017-03-22 2020-10-09 深圳市彬讯科技有限公司 一种接口参数校验方法及组件
CN107844400B (zh) * 2017-10-16 2021-07-27 创新先进技术有限公司 一种日志数据的校验方法及装置

Also Published As

Publication number Publication date
CN110554929A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110191018B (zh) 车辆can总线的异常监测方法、装置和计算机设备
CN110554929B (zh) 数据校验方法、装置、计算机设备及存储介质
US10936386B2 (en) Method, device and computer program product for monitoring access request
JP5528640B2 (ja) 例外処理テスト装置及び方法
CN111796978B (zh) 一种接口检测方法、装置、***、设备及存储介质
CN109922079B (zh) 基于区块链的业务代理方法和装置
CN113485881B (zh) 一种临时限速服务器的测试方法、装置、电子设备及介质
CN113382056A (zh) 数据上报方法、装置、设备、存储介质及***
CN109299124B (zh) 用于更新模型的方法和装置
CN111694684B (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
CN112713964B (zh) 数据校验加速方法、装置、计算机设备及存储介质
CN112527678A (zh) 用于测试协议的方法、装置、设备以及存储介质
CN114553663B (zh) 一种异常检测方法、装置、设备和存储介质
US9348721B2 (en) Diagnosing entities associated with software components
CN113852610B (zh) 报文处理方法、装置、计算机设备和存储介质
CN113377610B (zh) 性能监测方法、装置、计算机设备及存储介质
US20230025081A1 (en) Model training method, failure determining method, electronic device, and program product
CN110365763B (zh) 一种数据同步方法、装置、设备及存储介质
CN112650698A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN111741046B (zh) 数据上报方法、获取方法、装置、设备及介质
CN112084114B (zh) 用于测试接口的方法和装置
CN115633044B (zh) 报文的处理方法、装置、电子设备及存储介质
CN116820946B (zh) 一种对目标软件兼容性进行自动化测试的方法和装置
CN118034993B (zh) 存储数据的保护方法、装置、电子设备及存储介质
CN116521721A (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
GR01 Patent grant
GR01 Patent grant