本技术实施例涉及计算机,具体地,涉及一种调用系统服务的方法和装置。
背景技术:
1、分布式系统服务是由多个处理机通过通信线路互联构成的系统。通常情况下,分布式系统服务在跨设备场景下才开始真正工作,而在单机场景下,分布式系统服务没有实际应用,却占据了开机资源,一定程度上造成了系统资源的非必要耗费。因此,必要提供一种调用分布式系统服务的方法和装置,以减少系统资源的耗费。
技术实现思路
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、在本技术提供的实施例中,第二设备检查该目标服务的引用计数,也就是检查该目标服务是否仍被调用。在该目标服务的引用计数为0时,也就是该目标服务没有被调用时,第二设备可以卸载该目标服务,以减少系统资源的占用;在该目标服务的引用计数不为0时,也就是仍然有设备或其他服务调用该目标服务时,第二设备可以不卸载该目标服务,以便于其他设备或服务直接调用该目标服务。
26、第三方面,提供了一种调用系统服务的装置,应用于第一设备,该装置包括:发送模块,用于向第二设备发送第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;接收模块,用于接收来自该第二设备的第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
27、结合第三方面,在第三方面的某些实现方式中,该装置还包括:处理模块,用于确定目标设备和该目标服务,该目标设备为需要加载该目标服务的设备,其中,该第二设备为该目标设备。
28、结合第三方面,在第三方面的某些实现方式中,该处理模块具体用于,根据任务流转需求确定该目标设备和该目标服务。
29、结合第三方面,在第三方面的某些实现方式中,该发送模块还用于,向该第二设备发送第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
30、结合第三方面,在第三方面的某些实现方式中,该处理模块还用于,确定该目标服务的流转结束。
31、第四方面,提供了一种调用系统服务的装置,应用于第二设备,该装置包括:接收模块,用于接收来自第一设备的第一通知信息,该第一通知信息包括目标服务的信息,该目标服务的信息为该第一设备需要调用的系统服务的信息,该第一通知信息用于指示该第二设备加载该目标服务;处理模块,用于加载该目标服务;发送模块,用于向该第一设备发送第一响应信息,该第一响应信息包括该目标服务的服务句柄,该服务句柄用于该第一设备在该第二设备上调用该目标服务。
32、结合第四方面,在第四方面的某些实现方式中,该处理模块具体用于,拉起该目标服务对应的进程,初始化该目标服务,注册该目标服务。
33、结合第四方面,在第四方面的某些实现方式中,该接收模块还用于,接收来自该第一设备的第二通知信息,该第二通知信息用于指示该第一设备对该目标服务的调用结束。
34、结合第四方面,在第四方面的某些实现方式中,该处理模块还用于,检查该目标服务的引用计数,确定是否卸载该目标服务。
35、第五方面,提供了一种电子设备,该电子设备包括:处理器,用于从存储器中调用并运行计算机程序,使得该电子设备执行如第一方面或该第一方面中任意一种可能的实现方式;或者执行如第一方面或该第一方面中任意一种可能的实现方式。
36、结合第五方面,在第五方面的某些实现方式中,该电子设备还包括:该存储器和/或通信接口,该存储器用于存储该计算机程序;该通信接口用于收发数据/信令。
37、第六方面,提供了一种电子设备,该电子设备包括如第三方面或第三方面中任意一种实现方式中的装置,或者如第四方面或第四方面中任意一种实现方式中的装置。
38、第七方面,提供了一种计算机程序存储介质,该计算机可读介质存储有程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如第一方面或第一方面中任意一种实现方式中的方法,或者,如第二方面或者第二方面中任意一种实现方式中的方法。
39、第八方面,提供了一种芯片系统,该芯片系统包括至少一个处理器,当程序指令在该至少一个处理器中执行时,使得如第一方面或第一方面中的任意一种实现方式中的方法,或者,如第二方面或第二方面中的任意一种实现方式中的方法得以实现。