程序优化方法、平台、设备和存储介质技术

技术编号:39154331 阅读:14 留言:0更新日期:2023-10-23 15:00
本发明专利技术实施例提供一种程序优化方法、平台、设备和存储介质,该方法包括:获取原始程序。然后,将原始程序段的初始性能指标输入动作预测模型,以由该模型输出针对原始程序的预测调整动作,并通过执行该动作得到调整后程序。最终,根据预测调整动作的奖励值确定原始程序的优化是否完成,也即是根据奖励值确定执行预测调整动作后是否提升原始程序的性能。上述方法中,动作预测模型能够根据原始程序的初始性能指标输出预测调整动作,该动作可以为用户提示程序的调整方向,以提高程序优化的效率。同时还可以根据该动作的奖励值确定优化后程序段的性能是否达标。程序段的性能是否达标。程序段的性能是否达标。

【技术实现步骤摘要】
程序优化方法、平台、设备和存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种程序优化方法、平台、设备和存储介质。

技术介绍

[0002]软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件具体可以通过编写程序实现,并且程序具体又可以包括多个程序段。
[0003]在实际中,在开发测试阶段、实际运行阶段偶读可以不断对程序进行优化以保证软件的性能。因此,如何实现程序优化就成为一个亟待解决的问题。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种程序优化方法、平台、设备和存储介质,用以模型输出的预测结果进行程序优化。
[0005]第一方面,本专利技术实施例提供一种程序优化方法,包括:获取原始程序;将所述原始程序的初始性能指标输入动作预测模型,以由所述动作预测模型输出针对所述原始程序的预测调整动作;根据所述预测调整动作的奖励值,确定所述原始程序是否优化完成。
[0006]第二方面,本专利技术实施例提供一种程序优化平台,包括:优化组件以及动作预测模型;所述优化组件,用于获取待优化的原始程序;确定所述动作预测模型输出的预测调整动作的奖励值;根据所述奖励值,确定所述原始程序是否优化完成;所述动作预测模型,用于接收所述优化组件输入的所述原始程序的初始性能指标;输出所述原始程序对应的所述预测调整动作。
[0007]第三方面,本专利技术实施例提供一种电子设备,包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的程序优化方法。该电子设备还可以包括通信接口,用于与其他设备或通信网络通信。
[0008]第四方面,本专利技术实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的程序优化方法。
[0009]本专利技术实施例提供的程序优化方法,获取原始程序。然后,将原始程序的初始性能指标输入动作预测模型,以由该模型输出针对原始程序的预测调整动作,并根据该动作得到调整后程序。最终,根据预测调整动作的奖励值确定原始程序的优化是否完成,也即是根据奖励值确定执行预测调整动作后是否提升原始程序的性能。
[0010]上述方法中,动作预测模型可以根据原始程序的初始性能指标输出预测调整动作,该动作可以为用户提示程序的调整方向,以提高程序优化的效率。同时还可以根据该动作的奖励值确定优化后程序段的性能是否达标。
附图说明
[0011]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本专利技术实施例提供的一种程序优化方法的流程图;图2为图1所示实施例中步骤S103的一种实现方式的流程图;图3为本专利技术实施例提供的一种程序优化平台的结构示意图;图4为本专利技术实施例提供的一种程序优化装置的结构示意图;图5为本专利技术实施例提供的一种电子设备的结构示意图。
具体实施方式
[0013]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0014]在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
[0015]应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0016]取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于识别”。类似地,取决于语境,短语“如果确定”或“如果识别(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当识别(陈述的条件或事件)时”或“响应于识别(陈述的条件或事件)”。
[0017]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
[0018]在对本专利技术下述各实施例提供的程序优化方法进行详细描述之前,还可以先以下概念进行解释:强化学习:代理通过学习环境的动态模型来预测未来状态和奖励。强化学习中涉
及到的元素包括:代理、状态、动作和奖励。
[0019]针对本专利技术下述实施例的程序优化场景,状态可以包括程序对应的性能指标。
[0020]动作可以包括修改程序的函数、表达式、语句、参数等至少一种要素,也可以包括为程序段添加注释。
[0021]代理用于根据状态预测动作。代理即为下述各实施例中的动作预测模型。
[0022]奖励值表明执行上述代理预测出的动作后程序性能改善方向,若性能提升则奖励值为正,否则为负。奖励值由奖励函数输出。
[0023]在对本专利技术下述各实施例提供的程序优化方法进行详细描述之前,还可以先对程序优化的背景进行描述:在实际中,为了保证程序的正常运行,在程序的开发测试阶段,可以对该程序进行多次调整,并对调整后的程序进行性能测试。性能测试结果可以反映对程序的调整是否提高了该程序的性能,即程序是否优化成功。并且程序通常可以进行多次调整才能实现性能提升。
[0024]在实际中,实现任一功能的程序可以由多个具有不同功能标识的程序段构成,即多个程序段协同工作以实现该功能。则举例说明在开发测试阶段的优化过程:版本1.0的程序可以由版本1.0的各程序段构成,则调整1.0版本的程序具体来说就是对其中存在异常的至少一个程序段进行调整,则经过多次调整后可以先后得到版本1.1的程序、版本1.2的程序
……
版本1.N的程序。在没得到一个版本的程序后,都可以对该版本的程序进行性能测试。最终,可以将性能最佳的程序确定为版本2.0的程序。
[0025]为了描述清楚,可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序优化方法,其特征在于,所述方法包括:获取原始程序;将所述原始程序的初始性能指标输入动作预测模型,以由所述动作预测模型输出针对所述原始程序的预测调整动作;根据所述预测调整动作的奖励值,确定所述原始程序是否优化完成。2.根据权利要求1所述的方法,其特征在于,所述将所述原始程序的初始性指标数输入动作预测模型,包括:获取所述原始程序在系统中运行后产生的日志数据;若所述日志数据反映所述原始程序存在异常,则将所述原始程序的初始性能指标输入动作预测模型。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述日志数据中定位异常函数;在所述原始程序中确定与所述异常函数存在调用关系的待优化程序段;按照所述预测调整动作调整所述待优化程序段。4.根据权利要求1所述的方法,其特征在于,所述将所述原始程序的初始性能指标输入动作预测模型,包括:运行所述原始程序,以获取初始性能指标;根据所述初始性能指标,确定所述原始程序的性能分数;若所述性能分数小于预设阈值,则将所述初始性能指标输入所述动作预测模型。5.根据权利要求1所述的方法,其特征在于,所述根据所述预测调整动作的奖励值,确定所述原始程序是否优化完成,包括:获取调整后程序的调整后性能指标,其中,对所述原始程序执行所述预测调整动作后得到所述调整后程序;将所述调整后性能指标和所述预测调整动作输入奖励函数,以由所述奖励函数确定所述预测调整动作的奖励值;若所述奖励值为正值并且所述调整后性能指标满足目标性能指标,则确定所述原始程序优化完成。6.根据权利要求5所述的方法,其特征在于,所述获取调整后程序的调整后性能指标,包括:运行所述调整后程序,以得到所述调整后性能指标;或者,将所述调整后程序输入指标预测模型,以由所述指标预测模型输出所述调整后性能指标。7.根据权利要求1所述的方法,其特征在于,所述程序优化方法应用在优化平台中;所述方法还包括:将由训练平台训练出的所述动作预测模型部署到所述优化平台中;其中,所述训练平台训练所述动作预测模型的过程包括:获取第一训练样本集,所述第一训练样本集中的任一条训练样本包括训练程序的性能指标、所述训练程序对应的参考调整动作以及所述参考调整动作的参考奖励值;将所述任
一条训练样本的性能指标作为训练数据,将根据所述参考...

【专利技术属性】
技术研发人员:陈子琦
申请(专利权)人:北京集度科技有限公司
类型:发明
国别省市:

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

1