数据处理方法及系统、设备测试系统及节点测试系统与流程

文档序号:13299106阅读:213来源:国知局
数据处理方法及系统、设备测试系统及节点测试系统与流程

本申请涉及通信技术领域,尤其涉及一种数据处理方法及系统、设备测试系统及节点测试系统。



背景技术:

目前,数据处理系统的各个设备之间具有数据交互过程。如图1所示,数据处理系统包括前端设备11,与前端设备相连的处理设备12,以及,与处理设备12相连的后端设备13,后端设备13的目的在于为处理设备12提供服务。在数据处理系统中,处理设备12可以接收前端设备发送的前端请求,并在处理前端请求的过程中,可以调用后端设备13的服务端口来享受服务。此时处理设备12会生成后端请求,并调用后端设备的服务端口向后端设备13发送后端请求,并获得后端设备13反馈的后端响应值。

但是,在一些模拟测试的过程情况下,并不希望处理设备12发送后端请求到达数据处理系统中真实的后端设备13,因为后端请求会对真实的后端设备13造成脏数据,影响真实的后端设备13的使用。例如,参见图1,以数据处理系统为分布式测试系统为例,分布式测试系统包括测试设备(相当于前端设备)、分布式系统中的一个待测节点(相当于处理设备)和分布式系统中与待测节点相连的后端设备。在对待测节点进行压力测试过程中,为了验证待测节点在高负荷下的运行情况,测试设备可以向待测节点发送大量的用于进行压力测试的前端请求,待测节点在处理前端请求的过程中可以向后端设备发送后端请求,以调用后端设备提供的服务(例如,在待测节点在处理前端请求的过程中会调用数据库、缓存和远程过程调用协议(remoteprocedurecallprotocol,rpc)等内容)。

但是,在分布式系统的测试过程中,待测节点发送的用于测试用的后端请求、会直接到达分布式系统中真实的后端设备,这些测试用的后端请求(非真实请求)会对真实的后端设备的实际运行造成脏数据,影响后端设备在实际运行过程中的使用。

因此,现在需要提供一种新的方案,以便不影响真实的后端设备的前提下,实现前端设备与处理设备之间的数据交互过程。



技术实现要素:

本申请提供了一种数据处理方法及系统、设备测试系统及节点测试系统,本申请可以在不影响后端设备的前提下,实现前端设备与处理设备之间的数据交互过程。

为了实现上述目的,本申请提供了以下技术手段:

一种数据处理系统,包括:

前端设备,用于向处理设备发送前端请求;并且,还用于接收所述处理设备发送的、与所述前端请求对应的后端请求,利用预先构建的模拟单元代替真实后端设备处理所述后端请求、并获得后端响应值,向所述处理设备发送所述后端响应值;

处理设备,用于接收所述前端请求,在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到所述前端设备;并且,还用于接收所述后端响应值,并将处理所述后端响应值后获得的前端响应值反馈至所述前端设备。

优选的,所述前端设备的模拟单元包括用于模拟真实后端设备处理所述后端请求的、预先存储的后端信息集合,且,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射;

则所述前端设备利用预先构建的模拟单元来代替真实后端设备处理所述后端请求并获得后端响应值,具体包括:

在预先存储的后端信息集合中,查找与所述后端请求对应的后端响应值。

优选的,所述前端设备包括预先存储的前端请求集合,且,所述后端信息集合至少包括多个前端请求;

则前端设备向处理设备发送前端请求,具体包括:

在预先存储的前端信息集合中随机选择一个前端请求;

接收发送所述前端请求的速率控制指令;

按所述速率控制指令向所述处理设备发送所述前端请求。

优选的,所述处理设备,还用于收集经过自身的请求和响应值,并将请求和响应值信息发送至所述前端设备;

所述前端设备的模拟单元,还用于分析所述请求和响应值,并生成所述后端信息集合和所述前端信息集合。

优选的,还包括:

与所述前端设备相连的收集设备,用于收集经过自身的请求和响应值,并将请求和响应值信息发送至所述前端设备;

所述前端设备的模拟单元,还用于分析所述请求和响应值,并生成后端信息集合和前端信息集合。

优选的,所述前端请求集合还包括多个前端响应值,以及,各个前端请求和各个前端响应值之间的映射;

则所述前端设备,还用于将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述处理设备发送的第二前端响应值进行对比,若一致则确定处理设备正常,若不一致,则确定处理设备不正常。

一种数据处理系统,包括:

前端设备,用于向处理设备发送前端请求;

处理设备,用于接收所述前端请求,在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到模拟后端设备,并且,还用于接收与所述后端请求对应的后端响应值,并将处理所述后端响应值后获得的前端响应值反馈至所述前端设备;

模拟后端设备,用于接收所述处理设备发送的所述后端请求,利用预先构建的模拟单元代替真实后端设备处理所述后端请求、并获得后端响应值,向所述处理设备发送所述后端响应值。

优选的,所述模拟后端设备的模拟单元包括用于模拟真实后端设备处理所述后端请求的、预先存储的后端信息集合,且,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射;

则所述模拟后端设备利用预先构建的模拟单元来代替真实后端设备处理所述后端请求并获得后端响应值,具体包括:

在预先存储的后端信息集合中,查找与所述后端请求对应的后端响应值。

优选的,所述前端设备包括预先存储的前端请求集合,且,所述前端信息集合至少包括多个前端请求;

则前端设备向处理设备发送前端请求,具体包括:

在预先存储的前端信息集合中随机选择一个前端请求;

接收发送所述前端请求的速率控制指令;

按所述速率控制指令向所述处理设备发送所述前端请求。

优选的,所述处理设备,还用于收集经过自身的请求和响应值,并将请求和响应值信息发送至所述模拟后端设备;

所述模拟后端设备的模拟单元,还用于分析所述请求和响应值,并生成所述后端信息集合和所述前端信息集合,并将所述前端信息集合发送至所述前端设备。

优选的,还包括:

与所述模拟后端设备相连的收集设备,用于收集经过自身的请求和响应值,并将请求和响应值信息发送至所述模拟后端设备;

所述模拟后端设备的模拟单元,还用于分析所述请求和响应值,并生成后端信息集合和前端信息集合,并将所述前端信息集合发送至所述前端设备。

优选的,所述前端请求集合还包括多个前端响应值,以及,各个前端请求和各个前端响应值之间的映射;

则所述前端设备,还用于将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述处理设备发送的第二前端响应值进行对比,若一致则确定处理设备正常,若不一致,则确定处理设备不正常。

一种数据处理系统,其特征在于,包括:

前端设备,用于向处理设备发送前端请求;

处理设备,用于接收所述前端请求,在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到处理设备本身,利用预先构建的模拟单元代替真实后端设备处理所述后端请求、并获得后端响应值,并且,还用于将处理所述后端响应值后获得的前端响应值反馈至所述前端设备。

优选的,所述处理设备的模拟单元包括用于模拟真实后端设备处理所述后端请求的、预先存储的后端信息集合,且,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射;

则所述处理设备利用预先构建的模拟单元来代替真实后端设备处理所述后端请求并获得后端响应值,具体包括:

在预先存储的后端信息集合中,查找与所述后端请求对应的后端响应值。

优选的,所述前端设备包括预先存储的前端请求集合,且,所述前端信息集合至少包括多个前端请求;

则前端设备向处理设备发送前端请求,具体包括:

在预先存储的前端信息集合中随机选择一个前端请求;

接收发送所述前端请求的速率控制指令;

按所述速率控制指令向所述处理设备发送所述前端请求。

优选的,所述处理设备,还用于收集经过自身的请求和响应值,并将请求和响应值信息,并且,处理设备的模拟单元还用于分析所述请求和响应值,并生成所述后端信息集合和所述前端信息集合,并将所述前端信息集合发送至所述前端设备。

优选的,还包括:

与所述处理设备相连的收集设备,用于收集经过自身的请求和响应值,并将请求和响应值信息发送至所述处理设备;

所述处理设备的模拟单元,还用于分析所述请求和响应值,并生成后端信息集合和前端信息集合,并将所述前端信息集合发送至所述前端设备。

优选的,所述前端请求集合还包括多个前端响应值,以及,各个前端请求和各个前端响应值之间的映射;

则所述前端设备,还用于将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述处理设备发送的第二前端响应值进行对比,若一致则确定处理设备正常,若不一致,则确定处理设备不正常。

一种设备测试系统,其特征在于,包括:

收集设备,用于预先收集经过自身的请求和响应值,并将请求和响应值信息发送至承载模拟单元的模拟设备;

模拟设备的模拟单元,用于预先接收收集设备发送的请求和响应值,预先分析所述请求和响应值,生成后端信息集合和前端信息集合,并将前端信息集合发送至前端设备;还用于接收处理设备发送的与前端请求对应的后端请求,并在预先存储的后端信息集合中,查找与后端请求对应的后端响应值,并向处理设备发送所述后端响应值;

前端设备,用于预先存储模拟单元发送的前端信息集合;在预先存储的前端信息集合中选择前端请求,并向处理设备发送前端请求;还用于在预先存储的前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,将第一响应值与处理设备发送的第二前端响应值进行对比,若一致则确定处理设备测试正常,若不一致,则确定处理设备测试不正常;

处理设备,用于接收所述前端请求,在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到模拟设备;并且,还用于接收后端响应值,并将处理所述后端响应值后获得的前端响应值反馈至所述前端设备;

其中,所述前端信息集合至少包括多个前端请求,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。

一种节点测试系统,包括:

收集设备,用于收集经过自身的请求和响应值,并将请求和响应值信息发送至测试设备;

测试设备,还用于分析所述请求和响应值,生成并存储所述后端信息集合和所述后端信息集合;还用于在预先存储的前端信息集合中确定进行压力测试的前端请求,以及确定发送所述前端请求的测试速率,并按所述测试速率向待测节点发送所述前端请求;还用于接收待测节点发送的与前端请求对应的后端请求,并在预先存储的后端信息集合中,查找与后端请求对应的后端响应值,并向待测节点发送所述后端响应值;并且,还用于将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述待测节点发送的第二前端响应值进行对比,若一致,则确定待测节点的调用过程正常,若不一致,则确定待测节点的调用过程不正常;

待测节点,用于接收所述测试设备发送的用于进行压力测试的前端请求,处理所述前端请求获得响应信息,在判定所述响应信息为调用真实后端设备的后端请求的情况下,确定与所述后端请求对应的服务端口,并依据预先存储的所述服务端口与所述测试设备的标识的对应关系,向所述测试设备发送所述后端请求;并且,还用于接收与所述后端请求对应的后端响应值,将处理所述后端响应值后获得的前端响应值发送至测试设备;

其中,所述前端信息集合至少包括多个前端请求,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。

一种数据处理方法,应用于处理设备,所述方法包括:

接收前端设备发送的前端请求;

在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到设置有模拟单元的模拟设备;

接收所述模拟设备的模拟单元发送的后端响应值;其中,所述后端响应值由所述模拟设备利用预先构建的模拟单元代替真实后端设备处理所述后端请求后获得;

将处理所述后端响应值后获得的前端响应值反馈至所述前端设备。

优选的,还包括:

在处理所述后端响应值的过程中仍需调用真实后端设备提供的服务的情况下,再次利用预先设定的流量劫持服务、将与所述后端响应值对应的后端请求重定向到模拟设备,并再次接收所述模拟设备的模拟单元发送的后端响应值,直至在处理后端响应值后获得前端响应值,无需再调用真实后端设备提供的服务。

优选的,确定是否需调用真实后端设备提供的服务的过程,具体包括:

处理所述前端请求或后端响应值生成响应信息;

在判定所述响应信息为后端请求的情况下,确定需调用真实后端设备提供的服务;

在判定所述响应信息为前端响应值的情况下,确定不需调用真实后端设备提供的服务。

一种数据处理方法,应用于模拟设备的模拟单元,所述方法包括:

接收与前端请求对应的后端请求;

依据预先存储的模拟服务数据处理所述后端请求并生成后端响应值;其中,所述模拟服务数据用于模拟真实后端设备提供的服务;

向处理设备反馈所述后端响应值。

优选的,所述模拟服务数据包括用于模拟真实后端设备提供的服务的后端信息集合;其中,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射;

则所述依据预先存储的模拟服务数据处理所述后端请求并生成后端响应值,包括:在所述后端信息集合中,查找与所述后端请求对应的后端响应值。

优选的,所述后端信息集合还包括与每个后端请求对应的响应时间;

则所述反馈所述后端响应值具体包括:等待所述响应时间后再反馈所述后端响应值。

优选的,所述模拟服务数据与真实后端设备的服务数据一致。

一种数据处理方法,应用于前端设备,所述方法包括:

确定向处理设备发送的前端请求;

向所述处理设备发送所述前端请求;

接收所述处理设备发送的与所述前端请求对应的前端响应值;

其中,所述处理设备在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到设置有模拟单元的模拟设备;并接收所述模拟设备的模拟单元发送的后端响应值,将处理所述后端响应值后获得的前端响应值反馈至所述前端设备;其中,所述后端响应值由所述模拟设备利用预先构建的模拟单元代替真实后端设备处理所述后端请求后获得。

优选的,所述确定向处理设备发送的前端请求,包括:

在预先存储的前端信息集合中随机选择一个前端请求,确定为向所述处理设备发送的前端请求;其中,所述前端信息集合至少包括多个前端请求;

接收速率控制指令;

按所述速率控制指令向所述处理设备发送所述前端请求。

优选的,所述速率控制指令包括:相邻两个前端请求之间的发送频率。

优选的,所述前端信息集合还包括多个前端响应值,以及,前端请求和前端响应值之间的映射;则所述方法还包括:

将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述处理设备发送的第二前端响应值进行对比;

若一致,则确定处理设备正常;

若不一致,则确定处理设备不正常。

通过以上技术手段可以看出本申请具有以下有益效果:

本申请提供一种数据处理系统,本系统中具有模拟真实后端设备的模拟单元,承载模拟单元的硬件设备称为模拟设备;并且,还为处理设备提供流量劫持服务,并且,流量劫持服务的目的设备为模拟设备。这样,处理设备生成的后端请求便不再发送至真实后端设备,而是会被重定向到模拟设备上从而避免后端请求对真实后端设备造成脏数据,且,模拟设备的模拟单元可以对后端请求进行处理,从而保证前端设备与处理设备之间的正常数据通讯。因此,本申请可以在不影响后端设备的前提下,实现前端设备与处理设备之间的数据交互过程。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的一种数据处理系统的结构示意图;

图2为本申请实施例公开的一种数据处理系统的结构示意图;

图3为本申请实施例公开的一种数据处理系统中各个设备工作流程的时序图;

图4为本申请实施例公开的又一种数据处理系统的结构示意图;

图5为本申请实施例公开的模拟单元的部分执行过程的流程图;

图6为本申请实施例公开的又一种数据处理系统中各个设备工作流程的时序图;

图7为本申请实施例公开的又一种数据处理系统中各个设备工作流程的时序图;

图8为本申请实施例公开的又一种数据处理系统中各个设备工作流程的时序图;

图9为本申请实施例公开的前端设备的部分执行过程的流程图;

图10为本申请实施例公开的又一种数据处理系统的结构示意图;

图11为本申请实施例公开的一种数据处理方法中处理设备的流程图;

图12为本申请实施例公开的一种数据处理方法中模拟单元的流程图;

图13为本申请实施例公开的一种数据处理方法中前端设备的流程图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了使得本领域技术人员更加清楚了解本申请提及的技术术语,下面对本申请的技术术语进行解释说明:

前端设备:用于向处理设备发送请求的设备。

前端请求:前端设备向处理设备发送的请求。

处理设备:用于处理请求的设备。

后端设备:用于承载服务的设备。

后端请求:处理设备向后端设备发送的请求。

后端响应值:处理后端请求后生成的响应值称为后端响应值。

前端响应值:处理前端请求后或者后端响应值后,最终生成的用于向前端设备反馈的响应值称为前端响应值。

在介绍完成技术术语之后,首先介绍本申请的整体构思,以便本领域技术人员了解本申请的实现思路:

现有技术中处理设备的后端请求会发送至真实后端设备,为了避免后端请求到达真实后端设备,本申请对处理设备设置流量劫持服务,即对处理设备输出的后端请求进行拦截,所以处理设备的后端请求不会到达真实后端设备,从而不会影响真实后端设备的正常使用。

在对处理设备设置流量劫持服务后,真实后端设备不会再处理后端请求,这可以解决真实后端设备产生脏数据的问题。但这同时也引出另一个问题:处理设备发送的后端请求无人处理,这影响前端设备与处理设备之间的正常数据通讯。

为了保证前端设备与处理设备之间的数据通讯不受影响,本申请提供技术手段为构建一个用于模拟真实后端设备的模拟单元,模拟单元可以代替真实后端设备来处理后端请求,以便处理设备发送的后端请求可以继续被处理,从而不影响前端设备与处理设备之间的数据通讯。

在本申请中模拟单元为软件模块,模拟单元可以安装在非真实后端设备的硬件设备上。由于模拟单元的目的在于模拟真实后端设备,所以,为了方便后续描述,采用模拟设备这一名称来统称安装有模拟单元的硬件设备。

为了使得处理设备发送的后端请求可以被劫持到模拟设备上,在对处理设备设置流量劫持服务时,将模拟设备作为流量劫持服务的目的设备。即对处理设备执行流量劫持服务后,处理设备输出的后端请求可以被重定向的模拟设备上。

由于处理设备在调用真实后端设备提供的服务时,为调用真实后端设备提供的服务端口(服务端口即为应用程序接口api),因此,可以在处理设备将所有可调用的服务端口与模拟设备的标识建立对应关系,但是这样容易对一些服务端口的正常工作造成影响。因此,在实际应用过程中,建议仅将本次通讯过程中需要调用的服务端口与模拟设备标识建立对应关系。这样,处理设备在使用端口发送后端请求时,便可以依据对应关系,将后端请求重定向至模拟设备上。

模拟设备标识可以为模拟设备的ip地址、mac地址或者出厂编号等唯一标识模拟设备的标识。通常情况下,在实际使用过程中使用ip地址。例如,将调用数据库的服务端口与模拟设备ip地址建立对应关系。

可以理解的是,只要模拟单元不安装在真实后端设备上即可实现不影响真实后端设备的目的,因此,模拟单元可以安装在前端设备上,处理设备上,或者,除前端设备、处理设备和真实后端设备之外的其它硬件设备上(为了便于称呼其它硬件设备,下文描述中称呼为模拟后端设备)。也就是说:安装有模拟单元的模拟设备可以为前端设备、处理设备或者模拟后端设备。

为了使得本领域技术人员了解本申请,下面介绍一种数据处理系统。如图2所示,所述数据处理系统包括前端设备100,与前端设备100相连的处理设备200,以及承载有模拟单元的模拟设备300(在模拟设备300为前端设备或处理设备的情况下,模拟设备300在系统中并非真实存在的硬件设备,因此图示中采用虚线表示)。

请参见图3,介绍数据处理系统中各个设备的处理过程:

步骤1:前端设备100向处理设备200发送前端请求。

前端设备100可以临时生成前端请求,并在生成前端请求后向处理设备200发送前端请求,不过临时生成前端请求会消耗前端设备的cpu资源、并且,临时生成前端请求也会消耗一些时间,导致前端设备发送前端请求的速率较慢。

前端设备100还可以预先存储多个前端请求,以便前端设备100可以在预先存储的多个前端请求中选择一个前端请求、作为本次向处理设备200发送的前端请求。前端设备100预先存储前端请求后可以省去生成前端请求的过程并减少cpu资源的浪费,因此发送前端请求的速率会有提高。

并且,在前端设备100中预先存储多个前端请求还有其它优势:

在一些情况下,需要控制发送前端请求的速率,若前端请求是临时生成的,则发送请求的速率依赖于生成前端请求的速率,无法满足较快速率的发送前端请求的目的。若预先存储前端请求后,由于不用再依赖于生成前端请求的速率,所以可以按照预先设定的速率控制指令,或者接收用户发送的速率控制指令向处理设备发送前端请求。

步骤2:处理设备200可以接收前端设备100发送的前端请求,并在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,向模拟设备300发送与前端请求对应的后端请求(而不是向真实后端设备发送后端请求)。

处理设备200接收前端设备100发送的前端请求,并对前端请求进行处理,若处理前端请求的过程中、处理设备200可以直接生成与前端请求对应的前端响应值,则直接向前端设备100反馈前端响应值即可,无需调用真实后端设备提供的服务。

若在处理前端请求的过程中、处理设备200自身无法直接生成前端响应值,则需要调用真实后端设备提供的服务,此时,处理设备200会生成与前端请求对应的后端请求,以期望调用真实后端设备提供的服务。由前述内容可知,处理设备200已设置有流量劫持服务且被劫持流量的目的设备为模拟设备300,因此,后端请求会被重定向到模拟设备300上,而不会再到达真实后端设备。

步骤3:模拟设备300利用模拟单元来代替真实后端设备处理所述后端请求后获得后端响应值。

模拟设备300上承载有模拟单元,模拟单元用于模拟真实后端设备来处理后端请求。因此,模拟设备300在获得后端请求后,可以利用模拟单元来处理后端请求,并获得与后端请求对应的后端响应值。关于模拟单元的具体实现,将在后续实施例中进行详细说明,在此暂不详述。

步骤4:模拟单元向处理设备200反馈后端响应值。

模拟单元在获得后端响应值后,可以向处理设备200反馈后端响应值。

步骤5:处理设备200对后端响应值处理后获得前端响应值。

处理设备在获得与后端请求对应的后端响应值后,便可以对后端响应值进行处理。若在处理后端响应值的过程中处理设备200可以直接生成前端响应值(即,与前端请求对应的前端响应值),则直接向前端设备100反馈前端响应值即可,无需再次调用真实后端设备提供的服务。

若在处理后端响应值的过程中、处理设备200自身仍然无法直接生成前端响应值,则仍然需要调用真实后端设备提供的服务,此时处理设备会重复执行步骤2(此时步骤2适应的更改为与后端响应值对应的后端请求)、步骤3和步骤4,直到在本步骤中处理设备200可以利用最新的后端响应值直接生成前端响应值为止,或者,到达某个设定条件为止。

步骤6:处理设备200将前端响应值发送至前端设备100。

从上述内容,可以看出本申请具有以下有益效果:

本申请提供一种数据处理系统,本系统中具有模拟真实后端设备的模拟单元,承载模拟单元的硬件设备称为模拟设备;并且,还为处理设备提供流量劫持服务,并且,流量劫持服务的目的设备为模拟设备。这样,处理设备生成的后端请求便不再发送至真实后端设备,而是会被重定向到模拟设备上从而避免后端请求对真实后端设备造成脏数据,且,模拟设备的模拟单元可以对后端请求进行处理,从而保证前端设备与处理设备之间的正常数据通讯。因此,本申请可以在不影响后端设备的前提下,实现前端设备与处理设备之间的数据交互过程。

下面详细介绍模拟单元的具体实现:

为了使得模拟单元可以处理后端请求,模拟单元包括用于处理后端请求的模拟服务数据。在本申请中模拟服务数据有两种实现方式:

第一种实现方式:模拟服务数据与真实后端设备的服务数据一致。

在真实后端设备中提取与服务对应的服务数据,并将服务数据作为模拟单元的模拟服务数据。在有两个及以上的真实后端设备时,可以提取每个真实后端设备中与服务对应的服务数据,并将各个真实后端设备的服务数据的集合,作为模拟单元中的模拟服务数据。

例如,在真实后端设备有一个用于存储数据库的数据库设备和一个用于存储缓存的缓存设备,则可以提取数据库设备中的数据库数据和缓存设备中的缓存数据,并将数据库数据和缓存数据的集合作为模拟单元的模拟服务数据。

通俗来讲,第一种实现方式为在模拟设备上实际搭建与真实后端设备一致的服务,也即真实的服务。因此在第一种实现方式下,模拟设备可以非常真实的模拟后端设备。在第一种实现方式下,在模拟设备接收后端请求后,可以利用模拟单元所提供的真实服务来处理后端请求,以获得后端响应值。

但是,由于真实后端设备可以有多个,每个真实后端设备的服务数据的数据量都较大,并且,还需要考虑各个设备的服务数据的相互融合等内容。因此,第一种实现方式在具体实现上较为费时费力。

第二种实现方式:模拟服务数据为后端信息集合;所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。

在第二种实现方式中模拟服务数据为后端信息集合,后端信息集合用于模拟真实后端设备处理所述前端请求的服务数据。后端信息集合包括所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。由于后端信息集合中已有后端响应值,所以模拟设备在接收后端请求后,仅需按照映射确定与前端请求对应的后端响应值即可,而无需再像第一种实现方式那样调用真实的软件程序来获取后端响应值。

由于后端信息集合比真实服务简单,因此,在模拟设备中容易实现,且占据较少的存储空间。并且,模拟设备在处理后端请求时,仅需在后端信息集合中查找对应关系即可,该过程占用较少的cpu资源。而第一种实现方式中不仅占用较多的存储空间,还需占用较多的cpu资源来处理后端请求。因此,第二种实现方式较第一种实现方式而言,具有较多的优势。

如表1,后端信息集合可以为列表形式:

由于后端信息集合中的后端请求,可能未包含真实后端设备所能处理的所有后端请求,所以模拟单元仅能够处理后端信息集合中的后端请求。对于后端信息集合中没有的后端请求,模拟设备的模拟单元暂时不能处理。因此,这间接对前端设备发送的前端请求产生要求,即要求前端设备发送的前端请求、在被处理设备处理后可以获得后端信息集合中的后端请求。

为此,若步骤3中模拟单元采用第二种实现方式(即采用后端信息集合的方式),则需在前端设备中设置前端信息集合,前端信息集合包括多个前端请求;并且,前端信息集合中每个前端请求在被处理设备处理后、可以得到后端设备信息集合中的已有的后端请求。

如表2,前端信息集合可以采用列表形式:

结合表1和表2可以看出,表2前端信息集合中的序号1对应的前端请求(张三的借贷额度)在处理后,可以得到表1中序号1的后端请求(查找数据库中的张三的信贷额度)。表2前端信息集合中的序号2对应的前端请求(李四的浏览记录)在处理后,可以得到表1中序号2的后端请求(调用历史缓存中的李四浏览记录)。

这样,在模拟单元采用第二种实现方式时,处理设备处理前端请求后获得的后端请求可以在后端信息集合中查找到,即可以利用模拟单元来处理后端请求;而不会出现后端请求不存在后端信息集合中、无法处理后端请求的情况。

下面详细说明前端信息集合和后端信息集合的确定过程。

本申请中处理设备200可以为分布式系统中的一个节点,当然,在分布式系统中还有其它节点。在分布式系统的实际运行的过程中,各个节点可以执行下述过程:接收前端请求,并对前端请求进行处理,在处理前端请求的过程中需要调用真实后端设备提供的服务时,则会向真实后端设备发送后端请求,并获取真实后端设备反馈的后端响应值,对后端响应值进行处理并获得与前端请求对应的前端响应值,并将前端响应值反馈至发送前端请求的节点。

通过上述对节点的描述可以发现:每个节点上可以经过前端请求、与前端请求对应的前端响应值,后端请求和与后端请求对应的后端响应值。因此,为了获得前端信息集合和后端信息集合,本申请在分布式系统中选取一个节点(处理设备200或者其它节点,为了便于描述后续将其它节点称呼为收集设备),并在分布式系统实际运行过程中,收集经过该节点的请求和响应值。

若利用分布式系统中的处理设备200收集请求和响应值,则本申请的系统结构仍然为图2所示的结构。若利用分布式系统中的收集设备(处理设备之外的其它节点)来收集请求和响应值,则本申请的系统结构可以参见图4所示,相对于图3所示的系统而言,增加了收集设备400。

在分布式系统实际运行过程中,处理设备200或收集设备400可以收集一些请求和响应值,然后,处理设备200或收集设备400可以将请求和响应值发送至承载有模拟单元的模拟设备300,以便模拟设备300的模拟单元对请求和响应值进行处理以便获得前端请求集合和后端请求集合。

模拟设备300可以分析请求和响应值,并生成前端信息集合和后端信息集合。其中,前端信息集合包含多个前端请求、多个前端响应值以及两者之间的映射,后端信息集合包含多个后端请求、多个后端响应值以及两者之间的映射。

如图5所示,为模拟单元在接收请求和响应值后的具体处理过程:

步骤s501:模拟单元分析请求中源ip地址,将请求和响应值分为两类信息。

在本步骤中模拟单元针对每个请求均执行下述过程:

模拟单元在每个请求中均有该请求的源设备(发送方)的ip地址,若源ip地址非处理设备200和收集设备400的源ip地址,则说明该请求是由其它节点发送至处理设备200或收集设备400的,从而说明该请求为前端。然后将与该请求对应的响应值确定为前端响应值,然后,将该请求与该请求对应的响应值一并归为第二类信息。

若源ip地址为处理设备200或收集设备400的源ip地址,则说明该请求是由处理设备200或收集设备400发出的,从而说明该请求为发往真实后端设备的后端请求。然后将与该请求对应的响应值确定为后端响应值,然后,将该请求与该请求对应的响应值一并归为第一类信息。

步骤s502:将第一类信息确定为前端信息集合,将第二类信息确定为后端信息集合。

在第一类信息和第二类信息中构建请求和与请求对应的响应值的映射,以便后续在使用前端信息和和后端信息集合的过程中,可以依据映射查找到与请求对应的响应值。

然后,将第一类信息确定为前端信息集合,前端信息集合包含多个前端请求、多个前端响应值以及两者之间的映射。将第二类信息确定为后端信息集合,后端信息集合包含多个后端请求、多个后端响应值以及两者之间的映射。

可以理解的是,由于本实施例为在实际运行过程中收集的前端请求和后端请求,因此,本实施例中构建的前端信息集合中的前端请求与后端信息集合中的后端请求是相互关联的。即,前端请求在被处理设备处理后可以得到后端信息集合中的后端请求。

前端信息集合和后端信息集合的确定执行过程介绍完毕。

在前述内容中有提及承载模拟单元的模拟设备300为非真实模拟设备即可,所以,模拟单元可以承载在前端设备100中,承载在处理设备200中,或者,承载在除前端设备100、处理设备200之外的其它设备(模拟后端设备)中。当模拟单元承载设备不同时,本申请提供的数据处理系统中执行过程会略有不同,下面分别对模拟单元在不同设备上的执行过程进行描述。

第一,首先介绍模拟单元承载在前端设备100,并且,模拟单元采用后端信息集合的方式模拟真实后端设备提供的服务的情况下,数据处理系统的执行过程。

在说明具体处理过程前,先说明前端设备100和处理设备200的一些预先准备过程。

(1)确定处理设备的可执行文件。

由前述内容可知后端信息集合可以利用处理设备200采集的请求和响应值处理后获得,也可以采用收集设备400采集的请求和响应值处理后获得。若采用处理设备200采集的请求和响应值获得,则处理设备200的可执行文件即为处理设备自身的软件程序;若采用收集设备400采集的请求和响应值获得,则处理设备200的可执行文件即为收集设备400的软件程序。

这样做的目的在于,由于构建前端信息集合和后端信息集合的过程中,利用的是处理设备200/收集设备400的软件程序,处理前端请求生成后端请求。因此,为了保证在实际应用过程中,仍然达到前端信息集合中的前端请求生成后端信息集合中的后端请求的目的,则处理设备200上需要仍然使用先前采集处理前端请求的软件程序,即处理设备200/收集设备400的软件程序。

(2)确定运行可执行文件的过程中需调用的服务端口,并将服务端口与前端设备标识构建对应关系。

由技术人员查看可执行文件得知处理设备200在运行可执行文件的过程中需要调用的后端端口。由于模拟单元承载在前端设备100上,因此,对处理设备200设置流量劫持服务可以为,将由可执行文件中确定出的服务端口与前端设备100的ip地址构建对应关系。

(3)前端设备100存储前端信息集合。

由于模拟单元承载在前端设备100上,所以模拟单元在生成前端信息集合和后端信息集合之后,便可以直接存储在前端设备100自身的存储空间中;模拟单元中具有后端信息集合。

由于前述内容可知,在处理设备200使用后端信息集合模拟真实后端设备提供的服务的情况下,为了保证模拟单元可以使用后端请求集合处理后端请求,对前端设备100发送的前端请求也有要求。因此,前端设备100上存储前端信息集合,以便前端设备可以在前端信息集合中选择前端请求,从而保证处理设备200在处理后得到的所有后端请求,均可以在后端请求集合中查找到。

如图6所示,下面介绍模拟单元承载在前端设备100上的具体执行过程:

步骤s601:前端设备100在预先存储的前端信息集合中、选择一个前端请求,并接收速率控制指令。

前端设备100在预先存储的前端信息集合中,随机选择一个前端请求,或者按照预先设定的顺序选择一个前端请求。由于在一些场景下,需要控制发送前端请求的速率,因此,前端设备可以接收用户下发的,或者,预先设定的速率控制指令。

其中,速率控制指令包括:相邻两个前端请求之间的发送频率。可以理解的是,发送频率越高发送前端请求的速度越快,发送频率越低发送前端请求的速度越慢。

例如,以数据处理系统为节点测试系统为例,前端设备100可以为测试设备,处理设备200可以为待测节点。那么,测试设备为了对待测节点进行压力测试,可以在预先存储的前端信息集合中,选择一个用于进行压力测试的前端请求。在一些测试场景下,需要对待测节点进行不同程度的压力测试,因此,用户可以根据不同的应用场景向测试设备发送速率控制指令。可以理解的是,速率控制指令中速率越大,则对待测节点的测试压力越大,速率控制指令中速率越小,则对待测节点的测试压力越小。

步骤s602:前端设备100按速率控制指令向处理设备200发送前端请求。

例如,测试设备可以按照速率控制指令,向待测节点发送前端请求。

步骤s603:处理设备200处理前端请求生成响应信息。

处理设备200利用预先确定的可执行文件对前端请求进行处理,并生成与前端请求对应的响应信息。

例如,待测节点利用预先确定的可执行文件对前端请求进行处理,并生成与前端请求对应的响应信息。

步骤s604:处理设备200判断响应信息是否为后端请求,若否,则进入步骤s605;若是,则进入步骤s606。

处理设备对响应信息的类型进行判断,若响应信息的类型为请求类型,则确定其为后端请求。若响应信息的类型为数值类型,则确定响应信息为与前端请求对应的前端响应值。

例如,待测节点可以对响应信息的类型进行判断,若响应信息的类型为请求类型,则确定其为后端请求。若响应信息的类型为数值类型,则确定响应信息为与前端请求对应的前端响应值。

步骤s605:处理设备200向前端设备100发送前端响应值。

若响应信息非后端请求,则说明处理设备200在处理前端请求后直接生成与前端请求对应的前端响应值,而无需调用真实后端设备提供的服务。此时,响应信息为前端响应值。

例如,待测节点直接向测试设备发送前端响应值。

步骤s606:处理设备200向前端设备100发送后端请求。

在确定响应信息为后端请求的情况下,说明处理设备200在处理前端请求时无法直接生成与前端请求对应的前端响应值,而需要调用真实后端设备提供的服务。处理设备200会调用确定后端请求对应的服务端口,并依据预先设定的服务端口与前端设备100的ip地址对应关系,向前端设备100发送后端请求。

例如,待测节点按服务端口与测试设备100的ip地址的对应关系,向测试设备发送后端请求。

步骤s607:前端设备100利用模拟单元来代替真实后端设备处理所述后端请求后获得后端响应值。

例如,测试设备利用预先设定的模拟单元,来代替真实后端设备处理后端请求,并获得与后端请求对应的后端响应值。

步骤608:前端设备100的模拟单元向处理设备200反馈后端响应值。

例如,测试设备的模拟单元在获得后端响应值后,向处理设备反馈后端响应值。

步骤609:处理设备200对后端响应值处理后获得响应信息,进入步骤s604。

处理设备在获得与后端请求对应的后端响应值后,便可以对后端响应值进行处理。若在处理后端响应值的过程中处理设备200可以直接生成前端响应值(即,与前端请求对应的前端响应值),则直接向前端设备100反馈前端响应值即可,无需再次调用真实后端设备提供的服务。

若在处理后端响应值的过程中、处理设备200自身仍然无法直接生成前端响应值,则仍然需要调用真实后端设备提供的服务,此时处理设备会重复执行步骤s606-s609,直到处理设备200可以利用最新的后端响应值直接生成前端响应值为止,或者,到达某个设定条件为止。

例如,待测节点对后端响应值进行处理,并获得响应信息,然后再次进入步骤s604。

关于步骤s601-s609的详细介绍,在图3对应的实施例的步骤1-步骤6中有详细介绍,在此不再赘述。

本实施例的优势在于,模拟单元承载在前端设备100上,若采集请求和响应值的过程利用处理设备200完成,则可以在不增加任何硬件设备的前提下,便可以实现前端设备100和处理设备200的数据通讯。在采集请求和响应值的过程利用收集设备400完成,则仅增加一台设备,便可以实现前端设备100和处理设备200的数据通讯。这样,可以对原有数据系统的改变降到最低。

第二,再介绍模拟单元承载在模拟后端设备300(此时,图2中模拟设备真实存在为模拟后端设备),并且,模拟单元采用后端信息集合的方式模拟真实后端设备提供的服务的情况下,数据处理系统的执行过程。

在说明具体处理过程前,先说明前端设备100和处理设备200的一些预先准备过程。

(1)确定处理设备的可执行文件。

(2)确定运行可执行文件的过程中需调用的服务端口,并将服务端口与前端设备标识构建对应关系。

关于(1)和(2)的具体内容,可参见图6对应的实施例,在此不再赘述。

(3)前端设备100存储前端信息集合。

由于模拟单元承载在模拟后端设备300上,所以模拟后端设备300的模拟单元在生成前端信息集合和后端信息集合之后,便可以将前端信息集合发送至前端设备100,前端设备存储前端信息集合。

如图7所示,下面介绍模拟单元承载在模拟后端设备300上的具体执行过程:

步骤s701:前端设备100在预先存储的前端信息集合中、选择一个前端请求,并接收速率控制指令。

步骤s702:前端设备100按速率控制指令向处理设备200发送前端请求。

步骤s703:处理设备200处理前端请求生成响应信息。

步骤s704:处理设备200判断响应信息是否为后端请求,若否,则进入步骤s705;若是,则进入步骤s706。

步骤s705:处理设备200向前端设备100发送前端响应值。

步骤s706:处理设备200向模拟后端设备300发送后端请求。

在确定响应信息为后端请求的情况下,说明处理设备200在处理前端请求时无法直接生成与前端请求对应的前端响应值,而需要调用真实后端设备提供的服务。

处理设备200会调用确定后端请求对应的服务端口,并依据预先设定的服务端口与模拟后端设备300的ip地址对应关系,向模拟后端设备300发送后端请求。

步骤s707:模拟后端设备300利用模拟单元来代替真实后端设备处理所述后端请求后获得后端响应值。

步骤708:模拟后端设备300的模拟单元向处理设备200反馈后端响应值。

步骤709:处理设备200对后端响应值处理后获得响应信息,进入步骤s704。

关于步骤s701-s709的详细介绍和场景实施例,可参加图6所示的实施例的具体内容,在此不再赘述。

本实施例中,模拟单元承载在模拟后端设备300上,相对于图6所示的实施例而言,增加了一个硬件设备。相对于图6所示的实现方式而言,可以降低前端设备100的复杂度,但是,本实现方式对原有系统结构进行改变。优劣参半。

如图8所示,下面介绍模拟单元承载在处理设备200上的具体执行过程:

在说明具体处理过程前,先说明前端设备100和处理设备200的一些预先准备过程。

(1)确定处理设备的可执行文件。

(2)确定运行可执行文件的过程中需调用的服务端口,并将服务端口与前端设备标识构建对应关系。

关于(1)和(2)的具体内容,可参见图6对应的实施例,在此不再赘述。

(3)前端设备100存储前端信息集合。

由于模拟单元承载在处理设备200上,所以处理设备200的模拟单元在生成前端信息集合和后端信息集合之后,便可以将前端信息集合发送至前端设备100,前端设备100存储前端信息集合。

步骤s801:前端设备100在预先存储的前端信息集合中、选择一个前端请求,并接收速率控制指令。

步骤s802:前端设备100按速率控制指令向处理设备200发送前端请求。

步骤s803:处理设备200处理前端请求生成响应信息。

步骤s804:处理设备200判断响应信息是否为后端请求,若否,则进入步骤s805;若是,则进入步骤s806。

步骤s805:处理设备200向前端设备100发送前端响应值。

步骤s806:处理设备200利用模拟单元来代替真实后端设备处理所述后端请求后获得后端响应值。

步骤807:处理设备200对后端响应值处理后获得响应信息,进入步骤s804。

步骤s801-s807的详细介绍和场景实施例,可参加图6所示的实施例的具体内容,在此不再赘述。

本实施例中,模拟单元承载在处理设备200上,由于处理设备200本身为分布式系统中的一个节点,其上面由很多应用程序。若再增加模拟单元,可能会对其正常应用程序的执行产生影响,因此,在实际应用过程中,可参考使用。

在按图6-图8中任一实施例的方式实现前端设备与处理设备的数据通讯后,为了验证处理设备是否正常,前端设备还可以进行进一步执行的以下处理。如图9所示,前端设备100的处理过程包括:

步骤s901:在前端请求集合中确定出与前端请求对应的第一前端响应值。

前端请求集合包括多个前端请求、多个前端响应值和两者之间的映射。因此,在步骤1、步骤s601、步骤s701或者步骤s801中确定出一个前端请求后,便可以根据该前端请求在前端请求集合中、按照映射关系确定出与该前端请求对应的前端响应值。为了与处理设备反馈的前端响应值作区分,本步骤采用第一前端响应值表示,将处理设备反馈的前端响应值作为第二前端响应值。

步骤s902:将第一前端响应值与处理设备发送的第二前端响应值进行对比。若一致,则进入步骤s903,否则进入步骤s904。

由于第一前端响应值为:在处理设备200或收集设备400在正常情况下,并且在处理设备200或收集设备400实际运行过程中获得的,所以前端信息集合中与前端请求对应的第一前端响应值,便是正常运行下的处理结果,因此,可以将第一前端响应值作为判断处理设备是否正常的依据。

将第一前端响应值与第二前端响应值进行对比,若一致,则说明处理设备在执行可执行文件的过程中没有出现异常。若不一致,则说明处理设备在执行可执行文件的过程中出现异常。

步骤s903:若一致,则确定处理设备正常。

若一致,则说明处理设备应用可执行文件的过程是正常的。

步骤s904:若不一致,则确定处理设备不正常。

若一致,则说明处理设备应用可执行文件的过程中出现异常。

若在预先准备过程中确定可执行文件为处理设备自身的软件程序,则即处理设备运行自身的软件程序,则经过本次测试可以对处理设备的软件程序以及硬件设备一并进行测试。

若在预先准备过程中确定可执行文件为收集设备的软件程序,则即处理设备运行收集设备的软件程序,则经过本次测试可以对处理设备的硬件设备进行测试,而无法对测试设备的软件程序进行测试。

如图4所示,下面介绍一种设备测试系统,包括:

收集设备400,用于预先收集经过自身的请求和响应值,并将请求和响应值信息发送至承载模拟单元的模拟设备。

模拟设备300的模拟单元,用于预先接收收集设备发送的请求和响应值,预先分析所述请求和响应值,生成后端信息集合和前端信息集合,并将前端信息集合发送至前端设备;还用于接收处理设备发送的与前端请求对应的后端请求,并在预先存储的后端信息集合中,查找与后端请求对应的后端响应值,并向处理设备发送所述后端响应值。

前端设备100,用于预先存储模拟单元发送的前端信息集合;在预先存储的前端信息集合中选择前端请求,并向处理设备发送前端请求;还用于在预先存储的前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,将第一响应值与处理设备发送的第二前端响应值进行对比,若一致则确定处理设备测试正常,若不一致,则确定处理设备测试不正常。

处理设备200,用于接收所述前端请求,在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到模拟设备;并且,还用于接收后端响应值,并将处理所述后端响应值后获得的前端响应值反馈至所述前端设备。

其中,所述前端信息集合至少包括多个前端请求,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。

关于设备测试系统的执行过程已在前述图6-图8所示的实施例中进行详细描述,在此不再赘述。

下面以一种数据处理系统的具体应用场景。如图10所示,本申请提供了一种节点测试系统。(其中测试设备相当于前端设备,待测节点相当于处理设备200,因此,采用相同的序号描述)。本申请提供的测试系统具体包括:

收集设备400,用于收集经过自身的请求和响应值,并将请求和响应值信息发送至测试设备。

测试设备100,还用于分析所述请求和响应值,生成并存储所述后端信息集合和所述后端信息集合;还用于在预先存储的前端信息集合中确定进行压力测试的前端请求,以及确定发送所述前端请求的测试速率,并按所述测试速率向待测节点发送所述前端请求;还用于接收待测节点发送的与前端请求对应的后端请求,并在预先存储的后端信息集合中,查找与后端请求对应的后端响应值,并向待测节点发送所述后端响应值;并且,还用于将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述待测节点发送的第二前端响应值进行对比,若一致,则确定待测节点的调用过程正常,若不一致,则确定待测节点调用过程不正常。

待测节点200,用于接收所述测试设备发送的用于进行压力测试的前端请求,处理所述前端请求获得响应信息,在判定所述响应信息为调用真实后端设备的后端请求的情况下,确定与所述后端请求对应的服务端口,并依据预先存储的所述服务端口与所述测试设备的标识的对应关系,向所述测试设备发送所述后端请求;并且,还用于接收与所述后端请求对应的后端响应值,将处理所述后端响应值后获得的前端响应值发送至测试设备。

其中,所述前端信息集合至少包括多个前端请求,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射。

关于节点测试系统的具体执行过程已在图6对应的实施例中进行详细论述,在此不再赘述。

如图11所示,本申请还提供一种数据处理方法,应用于处理设备,所述方法包括:

步骤s1101:接收前端设备发送的前端请求。

步骤s1102:在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到设置有模拟单元的模拟设备。

其中,确定是否需调用真实后端设备提供的服务的过程,具体包括:

处理所述前端请求或后端响应值生成响应信息;在判定所述响应信息为后端请求的情况下,确定需调用真实后端设备提供的服务;在判定所述响应信息为前端响应值的情况下,确定不需调用真实后端设备提供的服务。

步骤s1103:接收所述模拟设备的模拟单元发送的后端响应值;其中,所述后端响应值由所述模拟设备利用预先构建的模拟单元代替真实后端设备处理所述后端请求后获得。

步骤s1104:将处理所述后端响应值后获得的前端响应值反馈至所述前端设备。

在处理所述后端响应值的过程中仍需调用真实后端设备提供的服务的情况下,再次利用预先设定的流量劫持服务、将与所述后端响应值对应的后端请求重定向到模拟设备,并再次接收所述模拟设备的模拟单元发送的后端响应值,直至在处理后端响应值后获得前端响应值,无需再调用真实后端设备提供的服务。

关于处理设备的具体执行过程已在前述实施例中进行详细描述,在此不再赘述。

如图12所示,本申请提供一种数据处理方法,应用于模拟设备的模拟单元,所述方法包括:

步骤s1201:接收与前端请求对应的后端请求。

步骤s1202:依据预先存储的模拟服务数据处理所述后端请求并生成后端响应值;其中,所述模拟服务数据用于模拟真实后端设备提供的服务。

所述模拟服务数据包括两种情况:

第一种情况:模拟服务数据包括用于模拟真实后端设备提供的服务的后端信息集合;其中,所述后端信息集合包括多个后端请求、多个后端响应值以及两者之间的映射;那么,所述依据预先存储的模拟服务数据处理所述后端请求并生成后端响应值,包括:在所述后端信息集合中,查找与所述后端请求对应的后端响应值。

优选的,所述后端信息集合还包括与每个后端请求对应的响应时间;则所述反馈所述后端响应值具体包括:等待所述响应时间后再反馈所述后端响应值。

第二种情况:模拟服务数据与真实后端设备的服务数据一致。

步骤s1203:向处理设备反馈所述后端响应值。

关于模拟设备的模拟单元的具体执行过程已在前述实施例中进行详细描述,在此不再赘述。

如图13所示,本申请提供一种数据处理方法,应用于前端设备,所述方法包括:

步骤s1301:确定向处理设备发送的前端请求。

本步骤确定向处理设备发送的前端请求,包括:

在预先存储的前端信息集合中随机选择一个前端请求,确定为向所述处理设备发送的前端请求;其中,所述前端信息集合至少包括多个前端请求;接收速率控制指令;按所述速率控制指令向所述处理设备发送所述前端请求。其中,所述速率控制指令包括:相邻两个前端请求之间的发送频率。

步骤s1302:向所述处理设备发送所述前端请求。

步骤s1303:接收所述处理设备发送的与所述前端请求对应的前端响应值;

其中,所述处理设备在确定处理所述前端请求的过程中需调用真实后端设备提供的服务的情况下,利用预先设定的流量劫持服务、将与所述前端请求对应的后端请求重定向到设置有模拟单元的模拟设备;并接收所述模拟设备的模拟单元发送的后端响应值,将处理所述后端响应值后获得的前端响应值反馈至所述前端设备;其中,所述后端响应值由所述模拟设备利用预先构建的模拟单元代替真实后端设备处理所述后端请求后获得。

步骤s1304:将在所述前端请求集合中确定出的、与所述前端请求对应的第一前端响应值,和,所述处理设备发送的第二前端响应值进行对比。其中,所述前端信息集合还包括多个前端响应值,以及,前端请求和前端响应值之间的映射;则所述方法还包括:

步骤s1305:若一致,则确定处理设备正常。

步骤s1306:若不一致,则确定处理设备不正常。

关于前端设备的具体执行过程已在前述实施例中进行详细描述,在此不再赘述。

通过上述内容可以看出本申请具有以下有益效果:

本申请具有模拟真实后端设备的模拟单元,承载模拟单元的硬件设备称为模拟设备;并且,还为处理设备提供流量劫持服务,并且,流量劫持服务的目的设备为模拟设备。这样,处理设备生成的后端请求便不再发送至真实后端设备,而是会被重定向到模拟设备上从而避免后端请求对真实后端设备造成脏数据,且,模拟设备的模拟单元可以对后端请求进行处理,从而保证前端设备与处理设备之间的正常数据通讯。因此,本申请可以在不影响后端设备的前提下,实现前端设备与处理设备之间的数据交互过程。

本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1