数据处理方法、装置、设备及存储介质制造方法及图纸

技术编号:36688687 阅读:11 留言:0更新日期:2023-02-27 19:54
本申请提供一种数据处理方法、装置、设备及存储介质,涉及计算机技术领域。该方法包括:获取目标软件源码被运行后的IR控制流图和IR控制流图中函数的执行频率,根据该IR控制流图中的基本块信息和函数的执行频率,生成以追踪函数集合为自变量的目标优化函数和该目标优化函数的约束条件,基于该约束条件,利用最大最小蚁群系统(Max

【技术实现步骤摘要】
数据处理方法、装置、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种数据处理方法、装置、设备及存储介质。

技术介绍

[0002]随着计算机技术的快速发展,软件系统的规模越来越大,软件系统的处理逻辑越来越复杂。为了保证系统稳定性,可以依赖系统日志作为故障诊断的分析依据,而若系统日志未记录有效错误信息,则会影响故障诊断效率,从而可能造成巨大经济损失。
[0003]由于动态追踪作为一种获取软件运行过程的技术,可以在不停止目标软件运行的情况下,自定义获取更细粒度的软件运行信息。因而,函数级动态追踪方法是对目标软件进行故障诊断的一种常用方式。该方法通过对目标软件中所定义的所有函数进行动态追踪,并构建函数调用树,通过比较运行时构建的函数调用树与正常状态下收集的函数调用树是否一致来确定目标软件是否发生故障。若是,则通过先序遍历的方式找到第一个不同的函数,并将其确定为故障函数。该方法的追踪精度高,但存在追踪成本高、追踪时间长的问题,影响了系统性能。

技术实现思路

[0004]本申请提供一种数据处理方法、装置、设备及存储介质,以兼顾函数追踪时的追踪精度、追踪成本和追踪时长,降低对系统性能的影响。
[0005]第一方面,本申请提供一种数据处理方法,包括:
[0006]获取目标软件源码的中间表示IR控制流图以及所述IR控制流图中函数的执行频率,所述函数覆盖所述IR控制流图中的至少一个基本块;
[0007]根据所述IR控制流图中的基本块信息和所述函数的执行频率,生成以追踪函数集合为自变量的目标优化函数和所述目标优化函数的约束条件;
[0008]基于所述约束条件,利用最大最小蚁群系统MMAS算法对所述目标优化函数进行求解,得到所述IR控制流图中的目标追踪函数集合。
[0009]第二方面,本申请提供一种数据处理装置,包括:
[0010]获取模块,用于获取目标软件源码的中间表示IR控制流图以及所述IR控制流图中函数的执行频率,所述函数覆盖所述IR控制流图中的至少一个基本块;
[0011]生成模块,用于根据所述IR控制流图中的基本块信息和所述函数的执行频率,生成以追踪函数集合为自变量的目标优化函数和所述目标优化函数的约束条件;
[0012]处理模块,用于基于所述约束条件,利用最大最小蚁群系统MMAS算法对所述目标优化函数进行求解,得到所述IR控制流图中的目标追踪函数集合。
[0013]第三方面,本申请提供了一种电子设备,包括处理器,该处理器用于调用计算机程序(也可以称为代码,或指令),以使得该电子设备实现如第一方面所述的方法。
[0014]第四方面,本申请提供了一种计算机可读存储介质,包括计算机程序,当所述计算
机程序被处理器执行时,使得所述处理器执行如第一方面所述的方法。
[0015]第五方面,本申请提供了一种计算机程序产品,包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被处理器运行时,使得所述处理器执行第一方面所述的方法。
[0016]在本申请实施例中,通过获取目标软件源码被运行后的IR控制流图和IR控制流图中函数的执行频率,根据该IR控制流图中的基本块信息和函数的执行频率,生成以追踪函数集合为自变量的目标优化函数和该目标优化函数的约束条件,最后基于该约束条件,利用最大最小蚁群系统(Max

Min Ant System,MMAS)算法对目标优化函数进行求解,得到该IR控制流图中的目标追踪函数集合。该技术方案中,利用MMAS算法求解目标优化函数得到的目标追踪函数集合,可以在满足约束条件的情况下,尽可能提高追踪精度、降低追踪成本和追踪时长,以减少对系统性能的影响。
附图说明
[0017]图1为本申请实施例适用的一种应用场景示意图;
[0018]图2为本申请第一实施例提供的数据处理方法的流程示意图;
[0019]图3为IR控制流图的一种示意图;
[0020]图4为本申请第二实施例提供的数据处理方法的流程示意图;
[0021]图5为本申请第三实施例提供的数据处理方法的流程示意图;
[0022]图6为本申请第四实施例提供的数据处理方法的流程示意图;
[0023]图7为本申请实施例提供的数据处理装置的示意性框图;
[0024]图8为本申请实施例提供的电子设备的示意性框图。
具体实施方式
[0025]使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
[0026]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0027]在本申请实施例中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”以及任何变形,意图在于覆盖不排他的包含。
[0028]下面先对本申请实施例涉及到的相关术语进行简单解释。
[0029]1、动态追踪:一种可以在不停止目标软件正常运行情况下,自定义收集软件运行状态信息的技术。
[0030]2、中间表示(Intermediate Representation,IR):源码被编译器运行时,从源码到生成目标代码之间的中间表现形式。
[0031]3、基本块:程序被顺序执行后的语句序列,只有一个入口和一个出口,入口就是基本块的第一个语句,出口是基本块的最后一个语句。对一个基本块来说,执行时只从基本块
的入口进入,从基本块的出口退出。
[0032]4、控制流图(Control Flow Graph,CFG):是一个过程或程序的抽象表现,是用在编译器中的一个抽象数据结构,由编译器在内部维护,代表了一个程序执行过程中会遍历到的所有路径。它用图的形式表示一个过程内所有基本块的可能流向,也能反映一个过程的实时执行过程。
[0033]5、蚁群系统:模仿蚁群行为的非确定性多项式(Non

deterministic Polynomial,NP)问题求解系统。
[0034]随着计算机技术的快速发展,软件系统的规模越来越大,软件系统的处理逻辑越来越复杂,而人们对计算机系统的可靠性要求越来越高。因而,如何及时发现系统的故障并进行诊断是提高系统可靠性的关键。
[0035]现阶段,对于故障诊断,日志是最常用的分析依据,一旦系统出现问题,运维人员一般会第一时间查看系统日志,然后人工或使用工具进行诊断故障。但由于日志是开发人员主观设计的,运行过程中不易被动态更改,若日志未能记录有效错误信息或日志中不存在错误信息,则会影响故障诊断效率,可能造成巨大经济损失。
[0036]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取目标软件源码的中间表示IR控制流图以及所述IR控制流图中函数的执行频率,所述函数覆盖所述IR控制流图中的至少一个基本块;根据所述IR控制流图中的基本块信息和所述函数的执行频率,生成以追踪函数集合为自变量的目标优化函数和所述目标优化函数的约束条件;基于所述约束条件,利用最大最小蚁群系统MMAS算法对所述目标优化函数进行求解,得到所述IR控制流图中的目标追踪函数集合。2.如权利要求1所述的方法,其特征在于,所述基于所述约束条件,利用最大最小蚁群系统MMAS算法对所述目标优化函数进行求解,得到所述IR控制流图中的目标追踪函数集合,包括:基于所述IR控制流图中的基本块信息和所述目标优化函数,确定以所述MMAS算法表示的函数信息素增量公式;根据所述函数信息素增量公式和相邻迭代轮次间的函数信息素关系,确定函数信息素公式;根据所述IR控制流图中函数的执行频率,确定启发函数公式;将所述函数信息素公式和所述启发函数公式代入以所述MMAS算法定义的概率公式,得到函数选择概率公式;基于函数信息素的预置取值区间,使用所述函数选择概率公式,从所述IR控制流图包括的函数集合中,选择满足所述约束条件的目标追踪函数集合。3.如权利要求2所述的方法,其特征在于,所述基于函数信息素的预置取值区间,使用所述函数选择概率公式,从所述IR控制流图包括的函数集合中,选择满足所述约束条件的目标追踪函数集合,包括:在所述MMAS算法的第t个迭代轮次中,基于所述约束条件,利用所述函数选择概率公式,执行H次函数选择过程,得到第t候选函数集合;其中,t为大于0且小于或等于T的整数,T等于所述MMAS算法中定义的迭代轮次,H等于所述MMAS算法中定义的蚂蚁数量;根据所述函数信息素公式和所述函数信息素增量公式,更新所述第t个迭代轮次中的第t函数信息素增量值和第t函数信息素取值,所述第t函数信息素增量值和所述第t函数信息素取值用于在第t+1个迭代轮次中确定函数信息素;在所述MMAS算法被执行T个迭代轮次时,根据所述目标优化函数和在第T个迭代轮次中确定的第T候选函数集合,确定满足所述预置取值区间的目标追踪函数集合。4.如权利要求3所述的方法,其特征在于,所述基于所述约束条件,利用所述函数选择概率公式,执行H次函数选择过程,得到第t候选函数集合,包括:在第h次函数选择过程中,确定所述IR控制流图中的已选函数集合和未选函数集合,h为大于0且小于或等于H的整数;在所述已选函数集合所包括函数的第一权重总值小于所述权重阈值时,利用所述函数选择概率公式,从所述未选函数集合中选择第一函数;响应于所述第一函数的权重值和所述第一权重总值之和小于或等于所述权重阈值,将所述第一函数添加至所述已选函数集合,得到更新函数集合;确定以所述已选函数集合为追踪对象时的第一函数取值是否小于以所述更新函数集
合为追踪对象时的第二函数取值;响应于所述第二函数取值小于所述第一函数取值,则利用所述更新函数集合更新所述已选函数集合;将执行H次函数选择过程后得到的已选函数集合,确定为所述第t候选函数集合。5.如权利要求3所述的方法,其特征在于,所述在所述MMAS算法被执行T个迭代轮次时,根据所述目标优化函数和在第T个迭代轮次中确定的第T候选函数集合,确定满足所述预...

【专利技术属性】
技术研发人员:胡玉溪
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1