应用更新方法、装置、服务器、客户端、开发前端及介质制造方法及图纸

技术编号:36550208 阅读:12 留言:0更新日期:2023-02-04 17:03
本申请涉及信息技术领域,特别涉及一种应用更新方法、装置、服务器、客户端、开发前端及介质,其中,方法包括:获取开发前端基于目标业务开发的微应用更新包;获取不同宿主APP的预设标识和预设软件开发工具包的版本号,基于预设标识和预设软件开发工具包的版本号匹配满足不同宿主APP的发布策略;利用发布策略发布满足不同宿主APP的版本号的微应用更新包,使得不同宿主APP的原生应用端加载微应用更新包,实现不同宿主APP上同一业务对应微应用的远程更新。由此,解决了相关技术中无法满足宿主APP的应用远程快速无感更新,导致集成慢、迭代慢、上线慢等问题。上线慢等问题。上线慢等问题。

【技术实现步骤摘要】
应用更新方法、装置、服务器、客户端、开发前端及介质


[0001]本申请涉及信息
,特别涉及一种应用更新方法、装置、服务器、客户端、开发前端及介质。

技术介绍

[0002]随着5G的推广与普及,为了满足越来越多的软件生态场景,当前APP(Application,移动应用程序)数量增长的非常快,往往同一个业务都会部署在多个不同的APP,且功能迭代更新的速度会变得越来越快,都是随之而来的出现了APP体积过大、部署周期太长、不同业务团队依赖冲突、技术升级困难等问题,其中最为突出的便是同个业务在多个APP的同步集成更新和技术升级困难的问题。
[0003]相关技术中,由业务方通过封装安卓(Android)和苹果(iOS)的SDK(Software Development Kit,软件开发工具包),然后集成到不同的APP的方式来进行应用的更新。
[0004]然而,一方面重新集成业务方SDK要将APP重新上架应用商店,不仅步骤极其繁琐而且周期很长,甚至还会面临着审核失败从而导致上架失败的风险,所以集成的效率就会变得特别低;另一方面由于APP生命周期特别长,所以往往有很多APP的架构方案已经不适用于5G背景下的场景需求,为了APP的整体稳定性,一般不会对业务代码进行升级,随着时间的推移,APP体积就会变得越来越臃肿,代码也会变得愈加难以维护。

技术实现思路

[0005]本申请提供一种应用更新方法、装置、服务器、客户端、开发前端及介质,以解决相关技术中无法满足宿主APP的应用远程快速无感更新,导致集成慢、迭代慢、上线慢等问题。
[0006]本申请第一方面实施例提供一种应用更新方法,所述方法应用于服务器,其中,包括以下步骤:获取开发前端基于目标业务开发的微应用更新包;获取不同宿主APP(Application,手机软件)的预设标识和预设软件开发工具包的版本号,基于所述预设标识和所述预设软件开发工具包的版本号匹配满足不同宿主APP的发布策略;利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,使得不同宿主APP的原生应用端加载所述微应用更新包,实现不同宿主APP上同一业务对应微应用的远程更新。
[0007]根据上述技术手段,本申请实施例通过获取开发前端基于目标业务开发的微应用更新包,并从中获取不同宿主APP的标识和软件开发工具包的版本号,基于此匹配满足不同宿主APP的发布策略,并利用发布策略发布满足不同宿主APP的版本号的微应用更新包,使得不同宿主APP的原生应用端加载微应用更新包,实现不同宿主APP上同一业务对应微应用的远程快速无感更新,以及功能的快速迭代,从而有效解决迭代集成慢、周期长的问题。
[0008]可选地,所述预设标识包括宿主APP的包名,所述预设软件开发工具包为软件包、软件框架、硬件平台和操作系统建立应用软件时的开发工具的集合。
[0009]根据上述技术手段,本申请实施例中标识包括宿主APP的包名,软件开发工具包为软件包、软件框架、硬件平台和操作系统建立应用软件时的开发工具的集合,以便于后续基
于预设标识和预设软件开发工具包生成拉取请求。
[0010]可选地,所述利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,包括:若检测到宿主APP的预设软件开发工具包的版本号未更新,利用所述预设软件开发工具包的版本号对所述宿主APP的微应用进行更新;若检测到宿主APP的预设软件开发工具包的版本号更新时,授权所述宿主APP所在客户端新建预设软件开发工具包的版本号的权限,使得所述客户端基于所述权限新建版本号,利用所述新建版本号对所述宿主APP的微应用进行更新。
[0011]根据上述技术手段,本申请实施例若是检测到宿主APP的软件开发工具包的版本号未更新,则利用软件开发工具包的版本号对宿主APP的微应用进行更新;若检测到宿主APP的软件开发工具包的版本号更新时,则授权宿主时APP所在客户端新建的软件开发工具包的版本号的权限,使得客户端基于权限新建版本号,然后利用其对宿主APP的微应用进行更新,有效避免不同宿主APP之间版本不同导致微应用无法正常运行的风险。
[0012]可选地,所述服务器还支持全量发布、灰度发布和回滚操作,且不同微应用之间,支持独立发布、独立灰度和独立回滚。
[0013]根据上述技术手段,本申请实施例对于大型需求来说,全量用户更新可能会存在潜在风险,所以需要针对部分用户进行新版本投放,服务器可以根据指定用户或者指定范围进行灰度发布,并逐渐扩大灰度发布的范围,直到全量发布,可以在生产环境发现重大bug时,可以采取回滚策略,避免影响到全量用户,提升用户使用体验。
[0014]可选地,所述利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,还包括:读取所述宿主APP中微应用的当前版本;根据所述当前版本对应的资源包对所述微应用更新包进行差分处理,得到所述微应用更新包与所述资源包之间的差异资源包,并下发所述差异资源包至所述宿主APP所在的客户端,使得客户端根据所述差异资源包和当前资源包生成所述微应用更新包,否则下发所述微应用更新包至所述客户端。
[0015]根据上述技术手段,本申请实施例通过读取宿主APP中微应用的当前版本,并根据当前版本对应的资源包对微应用更新包进行差分处理,得到差异资源包,并下发差异资源包到宿主APP所在的客户端,使得客户端根据差异资源包和当前资源包生成微应用更新包,以此完成微应用的更新,利用“增量更新”的技术来节省下载微应用资源包时所消耗的流量。
[0016]可选地,每个宿主APP包括:微应用层,表示单个微应用,运行的容器为原生应用端提供的预设容器,每个微应用运行的容器之间相互隔离;通信层,用于微应用和原生预设软件开发工具包、以及不同微应用之间的通信;原生预设软件开发工具包层,用于为微应用提供通信能力和所述宿主APP所在客户端的原生能力,其中,所述原生预设软件开发工具包层封装有所述宿主APP所在客户端的原生能力,并注入微应用运行的容器中;微应用渲染模块,用于提供微应用的渲染和更新的功能。
[0017]根据上述技术手段,本申请实施例中宿主APP包括:微应用层、通信层、原生预设软件开发工具包层以及微应用渲染模块四大构架模块,其中,微应用层为原生应用端提供容器;通信层用于不同模块之间的通信;原生预设软件开发工具包层为微应用提供通信能力与原生能力;微应用渲染模块为微应用的渲染和更新的功能,各模块之间相互配合构建宿主APP。
[0018]可选地,所述微应用的远程更新流程包括:在宿主APP中,当检测到用户点击微应用的图标之后,客户端获取预设标识和预设软件开发工具包的版本号,并发送第一拉取请求至服务器;在接收到所述第一拉取请求后,根据对应的宿主的预设标识和预设软件开发工具包的版本号返回宿主APP是否需要更新,如果需要更新,所述客户端发起微应用资源包的第二拉取请求;接收所述第二拉取请求,根据所述第二拉取请求匹配所述微应用资源包,并下发所述微应用资源包至所述客户端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用更新方法,其特征在于,所述方法应用于服务器,其中,所述方法包括以下步骤:获取开发前端基于目标业务开发的微应用更新包;获取不同宿主APP的预设标识和预设软件开发工具包的版本号,基于所述预设标识和所述预设软件开发工具包的版本号匹配满足不同宿主APP的发布策略;利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,使得不同宿主APP的原生应用端加载所述微应用更新包,实现不同宿主APP上同一业务对应微应用的远程更新。2.根据权利要求1所述的方法,其特征在于,所述预设标识包括宿主APP的包名,所述预设软件开发工具包为软件包、软件框架、硬件平台和操作系统建立应用软件时的开发工具的集合。3.根据权利要求1所述的方法,其特征在于,所述利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,包括:若检测到宿主APP的预设软件开发工具包的版本号未更新,利用所述预设软件开发工具包的版本号对所述宿主APP的微应用进行更新;若检测到宿主APP的预设软件开发工具包的版本号更新时,授权所述宿主APP所在客户端新建预设软件开发工具包的版本号的权限,使得所述客户端基于所述权限新建版本号,利用所述新建版本号对所述宿主APP的微应用进行更新。4.根据权利要求1或3所述的方法,其特征在于,所述服务器还支持全量发布、灰度发布和回滚操作,且不同微应用之间,支持独立发布、独立灰度和独立回滚。5.根据权利要求1所述的方法,其特征在于,所述利用所述发布策略发布满足所述不同宿主APP的所述版本号的微应用更新包,还包括:读取所述宿主APP中微应用的当前版本;根据所述当前版本对应的资源包对所述微应用更新包进行差分处理,得到所述微应用更新包与所述资源包之间的差异资源包,并下发所述差异资源包至所述宿主APP所在的客户端,使得客户端根据所述差异资源包和当前资源包生成所述微应用更新包,否则下发所述微应用更新包至所述客户端。6.根据权利要求1所述的方法,其特征在于,每个宿主APP包括:微应用层,表示单个微应用,运行的容器为原生应用端提供的预设容器,每个微应用运行的容器之间相互隔离;通信层,用于微应用和原生预设软件开发工具包、以及不同微应用之间的通信;原生预设软件开发工具包层,用于为微应用提供通信能力和所述宿主APP所在客户端的原生能力,其中,所述原生预设软件开发工具包层封装有所述宿主APP所在客户端的原生能力,并注入微应用运行的容器中;微应用渲染模块,用于提供微应用的渲染和更新的功能。7.根据权利要求1所述的方法,其特征在于,所述微应用的远程更新流程包括:在宿主APP中,当检测到用户点击微应用的图标之后,客户端获取预设标识和预设软件开发工具包的版本号,并发送第一拉取请求至服务器;在接收到所述第一拉取请求后,根据对应的宿主的预设标识和预设软件开发工具包的
版本号返回宿主APP是否需要更新,如果需要更新,所述客户端发起微应用资源包的第二拉取请求;接收所述第二拉取请求,根据所述第二拉取请求匹配所述微应用资源包,并下发所述微应用资源包至所述客户端,其中,所述客户端获取到所述微应用资源包之后,判断当前微应用是否是第一次加载,如果是第一次加载,初始化容器,否则直接替换当前微应用资源包,并在所述容器中渲染微应用,在渲染完成后运行所述微应用。8.根据权利要求1所述的方法,其特征在于,所述微应用为将APP的业务功能进行逻辑划分,将不同的业务抽象成不同的子应用。9.根据权利要求1所述的方法,其特征在于,还包括:获取任意微应用的管理操作指令;根据所述管理操作指令对所述任意微应用执行下架操作、删除操作、更新操作或版本管理操作。10.一种应用更新方法,其特征在于,所述方法应用于客户端,其中,所述方法包括以下步骤:在所述客户端的宿主APP中,当检测到用户点击微应用的图标之后,获取预设标识和预设软件开发工具包的版本号,并发送第一拉取请求至服务器;接收所述服务器基于所述第一拉取请求返回宿主APP是否需要更新提示,并在需要更新,发起微应用资源包的第二拉取请求;接收所述服务器基于所述第二拉取请求下发的所述微应用资源包,并判断当前微应用是否是第一次加载,如果是第一次加载,初始化容器,否则直接替换当前微应用资源包,并在所述容器中渲染微应用,在渲染完成...

【专利技术属性】
技术研发人员:苏业纯
申请(专利权)人:重庆长安新能源汽车科技有限公司
类型:发明
国别省市:

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

1