[发明专利]一种应用程序的运行方法、装置、电子设备、及存储介质有效
申请号: | 201910508706.1 | 申请日: | 2019-06-12 |
公开(公告)号: | CN110221877B | 公开(公告)日: | 2022-06-07 |
发明(设计)人: | 王琨 | 申请(专利权)人: | 北京字节跳动网络技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 运行 方法 装置 电子设备 存储 介质 | ||
本公开实施例公开了一种应用程序的运行方法、装置、电子设备、及存储介质,所述应用程序包括宿主程序和功能插件,所述方法包括:宿主程序在运行过程中,若产生调用功能插件的触发条件,则调用并运行功能插件;在功能插件的运行过程中,若产生调用至少一种依赖服务的需求,则将输入数据传输给被调用的依赖服务的依赖服务接口,调用被调用的依赖服务的服务程序;其中,依赖服务接口配置在宿主程序中;在服务程序运行后,通过依赖服务接口所定义的反馈数据,将输出数据传输给功能插件,以完成对被调用的依赖服务的调用。本公开实施例的技术方案能够减少功能插件的开发维护工作量,能够避免使用不同版本的服务时出现依赖冲突。
技术领域
本公开涉及计算机应用技术领域,具体涉及一种应用程序的运行方法、装置、电子设备、及存储介质。
背景技术
功能插件是用来实现特定功能的可执行程序,为了丰富应用程序的功能,会允许其调用一些功能插件,此种情况可将该应用程序称为宿主程序。
无论是宿主程序还是功能插件,都需要依赖一些共性的服务来实现,典型的服务如:网络请求、图片缓存与加载、监控、埋点等。由于这些服务带有通用性,所以通常会独立形成供调用的子程序或者插件,而无需在开发宿主程序和功能插件时再自行开发,只需调用已有服务即可。无需自行开发,能减少开发工作量、减小插件和宿主程序本身的体积。但是在调用过程中,可能会出现依赖冲突。例如,宿主程序需要调用网络请求服务,功能插件也需要调用网络请求服务,但是两者调用的网络请求服务的版本号不完全相同,那么就出现了依赖冲突问题。
基于以上问题,宿主程序和功能插件,如何对通用服务进行调用,不产生依赖冲突,是需要解决的技术问题。
发明内容
有鉴于此,本公开实施例提供一种应用程序的运行方法、装置、电子设备、及存储介质,以减少功能插件的开发维护工作量,能够避免使用不同版本的服务时出现依赖冲突。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
第一方面,本公开实施例提供了一种应用程序的运行方法,所述应用程序包括宿主程序和功能插件,所述方法包括:
宿主程序在运行过程中,若产生调用功能插件的触发条件,则调用并运行所述功能插件;
在所述功能插件的运行过程中,若产生调用至少一种依赖服务的需求,则将输入数据传输给被调用的依赖服务的依赖服务接口,调用所述被调用的依赖服务的服务程序;其中,所述依赖服务接口配置在所述宿主程序中;
在所述服务程序运行后,通过所述依赖服务接口所定义的反馈数据,将输出数据传输给所述功能插件,以完成对所述被调用的依赖服务的调用。
第二方面,本公开实施例还提供了一种应用程序的运行装置,所述应用程序包括宿主程序和功能插件,所述装置包括:
功能插件调用单元,用于宿主程序在运行过程中,若产生调用功能插件的触发条件,则调用并运行所述功能插件;
服务程序调用单元,用于在所述功能插件的运行过程中,若产生调用至少一种依赖服务的需求,则将输入数据传输给被调用的依赖服务的依赖服务接口,调用所述被调用的依赖服务的服务程序;其中,所述依赖服务接口配置在所述宿主程序中;
结果输出单元,用于在所述服务程序运行后,通过所述依赖服务接口所定义的反馈数据,将输出数据传输给所述功能插件,以完成对所述被调用的依赖服务的调用。
第三方面,本公开实施例还提供了一种应用程序,包括如上述第一方面任一项所述的宿主程序、以及至少一个如上述第二方面任一项所述的功能插件。
第四方面,本公开实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京字节跳动网络技术有限公司,未经北京字节跳动网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910508706.1/2.html,转载请声明来源钻瓜专利网。