掌桥专利:专业的专利平台
掌桥专利
首页

源码动态测试中基于环检测的数据流采集方法及系统

文献发布时间:2023-06-19 19:30:30


源码动态测试中基于环检测的数据流采集方法及系统

技术领域

本发明涉及数据流处理技术领域,具体地,涉及一种源码动态测试中基于环检测的数据流采集方法及系统。

背景技术

目前众多有关数据或数据流处理压缩方面的技术,基本都是针对流媒体或通用性的压缩算法,使用的方法过于复杂或者面向特定应用场景的数据源分析。这些方法都不适用源码动态测试应用中的采集的数据源,源码动态测试中的数据源主要是在源码控制流图中插装的标记点信息,这些标记点信息将会在被测试源码长时间执行过程中实时向采集系统设备按照一定的时序输出,这些数据量大,且存在大量的重复的数据片。

专利文献为CN201811029895.6的发明专利公开了一种基于帧间相关性的流媒体视频压缩方法,包括:基于双向预测的视频压缩感知编码;过程如下:在视频编码端引入了视频前后帧间相关性和帧内相关性,以此为非参考帧的块图像分配合理的采样率;首先使用同一投影矩阵获取参考帧与非参考帧相应图像块的测量向量,根据其能量差值数值将图像块分成三种类型:基本不变块、缓慢变化块和快速变化块;其次利用帧内相关性对初步分类的结果进行校正;之后得到最终的分类结果,为不同类型的图像块分配不同的采样率进行采样处理,自适应地调整当前图像块的测量向量点数,得到测量向量。

专利文献为CN202211018311.1的发明专利公开了一种基于大数据的数据跨进程压缩存储方法及系统,解决了现有跨进程数据传输方法无法对对象数据进行优先级确定,并基于优先级先后进行压缩传输,增加了跨进程数据传输方法负载的问题;所述方法包括:获取待压缩任务集,加载目标压缩任务集,确定模型对压缩队列中的目标压缩任务集的优先顺序,形成排序压缩队列,通过至少一组服务进程对排序压缩队列进行压缩处理,得到压缩存储后的数据集;通过优先级确定模型对压缩队列中的目标压缩任务集的优先顺序,形成排序压缩队列,基于不同数据采集终端的优先级来处理数据,提高了数据压缩和存储的效率。

上述两项方案过于复杂且不适合源码动态测试应用中的采集的数据源。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种源码动态测试中基于环检测的数据流采集方法及系统。

根据本发明提供的一种源码动态测试中基于环检测的数据流采集方法,包括如下步骤:

步骤S1:从目标机采集数据流,所述数据流是由源码动态测试过程中被测试程序输出的标记点序列数据;

步骤S2:基于环特征实时检测新采集到的数据流,识别出循环体数据和循环次数;

步骤S3:处理冗余的循环体数据,记录有效的数据流到本地内存。

优选地,所述标记点基于被测试源代码的控制流程图插装完成。

优选地,所述步骤S2包括:

步骤S201:判断数据D

步骤S202:判断后续数据D

若条件二满足则开启循环,初始化当前循环开始位置和循环次数;

步骤S203:开启循环后,对后续数据D

步骤S204:若数据D

优选地,所述步骤S3包括:

步骤S301:在非循环开启状态下,记录数据流到本地内存;

步骤S302:在循环开启状态下,当前循环次数为0时,循环开始位置数据不记录到本地内存;

步骤S303:在进入循环模式下,若后续位置数据通过循环判定,该数据仍在循环中不记录到本地内存;否则为不通过循环判定,进入非循环开启状态,将循环次数和累计的非循环数据记录到本地内存,继续进入步骤S301。

优选地,采集结束前,若在循环模式下,则将循环次数和累计的非完整环数据记录到本地内存。

根据本发明提供的一种源码动态测试中基于环检测的数据流采集系统,包括如下模块:

数据采集模块:从目标机采集数据流,所述数据流是由源码动态测试过程中被测试程序输出的标记点序列数据;

数据识别模块:基于环特征实时检测新采集到的数据流,识别出循环体数据和循环次数;

数据处理模块:处理冗余的循环体数据,记录有效的数据流到本地内存。

优选地,所述标记点基于被测试源代码的控制流程图插装完成。

优选地,所述数据识别模块包括:

初始判断模块:判断数据D

循环开启判断模块:判断后续数据D

若条件二满足则开启循环,初始化当前循环开始位置和循环次数;

循环检测判定模块:开启循环后,对后续数据D

循环更新模块:若数据D

优选地,所述数据处理模块包括:

在非循环开启状态下,记录数据流到本地内存;

在循环开启状态下,当前循环次数为0时,循环开始位置数据不记录到本地内存;

在进入循环模式下,若后续位置数据通过循环判定,该数据仍在循环中不记录到本地内存;否则为不通过循环判定,进入非循环开启状态,将循环次数和累计的非循环数据记录到本地内存。

优选地,采集结束前,若在循环模式下,则将循环次数和累计的非完整环数据记录到本地内存。

与现有技术相比,本发明具有如下的有益效果:

本发明通过采用环检测的数据流采集系统及方法,在保留数据流的时序特征前提下,解决了内存和磁盘资源受限的情况下提升采集系统的采集时间,提高特殊场景下对大数据采集的工程应用能力。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为源码动态测试中基于环检测的数据流采集方法步骤流程图。

图2为源码动态测试中基于环检测的数据流采集方法的识别循环体数据和循环次数流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

如图1和2所示,根据本发明提供的一种源码动态测试中基于环检测的数据流采集方法及系统,所述方法包括步骤S1:从目标机采集数据流,所述数据流是由源码动态测试过程中被测试程序输出的标记点序列数据;所述标记点基于被测试源代码的控制流程图插装完成。步骤S2:基于环特征实时检测新采集到的数据流,识别出循环体数据和循环次数;具体包括:步骤S201:判断数据D

本发明还提供一种源码动态测试中基于环检测的数据流采集系统,包括数据采集模块:从目标机采集数据流,所述数据流是由源码动态测试过程中被测试程序输出的标记点序列数据;所述标记点基于被测试源代码的控制流程图插装完成。数据识别模块:基于环特征实时检测新采集到的数据流,识别出循环体数据和循环次数;数据处理模块:处理冗余的循环体数据,记录有效的数据流到本地内存。

所述数据识别模块包括:初始判断模块:判断数据D

所述数据处理模块包括:在非循环开启状态下,记录数据流到本地内存;在循环开启状态下,当前循环次数为0时,循环开始位置数据不记录到本地内存;在进入循环模式下,若后续位置数据通过循环判定,该数据仍在循环中不记录到本地内存;否则为不通过循环判定,进入非循环开启状态,将循环次数和累计的非循环数据记录到本地内存。采集结束前,若在循环模式下,则将循环次数和累计的非完整环数据记录到本地内存。

更为详细的说明,根据本发明提供的源码动态测试中基于环检测的数据流采集方法,包括步骤1:采集系统从目标机采集的数据流[D

具体的,所述步骤2包括以下步骤:

步骤S201:判定数据D

步骤S202:若后续D

步骤S203:开启循环后,对后续数据D

步骤S204:若条件三数据D

举例说明:

所述步骤3包括以下步骤:

步骤S301:在非循环开启状态下,记录数据流到本地内存。

步骤S302:在循环开启状态下,当前循环次数为0时循环开始位置数据不记录到本地内存。

步骤S303:在进入循环模式下,若后续位置数据通过循环判定,该数据仍在循环中不记录到本地内存,否则为不通过循环判定进入非循环开启状态,将循环次数和累计的非循环数据记录到本地内存,继续进入步骤S301。

步骤S304:采集系统采集结束前,若在循环模式下,则将循环次数和累计的非完整环数据记录到本地内存。

本发明在源码动态测试的数据采集过程中,采用环检测算法检测采集系统缓冲中的数据流,在保留数据流的时序特征前提下,对大数据流采集的无损压缩新思路。该技术方法简单、高效、适用,在针对长时间采集的工程应用中产生的大数据流可极大压缩数据流量,非常适合在内存和磁盘资源受限下提升高速采集系统的采集有效数据量和采集时间。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 一种基于多种信号采集的蓄电池组在线检测系统及其检测方法
  • 一种基于电信号采集的风力发电机机械故障检测系统及其检测方法
  • 一种基于窄带物联网的动环信息采集系统及方法
  • 基于库源码和客户源码挖掘的API误用检测方法及系统
  • 环境传感器的采集数据流中连续异常检测的抽样高斯过程回归模型方法
技术分类

06120115934409