本发明涉及计算机,特别涉及一种系统服务按需使用的方法、装置及系统。
背景技术:
1、目前主流操作系统,如ohos标准系统中的系统服务(system ability)都是预置在系统中的,随着系统一起编译、烧录和运行。运行方式有两种:1、系统启动的时候根据配置文件定义被初始化进程拉起;2、被其他进程根据需要拉起。
2、但现有的系统服务存在以下问题:
3、以上两种方式不管哪种都需要在烧录系统前就确定好有哪些系统服务,提前放进系统,后期如果有新的需求,没办法方便的增加,只能更新系统版本。
4、只有应用可以安装,但是应用受限于sdk提供的接口,没办法覆盖系统服务的功能,比如底层硬件服务等,不能替代系统服务。
5、有鉴于此,特提供一种系统服务按需使用的方法、装置及系统。
技术实现思路
1、本发明的目的是提供一种系统服务按需使用的方法、装置及系统,以解决背景技术中指出的问题。
2、本发明的上述技术目的是通过以下技术方案得以实现的:
3、一种系统服务按需使用的方法,包括如下步骤:
4、向系统服务管理发送查询和调用新系统服务的接口请求;
5、接收错误码或新系统服务调用接口;
6、其中,错误码的产生过程包括:系统服务管理检查新系统服务是否安装:如果未安装,则向安装管理服务发起安装请求,安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果未上架,返回错误码;
7、新系统服务调用接口的产生过程包括:系统服务管理检查新系统服务是否安装:如果新系统服务已安装,直接调用其接口;如果未安装,则向安装管理服务发起安装请求;安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索该服务是否上架;如果已上架,则下载安装包;安装管理服务下载完安装包后,向系统服务管理发起请求加载新系统服务;系统服务管理加载新系统服务,并对新系统服务的签名证书进行校验,保证新系统服务是完整的没被篡改过,加载过程中,如果新系统服务对其他模块有依赖,则递归的向前查找依赖关系,将依赖的库也加载进来,直到新系统服务被正确加载,加载完成后启动运行,并调用其接口。
8、在一个优选实施例中,还包括步骤:
9、调用安装管理服务提供的卸载接口,发起卸载请求;
10、接收卸载请求返回结果;
11、其中,卸载请求返回结果的产生过程包括:安装管理服务通过系统服务管理检测服务运行状态,同时也要检测该系统服务是否被其他服务依赖或使用,如果其他依赖或使用该系统服务的服务在运行中,则先调用系统服务管理接口停止服务运行,再停止该系统服务的运行;如果待卸载服务处于非运行状态,则执行卸载;卸载前,对请求方的权限做校验,确保其有相应的权限执行卸载操作;收到系统服务卸载完成结果后,包安装管理清理安装包等资源文件,完成后返回结果;
12、在一个优选实施例中,还包括步骤:
13、向分布式服务发起对另一设备上的新系统服务的调用;
14、接收分布式服务返回的新系统服务调用结果;
15、其中,新系统服务调用结果的产生过程包括:分布式服务将该请求转发到另一设备上的分布式服务;另一设备上的分布式服务调用其系统服务管理的接口查询和使用新系统服务,得到信息系统服务调用结果。
16、一种系统服务按需使用的装置,包括:
17、请求发送单元,用于向系统服务管理发送查询和调用新系统服务的接口请求;
18、结果接收单元,用于接收错误码或新系统服务调用接口;
19、其中,错误码的产生过程包括:系统服务管理检查新系统服务是否安装:如果未安装,则向安装管理服务发起安装请求,安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果未上架,返回错误码;
20、新系统服务调用接口的产生过程包括:系统服务管理检查新系统服务是否安装:如果新系统服务已安装,直接调用其接口;如果未安装,则向安装管理服务发起安装请求;安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索该服务是否上架;如果已上架,则下载安装包;安装管理服务下载完安装包后,向系统服务管理发起请求加载新系统服务;系统服务管理加载新系统服务,并对新系统服务的签名证书进行校验,保证新系统服务是完整的没被篡改过,加载过程中,如果新系统服务对其他模块有依赖,则递归的向前查找依赖关系,将依赖的库也加载进来,直到新系统服务被正确加载,加载完成后启动运行,并调用其接口。
21、一种系统服务按需使用的方法,包括如下步骤:
22、接收系统服务发送的查询和调用新系统服务的接口请求;
23、检查新系统服务是否安装:如果新系统服务已安装,直接调用其接口;如果未安装,则向安装管理服务发起安装请求;
24、接收错误码或新系统服务加载请求;
25、收到新系统服务加载请求后,加载新系统服务,并对新系统服务的签名证书进行校验,保证该服务是完整的没被篡改过,加载过程中,如果新系统服务对其他模块有依赖,则递归的向前查找依赖关系,将依赖的库也加载进来,直到新系统服务被正确加载,加载完成后启动运行,并调用其接口;
26、其中,错误码的产生过程包括:安装管理服务接收系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果未上架,返回错误码;
27、新系统服务加载请求的产生过程包括:安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果已上架,则下载安装包,安装管理服务下载完安装包后,向系统服务管理发起请求加载新系统服务。
28、一种系统服务按需使用的装置,包括:
29、请求接收单元:用于接收系统服务发送的查询和调用新系统服务的接口请求;
30、安装状态检查单元,用于检查新系统服务是否安装:如果新系统服务已安装,直接调用其接口;如果未安装,则向安装管理服务发起安装请求;
31、结果接收单元,用于接收错误码或新系统服务加载请求;
32、新系统服务加载单元,用于收到新系统服务加载请求后,加载新系统服务,并对新系统服务的签名证书进行校验,保证该服务是完整的没被篡改过,加载过程中,如果新系统服务对其他模块有依赖,则递归的向前查找依赖关系,将依赖的库也加载进来,直到新系统服务被正确加载,加载完成后启动运行,并调用其接口;
33、其中,错误码的产生过程包括:安装管理服务接收系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果未上架,返回错误码;
34、新系统服务加载请求的产生过程包括:安装管理服务接收到系统服务管理请求后,向云服务器发起请求,根据相应的服务名或者编号检索新系统服务是否上架,如果已上架,则下载安装包,安装管理服务下载完安装包后,向系统服务管理发起请求加载新系统服务。
35、一种系统服务按需使用的系统,包括云服务、安装管理服务、系统服务管理和系统服务,其用于执行如下过程:
36、系统服务通过系统服务管理查询和调用新系统服务的接口;
37、系统服务管理检查新系统服务是否安装:如果新系统服务已安装,直接调用其接口;如果未安装,则向安装管理服务发起安装请求;
38、安装管理服务接收到系统服务管理请求后,向云服务发起请求,根据相应的服务名或者编号检索该服务是否上架:如果未上架,返回错误码;如果已上架,则下载安装包;
39、安装管理服务下载完安装包后,向系统服务管理发起请求加载新系统服务;
40、系统服务管理加载新系统服务,并对服务的签名证书进行校验,保证该服务是完整的没被篡改过,加载过程中,如果新系统服务对其他模块有依赖,则递归的向前查找依赖关系,将依赖的库也加载进来,直到新系统服务被正确加载,加载完成后启动运行,并调用其接口。
41、在一个优选实施例中,还执行如下过程:
42、系统服务调用安装管理服务提供的卸载接口,发起卸载请求;
43、安装管理服务通过系统服务管理检测服务运行状态,同时也要检测该系统服务是否被其他服务依赖或使用,如果其他依赖或使用该系统服务的服务在运行中,则先调用系统服务管理接口停止服务运行,再停止该系统服务的运行;如果待卸载服务处于非运行状态,则执行卸载;卸载前,对请求方的权限做校验,确保其有相应的权限执行卸载操作·;
44、收到系统服务卸载完成结果后,包安装管理清理安装包等资源文件;
45、完成后返回结果给系统服务。
46、在一个优选实施例中,还包括分布式服务,还执行如下过程:
47、系统服务向分布式服务发起对另一设备上的新系统服务的调用;
48、分布式服务将该请求转发到另一设备上的分布式服务,使得另一设备上的分布式服务调用系统服务管理的接口查询和使用;
49、接收另一设备上新系统服务完成安装和调用后通过其分布式服务返回的结果。
50、与现有技术相比,本发明具有如下优点:
51、(1)目前操作系统中的系统服务都是预置好的,最多可以通过热补丁方式修复漏洞或者升级,而本文描述的是系统服务可以通过应用市场后期安装,允许三方提供,提升了系统扩展性。
52、(2)配合云服务可以做到系统服务按需安装使用。