[发明专利]基于关键元素差异性分析的微服务更新方法及系统有效
申请号: | 201811014183.7 | 申请日: | 2018-08-31 |
公开(公告)号: | CN109117164B | 公开(公告)日: | 2020-08-25 |
发明(设计)人: | 蔡华谦;黄罡;张舒汇;景翔 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/72;G06F8/75 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 关键 元素 差异性 分析 微服 更新 方法 系统 | ||
本发明公开了一种基于关键元素差异性分析的微服务更新方法及系统,通过对微服务中字节码的分析筛选出需要分析的关键元素集合,并通过对各关键元素在新旧版本安卓应用之间相似度的分析判断安卓应用在版本变化过程中相对于微服务是否发生了破坏性变化,并在发生破坏性变化时,通过分析各关键元素在新旧版本安卓应用之间的相似度,判断各关键元素是否发生了破坏性变化,以对微服务中需要修改的关键元素进行定位,并为每个需要修改的关键元素给出修改推荐列表,进而根据修改推荐列表对微服务进行更新,避免了在安卓应用版本发生非破坏性变化时对微服务进行无必要的修改和对微服务中没必要修改的关键元素进行修改,减少了资源浪费,提高了微服务升级效率。
技术领域
本发明涉及计算机软件,尤其涉及一种基于关键元素差异性分析的微服务更新方法及系统。
背景技术
在移动互联网时代,用户消费内容、获得线上服务的方式主要为移动应用。单个应用中积累了大量服务及用户的使用数据等内容。然而应用之间相互独立的现状,形成了移动应用生态的“信息孤岛”。APP间的“信息孤岛”成为场景割裂、应用智能化程度难以提升的重要原因。
通过网构软件行为反射技术,能够在不需要第三方开发者支持的情况下,将安卓应用封装为微服务,为打破移动应用生态的“信息孤岛”现象提供了可能。在不需要第三方配合的情况下,利用网构软件行为反射技术能够将任意安卓应用的任意功能封装为微服务。
网构软件行为反射技术,通过对安卓应用的执行进行完整监测,对运行时模型监测结果进行分析并生成应用微服务。应用行为运行时模型将在运行时环境中作用于内存空间的堆栈区和代码段,从而实现指令级别反射。由于对安卓应用的执行进行监测的结果取决于安卓应用字节码,因此此技术极大地依赖安卓应用字节码及应用微服务相匹配。如果移动应用的字节码发生了变化,那么其运行时环境也会发生变化,将导致之前分析得出的微服务无法与此时的运行时环境相匹配,即应用微服务失效,网构软件行为反射技术无法正常运行。
以下情况会导致应用微服务失效:
1、安卓应用多渠道发布。对于同样的安卓应用,如果在不同的下载渠道发布,可能会采取不同的打包方式。造成应用的源代码发生变化。
2、安卓应用版本升级。安卓应用版本升级分为两种情况,一是网构软件行为反射技术生成的应用微服务对应的源代码逻辑发生了变化;二是逻辑未发生变化。然而,在应用版本升级时,会对应用进行重新混淆、打包,即使生成的应用微服务对应的源代码逻辑未发生变化,也将由于代码混淆而造成运行时模型失效。
3、安卓应用热更新。近年来,很多开发者开始使用应用的热更新框架,采用热补丁的方式,即使不升级安卓应用的版本,也可以实现对应用源码的更新。
这些客观情况都可能导致网构软件行为反射技术稳定性下降,无法持续提供服务。目前,应对这种局面的传统做法是,对安卓应用市场上的应用进行升级监控,一旦发现有应用的升级,立即采取人机协同、半自动化的方式,对该安卓应用微服务进行相应升级。通过长期的实验和测算,每实施一次对微服务的升级、测试、部署等工作,平均需花费1.5人天的开发成本。这些因素使得网构软件行为反射技术的应用成本增大,经济效益降低,产生了技术和应用之间极大的鸿沟。
以上三种造成应用微服务失效的原因,都是在应用发布或版本变化的过程中,安卓应用的字节码发生了一定的变化。本文统一将这种应用的字节码发生改变的情况视为应用版本发生变化,并统一称版本发生变化之前的版本为“旧版本”,版本发生变化后的版本为“新版本”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811014183.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种客户端升级方法及装置
- 下一篇:一种基于IAP的升级系统及其升级方法