一种基于矢量生成算法的可观测性数据生成方法及系统技术方案

技术编号:37395137 阅读:17 留言:0更新日期:2023-04-27 07:32
本发明专利技术提供一种基于矢量生成算法的可观测性数据生成方法及系统,所述方法包括:将用户对矢量化数据特征的描述进行解析,通过命令行终端调用矢量描述文件;根据矢量描述文件应用矢量生成算法,构建特征矩阵;根据用户对矢量化数据特征的描述,对特征矩阵进行二次变换,得到可观测性测试数据集;将可观测性测试数据集输出至用户。本发明专利技术使得可观测性数据的特征可被形式化定义,可被计算机处理,提高了可观测性数据的生成效率;可观测性数据的生成更加全面;可根据应用场景的不同对可观测性数据的特征进行二次变换,使得可观测性数据的生成更加贴近使用场景;可将可观测性数据的特征矩阵输出为可观测性测试数据集,使得可观测性数据的生成更加方便。数据的生成更加方便。数据的生成更加方便。

【技术实现步骤摘要】
一种基于矢量生成算法的可观测性数据生成方法及系统


[0001]本专利技术涉及可观测性数据的软件测试
,具体而言,涉及一种基于矢量生成算法的可观测性数据生成方法及系统。

技术介绍

[0002]模糊测试(Fuzzing)是指通过对软件系统进行随机的输入,从而发现软件系统的缺陷的测试,模糊测试的目的是为了发现软件系统的缺陷,而不是为了评估软件系统的性能。矩阵生成算法是指通过对矩阵的行列进行变换,从而生成新的矩阵的算法,矩阵生成算法的应用场景包括:数据生成、数据加工、数据分析等。可观测性数据是指日志、指标、追踪、事件等数据,这些数据可以用于对软件系统进行监控、分析、告警等操作。可观测性数据生成是指通过对可观测性数据特征的加工,从而生成新的可观测性数据的过程。
[0003]目前,常见的传统的可观测性测试数据生成的方法包括:预定义函数生成方法,基于编译器的模糊注入方法等。
[0004]然而,现有的可观测性测试数据生成方法存在以下技术缺陷:
[0005]1.预定义函数生成方法的缺点是需要手动编写预定义的随机生成函数,生成数据的质量严重依赖于编写者的经验知识,无法充分填充数据以满足测试的覆盖率要求。例如:难以周延地生成各种数据类型、格式、长度和内容的数据。
[0006]2.基于编译器的模糊注入方法,例如libFuzzer等,往往是基于编译器的信息,去穷举代码的所有可能得分支路径,注入不同的输入。缺点是:以覆盖代码所有可能分支路径为目标,而不会去根据数据特征去周延地生成所有可能的数据。这种方法往往适用于测试代码某个分支路径是否存在严重的异常,属于白盒测试的一部分。而可观测性系统的目的是为了在各种数据输入下都能够达到预期的可观测性效果,而不是为了测试代码的分支路径是否存在异常。因此,该方法不适用于可观测性系统的黑盒测试。

技术实现思路

[0007]鉴于此,本专利技术的目的在于提出一种可观测性数据生成方法及系统,通过对可观测性数据特征进行加工,生成新的可观测性数据,以矢量化地描述数据特征,将数据特征与具体的被测程序解耦,使可观测性数据处理程序的黑盒测试成为可能;基于特征矢量,周延地生成满足所有数据特征排列组合的可观测性数据集,从而满足可观测性数据处理程序的测试覆盖率要求。
[0008]本专利技术提供一种基于矢量生成算法的可观测性数据生成方法,包括以下步骤:
[0009]S1、将用户对矢量化数据特征的描述进行解析,通过命令行终端调用矢量描述文件;
[0010]S2、根据所述矢量描述文件应用矢量生成算法,构建特征矩阵;
[0011]S3、根据用户对矢量化数据特征的描述,对所述特征矩阵应用矩阵变换算法进行二次变换,得到可观测性测试数据集;
[0012]S4、将所述可观测性测试数据集输出至用户。
[0013]进一步地,所述S2步骤的所述矢量生成算法包括:
[0014]笛卡尔积算法、随机算法中的一种或两种的组合。
[0015]本专利技术的两个典型的预置矢量生成算法是笛卡尔积算法、随机算法;
[0016]进一步地,所述S2步骤的应用矢量生成算法,构建特征矩阵的方法包括:
[0017]根据所述矢量描述文件,将所有特征矢量的取值进行笛卡尔积,得到特征矩阵。
[0018]进一步地,所述S2步骤的应用矢量生成算法,构建特征矩阵的方法包括:
[0019]根据所述矢量描述文件,将所有特征矢量的取值进行随机抽样,得到特征矩阵。
[0020]进一步地,所述S3步骤的对所述特征矩阵应用矩阵变换算法进行二次变换的方法包括:
[0021]数据类型转换、数据格式转换、数据值转换、数据值过滤、数据值排序、数据值去重、数据值合并中的一种或多种的组合。
[0022]本专利技术的一个典型的预置矩阵变换算法是等价类合并算法,可以将特征矩阵中的等价类数据值合并为一个等价类值;
[0023]进一步地,所述S4步骤的将所述可观测性测试数据集输出至用户的输出格式包括:
[0024]Line Protocol、JSON、Protocol Buffers中的一种或多种的组合。
[0025]本专利技术还提供一种基于矢量生成算法的可观测性数据生成系统,应用上述所述的基于矢量生成算法的可观测性数据生成方法,包括:
[0026]矢量描述模块:用于将用户对矢量化数据特征的描述进行解析,通过命令行终端调用矢量描述文件;
[0027]生成算法模块:用于根据所述矢量描述文件应用矢量生成算法,构建特征矩阵;
[0028]矩阵变换模块:用于根据用户对矢量化数据特征的描述,对所述特征矩阵应用矩阵变换算法进行二次变换,得到可观测性测试数据集;
[0029]数据输出模块:用于将所述可观测性测试数据集输出至用户。
[0030]本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述所述基于矢量生成算法的可观测性数据生成方法的步骤。
[0031]本专利技术还提供一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述基于矢量生成算法的可观测性数据生成方法的步骤。
[0032]与现有技术相比,本专利技术的有益效果是:
[0033]本专利技术将可观测性数据的特征矢量化描述,使得可观测性数据的特征可被形式化定义,使得可观测性数据的特征可被计算机处理,避免了人工编写可观测性数据和随机函数的缺点,提高了可观测性数据的生成效率;可根据可观测性数据的特征,周延地生成满足所有数据特征排列组合的可观测性数据集,使得可观测性数据的生成更加全面;可根据应用场景的不同对可观测性数据的特征进行二次变换,使得可观测性数据的生成更加贴近使用场景;可将可观测性数据的特征矩阵输出为可观测性测试数据集,使得可观测性数据的生成更加方便。
附图说明
[0034]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术用户员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。
[0035]在附图中:
[0036]图1是本专利技术一种基于矢量生成算法的可观测性数据生成方法的流程图;
[0037]图2是本专利技术实施例计算机设备的构成架构图;
[0038]图3是本专利技术实施例可观测性测试数据数据生成的时序示意图。
具体实施方式
[0039]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0040]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于矢量生成算法的可观测性数据生成方法,其特征在于,包括以下步骤:S1、将用户对矢量化数据特征的描述进行解析,通过命令行终端调用矢量描述文件;S2、根据所述矢量描述文件应用矢量生成算法,构建特征矩阵;S3、根据用户对矢量化数据特征的描述,对所述特征矩阵应用矩阵变换算法进行二次变换,得到可观测性测试数据集;S4、将所述可观测性测试数据集输出至用户。2.根据权利要求1所述的基于矢量生成算法的可观测性数据生成方法,其特征在于,所述S2步骤的所述矢量生成算法包括:笛卡尔积算法、随机算法中的一种或两种的组合。3.根据权利要求2所述的基于矢量生成算法的可观测性数据生成方法,其特征在于,所述S2步骤的应用矢量生成算法,构建特征矩阵的方法包括:根据所述矢量描述文件,将所有特征矢量的取值进行笛卡尔积,得到特征矩阵。4.根据权利要求2所述的基于矢量生成算法的可观测性数据生成方法,其特征在于,所述S2步骤的应用矢量生成算法,构建特征矩阵的方法包括:根据所述矢量描述文件,将所有特征矢量的取值进行随机抽样,得到特征矩阵。5.根据权利要求1所述的基于矢量生成算法的可观测性数据生成方法,其特征在于,所述S3步骤的对所述特征矩阵应用矩阵变换算法进行二次变换的方法包括:数据类型转换、数据格式转换、数据值转换、数据值过滤、数据值排序、数据值去重、数据值合并中的一种或多种的组合...

【专利技术属性】
技术研发人员:李宇飞谭彪蒋烁淼
申请(专利权)人:上海观测未来信息技术有限公司
类型:发明
国别省市:

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

1