本技术涉及终端,尤其涉及一种运行应用程序的方法及电子设备。
背景技术:
1、随着终端技术的不断发展,用户所具有的电子设备的数量和种类都越来越多。为了向用户提供更加智慧和舒适的用户体验,需要对这些设备进行管理。
2、现有技术中,可以在第一设备中安装第二设备对应的单一应用程序。该应用程序可以基于第二设备所具有的各项设备能力执行与第二设备相关的各项业务。第一设备可以通过运行该应用程序,对第二设备中的各项设备能力进行管理。例如,手机上安装有蓝牙音箱对应的音箱控制程序,手机可以通过该音箱控制程序控制蓝牙音箱开启或关闭。
3、但由于第二设备对应的单一应用程序安装并运行在第一设备中,该应用程序极度依赖于第一设备,严重占用了第一设备的资源。
技术实现思路
1、有鉴于此,本技术提供一种运行应用程序的方法及电子设备,通过动态安装和运行应用程序,降低了应用程序对单一设备的依赖程度,提高了设备的资源利用率。
2、为了实现上述目的,第一方面,本技术实施例提供一种运行应用程序的方法,所述方法包括:
3、第一设备与第二设备建立通信连接,其中,所述第一设备具有第一应用程序的第一子应用程序,所述第一子应用程序用于执行第一业务;
4、所述第一设备获取所述第一应用程序的第二子应用程序的信息,其中,所述第二子应用程序安装于所述第二设备上,所述第二子应用程序用于执行所述第一业务,所述第一子应用程序与所述第二应用程序具有应用间调用接口;
5、所述第一设备响应于对第一业务的触发操作,通过所述应用间调用接口,将所述第一业务的全部或部分功能流转至所述第二子应用程序执行。
6、在本技术实施方式中,第一设备与第二设备建立通信连接,获取第一应用程序的第二子应用程序的信息。由于第一设备具有第一应用程序的第一子应用程序,第二子应用程序安装于第二设备上,且第一子应用程序进而第二子应用程序都可以执行第一业务,第一子应用程序与第二应用程序具有应用间调用接口,因此第一设备可以响应于对第一业务的触发操作,通过应用间调用接口,将第一业务的全部或部分功能流转至第二子应用程序执行,也即是,通过第二设备的资源执行第一业务的全部或部分功能,并节省第一设备运行第一子应用程序执行第一业务的资源,减少了第一业务和第一应用程序对单一设备的依赖以及第一设备的资源,提高了多设备的资源利用率。且第一设备通过第二子应用程序的应用间调用接口调用第二子应用程序,可以在不需要第一设备与第二设备在操作系统层通信的情况下,实现对第二子应用程序的调用,从而使用第二设备的设备资源,提高了响应对第一业务的触发操作的效率。
7、在一些实施方式中,rpc接口可以包括基于dubbo、hetty、thrit等协议的接口。可以理解的是,在实际应用中,应用间调用接口也可以包括其他类型的接口。
8、在一些实施方式中,第二子应用程序的信息可以包括rpc接口地址。
9、以第一设备中包括第二子应用程序的rpc客户端、第二子应用程序中包括rpc服务端为例,第一设备可以获取第二子应用程序的rpc接口地址,通过rpc客户端基于该rpc接口地址,与rpc服务端进行通信。
10、在一些实施方式中,所述方法还包括下述至少一项:
11、所述第一设备根据具有的至少一项设备能力安装所述第一子应用程序,其中,所述第一设备具有的至少一项设备能力包括运行所述第一子应用程序所依赖的至少一项设备能力;
12、所述第一设备根据所述第二设备具有的至少一项设备能力,向所述第二设备发送用于安装所述第二子应用程序的数据,其中,所述第二设备具有的至少一项设备能力包括运行所述第二子应用程序所依赖的至少一项设备能力。
13、设备能力,指电子设备对外可提供的功能。在一些实施方式中,设备能力可以包括基于不同硬件结构的特性。在一些实施方式中,设备能力可以包括软件能力。在一些实施方式中,一项软件能力可以基于至少一种硬件结构实现。
14、在一些实施方式中,所述第一设备与第二设备建立通信连接,包括:
15、所述第一设备与所述第二设备建立短距通信连接;
16、所述向所述第二设备发送用于安装所述第二子应用程序的数据,包括:
17、所述第一设备通过所述短距通信连接发送所述用于安装所述第二子应用程序的数据。
18、在一些实施方式中,短距离通信连接可以包括基于蓝牙(bluetooth,bt)、短距离无线通信技术(near field communication,nfc)、无线保真(wireless fidelity,wi-fi)等短距离通信技术的通信连接,当然,在实际应用中,短距离通信连接也可以为其他类型的通信连接。
19、在一些实施方式中,所述用于安装所述第二子应用程序的数据包括安装所述第二子应用程序的安装包,或,所述第二子应用程序的安装包对应的地址信息。
20、其中,第二子应用程序的安装包对应的地址信息,可以用于指示该安装包的详细地址,比如该安装包的统一资源定位符(uniform resource locator,url);或者,第二子应用程序的安装包对应的地址信息,也可以用于指示该安装包所在的服务器地址。可以理解的是,第二子应用程序的安装包对应的地址信息,只要能够指示第二设备根据该地址信息安装第二子应用程序即可。
21、在一些实施方式中,所述方法还包括:
22、所述第一设备从第三设备获取所述第一子应用程序的安装包。
23、在一些实施方式中,所述方法还包括:
24、所述第一设备获取以下至少任一项信息:所述第一设备的能力信息、所述第一子应用程序依赖的至少一项设备能力的信息、所述第二设备的能力信息和所述第二子应用程序依赖的至少一项设备能力的信息。
25、在一些实施方式中,所述第一设备的能力信息包括所述第一设备的设备类型信息、设备环境信息和设备状态信息中的至少一种信息,所述第二设备的能力信息包括所述第二设备的设备类型信息、设备环境信息和设备状态信息中的至少一种信息。
26、在一些实施方式中,第一设备的能力信息可以包括第一设备具有的至少一项设备能力,第二设备的能力信息可以包括第二设备具有的至少一项设备能力。
27、在一些实施方式中,在所述通过所述应用间调用接口,将所述第一业务的全部或部分功能流转至所述第二子应用程序执行之前,所述方法包括:
28、所述第一设备基于所述第一设备的能力信息、所述第一子应用程序依赖的至少一项设备能力的信息、所述第二设备的能力信息和所述第二子应用程序依赖的至少一项设备能力的信息中的至少一项信息,确定将所述第一业务的全部或部分功能流转至所述第二设备上的所述第二子应用程序。
29、在一些实施方式中,所述应用间调用接口包括远程过程调用(remote procedurecall,rpc)接口。
30、在一些实施方式中,所述通过所述应用间调用接口,将所述第一业务的全部或部分功能流转至所述第二子应用程序执行,包括:
31、所述第一设备通过所述应用间调用接口,向所述第二子应用程序发送调用请求,所述调用请求用于请求调用所述第二子应用程序。
32、在一些实施方式中,所述方法还包括:
33、所述第一设备通过所述应用间调用接口,向所述第二子应用程序发送业务数据。
34、在一些实施方式中,所述业务数据由所述第一应用程序的第三子应用程序生成。
35、其中,第三子应用程序可以用于执行第二业务,第二业务可以理解为第一业务的上游业务。第三子应用程序执行第二业务生成该业务数据,第二子应用程序可以基于该业务数据执行第一业务,从而对该业务数据进行进一步处理。
36、在一些实施方式中,在所述通过所述应用间调用接口,将所述第一业务的全部或部分功能流转至所述第二子应用程序执行之前,所述方法包括:
37、若所述第二子应用程序执行所述第一业务的优先级,高于所述第一子应用程序执行所述第一业务的优先级,则所述第一设备确定将所述第一业务的全部或部分功能流转至所述第二设备上的所述第二子应用程序。
38、在一些实施方式中,所述第一设备存储有所述第一业务对应的调度策略,在所述通过所述应用间调用接口,将所述第一业务的全部或部分功能流转至所述第二子应用程序执行之前,所述方法包括:
39、所述第一设备基于所述第一业务对应的调度策略,确定将所述第一业务的全部或部分功能流转至所述第二设备上的所述第二子应用程序。
40、在一些实施方式中,所述第一应用程序的应用数据包括所述第一应用程序的能力声明数据、所述第一业务对应的调度策略和所述第一子应用程序的应用数据;
41、所述第一应用程序的能力声明数据用于指示所述第一应用程序所依赖的至少一项设备能力;
42、所述第一子应用程序的应用数据包括所述第一子应用程序的能力声明数据,所述第一子应用程序的能力声明数据用于指示所述第一子应用程序所依赖的至少一项设备能力。
43、在一些实施方式中,所述第一应用程序的应用数据由所述第一设备或第三设备管理。
44、在一些实施方式中,所述第一设备包括第二应用程序,所述方法还包括下述至少一项:
45、所述第一设备通过所述第二应用程序,获取所述第二设备的能力信息;
46、所述第一设备通过所述第二应用程序,存储所述第二设备的能力信息;
47、所述第一设备通过所述第二应用程序,获取第二子应用程序的信息;
48、所述第一设备通过所述第二应用程序,对所述第一业务对应的调度策略进行更新。
49、在一些实施方式中,第二应用程序可以为前述中的应用探查及调度框架。在一些实施方式中,第二应用程序可以为系统应用程序、系统服务或第三方应用程序。
50、第二方面,本技术实施例提供了一种运行应用程序的装置,该装置具有实现上述各方面及上述各方面的可能实现方式中第一设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,收发模块或单元、处理模块或单元、获取模块或单元等。
51、第三方面,本技术实施例提供一种电子设备,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面中任一项所述的方法。
52、第四方面,本技术实施例提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现上述第一方面中任一项所述的方法。
53、其中,所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。
54、第五方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
55、第六方面,本技术实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
56、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。