一种用于流量回放的数据去重方法、测试方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:30825342 阅读:14 留言:0更新日期:2021-11-18 12:20
本发明专利技术公开了一种用于流量回放的数据去重方法、测试方法、装置、计算机设备及存储介质,其中,数据去重方法包括:采集业务请求;获取业务请求的字节码信息,并提取字节码信息的特征;生成字节码信息的特征对应的特征值,特征值用于唯一表示字节码信息;利用特征值对业务请求进行去重,得到去重后的业务请求数据。本发明专利技术,由于业务请求的字节码信息能够从代码层面反应出业务请求的相关特性,直接体现出不同业务请求的区别,因此,利用该字节码信息的相关特征来对业务请求进行去重,从而达到对业务流量的精准去重。务流量的精准去重。务流量的精准去重。

【技术实现步骤摘要】
一种用于流量回放的数据去重方法、测试方法、装置、计算机设备及存储介质


[0001]本专利技术涉及软件开发和测试
,尤其涉及一种用于流量回放的数据去重方法、测试方法、装置、计算机设备及存储介质。

技术介绍

[0002]在互联网行业,海量的用户和业务体量,导致系统设计日趋复杂以及软件迭代愈发频繁,因此对软件开发和软件测试的交付质量和交付速度提出了更高的要求。对于新版本的业务系统,通常采用流量回放技术来进行测试,以提高测试覆盖度,提高交付质量;降低人工成本,提高效率。
[0003]流量回放的技术思路是通过采集线上业务系统的海量真实业务请求,在测试环境进行回放,来验证业务系统新版本代码的正确性。
[0004]然后,专利技术人发现,线上每天产生的流量是海量且大量重复的,大量重复的业务请求无法实现对待测业务系统的有效测试,因此,亟需一种能够对大量的线上系统业务请求进行去重的方案。

技术实现思路

[0005]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是现有的大量重复的业务请求无法对待测业务系统进行有效测试,影响测试效率。
[0006]为实现上述目的,本专利技术提供了一种用于流量回放的数据去重方法,包括:采集业务请求;获取所述业务请求的字节码信息,并提取所述字节码信息的特征;生成所述字节码信息的特征对应的特征值,所述特征值用于唯一表示所述字节码信息;利用所述特征值对所述业务请求进行去重,得到去重后的业务请求数据。
[0007]在本专利技术的较佳实施方式中,所述获取所述业务请求的字节码信息,包括:确定所述业务请求的编程语言类型;调用所述编程语言类型对应的映射工具,对所述业务请求进行处理,得到所述字节码信息。
[0008]在本专利技术的较佳实施方式中,所述提取所述字节码信息的特征,包括:对所述字节码信息进行解析,获得所述字节码信息对应的字节码指令集合,其中所述字节码指令集合包含有按照预设格式编辑形成的反映所述字节码信息的字段语句。
[0009]在本专利技术的较佳实施方式中,所述对所述字节码信息进行解析,获得所述字节码信息对应的字节码指令集合,包括:识别所述字节码信息中的类、方法和指令列表;按照所述业务请求的原有逻辑顺序生成由所述类、方法和指令列表组成的字节码指令集合。
[0010]在本专利技术的较佳实施方式中,所述生成所述字节码信息的特征对应的特征值,包括:对所述字节码指令集合进行哈希计算,得到所述字节码指令集合的哈希值。
[0011]在本专利技术的较佳实施方式中,所述利用所述特征值对所述业务请求进行去重,得到去重后的业务请求数据,包括:获取所述业务请求的唯一标识;将所述唯一标识与所述字
节码指令集合或者所述哈希值建立映射关系;利用所述哈希值和所述映射关系从业务请求集合中去除重复的业务请求,得到具有不同业务逻辑的业务请求集合,所述业务请求集合中包含有多条业务请求数据。
[0012]为实现上述目的,本专利技术还提供了一种业务系统的测试方法,包括:采用上述的数据去重方法获得去重后的业务请求数据;利用去重后的业务请求数据对待测业务系统进行测试。
[0013]为实现上述目的,本专利技术还提供了一种用于流量回放的数据去重装置,包括:采集模块,用于采集业务请求;获取模块,用于获取所述业务请求的字节码信息,并提取所述字节码信息的特征;生成模块,用于生成所述字节码信息的特征对应的特征值,所述特征值用于唯一表示所述字节码信息;去重模块,用于利用所述特征值对所述业务请求进行去重,得到去重后的业务请求数据。
[0014]为实现上述目的,本专利技术还提供了一种业务系统的测试装置,其特征在于,包括:上述的数据去重装置;测试模块,用于利用去重后的业务请求数据对待测业务系统进行测试。
[0015]为实现上述目的,本专利技术还提供了一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,从而执行上述的方法。
[0016]为实现上述目的,本专利技术还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行上述的用于流量回放的数据去重方法。
[0017]本专利技术提供的装置或方法具有以下技术效果:
[0018]1、通过对业务请求进行采集,然后获取该业务请求的字节码信息,并提取字节码信息的特征,生成相应的特征值,以该特征值作为去重的判断条件实现对业务数据的去重。由于业务请求的字节码信息能够从代码层面反应出业务请求的相关特性,直接体现出不同业务请求的区别,因此,利用该字节码信息的相关特征来对业务请求进行去重,从而达到对业务流量的精准去重。
[0019]2、通过采用字节码指令集合作为字节码信息的特征,能够直接反映出业务请求的特性,充分表达出业务请求的差异点,从而在进行去重时,实现精准业务请求去重。
[0020]以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。
附图说明
[0021]图1是本专利技术的一种用于流量回放的数据去重方法的一个较佳实施例的流程图;
[0022]图2是本专利技术的一种用于流量回放的数据去重装置的一个较佳实施例的结构图;
[0023]图3是本专利技术的一个实施例提供的计算机设备的内部结构图。
具体实施方式
[0024]以下通过特定的具体实例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实
施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0025]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本专利技术的基本构想,遂图示中仅显示与本专利技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0026]为了阐释的目的而描述了本专利技术的一些示例性实施例,需要理解的是,本专利技术可通过附图中没有具体示出的其他方式来实现。
[0027]在介绍本专利技术实施例之前,先介绍本专利技术实施例中相关的技术术语:
[0028]ASM,是指Java字节码操纵框架,是一个通用的Java字节码操作和分析框架。它可以用于修改现有类或直接以二进制形式动态生成类。ASM提供了一些常见的字节码转换和分析算法,可以从中构建自定义复杂转换和代码分析工具。ASM提供与其他Java字节码框架类似的功能,但专注于性能。因为它的设计和实现尽可能小而且快,所以它非常适合在动态系统中使用(但当然也可以以静态方式使用,例如在编译器中)。
[0029]字节码指令是代码逻辑的最小单位,比函数方法的粒度更小,是一个函数方法的最小逻本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于流量回放的数据去重方法,其特征在于,包括:采集业务请求;获取所述业务请求的字节码信息,并提取所述字节码信息的特征;生成所述字节码信息的特征对应的特征值,所述特征值用于唯一表示所述字节码信息;利用所述特征值对所述业务请求进行去重,得到去重后的业务请求数据。2.根据权利要求1所述的用于流量回放的数据去重方法,其特征在于,所述获取所述业务请求的字节码信息,包括:确定所述业务请求的编程语言类型;调用所述编程语言类型对应的映射工具,对所述业务请求进行处理,得到所述字节码信息。3.根据权利要求1所述的用于流量回放的数据去重方法,其特征在于,所述提取所述字节码信息的特征,包括:对所述字节码信息进行解析,获得所述字节码信息对应的字节码指令集合,其中所述字节码指令集合包含有按照预设格式编辑形成的反映所述字节码信息的字段语句。4.根据权利要求3所述的用于流量回放的数据去重方法,其特征在于,所述对所述字节码信息进行解析,获得所述字节码信息对应的字节码指令集合,包括:识别所述字节码信息中的类、方法和指令列表;按照所述业务请求的原有逻辑顺序生成由所述类、方法和指令列表组成的字节码指令集合。5.根据权利要求3所述的用于流量回放的数据去重方法,其特征在于,所述生成所述字节码信息的特征对应的特征值,包括:对所述字节码指令集合进行哈希计算,得到所述字节码指令集合的哈希值。6.根据权利要求5所述的用于流量回放的数据去重方法,其特征在于,所述利用所述特征值对所述业务请求进行去重,得到去重后的业务请求数据,包括:获取所述业务请求的唯一标识;将所述...

【专利技术属性】
技术研发人员:杨磊袁宜斌
申请(专利权)人:上海钧正网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1