[发明专利]基于关键元素差异性分析的微服务更新方法及系统有效
申请号: | 201811014183.7 | 申请日: | 2018-08-31 |
公开(公告)号: | CN109117164B | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 蔡华谦;黄罡;张舒汇;景翔 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/72;G06F8/75 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关键 元素 差异性 分析 微服 更新 方法 系统 | ||
1.一种基于关键元素差异性分析的微服务更新方法,其特征在于,包括:
关键元素筛选流程:对与旧版本安卓应用相匹配的微服务中的字节码进行分析,并据此筛选出影响所述微服务与新版本安卓应用之间的匹配的所有关键元素的集合;
关键元素相似度分析流程:分析所述集合中的各关键元素在所述新版本安卓应用与所述旧版本安卓应用之间的相似度;
破坏性变化判断流程:判断所述安卓应用由旧版本变为新版本后,相对于所述微服务是否发生了破坏性变化;
需修改的关键元素定位流程:当所述安卓应用由旧版本变为新版本后,相对于所述微服务发生了破坏性变化时,根据所述各关键元素在所述新版本安卓应用与所述旧版本安卓应用之间的相似度,判断所述集合中的各关键元素在所述安卓应用由旧版本变为新版本后相对于所述微服务是否发生了破坏性变化,并将发生了破坏性变化的关键元素作为所述微服务中需要修改的关键元素;
关键元素修改方案推荐流程:根据所述各关键元素在所述新版本安卓应用与所述旧版本安卓应用之间的相似度,对所述微服务中的每一个需要修改的关键元素,给出修改推荐列表,所述修改推荐列表中包含所述新版本安卓应用中的各关键元素中与所述微服务中的该需要修改的关键元素相似度最高的预设数量的关键元素;
微服务更新流程:对所述微服务中的每一个需要修改的关键元素,根据对该需要修改的关键元素给出的修改推荐列表,将该需要修改的关键元素修改为该修改推荐列表中的一个关键元素,以完成对所述微服务的更新。
2.如权利要求1所述的基于关键元素差异性分析的微服务更新方法,其特征在于,所述关键元素筛选流程包括:
步骤S1:使用访问者模式对所述微服务的dex字节码进行解析,同时,构造所述微服务的dex字节码的抽象语法树;
步骤S2:遍历所述微服务的dex字节码的抽象语法树,将所述微服务的dex字节码的抽象语法树中所有Dex类节点、Dex域节点、Dex方法节点及Dex代码节点中域访问语句和函数调用语句中的类名、方法名和变量名均作为影响所述微服务与所述新版本安卓应用之间的匹配的关键元素加入所述集合。
3.如权利要求2所述的基于关键元素差异性分析的微服务更新方法,其特征在于,所述关键元素相似度分析流程包括:
关键元素相似度静态分析流程:根据所述旧版本安卓应用的dex字节码和所述新版本安卓应用的dex字节码,分析所述集合中的每一关键元素在所述新版本安卓应用与所述旧版本安卓应用之间的相似度;
关键元素相似度动态分析流程:利用网构软件行为反射框架分别对所述新版本安卓应用和所述旧版本安卓应用的运行时栈模型中的应用活动的情况进行监测,得到所述新版本安卓应用和所述旧版本安卓应用运行时栈模型监测结果;根据所述新版本安卓应用和所述旧版本安卓应用运行时栈模型监测结果,分析所述集合中的每一关键元素在所述新版本安卓应用与所述旧版本安卓应用之间的相似度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811014183.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种客户端升级方法及装置
- 下一篇:一种基于IAP的升级系统及其升级方法