基于深度强化学习的软件重构方法技术

技术编号:39046245 阅读:16 留言:0更新日期:2023-10-10 11:59
本发明专利技术提供了基于深度强化学习的软件重构方法,其对软件运行过程进行监测,从软件本身和软件所在的硬件设备两方面对软件的运行实况进行分析,对软件的算法架构平台的每个算法模块进行运行状态正常与否的判断,并对相应的算法模块的算法进行深度学习训练重构,降低对软件的检验工作量,提高对软件整体修正重构的可靠性和准确性。的可靠性和准确性。的可靠性和准确性。

【技术实现步骤摘要】
基于深度强化学习的软件重构方法


[0001]本专利技术涉及信息处理的
,特别涉及基于深度强化学习的软件重构方法。

技术介绍

[0002]软件的运行是通过其内部算法架构平台中分别包含不同算法的算法模块相互协同工作,才能实现软件的正常运行。现有的软件都是将不同算法模块集成封装在一起,虽然这样能够保证软件整体运行的稳定性,但是当软件发生运行错误时,需要逐一对所有算法模型进行检验,这增加了对软件的检验工作量,并且无法对相应的算法模型进行有效的修正,从而降低了软件整体修正重构的可靠性和准确性。

技术实现思路

[0003]针对现有技术存在的缺陷,本专利技术提供基于深度强化学习的软件重构方法,其通过监测软件运行过程,获得软件自身和硬件终端各自对应的运行实况信息,以此得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息;根据上述两种信息,分别确定算法架构平台中处于执行错误状态或处于运算死循环状态的算法模块;再从相应算法模型中调取其包含的算法,利用预设深度学习模型对调取的算法进行训练重构,并将完成训练重构的算法返回到相应的算法模块中;上述方法先对软件运行过程进行监测,从软件本身和软件所在的硬件设备两方面对软件的运行实况进行分析,对软件的算法架构平台的每个算法模块进行运行状态正常与否的判断,并对相应的算法模块的算法进行深度学习训练重构,降低对软件的检验工作量,提高对软件整体修正重构的可靠性和准确性。
[0004]本专利技术提供基于深度强化学习的软件重构方法,其包括如下步骤:
[0005]步骤S1,对软件运行过程进行监测,获取软件运行实况信息和软件所对应的硬件终端的终端运行实况信息;对所述软件运行实况信息和所述终端运行实况信息进行分析处理,得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息;
[0006]步骤S2,根据所述数据流处理信息,得到软件在运行过程中自身算法架构平台的算法执行结果信息;根据所述算法执行结果信息,确定所述算法架构平台中处于执行错误状态的算法模块;
[0007]步骤S3,根据所述终端数据处理负荷信息,得到软件在运行过程中自身算法架构平台的每个算法模块的执行算法的数据运算流量信息;根据所述数据运算流量信息,确定所述算法架构平台的每个算法模块是否处于运算死循环状态;
[0008]步骤S4,当所述算法模块处于执行错误状态或运算死循环状态,则从所述算法模块中调取相应的算法;并将调取的算法传输到预设深度学习模型中进行训练重构,直到调取的算法完成训练重构后,再返回到所述算法模块。
[0009]进一步,在所述步骤S1中,对软件运行过程进行监测,获取软件运行实况信息和软件所对应的硬件终端的终端运行实况信息具体包括:
[0010]当用户在硬件终端中发起软件运行触发指令后,根据所述软件运行触发指令的软
件标记,指示对应的软件进入运行状态;其中,所述软件标记是指软件在硬件终端的系统中的安装位置;
[0011]在硬件终端的后台对处于运行状态的软件进行监测,获取软件在运行过程中的软件运行日志信息和硬件终端的终端内存占用率与上传/下载信息,以此分别作为所述软件运行实况信息和所述终端运行实况信息。
[0012]进一步,在所述步骤S1中,对所述软件运行实况信息和所述终端运行实况信息进行分析处理,得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息具体包括:
[0013]对所述软件运行日志信息进行分析处理,从中提取得到软件在运行过程中其自身算法架构平台的所有算法模块各自的输入数据和输出数据;并根据所有算法模块相互之间在软件运行过程中的算法逻辑关系,对所有输入数据和所有输出数据进行分析处理,从而得到软件的数据流处理信息;
[0014]对所述终端内存占用率与上传/下载信息进行分析处理,从中提取得到软件在运行过程中每个算法模块在运行过程中对应的内存占用率、上传流量值和下载流量值,以此作为所述终端数据处理负荷信息。
[0015]进一步,在所述步骤S2中,根据所述数据流处理信息,得到软件在运行过程中自身算法架构平台的算法执行结果信息具体包括:
[0016]从所述数据流处理信息中提取得到软件在运行过程中自身算法架构平台的每个算法模块对应的算法执行输出结果;其中,所述算法执行输出结果是指每个算法模块对接收到的输入数据完成相应的运算环节后,得到的输出数据。
[0017]进一步,在所述步骤S2中,根据所述算法执行结果信息,确定所述算法架构平台中处于执行错误状态的算法模块具体包括:
[0018]对每个算法模块对应的输出数据进行分析处理,确定每个算法模块对应的输出数据是否存在乱码数据,若存在,则确定对应的算法模块处于执行错误状态,若不存在,则确定对应的算法模块不处于执行错误状态;并且在所述算法架构平台对处于执行错误状态的算法模块进行标识。
[0019]进一步,在所述步骤S3中,根据所述终端数据处理负荷信息,得到软件在运行过程中自身算法架构平台的每个算法模块的执行算法的数据运算流量信息具体包括:
[0020]对每个算法模块对应的内存占用率、上传流量值和下载流量值进行分析,确定每个算法模块在自身执行算法过程中的平均内存占用率、平均上传流量值和平均下载流量值,以此作为每个算法模块的执行算法的数据运算流量信息。
[0021]进一步,在所述步骤S3中,根据所述数据运算流量信息,确定所述算法架构平台的每个算法模块是否处于运算死循环状态具体包括:
[0022]若所述平均内存占用率大于或等于预设内存占用率阈值,或所述平均上传流量值大于或等于第一流量阈值,或所述平均下载流量值大于或等于第二流量阈值,则确定对应的算法模块处于运算死循环状态;否则,确定对应的算法模块不处于运算死循环状态;并且在所述算法架构平台对处于运算死循环状态的算法模块进行标识。
[0023]进一步,在所述步骤S4中,当所述算法模块处于执行错误状态或运算死循环状态,则从所述算法模块中调取相应的算法;并将调取的算法传输到预设深度学习模型中进行训练重构,直到调取的算法完成训练重构后,再返回到所述算法模块具体包括:
[0024]根据在所述算法架构平台对处于执行错误状态或运算死循环状态的算法模块的标识结果,调取相应算法模块包含的算法;将调取的算法传输到预设深度学习模型中进行训练,根据训练结果,确定调取的算法存在的算法缺陷,并对所述算法缺陷进行重构处理;再将完成训练重构的算法返回到所述算法模型。
[0025]相比于现有技术,该基于深度强化学习的软件重构方法通过监测软件运行过程,获得软件自身和硬件终端各自对应的运行实况信息,以此得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息;根据上述两种信息,分别确定算法架构平台中处于执行错误状态或处于运算死循环状态的算法模块;再从相应算法模型中调取其包含的算法,利用预设深度学习模型对调取的算法进行训练重构,并将完成训练重构的算法返回到相应的算法模块中;上述方法先对软件运行过程进行监测,从软件本身和软件所在的硬件设备两方面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于深度强化学习的软件重构方法,其特征在于,其包括如下步骤:步骤S1,对软件运行过程进行监测,获取软件运行实况信息和软件所对应的硬件终端的终端运行实况信息;对所述软件运行实况信息和所述终端运行实况信息进行分析处理,得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息;步骤S2,根据所述数据流处理信息,得到软件在运行过程中自身算法架构平台的算法执行结果信息;根据所述算法执行结果信息,确定所述算法架构平台中处于执行错误状态的算法模块;步骤S3,根据所述终端数据处理负荷信息,得到软件在运行过程中自身算法架构平台的每个算法模块的执行算法的数据运算流量信息;根据所述数据运算流量信息,确定所述算法架构平台的每个算法模块是否处于运算死循环状态;步骤S4,当所述算法模块处于执行错误状态或运算死循环状态,则从所述算法模块中调取相应的算法;并将调取的算法传输到预设深度学习模型中进行训练重构,直到调取的算法完成训练重构后,再返回到所述算法模块。2.如权利要求1所述的基于深度强化学习的软件重构方法,其特征在于:在所述步骤S1中,对软件运行过程进行监测,获取软件运行实况信息和软件所对应的硬件终端的终端运行实况信息具体包括:当用户在硬件终端中发起软件运行触发指令后,根据所述软件运行触发指令的软件标记,指示对应的软件进入运行状态;其中,所述软件标记是指软件在硬件终端的系统中的安装位置;在硬件终端的后台对处于运行状态的软件进行监测,获取软件在运行过程中的软件运行日志信息和硬件终端的终端内存占用率与上传/下载信息,以此分别作为所述软件运行实况信息和所述终端运行实况信息。3.如权利要求2所述的基于深度强化学习的软件重构方法,其特征在于:在所述步骤S1中,对所述软件运行实况信息和所述终端运行实况信息进行分析处理,得到软件的数据流处理信息和硬件终端的终端数据处理负荷信息具体包括:对所述软件运行日志信息进行分析处理,从中提取得到软件在运行过程中其自身算法架构平台的所有算法模块各自的输入数据和输出数据;并根据所有算法模块相互之间在软件运行过程中的算法逻辑关系,对所有输入数据和所有输出数据进行分析处理,从而得到软件的数据流处理信息;对所述终端内存占用率与上传/下载信息进行分析处理,从中提取得到软件在运行过程中每个算法模块在运行过程中对应的内存占用率、上传流量值和下载流量值,以此作为所述终端数据处理负荷信息。4.如权利要求3所述的基于深度强化学习的软件重构方法,其特征在于:在所述步骤S2中,根据所述数据流处理信息,...

【专利技术属性】
技术研发人员:兰雨晴余丹唐霆岳王丹星张腾怀
申请(专利权)人:慧之安信息技术股份有限公司
类型:发明
国别省市:

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

1