CN107193681A - 数据校验方法及装置 - Google Patents

数据校验方法及装置 Download PDF

Info

Publication number
CN107193681A
CN107193681A CN201610147603.3A CN201610147603A CN107193681A CN 107193681 A CN107193681 A CN 107193681A CN 201610147603 A CN201610147603 A CN 201610147603A CN 107193681 A CN107193681 A CN 107193681A
Authority
CN
China
Prior art keywords
verified
test
fields
test script
desired value
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
Application number
CN201610147603.3A
Other languages
English (en)
Other versions
CN107193681B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co 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 CN201610147603.3A priority Critical patent/CN107193681B/zh
Publication of CN107193681A publication Critical patent/CN107193681A/zh
Application granted granted Critical
Publication of CN107193681B publication Critical patent/CN107193681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes

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)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例公开了一种数据校验方法及装置。所述数据校验方法包括:校验服务器接收测试客户端发送的携带待校验字段集合与期望值的测试脚本;校验服务器根据所述测试脚本中待校验字段集合获取预设的校验用例;校验服务器向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值;校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。利用本申请实施例,可以实现数据校验和测试脚本解耦,降低了用户操作的复杂性。

Description

数据校验方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据校验方法及装置。
背景技术
互联网业务通常会涉及到多个系统,如购物时,会涉及到登录系统、购物车系统、收银台系统等。不同的系统通常会对应有不同的数据库表。在处理业务中,数据在不同的系统间传递后,会相应地存储在系统对应的数据库表中。但是,数据在传递过程中可能会出现错误,如数据传递前后不一致的情况,进而导致数据库中的数据异常;或者,数据向数据库存储过程中磁盘发生故障,进而导致存储后的数据异常。
现有技术中,通过数据校验可以找到上述异常数据。一般的,数据校验需要用户编写测试脚本。所述测试脚本会用一个期望值与数据库中实际值进行比对,如果所述期望值和实际值一致,则说明数据库表中实际值是正常的,即校验结果为数据正常。如果,期望值和实际值不一致,则说明数据库表中实际值是不正常的,即校验结果为数据异常。然而,由于数据校验代码是写在测试脚本里的,使得数据校验和测试脚本耦合性高,对于待校验的字段对应的数据库表还需要关联一个csv(CommaSeperatedValue)文件,使得测试脚本可以进行数据校验。数据库表中的字段对应所述csv文件中的一行数据,并通过设置Y(需要校验),N(不用校验),C(查询)来表示所述字段是否需要校验。如在csv文件中一行数据对应数据库表中的字段“姓名”,通过设置Y对字段“姓名”进行校验,或者通过设置N不用对字段“姓名”进行校验。通常,设置Y时还需要设置C,即对需要校验的字段进行查询,得到数据库表中的实际值。如果数据库表很多,数据库表中字段也很多时,上述数据校验需要增加很多的csv文件,并花费很多时间来配置csv文件中的数据。
综上所述,现有技术中存在数据校验和测试脚本耦合性高,用户操作复杂的问题。
发明内容
本申请实施例的目的是提供一种数据校验方法及装置,用以解决现有技术中存在数据校验和测试脚本耦合性高,用户操作复杂的问题。
为解决上述技术问题,本申请实施例提供的数据校验方法及装置是这样实现的:
一种数据校验方法,包括:
校验服务器接收测试客户端发送的携带待校验字段集合与期望值的测试脚本;
校验服务器根据所述测试脚本中待校验字段集合获取预设的校验用例;
校验服务器向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值;
校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
一种数据校验的方法,包括:
测试客户端在测试脚本中配置待校验字段集合;
测试客户端将待校验字段集合的期望值写入到测试脚本中;
测试客户端将所述测试脚本发送至校验服务器。
一种数据校验的装置,包括:
接收单元:用于接收测试客户端发送的携带待校验字段集合与期望值的测试脚本;
获取单元:用于根据所述测试脚本中待校验字段集合获取预设的校验用例;
查询单元:用于向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值;
判断单元:用于判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
一种数据校验的装置,包括:
配置单元:用于在测试脚本中配置待校验字段集合;
写入单元:用于将待校验字段集合的期望值写入到测试脚本中;
发送单元:用于将所述测试脚本发送至校验服务器。
由以上本申请实施例提供的技术方案可见,通过将测试脚本与数据校验分离,用户只需在测试客户端上配置好测试脚本后发送至校验服务器,由校验服务器来完成数据校验。如此,相较于现有技术使得测试脚本和数据校验解耦,并且无需用户配置csv文件,降低了用户操作复杂性,解决现有技术中测试脚本和数据校验耦合性高,用户操作复杂的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例中提供的数据校验的系统架构图;
图2为本申请一实施例中提供的数据校验方法的流程图;
图3为本申请一实施例中提供的校验服务器为主体的流程图;
图4为本申请一实施例中提供的脚本客户端为主体的流程图;
图5为本申请一实施例中提供的数据校验装置的模块示意图;
图6为本申请一实施例中提供的数据校验装置的模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的数据校验的系统架构图。本实施例中,该系统可以包括校验服务器105,脚本客户端106。
系统架构图100中,脚本客户端106与校验服务器105之间借助网络可以实现远程通信,继而完成数据交互和处理。系统架构图100可以包括经由网络112分别与多个脚本客户端106进行通信的校验服务器105,以及可以集成于所述校验服务器105或独立于所述校验服务器105的数据库115。
网络112可以包括有线或无线电信装置,脚本客户端106所基于的网络装置可以通过所述有线或无线电信装置来交换数据。例如,网络112可以包括局域网(“LAN”)、广域网(“WAN”)、内部网、互联网、移动电话网络、虚拟专用网(VPN)、蜂窝式或其它移动通信网络、蓝牙、NFC或其任何组合。
校验服务器105,脚本客户端106的设备在架构上都包含一些基本组件,如总线、处理装置、存储装置、一个或多个输入/输出装置、和通信接口等。总线可以包括一个或多个导线,用来实现服务器和客户端设备各组件之间的通信。处理装置可以包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储装置可以包括用以存储动态消息的动态存储器,如随机访问存储器(RAM),或用以存储静态消息的静态存储器,如只读存储器(ROM),以及包括磁或光学记录介质与相应驱动的大容量存储器。输入装置可以是键盘、鼠标、手写笔、触摸屏、声音识别装置、或生物测定装置等。输出装置可以是用以输出消息的显示器、打印机、或扬声器等。通信接口用来使服务器或客户端设备与其他系统或装置进行通信。通信接口之间可通过有线连接方式、无线连接方式、或光连接方式连接到上述网络中,以使上述客户端设备、服务器实现相互通信。
脚本客户端106所基于的网络装置都可以包括具有能够经由网络112发出并接收数据的通信模块的装置。例如,脚本客户端106所基于的网络装置都可以包括台式计算机、膝上型计算机、平板计算机、智能手机、手持式计算机、个人数字助理(“PDA”),或者其它任何的有线或无线处理器驱动装置。
系统架构图100中,校验服务器105可以提供脚本客户端106数据校验服务。脚本客户端106可以用于配置测试脚本并将测试脚本发送至校验服务器105中进行数据校验。
具体地,脚本客户端106可以通过网络112调用校验服务器105对外提供的远程过程调用协议(Remote Procedure Call Protocol,RPC)服务接口,从而将配置好的测试脚本发送至校验服务器105。校验服务器105根据所述测试脚本中待校验字段的期望值,从数据库表中获取待校验字段的实际值,并对所述期望值与实际值比较,得出校验结果。
以下结合图2所示的例子介绍本申请一实施例中提供的数据校验方法的流程图。本实施例中,所述数据校验方法包括如下步骤:
S201:脚本客户端在测试脚本中配置待校验字段集合。
所述待校验字段集合可以是用户根据业务系统结合校验需求设置的待校验字段的集合。所述待校验字段集合中至少包括一个字段。
例子一:一个购物系统,该系统涉及到登录子系统、购物车子系统、收银台子系统,订单子系统。假设校验需求是校验购物者的姓名、年龄是否正常(正常情况下,在一次购物过程中购物者的姓名、年龄前后必定是一致的),那么所述待校验字段集合可以包括如下所示的字段:
登录子系统对应的登录数据库表中姓名字段“nameA”、年龄字段“ageA”;
购物车系统对应的购物车数据库表中姓名字段“nameB”、年龄字段“ageB”;
收银台系统对应的收银台数据库表中姓名字段“nameC”、年龄字段“ageD”;
订单系统对应的订单数据库表中姓名字段“nameD”、年龄字段“ageD”;
即,该例子中,待校验字段集合为{nameA,ageA,nameB,ageB,nameC,ageC,nameD,ageD}。
例子二:通常,不同系统中相同字段命名可能是相同的。相对于例子一,本例子中姓名字段在各个数据库表中均命名为“name”。如此,在姓名字段和年龄字段相同的情况下,待校验字段集合可以包括如下所示的字段:
登录子系统对应的登录数据库表中姓名字段“name”、年龄字段“age”;
购物车系统对应的购物车数据库表中姓名字段“name”、年龄字段“age”;
收银台系统对应的收银台数据库表中姓名字段“name”、年龄字段“age”;
订单系统对应的订单数据库表中姓名字段“name”、年龄字段“age”;
即,待校验字段集合为{name,age}。
脚本客户端需要在测试脚本中配置所述待校验字段集合。结合上述例子二所述的待校验字段集合{name,age},配置的代码示例如下所示:
如上所示,TestContext是java中提供的一个上下文的类,在TestContext中定义了一个具体的字段String name,该字段即为待校验字段集合中的字段“name”。进一步的,代码中还提供了get和set方法,用于通过getName()方法获取业务系统中的姓名,再通过setName()方法写入获取到的姓名。
需要说明的是,上文提及的代码仅为本实施例中配置字段集合的部分代码示例,为将本实施例阐述得清楚简洁,对于本实施例全部代码在此不作赘述。
S202:脚本客户端将待校验字段集合的期望值写入到测试脚本中。
具体地,所述S210步骤可以包括如下步骤:
脚本客户端通过get方法获取所述待校验字段的期望值;
脚本客户端通过set方法将所述期望值写入到测试脚本中。
沿用上一步骤中的例子二,在购物系统中,假设张三进行了一次购物,那么脚本客户端通过get方法可以从业务系统中获取姓名字段的期望值为“张三”,年龄字段的期望值为“18”。脚本客户端通过set方法,将姓名字段的期望值“张三”和年龄字段的期望值“18”写入测试脚本中。
在本申请的一个具体地实施例中,在S201步骤之后,还可以包括如下步骤:
脚本客户端将所述测试脚本存储在本地。
如此,当用户下次需要校验相同的字段时,只需将存储的测试脚本再次发送至校验服务器即可。或者,当用户需要增加待校验字段时,只需增加或修改现有的测试脚本,无需重新配置测试脚本。通过本实施例,简化了用户操作,提高了整体的校验效率。
S211:测试客户端将所述测试脚本发送至校验服务器。
测试客户端通过调用校验服务器提供的RPC服务接口,从而将所述测试脚本发送至校验服务器。
具体地,S221步骤可以包括:所述测试客户端通过json方式将所述测试脚本发送至校验服务器。
所述json方式,是以键值对来传输数据的,例如<name,张三>、<age,18>,而数据库表也是以键值对来存储数据的。如此,通过json方式发送所述测试脚本就会变得更有效率。
在本申请的另一个实施例中,所述S211步骤,具体还可以包括:
所述测试客户端通过jsonObject方式将所述测试脚本发送至校验服务器。
在上一实施例中,通过json方式发送的测试脚本是json格式的,由于校验服务器只能识别jsonObject格式,所以校验服务器还需将json格式转化为jsonObject格式后才能读取发送过来的测试脚本。通过本实施例,测试客户端预先将测试脚本转化为jsonObject格式后发送,服务器接收后即可直接读取测试脚本。
S221:校验服务器接收所述测试客户端发送的测试脚本。
在本申请的一个具体地实施例中,在S221步骤之后,还可以包括如下步骤:
校验服务器将所述测试脚本存储在数据库中。
如此,当用户下次需要校验相同的字段时,只需调用RPC服务器接口后查找到校验服务器上存储的该测试脚本供所校验服务器进行校验即可,无需重新配置测试脚本后发送至校验服务器。
S222:校验服务器根据所述测试脚本中待校验字段集合获取预设的校验用例。
所述校验用例可以是用户预先在校验服务器上设置的。所述校验用例可以由不同的数据库表组合而成。
具体地,用户通过测试客户端调用RPC服务接口后,可以在校验服务器上设置校验用例。
设置校验用例的步骤如下所示:
A1:校验服务器接收测试客户端通过RPC服务接口发送的设置校验用例的请求,所述请求携带有业务系统名;
A2:校验服务器接收所述请求,根据数据连接文件(如zdal文件)从数据库中获取所述业务系统名下所有的数据库表;
A3:校验服务器接收测试客户端从所有的数据库表中选择的数据库表后,将选出的数据库表关联后设置为校验用例。
沿用上述例子一,用户可以预先在校验服务器上设置包括登录数据库表、购物车数据库表、收银台数据库表和订单数据库表的校验用例。相同的,对于上述例子二,用户可以预先在校验服务器上设置包括登录数据库表、购物车数据库表、收银台数据库表和订单数据库表的校验用例。
校验服务器接收到测试脚本后,可以根据所述测试脚本中的配置的待识别字段集合,获取对应的预设校验用例。
S223:校验服务器向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值。
校验服务器获取校验用例后,通过db查询(数据库查询)查询所述校验用例中各个数据库表中所述待校验字段集合的实际值,从而获取实际值。
沿用例子一,校验服务器查询登录数据库表中待校验字段“nameA”和“ageA”的实际值、购物车数据库表中待校验字段“nameB”和“ageB”的实际值、收银台数据库表中待校验字段“nameC”和“ageC”的实际值和订单数据库表中待校验字段“nameD”和“ageD”的实际值。
沿用例子二,校验服务器查询登录数据库表、购物车数据库表、收银台数据库表和订单数据库表中待校验字段“name”、“age”的实际值。
S224:校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
沿用例子二,待校验字段集合{name,age}期望值为:name=张三、age=18。校验服务器判断登录数据库表中字段“name”的实际值是否为“张三”、字段“age”的实际值是否为“18”;判断购物车数据库表中字段“name”的实际值是否为“张三”、字段“age”的实际值是否为“18”;判断收银台数据库表中字段“name”的实际值是否为“张三”、字段“age”的实际值是否为“18”;判断订单数据库表中字段“name”的实际值是否为“张三”、字段“age”的实际值是否为“18”。
本实施例中,通过将测试脚本与数据校验分离,用户只需在测试客户端上配置好测试脚本后发送至校验服务器,由校验服务器来完成数据校验。如此,相较于现有技术使得测试脚本和数据校验解耦,并且无需用户配置csv文件,降低了用户操作复杂性,解决现有技术中测试脚本和数据校验耦合性高,用户操作复杂的问题。
本实施例中在S224步骤之后,还可以包括如下所示步骤:
校验服务器向所述测试客户端返回校验结果。
测试客户端接收所述校验结果,并将所述校验结果为失败的数据库表单和待校验字段展示。
在本实施例中,所述校验结果包括两种校验状态,一种为待校验字段期望值与实际值一致时得出的状态,定义该状态下校验结果为数据正常。另一种为待校验字段期望值与实际值不一致时得出的状态,定义该状态下校验结果为数据异常。值得一提的是,上述两种状态定义的名词仅是示例,还可以是成功、失败,在本实施例中不加以限定。
所述校验结果可以是S224步骤判断的结果,即在所述测试脚本中待校验字段期望值与实际值一致时,校验结果为数据正常;在所述测试脚本中待校验字段期望值与实际值不一致时,校验结果为数据异常。如此,校验服务器可以向所述测试客户端返回校验结果。而测试客户端接收所述校验结果后,可以将所述校验结果为数据异常的数据库表单和待校验字段展示出来,用以提示用户进行处理。
本实施例中在S224步骤之后,还可以包括如下所示步骤:
校验服务器在所述测试脚本中待校验字段期望值与实际值不一致时,向所述测试客户端发送校验结果。
测试客户端接收所述校验结果,并将所述校验结果的数据库表单和待校验字段展示。
与上一实施例不同的是,本实施例中校验服务器只有在校验结果为数据异常时,才向测试客户端发送校验结果,测试客户端无需判断,当接受校验结果后直接展示出来即可。通过本实施例,可以减少校验服务器与测试客户端之间的交互数据量,进而提高系统运行性能。
以下结合图3介绍本申请以校验服务器为主体的方法实施例,该实施例可以对应图2:
S310:接收测试客户端发送的携带待校验字段集合与期望值的测试脚本。
在本申请的一个实施例中,在S310步骤之后,还可以包括:
将所述测试脚本存储在数据库中。
S320:根据所述测试脚本中待校验字段集合获取预设的校验用例。
S330:向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值。
S340:判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
本申请的一个实施例中,在S340步骤之后,还可以包括:
向所述测试客户端返回校验结果。
本申请一个实施例中,在S340步骤之后,还可以包包括:
在所述测试脚本中待校验字段期望值与实际值不一致时,向所述测试客户端发送校验结果。
以下结合图4介绍本申请以测试客户端为主体的方法实施例,该实施例可以对应图2:
S410:在测试脚本中配置待校验字段集合。
S420:将待校验字段集合的期望值写入到测试脚本中。
具体地,所述S420步骤,可以包括:
通过get方法获取所述待校验字段的期望值;
通过set方法将所述期望值写入到测试脚本中。
在本申请的一个实施例中,在S420步骤之后,还可以包括:
将所述测试脚本存储在本地。
S430:将所述测试脚本发送至校验服务器。
在本申请的一个实施例中,在S430步骤之后,还可以包括:
接收所述校验服务器返回的校验结果,并将所述校验结果为失败的数据库表单和待校验字段展示。
在本申请的一个实施例中,在S430步骤之后,还可以包括:
接收所述校验服务器返回的校验结果,并将所述校验结果的数据库表单和待校验字段展示。
本申请实施例提供还提供一种装置,可以实现上述的方法步骤,且该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过服务器的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。
图5为本申请一实施例中提供的数据校验装置的模块示意图。本实施例中,所述数据校验装置包括:
接收单元510:用于接收测试客户端发送的携带待校验字段集合与期望值的测试脚本。
获取单元520:用于根据所述测试脚本中待校验字段集合获取预设的校验用例。
查询单元530:用于向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值。
判断单元540:用于判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
通过本实施例中,将测试脚本与数据校验分离,用户只需在测试客户端上配置好测试脚本后发送至校验服务器,由校验服务器来完成数据校验。如此,相较于现有技术使得测试脚本和数据校验解耦,并且无需用户配置csv文件,降低了用户操作复杂性,解决现有技术中测试脚本和数据校验耦合性高,用户操作复杂的问题。
在本申请的一个实施例中,在所述接收单元510之后,还可以包括:
第一存储子单元:用于将所述测试脚本存储在数据库中。
通过本实施例,当用户下次需要校验相同的字段时,只需调用RPC服务器接口后查找到校验服务器上存储的该测试脚本供所校验服务器进行校验即可,无需重新配置测试脚本后发送至校验服务器。
在本申请的一个实施例中,在所述判断单元540之后,还可以包括:
第一返回子单元,用于向所述测试客户端返回校验结果。
通过本实施例,校验服务器可以向测试客户端返回校验结果,而测试客户端接收所述校验结果后,可以将所述校验结果为数据异常的数据库表单和待校验字段展示出来,用以提示用户进行处理。
在本申请的一个实施例中,在所述判断单元540之后,还可以包括:
第二返回子单元,用于在所述测试脚本中待校验字段期望值与实际值不一致时,向所述测试客户端发送校验结果。
通过本实施例,校验服务器只有在校验结果为数据异常时,才向测试客户端发送校验结果,测试客户端无需判断,当接受校验结果后直接展示出来即可。从而,可以减少校验服务器与测试客户端之间的交互数据量,进而提高系统运行性能。
图6为本申请一实施例中提供的数据校验装置的模块示意图。本实施例中,所述数据校验装置包括:
配置单元610:用于在测试脚本中配置待校验字段集合。
写入单元620:用于将待校验字段集合的期望值写入到测试脚本中。
发送单元630:用于将所述测试脚本发送至校验服务器。
通过本实施例,将测试脚本与数据校验分离,用户只需在测试客户端上配置好测试脚本后发送至校验服务器,由校验服务器来完成数据校验。如此,相较于现有技术使得测试脚本和数据校验解耦,并且无需用户配置csv文件,降低了用户操作复杂性,解决现有技术中测试脚本和数据校验耦合性高,用户操作复杂的问题。
在本申请的一个实施例中,所述写入单元620,具体可以包括:
获取子单元,用于通过get方法获取所述待校验字段的期望值;
写入子单元,用于通过set方法将所述期望值写入到测试脚本中。
通过本实施例,在业务系统运行中,测试脚本可以通过get/set方法获取待校验字段的期望值。
在本申请的一个实施例中,在所述写入单元620之后,还包括:
第二存储子单元,用于将所述测试脚本存储在本地。
通过本实施例,当用户下次需要校验相同的字段时,只需将存储的测试脚本再次发送至校验服务器即可。或者,当用户需要增加待校验字段时,只需增加或修改现有的测试脚本,无需重新配置测试脚本。简化了用户操作,提高了整体的校验效率。
在本申请的一个实施例中,在所述发送单元630之后,还可以包括:
第一接收子单元,用于接收所述校验服务器返回的校验结果,并将所述校验结果为失败的数据库表单和待校验字段展示。
通过本实施例,校验服务器可以向测试客户端返回校验结果,而测试客户端接收所述校验结果后,可以将所述校验结果为数据异常的数据库表单和待校验字段展示出来,用以提示用户进行处理。
在本申请的一个实施例中,在所述发送单元630之后,还可以包括:
第二收子单元,用于接收所述校验服务器返回的校验结果,并将所述校验结果的数据库表单和待校验字段展示。
通过本实施例,校验服务器只有在校验结果为数据异常时,才向测试客户端发送校验结果,测试客户端无需判断,当接受校验结果后直接展示出来即可。从而,可以减少校验服务器与测试客户端之间的交互数据量,进而提高系统运行性能。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochipPIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种数据校验方法,其特征在于,包括:
校验服务器接收测试客户端发送的携带待校验字段集合与期望值的测试脚本;
校验服务器根据所述测试脚本中待校验字段集合获取预设的校验用例;
校验服务器向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值;
校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
2.如权利要求1所述的方法,其特征在于,在校验服务器接收测试客户端发送的携带待校验字段集合与期望值的测试脚本之后,还包括:
校验服务器将所述测试脚本存储在数据库中。
3.如权利要求1所述的方法,其特征在于,在校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致之后,还包括:
校验服务器向所述测试客户端返回校验结果。
4.如权利要求1所述的方法,其特征在于,在校验服务器判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致之后,还包括:
在所述测试脚本中待校验字段期望值与实际值不一致时,校验服务器向所述测试客户端发送校验结果。
5.一种数据校验的方法,其特征在于,包括:
测试客户端在测试脚本中配置待校验字段集合;
测试客户端将待校验字段集合的期望值写入到测试脚本中;
测试客户端将所述测试脚本发送至校验服务器。
6.如权利要求5所述的方法,其特征在于,测试客户端将待校验字段集合的期望值写入到测试脚本中,具体包括:
测试客户端通过get方法获取所述待校验字段的期望值;
测试客户端通过set方法将所述期望值写入到测试脚本中。
7.如权利要求5所述的方法,其特征在于,在测试客户端将待校验字段集合的期望值写入到测试脚本中之后,还包括:
测试客户端将所述测试脚本存储在本地。
8.如权利要求5所述的方法,其特征在于,在测试客户端将所述测试脚本发送至校验服务器之后,还包括:
测试客户端接收所述校验服务器返回的校验结果,并将所述校验结果为失败的数据库表单和待校验字段展示。
9.如权利要求5所述的方法,其特征在于,在测试客户端将所述测试脚本发送至校验服务器之后,还包括:
测试客户端接收所述校验服务器返回的校验结果,并将所述校验结果中的数据库表单和待校验字段展示。
10.一种数据校验的装置,其特征在于,包括:
接收单元:用于接收测试客户端发送的携带待校验字段集合与期望值的测试脚本;
获取单元:用于根据所述测试脚本中待校验字段集合获取预设的校验用例;
查询单元:用于向数据库查询所述校验用例中各个数据库表中所述待校验字段集合的实际值;
判断单元:用于判断所述测试脚本中待校验字段集合期望值与所述实际值是否一致。
11.如权利要求10所述的装置,其特征在于,在所述接收单元之后,还包括:
存储子单元:用于将所述测试脚本存储在数据库中。
12.如权利要求10所述的装置,其特征在于,在所述判断单元之后,还可以包括:
第一返回子单元,用于向所述测试客户端返回校验结果。
13.如权利要求10所述的装置,其特征在于,在所述判断单元之后,还可以包括:
第二返回子单元,用于在所述测试脚本中待校验字段期望值与实际值不一致时,向所述测试客户端发送校验结果。
14.一种数据校验的装置,其特征在于,包括:
配置单元:用于在测试脚本中配置待校验字段集合;
写入单元:用于将待校验字段集合的期望值写入到测试脚本中;
发送单元:用于将所述测试脚本发送至校验服务器。
15.如权利要求14所述的装置,其特征在于,所述写入单元,具体包括:
获取子单元,用于通过get方法获取所述待校验字段的期望值;
写入子单元,用于通过set方法将所述期望值写入到测试脚本中。
16.如权利要求14所述的装置,其特征在于,在所述写入单元之后,还包括:
存储子单元,用于将所述测试脚本存储在本地。
17.如权利要求14所述的装置,其特征在于,在所述发送单元之后,还可以包括:
第一接收子单元,用于接收所述校验服务器返回的校验结果,并将所述校验结果为失败的数据库表单和待校验字段展示。
18.如权利要求14所述的装置,其特征在于,在所述发送单元之后,还可以包括:
第二收子单元,用于接收所述校验服务器返回的校验结果,并将所述校验结果的数据库表单和待校验字段展示。
CN201610147603.3A 2016-03-15 2016-03-15 数据校验方法及装置 Active CN107193681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610147603.3A CN107193681B (zh) 2016-03-15 2016-03-15 数据校验方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610147603.3A CN107193681B (zh) 2016-03-15 2016-03-15 数据校验方法及装置

Publications (2)

Publication Number Publication Date
CN107193681A true CN107193681A (zh) 2017-09-22
CN107193681B CN107193681B (zh) 2020-07-31

Family

ID=59871469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610147603.3A Active CN107193681B (zh) 2016-03-15 2016-03-15 数据校验方法及装置

Country Status (1)

Country Link
CN (1) CN107193681B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256074A (zh) * 2018-01-17 2018-07-06 链家网(北京)科技有限公司 校验处理的方法、装置、电子设备和存储介质
CN109117375A (zh) * 2018-08-30 2019-01-01 上海携程金融信息服务有限公司 数据库接口测试方法、系统、设备和存储介质
CN109597816A (zh) * 2018-10-30 2019-04-09 京信通信系统(中国)有限公司 参数校验方法、装置、计算机存储介质及嵌入式设备
CN110688295A (zh) * 2018-07-06 2020-01-14 北京京东尚科信息技术有限公司 数据测试方法和装置
CN110908888A (zh) * 2018-09-17 2020-03-24 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN112765124A (zh) * 2020-12-30 2021-05-07 深圳市捷顺科技实业股份有限公司 一种自动校验数据的核对方法及服务器
CN112905437A (zh) * 2019-11-19 2021-06-04 腾讯科技(深圳)有限公司 一种测试用例的方法、装置及存储介质
CN115118625A (zh) * 2018-05-11 2022-09-27 创新先进技术有限公司 一种数据校验方法和装置
CN115203300A (zh) * 2022-06-22 2022-10-18 中电金信软件有限公司 一种数据验证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021890A (zh) * 2007-03-20 2007-08-22 华为技术有限公司 一种对页面数据进行校验的方法、系统和服务器
CN102799690A (zh) * 2012-08-13 2012-11-28 南京莱斯信息技术股份有限公司 一种利用数据库技术校验网页输入的方法
CN104423953A (zh) * 2013-09-04 2015-03-18 中国石油天然气股份有限公司 一种scada系统定时数据处理脚本执行系统及方法
CN103246574B (zh) * 2012-02-10 2015-11-11 阿里巴巴集团控股有限公司 数据准确性的校验方法及装置
CN105359143A (zh) * 2013-07-10 2016-02-24 甲骨文国际公司 数据库诊断界面系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021890A (zh) * 2007-03-20 2007-08-22 华为技术有限公司 一种对页面数据进行校验的方法、系统和服务器
CN103246574B (zh) * 2012-02-10 2015-11-11 阿里巴巴集团控股有限公司 数据准确性的校验方法及装置
CN102799690A (zh) * 2012-08-13 2012-11-28 南京莱斯信息技术股份有限公司 一种利用数据库技术校验网页输入的方法
CN105359143A (zh) * 2013-07-10 2016-02-24 甲骨文国际公司 数据库诊断界面系统
CN104423953A (zh) * 2013-09-04 2015-03-18 中国石油天然气股份有限公司 一种scada系统定时数据处理脚本执行系统及方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256074B (zh) * 2018-01-17 2020-06-23 贝壳找房(北京)科技有限公司 校验处理的方法、装置、电子设备和存储介质
CN108256074A (zh) * 2018-01-17 2018-07-06 链家网(北京)科技有限公司 校验处理的方法、装置、电子设备和存储介质
CN115118625B (zh) * 2018-05-11 2023-06-27 创新先进技术有限公司 一种数据校验方法和装置
CN115118625A (zh) * 2018-05-11 2022-09-27 创新先进技术有限公司 一种数据校验方法和装置
CN110688295A (zh) * 2018-07-06 2020-01-14 北京京东尚科信息技术有限公司 数据测试方法和装置
CN109117375A (zh) * 2018-08-30 2019-01-01 上海携程金融信息服务有限公司 数据库接口测试方法、系统、设备和存储介质
CN110908888A (zh) * 2018-09-17 2020-03-24 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN109597816A (zh) * 2018-10-30 2019-04-09 京信通信系统(中国)有限公司 参数校验方法、装置、计算机存储介质及嵌入式设备
CN112905437A (zh) * 2019-11-19 2021-06-04 腾讯科技(深圳)有限公司 一种测试用例的方法、装置及存储介质
CN112905437B (zh) * 2019-11-19 2023-10-13 腾讯科技(深圳)有限公司 一种测试用例的方法、装置及存储介质
CN112765124A (zh) * 2020-12-30 2021-05-07 深圳市捷顺科技实业股份有限公司 一种自动校验数据的核对方法及服务器
CN112765124B (zh) * 2020-12-30 2024-05-17 深圳市捷顺科技实业股份有限公司 一种自动校验数据的核对方法及服务器
CN115203300A (zh) * 2022-06-22 2022-10-18 中电金信软件有限公司 一种数据验证方法及装置
CN115203300B (zh) * 2022-06-22 2023-10-31 中电金信软件有限公司 一种数据验证方法及装置

Also Published As

Publication number Publication date
CN107193681B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN107193681A (zh) 数据校验方法及装置
US9990383B2 (en) Constructing a data adaptor in an enterprise server data ingestion environment
CN105900396B (zh) 移动云服务体系架构
US8539514B2 (en) Workflow integration and portal systems and methods
US10972586B2 (en) Reusable message flow between applications of a message broker integrated systems environment
US10331947B2 (en) Automatic detection on string and column delimiters in tabular data files
CN104765621B (zh) 一种在集群节点中部署程序的方法和系统
US11785415B2 (en) Locations platform for managing and providing of user experiences
CN106874174A (zh) 接口测试及功能测试的实现方法和装置
CN113268336B (zh) 一种服务的获取方法、装置、设备以及可读介质
CN108536578A (zh) 一种测试方法及装置
CN108074076A (zh) 基于esb的服务提供方法、装置、设备及可读存储介质
US11455337B2 (en) Preventing biased queries by using a dictionary of cause and effect terms
WO2016101811A1 (zh) 一种信息排序方法及装置
US11704187B1 (en) Automated application programming interface (API) route testing system
CN110070394A (zh) 数据处理方法、系统、介质和计算设备
US20220044254A1 (en) Dynamic categorization of it service tickets using natural language description
CN113495797A (zh) 一种消息队列及消费者动态创建方法及系统
CN106341440A (zh) 一种数据更新方法和装置
CN106817394A (zh) 传输产品配置参数的方法和服务器
CN109345249A (zh) 一种支付失败处理方法及装置
CN107918863A (zh) 基于金融产品的前置处理及配置方法、装置及设备
CN110362294A (zh) 开发任务执行方法、装置、电子设备及存储介质
CN109257185A (zh) 一种网络设备、业务卡、逻辑装置及通知信息传输方法
US20100287603A1 (en) Flexible identity issuance 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.