[发明专利]一种用于在热更新时对差分更新进行优化的方法和装置在审
申请号: | 202211510811.7 | 申请日: | 2022-11-29 |
公开(公告)号: | CN115794162A | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 黄强 | 申请(专利权)人: | 代码哲学(北京)科技有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/61 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 102108 北京市延庆*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 更新 进行 优化 方法 装置 | ||
本申请提供了一种用于在热更新时对差分更新进行优化的方法和装置,该方法增加了用于标识函数是否进行解释执行的字段。在执行函数时,首先得到的函数对应的解释执行字段,对解释执行字段进行判断后选择相应的执行方法。通过上述的方式,当其他函数再次调用AOT编译部分的函数时,会首先判断该函数的解释执行字段的值是否为空,若该字段不为空,则说明函数进行了热更新,直接跳转到解释器进行解释执行。如此以来,所有直接或间接调用了该函数的函数都不用再被标记为脏函数,进而极大减少了需要被标记为脏函数的AOT函数的数量,提高了混合热更新解决方案中的工程实践效率。
技术领域
本申请涉及计算机技术领域,特别涉及一种用于在热更新时对差分更新进行优化的方法、装置、计算设备和计算机可读存储介质。
背景技术
在移动互联网领域,通常使用热更新的方式来实现APP的功能更新或Bug修复,用户打开APP时即可实现更新,不用重新下载整个APP,从而实现了良好的用户体验。在本申请人的在先申请CN202211019435.1中提供了一种用于在热更新时进行差分更新的方法,实现了将变动的代码用解释器解释方式执行,未改动的函数仍然调用运行时中已经经过编译的函数,从而实现最大程度地接近原生程序的执行效率。但是,在热更新的场景中,经常出现这样的情况,某个函数自身未修改,但它直接或间接调用的代码发生了变化,导致这个函数也被标记为脏函数,从而引起了灾难性的链式脏函数扩散,出现了大量不必要的脏函数。
发明内容
有鉴于此,本申请例提供了一种用于在热更新时对差分更新进行优化的方法和装置,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种用于在热更新时对差分更新进行优化的方法,包括:
将源代码转换成目标语言代码时,为函数添加可访问的解释执行字段;并且,
在所述函数的函数体内对所述解释执行字段进行判断,当所述解释执行字段为空时,执行原AOT编译部分代码;若所述解释执行字段不为空时,则跳转到解释器执行。
根据本申请实施例的第二方面,提供了一种用于在热更新时对差分更新进行优化的装置,包括:
标识模块,所述标识模块包括多个解释执行字段,用于指示函数是否存在更新;
判断模块,用于在所述函数的函数体内对所述解释执行字段进行判断,当所述解释执行字段为空时,执行原AOT编译部分代码;若所述解释执行字段不为空时,则跳转到解释器执行。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述用于在热更新时对差分更新进行优化的方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述用于在热更新时对差分更新进行优化的方法的步骤。
本申请的实施例中,增加了用于标识函数是否进行解释执行的字段。进一步对函数的函数体进行修改,在执行函数时,首先得到的函数的解释执行字段,对解释执行字段进行判断后选择相应的执行方法。通过上述的方式,当其他函数再次调用AOT编译部分的函数时,会首先判断该函数的解释执行字段的值是否为空,若该字段不为空,则说明函数进行了热更新,直接跳转到解释器进行解释执行。如此,所有直接或间接调用了该函数的函数都不用再被标记为脏函数,进而极大减少了需要被标记为脏函数的AOT函数的数量,提高了混合热更新解决方案中的工程实践效率。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是现有的热更新模式中差分更新的方法示意图;
图3是本申请实施例提供的一种用于在热更新时对差分更新进行优化的方法的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于代码哲学(北京)科技有限公司,未经代码哲学(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211510811.7/2.html,转载请声明来源钻瓜专利网。