一种数据校验方法和装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据校验方法和装置。
背景技术
通常,客户端在与服务端进行数据交互时,可以通过网关实现,具体地,客户端可以将数据请求发送给网关,网关将数据请求转发给服务端,服务端在接收到数据请求后,可以通过网关将客户端请求的数据返回给客户端,以实现与客户端之间的数据交互。
为了便于对不同类型的数据请求进行处理,通常,可以在上述数据交互链路中增加中间网关。在增加中间网关后,为了保证客户端与服务端之间正常的数据交互,需要确保服务端在增加中间网关前后返回给客户端的数据保持一致,然而,现有技术中还缺少一种有效的方法,可以校验在增加中间网关前后服务端返回给客户端的数据是否一致。
发明内容
本申请实施例提供一种数据校验方法和装置,用于解决在客户端与服务端的数据交互链路中增加中间网关后,如何校验服务端返回给客户端的数据是否与增加中间网关前返回的数据一致的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种数据校验方法,应用于测试端,包括:
通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
根据所述第一数据对所述第二数据进行校验。
第二方面,提出一种数据校验方法,应用于服务端,包括:
通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
第三方面,提出一种数据校验装置,应用于测试端,包括:
第一处理单元,通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
第二处理单元,通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
校验单元,根据所述第一数据,对所述第二数据进行校验。
第四方面,提出一种数据校验装置,应用于服务端,包括:
第一处理单元,通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
第二处理单元,通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
第五方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
根据所述第一数据对所述第二数据进行校验。
第六方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
第七方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
根据所述第一数据对所述第二数据进行校验。
第八方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
第九方面,提供一种数据校验系统,包括测试端与服务端,其中:
所述测试端通过第一链路向所述服务端发送数据请求,所述服务端接收所述数据请求并通过所述第一链路返回第一数据,所述测试端接收所述第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
所述测试端通过第二链路向所述服务端发送所述数据请求,所述服务端接收所述数据请求并通过所述第二链路返回第二数据,所述测试端接收所述第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
所述测试端根据所述第一数据对所述第二数据进行校验。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,测试端可以分别通过第一链路和第二链路发送数据请求,获取服务端通过第一链路以及第二链路分别返回的第一数据和第二数据,根据第一数据对第二数据进行校验,其中,第一链路包括测试端、第一网关和服务端,第二链路包括测试端、第一网关、第二网关以及服务端。这样,在对服务端返回给客户端的数据进行校验时,可以由测试端充当客户端并向增加网关前后的不同链路发送数据请求,由于测试端可以方便地获取到不同链路下服务端返回的数据,因此,可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,从而保证服务端在增加中间网关前后返回给客户端的数据的一致性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例数据校验方法的流程示意图;
图2是本申请的一个实施例数据校验方法的流程示意图;
图3是本申请的一个实施例数据校验方法的流程示意图;
图4是本申请的一个实施例数据校验方法的流程示意图;
图5是本申请的一个实施例电子设备的结构示意图;
图6是本申请的一个实施例数据校验装置的结构示意图;
图7是本申请的一个实施例电子设备的结构示意图;
图8是本申请的一个实施例数据校验装置的结构示意图;
图9是本申请的一个实施例数据校验系统的结构示意图。
具体实施方式
现有技术中,客户端可以通过网关向服务端发送数据请求,以实现与服务端之间的数据交互时,其中,不同的客户端应用发送的数据请求的类型不同。为了便于对客户端发送的不同类型的数据请求进行处理,可以在客户端和服务端原有的数据交互链路中增加中间网关,中间网关可以用于对不同类型的数据请求进行隔离处理。
在增加中间网关后,为了保证客户端与服务端之间正常的数据交互,需要确保服务端返回给客户端的数据(即客户端从服务端接收到的数据)在增加中间网关前后保持一致,这就需要对服务端返回的数据进行校验,然而,现有技术中还缺少一种有效的方法可以对服务端返回的数据进行校验。
有鉴于此,本申请实施例提供一种数据校验方法和装置,该方法应用于测试端时,可以包括:通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;根据所述第一数据对所述第二数据进行校验。
这样,在对服务端返回给客户端的数据进行校验时,可以由测试端充当客户端并向增加网关前后的不同链路发送数据请求,由于测试端可以方便地获取到不同链路下服务端返回的数据,因此,可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,从而保证服务端在增加中间网关前后返回给客户端的数据的一致性。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请实施例中,所述第一链路可以视为没有增加中间网关时,客户端与服务端进行数据交互时使用的链路,所述第二链路可以视为增加中间网关后,客户端与服务端进行数据交互时的使用的链路。
在现有技术中,由于无法侵入到客户端内部获取数据进行一致性校验,因此,本申请实施例在对服务端返回给客户端的数据进行一致性校验时,可以由测试端充当客户端的角色,分别通过所述第一链路以及所述第二链路向服务端发送数据请求并获取服务端返回的第一数据以及第二数据,以实现数据的一致性校验。
所述测试端可以理解为测试平台,或测试系统,所述测试端在通过所述第一链路或所述第二链路与所述服务端进行数据交互时,交互逻辑等同于客户端与所述服务端进行数据交互时的交互逻辑,为了便于理解,所述第一链路可以视为包括所述测试端、第一网关以及服务端,所述第二链路可以视为包括所述测试端、第一网关、第二网关以及服务端。
所述第一网关可以理解为增加中间网关前服务端与客户端进行数据交互时使用的网关,所述第二网关可以理解为增加的所述中间网关,其中,所述第二网关在数据链路中的位置可以位于所述第一网关和所述服务端之间,所述第二网关可以理解为业务网关,可以用于对不同类型的数据请求(可以视为不同类型的业务)进行分流,并对不同类型的数据请求进行隔离处理,不同类型的数据请求对应不同的客户端应用。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例数据校验方法的流程示意图。图1所示的数据校验方法可以应用于测试端,所述方法如下所述。
S102:通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据。
在步骤102中,在验证服务端在增加中间网关前后返回给客户端的数据是否一致时,测试端可以充当客户端的角色,并通过第一链路向服务端发送数据请求。
所述第一链路可以视为老链路,即在增加中间网关之前客户端与服务端进行数据交互时使用的链路。在本申请实施例中,所述第一链路至少可以包括所述测试端、第一网关以及所述服务端,所述第一网关可以理解为在增加中间网关之前,客户端与服务端进行数据交互时使用到的网关。
测试端在通过所述第一链路向服务端发送所述数据请求时,可以将所述数据请求发送给所述第一网关,所述第一网关在接收到所述数据请求后,将所述数据请求转发给服务端。
服务端在接收到所述数据请求后,可以根据所述数据请求,通过所述第一链路向测试端返回第一数据,测试端通过所述第一链路接收所述第一数据。
测试端在接收到所述第一数据后,可以存储所述第一数据,以便于后续的数据校验。
S104:通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据。
在步骤104中,测试端可以通过第二链路向服务端发送数据请求,该数据请求与测试端在S102中通过所述第一链路发送的数据请求相同,这样,可以便于后续的数据校验。
所述第一链路可以视为新链路,即在所述第一链路中增加中间网关后的链路。在本申请实施例中,所述第一链路可以包括测试端、所述第一网关、第二网关以及所述服务端,所述第二网关可以视为增加的中间网关。
测试端在通过所述第二链路向服务端发送所述数据请求时,可以将所述数据请求发送给所述第一网关,所述第一网关在接收到所述数据请求后,将所述数据请求转发给所述第二网关,由所述第二网关将所述数据请求发送给服务端。
服务端在接收到所述数据请求后,可以根据所述数据请求通过所述第二链路向测试端返回第二数据,具体地,可以依次通过所述第二网关以及所述第一网关返回所述第二数据,测试端通过所述第二链路接收所述第二数据。
测试端在接收到所述第二数据后,可以存储所述第二数据,以便于后续的数据校验。
需要说明的是,本申请实施例对上述S102和S104的执行顺序不作具体限定,即测试端可以先执行S102,再执行S104,也可以先执行S104,再执行S102,只要测试端可以得到所述第一数据以及所述第二数据即可。
还需要说明的是,由于测试端向服务端两次发送所述数据请求,因此,为了便于服务端区分,测试端可以为两次发送的数据请求分别确定对应的流水号,并使用对应的流水号发送数据请求。
测试端在通过上述S102和S104记载的方法得到所述第一数据以及所述第二数据后,可以执行S106。
S106:根据所述第一数据对所述第二数据进行校验。
在步骤106中,测试端在进行数据校验时,由于所述第一数据为服务端在增加中间网关前返回的数据,所述第二数据为服务端在增加中间网关后返回的数据,因此,可以根据所述第一数据,对所述第二数据进行校验,确定所述第二数据是否与所述第一数据一致。
本申请实施例中,测试端根据所述第一数据对所述第二数据进行校验,可以包括:
确定所述数据请求的类型;
根据所述数据请求的类型,确定与所述数据请求的类型对应的预设校验规则;
根据所述第一数据,使用所述预设校验规则对所述第二数据进行校验。
本申请实施例中,测试端在进行数据校验时,针对不同类型的数据,可以选择不同的预设校验规则进行校验。
所述数据请求的类型,可以理解为所述数据请求所属的应用的类型,例如,数据请求a是应用A的数据请求,那么,数据请求a的类型可以是A,数据请求b是应用B的数据请求,那么,数据请求b的类型可以是B,其中,同一应用的数据请求的类型相同,不同应用的数据请求的类型不同。
在确定所述数据请求的类型后,可以确定与所述数据请求的类型对应的预设校验规则,其中,测试端可以预先根据不同类型的数据请求确定不同的预设校验规则,并建立数据请求的不同类型与预设校验规则之间的映射关系,这样,在确定所述数据请求的类型后,可以根据预先建立的所述映射关系,确定与所述数据请求的类型对应的预设校验规则。
在确定与所述数据请求的类型对应的预设校验规则后,可以根据所述第一数据,使用确定的预设校验规则将所述第一数据与所述第二数据进行对比,确定所述第二数据是否与所述第一数据一致,以实现对所述第二数据的校验。
在一种实现方式中,针对上述记载的预设校验规则,每种预设校验规则可以分别对应一个对象比较器,即每种类型的数据请求可以分别对应一个对象比较器,测试端在进行数据校验时,可以使用与数据请求的类型对应的对象比较器进行校验,即使用对应的预设校验规则进行校验。
在对所述第二数据进行校验后,所述方法还可以包括:
若所述第二数据与所述第一数据一致,则生成第一提示信息,所述第一提示信息用于提示所述第二数据校验通过;
若所述第二数据与所述第一数据不一致,则生成第二提示信息,所述第二提示信息用于提示所述第二数据未校验通过。
具体地,在对所述第二数据进行校验后,若所述第二数据与所述第一数据一致,则可以说明服务端在增加中间网关前后返回给客户端的数据一致,此时,可以生成第一提示信息,所述第一提示信息可以用于提示所述第二数据校验通过。
在实际应用中,若所述第二数据校验通过,则,还可以说明所述第二链路可以实现客户端与服务端之间正常的数据交互,此时,可以将所述第二链路应用到实际应用中,即由客户端通过所述第一网关以及所述第二网关与服务端进行数据交互。
若所述第二数据与所述第一数据不一致,则可以说明服务端在增加中间网关前后返回给客户端的数据不一致,此时,可以生成第二提示信息,所述第二提示信息可以用于提示所述第二数据未校验通过。
所述第一提示信息以及所述第二提示信息可以是语音提示,也可以是文本提示,还可以是指示灯提示等,本申请实施例不做具体限定。
在本申请的一个实施例中,所述第二提示信息还可以包括所述第一数据与所述第二数据的对比详细信息,这样,在确定所述第二数据与所述第一数据不一致后,所述方法还可以包括:
根据所述对比详细信息,对所述第二链路进行调整。
具体地,测试端可以自动根据所述对比详细信息确定所述第一数据和所述第二数据不一致的具体信息,并根据不一致的具体信息对所述第二链路的代码进行修改,这样,测试端可以根据修改后的代码对所述第二链路进行调整,以确保服务端通过第二链路返回的数据与服务端通过第一链路返回的数据一致,使得所述第二链路可以满足客户端与服务端之间正常的数据交互。
此外,测试端可以将所述对比详细信息展示给测试人员,测试人员可以根据对比详细信息确定所述第一数据和所述第二数据不一致的具体信息,这样,测试人员可以根据不一致的具体信息修改所述第二链路的代码,这样,测试端可以根据修改后的代码对所述第二链路进行调整,使得所述第二链路可以满足服务端与客户端之间正常的数据交互。
本申请实施例提供的技术方案,测试端可以分别通过第一链路和第二链路发送数据请求,获取服务端通过第一链路以及第二链路分别返回的第一数据和第二数据,根据第一数据对第二数据进行校验,其中,第一链路包括测试端、第一网关和服务端,第二链路包括测试端、第一网关、第二网关以及服务端。在对服务端返回给客户端的数据进行校验时,可以由测试端充当客户端并向增加网关前后的不同链路发送数据请求,由于测试端可以方便地获取到不同链路下服务端返回的数据,因此,可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,从而保证服务端在增加中间网关前后返回给客户端的数据的一致性。
图2为本申请的一个实施例数据校验方法的流程示意图,本申请实施例可以应用于测试端,且与图1所示的实施例属于相同的发明构思。本申请实施例记载的数据校验方法如下所述。
S201:确定开启数据校验模式。
在S201中,测试端可以确定开启数据校验模式,在数据校验模式下,可以对服务端在不同链路上返回的数据进行一致性校验。
S202:通过第一链路向服务端发送数据请求。
S202中记载的第一链路与图1所示实施例中记载的第一链路相同,这里不再对第二链路进行重复描述。
S203:接收服务端通过所述第一链路返回的第一数据。
测试端在通过所述第一链路向服务端发送数据请求后,服务端可以根据所述数据请求通过所述第一链路返回第一数据,此时,测试端接收所述第一数据。
S204:通过第二链路向服务端发送所述数据请求。
S204中记载的第二链路与图1所示实施例中记载的第二链路相同,这里不再对第二链路进行重复描述。
通过所述第二链路发送的数据请求与S202中通过所述第一链路发送的数据请求相同。
S205:接收服务端通过所述第二链路返回的第二数据。
测试端在通过所述第二链路向服务端发送数据请求后,服务端可以根据所述数据请求通过所述第二链路返回第二数据,此时,测试端接收所述第二数据。
需要说明的是,上述S202、203与S204、205可以异步执行,其中,执行S202至S205的顺序,可以是按照上述记载的先后顺序执行,也可以是首先执行S204和205,再执行S202和203。
S206:根据所述第一数据对所述第二数据进行校验。
在对第二数据进行校验时,可以按照图1所示实施例中记载的方法进行校验,这里不再重复描述。
S207:确定所述第二数据与所述第一数据是否一致。
若一致,则执行S208;若不一致,则执行S209。
S208:生成第一提示信息。
所述第一提示信息可以用于提示所述第二数据校验成功,可以说明所述第二链路可以满足服务端与客户端之间正常的数据交互。
S209:生成第二提示信息。
所述第二提示信息可以用于提示所述第二数据未校验成功,可以说明所述第二链路不能满足服务端与客户端之间正常的数据交互。
S210:对所述第二链路进行调整。
在S210中,所述第二提示信息可以包含所述第一数据与所述第二数据的对比详细信息,根据所述对比详细信息,可以对所述第二链路进行调整,具体可以参见图1所示实施例中记载的内容。
需要说明的是,测试端在执行S201之前,可以按照客户端与服务端进行数据交互时的交互逻辑,预先刻画出上述步骤和脚本,在确定对数据进行校验时,可以执行预先刻画的步骤和脚本,以实现数据校验。
本申请实施例提供的技术方案,可以使用测试端对服务端返回给客户端的数据的一致性进行校验,测试端在进行数据校验之前,可以按照客户端与服务端的交互逻辑预先确定执行的步骤和脚本,这样,在确定进行数据交互时,测试端可以按照预先确定的步骤和脚本,向增加网关前后的不同链路发送数据请求,由于测试端可以方便地获取到不同链路下服务端返回的数据,因此,可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,从而保证服务端在增加中间网关前后返回给客户端的数据的一致性。
图3是本申请实施例提供的一种数据校验方法的流程示意图。图3所示的数据校验方法可以应用于服务端,所述方法如下所述。
S302:通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据。
在S302中,在验证服务端在增加中间网关前后返回给客户端的数据是否一致时,测试端可以充当客户端的角色,并通过第一链路向服务端发送数据请求。此时,服务端可以通过所述第一链路接收来自所述测试端的数据请求。
所述第一链路可以包括所述测试端、第一网关以及所述服务端,所述第一链路的具体说明可以参见图1所示实施例中记载的内容。
测试端在向服务端发送所述数据请求时,可以通过所述第一网关进行发送。服务端在接收到所述数据请求后,可以根据所述数据请求,通过所述第一链路向测试端返回第一数据。
S304:通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验。
在S304中,测试端可以通过第二链路向服务端发送数据请求,该数据请求与测试端在S302中通过所述第一链路发送的数据请求相同,此时,服务端可以通过所述第二链路接收来自测试端的所述数据请求。
所述第二链路可以包括所述测试端、所述第一网关、第二网关以及所述服务端,所述第二链路的具体说明可以参见图1所示实施例中记载的内容。
测试端在向服务端发送所述数据请求时,可以通过所述第一网关以及所述第二网关进行发送。服务端在接收到所述数据请求后,可以根据所述数据请求,通过所述第二链路向测试端返回第二数据,具体可以依次通过所述第二网关以及所述第一网关返回所述第二数据。
需要说明的是,服务端执行S302和304的顺序可以根据测试端确定,若测试端首先通过所述第一链路发送所述数据请求,再通过所述第二链路发送所述数据请求,则服务端可以先执行S302,再执行S304;若测试端首先通过所述第二链路发送所述数据请求,再通过所述第一链路发送所述数据请求,则服务端可以先执行S304,再执行S302。
服务端在向测试端返回所述第一数据以及所述第二数据后,测试端在接收到所述第一数据以及所述第二数据时,可以按照图1所示实施例中记载的方法,根据所述第一数据对所述第二数据进行校验。这里不再重复说明。
本申请实施例提供的技术方案,服务端分别通过第一链路和第二链路接收来自测试端的数据请求,并通过第一链路以及第二链路分别返回第一数据和第二数据,以便于测试端根据第一数据对第二数据进行校验,其中,第一链路包括测试端、第一网关和服务端,第二链路包括测试端、第一网关、第二网关以及服务端。在对服务端返回给客户端的数据进行校验时,测试端可以充当客户端并向增加网关前后的不同链路发送数据请求,服务端在接收到数据请求后,可以分别向测试端返回增加中间网关前后的数据,这样,测试端可以方便地获取到不同链路下服务端返回的数据,进而可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,保证服务端在增加中间网关前后返回给客户端的数据的一致性。
图4是本申请的一个实施例数据校验方法的流程示意图。图4所示的实施例是将图1所示的实施例与图3所示的实施例相结合,属于相同的发明构思。所述方法如下所述。
S401:测试端向第一网关发送数据请求。
S402:第一网关将所述数据请求发送给服务端。
测试端、第一网关以及服务端可以构成第一链路,第一链路可以视为在增加中间网关前客户端与服务端之间进行数据交互时使用的链路。
S403:服务端根据所述数据请求向第一网关返回第一数据。
S404:第一网关将所述第一数据发送给测试端。
S405:测试端存储所述第一数据。
S406:测试端向第一网关发送所述数据请求。
S407:第一网关将所述数据请求发送给第二网关。
第二网关可以视为在所述第一网关的基础上增加的中间网关。
S408:第二网关将所述数据请求发送给服务端。
测试端、第一网关、第二网关以及服务端可以构成第二链路,第二链路可以视为在所述第一网关的基础上增加中间网关后的链路。
S409:服务端根据所述数据请求向第二网关返回第二数据。
S410:第二网关将所述第二数据发送给第一网关。
S411:第一网关将所述第二数据发送给测试端。
S412:测试端存储所述第二数据。
S413:测试端根据所述第一数据对所述第二数据进行校验。
测试端在对所述第二数据进行校验时,具体方法可以参见图1所示实施例中记载的内容,这里不再重复描述。
S414:测试端根据校验结果生成提示信息。
若所述第二数据与所述第一数据一致,则可以说明所述第二数据校验通过,所述第二链路可以满足客户端与服务端之间正常的数据交互,此时,可以生成第一提示信息;
若所述第二数据与所述第一数据不一致,则可以说明所述第二数据未校验通过,所述第二链路不能满足客户端与服务端之间正常的数据交互,此时,可以生成第二提示信息。
生成的所述第二提示信息还可以包括所述第一数据与所述第二数据的对比详细信息,测试端可以所述对比详细信息对所述第二链路进行调整,以便于调整后的第二链路可以满足客户端与服务端之间正常的数据交互。
本申请实施例提供的技术方案,在对服务端返回给客户端的数据进行校验时,可以由测试端充当客户端并向增加网关前后的不同链路发送数据请求,服务端在接收到数据请求后,可以分别向测试端返回增加中间网关前后的数据,这样,测试端可以方便地获取到不同链路下服务端返回的数据,因此,可以有效地对服务端在增加中间网关前后返回的数据进行一致性校验,从而保证服务端在增加中间网关前后返回给客户端的数据的一致性。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据校验装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
根据所述第一数据对所述第二数据进行校验。
上述如本申请图5所示实施例揭示的数据校验装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图2的方法,并实现数据校验装置在图1和图2所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
根据所述第一数据对所述第二数据进行校验。
图6是本申请的一个实施例数据校验装置60的结构示意图。请参考图6,在一种软件实施方式中,所述数据校验装置60可包括:第一处理单元61、第二处理单元62和校验单元62,其中:
第一处理单元61,通过第一链路向服务端发送数据请求,并接收所述服务端通过所述第一链路返回的第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
第二处理单元62,通过第二链路向所述服务端发送所述数据请求,并接收所述服务端通过所述第二链路返回的第二数据,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端;
校验单元63,根据所述第一数据,对所述第二数据进行校验。
可选地,所述校验单元63,根据所述第一数据对所述第二数据进行校验,包括:
确定所述数据请求的类型;
根据所述数据请求的类型,确定与所述数据请求的类型对应的预设校验规则;
根据所述第一数据,使用所述预设校验规则对所述第二数据进行校验。
可选地,所述数据校验装置60还可以包括:信息生成单元64,其中:
所述信息生成单元64,在所述校验单元63根据所述第一数据对所述第二数据进行校验后,若所述第二数据与所述第一数据一致,则生成第一提示信息,所述第一提示信息用于提示所述第二数据校验通过;
若所述第二数据与所述第一数据不一致,则生成第二提示信息,所述第二提示信息用于提示所述第二数据未校验通过。
可选地,所述信息生产单元64生成的所述第二提示信息包括所述第一数据与所述第二数据的对比详细信息;
所述数据校验装置60还可以包括:链路调整单元65,其中,:
所述链路调整单元65,在所述校验单元63确定所述第二数据与所述第一数据不一致后,根据所述对比详细信息,对所述第二链路进行调整。
数据校验装置60还可执行图1的方法,并实现数据校验装置在图1所示实施例的功能,本申请实施例在此不再赘述。
图7是本申请的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据校验装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
上述如本申请图7所示实施例揭示的数据校验装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图3的方法,并实现数据校验装置在图3所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图3所示实施例的方法,并具体用于执行以下操作:
通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
图8是本申请的一个实施例数据校验装置80的结构示意图。请参考图8,在一种软件实施方式中,所述数据校验装置80可包括:第一处理单元81和第二处理单元82,其中:
第一处理单元81,通过第一链路接收来自测试端的数据请求,并通过所述第一链路返回第一数据,所述第一链路包括所述测试端、第一网关以及所述服务端;
第二处理单元82,通过第二链路接收来自所述测试端的所述数据请求,并通过所述第二链路返回第二数据,以便于所述测试端根据所述第一数据对所述第二数据进行校验,所述第二链路包括所述测试端、所述第一网关、第二网关以及所述服务端。
数据校验装置80还可执行图3的方法,并实现数据校验装置在图3所示实施例的功能,本申请实施例在此不再赘述。
图9是本申请的一个实施例数据校验系统的结构示意图。请参考图9,在一种软件实施方式中,所述数据校验系统90可包括:测试端91和服务端92,其中:
所述测试端91通过第一链路向所述服务端92发送数据请求,所述服务端92接收所述数据请求并通过所述第一链路返回第一数据,所述测试端91接收所述第一数据,所述第一链路包括所述测试端91、第一网关以及所述服务端92;
所述测试端91通过第二链路向所述服务端92发送所述数据请求,所述服务端92接收所述数据请求并通过所述第二链路返回第二数据,所述测试端91接收所述第二数据,所述第二链路包括所述测试端91、所述第一网关、第二网关以及所述服务端92;
所述测试端91根据所述第一数据对所述第二数据进行校验。
所述测试端91可以实现图1、图2和图4所示实施例中记载的测试端实现的功能,具体实现方法可以参见图1、图2和图4所示实施例中记载的内容,这里不再重复说明。
所述服务端92可以实现图3和图4所示实施例中记载的服务端实现的功能,具体实现方法可以参见图3和图4所示实施例中记载的内容,这里也不再重复说明。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。