[发明专利]流量回放方法和系统在审
| 申请号: | 202010444014.8 | 申请日: | 2020-05-22 |
| 公开(公告)号: | CN111625452A | 公开(公告)日: | 2020-09-04 |
| 发明(设计)人: | 沈佳伟;贾艳祥 | 申请(专利权)人: | 上海哔哩哔哩科技有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;H04L12/26 |
| 代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇;邓小玲 |
| 地址: | 200433 上海市*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 流量 回放 方法 系统 | ||
1.一种流量回放方法,其特征在于,所述方法包括:
录制目标服务的数据流量以得到录制流量;其中,所述录制流量包括多个调用链路对应的多组调用链路数据,每组调用链路数据包括相应的调用链路中的多个调用事件对应的多组调用数据;及
将所述录制流量推送至回放计算机设备,以通过所述回放计算机设备将所述录制流量用于流量回放。
2.根据权利要求1所述的流量回放方法,其特征在于,每组调用数据包括:
(1)相应的调用事件中的交互数据;
(2)调用链路标识Trace,用于表示所述相应的调用事件所对应的调用链路;
(3)调用编号Index,用于表示所述相应的调用事件在所述对应的调用链路中的调用顺序;
(4)调用链路入口数据,用于表示所述相应的调用事件的调用入口。
3.根据权利要求1所述的流量回放方法,其特征在于,录制目标服务的数据流量以得到录制流量,包括:
获取每个调用链路中各个调用事件对应的调用编号,包括:
通过Trace传递组件获取计数器并通过所述计数器进行计数操作;及
根据计数结果确定各个调用事件的调用编号;其中,所述计数器为基于Trace的计数器并被预先存储在全局ConcurrentHashMap中。
4.根据权利要求1所述的流量回放方法,其特征在于,录制目标服务的数据流量以得到录制流量,包括:
根据调用入口,将AOP代理拦截器注入到所述目标服务中;及
通过所述AOP代理拦截器进行AOP拦截操作,以获取所述目标服务在各个调用事件中的交互数据。
5.根据权利要求4所述的流量回放方法,其特征在于,所述调用入口包括DB入口、Redis入口和Feign入口。
6.根据权利要求4所述的流量回放方法,其特征在于,所述AOP代理拦截器为继承JVMSandbox并用于流量录制的增强代码。
7.根据权利要求1所述的流量回放方法,其特征在于,每组调用数据是经过JSON序列化得到的包括元数据的字符串。
8.根据权利要求1所述的流量回放方法,其特征在于,将所述录制流量推送至回放计算机设备,包括:
通过限容队列将所述录制流量转发至Kafka中,以便所述Kafka推送所述录制流量至所述回放计算机设备中。
9.一种流量回放系统,其特征在于,包括:
录制模块,用于录制目标服务的数据流量以得到录制流量;其中,所述录制流量包括多个调用链路对应的多组调用链路数据,每组调用链路数据包括相应的调用链路中的多个调用事件对应的多组调用数据;及
推送模块,用于将所述录制流量推送至回放计算机设备,以通过所述回放计算机设备将所述录制流量用于流量回放。
10.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~8中任一项所述方法的步骤。
12.一种用于回归测试的流量录制方法,其特征在于,所述方法包括:
基于录制流量,对目标服务进行流量回放操作;
其中,所述录制流量是在生产环境下预先录制得到的,所述录制流量包括多个调用链路对应的多组调用链路数据,每组调用链路数据包括相应的调用链路中的多个调用事件对应的多组调用数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海哔哩哔哩科技有限公司,未经上海哔哩哔哩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010444014.8/1.html,转载请声明来源钻瓜专利网。





