微应用的运行方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:32482509 阅读:15 留言:0更新日期:2022-03-02 09:46
本申请实施例公开了一种微应用的运行方法、装置、设备、存储介质及程序产品,属于应用技术领域。该方法包括:获取目标微应用的目标微应用脚本,目标微应用是由服务构成的集合,目标微应用脚本由触发器构成,触发器用于在触发事件下通过执行控制逻辑进行服务调用;响应于目标触发事件,触发目标微应用脚本中目标触发事件对应的目标触发器;执行目标触发器对应的目标控制逻辑,并调用目标服务,以实现目标微应用的微应用功能。由于微应用的运行基于低代码量的微应用脚本,因此相较于传统应用所需占用的存储空间更小;将服务组装成微应用,并利用微应用脚本管理服务之间的调用关系,实现了微应用的组件化,有助于降低微应用的开发难度。度。度。

【技术实现步骤摘要】
微应用的运行方法、装置、设备、存储介质及程序产品


[0001]本申请实施例涉及应用
,特别涉及一种微应用的运行方法、装置、设备、存储介质及程序产品。

技术介绍

[0002]随着应用(Application)技术的不断发展,越来越多功能丰富的应用应运而生,为人们的日常生活带来便利。
[0003]用户在使用应用之前,首先需要从应用商店下载应用安装包,并通过解析应用安装包将应用安装在终端中,然后点击应用图标以启动应用。然而,随着应用质量的不断提高,应用所需占用的存储空间也越来越大。

技术实现思路

[0004]本申请实施例提供了一种微应用的运行方法、装置、设备、存储介质及程序产品。所述技术方案如下:
[0005]一方面,本申请实施例提供了一种微应用的运行方法,所述方法包括:
[0006]获取目标微应用的目标微应用脚本,所述目标微应用是由服务构成的集合,所述目标微应用脚本由触发器构成,且所述触发器用于在触发事件下通过执行控制逻辑进行服务调用;
[0007]响应于目标触发事件,触发所述目标微应用脚本中所述目标触发事件对应的目标触发器;
[0008]执行所述目标触发器对应的目标控制逻辑,并调用目标服务,以实现所述目标微应用的微应用功能。
[0009]另一方面,本申请实施例提供了一种微应用的运行装置,所述装置包括:
[0010]脚本获取模块,用于获取目标微应用的目标微应用脚本,所述目标微应用是由服务构成的集合,所述目标微应用脚本由触发器构成,且所述触发器用于在触发事件下通过执行控制逻辑进行服务调用;
[0011]触发模块,用于响应于目标触发事件,触发所述目标微应用脚本中所述目标触发事件对应的目标触发器;
[0012]服务调用模块,用于执行所述目标触发器对应的目标控制逻辑,并调用目标服务,以实现所述目标微应用的微应用功能。
[0013]另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的微应用的运行方法。
[0014]另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上述方面所述的微应用的运行方法。
[0015]另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的微应用的运行方法。
[0016]本申请实施例中,在运行由若干服务构成的微应用时,通过获取微应用的微应用脚本,并基于触发事件触发微应用脚本中对应的触发器,进而通过执行该触发器对应的控制逻辑,调用相应的服务以实现微应用的微应用功能。由于微应用的运行基于低代码量的微应用脚本,因此相较于传统应用所需占用的存储空间更小;并且,将服务组装成微应用,并利用微应用脚本管理服务之间的调用关系,实现了微应用的组件化,提高了微应用间服务的复用性,有助于降低微应用的开发难度。
附图说明
[0017]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本申请一个示例性实施例示出的微应用脚本的示意图;
[0019]图2示出了本申请一个示例性实施例提供的微应用系统的系统架构图;
[0020]图3示出了本申请一个示例性实施例提供的微应用的运行方法的流程图;
[0021]图4是本申请一个示例性实施例示出的微应用订阅过程的界面示意图;
[0022]图5是本申请一个示例性实施例示出的微应用订阅过程的实施示意图;
[0023]图6是本申请一个示例性实施例示出的微应用取消订阅过程的实施示意图;
[0024]图7是本申请一个示例性实施例示出的目标服务确定过程的流程图;
[0025]图8是本申请一个示例性实施例示出的服务调用过程的实施示意图;
[0026]图9是本申请一个示例性实施例示出的服务代理调用服务过程的实施示意图;
[0027]图10是本申请一个示例性实施例示出的静态服务调用过程的流程图;
[0028]图11是本申请一个示例性实施例示出的动态服务调用过程的流程图;
[0029]图12是本申请一个示例性实施例示出的服务差分部署的实施示意图;
[0030]图13是本申请一个示例性实施例示出的引擎状态同步过程的实施示意图;
[0031]图14是本申请一个示例性实施例示出的微应用脚本获取过程的流程图;
[0032]图15是本申请一个示例性实施例示出的目标微应用确定过程的示意图;
[0033]图16示出了本申请一个实施例提供的微应用的运行装置的结构框图;
[0034]图17示出了本申请一个示例性实施例提供的计算机设备的结构方框图。
具体实施方式
[0035]为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0036]为了方便理解,下面对本申请实施例中涉及的名词进行说明。
[0037]微应用:微应用可以看做是由服务构成的集合,用于通过服务之间的调用实现特
定的业务逻辑,即微应用的微应用功能。不同于传统应用只能运行在特定操作系统上,微应用的服务可以是不同操作系统上的服务,即微应用支持异构操作系统,可以实现跨平台运行。
[0038]不同于传统应用在使用前需要下载,并与设备绑定,微应用采用订阅机制,并与用户绑定,即通过用户帐号下的某一设备订阅微应用后,该用户帐号下的各个设备均可以使用该微应用。
[0039]微应用脚本:又称为微应用定义,用于控制微应用中服务之间的调用关系,采用脚本语言描述了一段通用的业务逻辑。其中,该脚本语言可以为xml、javascript。
[0040]如图1所示,微应用脚本11由若干触发器12构成,而每个触发器12又是由触发事件13、控制逻辑14以及控制逻辑14所控制的若干服务15构成。其中,微应用脚本中的服务并未服务本身,而是服务的服务标识。
[0041]不同于传统应用在运行前需要下载并安装应用安装包,比如,在运行安卓应用前,需要下载apk包,微应用在运行前只需要下载对应的微应用脚本,微应用过程中,即通过微应用引擎执行该微应用脚本,实现微应用功能。相较于传统应用,微应用脚本的代码量更低,因此占用的存储空间较小,且有利于动态部署和更新。
[0042]服务:作为微应用运行过程中的最小单元,用于实现特定任务。比如,截屏服务用于实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微应用的运行方法,其特征在于,所述方法包括:获取目标微应用的目标微应用脚本,所述目标微应用是由服务构成的集合,所述目标微应用脚本由触发器构成,且所述触发器用于在触发事件下通过执行控制逻辑进行服务调用;响应于目标触发事件,触发所述目标微应用脚本中所述目标触发事件对应的目标触发器;执行所述目标触发器对应的目标控制逻辑,并调用目标服务,以实现所述目标微应用的微应用功能。2.根据权利要求1所述的方法,其特征在于,所述调用目标服务之前,所述方法包括:基于所述目标控制逻辑所调用服务的服务标识,确定候选服务列表,所述候选服务列表中包含至少一个与所述服务标识匹配的候选服务;从所述候选服务列表的所述候选服务中确定所述目标服务。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标控制逻辑所调用服务的服务标识,确定候选服务列表,包括:确定当前设备中与所述服务标识匹配的候选静态服务,其中,静态服务为设备中宿主应用所提供的服务;从云端服务库中确定与所述服务标识匹配的候选动态服务,其中,动态服务为支持动态部署至设备的服务;基于所述候选静态服务和所述候选动态服务生成所述候选服务列表。4.根据权利要求2所述的方法,其特征在于,所述从所述候选服务列表的所述候选服务中确定所述目标服务,包括:显示所述候选服务列表;响应于对所述候选服务列表中候选服务的选择操作,将选中的所述候选服务确定为所述目标服务;或,基于服务选择策略,从所述候选服务列表的所述候选服务中确定所述目标服务。5.根据权利要求1至4任一所述的方法,其特征在于,所述调用目标服务,包括:通过目标服务网关调用所述目标服务,所述目标服务网关为当前设备的服务网关,和/或,当前设备以外的外部设备的服务网关,所述外部设备中设置有所述目标微应用脚本。6.根据权利要求5所述的方法,其特征在于,所述通过目标服务网关调用所述目标服务,包括:在所述目标服务网关为当前设备的服务网关的情况下,通过所述目标服务网关获取服务调用请求;通过所述目标服务网关确定所述目标服务对应的目标服务代理;基于所述服务调用请求,通过所述目标服务代理调用所述目标服务;在所述目标服务网关为外部设备的服务网关的情况下,向所述外部设备发送服务调用请求,所述外部设备用于通过所述目标服务网关确定所述目标服务对应的目标服务代理,并基于所述服务调用请求,通过所述目标服务代理调用所述目标服务;其中,不同的服务代理对应不同的编程开发语言,或,不同的服务代理对应不同的部署形态,或,不同的服务代理对应不同的运行环境。7.根据权利要求6所述的方法,其特征在于,所述基于所述服务调用请求,通过所述目标服务代理调用所述目标服务,包括:
通过所述目标服务代理对所述服务调用请求中的原始输入参数进行转换,得到目标输入参数,其中,所述原始输入参数采用统一参数格式,所述目标输入参数符合所述目标服务的参数格式;基于所述目标输入参数,通过所述目标服务代理调用所述目标服务,得到所述目标服务的原始输出参数;通过所述目标服务代理对所述原始输出参数进行转换,得到目标输出参数,所述目标输出参数采用所述统一参数格式。8.根据权利要求6所述的方法,其特征在于,所述基于所述服务调用请求,通过所述目标服务代理调用所述目标服务之前,所述方法还包括:在所述目标服务为静态服务的情况下,通过静态服务管理器获取所述目标服务的服务状态;在所述服务状态为未启动状态的情况下,启动所述目标服务。9.根据权利要求6所述的方法,其特征在于,所述基于所述服务调用请求,通过所述目标服务代理调用所述目标服务之前,所述方法还包括:在所述目标服务为动态服务的情况下,通过动态服务管理器获取所述目标服务对应宿主服务的服务状...

【专利技术属性】
技术研发人员:杨俊拯王立中钟卫东
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1