发明内容
本发明提供一种流量双向测试方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高流量测试的灵活度。
为实现上述目的,本发明提供的一种流量双向测试方法,包括:
利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量;
通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量;
将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量;
将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果;
在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果;
根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
可选地,所述构造所述请求流量的消息队列,包括:
识别所述请求流量的时间顺序与流量数量;
根据所述流量数量,设置所述请求流量的队列空间;
根据所述时间顺序,在所述队列空间中构造所述请求流量的消息队列。
可选地,所述根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量,包括:
根据所述消息队列,对所述请求流量进行流量拦截,得到流量拦截点;
通过流量接口将所述流量拦截点传输至所述模拟服务器对应的模拟数据库中;
在所述模拟数据库中,根据所述流量拦截点,对所述请求流量进行流量录制,得到所述录制请求流量。
可选地,所述通过消息队列将所述请求流量传输至历史服务端中,包括:
通过所述消息队列对所述请求流量进行序列化处理,得到序列化流量;
获取流量传输协议,根据所述流量传输协议,对所述序列化流量进行协议封装,得到封装流量;
利用所述流量传输协议将所述封装流量传输至所述历史服务端中。
可选地,所述将所述响应请求流量返回至所述流量模拟平台,包括:
识别所述响应请求流量对应的传输通道;
对所述请求流量进行格式转换,得到转换格式的请求流量;
通过所述传输通道将所述转换格式的请求流量传输至所述流量模拟平台中。
可选地,所述在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果,包括:
根据所述响应请求流量,构建所述响应录制流量的响应规则;
根据所述响应规则,利用正则表达式对所述响应录制流量进行规则测试;
在所述规则测试成功时,则所述服务端测试结果为测试成功;
在所述规则测试失败时,则所述服务端测试结果为测试失败。
可选地,所述根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果,包括:
将所述响应流量录制结果回放至所述用户端;
在所述用户端中检测所述响应流量录制结果与用户端页面是否适配;
在所述响应流量录制结果与用户端页面不适配时,在所述流量模拟平台中构建所述响应流量录制结果的模拟流量;
将所述模拟流量回放至所述用户端,得到所述用户端的调试结果。
为了解决上述问题,本发明还提供一种流量双向测试装置,所述装置包括:
请求流量录制模块,用于利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量;
请求流量响应模块,用于通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量;
录制请求流量响应模块,用于将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量;
服务端流量测试模块,用于将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果;
响应流量录制模块,用于在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果;
用户端流量调试模块,用于根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的流量双向测试方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的流量双向测试方法。
可以看出,本发明实施例首先通过利用流量模拟平台从RPC通信中获取用户端的请求流量,以用于获取用户端向服务端发送的请求数据的流量,保障后续将录制的请求流量用于服务端的虚拟测试数据,进一步地,本发明实施例通过构造所述请求流量的消息队列,以用于将高并发的消息按照时间顺序排序,保障数据的有序性。其中,所述消息队列是指按照先进先出顺序排列的消息,进一步地,本发明实施例通过根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量,以用于录制生产环境产生的生产流量,保障后续根据应用的具体要求对生产流量进行适应性改动,将所述生产流量转换为虚拟流量,进一步地,本发明实施例通过消息队列将所述请求流量传输至历史服务端中,以用于从所述服务端获得返回数据时,返回数据的先后顺序依次对应所述消息队列的顺序,进一步地,本发明实施例通过在所述历史服务端中对所述请求流量进行响应,得到响应请求流量,以用于获取历史服务器中请求流量的返回数据的流量,本发明实施例通过将所述录制请求流量回放至当前服务端,以用于将在模拟流量平台构建好的虚拟请求发送至服务器,从服务器中获取对应的响应数据,保障后续通过检测响应数据的内容,实现对服务端响应请求的能力的检测,进一步地,本发明实施例通过在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量,以用于获取当前服务器中请求流量的虚拟返回流量,保障后续将所述虚拟返回流量作为虚拟环境下构造的虚拟数据,进一步地,本发明实施例通过将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,以用于将响应流量返回值所述流量模拟平台,将所述流量模拟平台作为对所述用户端进行调试的虚拟服务器,将所述响应流量作为所述虚拟服务器中响应所述用户端的虚拟响应流量,进一步地,本发明实施例通过在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果,以用于通过将真实服务器与当前新创造的服务器所产生的响应数据进行对比,确定新的服务器的响应数据的能力,进一步地,本发明实施例通过在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果,以用于将虚拟环境下产生的响应流量与实际成产环境下产生的响应流量组合,保障后续可以通过对录制好的不同版本的响应流量进行修改与重复使用来达到调试用户端的目的,进一步地,本发明实施例通过根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果,以用于根据用户端请求所对应的响应数据,调试用户端页面的版本页面布局,网页兼容性等问题。因此,本发明实施例提出的一种流量双向测试方法、装置、电子设备及计算机可读存储介质可以提高流量测试的灵活度。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供一种流量双向测试方法。所述流量双向测试方法的执行主体包括但不限于服务端、终端等能够被配置为执行本发明实施例提供的该方法的电子设备中的至少一种。换言之,所述流量双向测试方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的流量双向测试方法的流程示意图。在本发明实施例中,所述流量双向测试方法包括以下步骤S1-S6:
S1、利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量。
本发明实施例通过利用流量模拟平台从RPC通信中获取用户端的请求流量,以用于获取用户端向服务端发送的请求数据的流量,保障后续将录制的请求流量用于服务端的虚拟测试数据。
其中,所述流量模拟平台是指在对服务端进行测试时充当用户端,在对用户端进行调试时充当服务端的产生模拟流量的流量管理平台,所述流量模拟平台提供录制流量的录入、保存和维护功能;将录制的流量按业务场景、版本等需要进行划分、管理及维护;提供流量编辑功能,可根据需要修改或者拷贝出新的流量场景,免去再次录制的过程,大大提高了效率;同时还提供临时拷贝、动态数据变更等功能。所述RPC通信是指远程过程调用协议,一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协,用于为通信程序之间携带信息数据。所述请求流量是指用户端发出的数据请求的流量,是管道内的流通数量,通过公式“请求的文件大小*请求次数=流量”表示。
进一步地,本发明实施例通过构造所述请求流量的消息队列,以用于将高并发的消息按照时间顺序排序,保障数据的有序性。其中,所述消息队列是指按照先进先出顺序排列的消息。
本发明的一实施例中,所述构造所述请求流量的消息队列,包括:识别所述请求流量的时间顺序与流量数量;根据所述流量数量,设置所述请求流量的队列空间;根据所述时间顺序,在所述队列空间中构造所述请求流量的消息队列。
其中,所述时间顺序是指从小到大的顺序,所述流量数量是指请求流量的高并发数量,所述队列空间是指存放数据的空间。
示例性地,所述流量数量为5时,设置用于存储流量数量的队列空间也为5,按照从小到大的顺序将消息以此推进队列空间中,得到所述消息队列。
进一步地,本发明实施例通过根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量,以用于录制生产环境产生的生产流量,保障后续根据应用的具体要求对生产流量进行适应性改动,将所述生产流量转换为虚拟流量。
本发明的一实施例中,所述根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量,包括:根据所述消息队列,对所述请求流量进行流量拦截,得到流量拦截点;通过流量接口将所述流量拦截点传输至所述模拟服务器对应的模拟数据库中;在所述模拟数据库中,根据所述流量拦截点,对所述请求流量进行流量录制,得到所述录制请求流量。
其中,所述流量拦截是指在某一段时间内控制访问次数,若访问次数超过阈值时,对访问进行拦截。
示例性地,利用拦截器拦截用户端发来的请求流量,通过拦截请求流量获取拦截点即请求流量的uid,在服务端的数据库中,根据所述uid对请求流量进行存储,例如uid1与uid2分别存于两张数据库表中,将所述uid作为所述数据库表的关键值,用于查找不同数据库表中存储的请求流量。
其中,所述拦截器是指类似于Servlet中的过滤器,主要用于拦截用户请求并做出相应的处理。所述uid是指,存放流量的文件后缀名。
S2、通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量。
本发明实施例通过消息队列将所述请求流量传输至历史服务端中,以用于从所述服务端获得返回数据时,返回数据的先后顺序依次对应所述消息队列的顺序。
其中,所述历史服务端是指在对应用软件进行版本更新开发时,旧的版本的软件对应的服务端。
本发明的一实施例中,所述通过消息队列将所述请求流量传输至历史服务端中,包括:通过所述消息队列对所述请求流量进行序列化处理,得到序列化流量;获取流量传输协议,根据所述流量传输协议,对所述序列化流量进行协议封装,得到封装流量;利用所述流量传输协议将所述封装流量传输至所述历史服务端中。
示例性地,所述序列化处理为将数据转换为二进制的数据,所述流量传输协议为用于传输流量的协议,包括HTTP协议、TCP协议等,所述协议封装为按照TCP协议的传输数据要求,将所述序列化流量区分为数据头和消息体,所述数据头用于身份识别,包括协议标识、数据大小、请求类型、序列化类型等信息,所述消息体主要是请求的业务参数信息和扩展属性等。
进一步地,本发明实施例通过在所述历史服务端中对所述请求流量进行响应,得到响应请求流量,以用于获取历史服务器中请求流量的返回数据的流量。
本发明的一实施例中,所述在所述历史服务端中对所述请求流量进行响应,得到响应请求流量,包括:获取所述历史服务端中的请求流量,对所述请求流量进行流量解析,得到流量解析结果;根据所述流量解析结果,在所述历史服务端中查询所述请求流量的响应请求流量实现。
S3、将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量。
本发明实施例通过将所述录制请求流量回放至当前服务端,以用于将在模拟流量平台构建好的虚拟请求发送至服务器,从服务器中获取对应的响应数据,保障后续通过检测响应数据的内容,实现对服务端响应请求的能力的检测。
其中,所述当前服务端是指与上述历史服务端相对的服务端,指在对应用软件进行版本更新开发时,新的版本的软件对应的服务端。
本发明的一实施例中,所述将所述录制请求流量回放至当前服务端,与上述通过消息队列将所述请求流量传输至历史服务端中的原理一致,在此不做进一步地赘述。
进一步地,本发明实施例通过在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量,以用于获取当前服务器中请求流量的虚拟返回流量,保障后续将所述虚拟返回流量作为虚拟环境下构造的虚拟数据。
本发明的一实施例中,所述在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量,与上述在所述历史服务端中对所述请求流量进行响应,得到响应请求流量的原理一致,在此不做进一步地赘述。
S4、将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果。
本发明实施例通过将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,以用于将响应流量返回值所述流量模拟平台,将所述流量模拟平台作为对所述用户端进行调试的虚拟服务器,将所述响应流量作为所述虚拟服务器中响应所述用户端的虚拟响应流量。
本发明的一实施例中,所述将所述响应请求流量返回至所述流量模拟平台,包括:识别所述响应请求流量对应的传输通道;对所述响应请求流量进行格式转换,得到转换格式的响应请求流量;通过所述传输通道将所述转换格式的响应请求流量传输至所述流量模拟平台中。
其中,所述响应请求流量对应的传输通道是指,用户端与服务端保持长联系的通道,不同的用户端与统一服务端联系时,对应多个不同的传输通道,所述传输通道包括TCP/IP、UDP、Socket等通道,所述转换格式的响应请求流量是指JSON格式的响应请求流量。
需要说明的是,所述将所述响应录制流量返回至所述流量模拟平台与上述将所述响应请求流量返回至所述流量模拟平台的原理一致,在此不做进一步地赘述。
进一步地,本发明实施例通过在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果,以用于通过将真实服务器与当前新创造的服务器所产生的响应数据进行对比,确定新的服务器的响应数据的能力。
本发明的一实施例中,所述在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果,包括:根据所述响应请求流量,构建所述响应录制流量的响应规则;根据所述响应规则,利用正则表达式对所述响应录制流量进行规则测试;在所述规则测试成功时,则所述服务端测试结果为测试成功;在所述规则测试失败时,则所述服务端测试结果为测试失败。
其中,所述正则表达式是指对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
示例性地,在所述响应请求流量的内容为QQ号码时,识别到包含QQ号码的返回数据前缀为1000(共4位),根据所述前缀1000,利用所述正则表达式将所述响应录制流量的第五位开始的数据与所述响应请求流量的第五位开始的数据进行相似度匹配,在匹配成功时,说明服务端返回的数据是对的。
S5、在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果。
本发明实施例通过在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果,以用于将虚拟环境下产生的响应流量与实际成产环境下产生的响应流量组合,保障后续可以通过对录制好的不同版本的响应流量进行修改与重复使用来达到调试用户端的目的。
本发明的一实施例中,所述在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果,与上述根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量的原理一致,在此不做进一步地赘述。
S6、根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
本发明实施例通过根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果,以用于根据用户端请求所对应的响应数据,调试用户端页面的版本页面布局,网页兼容性等问题。
本发明的一实施例中,所述根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果,包括:将所述响应流量录制结果回放至所述用户端;在所述用户端中检测所述响应流量录制结果与用户端页面是否适配;在所述响应流量录制结果与用户端页面不适配时,在所述流量模拟平台中构建所述响应流量录制结果的模拟流量;将所述模拟流量回放至所述用户端,得到所述用户端的调试结果。
可以看出,本发明实施例首先通过利用流量模拟平台从RPC通信中获取用户端的请求流量,以用于获取用户端向服务端发送的请求数据的流量,保障后续将录制的请求流量用于服务端的虚拟测试数据,进一步地,本发明实施例通过构造所述请求流量的消息队列,以用于将高并发的消息按照时间顺序排序,保障数据的有序性。其中,所述消息队列是指按照先进先出顺序排列的消息,进一步地,本发明实施例通过根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量,以用于录制生产环境产生的生产流量,保障后续根据应用的具体要求对生产流量进行适应性改动,将所述生产流量转换为虚拟流量,进一步地,本发明实施例通过消息队列将所述请求流量传输至历史服务端中,以用于从所述服务端获得返回数据时,返回数据的先后顺序依次对应所述消息队列的顺序,进一步地,本发明实施例通过在所述历史服务端中对所述请求流量进行响应,得到响应请求流量,以用于获取历史服务器中请求流量的返回数据的流量,本发明实施例通过将所述录制请求流量回放至当前服务端,以用于将在模拟流量平台构建好的虚拟请求发送至服务器,从服务器中获取对应的响应数据,保障后续通过检测响应数据的内容,实现对服务端响应请求的能力的检测,进一步地,本发明实施例通过在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量,以用于获取当前服务器中请求流量的虚拟返回流量,保障后续将所述虚拟返回流量作为虚拟环境下构造的虚拟数据,进一步地,本发明实施例通过将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,以用于将响应流量返回值所述流量模拟平台,将所述流量模拟平台作为对所述用户端进行调试的虚拟服务器,将所述响应流量作为所述虚拟服务器中响应所述用户端的虚拟响应流量,进一步地,本发明实施例通过在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果,以用于通过将真实服务器与当前新创造的服务器所产生的响应数据进行对比,确定新的服务器的响应数据的能力,进一步地,本发明实施例通过在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果,以用于将虚拟环境下产生的响应流量与实际成产环境下产生的响应流量组合,保障后续可以通过对录制好的不同版本的响应流量进行修改与重复使用来达到调试用户端的目的,进一步地,本发明实施例通过根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果,以用于根据用户端请求所对应的响应数据,调试用户端页面的版本页面布局,网页兼容性等问题。因此,本发明实施例提出的一种流量双向测试方法可以提高流量测试的灵活度。
如图2所示,是本发明流量双向测试装置的功能模块图。
本发明所述流量双向测试装置100可以安装于电子设备中。根据实现的功能,所述流量双向测试装置可以包括请求流量录制模块101、请求流量响应模块102、录制请求流量响应模块103、服务端流量测试模块104、响应流量录制模块105以及用户端流量调试模块106。本发明所述模块也可以称之为单元,是指一种能够被电子设备的处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
所述请求流量录制模块101,用于利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量;
所述请求流量响应模块102,用于通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量;
所述录制请求流量响应模块103,用于将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量;
所述服务端流量测试模块104,用于将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果;
所述响应流量录制模块105,用于在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果;
所述用户端流量调试模块106,用于根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
详细地,本发明实施例中所述流量双向测试装置100中的所述各模块在使用时采用与上述的图1中所述的流量双向测试方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图3所示,是本发明实现流量双向测试方法的电子设备1的结构示意图。
所述电子设备1可以包括处理器10、存储器11、通信总线12以及通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如流量双向测试程序。
其中,所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备1的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行流量双向测试程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如流量双向测试程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述通信总线12可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
所述通信接口13用于上述电子设备1与其他设备之间的通信,包括网络接口和员工接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备1之间建立通信连接。所述员工接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,员工接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的员工界面。
图3仅示出了具有部件的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利发明范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的流量双向测试程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量;
通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量;
将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量;
将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果;
在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果;
根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备1的处理器所执行时,可以实现:
利用流量模拟平台从RPC通信中获取用户端的请求流量,构造所述请求流量的消息队列,根据所述消息队列,对所述请求流量进行流量录制,得到录制请求流量;
通过消息队列将所述请求流量传输至历史服务端中,在所述历史服务端中对所述请求流量进行响应,得到响应请求流量;
将所述录制请求流量回放至当前服务端,在所述当前服务端中对所述录制请求流量进行响应,得到响应录制流量;
将所述响应请求流量与所述响应录制流量返回至所述流量模拟平台,在所述流量模拟平台中,根据所述响应请求流量,对所述响应录制流量进行流量测试,得到服务端测试结果;
在所述流量模拟平台中,对所述响应请求流量与所述响应录制流量进行响应流量录制,得到响应流量录制结果;
根据所述响应流量录制结果,对所述用户端进行流量调试,得到用户端调试结果。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。