[发明专利]热修复补丁生成方法、装置、存储介质及计算机设备在审
申请号: | 202011148917.8 | 申请日: | 2020-10-23 |
公开(公告)号: | CN112306493A | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 蔡文博 | 申请(专利权)人: | 广州博冠信息科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/658 |
代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 高杨丽 |
地址: | 510663 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 修复 补丁 生成 方法 装置 存储 介质 计算机 设备 | ||
本申请实施例公开了一种热修复补丁生成方法、装置、存储介质及计算机设备。该方法包括:获取目标代码,目标代码为用于修复目标应用的修复代码;通过目标编译器对目标代码进行词法分析,以得到标记序列;根据自上而下的分析方式对标记序列进行语法分析,并将语法分析的语法分析结果存储到树的数据结构中,以得到语法树;遍历语法树,对语法树中包含的多条语法短语进行语义分析,以得到语法树的语义数据;根据语义数据,生成目标应用的热修复补丁。本申请实施例无需关注热修复补丁的内部规则和含义,仅需提供日常开发所熟悉的目标代码进行分析处理,即可生成热修复补丁,保障热修复补丁生成的正确性,以及提升工作效率。
技术领域
本申请涉及计算机技术领域,具体涉及一种热修复补丁生成方法、装置、存储介质及计算机设备。
背景技术
热修复是一种快速、低成本修复产品软件版本缺陷的方式。热修复作为一种快速解决软件产品线上异常的技术手段,被广泛地使用。特别是对应于基于iOS系统开发的应用版本,由于iOS应用版本发布需要经历苹果公司的审核,而审核周期较长且无法强制用户更新到最新版本,因此热修复被较为广泛地使用在iOS应用开发中,用于应对线上问题的紧急修复。
热修复补丁通常会定义一种中间语言或配置,映射或描述需要动态调用或修改的程序代码,热修复补丁具有一定的规则和复杂性,与开发者日常开发所用的程序语言具有较大的区别。当软件产品在运营过程中遇到线上问题时,通常需要紧急处理或紧急修复,而人工编写热修复补丁耗时长、易出错,容易造成二次问题的产生。
因此,现有技术存在缺陷,有待改进与发展。
发明内容
本申请实施例提供一种热修复补丁生成方法、装置、存储介质及计算机设备,可以保障热修复补丁生成的正确性,以及提升工作效率。
本申请实施例提供了一种热修复补丁生成方法,包括:
获取目标代码,所述目标代码为用于修复目标应用的修复代码;
通过目标编译器对所述目标代码进行词法分析,以得到标记序列;
根据自上而下的分析方式对所述标记序列进行语法分析,并将所述语法分析的语法分析结果存储到树的数据结构中,以得到语法树;
遍历所述语法树,对所述语法树中包含的多条语法短语进行语义分析,以得到所述语法树的语义数据;
根据所述语义数据,生成所述目标应用的热修复补丁。
本申请实施例还提供一种热修复补丁生成装置,包括:
获取模块,用于获取目标代码,所述目标代码为用于修复目标应用的修复代码;
词法分析模块,用于通过目标编译器对所述目标代码进行词法分析,以得到标记序列;
语法分析模块,用于根据自上而下的分析方式对所述标记序列进行语法分析,并将所述语法分析的语法分析结果存储到语法树的数据结构中;
语义分析模块,用于遍历所述语法树,对所述语法树中包含的多条语法短语进行语义分析,以得到所述语法树的语义数据;
生成模块,用于根据所述语义数据,生成所述目标应用的热修复补丁。
可选的,所述词法分析模块,用于通过目标编译器对所述目标代码进行词法分析,以将所述目标代码中的字符序列转换为标记序列。
可选的,所述语法分析模块,用于:
根据自上而下的分析方式,以所述标记序列的起始非终结符为分析起点,对所述标记序列中的非终结符进行分解,直到匹配到所述标记序列的所有叶子节点均为终结符时,完成对所述标记序列的语法分析;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州博冠信息科技有限公司,未经广州博冠信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011148917.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:物料破块设备
- 下一篇:三轴TMR传感器的校准方法