[发明专利]一种压测方法、装置、电子设备及存储介质在审
| 申请号: | 202011159880.9 | 申请日: | 2020-10-26 |
| 公开(公告)号: | CN112199218A | 公开(公告)日: | 2021-01-08 |
| 发明(设计)人: | 王凯;朱展;朱道坤 | 申请(专利权)人: | 北京百家科技集团有限公司 |
| 主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F11/36 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 钟扬飞 |
| 地址: | 100082 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 方法 装置 电子设备 存储 介质 | ||
1.一种压测方法,其特征在于,所述方法包括:
接收客户端发送的请求消息;
通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;
在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;
将所述请求消息所产生的压测流量保存至影子表中。
2.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在线程池获取线程执行异步调用的方法之前,通过预先设置的拦截位点进行拦截,以将当前线程的染色标记传递给子线程;
在所述子线程执行之前,将所述染色标记添加至所述子线程的线程上下文中。
3.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在当前服务发送http跨进程的请求之前,通过预先设置的拦截位点进行拦截,以获取请求对象;
将当前服务中的当前线程的染色标记添加至所述请求对象的请求头中,以将所述染色标记传递至下游服务中;
在所述下游服务接收到所述请求后,通过所述下游服务中预先设置的拦截位点获取所述请求头中的染色标记;
将所述染色标记添加至所述下游服务的线程上下文中。
4.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在当前服务发送rpc跨进程请求之前,通过预先设置的拦截位点进行拦截,以获取rpc请求;
将当前服务中的当前线程的染色标记添加至rpc请求的attachments中,以将所述染色标记传递至下游服务中;
在所述下游服务接收所述rpc请求后,通过所述下游服务中预先设置的拦截位点获取所述attachments中的染色标记;
将所述染色标记添加至所述下游服务的线程上下文中。
5.根据权利要求1所述的压测方法,其特征在于,所述通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息,包括:
在异步消息发送之前,通过预先设置的拦截位点获取所述消息;
将当前服务的当前线程的染色标记添加至所述消息的header中;
在下游服务接收所述消息后,通过所述下游服务中预先设置的拦截位点从所述消息的header中获取所述染色标记;
将所述染色标记添加至所述下游服务的线程上下文中。
6.根据权利要求1所述的压测方法,其特征在于,所述将所述请求消息所产生的压测流量保存至影子表中,包括:
在将所述压测流量对应的染色数据进行保存之前,将sql执行语句的表名修改为影子表名,以将所述染色数据保存至影子表中。
7.根据权利要求6所述的压测方法,其特征在于,所述方法还包括:
调用缓存数据时,判断当前线程对应的数据是否含有染色标记;
若有,则在key值参数上添加设定字符串,以区分染色数据和生产数据。
8.一种压测装置,其特征在于,所述装置包括:
消息接收模块,用于接收客户端发送的请求消息;
标记获取模块,用于通过预先设置的拦截位点进行拦截所述请求消息并从所述请求消息中获取带有染色标记的至少一条请求消息;
染色标记传递模块,用于在将所述请求消息在跨线程和/或跨进程执行并生成压测流量过程中,将所述染色标记进行相应传递;
存储模块,用于将所述请求消息所产生的压测流量保存至影子表中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京百家科技集团有限公司,未经北京百家科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011159880.9/1.html,转载请声明来源钻瓜专利网。





