本发明实施例涉及一种压力测试方法与压力测试系统。
背景技术:
1、传统的freeswitch压测方法仅针对freeswitch本身压测其通话量,仅能得到freeswitch本身的性能结论。在实际应用中,为了满足各类业务需求,通常不仅仅部署freeswitch一个模块,还需要相应的流程控制、节点管理、信令处理、通话记录管理等模块。所以传统的freeswitch压测方法无法全面覆盖整个呼叫中心系统。
2、如果从呼叫中心系统的入口处发起呼叫进行压测,也存在一定问题。使用真实数据进行呼叫会对用户造成骚扰,且无法控制是否接听和通话时长。而构造数据进行压测也同样存在如何控制应答、单通通话时长受限、无法模拟双端通话、对外部服务造成异常流量等问题。
技术实现思路
1、本发明的目的是提供一种压力测试方法与压力测试系统,其至少可解决上述部分问题,即,通过引入模拟双端与流程控制模块等在不影响外部系统的前提下完成真实通话场景的模拟以及全链路的压测。
2、为了实现上述目的,本发明第一方面提供一种压力测试方法,所述压力测试方法包括:通过主叫模拟端在具有预设房间标识的通话房间内播放录音;通过流程控制模块将呼叫请求发送至业务逻辑处理模块,其中,所述呼叫请求包括请求参数,以及所述请求参数包括所述预设房间标识、被叫标识及通话标识;响应于接收到所述呼叫请求,通过所述业务逻辑处理模块根据所述请求参数生成呼叫命令,并将所述呼叫命令发送到呼叫中心系统中的外呼模块;通过所述外呼模块呼叫具有所述被叫标识的被叫模拟端,以使所述被叫模拟端根据所述预设房间标识加入所述通话房间;通过所述被叫模拟端在所述通话房间内进行回复;以及监测所述业务逻辑处理模块、所述外呼模块与所述被叫模拟端形成的链路上的传输数据。
3、在至少一个实施例中,所述压力测试方法还包括:通过管理模块生成所述请求参数,其中,所述请求参数还包括:主叫标识与录音存储路径;以及通过所述管理模块调用所述流程控制模块,以将所述请求参数发送至所述流程控制模块。
4、在至少一个实施例中,所述压力测试方法还包括:通过所述流程控制模块接收到所述请求参数;以及通过所述流程控制模块调用具有所述主叫标识的所述主叫模拟端,以使得所述主叫模拟端加入具有所述预设房间标识的所述通话房间,所述通过主叫模拟端在具有预设房间标识的通话房间内播放录音包括:根据所述录音存储路径获取所述录音;以及在所述通话房间内播放所述录音。
5、在至少一个实施例中,所述压力测试方法还包括:通过所述管理模块监测通话时长;在通话时长达到预设通话时长的情况下,通过所述管理模块向所述流程控制模块发送呼叫结束请求;通过所述流程控制模块传输所述呼叫结束请求;响应于接收到所述呼叫结束请求,通过所述业务逻辑处理模块生成呼叫结束命令,并将所述呼叫结束命令发送到所述外呼模块;以及通过所述外呼模块停止呼叫具有所述被叫标识的被叫模拟端,以使所述被叫模拟端退出所述通话房间。
6、在至少一个实施例中,所述通过流程控制模块将呼叫请求发送至业务逻辑处理模块包括:通过预设规则对所述请求参数进行加签并将加签得到的第一参数与所述请求参数发送至所述业务逻辑处理模块,在执行所述通过所述业务逻辑处理模块根据所述请求参数生成呼叫命令的步骤之前,所述压力测试方法还包括:通过所述业务逻辑处理模块通过所述预设规则对所述请求参数进行加签并将加签得到的第二参数与所述第一参数进行比较;以及在所述第二参数与所述第一参数相同的情况下,验证所述呼叫请求为正常呼叫请求。
7、在至少一个实施例中,所述压力测试方法还包括:通过所述业务逻辑处理模块实时监听通话状态。
8、在至少一个实施例中,所述流程控制模块为mock模块。
9、通过上述技术方案,本发明创造性地首先通过主叫模拟端在具有预设房间标识的通话房间内播放录音;接着,通过流程控制模块将呼叫请求发送至业务逻辑处理模块;然后,通过所述业务逻辑处理模块根据所述请求参数生成呼叫命令,并将所述呼叫命令发送到呼叫中心系统中的外呼模块;再者,通过所述外呼模块呼叫具有所述被叫标识的被叫模拟端,以使所述被叫模拟端根据所述预设房间标识加入所述通话房间,并通过所述被叫模拟端在所述通话房间内按进行回复,在整个通话过程中,监测所述业务逻辑处理模块、所述外呼模块与所述被叫模拟端形成的链路上的传输数据,以进行压力测试。由此,本发明通过引入模拟双端与流程控制模块等在不影响外部系统的前提下完成真实通话场景的模拟以及全链路的压测。
10、本发明第二方面提供一种压力测试系统,所述压力测试系统包括:主叫模拟端,用于在具有预设房间标识的通话房间内播放录音;流程控制模块,用于将呼叫请求发送至业务逻辑处理模块,其中,所述呼叫请求包括请求参数,以及所述请求参数包括所述预设房间标识、被叫标识及通话标识;所述业务逻辑处理模块,用于响应于接收到所述呼叫请求,根据所述请求参数生成呼叫命令,并将所述呼叫命令发送到呼叫中心系统中的外呼模块;所述外呼模块,用于呼叫具有所述被叫标识的被叫模拟端,以使所述被叫模拟端根据所述预设房间标识加入所述通话房间;所述被叫模拟端,用于在所述通话房间内进行回复;以及压力测试模块,用于监测所述业务逻辑处理模块、所述外呼模块与所述被叫模拟端形成的链路上的传输数据,以针对具有所述通话标识的通话过程进行压力测试。
11、有关本发明提供的压力测试系统的具体细节及益处可参阅上述针对压力测试方法的描述,于此不再赘述。
12、本发明第三方面提供一种机器可读存储介质,所述机器可读存储介质上存储有指令,该指令用于使得机器执行上述的压力测试方法。
13、本发明第四方面提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的压力测试方法。
14、本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种压力测试方法,其特征在于,所述压力测试方法包括:
2.根据权利要求1所述的压力测试方法,其特征在于,所述压力测试方法还包括:
3.根据权利要求2所述的压力测试方法,其特征在于,所述压力测试方法还包括:
4.根据权利要求2所述的压力测试方法,其特征在于,所述压力测试方法还包括:
5.根据权利要求1所述的压力测试方法,其特征在于,所述通过流程控制模块将呼叫请求发送至业务逻辑处理模块包括:
6.根据权利要求1所述的压力测试方法,其特征在于,所述压力测试方法还包括:
7.根据权利要求1所述的压力测试方法,其特征在于,所述流程控制模块为mock模块。
8.一种压力测试系统,其特征在于,所述压力测试系统包括:
9.一种机器可读存储介质,其特征在于,所述机器可读存储介质上存储有指令,该指令用于使得机器执行上述权利要求1-7任一项所述的压力测试方法。
10.一种电子设备,其特征在于,所述电子设备包括: