[发明专利]软件的执行控制方法及装置有效
申请号: | 201611166524.3 | 申请日: | 2016-12-16 |
公开(公告)号: | CN108205452B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 纪传舜 | 申请(专利权)人: | 北京小米移动软件有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 曾尧 |
地址: | 100085 北京市海淀区清河*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 执行 控制 方法 装置 | ||
本公开是关于一种软件的执行控制方法及装置。该方法包括:通过所述软件的中间层确定所述软件对应的提供方全局变量的值;在所述提供方全局变量的值为空的情况下,加载所述中间层维护的提供方列表中的各个提供方对应的底层服务;在第一提供方对应的底层服务加载成功的情况下,将所述第一提供方对应的全局变量的值赋予所述提供方全局变量,其中,所述第一提供方为所述提供方列表中的任意一个提供方。本公开能够支持多个提供方,实现对多个提供方提供的底层服务的动态兼容。
技术领域
本公开设计软件技术领域,尤其涉及软件的执行控制方法及装置。
背景技术
在原生安卓系统中,软件架构主要分为三层:应用层、中间层和底层。以指纹软件架构为例,应用层可以为解锁程序或者各种支付工具等。应用层不用关心指纹的具体实现细节,只要调用中间层提供的录入接口和识别接口即可。中间层的主要功能是对底层实现细节进行抽象。以指纹软件架构为例,中间层用于将指纹的标准功能提供给应用层。底层直接和指纹传感器通信,是指纹各种功能具体实现的地方。由于各个供应商所用的技术不同,各个供应商有各个供应商的实现方案,因此底层服务各不相同,不同的供应商有不同的模块。
相关技术中,一个软件的软件架构中只能配置一个供应商,换言之,一个软件只能支持一个供应商提供的底层服务。而在实际的工程项目中,手机厂商往往需要引入两三个、甚至更多个供应商。相关技术中的软件架构无法满足对多个供应商的支持,无法实现对多个供应商提供的底层服务的动态兼容。
发明内容
为克服相关技术中存在的问题,本公开提供一种软件的执行控制方法及装置。
根据本公开实施例的第一方面,提供一种软件的执行控制方法,包括:
通过所述软件的中间层确定所述软件对应的提供方全局变量的值;
在所述提供方全局变量的值为空的情况下,加载所述中间层维护的提供方列表中的各个提供方对应的底层服务;
在第一提供方对应的底层服务加载成功的情况下,将所述第一提供方对应的全局变量的值赋予所述提供方全局变量,其中,所述第一提供方为所述提供方列表中的任意一个提供方。
对于上述方法,在一种可能的实现方式中,在通过所述软件的中间层确定所述软件对应的提供方全局变量的值之后,所述方法还包括:
在所述提供方全局变量的值不为空的情况下,加载所述提供方全局变量的值对应的底层服务。
对于上述方法,在一种可能的实现方式中,在加载所述提供方全局变量的值对应的底层服务之后,所述方法还包括:
在所述提供方全局变量的值对应的底层服务加载失败的情况下,加载所述提供方列表中的各个提供方对应的底层服务;
在第二提供方对应的底层服务加载成功的情况下,将所述第二提供方对应的全局变量的值赋予所述提供方全局变量,其中,所述第二提供方为所述提供方列表中的任意一个提供方。
对于上述方法,在一种可能的实现方式中,所述方法还包括:
在需要为所述软件新增提供底层服务的提供方的情况下,将新增的提供方加入所述提供方列表中。
对于上述方法,在一种可能的实现方式中,通过所述软件的中间层确定所述软件对应的提供方全局变量的值,包括:
在所述软件初始化时,通过所述软件的中间层确定所述软件对应的提供方全局变量的值。
对于上述方法,在一种可能的实现方式中,所述底层服务包括以下至少一项:
指纹识别服务、触摸感应服务和相机服务。
根据本公开实施例的第二方面,提供一种软件的执行控制装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小米移动软件有限公司,未经北京小米移动软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611166524.3/2.html,转载请声明来源钻瓜专利网。